SEEDS Creator's Blog

読者です 読者をやめる 読者になる 読者になる

FuelPHP はじめました。複雑な 独自validation 設定には Closure を使おう

ども。Webエンジニアの ishino です。 最近 FuelPHP を触る機会が増えてきたのていたので、学んだことを少しづつに記事にしていこうと思います。 珍しく、真面目にプログラムのこと書きましたので、よろしくお願いします。 FuelPHPとは? FuelPHPはPHPで書か…

Codecademyをやってみた

こんにちは、WEBエンジニアのyuchiです。 最近、WEB上でプログラム学習ができる無料のサイトがたくさん作られていますよね。 そんな多々あるサービスの中で、私は以前「Codecademy」というサービス(もちろん無料)を使って勉強してみました。 ○Codecademy h…

ISUCON5に「京都スイーツnext」で参加してきました

同僚のishinoと2名でisucon5に参加してきました。 僕はISUCON1の時から参加してるので、今のところ皆勤賞です。 毎年楽しみにしているイベントで今年もすごく楽しかったです。 運営の皆さま、本当にありがとうございました。 結果はスコア、13094。使用言語…

自分の得意なコトをやろう

イギリスの経済学者デヴィッド・リカードは言いました。 「自分の得意なコトをやろう」 (※本当は全然違いますが、ニュアンスはこんな感じです。たぶん。) チームで仕事をする場合、自分は比較的得意な仕事を担当することが 自分にとってもチーム全体で見て…

Form::select でvalueが空のoption項目を作る

fuelphpのFormクラスはいろいろと便利です。 その中でも、selectとradioはチェックをつけてくれたりするので大好きです。 Form::select - http://fuelphp.jp/docs/1.7/classes/form.html#/method_select View内で以下のように書いたら、 [code] '男性', 2 =…

PHP のオブジェクトの比較について

