タグ

ブックマーク / blog.masuidrive.jp (26)

  • Ajaxを劇的に簡単にするReact.js

    ここ数年、Javascript界隈でフレームワーク戦争が勃発してきました。クライアント開発の規模も年々大きくなり、jQueryだけでは複雑な画面遷移などを管理しきれなくなってきたのが原因だと思います。 私も昨年までAngularとbackboneを試しましたが、サーバサイドをMVCにしているのに、クライアントでもMVCを作るMVCの2階建ては、やり過ぎなのではないかと思っていました。フレームワークそのもの覚えるまでにも一苦労というのも面倒に感じました。 2014年、海外でブームに火が付いたReact.js そんな中、2014年の後半からFacebook発のReact.jsの採用事例が聞こえてくるようになりました。AirBnBや米Yahoo! Mailなど大手がReact.jsを積極的に採用し出したので気になり、年末年始を使って色々調べてみることにしました。 Rails以来の衝撃 色々試して

    Ajaxを劇的に簡単にするReact.js
    nettabo
    nettabo 2015/03/04
    "React.jsでは、サーバサイド生成と同じ流れをクライアント側で行います。" なるほどそういう思想なのか。
  • 組織も人も最適化の果てにあるのは緩やかな死

    なんか会社のチャットネタが続きますが、先月、会社のチャットでマクドナルドの衰退と吉野家のリンクから最適化の話しになり、「もしトレタが最適化しすぎると、どういう風に発展の妨げになるんでしょう」って話しが出てちょっと面白かったのでブログにまとめて見ることにしました。 私がアプリ開発で一番怖いと思うのは、既存ユーザへの最適化です。 既存ユーザはある程度使いこなした上で「あの機能が欲しい」と要望を出してきます。確かにその機能があると便利ですし、他のユーザでも喜ぶ人が大勢います。 実際、その機能実装すると多くのユーザが便利になり満足度があがります。画面にボタンは増えましたが使わないユーザが不便に思うほどではありません。 誰も困らないし、この機能追加はとても正しいことに見えます。 でもその機能があることで、初めて触るユーザはどう感じるでしょうか?画面にボタンが多いほど、マニュアルが厚いほど初めてのユー

    組織も人も最適化の果てにあるのは緩やかな死
    nettabo
    nettabo 2014/11/07
  • チャットで勤怠管理する「みやもとさん」をリリースしました

    トレタで使っている、チャットで勤怠管理する「みやもとさん」をオープンソースでリリースしました。 https://github.com/masuidrive/miyamoto Slackの#timesheetsという部屋で、「おはようございます」と書き込みと出勤が記録され、「お疲れまでした」と書き込むことで退勤となります。「明日はお休みさせて頂きます」と書き込むと、休暇の届け出になります。 チャットで勤怠管理する最大のメリットは、オフィスに居なくても誰がいつ出勤・退勤したのか全員が分かることにあります。出退勤管理アプリは色々出ていますが、営業で直行直帰する人や、リモートワーカーなどは、帰った時間がリアルタイムでわかりにくいという欠点があります。 「みやもとさん」では、チャットでやりとりする事でみんなの見える形で出退勤が記録され「あ、帰る前にあれも!」など、ありがちなコミュニケーションがスムー

    チャットで勤怠管理する「みやもとさん」をリリースしました
    nettabo
    nettabo 2014/10/20
  • デブサミ2014で「エンジニアだからできる自由な生き方」の話をしてきました。

    昨年の後半から、「エンジニアとしての生き方」のような話をする事があり、ずっと継続して考えてきました。 先日も「一生、エンジニアであり続けるために必要なこと(レポート)」という講演をしたのですが、実はその時点でもまだ自分で分からない部分がありました。 自分が「自由に生きたい」と思っている事は分かっていたのですが、「なぜ自由でいたいのか」という説明がうまくできなかったのです。自由は手段であり、得た自由を使って何をしたいのか、それが説明できませんでした。 漠然とは感じるんだけど、説明できないもどかしさをずっと感じていたのですが、デブサミの数日前、こんなツイートを見つけてやっと自分で納得できました。 @ukedchat @gapingvoid There’s one more image to this that you’re missing… creativity. @ElsiumEd pic.

    nettabo
    nettabo 2014/02/20
  • プログラミングで使う記号の英語の読み方 [Updated]

    “[ ]”などを個別に読む場合はleft/open bracket, right/close bracketと読んでください。 “<“はless than、”>”はgreater thanとも読みます。 Dave Thomasは”<<“を”less than, less than”と読んでいました。 “-“がdashなのかminusという話しについては、The difference between a dash and a minus signを参考にしてください。 あまり、この読み方はしないよ!とか、私はこう読むよ!とかあれば、@masuidriveまでmentionください。 [2013/11/21 14:00:00] 色々な方々にコメントを頂き追加しました。 速く・正確に読む ITエンジニア英語 ITエンジニアの ゼロから始める 英語勉強法

    nettabo
    nettabo 2013/11/21
  • iOSの標準Mailアプリにツールバーを追加しているLinkedIn Introはどうやって実現しているのか – @masuidrive blog

    LinkedInが日、iOSの標準MailアプリでLinkedInのプロフィールを見ることのできる「LinkedIn Intro」というサービスをリリースしました。 このサービスを導入すると、メールの中で送信者の情報をインラインで見ることができます。 iOSにはメールアプリが沢山ありますが、このサービスの特徴は既存のアプリにLinkedInの機能を追加しているところが特徴的です。 通常、iOSでは「機能拡張」みたいな物を作る事はできないのですが、これはどうやって実現しているのでしょうか? LinkedIn社のブログ「LinkedIn Intro: Doing the Impossible on iOS」でどのように実現しているのか、解説しています。 仕組みとしては、IMAPプロキシを作り、メールの文にツールバーのHTMLを差し込んでいるそうです。 サーバ側でメッセージのキャッシュなどは

    iOSの標準Mailアプリにツールバーを追加しているLinkedIn Introはどうやって実現しているのか – @masuidrive blog
    nettabo
    nettabo 2013/10/28
  • WordPressをStaticPress+Amazon S3+Vagrantでセキュリティ万全にする方法 [前編] - @masuidrive blog

    最近、大規模なWordPressのサイトの乗っ取りが発生しました。今回の原因はWordPressではなくサーバの設定に問題があったようですが、LAMPサーバの設定を正しく行うのは難しいですし、ApacheやPHPWordPressのバージョンアップをきちんと行っていくのは、結構大変です。 自分でサーバを運用していて、セキュリティ対策をきちんとしていると言える人は、実はあまり多くないのでは無いでしょうか?プラグインなどを複数導入している場合には、それらのプラグインのセキュリティ対策を行うのはかなり難しいといえます。 そんな中、高セキュリティ環境でWordPressを運用する方法はないのか考えてみました。それにはサーバ上でアプリを動かさないのが一番では無いでしょうか? 私のブログであれば、Voteなど動的な機能は使っていないので、WordPressのデータから静的なHTMLを生成して、Ama

    WordPressをStaticPress+Amazon S3+Vagrantでセキュリティ万全にする方法 [前編] - @masuidrive blog
    nettabo
    nettabo 2013/09/16
  • 新会社で一緒に働いてくれるエンジニアを探しています

    7月に設立した株式会社トレタでは、フルタイムのRuby on Railsエンジニアを募集しています。株式会社トレタの設立趣旨は、代表の中村の書いたブログを読んでいただけるとご理解いただけるかと思います。 私はそのトレタで、CTOという立場でバリバリとコードを書いています。(ミイルを運営するFrogAppsとは兼任となっています) トレタでは、iPadを用いたB2Bのサービスを構築中です。このサービスのサーバサイドのコードを一緒に書いてくれるノリの合うメンバーを募集しています。 (Rubyの経験 && (GitHubで一つ以上のrepoを公開(Rubyで無くても可) || 技術系ブログを書いている))で、Railsを使っているけどもっとステップアップしたい!という方や、masuidriveとバリバリコード書いていこうぜ!と思ってくれる方の応募をお待ちしてます。 「風呂でも仕事をしてくれ」とは

    新会社で一緒に働いてくれるエンジニアを探しています
    nettabo
    nettabo 2013/08/13
  • プロにwri.peのデザインの駄目出しをしてもらう

    wri.peのデザインは自分で作ったのですが、デザインのプロから見ると直すところは多々あるんじゃないかと思って、ミイルを一緒に作ったフォーユーの金田さんにデザインの駄目出しをしてもらいました。 まず第一に指摘されたのは、ターゲットユーザをどこに定めるかという話。エンジニアなどをターゲットにするか、一般ユーザをターゲットにするか。 wri.peは「自分用ツール」が起点なので、エンジニアなどPCやテキストに慣れている人をメインターゲットにして行こうと思っています。それであれば基的なデザインはこの方向で良いとの事でした。 もっと間口を広くして多くのユーザに使ってもらいたい場合は、UIをがらりと変える必要があるとの事。いまのUIはなるべくシンプルにして、エンジニアなどに深く刺さることを目的にしているので、wri.peはこのUIのままで行こうと思っています。 ただトップページでは、アプリの紹介とか

    プロにwri.peのデザインの駄目出しをしてもらう
    nettabo
    nettabo 2013/07/31
  • 今の技術でシンプルなガラケー再構築したら面白いかな?

    ドコモはツートップ以外売る気がないとか、Tizenヤバイとかいう話しが出ているけど、ガラケー層は一定数いるんだから、いまの技術でシンプルなガラケーを再構築して出したら面白いんじゃないかなぁ。 ストレートタイプ 2.5インチカラー液晶 Bluetoothによるテザリング 200万画素(1600×1200)程度のカメラ 明るさ重視 シンプルなUI Compact HTML+Javascriptなブラウザ Webサービスでも使えるPush機能 ワンセグ・GPS・タッチパネルは無し いまのCPUは速いから、レスポンスは相当良いはず。 回線速度も今は速いから、2.5インチぐらいの画面なら、CompactHTML+Javascriptでアプリっぽいモノを作っても、そこそこ動く気がするし。 筐体は標準のモノもあるけど、3Dデータが公開されていて外部のメーカーが自由に販売できたり、気合いのある人は3Dプリ

    今の技術でシンプルなガラケー再構築したら面白いかな?
    nettabo
    nettabo 2013/07/09
  • 緯度経度を文字列で表すGeoHash - @masuidrive blog

    なんか世間的に位置情報アプリが流行ってるらしいし、Google App Engine(GAE)も楽しそう。どうせだから、GAEでなんか位置情報アプリでも作ってみよう!と思ってTwitterに書き込んだところ、Geohashという、位置情報のプロトコル?を教えてもらいました。 これは、その名の通り、位置情報をハッシュで表す規格なのですが、いろいろおもしろい特徴があり、調べているうちに楽しくなってきたので、勢い余ってPure Rubyのライブラリまで書いちゃいました。 そのあと、結局ライブラリを作ったところで満足して、アプリは何も作らなかったので、せめてGeohashの解説でも書いておこうと思います。 位置情報は通常、緯度経度で表します。たとえば東京タワーの緯度経度は35.65861, 139.745447です。 北を上にした地図でいうと、緯度がY座標で経度がX座標です。英語では緯度をlati

    nettabo
    nettabo 2010/03/14
    位置情報を点じゃなくグリッドで表すGeohashのrubyライブラリ。グリッドってのが面白い。
  • masuidrive on rails - RailsアプリをチューニングするならNew Relic RPM

    Photo by Riverman72 あとで自分メモを書こうと思うけど、先に一言。 37signalsも使っているといううたい文句に惹かれて試してみた、Railsのパフォーマンス記録ツール/サービスNew Relic RPM(Rails Performance Management)が、すばらしい。 RPMは開発時用のDeveloperと、実機用のProductionのが二つあり、まだ開発時用のDeveloperモードしか試してはいないんだけど、専用の管理画面で、アクションを実行時のメソッド単位の実行時間、生成されるSQLSQLの実行時間やインデックスの利用状況などが非常に簡単に把握できます。 Railsで開発している人なら、下のムービーを見れば、そのすごさが分かるはず。 RPM developerのデモ動画 | RPM production のデモ動画 いまこれを使って、PhotoS

    nettabo
    nettabo 2008/07/20
    パフォチューのお供に。
  • mod_rails用のdeploy.rbとapache用設定ファイルジェネレータ

    Railsで一番めんどくさかったアプリの公開を、Apache httpdが動いているサーバに、普通にアップロードするだけで行える様にするモジュール、mod_railsがリリースされました。 いままで似たようなものにmod_rubyがあったのですが、ずっとメンテナンスされていない上に、構造的にRailsには向かないようになっていたので、Phusion社が新しく作ったものです。 日語での紹介はmoongiftさんの記事をご覧ください。インストール方法や使い方は、こちらの記事を参考にしてください。 このモジュールの評価が高まれば、レンタルサーバでもRailsサポートをしてくれる所が増えるんじゃないかと期待してます。 早速、自分のサーバ(EC2)に入れてみた所、特に問題もなくあっさり動きました。 ただ、Capistranoを使っている場合、mongrelの時のままだと、サーバの起動などで失敗する

    nettabo
    nettabo 2008/07/16
    これは便利そう。
  • Capistranoでmigrationsする前に自動でバックアップ

    Photo by mondopiccolo Capistranoではdeployしても、前のソースが残っているために、すぐに前のバージョンに戻せますが、データベースはそうはいきません。 そこで、deploy:migrationsを実行する前に自動でDBのバックアップを取るようなタスクを探してみました。 MySQL専用ですが、これでローカルのbackupsというディレクトリに、migration実行前のダンプがダウンロードされます。 require 'yaml' desc "Backup the remote production database" task :backup, :roles => :db, :only => { :primary => true } do filename = "#{application}.dump.#{Time.now.to_i}.sql.bz2" fi

    Capistranoでmigrationsする前に自動でバックアップ
    nettabo
    nettabo 2008/07/16
    これは便利そう。
  • HyperEstraierで個人データを検索する[まだ調べ中]

    mixiでも使われているって言う全文検索エンジンHyperEstraier。mixiの膨大な件数を処理するぐらいだから相当スケーラビリティもあるだろなーとおもいつつ、SQLだけで全文検索できちゃうMySQL+Sennaが便利なんで、そっちばっかり使ってました。 MySQL+Senna(Triton)も、PostgreSQL+Senna(Ludia)も、属性付きで検索した場合、Sennaで全文検索してから、その答えをSQLで絞り込みを行っているようで、たとえば、個人のメッセージを保存しているテーブルを検索した場合など、属性の値が多い場合には、かなり効率が悪くなる事が見えてました。 当は、メッセージみたいなものは、個人ごとにインデックスをもって処理するべきなんだろうなと思っていて、SennaでやるかHyperEstraierでやるか迷いつつ、ぐぐっていたところ、HyperEstraierがど

    nettabo
    nettabo 2007/12/04
    大規模の場合、SennaよりHyperEstraierが優位ってことなのかな?railsではacts_as_searchableプラグインでHyperEstraierがカンタンに使えるらしい。
  • masuidrive on rails » Blog Archive » PHPユーザの為のRuby/Rails入門

    [追記] if構文の変数スコープの説明に間違えがあります。新しいスコープは作られません。 お盆のまっただ中8/11(土)に、社内勉強会を開いて、PHPユーザ向けにRuby/Rails入門をやりました。 じつはお盆の土曜日に4時間も勉強会って事で、そんなに人も集まらないだろうと思っていたのですが、ふたを開けてみたら28名も参加があり、びっくりしました。それだけ興味を持ってもらったのは嬉しいけど、これだけ集まるなら資料はちゃんと作らないと・・・・。ということで、作った資料を公開します。なんとRuby編100ページオーバー、Rails編200ページオーバーと、かなり大作です。 RubyKaigiで、発表者のスライドの横でIRCが表示されていたのが面白かったので、勉強会の参加者には、Lingrのチャットルームに全員入ってもらって、質問やパートごとの「終わった!」という書き込みをしてもらいました。今

    masuidrive on rails » Blog Archive » PHPユーザの為のRuby/Rails入門
    nettabo
    nettabo 2007/09/21
    PHP→RubyとRailsの基本。
  • 続masuidrive的プロジェクトの方針

    オレンジニュースさん、textfile.orgさんにも取り上げてもらい、masuidrive的プロジェクトの方針が予想以上の反響を頂いてちょっとびっくりしてます。 この文章自体の前提が普通の会社の組織じゃないので、そのまま参考にはちょっとならないかもしれません。ただ自分の考えをプレゼンにするというのが、すこしでも普及してくれると嬉しいなと思ってます。プレゼン資料を作りつつ、脳内プレゼンをしていると、意外に抜けている自分に気がつくので。 この対象のプロジェクトメンバーは波長の合う人を社内公募などで募って、そもそもこれを受け入れて一緒にやっていける人を前提に考えています。なのでかなり上段から見たような文章になっていますw ウチの会社自体は、とがった会社ではないので他部署で適用することは、あまり考えてません。 私が個人でやってきた方法論が、どこまで組織で通用するのか、どこで行き詰まるのかを自分で

    nettabo
    nettabo 2007/09/21
    自分の考えをプレゼンにして、チームメンバーに見せるというのはありだなぁ。
  • masuidrive on rails » Blog Archive » プロジェクトの始まりはTracから

    そんなわけで、プロジェクトの始まりはTracから。これがないと仕事が始まりません。 Tracが一番良いわけでも無いんだけど、日語マニュアルがあるところと、ユーザが多いことから、subversionとの連携スクリプトなどが多数公開されているところが、選択理由です。 Railsベースでも複数、プロジェクト管理ソフトが出てきているので、どれか良い物に育ってくれると嬉しいなと思っています。 さて、tracのインストール方法はwebで沢山見つかるので、それを参考にインストール。 Tracは初期設定でも十分使いやすいんですが、チケット登録で担当者をドロップダウンリストにするために設定を変更します。 tracの設定ファイル conf/trac.iniの下記の項目を変更してください。 [trac] default_charset = utf-8 # 文字コードはUTF-8で [ticket] restr

    masuidrive on rails » Blog Archive » プロジェクトの始まりはTracから
    nettabo
    nettabo 2007/09/21
    チケットの優先度とかって日本語にできるのか。コードにべた書きなので難しいって聞いた気がするが、気のせいか、改善されたのか。
  • masuidrive on rails » Blog Archive » masuidrive的プロジェクトの方針

    初めて会社員になって早3ヶ月。会社の仕組みもやっと分かってきたし、そろそろ格的に開発プロジェクトも動いて行くということで、今後、社内で私と一緒に開発して行く人に、「私がどういう考えで仕事を進めていきたいか」という事を知ってもらうためのプレゼンを作ってみました。(今のところ一人だけど) NIFTYさんと仕事した時も、作業に入る前に「今までどうやって遠隔地で仕事を進めてきたのか」をプレゼンしていました。特に初めて仕事をする場合、「今まで自分はどういう風に仕事をしてきて、この仕事はどういう風に勧めていきたいか」を明確にしておくと、スムーズに仕事を進めることができます。 仕事、特にその上でのコミュニケーションをうまく進めていくためには、信頼と共通認識が必要だと思ってます。信頼は当たり前の話ですが、開発を進める上での共通認識についてはあまり重要視されることが無い気がしています。 仕事をする上ではコ

    masuidrive on rails » Blog Archive » masuidrive的プロジェクトの方針
    nettabo
    nettabo 2007/09/21
    ドキュメントや作業をすべてTracで管理する。っていうのはありだよなぁ。
  • 「設定より規約」でWebサーバ設定の自動化 - masuidrive.jp

    Posted by masuidrive Thu, 20 Jul 2006 10:33:00 GMT Ruby on Railsが簡単にアプリケーションを構築できる一つの特徴に「convention over configuration」=「設定より規約」があります。 Railsはアプリを作るのは簡単ですが、それを公開するのがちょっと面倒です。そこで、Railsに限らずWebサーバも「設定より規約」に則って、設定なしでサイトやアプリケーションを公開できるようにしてみましょう。 設定項目を洗い出す まず、Webサーバでアプリケーションを公開する場合に必要な設定項目を洗い出します。バーチャルドメインを使う場合は、 ドメイン名 DocumentRoot ログファイル名 CGIを使うならScriptAlias の4つが基になると思います。規約を決める これらの設定を自動化するための規約を決めます

    nettabo
    nettabo 2007/09/16
    規約に従ってディレクトリやファイルを作ると、バーチャルホスト設定ファイルが自動生成される仕組み。