タグ

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

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

  • 階層の深いHashを作成するときに知っておいたら便利なこと - (゚∀゚)o彡 sasata299's blog

    2009年11月10日23:49 Ruby 階層の深いHashを作成するときに知っておいたら便利なこと Ruby で階層の深いハッシュ(ハッシュの値がさらにハッシュとか)を作成するのって面倒です。何が面倒って毎回宣言しないといけないんですよー。まぁ他の言語やってた人なら当たり前なのかもしれませんが、Perl 出身の僕としては大変メンドクサイわけです。 例えばこのようなデータ構造を考えてみます。 #!/usr/bin/ruby hash = {} hash["hoge"] = 1 p hash # {"hoge"=>1} hash["foo"]["bar"] = 1 p hash # undefined method `[]=' for nil:NilClass (NoMethodError) 最初に hash = {} と宣言しているので hash["hoge"] = 1 の部分は問題なく

  • 迷ったら難しい方を選ぶということ - (゚∀゚)o彡 sasata299's blog

    2013年10月02日11:39 意識高い 迷ったら難しい方を選ぶということ 最近考えていることなのですがちょっと書いてみます。意識高い系です。 例えば、「どう使うんだろ??」とユーザが迷うようなページがあったときにどう解決するか。説明を追加したり、チュートリアルを入れたりといった方法もあれば、UIUXといった見せ方を工夫することで解決するような方法もあると思います。 こういうときに最近考えているのが、複数の方法があって迷う場合、まず難しい方法にチャレンジする ということ。もちろん面倒なので楽な方がいいんですが、より難しい方法で問題が解決できると余計な情報を追加する必要も無いし、サイト全体が驚くほどすっきりして「どうして今までこうじゃなかったんだ」と腹落ちすることが多いです。また、難しい方法は質的な解決策であることも多いように感じます。実装などの困難さを考えずにどちらがユーザにとって良

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

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

  • 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

  • 相互添削型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です。添削を通じてまったく見ず知らずの海外の人と友達になることも日常的にあったりして感動します。 語学の学習に関してはもちろん座学は重要ですが、アウトプットしてフィードバック

  • 「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サイトを運営しているエンジニアプログラマーにとって

  • ネットで知ってるあの人とリアルで会える!? つながり短冊をリリースしました - (゚∀゚)o彡 sasata299's blog

    2011年09月20日21:36 Facebook Ruby ネットで知ってるあの人とリアルで会える!? つながり短冊をリリースしました 急に寒くなってきましたが、みなさまいかがお過ごしでしょうか。さてさて、いきなりですが先日 つながり短冊 というfacebookアプリをリリースしました! なぜ作ろうと思ったのか 忘れもしない、あれは7月の暑い日のことでした…。あれ、8月だっけ?まぁ細かいことは良いではないですか。 練馬で RubyKaigi2011 (FinalRubyKaigi) という Ruby のイベントが行われていたんです。で、僕も参加してたんですよ。もちろんセッションも聞いてたんですけど、それ以外にもロビーみたいなところで他の参加者の人と話したり、ジュンク堂書店の出張所のところで「買ってください><」とかやって(販促活動)たりしてました。 そういうときにたいやき部の部長でもある

  • 仙台に行って美味しいプリンを食べてきました - (゚∀゚)o彡 sasata299's blog

    2010年11月16日01:12 勉強会 仙台に行って美味しいプリンをべてきました 先日、仙台の東北大学で開催された『第5回東北情報セキュリティ勉強会』にて、NoSQL についてお話させていただきました。そうそう、なんか色んなイベントと重なってしまったらしく、当日乗ったバスがものすごい混みっぷりでした>< さすがにここまではいかないけど・・(笑)。当日使用したスライドはこちらです〜 NoSQLデータベースが登場した背景と特徴View more presentations from Tatsuya Sasaki. 当日はプレゼンだけではなく、参加者全員で自己紹介をしたり、グループに分かれてグループディスカッションしたり。僕は各グループを回らせてもらえたので、今まで経験したことがないくらい参加者の方と交流を持つことが出来て、色んな話を聞くことが出来ました。 あ、東北情報セキュリティ勉強会はお

  • Hadoopを使うメリットを2つ挙げてみる - (゚∀゚)o彡 sasata299's blog

    2010年09月29日19:34 Hadoop Hadoopを使うメリットを2つ挙げてみる 最近では、Hadoop を使ってるよー、という声もちらほら聞こえてきました。しかし、名前ばかりが先行していて、「一体何が凄いのかよくわからない」、「Hadoop を使うと何が嬉しいの?」という人も多いのではないでしょうか。そこで Hadoop を使うメリットとは一体なんなのかを改めて書いてみようかと思います。 Hadoop を使うメリット、僕は2つあると思っています。 (1) たくさんのサーバを使って分散処理できる これは多分ほとんどの方がご存知なのではないでしょうか?というかこれぞまさに Hadoop を使うメリットでしょ?って感じですね。大規模なデータを扱う際に、1台ではなく10台とか20台とか使えばそりゃあ早くなるよねって話です :-D とは言っても Hadoop 登場以前は、特定のサーバが壊

  • Catalystでオートログイン機能の実装 - (゚∀゚)o彡 sasata299's blog

    2009年06月05日06:06 Perl Catalystでオートログイン機能の実装 【追記ここから】 vkgtaroさんのコメントで教えていただいたURLを参考に MyApp::Plugin::Session.pm と読込み順番を修正しました。ありがとうございます!!というか、MyApp::Plugin::Session.pm は hidek さんのコードが素晴らしすぎて、最終的にほぼ同じになってしまいました(汗 ※一部変更しました(09/06/08) coderepos に同じような plugin があるよ http://coderepos.org/share/browser/lang/perl/Catalyst-Plugin-Session-DynamicExpiry-Cookie/trunk 【追記ここまで】 先日、Catalystで作ったWebアプリケーションで、オートログイン

  • Catalyst::View::Templatedを試してみた - (゚∀゚)o彡 sasata299's blog

    2008年06月29日23:56 Perl Catalyst::View::Templatedを試してみた 最近、Catalyst周りでも色んな話を聞きますね。Model = DBじゃないよ、とかCatalyst::Pluginを乱用するな、とか。(`・ω・´) そこで、「久々にCatalystで何か作ってみるか!」っと思った矢先、Catalyst::View::Templatedというモジュールの存在を知ったので、早速試してみることに。 今まであまり気にせずに $c->stash->{template} = 'hoge.tt'; と書いていましたが、stashのキー(この場合はtemplate)はグローバル変数として扱われるから良くないとのこと。ファイルハンドルの話も最近あったし、最近は「グローバル変数かっこ悪い」っていう流れなんですね。 で、Catalyst::View::Templa

  • 最近のCatalystアプリケーションの構成 - (゚∀゚)o彡 sasata299's blog

    2009年06月15日06:54 Perl 最近のCatalystアプリケーションの構成 最近のCatalystアプリケーションの構成はこんな感じっていうのがある程度固まってきたので公開してみます。 Role が使いたくて Moose も取り入れたりしてます。.。゚+.(・∀・)゚+.゚ MyApp |-- bin | |-- cron | `-- script |-- conf |-- lib | |-- MyApp | | |-- Controller | | |-- Logic # そのクラスだけのロジックはここ | | |-- LogicBase.pm # CRUD操作はここ | | |-- Model | | |-- Plugin # オレオレプラグインはここ(屮゚Д゚)屮 | | |-- Role # 共通して使えるロジックはここ | | |-- Schema | | `--

  • 1