2014年10月03日21:41 その他 ヒトメディアに入社しています だいぶ今更感はあるのですが、、 7月から「教育で世界をよくする」をビジョンに掲げているヒトメディアという会社に入社して、とある新規事業に関わっています。頑張っています。 ささたつの欲しいもの ツイート 「その他」カテゴリの最新記事
![ヒトメディアに入社しています - (゚∀゚)o彡 sasata299's blog](https://cdn-ak-scissors.b.st-hatena.com/image/square/141a9279de70399819aee16b589425c62f801001/height=288;version=1;width=512/http%3A%2F%2Flivedoor.2.blogimg.jp%2Fsasata299%2Fimgs%2Ff%2F4%2Ff42b20fc.jpg)
2014年10月03日21:41 その他 ヒトメディアに入社しています だいぶ今更感はあるのですが、、 7月から「教育で世界をよくする」をビジョンに掲げているヒトメディアという会社に入社して、とある新規事業に関わっています。頑張っています。 ささたつの欲しいもの ツイート 「その他」カテゴリの最新記事
2014年09月30日13:34 勉強会 BASE技術勉強会で話してきました こんにちは。ささたつです。 先日、BASEさんの第1回?社内勉強会にお呼びいただいてお話してきました。そのときの資料です。前半はVagrantやDockerなどの仮想化周りの話を、後半は最近思っていることについてつらつらと話してきました〜。 このときのことについてはBASEのCTOであるえふしんさんがブログにまとめてくださったんですが、おにぎりやからあげ(!)も大量に用意してあり、ビールもプレモルで素晴らしい環境でした :D BASE技術勉強会〜ささたつさん勉強会を開催しました | F's Garage@fshin2000 最近は社内勉強会のようなクローズドな集まりに呼んでいただけることもちょくちょく出てきました。えふしんさんも書かれていますが、なんで僕だったのか聞いてみたら「直感」だったということで大変嬉しく思
2014年08月04日11:11 インフラ Ansibleを使って誰でも簡単安全にサーバ構築できる仕組みを作る Ansible って何なの? サーバに対してミドルウェアのインストールや設定等の環境構築を行うことをプロビジョニングと言いますが、その作業を自動化させるためのツールです。プロビジョニングを手動で行うと、手間も掛かるし、どうしてもミスが起こりえます。 その点、Ansible のようなツールを使えば、コマンド一発でプロビジョニングが走り、さらに冪等性(何度実行しても同じ結果になる)も確保されるため、誰でも簡単安全にサーバ構築が出来るのです。 同様のことを行うツールとして、Chef や Puppet がありますが、Ansible はそれらの中でもシンプルなことが特徴です。Chef は以前使ってみようと思い触ってみたのですが、覚えることが多かったりして挫折してしまった。。Ansible
2014年04月01日10:50 その他 執筆 「KARAAGEファーストガイド」を執筆しました 今日も良い天気ですね。みなさまいかがお過ごしでしょうか。 今日はひとつご報告があります。 拙著として、「NoSQLデータベースファーストガイド」ならびに「Hadoopファーストガイド」を執筆させていただいておりましたが、この度めでたくシリーズ最新作「KARAAGEファーストガイド」を執筆し、発売することとなりました!からあげエンジニアを名乗り続けて数年、こんな日が来るなんて夢のようです。 内容ですが、このような内容となっております。ぜひAmazonやお近くの書店でお買い求めいただければ幸いです。 - 美味しいからあげを作るための7つの方法 - からあげなのか?竜田揚げなのか? - 店で食べるからあげと、家で揚げるからあげの違いとは - からあげを食べると痩せる!? ツイート 「その他」カテゴリ
2013年10月24日16:29 Ruby Railsでモデルをto_jsonするときにデータを追加するオプション データの形式を変換するために to_json 使って @user.to_json #=> "{\"id\":1,\"name\":\"sasata299\"}" とかすることってあると思うんですが、モデルのカラム (column) に無いデータを追加するにはどうしたらいいんだろうと思った雨の木曜日。 調べてみると、こういうときには methods という引数で任意のメソッドを指定すればいいんですね。point という値を持たせたい場合にはこんな感じ。なるほどなるほどー。 @user.to_json(methods: :point) #=> "{\"id\":1,\"name\":\"sasata299\",\"point\":100}" 他にも only とか except
2013年12月12日14:03 MySQL MySQLでカラムやインデックスの追加、削除をするときのロックの話など すっかり2013年も終わりに近づいてきましたね。さて、今回はMySQLでカラムやインデックスの追加、削除をするときに知っておいた方がいいかなーと思った注意点の話です。 カラムやインデックスの追加、削除を行う際にはテーブルが共有ロックされる まず、カラムやインデックスの追加、削除といったいわゆる ALTER TABLE に相当する処理を行うとテーブルが共有ロック(読み込みのみ受け付け、更新処理は受け付けないというロック)されるという話です。 この辺の話は @nippondanji さんが詳しく書かれています。 漢(オトコ)のコンピュータ道: ALTER TABLEを上手に使いこなそう。 1. テーブルをTL_WRITE_ALLOW_READロックする。このロックは特殊なロック
2013年11月05日10:36 JavaScript 勉強会 今、AngularJSというフレームワークがヤバい 先週の土曜日、ランサーズさんで行われた 第3弾 週末ランサーズ に参加して個人的に今アツい AngularJS について話してきました。 AngularJS は ng-repeat が便利だったり、コードの見通しが良くなるなどいろいろなメリットがあると思うのでうまく使えば大変メリットがあると思います。特に、データの状態(要素の追加・削除や、状態のon/off など)を制御すればそれに合わせて view の表示はすべて AngularJS がやってくれるというのは素晴らしいですね。 ちなみに、以下の資料の中で ng-app とか ng-repeat とか出てきますが(これは directive と呼ばれます)、この ng というのは AngularJS の2文字目と3文字目を表
2013年12月04日16:03 JavaScript Elasticsearchのデータを簡単にimport/exportする 最近、Kibana と Elasticsearch と Fluentd の組み合わせでログを可視化するの見かけたので僕も試してみました。とても簡単に可視化できて素晴らしいですね〜 :D ただ、開発環境で Elasticsearch のデータを作るのはメンドクサイです。うーん、何か良い方法は無いものかと探していたら、elasticsearch-knapsack (ナップサック!!!1) という Elasticsearch のデータを import/export してくれる gem を見つけました。これは便利そう!! これを使って、本番環境のデータをちょろっと手元にコピーしてみました。 まずエクスポートから。github で書かれている通り、エクスポートさせたいサー
2009年09月17日07:05 Ruby Railsでindex_byを使ってハッシュ形式のデータを受け取る rails を使っていてデータを取得したとき、配列の形でデータが返ってきて使いづらいよ〜っていうときがあります。特定の値を持ってるデータにアクセスしたいときとか。 # find(:all) するとこんな形式で返ってくる [ #<data1>, #<data2>, #<data3>, ... ] # この形式で受け取りたい { :key1 => #<data1>, :key2 => #<data2>, :key3 => #<data3>, ... } このようにハッシュの形で受け取りたいんです。これどうやったらいいのかな〜と思って調べてみると index_by というメソッドを使うことで簡単に取得出来るみたいですね(active_support によって Enumerable に追
2013年10月17日13:15 勉強会 Androiderさんと交流する会をやってきた #webdroid01 急に寒くなってきましたね。ついこの間まで暑い暑い言ってたはずなのにもうマフラーしてる人がいたりしてびっくりです。この調子だと真冬にはどうするんでしょうか。。 さて、昨日なんですが エンジニア異種クラスタ交流会 #01 というイベントを主催してきました。普段なかなか会うことのないクラスタとちょっと交流してみましょう というような趣旨です。今回は、Web系エンジニアとAndroider(Androidエンジニア)とで集まってみました。 # こんな感じ 企画した意図としては「そもそも異なるクラスタと交流する機会って無いからやってみたいなー」とか「個人的にAndroiderと知り合いたい!」とかだったんですがなにぶんノープランで適当なイベントだったので、無事に終えることが出来てよかった
2009年11月02日02:16 Ruby beginとセットじゃないrescueって何なの? ときどきこんな書き方をされているコードを見て不思議に思ってました。 「 rescue が使われてるけど begin が無いし、どういうことなんだろう。。」 def xxx ... ... rescue => e ... end でも軽く調べたらすぐわかりました(もっと早く調べろって話ですね!)。なんでも、例外処理がメソッド定義全体に対して行われる場合には begin と end を省略できる らしいです。 例えば、引数を渡さないと ArgumentError を発生させるようなメソッドを例として考えてみました。このメソッドを引数無しで呼び出すと例外が発生します。 #!/usr/bin/ruby def hoge(arg = nil) if arg puts arg else raise Argu
2013年10月02日11:39 意識高い 迷ったら難しい方を選ぶということ 最近考えていることなのですがちょっと書いてみます。意識高い系です。 例えば、「どう使うんだろ??」とユーザが迷うようなページがあったときにどう解決するか。説明を追加したり、チュートリアルを入れたりといった方法もあれば、UIやUXといった見せ方を工夫することで解決するような方法もあると思います。 こういうときに最近考えているのが、複数の方法があって迷う場合、まず難しい方法にチャレンジする ということ。もちろん面倒なので楽な方がいいんですが、より難しい方法で問題が解決できると余計な情報を追加する必要も無いし、サイト全体が驚くほどすっきりして「どうして今までこうじゃなかったんだ」と腹落ちすることが多いです。また、難しい方法は本質的な解決策であることも多いように感じます。実装などの困難さを考えずにどちらがユーザにとって良
2009年07月01日01:07 Ruby RSpecでテストコードを書いたまとめ 最近は Ruby のテストに興味があっていろいろ試しています。 今気になっているのは RSpec と Cucumber の2つ。今回はまず RSpec を色々触ってみたのでそのときのログをメモってみます。RSpec については RSpec + Autotest::screen = 最高の開発環境 でも書きましたが、BDD(振舞駆動開発)のフレームワークで、describe と it という2つのメソッドを利用します。describe にテストしたい振舞を書き、it にはそのときに満たすべき仕様を書くという感じです。今回は Rails で RSpec を使ったテストを書いてみましたよ。(=゚ω゚)ノ 事前準備として、rspec と rspec-rails と Zentest(テストを自動で走らせるため。この中
2013年08月12日11:25 Ruby RailsのStrong Parametersで弾かれたときにすぐに気付けるようにしてみる Rails4 を使ってると Strong Parameters で特定のパラメーターが弾かれていてハマることがあります。セキュリティ的に安全になったので素晴らしいんですが、いかんせん慣れていないせいか特定のパラメーターが弾かれていても気付かないことが多くて。。そこで、すぐに気付けるように色付けしてくれる colorize_unpermitted_parameters っていう gem を作ってみました。 使い方はこんな感じ。以下を Gemfile に追加して bundle install するだけ。 gem 'colorize_unpermitted_parameters' Strong Parameters で弾かれると Unpermitted para
2013年08月06日18:47 Ruby Spring無しでRailsを使おうだなんて正気ですかッ!? Railsはフレームワーク自体や関連ライブラリの読み込みがあるため、ちょっとしたコマンドを実行するだけでかなり待たされてしまったりします(サーバ起動などなど)。そこで、あらかじめRailsプロセスをロードしておき、そのプロセスから各種コマンドを実行することで高速に実行しよう!という素敵なアプローチがあります。その一つが Spring です。 インストールはこれだけ!これだけでコマンドの実行が高速になるんだから入れない理由があるでしょうか。いや、無い。 gem install spring ただ、対象はRails3.2以上なので古いRailsを使っていると恩恵が受けられないです。。そういう場合はさっさとバージョンを上げましょう。そのくらい快適です。 実際に実行時間を計ってみても(かなり適
2013年08月05日14:53 Ruby JavaScript Rails4 + Capybara + PhantomJS (poltergeist) なテスト環境 Rails4 でのエンドツーエンドなテスト環境を作ってみたのでメモです。 統合テストといえば Capybara さんなわけですが、デフォルトだと JavaScript を実行する際にドライバとして Selenium が使われてしまいます。 Selenium さん良い人なんですが、、、ブラウザが起動するので重いし、そもそも毎回ブラウザが起動する必要は無いのでヘッドレス(ブラウザの起動無しに JavaScript が実行できる)ドライバにしちゃいましょう。サヨナラ。 ヘッドレスドライバはいろいろあるんですが、最近は PhantomJS というライブラリが良いみたいなのでこれを使ってみます。Capybara から PhantomJ
2013年05月08日18:21 JavaScript 実際のサイト上で動作するチュートリアルが簡単に作れるIntro.jsが便利すぎる件 さて、先日簡単なチュートリアル作ろうと思ったんですが、どうやるのが良いのかなーと思って悩んでました。キャプチャ取ってそこに説明文を書いて…ってしてもいいんですけど、キャプチャだと一部分なのでサイト上のどの辺なのかわかりにくかったり、サイト側は変更したのにキャプチャが古いままとかになったりしちゃいますよね>< とか思って探してみたらこちらの Intro.js が便利だったので紹介してみます。 さて、この Intro.js を使うとですね、サイト上で動作するチュートリアルを簡単に作れるんですよ。使い方も簡単で、動作させたい要素に対して data-intro (表示する説明文) と data-step (チュートリアルの何番目に表示するか) を指定します。チ
2013年04月24日13:26 NoSQL Ruby Redisでランキング機能を実装してみる Redis を触ってると楽しくてニヤニヤしてしまう今日この頃です、こんにちは。 読み書きのパフォーマンス的には memcached とよく似てる感じかなーと思いますが、データが消えない(永続化)、さまざまなデータ型を持っていて用途によって使い分けられる、データ操作がアトミック、など、Redis には魅力的な特徴があります。 今回は Redis を使ってちょっとしたランキング機能を実装してみる話でも書いてみます。 Redisの環境準備 まずは Redis をインストールします。Mac だったら homebrew を使うと良いでしょう。 $ brew update $ brew install redis Redis の起動自体は非常に簡単で、このコマンドを実行するだけです。 redis-serv
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く