タグ

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

  • SES企業はやめた方がいいですか? - komagataのブログ

    プログラミングスクールのフィヨルドブートキャンプを運営していて、就職に関するアドバイスを求められることも多いです。SESについてはよく訊かれるのでここにまとめて回答しておきます。 SESとは SES(System Engineering Service)とはソフトウェア開発・運用・保守における委託契約の一種です。特定の業務に対してエンジニアを派遣し、エンジニアリングの能力を時間で提供します。 他に一般的な契約として請負契約があります。(特定派遣については2018年に廃止されました) この二つは主に報酬の対象が違います。 SES:労働時間に対して報酬を支払う。 請負:成果物に対して報酬を支払う。 SESはその時間働いていれば必ずお金がもらえますが、請負は成果物(システム)ができなかったら報酬が貰えません。 請負が成果物によって報酬が出るか決まるということは、「成果物とは何か?」ということを事

    aki77
    aki77 2021/06/16
  • Getting Real的なものとそうでないもの - komagataのブログ

    BasecampのHEYがリリースされましたね。 見れば見るほどBasecamp社のWebアプリの作り方をまとめたであるGetting Realの内容に従って作られてるアプリだなとGetting RealをバイブルにしてWebアプリ作成を仕事にしてきた我々としては嬉しくなってしまいます。(2007年のなのに!) ただ、業界内で「Getting Real良いですよね、私もすごく好きです。」という人は多いですが「え?あんたの作ってるアプリ全然Getting Real的じゃなくない?」ということがしばしばあります。 フィヨルドブートキャンプの最終課題の「自分で考えたWebサービスを作る」ではGetting Realを読んでからどういうサービスなのかを表現するエレベーターピッチを作ることになっています。 しかし「これってGetting Realに書いてあることと真逆じゃない?ホントに読んだ?」

  • スクールとして嬉しいRuby入門書 - komagataのブログ

    @igaiga555さんからゼロからわかる Ruby 超入門を献いただきました。ありがとうございます! プログラミングスクールをやっている人として感想を書きたいと思います。 FJORD BOOT CAMP(フィヨルドブートキャンプ) チェリーの前に読んでほしい ここのところ「チェリーがちょっと難しい」という生徒の方がちょこちょこいて、確かにチェリーは正に「プロを目指す人のための」なのでプログラミング自体初めてという人にとってはちょっと厳しいようです。(弊社にはチェリーが何冊もあります😁) 弊社のカリキュラム的にもそこは抜けてるので「Progateやったらいいかも」とか言ってたんですが、ゼロからわかるRuby超入門を読んで、「あ、これを教科書にしよう」と思いました。 スクールとして涙がでるほど嬉しいのが、「練習問題の回答集が取り外せるようになっている」ことです。 これ外して生徒

  • rails5ではquiet_assets gemは要らない - komagataのブログ

    プログラマー兼カバラ占星術師komagataのブログ。

    aki77
    aki77 2016/08/20
  • railsでコメント数の実装の悩み - komagataのブログ

    railsでコメント数をどう実装するかで悩んでいます。 ニコ動だとこんな感じ。 怖話でもこんな感じでコメント数/再生数などを保存しています。 一定以上の数になると素朴な処理では速度的に無理が来ます。 怖話での実装方法 怖話でのカウント数の実装の歴史。 何もせずDBに1レコードずつ保存時代。 一覧ページなどが重いのでrailsのcounter cahcheを使う。 コメントや閲覧はpolymorphic関連なのでcounter cacheが対応してない。conditional_counter_cacheを使う。 削除に時間がかかり過ぎる。 ← イマココ 一覧の表示はconditional_counter_cacheで大丈夫なのですが、削除時の処理がかかりすぎてタイムアップする問題がでてきました。 削除時の問題 ここではわかりやすく閲覧数ではなくコメント数で説明します。 コメント数が1万件ある

    aki77
    aki77 2016/05/18
  • レガシーPHP改善日記シリーズ - komagataのブログ

    「FRINGE/フリンジ」の J.J. エイブラムスと「ダークナイト」の脚家ジョナサン・ノーランが贈るわけではない、IT業界のタブーに切り込んだサスペンス実話。 (私人は真剣にレガシーPHPに取り組んでおります。) シーズン1 エピソード1 エピソード2 特別編1 レガシーPHPプロジェクトあるある エピソード3 特別編2 phpプログラマーの募集 エピソード4 エピソード5 エピソード6 エピソード7 エピソード8 特別編3 PHPMatsuri2012 エピソードLAST シーズン2 エピソード0 エピソード1 エピソード2 エピソード3 番外編1 ピクルス原理を誤用(応用)する エピソード4 エピソード5 エピソード6 PHPの落とし穴 PHPの落とし穴1 ツール レガシーPHP診断 レガシーPHP診断 - みんなの診断結果 レガシーPHP改善・コンサルティングはこちらから承って

    aki77
    aki77 2015/08/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

  • 格安のリモート秘書サービスKaori-sanが便利 - komagataのブログ

    ずっと求めていたサービス Kaori-sanは俺がずっと欲しかった格安のリモート秘書サービスで、弊社第一号ローカルインターン卒業生の@Communitureに、 「起業するならこういうもの(正にKaori-sanと同じ内容)をやってくださいよ!」 と言って実際に1日やってみて検証した結果、 @Communiture「@komagataさん、日の人件費だとこれは成り立たないと思います…。」 @komagata「じゃあ@Communitureさんがベトナムに行って日語を教えてやってよ!」 @Communiture「それはちょっと・・・」 という経緯があった感慨深いサービスだ。 Kaori-sanの存在を知った時は六代目桂文枝並に椅子から転げ落ちたものです。 何が良いのか 我々専門職の時給は高い。例えば人月100万円のプログラマーの時給は6250円だ。(俺はそんなにもらっていないが)専門分野

  • knife-solo + vagrant - komagataのブログ

    ハマリポイント 古いvagrantを削除する。 VirtualBoxを新しくし過ぎない。(ちょっと古いやつを使う) VirtualBox系でハマったらMacを再起動する。 ruby2.xではchef-solo動かない。 chefは公式サイトからcurlで入れる。 knife-soloはgithubから入れる。 knife-soloをbundle exec rake installする時ちゃんとruby1.9.3に入るようにする。 古いvagrantのアンインストール % gem uninstall vagrant % rm -rf ~/.vagrant.d vagrantのインストール http://downloads.vagrantup.com/tags/v1.2.2 debian wheezy64のvm作成 断固debian。 % vagrant box add wheezy64 ht

  • 長い処理が終わったら通知する - komagataのブログ

    scpとかtestとかちょっと長い処理があるとTwitterを見ちゃって戻ってきてまたちょこっと作業して長い処理があるとまたTwitter見ちゃう。 なのでTerminalで長い処理がある時は終わったら通知を出してすぐに作業に戻りたい。 $ gem install terminal-notifier $ terminal-notifier-notify -message Finished! terminal-notifier-notifyというコマンドが入って通知してくれる。 テストが成功でも失敗でも終わったら通知する。 $ rake; terminal-notifier-notify -message Finished! ちょっと長いのでshellを書く。 ~% cat ~/bin/finished #!/bin/sh terminal-notifier-notify -message

    aki77
    aki77 2013/06/25
  • 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。 無料お試し中は東京リージョンは選べ

  • 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は起こらない

    aki77
    aki77 2013/02/12
  • lolcommitsを使い出して2週間 - komagataのブログ

    git commit時にlog入りの写真を取ってくれる。 $ gem install lolcommits $ cd /path-to/project-repos $ lolcommits --enable mroth/lolcommits · GitHub post-commitにコマンドが入るだけなのでシンプル。 % cat .git/hooks/post-commit #!/bin/sh lolcommits --capture commitするたびに~/.lolcommits/project-nameディレクトリに写真が保存されていきます。Macのカメラが一瞬光るぐらいで作業の邪魔にはなりません。 2週間ぐらい経ってから思い出してディレクトリを見てみたら面白かったです。大体はしかめっ面で画面を睨みつけてる写真になるんですが、変なのをピックアップしてみた。 横に何があったんだろう?

    aki77
    aki77 2013/02/08
  • Alfred PowerpackのTerminal Control機能がかなり使える - komagataのブログ

    [OSX]理想のランチャーを探す Alfred ? | diary NET. 1.2mg @milligrammeさんのエントリーを見てAlfredのPowerpackを買ってみた。Terminalのコマンドを実行できるという機能があったからだ。 >からテキストを打ち始めるとTerminalが新しく開いてコマンドを実行してくれる。これはかなり僕の求めてたものに近い。しかしopen http://google.comのような結果の表示が必要無いコマンドの場合は実行するたびにTerminalのウィンドウが1枚増えるので閉じて回るのが面倒臭い。 ところが、open http://google.com;exitのように打てば問題無いことに気づいた。特に僕はzshのaliasでexitをqに割り当てているので;qを末尾に書くだけで勝手に閉じてくれる。上記スクリーンショットの様に結果を見たい場合は普通

  • レガシーPHP改善日記 シーズン1 エピソード3 - komagataのブログ

    Migrations Pluginの導入cakeディレクトリがcake_core/cakeという感じで置かれていて色々設定しないとcakeコマンドが動かないのでデフォルトの位置に戻した。おそらくcakeコマンドによるgenerateは使ってなかったんだろう。generateを使わないとCakePHPのレールから大幅に外れることになりがち。cakeコマンドが動いたことによってようやくmigrations pluginを導入できた。現状のDBの状態をmigrationファイルに変換できたが、そもそも初期データはどうあるべきなのかがわからないので困った。テーブルが50ぐらいあるDBの初期データを手で作っていたら日が暮れてしまう。相談したところ、初期化に使っているSQLがあるとのことでそれを頂いた。とても助かった。 一番手っ取り早いテストseleniumでテストを書いている。とにかく「このページ開

    aki77
    aki77 2012/09/26
  • レガシーPHPプロジェクトあるある - komagataのブログ

    プロジェクト名に愛が無い そしてリポジトリ名がncrm(多分New CRMの略)。だったら更に新しいの出たら何になるのか。nncrmか?nnncrm、n5crmとかschemeの仕様みたいになっていくのかと小一時間(略 テストが無い テストぉ?そんなお上品なもんなんざぁ、とんとお目にかかったことねーなぁ? バリデーションが無い バリデーション?そんなお上品なもんなんざぁ(略 サーバーがrootログインの許可+IP制限している セキュリティを高めたいのか低めたいのかどっちなのか。使い辛いわ。 バージョン管理システムがよくわかってない なぜトップにぶち撒けられてる?trunkはどこ?branchesとtagsはなぜ空? メソッドが大文字から始まる あんた絶対Windows畑から来たね?同じ調子でPHP書かれても困るんだヨォ。 全テーブルに共通のプレフィックスが付いている いや、データベース名が

    aki77
    aki77 2012/09/19
  • レガシー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

    aki77
    aki77 2012/09/19
  • そろそろ実践投入もありうる?Audio Sprite - komagataのブログ

    ご存知の通りスマホのHTML5 Auidoは現状酷い状態です。 全プラットフォーム共通で再生できるフォーマットが無かったり、iPhoneは独自仕様で自動再生はできず、ユーザー操作由来のアクションからしか再生できなかったり、複数音が再生できなかったり、Androidは2.2までは全然動かなかったり。 対応策として知られているのがCSS SpriteならぬAudio Sprite。複数の音楽ファイルをつなげて一つのファイルにし、シーク位置を制御することで好きな音を鳴らしたりループしたりする姑息なテクです。 そんな面倒なことやってられるかと思ってたんですが、そろそろAudio Sprite用のツールも揃って来ました。 jukebox zynga/jukebox ひとつはAudio Sprite用の再生ライブラリjukebox。Zyngaが作ってるのでちょっとマジっぽいです。 var settin

  • 受託開発から離れた理由 - komagataのブログ

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

    aki77
    aki77 2012/03/21
  • シンプルでパワフルという触れ込みのcron replacement、whenjobs - komagataのブログ

    どうしても先生という感じがしてしまうんだけど、jonesforthのRichard WM Jones先生が作ってるcron replacement。 whenjobs - a simple and powerful cron replacement Two key advantages over cron are a simpler syntax for writing rules and a powerful dependency system that lets one job depend on variables set when other jobs run (allowing, for example, one job to run only when another job has finished successfully). every 10 minutes : << #

    aki77
    aki77 2012/03/15