togatttiのエンジニアメモ

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

PHP

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

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

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

PHP

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

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

PHP

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

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-

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

バブルソート[PHP,Ruby]

文系出だから、基礎的なとこが相当弱い。 幅広く視野広げたいから、アルゴリズムもやろうという意気込み。 PHPでバブルソート アルゴリズムの初歩の初歩をPHPとRubyで書いてみるとこうなる。 そして、出力するとこんな感じ。 Rubyでバブルソート 出力結果は…

PHPでmemcachedを動かしてみる[PHP,memcached]

memcachedとは memcachedは高性能な分散メモリキャッシュサーバと紹介されてる。 初めて聞いたときはよくわからなかったけど、砕いて説明していくとこうだ。 facebookやYoutubeなどの大きなWebサイトでは膨大な量のデータを扱う。 ここではデータを取得する…

デザインパターンの勉強でFactory Methodとか書いてみた【PHP】

PHP

デザインパターンが気になったので、調べてみた。よく使われているものとして、Factory Methodというのがあったのでそれに関するテストコードを書いて整理。 デザインパターンとは デザインパターンはある問題に直面したときに、このようにすれば解決できる…

PHPでBasic認証設定してみた【PHP】

PHP

Basic認証というと、Apacheや.htaccessでも指定できるけど、 PHPでも実装できるみたいなので、試してみる。普通はユーザやパスワードはDBに保存して取り出すけど、 今回は簡単なコードだけ。 キャプチャ コード PHP_AUTH_USERとPHP_AUTH_PWにはそれぞれ入力…

GitHubでCakePHPを用意してみる【Git,GitHub,CakePHP】

GitHubでCakePHPを用意してみる GitHubで公開鍵の登録を行い、SSH接続が成功済みであれば、以上でgitがローカルのリポジトリに反映され確認することができる。ただこの後、実際に自分のリモートのリポジトリにあげるところで、 つまづいた。このようなエラー…

Interface,Implementsを使う利点って何?【PHPのInterface】

PHP

PHPでInterface, implements というのがよくわからないまま、放置してきたので、そろそろ解明していきたい。 ちなみに オブジェクトインターフェイスにより、あるクラスが実装する必要があるメソッドの 種類を、 これらのメソッドの実体を定義することなく、…

LAMPのMPを入れた 【MySQL5.5インストール、PHP5.4インストール】

やっぱり、インストール系は慣れない。 見栄はってVPSなんて使わずにレンサバで楽しておけばよかった。 あらかじめ何でも用意してあるレンサバって偉大だなとつくづく思う... こっちはこっちで細かく設定できなくて、別の悩みを頭に抱えることになるんだけど…