タグ

ブックマーク / www.1x1.jp (10)

  • 「PHPコードではなくPHPコードの「書き方」を知る」を発表してきました

    PHPカンファレンス関西2014で「PHPコードではなくPHPコードの「書き方」を知る」を発表してきました。 写真提供:久岡写真事務所 別トラックに人気セッションがひしめく中、多くの方に聴いて頂き、ありがとうございましたm(_ _)m 発表内容 PHP 中級者(中級がどこかというのはありますが)を目指す初心者の方を対象に、FizzBuzz のコードを、関数にまとめて、クラス化するというのをライブコーディングで行いました。 また、関数にまとめた段階で、自動テストを書いて、実行結果を目で確認するのではなく、テストを実行して確認するというスタイルを取りました。 発表資料は以下です。 コードを書きながら進めていく形なので、資料だけでは少し伝わらない部分があるかもしれません。 デモで書いた PHP コードは、GitHub で公開しています。Sample1, Sample2 とディレクトリが分かれてい

    hiroomi
    hiroomi 2014/06/30
  • 個人事業から法人化した理由

    Shin x blog Advent Calendar 2013 の 19 日目です。 2000年に個人事業として1×1を開業しました。それから 5 年後の 2005 年に有限会社として法人化(法人成り)を行いました。(その後、組織変更を経て、現在は株式会社です。) 個人事業から法人化した経緯や理由について書いてみます。 法人化への思い 当時、受託開発をメインに行っていました。仕事を受注して、家でこなすというスタイルが多かったのですが、仕事上で法人格を要求されることはなく、個人事業でも困ることはありませんでした。(今にして思えば、その時点で選別されていたのだと思います。) 開業した頃はとにかくい扶持を稼ぐのに必死で、法人化など考えもしなかったのですが、ある程度、売上が立つようになると、「次のステップ」というのを考えるようになりました。 なんとなく、次のステップとしての法人化を意識しつつ、

    hiroomi
    hiroomi 2013/12/22
    “そうしたシステムを作っていると、いつも頭に浮かぶのがこの言葉です。 「もったいないなあ」 こうした面白いシステムを一人で作るのが、もったいなあ、と。”
  • レゴブロック型プログラミング

    Shin x blog Advent Calendar 2013 の 17 日目です。 「プログラマーには 2 つのタイプがいる。ブロックを作るか、使うか、だ。」 レゴブロック型プログラミング プログラミングをやるようになって、思ったのは、部品を組み合わせていく感覚が、子供の頃、夢中になって遊んでいたレゴブロックに似ているなあということです。 ブロック(部品)は多数用意されており、それらを組み合わせることで何かを作っていきます。ただプラモデルなどと違うのは、何度でもバラして、また組み直せるということ、そして、ブロックはプリミティブなものであり、組み合わせ方によっては全く異なるものを作ることもできます。 扱う言語や環境によって、そのブロックの粒度は変わっていきます。C がレゴブロックなら、LL は、ダイヤブロックくらいかもしれません。ただ、それらを組み合わせて何 かを作るということは同じです

    hiroomi
    hiroomi 2013/12/18
  • MSX Z80アセンブラでゲームが作れるようになった話

    Shin x blog Advent Calendar 2013 の 12 日目です。 写真のは「MSXマシン語入門講座」というです。このを買ったのはもう 20 年以上前のことになります。 私にとっては、プログラムを学ぶ上で、また、何かにチャレンジする上で良い教訓を得た一冊です。 BASIC でゲームを作る 中学生の頃、ファミコンのゲームが好きだったので、その延長線上で MSX2(FS-A1)というパソコンを購入しました。 当初は、ファミコンとは違うゲームができるもの程度の認識しか持っていなかったのですが、なんとなくプログラムには興味があったので、付属していたBASICの入門書を片手にプログラムを作るようになりました。 サンプルソースを入力して、動かしてを繰り返す内に、少しづつBASICが分かるようになったきたので、次はBASICでゲーム作りにチャレンジするようになりました。 Z80

    hiroomi
    hiroomi 2013/12/13
  • エンジニアは独立した方が良いのか?

    Shin x blog Advent Calendar 2013 の3日目です。 エンジニアを目指して新卒で就職して早5年。とにかく仕事を覚えたい、先輩に追い付きたい、スキルを上げたいとがむしゃらに開発に没頭してきた。そろそろ仕事はひと通りこなせるようになり、自分がリーダーとして参加するプロジェクトも増えた。 充実した毎日ではあるが、気が付くと自分が会社の中では一番のエンジニアとなっていた。 自分では分かっている。会社の中では一番かもしれないが、外に目を向けると、自分よりすごいエンジニアは山といることを。 「そろそろ、次に進む時なのかもしれない。」 転職すべきなのか、はたまたいっそのこと独立して起業すべきなのか。 といった事は、わりと良くある風景なんだと思います。 起業してかれこれ13年、なんとかやってこれたので、こういった状況の人から相談を受けることがあります。そこで、私自身がこれまでや

    hiroomi
    hiroomi 2013/12/04
  • Amazon S3 stream wrapper で S3 を操作する

    AWS SDK for PHP2 に実装されている Amazon S3 stream wrapper で S3 を操作してみました。 Amazon S3 stream wrapper を使うと「s3://bucket/foo/bar.txt」といったパスで mkdir() や file_get_contents() などの標準関数から S3 を操作することができます。 Amazon S3 stream wrapper の使い方 Amazon S3 stream wrapper は AWS SDK for PHP2 に含まれているので、SDK をインストールしておきます。インストール方法などは下記をどうぞ。 AWS SDK for PHP 2 をインストールして AutoScaling の設定を行う Aws\S3\S3Client の registerStreamWrapper メソッドを実

    hiroomi
    hiroomi 2013/05/07
  • Vagrant で自分の PC に「作って、壊して、元に戻せる」サーバを作る

    Vagrant 便利ですね。Web システム構築ではサーバ構築、設定を何度となく繰り返すので、こういった「作って、壊して、元に戻せる」環境が自分の PC にあるというのはとても重宝します。 ここでは Vagrant1.0 を使って、Mac OS X 上に CentOS サーバを構築します。また触ってみて便利だった機能もいくつかご紹介します。 1. VirtualBox のインストール 2. Vagrant1.0 のインストール 3. box ファイルのインストール 4. Vagrantfile の作成 5. 仮想サーバを起動 6. 仮想サーバを停止 7. 仮想サーバを削除 8. 仮想サーバでhttpdサーバを構築 9. sahara プラグインで、作って、壊して、元に戻せる環境を構築 10. 複数の仮想サーバを起動 11. 仮想サーバのエクスポート Q. OS X, ruby, gem

    hiroomi
    hiroomi 2013/03/22
  • PHPを使う理由

    今年もやって参りました年末を彩る PHP Advent Calendar 2012 です。3年目ということですっかり恒例行事となってきましたね。今年も完走目指してみんなで頑張りましょう! 参加枠があとわずかですが残っていますので、いっちょやってみようという方は参加表明をお願いします。 PHP Advent Calendar さて、初日は前から書いてみたかったテーマです。 PHPをWebシステム開発言語として使い出してかれこれ12年が経ちました。これだけ長い間使い続けているとうことは何か理由があるわけです。そこで、あらためてその理由を考えてみました。 1. 安定して動作する まず、なんと言っても大きいのが安定して動作し続けているということです。 規模の大小に関わらず数多くのWebサイトがPHPで動作しているのは周知のとおりです。私がこれまでPHPで構築してきたWebシステムが現在でも動作して

    hiroomi
    hiroomi 2012/12/02
  • CakePHP データベースを使わないアプリケーション

    CakePHPはデータベースを使用することが前提となっているので、フレームワークがデータベースへの接続を自動的に行います。ただマッシュアップ系のサービスなどデータベースを全く使用しない場合はこの機能を無効にしたくなります。 そこでCakePHPアプリケーション全体でデータベースを使わない方法です。 ちなみにこの方法では[app/config/database.php]を作成する必要もありません。 1. モデルを使わない コントローラの$usesにnull or array()を設定することによりモデルを使用しないようにできます。データベースへの接続はモデルを介して行うのでモデルを使わなければ接続処理は行われません。(セッションやキャッシュをDBに保存する場合は別ですが) <?php class HogeController extends AppController { var $uses

    hiroomi
    hiroomi 2012/06/22
  • 新 MacBook Air にやっぱりインストールしたアプリ23個

    MacBook Air のセットアップ進めています。 今回はアプリの棚卸の意味を含めて1からセットアップしているのですが、要不要を考えながらインストールしたアプリたちです。 システム環境設定はこちらで。 インストールしたアプリ

    新 MacBook Air にやっぱりインストールしたアプリ23個
    hiroomi
    hiroomi 2012/06/14
  • 1