タグ

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

  • Heroku Review Appsで無限ステージング環境 - komagataのブログ

    TL;DR HerokuでPull Request毎にステージング環境が勝手にできるようになりました。 Review Apps自体はHeroku Buttonから続くWebアプリデプロイの自動化の流れの成果の内の一つとです。もともとPipelinesを自分で色々やればできたろうとは思いますが、管理画面だけでPR毎の自動環境構築ができるのはクッソ便利です。 Sendagaya.rb #127で下記の発表をさせていただきました。 Sendagaya.rb #127に行ってきました - komagata Review Appsで無限ステージング環境 // Speaker Deck スライドみればわかりますが、githubとconnectして、環境変数・addon選んでapp.json生成して、PR作れば勝手にステージング環境ができます。PRがmergeされれば消えます。 AWS + docker

  • 会社をプログラマー目線でチェックする - komagataのブログ

    9月1日から株式会社Blaboで週2日で働いています。Blabo開発、開発チーム構築、プログラマーのリクルーティングがお仕事です。流行りの暫定CTO的なやつです。1ヶ月で開発が回るようになってきたのでプログラマーの募集を開始しました。 しかし、人事部の出すプログラマー募集っておれら/おまえら的に嘘くさいし、知りたい情報じゃなかったりするので、 「プログラマーとして入社を検討している会社について知りたいこと」 という視点から独自の調査をしていきたいと思います。 RubyRailsのバージョン 100人中65535人のRailsプログラマーが、会社を選ぶ時は給与や福利厚生ではなく、ましてや会社のビジョンでもなく、 「使っているRubyRailsのバージョンで決める」 と答えています(確信) Gemfileを見てみました。 source "https://rubygems.org" ruby

  • 家事の自動化はルンバよりCaSyが良い - komagataのブログ

    オフィスでは別のサービス使ってますが、自宅でも家事代行サービスを使ってみたらいい感じでした。 家事代行サービスを東京でお探しなら1時間2,190円のCaSy 月(4週間)に1回で2.5時間たのみました。月7,153円でした。 キッチン、トイレ、風呂、洗面台、リビングの掃除機・乾拭きをやってもらいました。 CaSyで良いと思った点は2点ありました。 1点は、100%自動化(契約していることを忘れるレベル)するには鍵を預けて平日の昼間やってもらう必要があるんですが、鍵を預ける運用が暗黙的サービスなところが多いのに対して明示的サービスとして提供しているところです。 2点目は日人がやってくれるのでものが盗まれたりしない雰囲気です。 いつも忘れがちなペットボトルゴミの日に設定してペットボトルゴミを出してもらう運用にできました。そういった柔軟性も予想以上に嬉しかったです。 部屋がかなり綺麗になったの

  • ActiveRecord::RecordNotFoundエラーを防ぐ - komagataのブログ

    こちらの記事の解決編です。 ActiveRecord::RecordNotFoundのエラーは放置すべきか? - komagata @hiroshi3110さんからズバリな答えをいただきました。 @komagata ... とかやってました。 ActiveRecord::Notfound がでるときはバグというのがすぐわかるように — hiroshi (@hiroshi3110) 2015, 1月 6 怖話で実装 # lib/record_not_found_by_trustless_param.rb: class RecordNotFoundByTrustlessParam < StandardError; end # app/controllers/comics_controller.rb: class ComicsController < ApplicationController

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

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

  • sunziでwordpressをインストール - komagataのブログ

    これをsunzi recipeにした。 使い方 sunzi.ymlにremoteのrecipeを持ってくる設定を書く。 wordpress_domainにはwordpressで使うdomain名を書く。 wordpress_jaは日語で使いたい時だけ必要。 eval_erbはテンプレート中でrubyを評価するのに必要。 sunzi.yml: --- attributes: wordpress_domain: fjord.jp recipes: wordpress: https://raw.github.com/komagata/sunzi-recipes/master/recipes/wordpress.sh wordpress_ja: https://raw.github.com/komagata/sunzi-recipes/master/recipes/wordpress_ja.sh

  • 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

  • 触りだけでも便利な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をインストールしちゃいまし

  • commentを後からcommentableにする - komagataのブログ

    怖話でcomment付ける対象なんて"怖い話"だけに決まってるじゃん! class CreateComments < ActiveRecord::Migration def change create_table :comments do |t| t.text :body t.references :story t.timestamps end end end 余裕過ぎワロタwww 1年後・・・ "怖い漫画"・・・だと・・・!? \( ^o^)/ オワタ じゃ、じゃあ、comic_commentsというテーブルを・・・(レガシー直行) commentをcommentableにする でも大丈夫、後からでもcommentableに移行できます。今回はacts_as_commentableを使いました。 # Gemfile: gem 'acts_as_commentable', '2.0.1'

  • アジャイルネイティブの為の受託開発から離れた理由 - komagataのブログ

    受託開発から離れた理由というエントリーを書きましたが、 「新卒の時からウォーターフォール開発じゃあ既になかった。」 というアジャイルネイティブ(コンチクショウ!)な方には少し分かり辛いかなと思い少し補足を。 受託開発から離れた理由 - komagata (僕ら受託開発会社とクライアントの利害は必ずしも一致していない。エンドユーザーに至っては受託開発会社の利益と相反してるとさえ言えるじゃないか。) 「開発会社とクライアント(開発を依頼した会社)の利害が必ずしも一致してない」というのは極端に言えば下記のようなことがあるということです。 下記は全てフィクションです 開発会社が論文検索システムを4人月(1人月=100万円)と見積り受注した。全文検索にはクライアントも知っている名のある商用パッケージを使う前提で見積もったが、土日で試してみたApache Solrを使えば半分の工数(というか土日で仕様

  • MacでClojure + Vim環境を作る - komagataのブログ

    leiningen = rubygems + bundlerclojars.org = rubygems.orgnailgun = SWANKvimclojure = SLIME Clojure + Leiningen leiningen入れるとclojureも入る。 % curl -O https://raw.github.com/technomancy/leiningen/stable/bin/lein % chmod +x lein % lein repl Using JLine for console I/O; install rlwrap for optimum experience. REPL started; server listening on localhost:29973. rlwrap入れたほうが良いと出るので入れる。 % brew install rlwrap %

  • シンプルでパワフルという触れ込みの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 : << #

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

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

  • Heroku-ja Meetup #1でLokkaのLTさせてもらいました - komagataのブログ

    正にHeroku三昧の時間で楽しかったです。会場のリクルート メディアテクノロジーラボ MTL Cafeも設備が整っていて、発表するのにとてもやり易かったです。Herokuオフィスの雰囲気や皆さんがどうやってHerokuを使っているのかというお話がとても為になりました。 Lokkaについてもruby1.9.2対応してくださった@tyabeさん(Herokuのデフォルトが1.9.2に変わって焦ったけど@tyabeさんのお陰でLokkaが動いてて良かった)に会えたり、@yagi_さんと次何実装するか話したり、Herokuユーザーの方々に宣伝できたりで行って良かったです。 RubyKaigi2011終わったらまたLokkathonやりたいです。 主催の@junyaさん、キャンセル待ちから運営側に回ることで滑り込むという裏技を使いつつ、ピザでみんな手がベタベタになるのに気を効かせて速攻ティッシュを

  • Paperclipで画像を保存 - komagataのブログ

    月曜日なので一心不乱にコード(仕事の)。 画像アップするプラグインを前に目を付けていたPaperclipに変えてみた。 file_columnと同じでファイルに画像を保存する形式。で、attachment_fuと違って専用のテーブルを作らないタイプ。 うーん、ファイルに保存方式だとcapistranoでdeployしてるとき困るんだよな~。そんでsystem以下に保存するように変えたり。 とりあえず使ってみた。 class User < ActiveRecord::Base has_attached_file :avatar, :styles => { :medium => "300x300>", :thumb => "100x100>" } end モデルにhas_attached_fileを定義。 class AddAvatarColumnsToUser < ActiveRecord:

  • 1