こんにちは kinu です。PHP のオブジェクトを比較したいときに、 はたして比較用の演算子がそのまま使えるのか?と思い調べました。 対象を用意する まずテスト用にクラスを定義します。 [code] class Test { private $a; private $b; public function __con…

例外はきちんと書こう

PHPで、とあるリクエストに対して、xml形式でレスポンスを返すというプログラムを作成していました。 メインPHP main.php function main() { // 1.DBより何か参照してくる $rs = $child->reference(); // 2.domDocumentを利用し、xml生成する $dom = …

fuelphpでcsvファイルをアップロードして読み込み処理

こんにちは WEBエンジニアのyuchiです。 前々回の記事に引き続き、開発でfuelphpからCSVファイルをアップロードして読み込みしないといけなかったので、 その時調べた方法を書きたいと思います。 まずはCSVファイルをアップロードします。 // 初期設定 $conf…

三山崩しゲーム

名前だけ聞いても分からないかもですが、やったことのある方もたくさんいると思います。 私も授業中とかによくやりました。 最後の1つを取ったら勝ち的なゲームです。 このゲームには必勝法があるので、今回はそれを紹介します。 ルール いくつかの石を3つ…

Android ブラウザで PHP によるファイルダウンロードが出来ない件

Android ブラウザで PHP によるファイルダウンロードが出来ない件 ① SSL にて、PDF や ZIP ファイルをダウンロードする場合、SSL の証明書が有効でないとダウンロードは出来ません。 この場合、.pdf ファイルに直接アクセスしても、ダウンロードは出来ません…

人気記事ランキングプラグイン「WordPress Popular Posts」と「WP-PostView」の機能比較

ブログサイトでは人気記事ランキング(アクセスランキング)を実装しているサイトがほとんどですよね。 そこでWordPressで人気記事ランキングを実装する際にお世話になるプラグインを2つ比較してみました! WordPressを1から構築する人向けに拡張性という所を…

PHP Pear::File_Archive 特定の文字が文字化け

PHP Pear::File_Archive 特定の文字が文字化けについて PEARのPHPライブラリ「File_Archive」のバグを発見しました。 ■現象 SJISのファイル名を圧縮すると特定の文字が文字化けてしまいます。 ■例 ○対象ファイル 表-入稿データ.pdf ■原因 PHP「5C問題」 ■対…

phpPgAdminにログインできない時

サーバーインフラエンジニアの葉です。 今日は、phpPgAdminについて少しお話します。 phpPgAdminとは何か? phpPgAdminは、ウェブブラウザから PostgreSQL データベースを管理・操作する為のツールで、テーブルの作成や参照、 データのバックアップやリスト…

ORMで最後にINSERTしたデータのIDが知りたい

fuelphpで最後にINSERTしたauto incrementなid(プライマリKey)を取得したい時 いろいろ面倒な事をしてたんですが、save();後にオブジェクトから参照できました。 $new = Model_Hoge::forge(); $new->hoge = 'hogehoge'; $new->save(); $id = $new->id; // id…

PDO(fetch,fetchAll)について

模倣は上達への近道とはよくいったもので、保守フェーズで既存モジュールを模倣してロジックを書いてました。 そのときにはまってしまった問題についての備忘録です。 【やりたかったこと】 PDOを利用して、大量データを処理したい。 【発生した問題】 なぜ…

分岐処理をオブジェクトで表現してみる

みなさんどうも、WEBエンジニアの kinu です。 好奇心で Smalltalk を参考に普段使っている PHP で分岐処理を if 文を使わずにオブジェクト指向で実装してみました。 目標 下にあげたような単純な分岐を処理できるようにする。 [code] $value = 1; if ($valu…

isucon3 予選で敗退しました(うさぎ工房)

isuconは初回からずっと出ているのでこれで3回目。 いつもは同僚の@shokiri @memememomo (Uchiko) 、僕、の3人で出場するのですが お互いの予定の折り合いがつかず、僕は出場できない可能性が出てきました。 でも僕はどうしても出場したい・・・! そこで…

サブドメイン間のセッションを共有する

hogehoge.com でログインした場合に user.hogehoge.com でもログインした状態にしたい事があったので。 fuelphpでサブドメイン間でセッションを共有すればいけるのではないかと思ったのですが 結構苦労したので備忘録です。 下記のブログを参考にしました。 …

パーマリンクをpostnameにて自動採番

WordPressの採番について。 記事のURLがランダムな数字であれば問題ないという場合、 記事ごとのパーマリンクの設定を%post_id%とする事は多いと思います。 しかし、この%post_id%はたしかに記事固有IDなのですがいろいろな問題があります。 ひとまず直面し…

メールを大量にテスト受信するサーバを作ってみた話

とにかく大量のメールを受信するだけサーバが欲しかったのでPerlで作ってみました。 Net::Server::Mail::SMTP + Parallel::Preforkを使ったプリフォーク型サーバにしました。 Net::Server::Mail::SMTPでSMTPコマンドそれぞれの処理を書き、 Parallel::Prefor…

PHPでIRCのログ収集を行うbotを作成

IRCで発言を逃さない為に・・・ 弊社では作業環境としてMacBookProを使用している人も多いのですが、ノートパソコンだとしばらくするとスリープになってしまい、ネットワークも切れるため、IRCサーバーからログアウトした状態になり、その間の発言ログは見る…

ApacheのphpからSambaユーザーを追加する

ApacheのphpからSambaユーザーを追加したかったのにハマったのでメモ Sambaユーザーの追加はsmbpasswdコマンドで行えるが、 ワンライナーなコマンドがなく、対話式でパスワードを入力する事でしか作成ができない。 またsmbpasswdはrootユーザーでなければ実…

PHPから簡単なサーバー死活監視を行う

結構特殊なポートなどを簡易チェックしたい時に。 がっつりとしたチェックじゃなくていいけど ちょっとだけ死活監視したいなーなんて時、 PHPのfsockopen関数を使うと便利です。 portcheck.php [code]

Linuxサーバーでpdftkを使ってpdfファイルを結合

pdftkはO'Reilly の PDF Hacks でも紹介されている PDF 操作ツールです。 Linuxサーバーのコマンドにてpdfを変換させる必要が出てきたので検証しました。 比較を行ったわけではないのですが、かなり高速なようです。 インストール 各OSに対応したインストー…