togatttiのエンジニアメモ

過度な期待はしないでください.

2013-01-01から1年間の記事一覧

マージソートの処理の流れを追ってみた

PHPでマージソートを書き、その処理を追ってみた。 コード 出力結果 流れ mergesortは与えられた配列を$leftと$rightに分割する、その処理は内部で再帰的に呼び出され 配列の要素は一旦最小単位(1つ)になる。 その後、隣り合うそれぞれの単位を交互に比較し…

Vimではてなブログに記事を投稿する方法

Vim

Vimではてなブログに記事を投稿する方法があるみたいなので、試してみた。 実際にVimプラグインを使って、はてなのAPIを使うことで、記事の投稿、 編集、更新までできた。 いくつかプラグインはあるみたいだがhateblo.vimというものがすんなり 設定できたの…

はじめてのPull Request

初めてGitHubで海外エンジニアのプロジェクトにPull Requestしてみたので、 今更だけども備忘録として手順を残す。①forkして自分のリポジトリへ持ってくる。これでトップ画面のRepositories contributed toという項目に該当のプロジェクトが追加される。②ロ…

OpenSSLとPython3系でセキュアなWebサーバー構築

今回はオープンソースライブラリのOpenSSLとPythonでセキュアな通信ができるWebサーバーを立ててみた。Pythonは3.3系。 webサーバーの設定 HTTPServerClass sslモジュールを使いソケットの設定、SSLの種類やCSRの指定を行う。そして、設定したソケットとIPア…

覚えておくと便利なfindコマンドのオプション

findコマンドはファイルなどを探すLinux系でデフォルトで使える コマンド。業務中でサーバーにログインしながら、基本的な操作を復習した ので、備忘録に残しておく。最後の使用例は不正スクリプトがiframeに埋め込まれることが多いので、 それを特定すると…

Pythonの仮想環境構築~NLTKのインストールまで

はじめに Pythonでは豊富なモジュール、ライブラリを使うことができるが、 検証を繰り返すと、本環境にゴミが残ってしまうのが残念なので、 複数の仮想環境でモジュール管理を目指すことにした。仮想環境を構築することで、test1ではdjango、test2ではtornad…

【追記】IPアドレスから国名を取得するGeoIPを使ってみた。

PHP

某ホスティング会社に従事しているので業務柄、FTPの不正アクセス、 メールアカウントの踏み台の有無を調査するためにIPアドレスから 接続元の国名を取得することが多い。今までは一つ一つ下記のようなサイトでIPを検索して調べていた訳だけど、 メールサー…

Python用のjedi.vimのインストール

Vim7.3を用意 vim7.0系でNeobundleインストールしようと思ったら、バージョンが合わなかったようなので、 7.3系にまずアップさせる。ここは必要が無ければ、飛ばしてもいい作業。vimコマンドは/usr/local/vim-7.3/bin/vimでたたけるので、適当にalias登録し…

MySQLへダミーデータを作成する

はじめに MySQLに対してロードの検証を行うためにダミーデータを用意する必要が あったので、ダミーデータの取得からMySQLへの挿入までの流れをメモしておく。バージョンは5系。ダミーデータはここで手に入れた。 (日本語のデータ(〜5000件)) 疑似個人情報…

短縮URLのAPIを作成してみた

PHP

社内で使う短縮URLサービスのbitly | ♥ your bitmarksみたいな ものを作ってほしいという話があってPHPで簡単なものを作ってみた。(色々あってペンディングにはなったし...会社ではPerl指定だったけど... 知らない)CSVファイルで簡単に使えるので見てみてく…

AndroidでIntentを用いた画面遷移

