タグ

ブックマーク / blog.livedoor.jp/sasata299 (46)

  • Mroongaの導入事例を話してきました #groonga - (゚∀゚)o彡 sasata299's blog

    2015年11月29日15:31 勉強会 MySQL Mroongaの導入事例を話してきました #groonga もうすっかり冬ですね。 良い肉の日(11/29)に開催された Groonga Meatup でMroongaの導入事例を話してきました。 全然詳しくないんですが、発表するといろいろ教えてもらえて良いですね! :) ツイート 「勉強会」カテゴリの最新記事 「MySQL」カテゴリの最新記事

    Mroongaの導入事例を話してきました #groonga - (゚∀゚)o彡 sasata299's blog
    kamipo
    kamipo 2015/11/29
    utf8mb4_unicode_ci...
  • Railsでindex_byを使ってハッシュ形式のデータを受け取る - (゚∀゚)o彡 sasata299's blog

    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 に追

    kamipo
    kamipo 2015/09/14
  • Ansibleを使って誰でも簡単安全にサーバ構築できる仕組みを作る - (゚∀゚)o彡 sasata299's blog

    2014年08月04日11:11 インフラ Ansibleを使って誰でも簡単安全にサーバ構築できる仕組みを作る Ansible って何なの? サーバに対してミドルウェアのインストールや設定等の環境構築を行うことをプロビジョニングと言いますが、その作業を自動化させるためのツールです。プロビジョニングを手動で行うと、手間も掛かるし、どうしてもミスが起こりえます。 その点、Ansible のようなツールを使えば、コマンド一発でプロビジョニングが走り、さらに冪等性(何度実行しても同じ結果になる)も確保されるため、誰でも簡単安全にサーバ構築が出来るのです。 同様のことを行うツールとして、Chef や Puppet がありますが、Ansible はそれらの中でもシンプルなことが特徴です。Chef は以前使ってみようと思い触ってみたのですが、覚えることが多かったりして挫折してしまった。。Ansible

    Ansibleを使って誰でも簡単安全にサーバ構築できる仕組みを作る - (゚∀゚)o彡 sasata299's blog
    kamipo
    kamipo 2014/08/20
  • 株式会社Lang-8を退職しました - (゚∀゚)o彡 sasata299's blog

    2014年06月14日11:05 その他 株式会社Lang-8を退職しました 報告が遅くなってしまいましたが、5月末でLang-8を退職しました。細かい話は省略しますが、気になる方は飲みの席ででも聞いてください :) ドベンチャーな環境もそうだし、添削率を改善することが出来たり、iOSアプリを開発することが出来たりといろいろな経験ができたのでほんとに良かったです!! iOSアプリに関してはいろいろとハマったこととか書きたいけどいつになることやら。。 次はまだ未定ですが、今後ともどうぞよろしくお願いします! ツイート 「その他」カテゴリの最新記事

    株式会社Lang-8を退職しました - (゚∀゚)o彡 sasata299's blog
    kamipo
    kamipo 2014/06/14
    おつカレーさまでした!
  • 「KARAAGEファーストガイド」を執筆しました - (゚∀゚)o彡 sasata299's blog

    2014年04月01日10:50 その他 執筆 「KARAAGEファーストガイド」を執筆しました 今日も良い天気ですね。みなさまいかがお過ごしでしょうか。 今日はひとつご報告があります。 拙著として、「NoSQLデータベースファーストガイド」ならびに「Hadoopファーストガイド」を執筆させていただいておりましたが、この度めでたくシリーズ最新作「KARAAGEファーストガイド」を執筆し、発売することとなりました!からあげエンジニアを名乗り続けて数年、こんな日が来るなんて夢のようです。 内容ですが、このような内容となっております。ぜひAmazonやお近くの書店でお買い求めいただければ幸いです。 - 美味しいからあげを作るための7つの方法 - からあげなのか?竜田揚げなのか? - 店でべるからあげと、家で揚げるからあげの違いとは - からあげをべると痩せる!? ツイート 「その他」カテゴリ

    「KARAAGEファーストガイド」を執筆しました - (゚∀゚)o彡 sasata299's blog
    kamipo
    kamipo 2014/04/01
  • pt-online-schema-changeを利用して無停止でスキーマ変更 - (゚∀゚)o彡 sasata299's blog

    2013年12月24日10:39 MySQL pt-online-schema-changeを利用して無停止でスキーマ変更 この記事は MySQL Casual Advent Calender 2013 の24日目です。 世間ではクリス○ス・イブですが、箱根駅伝が待ち遠しいですね!!今年はどの大学が優勝するのでしょうか!?シード権争いも見逃せませんっ!!━ヽ(・∀・)ノ━(∀・ノ)━(・ノ )━ヽ( )ノ━( ヽ・)━(ヽ・∀)━ヽ(・∀・)ノ━ 、、さて、今回は pt-online-schema-change を使ってみた話です。どうしてこれを使うことになったの経緯は以下をご覧ください。 - MySQLでカラムやインデックスの追加、削除をするときのロックの話など - 昨日の流れ - Togetterまとめ pt-online-schema-change を使うと何が嬉しいのか pt-on

    pt-online-schema-changeを利用して無停止でスキーマ変更 - (゚∀゚)o彡 sasata299's blog
    kamipo
    kamipo 2013/12/24
    文句なし(パーフェクト) 外れるなんてありえない…!
  • MySQLでカラムやインデックスの追加、削除をするときのロックの話など - (゚∀゚)o彡 sasata299's blog

    2013年12月12日14:03 MySQL MySQLでカラムやインデックスの追加、削除をするときのロックの話など すっかり2013年も終わりに近づいてきましたね。さて、今回はMySQLでカラムやインデックスの追加、削除をするときに知っておいた方がいいかなーと思った注意点の話です。 カラムやインデックスの追加、削除を行う際にはテーブルが共有ロックされる まず、カラムやインデックスの追加、削除といったいわゆる ALTER TABLE に相当する処理を行うとテーブルが共有ロック(読み込みのみ受け付け、更新処理は受け付けないというロック)されるという話です。 この辺の話は @nippondanji さんが詳しく書かれています。 漢(オトコ)のコンピュータ道: ALTER TABLEを上手に使いこなそう。 1. テーブルをTL_WRITE_ALLOW_READロックする。このロックは特殊なロック

    kamipo
    kamipo 2013/12/12
    pt-online-schema-change RT @hirose31: MHAでおk RT @sasata299: ブログ書いたー / MySQLでカラムやインデックスの追加、削除をするときのロックの話など
  • 今、AngularJSというフレームワークがヤバい - (゚∀゚)o彡 sasata299's blog

    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文字目を表

    kamipo
    kamipo 2013/11/08
  • fogを使ってスポットインスタンスを簡単に起動/終了する - (゚∀゚)o彡 sasata299's blog

    2013年05月28日17:52 fogを使ってスポットインスタンスを簡単に起動/終了する 最近ちょくちょくスポットインスタンスを利用するんですが、いちいちブラウザ立ち上げてぽちぽちやったりするのはめんどくさいです。また、AMIを指定してスポットリクエスト投げてるんですが、このAMIをちょくちょく変更してたので、それを都度確認するのが手間だったり。 というわけで、スポットインスタンスを楽に起動したり終了したりできるようなちょっとしたスクリプトを fog を使って書いてみました。これ、いろんなクラウドサービスに対応していて、AWSはその内の1つという感じみたいですね。こんなこと書かれてた。 fog is the Ruby cloud services library, top to bottom インスタンスの起動/終了はよく載ってるんですけどスポットインスタンスに関しての情報はあんまり無い

    kamipo
    kamipo 2013/05/28
  • 実際のサイト上で動作するチュートリアルが簡単に作れるIntro.jsが便利すぎる件 - (゚∀゚)o彡 sasata299's blog

    2013年05月08日18:21 JavaScript 実際のサイト上で動作するチュートリアルが簡単に作れるIntro.jsが便利すぎる件 さて、先日簡単なチュートリアル作ろうと思ったんですが、どうやるのが良いのかなーと思って悩んでました。キャプチャ取ってそこに説明文を書いて…ってしてもいいんですけど、キャプチャだと一部分なのでサイト上のどの辺なのかわかりにくかったり、サイト側は変更したのにキャプチャが古いままとかになったりしちゃいますよね>< とか思って探してみたらこちらの Intro.js が便利だったので紹介してみます。 さて、この Intro.js を使うとですね、サイト上で動作するチュートリアルを簡単に作れるんですよ。使い方も簡単で、動作させたい要素に対して data-intro (表示する説明文) と data-step (チュートリアルの何番目に表示するか) を指定します。チ

    kamipo
    kamipo 2013/05/08
  • Redisでランキング機能を実装してみる - (゚∀゚)o彡 sasata299's blog

    2013年04月24日13:26 NoSQL Ruby Redisでランキング機能を実装してみる Redis を触ってると楽しくてニヤニヤしてしまう今日この頃です、こんにちは。 読み書きのパフォーマンス的には memcached とよく似てる感じかなーと思いますが、データが消えない(永続化)、さまざまなデータ型を持っていて用途によって使い分けられる、データ操作がアトミック、など、Redis には魅力的な特徴があります。 今回は Redis を使ってちょっとしたランキング機能を実装してみる話でも書いてみます。 Redisの環境準備 まずは Redis をインストールします。Mac だったら homebrew を使うと良いでしょう。 $ brew update $ brew install redis Redis の起動自体は非常に簡単で、このコマンドを実行するだけです。 redis-serv

    kamipo
    kamipo 2013/04/24
  • 相互添削型SNSのLang-8にJoinします - (゚∀゚)o彡 sasata299's blog

    2013年02月19日11:11 その他 相互添削型SNSのLang-8にJoinします こんにちわ。さて、以前の記事でクックパッド退職することは発表しましたが、次に何をするのかは言っていませんでした。そろそろ発表したいと思います。次は、 相互添削型SNSのLang-8 にJoinします!! Lang-8ってどんなサイトなの? 相互添削型SNSで、、といってもよくわからないと思うので具体的に説明します。 例えば僕たちが英語を書くと、英語がネイティブな人(例えばアメリカの人)がそれを添削してくれます。その代わりに、アメリカ中国の人が書いた日語を日語がネイティブな僕たち日人が添削してあげるという相互添削型のSNSです。添削を通じてまったく見ず知らずの海外の人と友達になることも日常的にあったりして感動します。 語学の学習に関してはもちろん座学は重要ですが、アウトプットしてフィードバック

  • クックパッド株式会社を卒業します - (゚∀゚)o彡 sasata299's blog

    2013年01月31日18:37 その他 クックパッド株式会社を卒業します 私事ですが、このたびクックパッド株式会社を退職することになりました。 有給消化の関係でまだしばらく所属はしていますが、日1/31が最終出社日です。2009年の8月に入社したので、約3年半お世話になったことになります。ついこの間JOINした気がするのに早いものですね。 短い間でしたが、クックパッドの素晴らしい環境と素晴らしい仲間に恵まれて当に幸運でした。美味しいご飯もべられるし。僕の人生の中で、クックパッドJOINすることに決めたのはかなり上位にい込む素晴らしい決断だったと思います! やってきたこと せっかくなので振り返ってみます。クックパッドでは以下のようなことをやってきました。 ・HadoopやEMRを利用した大規模データ分析クックパッドという巨大なサイトへの機能追加、改善 ・新規事業へのチャレンジ

    kamipo
    kamipo 2013/02/01
    おつカレーさまでした!
  • respond_withメソッドを使うと処理をDRYに記述できる - (゚∀゚)o彡 sasata299's blog

    2012年05月07日11:49 Ruby respond_withメソッドを使うと処理をDRYに記述できる Rails には respond_to というメソッドがあり、これを使うと同じリソースに対して複数のフォーマットでレスポンスを返す処理を簡単に書けます。例えば users_controller.rb で以下のように定義すれば、/users でも /users.xml でもひとつのアクションで処理することが可能です。 def index respond_to do |format| format.html # index.html.haml format.xml { render :xml => @users } end end さらに、Rails3.0 からは respond_with というメソッドが追加されました。これを使うと処理をさらにすっきりと書くことが可能になります。 c

    kamipo
    kamipo 2012/12/31
  • MySQLでDateTime型のカラムをDate型で検索するときに気をつけること - (゚∀゚)o彡 sasata299's blog

    2012年12月03日16:20 MySQL MySQLでDateTime型のカラムをDate型で検索するときに気をつけること 例えばこんなテーブルがあったとして、 DESC products; +---------------+--------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +---------------+--------------+------+-----+---------+----------------+ | id | int(11) | NO | PRI | NULL | auto_increment | | name | varchar(255) | NO | MUL | NULL | | | created_at

    kamipo
    kamipo 2012/12/06
  • グラフ描くならMorris.jsがお手軽で良いかも - (゚∀゚)o彡 sasata299's blog

    2012年11月16日13:55 JavaScript Ruby グラフ描くならMorris.jsがお手軽で良いかも こんにちわ。寒くなってきましたがみなさまお元気ですか? さて、先日ちょっとしたグラフを描画したかったんですよ。それでなにか使いやすいライブラリ無いかなーと思っていたら railscast (revisedなので有料です) で Morris.js ってjQueryプラグインが紹介されてて良さげだったので使ってみました。google analytics みたいなツールチップも出してくれます。 使い方はとっても簡単です。 まず、jQuery (>=1.7) と Raphael (>=2.0) が必要です。あとは Morris.js があれば動作します。 これらを app/assets/javascripts/application.js に設定してください。この記事執筆時点での

    kamipo
    kamipo 2012/11/16
  • Railsでカラムの値を更新するのは "update_attribute", "update_attributes", それとも "update_attributes!" - (゚∀゚)o彡 sasata299's blog

    2010年09月13日22:57 Ruby Railsでカラムの値を更新するのは "update_attribute", "update_attributes", それとも "update_attributes!" さ。というわけで、この3つのメソッドが良く似てて、「たまに使おうと思ったらどれ使ったらいいかわかんない(覚えてない)んですけどー」という話です。 まぁ、忘れたときのためにここにまとめておきましょう!3つとも lib/active_record/persistence.rb にメソッドが定義されていました。(Rails 3.0 の場合) 1) update_attribute メソッド def update_attribute(name, value) name = name.to_s raise ActiveRecordError, "#{name} is marked as

    kamipo
    kamipo 2012/10/19
  • 「Hadoopファーストガイド」を執筆しました - (゚∀゚)o彡 sasata299's blog

    2012年09月21日19:23 Hadoop 執筆 「Hadoopファーストガイド」を執筆しました あれから1年半の月日が流れました。なんかあっという間でしたね。。 「NoSQLデータベースファーストガイド」を執筆しました そ、そしてなんと!! 2冊目の執筆が終わりました!!!1 その名も「Hadoopファーストガイド」です。ででーん。 ファーストガイドシリーズです ( ー`дー´)キリッ 前回のと並べるとそっくりですねw ファーストガイドなのでHadoopの名前は知っているけど使ったことないな〜くらいのエンジニアが対象です。普段からがしがしHadoopを使ってる人が見ても面白くないと思いますw こんな感じ。書では基的にAWSEMR(Elastic Map Reduce)を利用してます。 近年、データサイズは増加傾向にあり、Webサイトを運営しているエンジニアプログラマーにとって

    kamipo
    kamipo 2012/09/21
    ありがとうございます!! RT @sasata299: 【拡散希望】 「Hadoopファーストガイド」を執筆しました - (゚∀゚)o彡 sasata299's blog
  • Railsのlink_toメソッドでhttpsにリンクするときにonly_pathの指定を忘れたらそこで試合終了ですよ - (゚∀゚)o彡 sasata299's blog

    2009年12月07日00:13 Ruby Railsのlink_toメソッドでhttpsにリンクするときにonly_pathの指定を忘れたらそこで試合終了ですよ Railsを使ってWebサイトを開発するときに、http から https に、https から http へと遷移させたい、ということってあるかと思います。これってどうやるのかな〜と思って調べてみたのですが、どうも protocol オプションで指定してあげれば良いようです。こんな風にしてみました。 <%= link_to 'クリック', :controller => 'hoge', :action => 'fuga', :protocol => 'https://' %> ですがこれだとうまくいきません。。 ー-ニ _  _ヾV, --、丶、 し-、 ニ-‐'' // ヾソ 、 !ヽ  `ヽ ヽ _/,.イ / /ミ;j〃゙

    kamipo
    kamipo 2012/06/05
  • まだ使っていない人にこれだけは伝えたいgitの便利機能 - (゚∀゚)o彡 sasata299's blog

    2010年12月26日11:03 Git まだ使っていない人にこれだけは伝えたいgitの便利機能 ということで、今更ですけど git は便利ですね〜。もう subversion には戻れません。気が向いたので、個人的に気に入っていることをちょっと書いてみます。 1) 直前のコミットに対して、コミットし忘れたものを追加できる よくありがちなパターンですね。一通りコミットしたあとに「あっ!○○をコミットし忘れた!」とか、「××を一カ所修正し忘れていた」みたいなことってあると思います。subversion だとそういうのでコミットが増えて履歴が汚くなってしまうものですが、git だと簡単に直前のコミットに忘れてたものを追加して隠蔽(笑)することが可能です。 例えば hoge というファイルをコミットし忘れた場合を考えてみます。 $ touch hoge fuga foo $ git add fu

    kamipo
    kamipo 2012/05/22