サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
2024年ランキング
zephiransas.github.io
今年いっぱいをもちまして、株式会社リゾームを退職しました。 在籍期間としては31日まであるのですが、明日より有給消化期間に突入するため、本日が最終出社日となります。 初出社なう — Takafumi Yoshida (@zephiransas) 2013年1月4日 初出社が2013年の1月からなので、きっちり4年。 かと思いきや、実はその前からお手伝いに半年ほど入っていたので、実質4年半 くらいの在籍期間でした。 なぜ転職するのか 最初に強く言っておきますが、自分が転職するのは決して今の会社が嫌になったとかではない、ということです。 いまでも「岡山でエンジニアとして幸せに働ける会社」の1つはリゾームであると、断言できます。 現に岡山のエンジニアコミュニティの主要なメンバーが数多く在籍していますし。 (一部では、いい意味で「大都会の人材ブラックホール」なんて呼ばれてたくらいですからw) しか
自分が現在関わっているプロジェクトでは、nginx + unicornの構成で運用しているのですが、この構成でサーバのメモリが足りなくなるという現象に悩まされていました。 unicornのワーカプロセスは、通常では起動したままユーザからのリクエストを処理し、再起動されることはありません。 その関係で、長時間運用していると、そのワーカプロセスがメモリをあるだけ食いつぶすような挙動になります。 こんな時に便利なのが「unicorn-worker-killer」です。 unicorn-worker-killerを使うことで、ワーカプロセスが以下の条件の場合に、自動的に再起動してくれます。 ワーカプロセスが指定回数のリクエストを処理した場合 ワーカプロセスが指定量のメモリを使用している場合 いずれの場合でもワーカプロセスの再起動は、現在のリクエストを処理した後に再起動(いわゆるgraceful r
Railsアプリにて論理削除とeager_loadを合わせて使うとN+1問題が発生することに気づいたのでメモ。 N+1問題を確認する まずはN+1問題が起きるようなモデルを作成します。よくあるブログアプリのような、ブログのエントリがあり、それにコメントが複数あるパターンです。 class Post < ActiveRecord::Base attr_accessible :title, :content has_many :comments end class Comment < ActiveRecord::Base attr_accessible :post_id, :name, :content belongs_to :post end 適当なデータを入れた後、これに対してrails cで以下のようにレコードを取得します。 Post.all.each do |post| puts po
Kindle Storeでセールをやってるようです。今回は50%をポイント還元するってセールらしいです。 で、こちらを見てたらRubyやPHPはあっても、Javaがなかったので、ついカッとなってJavaプログラマ向けのオススメ技術書をチョイスしました。 セールは6/1の正午までですので、お早めにどーぞ。 これは店頭で目次を見た程度です。わりと初心者向けな印象なので、これからJavaを勉強したい人にオススメです。 いわずと知れた「パーフェクトシリーズ」のJava版。広範囲に網羅されているので、手元に置いておけば長く使えると思います。初心者でも可。 これも「逆引きレシピシリーズ」のJava版。リファレンス的に使うのならコイツは鉄板。 そもそもJava EEの日本語の本は少ないのですが、最新のJava EE7に対応した本。 1つ前のバージョンであるJava EE6の本。通称「金魚本」。Java
以前から気になっていたJavaのREPL、Project Kullaを動かしてみました。 REPLとはRead-eval-print loopの略で、CUIからコードを直接入力していって、その場で動作を確認できるツールです。 Rubyであればirbやpryなどが有名ですね。 Project KullaはOpenJDKにて開発されている、JavaのREPL環境をつくるプロジェクトです。 ちなみにこの機能はJDK9で、正式導入される予定になっています。 JLine2のインストール 早速REPL環境を動かしてみたいところですが、まずは前準備として、Kullaに必要なJLine2というライブラリをビルドします。 ソースコードはGitHubのリポジトリでホストされていますので git clone [email protected]:jline/jline2.git cd jline2 mvn instal
これはJavaアドベントカレンダー2014の12/16分の記事です。 昨日はgrimroseさんの、[書評] Gradle徹底入門 でした。 明日は@com4dcさんの、はじめて触るStreamの世界 です。 自分はJavaのテストフレームワークである、lambda-behaveについて紹介します。 自分は普段はRailsでの開発を行っているのですが、現場では主にRSpecを使ってテストを記述しています。RSpecでのテストは以下のような感じです。 describe 'Sample' do context 'hogeメソッドについて' do it 'fugaを返すこと' do Sample.hoge.should == "fuga" end end end RSpecでは上記のようにDSLを使って、なにをテストしているかを構造的に記述することができます。 lambda-behaveを使うと
メッセージ等の新着通知やアップデート情報の配信など、アプリケーションへの通知の方法として、スマートフォンなどで使われるpush通知など、最近では様々なものがあります。 しかし自前で通知用のサーバを運用するのは手間がかかるので、これを簡単に使えるようにするサービスも増えてきました。例えばPusher.comなどがあります。これを使うことで、ブラウザへのリアルタイムな通知機能を、WebSocketを使って簡単に作成することができます。 今回はPusherからの通知をChrome拡張で受信し、これをデスクトップ通知するサンプルを作成しましたので、解説してみます。 Pusher側の設定 まずはPusher側に設定を行います。Pusherでアカウントを作成後、以下のようにアプリケーションを登録します。 ここでEncryptionにチェックを入れておきましょう。チェックしなくても特に問題はないのですが
去年作ったPhoto LeafというWebサービスがあるのですが、これのCI環境を作成したいなぁと思っていたところwerckerというCIサービスを使って構築できたので、そのまとめです。 werckerとは? werckerはTravisCIなどに代表されるように、外部でビルド(というかテスト)やデプロイを行ってくれるCI(継続的インテグレーション)サービスです。 使い方としては、リモートリポジトリに変更がpushされた時点でこれをフックして、CIサービス側でテストしたり、場合によってはそのまま本番環境に自動デプロイとかもしてしまえば、変更内容を安全、かつ迅速にリリースできる仕組みが出来上がるわけです。イマドキっぽいですね! werckerの特徴としては GithubとBitbucketに対応 TravisCIはGithubにあるリポジトリしかビルド対象にできません。Githubのサービス
モバイル対応のWeb開発をしている時、iPhoneやiPadのブラウザでのデバッグに苦労したことはないですか? PCの場合であれば、Chormeのデベロッパーツールとかでかなり簡単にデバッグを行うことができますが、iOSとかのSafariではデバッグツールをつかうことができません。 そんな時に便利なのがweinreです。weinreを使うことで、iOS側で表示されたWebページのデバッグツールの情報を、PCから見ることができる大変便利なツールです。 今回はweinreの使い方を紹介します。 weinreのインストール まずはweinreをインストールします。weinreはnpmで提供されているので、以下のコマンドでインストールします。 npmをインストールしてない場合は、先にnode.jsをインストールしてください。 $ sudo npm -g install weinre 自分の環境では
我が家の環境では、BuffaloのLS-XLシリーズというNASを使って、MBAのTime Machine環境を作っているのですが、最近よくこんなメッセージが出るようになりました。 これはApple純正のTime Capsule以外をTime Machine環境に使用すると出てくるらしいです。 しかもこうなってしまうと、「後でバックアップを作成」にしても再度同じメッセージが表示されるし、「新規バックアップを作成」を選ぶと、それまでのバックアップの履歴は全て消えてしまいます。 なので、この場合の復旧手順をメモっておきます。 まずは、Time Machineを一旦「切」にしておきます。 次にNASをマウントして、そのマウントポイントまでのパスを確認しておきます。自分の場合は「/Volumes/share/unicorn.sparsebundle」でしたので、以降はこれで説明します。 次にターミ
最近playframework2.1をちゃんと使いたいなぁと思ったので、Scala含めて色々調べてます。 で、ドキュメントを眺めてて気になったのがO/Rマッパ。play1.2系のころはEBean等のO/Rマッパを利用できたんですが、play2.1系ではなくなってる!一応Anormという仕組みでSQLを発行出来ますが、SQL直書きするのは小学生までよねー?!的な感じ。 で、更に調べてみると、typesafeでSlickというO/Rマッパがあるので、これが良さそうじゃね?ってことで、試してみました。 本来はplayから利用するのがベストですが、実験なのでスタンドアロンで。 build.sbtとplugin.sbtの準備 まずはsbtで環境を作るところから。以下のようにbuild.sbtを作成 ``` scala build.sbt name := “slicksample” version :
このページを最初にブックマークしてみませんか?
『zephiransasのチラシの裏』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く