Androidの画面遷移の方法を色々試してみて、 ようやくうまくできたので備忘録程度に残しておく。修正、作成したのは下記のファイル。 BeforeActivity.java(遷移前の処理) AfterActivity.java(遷移後の処理) before.xml(遷移前のレイアウト) after.xml(遷移後…

Railsでスマートフォン用ページへの振り分け

Railsで作成したWebサイトをスマートフォンから閲覧してみたら、 ひどくスタイルが崩れていたので、スマートフォン用のページを 別途作ることにした。その際に必要なことは外部からのアクセスがPCからなのか、スマート フォンなのかという振り分け。スマート…

PHPのnamespace(名前空間)について

PHP

PHP5.3から使えるnamespaceだけど、正直意味がよく分かってない(汗)だから、少し調べてみた。 namespaceとは 名前空間はソースコード上で冗長な命名規則を用いなくても名前の衝突が 起こらないようにし、しかもそれを容易に記述できるようにするためだけの概…

ZendFramework2系をインストールしてみた。

ZendFramework2系をインストールしてみた。 準備 httpd.confの設定などで.htaccessは使えるようにしておく。 AllowOverRide Allの設定。 phpは5.1.4以上を用意。 Gitも用意。 Git clone インストール自体はGitからcloneするだけだったから簡単。しかし、下記…

PHPを使いながらSingletonを考えてみる

GoF本の一つのSingletonパターンについて気まぐれに調べてみた。Singletonパターンはインスタンスの生成を一つに制限するためのパターン。 メリット 同じインスタンスは使い回したほうが無駄なコスト(インスタンスの呼び出し)がかからない。 ⇔同じインスタン…

クイックソート-Quick Sort-

アルゴリズムの基礎固め編ということで、 クイックソートをようやく理解できたつもりなので、 コードの説明をたらたら書いてみる。。本当ここらへんは地道に書かないと身に付かないだろな... クイックソートを理解する前に見たもの。 動画 知恵袋 クイックソ…

inputタグのrange属性にCSSを加えアレンジしてみた

最近HTML5のinput属性にrangeがあることを知った。 valueに数字を入れてくれたりするし、使い勝手は今後ありそう。だけど、デフォルトがいけてなさすぎる... デフォルト↓↓ input type(range) 触ってみれば分かると思うけど、ドラッグして動かせるだけでどの…

3Dで回転するリンク

最近はアルゴリズム書いてたり、別の趣味に時間を注いだり、業務がそれなりにあったりして、ブログさぼり気味だったので、久しぶりにインターフェイス系のコードを書いてみた。 hoverさせるとY軸に立体的に回転するという簡単なもの。 プチリッチな感じだけ…

RailsでAjax対応のdestroyとupdateメソッドを作成してみた①

Rails de Ajax Railsの仕様が何となく掴めてきたため、Ajax処理を加えて、 よりリッチなUIに近づけることにした。今作成中のアプリケーションのコードを公開しながら、まとめていく。必要なものはjQuery、 後、gemでjquery-railsは入れておく必要がある。 前…

じゃあ、RailsでいつMySQL使うの、今でしょ

MySQLはインストール済みであることが前提。 MySQL 5.0 Ruby 1.9.3 Rails 3.2.13 RailsでデフォルトからMySQLを使う場合 mysqld起動 service mysqld start MySQLコンソールを開いてユーザとパスワードを作成し、権限付与。 ここで追加した情報は後半のdataba…

railsでrspecのテスト環境を整える①

railsのテストをrspecで行うことにしたので、 メモを残しておく。 RSpecとは Rubyで使える動作駆動開発(BDD)を行うフレークワーク。 メソッド単位での検証ができる。 rspecをrailsにインストール Gemfileに追記。 bundle installしておく。 ヘルパーを作成…

tmuxの基本操作

最近Webサーバーを起動させたり、gitいじったり、railsだとコンソールを開いたり、 ターミナルでやることが増えてきた。今までは一つの画面であちらこちら行きながら、器用にいじってた。 もしくはターミナルをたくさん開いて、デスクトップを散らかしてた。…

JavascriptとHTML5でドラッグ&ドロップしてみた

アプリの中でブラウザ上でアイテムをドラッグ&ドロップでボックスに 自由に移動できる動作が必要になったので色々探してみた。最初はenchant.jsで実現できるようだったけど、色々と面倒なことがあったので、 探してみたら普通にHTML5とJavascriptでできるこ…

RailsでTwiiterBootstrapを設定してBootThemeを使う。

Webで何かアプリのモックを作るときにエンジニアだと, 基本デザインまで手が回らないことが多い。そんなときにデザインにごまかしを効かせるための ライブラリTwitterのbootstrapは割と有名だと思う。今回はそのbootstrapをRailsで使う設定。 これこれ→seyhu…

RESTに沿ってRails3.2でログイン処理を作ってみた②

前回の続きをやる。 RESTに沿ってRails3.2でサインイン処理を作ってみた① - 新卒->麹町で働くWebエンジニアのメモ帳controllerとviewを作って適宜説明必要であれば書く。 controlelrs/sessions_controller.rb views/new.html.erb トップ画面というかログイン…

RESTに沿ってRails3.2でログイン処理を作ってみた①

今回はRails3.2でサインイン処理を作成してみる。 RESTとは RESTとRailsスタイル from Toru Kawamura PHPを今までずっといじってきたからGETとPOSTは よく扱ってきたけど、それらの違いを区別したことはなかったし PUT,DELETEもあることをRailsいじりはじめ…

Herokuにデプロイするときのdatabase.ymlの設定

RailsのデフォルトはSQLite、HerokuではPosgreだから、 ローカルのテストでうまく行ったはずなのに、実際にHerokuへ デプロイしたときにエラーが起きる。単純にdatabase.ymlの設定をすればいいだけの話だけど、 DBのテストアプリをHerokuへ公開するのが初め…

herokuでRails4.0系のGemfileの設定

Rails3と4を混同してるうちに分けわかんなくなってしまったので、 自分で色々テストしたのち、Gemfileの設定を残しておく。Rails4.0を動かすときの参考に...

herokuで設定~テストを公開するまで【heroku,Ruby on Rails】

ネタはやはり会社の勉強会から。 数ヶ月後にheroku、Ruby on Railsのアプリを公開する縛りになったので、 休日を使って、herokuを使ってRailsのテストを公開してみた。ただ、他のやり方を見ながらやったけど上手くいかなかった部分があったので、メモを残し…

MavOS X 10.7.5でCentOS6.4のVM構築した話【MacOS,Linux,VirtualBox,Vagrant】

社内の勉強会でVM構築の方法を教わったので、実験的に試してみる。 そもそも初心者だから、VMとかよくわかんないからはじまる... VMとは ソフトウェアによって仮想的に構築されたコンピュータ。 仮想化技術におけるVMは、OSが動作する実際のコンピュータをソ…