タグ

ブックマーク / wazanova.jp (23)

  • Goと大規模分散システムの相性 - ワザノバ | wazanova

    Googleで分散システムの開発をてがけ、現在はソーシャルメディア mttr.toを立上げ中のBen Sigelmanが、Goを分散システムの開発に利用する場合の、メリットおよびチャレンジについて講演しています。 分散システムのあるべき姿 分散システムの勘所は、最上位ビットをパフォーマンス的にも構造的にもうまく扱うことができるかというのがポイント。その効果が一番大きい。スループットの改善のような詳細は、自分もGoogleでそれに取組んだけれども、9ヶ月くらいたつとハードウェアの性能で解決される可能性が高い。また、構造的にというのは、なるべく小さなコンポーネントを組み合わせたシステムにできるかという意味。 Goのよいところは、 両方、とくに後者によい。Railsだとアプリを複数個用意して並列処理するのは大変だったけど、Goだとシンプルにできて、標準ライブラリも読みやすいとかなどなど。パフォー

    advblog
    advblog 2014/11/24
  • ベストなユーザエクスペリエンスを実現するJavaScriptの課題と可能性 - ワザノバ | wazanova

    https://www.youtube.com/watch?v=p2F-128e3sI 1 comment | 2 points | by WazanovaNews ■ comment by Jshiike | 33分前 Socket.ioのクリエーターとして知られるGuillermo RauchのBrazilJS 2013での講演です。理想のシングルページアプリをつくろうとすると、JavaScriptが損なってしまうケースはあるとしながらも、一方で、多いに可能性を感じさせるトレンドもあるとして、最優先であるユーザエクスペリエンスを向上させるポイントを紹介しています。 1) 課題 スクリプトやCSSにブロックされることで、レンダリングの際にブランクページを表示してしまう。 Webスクレイピングというコンセプトを壊してしまう。サーバレンダリングしない限りは、フロント側はスムーズにスクレイピ

    advblog
    advblog 2014/09/26
  • コードを引継いでどこから手をつけるか - ワザノバ | wazanova

    http://www.se-radio.net/2009/11/episode-148-software-archaeology-with-dave-thomas/ 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約1時間前 他人から引継いだコードを把握するのにどこから着手するかというテーマで、たまたまいくつかのエントリーを見かけました。「コードを読み切れないほど膨大にある。」「前任者、経緯のわかる人がいる/いない。」「ドキュメントがある/ない。」など様々な事情が想定されますが、全部まとめて主な声を拾ってみました。 謙虚な姿勢で臨むこと。そのコードベースがわかりづらいのは、書き方が悪いコードだからかもしれないが、自分がその専門領域の知識がなかったり、ベースにあるアルゴリズムが当に複雑な場合もありうる。それを、全

    advblog
    advblog 2014/09/05
  • シングルページアプリづくりのJavaScriptフレームワーク比較 - ワザノバ | wazanova

    http://blog.andyet.com/2014/08/13/opinionated-rundown-of-js-frameworks 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約1時間前 開発言語やフレームワークの比較は、参考になるところはありつつも、その結果、不愉快な気分になる人がいるわけですが、それを懸念して、「(これを読んだ人は、他人の)意見を読んでいるだけだと思い返してほしい。貴方にどうすべきだと言ってるのではなく、自分にもしくはチームのために何がよいかは自分で判断すべきこと。」と前置きして、Henrik Joretegが、JavaScriptフレームワークについて私見をシェアしています。 反対意見も併記しようと思ったのですが、TwitterやHNでの反応がまだないようなので、注目すべきコメ

    advblog
    advblog 2014/08/14
  • CSSの詳細度をうまく操る - ワザノバ | wazanova

    http://csswizardry.com/2014/07/hacks-for-dealing-with-specificity/ 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約4時間前 Harry Robertsがブログで、CSSプロジェクトをうまくスケールさせるためには、詳細度の影響をうまく抑えて、メンテナンス性を高めることがポイントだと解説しています。 どれだけ思慮深くソースの順や継承関係を整理しても、詳細度がトリガーになった上書き起きると、それまでの努力が台無しになる。詳細度のタチが悪いのはオプトアウトできないこと。 であるが、その悪影響をうまくコントロールする策としては、 CSSにおいてセレクタとしてIDは使わないこと。クラスを使うことを上回るメリットはない。そもそも、IDでできることはクラスで

    advblog
    advblog 2014/07/23
  • 何でもデバッグできるようになるスキル - ワザノバ | wazanova

    https://www.youtube.com/watch?v=VV7b7fs4VI8 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約1時間前 パッケージ(apt, yum, gem等)レポジトリのホスティングサービスであるPackageCloudを開発している、James Golickの講演です。 パフォーマンスの高いハイクオリティなソフトウェアをデプロイしたければ、あらゆるレベルでバグ修正ができるようになること。 まず、エピソードとして紹介しているのが、友人の会社のサイトが落ちて、あいにく、その会社のエンジニアが出払ってしまっていて、どうにかしてほしいと助けを求められたときのこと。 ソースコードを見たことない。 システムの構成を知らない。 phpは詳しくない。 SSHでアクセスできる情報だけはある。 とい

    advblog
    advblog 2014/07/22
  • オープンソースと特許とテスラの決断 - ワザノバ | wazanova

    http://www.teslamotors.com/blog/all-our-patent-are-belong-you 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約2時間前 今朝テスラがブログで発表した内容は、「オープンソースの精神にのっとり、テスラの保有する特許を他社/他者が利用しても訴訟をしない。」ということ。適用されるオープンソースのライセンスが明示されていないところから考えるに、純粋にオープンソースではなくて、無料もしくは無料に近いかたちでのライセンス契約が必要になるかたちになるのかなと想像してます。 1年ほど前に、ソフトウェアでオープンソースが広がり、サーバ周辺のハードウェアでもオープンソースのプロジェクトが進みはじめた中、製造業のオープンソース化はくるのかという議論をしたときに、私はちょっと

    advblog
    advblog 2014/06/13
  • エンジニアチームでブランドを築く - ワザノバ | wazanova

    https://medium.com/on-startups/1feed0155749 2 comments | 1 point | by WazanovaNews ■ comment by Jshiike | 約5時間前 Nis Fromeのこのブログは示唆に富むものでした。 NisのチームがNew Yorkでハッカソンに参加したときのこと。慣れないテクノロジーに苦闘して、進捗が見えなくなってきた深夜3時、メール配信サービスのSendGridのエンジニア達が会場にやってきて、参加者に声をかけながら部屋をまわりはじめる。SendGridのDeveloper EvangelistであるMike Swiftから、「何か手伝える?」と言われた際に、SendGridのAPIを使ってるわけではなかったので、一旦は断る。しかし、彼は矢継ぎ早に質問を重ねてきて、Nisのチームがどのようなテクノロジー

    advblog
    advblog 2014/05/02
  • Spotify: 曲をシャッフルするのは単純にランダムではいけない - ワザノバ | wazanova

    http://labs.spotify.com/2014/02/28/how-to-shuffle-songs/ 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約4時間前 SpotifyのLukáš Poláčekがプレイリストをシャッフルするロジックを改善した取り組みを紹介しています。 以前のロジック ランダムアルゴリズムには、Fisher-Yates shuffleを利用。 順次再生する曲を選ぶロジック同士には依存関係がなく、完全にランダムに選択される。よって、同じアーティストとの曲が連続して再生されることも可能性としてはある。 これはギャンブラーの誤謬と呼ばれる現象。例えば、コイントスで表が連続してでると、次は裏が出ると思いがちであるが、常に確率は1/2である。従前の結果が次の結果に影響を与えると考えてし

    advblog
    advblog 2014/03/08
  • フロントエンド自動化ツールをまとめて理解する - ワザノバ | wazanova

    http://www.youtube.com/watch?v=1OAfGm_cI6Y 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約4時間前 GoogleのAddy OsmaniによるFuture of Web Appのキーノートスピーチです。 49分間 [Video]で下記の話題を全てまとめてます。フロント関連の便利ツールが一通り網羅されてます。おかげで、Yeoman (Yo/Grunt/Bower) の概要もすっきり理解できました。スライド(236枚)で確認されたい方はこちら。 Codekit Hammer Prepros Koala Mixture compass.app scout-app Yeoman / Grunt grunt-image: JPG/PNG/Gifを最適化して軽量化 grunt-

    advblog
    advblog 2014/02/16
  • Stack Overflowのアーキテクチャ - ワザノバ | wazanova

    http://www.youtube.com/watch?v=OGi8FT2j8hE1 comment | 0 pointsドイツのハンブルグで開催されたDeveloper Conference 2013で、Stack Overflowのアーキテクチャが紹介されてます。 Stack Overflowのネットワークは、110 Q&Aサイト、430万ユーザ、質問760万件、回答1360万件、月間5億6千万ページビュー サーバ25台: ウェブサーバ11台(内9台でほぼトラフィックさばく)、ロードバランサ1台 (+ 予備1台)、DBノード4台、アプリサーバ3台、検索サーバ3台(Elasticsearch)、Redisサーバ2台(キャッシュ、メッセージング) 毎秒質問が投稿されているので、トップページには都度最新の質問を掲載するように更新はできないが、ユーザの回答パターン、質問閲覧パターン、好みのタ

    advblog
    advblog 2014/01/13
  • 事業がわかる人とクオリティの高い情報発信力というのが必須条件 - ワザノバ | wazanova

    http://perfcap.blogspot.jp/2014/01/starting-new-role-at-battery-ventures.html1 comment | 0 pointsNetflixのクラウドアーキテクトのAndrian CockcroftがBattery VenturesにTechnical Fellowとして入社しました。クラウド戦略を発信する中心人物が移ったこの動きを見て、インキュベーター/Venture Capitalの業界も情報発信武装がかなり進んできたなと思います。ここ数年の変化を追ってみると、 1) 金融/MBA -> 起業経験者/エンジニア 大手のファンドも新興勢力も、かつて金融/MBA系出身者で占められていたこの業界が、一気に起業経験者/エンジニア中心に変わりつつあります。これは説明するまでもなく、投資判断も経営アドバイスも中身のわかる人の方が当

    advblog
    advblog 2014/01/12
  • Evernote: 会社の規模にあわせてのセキュリティ対策の考え方 - ワザノバ | wazanova

    http://firstround.com/article/Evernotes-CTO-on-Your-Biggest-Security-Worries-From-Three-Employees-to-300 セキュリティ当に大事だけど、会社が小さいうちにものすごいコストをかけた対策はできないので、段階的にやっていくことになるのが典型的なパターンだと思いますが、「では、具体的にどの段階で何をやるのか?」について、EvernoteのCTOであるDave EngbergがFirst Round CTO Summitで自らの考えを紹介しています。 まず、原則として、「導入しようとしてるセキュリティの対策が、守ろうとしていることのリスクよりも低いときだけ、実行する。」こと。会社が小さいときは失うもののリスクも小さいので、対策もおおげさなものでなくということになるが、Tech Crunchに最初

    advblog
    advblog 2013/12/11
  • Facebookの継続的デプロイメント - ワザノバ | wazanova

    https://www.facebook.com/publications/514128035341603/ 1日500件、3,000ファイルに及ぶ番アップ フロントエンドのコードは1050万行、内850万行がPHP 開発エンジニア1,000名とリリースエンジニア3名 QAやテスターは存在しない 自分でプロジェクトを選ぶ & 自己責任のカルチャーが強い。 1/3のファイルが一人のエンジニア、1/4が二人のエンジニアでメンテされている。 フロントエンド番コードベースは一つのものを共有 日常業務ではローカルのgitを利用。番アップ可能になれば、中央のレポジトリにマージして、それからSubversion(過去の経緯で使っている。)にコミットする 同じエンジニアがコードをコミットする間隔は中央値で10時間 番にプッシュする前に、担当エンジニア自身でのユニットテストを終え、同僚によるコード

    advblog
    advblog 2013/12/04
  • Githubの組織が成長する過程で変えたことと変えなかったこと - ワザノバ | wazanova

    GithubのZach Holmanが語るGithubの組織戦略です。まず最初に、 Step #1: ロックスターエンジニアを雇う Step #2: ものすごく透明性のある経営をする Step #3: ブログ/ソーシャルメディアなどでテクノノロジーについて発信する Step #4: カンファレンスで会社について話す Step #5: カネに余裕ができる Step #6: 社員を大勢雇う Step #7: 会社のことを話さなくなる Step #8: コミュニティを無視する Step #9: 創業者が株を売って儲ける Step #10: 別の会社をはじめる という事例を挙げて、Githubは組織が成長する中で、このようなパターンに陥らないように、コミュニケーション及び仕事の進め方をどのように進化させてきたかについて紹介してます。 Dunbar's numberとしてよく知られるとおり、人間が良

    advblog
    advblog 2013/11/20
  • Yelp: iOSアプリに組み込むweb viewをネイティブっぽく表現する - ワザノバ | wazanova.jp

    http://engineeringblog.yelp.com/2013/11/whoa-that-embedded-web-view-looks-hot-in-your-ios-app.html Yelpがエンジニアブログで、ネイティブのユーザビリティを崩さずにweb viewをネイティブアプリに組み込む工夫を紹介しています。 Yelpのモバイルトラフィックは、2013年の第3四半期平均で月間1,100万ユニークデバイス iOSにおいてアプリにウェブを組み込む一般的な手法は、UIWebViewをつくって、それにURLを渡すことだが、それだと、読み込み中のままコンテンツがすぐに表示できない事態に陥ることになる。 1) ネイティブっぽいページ遷移を実現する まず、前提として、UIWebViewはURLのリクエストを読み込もうとするとき、そのdelegate(通常はcontroller)を呼び

    advblog
    advblog 2013/11/11
  • Quora: 新しい社員の迎え方について - ワザノバ | wazanova.jp

    http://www.quora.com/Quora-company/What-is-the-on-boarding-process-for-new-engineers-at-Quora スタートアップだと新しい社員を採用したときに、面接までで手一杯で、受け入れ態勢を当日までに用意するのが大変だったりします。「xxさんは今週から入社じゃない?」と気づき、大慌てでPCやソフトの準備をすることもままありました。そして間に合わないという失態もしました。。 数年前の話しですが、Quoraはまだ創業間もないのに、新しい社員を迎え入れる体制がしっかりしていて、エンジニアは、ロゴ入りグッズもらって、hardware/softwareは当然揃っていて、ウェルカムランチをへて、必ず初日に番アップまで経験できるような仕組みになってたと記憶してます。事業の成功を担保するためのせっかくの新戦力なので、優先順位は

    advblog
    advblog 2013/11/06
  • 関数型プログラミング言語のまとめ - ワザノバ | wazanova.jp

    http://funceng.com/2013/11/03/review-of-functional-languages/ Kevin Buellがブログの一連のエントリーで関数型プログラミング言語の概要をまとめています。 1) Haskell ラテン語がわかる人には親しみやすい。 [Background] 遅延評価の研究成果をとりまとめる委員会が1990年にHaskell 1.0の仕様をつくった。コンパイラはGlasgow Haskell Compiler (GHC)が最も有名。Haskellに関する研究はMicrosoft Researchで盛ん。.NETのための関数型言語であるF#もMicrosoft Researchの成果であるが、別の研究者グループの手により後年世にでてきた。 その他の項目は原文参照ください。 [Comparative Description] [Syntax H

    advblog
    advblog 2013/11/04
  • WebRTC: サーバのない世界でwebをつくり直す [Realtime Conf. 2013Real] - ワザノバ | wazanova.jp

    [Video] http://2013.realtimeconf.com/video/ [Slide] https://speakerdeck.com/feross/webrtc-data-black-magic しかし、23歳にして既にこのレジュメにあるようなアウトプットを連発しているFeross Aboukhadijehはすごいですね。その彼が、Realtime Conf. 2013で、WebRTCの現状と自らの新しいプロジェクトについて語っています。 1) 概要 Video/音声/データをブラウザ間のpeer-to-peerで直接やりとりできる プラグインのインストールは不要 WebSocketスタイルのシンプルなAPI 2) 利用事例 リアルタイムチャット、ファイルシェア、遅延のないマルチプレーヤー対戦型ゲーム、分散DB、ダークweb?(p-to-pコミュニティ)、CDN Mozi

    advblog
    advblog 2013/11/03
  • Groupon: 単一のRailsアプリから複数のNode.jsアプリへの移行 - ワザノバ | wazanova.jp

    https://engineering.groupon.com/2013/misc/i-tier-dismantling-the-monoliths/ Grouponのビジネス自体はかつての盛り上がりはないですが、シンプルなRailsアプリが、事業の成長 & グローバル化に従って、アーキテクチャを変えていった過程をエンジニアブログで紹介してるので、参考になればと。 1) まとめ Grouponは、Railsのシングルコードベースを独立した20個のNode.jsアプリにアーキテクチャを変更した。 ページの読み込み時間が概ね50%改善。これはテクノロジーの効果とコードの書き直しでwebページが軽くなったのとの相乗効果。 同じトラッフィクに対してハードウェアが削減できた。 チーム間の依存関係が少なくなったので、新機能リリースのペースが早くなった 同じ機能を複数の国にそれぞれ導入するような冗長さが

    advblog
    advblog 2013/10/31