タグ

ブックマーク / docs.komagata.org (15)

  • 偽のシンプル、正しいシンプル - komagataのブログ

    組織論でもプログラムでもデザインでも「シンプルにしよう」とよく言いますが意味がフワッとしてるので自分的まとめを。 Rich Hickeyのシンプルの定義 シンプルさの必要性 | eed3si9n 上記の俺的まとめ。 simpleの対義語はcomplex。simpleを語源・対義語から考えると、多数のものを組み合わせてない・一つのものという意味になる。それに対してeasyを語源から考えると、近くのものという意味になる。 complexこそが悪。 easyだけどcomplexなもの = 甘え hardだけどsimpleなものを恐れない。simpleなものはしばしばeasyでない。 命名 上記を使いやすくするために、easyでcomplexなもののことを偽のシンプル、hardでsimpleなもののことを正しいシンプルと名付ける。 simpleでeazyが最良でcomplexでhardが最悪だが、

    Tomohiro
    Tomohiro 2016/02/03
  • 各種DBのMac用GUIクライアント - komagataのブログ

    内部ツール(僕らでいえば256interns.comとか)は管理画面作らずGUIアプリで変更とか結構便利です。とはいえ、railsなどのアプリ側のみでvalidationしてると不整合が起きるので要注意。これ前提で制約追加するのもいいかも? Sequel Pro MySQLGUIクライアント。これを教えてもらって訝しげに使ってみたんですが、今風のMacの使い勝手で使えるのがすごく気に入っちゃいました。 SSL経由やsshで入ったサーバー踏み台にしての接続も一発できて便利。 PG Commander PostgreSQLGUIクライアント。Sequel Proに比べると使い勝手は良くないけど、HerokuDBに接続できる!これがデカイ。 接続先のブクマを5個以上保存しておくにはLisenceを買う必要があります。Herokuを多用するから5個あっという間に超えちゃうので買いました。 B

    Tomohiro
    Tomohiro 2014/04/20
  • Engine Yard Cloudを試す - komagata

    Githubも使ってたというAWSベースのPaaSの老舗Engine Yard Cloudを試してみました。 Engine Yard CloudはAWSの東京リージョンもサポートし、最初の500時間無料とのことで今後複数台構成を考えている怖話の移行先として動くかどうかデプロイしてみます。 Application作成。githubのreposを直接入れることができるのは嬉しい。 deployのためのキーが発行されます。これをgithubや自分のgit repos serverに登録してやれば勝手に取ってきてdeployしてくれると。 怖話のgithub reposのDeploy Keysにさっきのキーを登録。 Environmentの作成。Application Serverが選べるのか。怖話はunicornなので選択。rubyもgemもデフォルトでOK。 無料お試し中は東京リージョンは選べ

    Tomohiro
    Tomohiro 2013/02/10
  • logentriesでnginxのエラーを監視する - komagataのブログ

    小さいrailsサービスあるある railsで何かサービスを作ったとする。ExceptionNotificationも入れた。NewRelicで5分毎に死活監視もしてる。なのに「落ちてるみたいです」とTwitterで言われる。 nginx + unicornの組み合わせでアクセスが増えた時、大抵真っ先に起こるのがunicornのtime out。 2013/02/08 18:36:10 [error] 20932#0: *3506622 upstream timed out (110: Connection timed out) while reading response header from upstream, client: 〜ってやつ。 重いDBのクエリとかでアクセスをさばくスピードより接続数が増えてきて起こる。railsアプリまで処理が行かないのでExceptionは起こらない

    Tomohiro
    Tomohiro 2013/02/10
  • ufwで簡単にfirewallの設定 - komagataのブログ

    debian(wheezy)でお手軽なiptablesフロントエンドはないかなと、Debian WikiのFirewallのページを探していたらufw(Uncomplecated Firewal)が便利そうだったので使ってみました。(これ絶対元々はUbuntu Firewallとかそういう名前だっただろう。汚い、流石Ubuntu汚い) ufw気に入った $ sudo apt-get install ufw ufwは単なるiptablesフロントエンドでufw show rawiptablesの生ruleも表示できるそうです。良さそうな予感。 $ sudo ufw default deny $ sudo ufw allow 10022 $ sudo ufw allow 80/tcp $ sudo ufw enable あら簡単。(sshは10022ポートに変更してるので) 何回来たらr

    Tomohiro
    Tomohiro 2013/01/17
  • 全Railsエンジニアが毎日始業時に正座して見るべき動画 - komagataのブログ

    Thomas on Rails。楽しげなメロディーと共に大惨事連発してます。Railsエンジニアのお父さんはお子さんとうっかり見たら心を深くえぐられそうです。 日語版 Original Version 歌詞(日語版) 「じこはおこるさ」 スリルなんてちょっとなら楽しみさ でもイライラすると事故が起きる へっちゃらさ なんて知らん顔して 走っているとそんな時 事故がほら起きるよ いきなり来る 調子乗ってやってるとバチがあたる 事故がほら 起きるよ いい気になってると そうさ、よそ見してるその時に 事故は 起きるものさ 思いつきでやると きっと 失敗するよ 幸運の女神は気まぐれだから ウキウキしてるとまっさかさま 忘れないで気をつけてね いつだって 事故がほら起きるよ 突然さ 運が無い時はしょうがない なんとかしよう 事故がもし起きたら 落ち込まないで うまくやれるようにがんばろうよ 事故

    Tomohiro
    Tomohiro 2012/11/29
  • phpのソースコードを綺麗にする - komagataのブログ

    PSR0, PSR1, PSR2にしたがってPHPのソースコードをフォーマットしてくれるphp-cs-fixerを使う。(全部のルールに対応してるわけじゃない) % sudo curl http://cs.sensiolabs.org/get/php-cs-fixer.phar -o /usr/local/bin/php-cs-fixer % sudo chmod a+x /usr/local/bin/php-cs-fixer % sudo php-cs-fixer self-update % php-cs-fixer fix app/models/foo.php vimから使う ~/.vimrc: Bundle 'stephpy/vim-php-cs-fixer' let g:php_cs_fixer_path = "/usr/local/bin/php-cs-fixer" nnorem

    Tomohiro
    Tomohiro 2012/10/11
  • レガシーPHP改善日記 シーズン1 エピソード2 - komagataのブログ

    hrysd心を折られるチンカスプログラマーことhrysdがバイトで来てくれることになったので一緒に大門に出社。 初出社前に既にバグを一個潰してコミットしているという荒業を見せたhrysdだが、3000行を超えるcontrollerに早くも心を折られる。 俺「actionのメソッドが5行を超えたら危険印、なんていうrailsのぬるま湯に使ってたんだよ!これがサバンナだ。」 Github Organization契約出社後早速、社長にGithub Organization Bronzeプランを契約してもらう。技術的なことはわからないというが、リスクを背負って立てなおそうという気持ちが伝わって来ました。 9月30日の直近の締め切りに間に合わないのでsvn + redmineからの移行は10月にお預けだ。 svnがよくわかってないまずはsvnでもトップにぶち撒けられてるというのは辛いのでtrunk

    Tomohiro
    Tomohiro 2012/09/19
  • Mountain Lionでphp - komagataのブログ

    phpの読み込みはコメントアウトされてるので外す。 # /etc/apache2/httpd.conf: LoadModule php5_module libexec/apache2/libphp5.so VirtualHostの設定の読み込みがデフォルトでコメントアウトされてるので外す。(罠) # /etc/apache2/httpd.conf: Include /private/etc/apache2/extra/httpd-vhosts.conf Web共有は無くなったのでapachectlを使う。 % sudo apachectl restart

    Tomohiro
    Tomohiro 2012/09/12
  • 受託開発から離れた理由 - komagataのブログ

    数年前、受託開発の会社を辞めてこれから自社・製品サービスを作ってる会社で働こうと思い、会社を転々としつつ今(FJORD, LLC)に至ります。 上記のような事を思った切欠は下記の様なことがあったからです。 中規模の案件 その時、僕はコンシューマ向けのWebシステムの案件を5〜6人ぐらいのチームで取り組んでいました。データベースに保存されたデータをPHPでXMLを返すAPIを作り、Flashで表示するサイトで、時代が時代だったので「このトラフィックをPHPで構築するなんて。Javaでやるべきだ。」なんて言われてましたが今考えるとおかしいですね。 サーバーとFlashクライアントが連携するのでAPI(XMLのSchema)に関してはデザイナーとも結構密にやり取りしていたように思います。僕はガントチャートとにらめっこしながらも案件の後半になってもそれ程デスマという感じも無く、定時で帰れるメンバー

    Tomohiro
    Tomohiro 2012/03/20
  • 触りだけでも便利なVagrant - komagataのブログ

    herokuのpg_dump.sqlしかバックアップが無い状態からDBを復旧させるため、適当なpostgres環境が必要になったんですが、$ brew install postgresql はv9.0とか未来的な感じが面倒そうだったので簡単にVirtualBoxの仮想環境が作れるという噂のVagrantを使ってみました。 Vagrant - Welcome Vagrantとは? VirtualBoxの仮想環境をCUIから操作するツールです。数回コマンドを叩くだけで環境が作れるのでとても便利。rubyで書かれたシンプルな設定ファイルを元に面倒な仮想環境構築を自動化してくれます。 VM自体はVagrantfileという設定ファイルで設定し、VMの中身はchefで設定するという感じです。僕はchef使ったこと無いので今回はVM作成したあとはsshで入ってpostgresをインストールしちゃいまし

    Tomohiro
    Tomohiro 2012/01/19
  • ローカルのWebサーバーを簡単にネットからアクセス可能にするproxylocalが便利 - komagataのブログ

    ProxyLocal ProxyLocal could proxy your local web-server and make it publicly available over the internet. ローカルのWebサーバーに他人にちょっとアクセスして欲しい時(何かの実験中とか)に便利なgem。 # app.rb: require 'rubygems' require 'sinatra' get '/' do ' ┐(´ー`)┌' end こういう糞アプリがあったとして、まずローカルで立ち上げる。 % ruby app.rb == Sinatra/1.2.6 has taken the stage on 4567 for development with backup from Thin >> Thin web server (v1.2.11 codename Bat-Shit

  • Heroku - ソース中のパスワードなどの処理 - komagataのブログ

    コレの回答をtakaakiさんとfunc09さんに教えてもらいました。 % heroku config:add key=value heroku configでサーバー上の環境変数を設定できるそうです。これはスマート! ExceptionalなんかAddOn追加した時点でキーがENVに既に設定されてて至れり尽くせり。 % heroku config EXCEPTIONAL_API_KEY => 7a3ee516cdb490dd...9e10d194fcf48410 RACK_ENV => production こんな感じで行けちゃいます。 use Rack::Exceptional, ENV['EXCEPTIONAL_API_KEY'] || 'key' 設定ファイルとかも全部コレ。楽だわぁ。 関連:Herokuにアップするアプリの設定ファイル - komagata [p0t] 参照:He

  • MacでSnes9x - komagataのブログ

  • Ruby - クラス名と同名の関数にデフォルト動作をさせるパターン - komagataのブログ

    Hpricotで良いなと思ってたのが、"クラス名と同名の関数にデフォルト動作をさせる"というやつ。 class Foo def initialize puts "new" # code... end def fetch puts "fetch" # code... end def send puts "send" # code... end end def Foo foo = Foo.new foo.fetch foo.send end こんな感じでFooクラスにFoo関数を作っておく。 % irb -r foo >> Foo() new fetch send => nil 普通こういう場合Foo.run!とかを用意するけど、クラス名をとりあえず実行してみればいいというのは楽。変数と関数の2値を持てるところを利用してるんだけどシンプルで好きだ。 このパターンの名前みたいのあるのかな?

  • 1