タグ

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

  • マネージャのいない組織に進化する現実と幻想 - ワザノバ | wazanova

    マネージャのいない組織へのチャレンジについては、一昨年から話題になっていますが、ここにきてかなり論点が絞られてきていると思います。 1) 非同期 & 可視化が進む GitHubなどのツールに親しむエンジニアが、進捗が可視化され、非同期で仕事を進めることに先に慣れてきたが、SlackのようなコミュニケーションツールやTrelloなどのタスク管理ツールの浸透で、非エンジニアにもじわじわその理解が進んでいく。 2) マネージャの役割が変わる 上記1) が進むことで、進捗を報告させて情報を集約、また逆に、全社 / 業界の情報をフィルタリングして伝えるという、情報操作ハブとしてのマネージャの役割はかなり減る。情報の透明性があがることで、情報を握っていることがマネージャのパワーの源泉である時代が終わる。 プロジェクトの進捗 / 開発のクオリティ / 売上 / 評価とフィードバック / メンバの士気の向

  • 分散システム設計のチェックリスト - ワザノバ | wazanova

    http://monkey.org/~marius/checklist.pdf 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約1時間前 TwitterのMarius Eriksenは分散システムのエキスパートであり、モジュール化され、安全でかつ効率よく機能するサーバソフトの構築のノウハウは、「Your Server as a Function」という論文にまとめられています。 また、分散システム設計における留意点も、下記の内容のチェックリストというかたちで紹介してくれています。 1. 障害耐性 もし依存先が障害を起こしたらどうなるか?その障害がゆっくりと起きたらどうか? システムをどのようにスムーズにデグレードさせることができるか? システムは想定以上の負荷にどう対処するようになっているか? 大きな障害が起き

  • Luaが支えるCloudFlareのWebアプリファイアウォール - ワザノバ | wazanova

    https://www.youtube.com/watch?v=nlt4XKhucS4 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約3時間前 CloudFlareのWAF (Web Application Firewall)は、HTTPリクエストをフィルタリングし、 SQLインジェクション コメントスパム XSS DDoSアタック WordPressなど特定のアプリを狙った攻撃 などの攻撃をネットワークのエッジで、つまりサーバに到達する前に守ってくれます。 適用するフィルタリングルールは、オープンソースのOWASPなどの共通ルール 5,682件 + CloudFlare内製のルール 102件 + 顧客企業がカスタムメイドしたルールの総計で、それが全てのリクエストに当てはめられます。その処理速度は平均1ms以

  • Yehuda Katzという生き方とインディーWeb - ワザノバ | wazanova

    https://frontsidethepodcast.simplecast.fm/16 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 41分前 昨日のエントリーでも名前のでてきたYehuda Katzですが、Rails / Ember.js / jQuery / W3C Technical Architecture Group (TAG) / TC39-ECMAScriptなどで活躍し、今回はRustのコアチームに参加することが発表されてます。Tom Dale曰く「インターネットの半分くらい書いてる感じだから。[1] 」という勢いがあります。Yehudaの仕事振りやプロジェクト運営における考えは、オープンソースという視点での発言ですが、企業におけるプロジェクトの進め方や今後の働き方のスタイルがどう変わるか、変

  • 理由駆動型の働き方 - ワザノバ | wazanova

    会社のビジョンやカルチャーは、長期に続く活力あるチームであるために当にすごく大切だなと感じることがこの数年の間に何度かありました。 では、その「当に」「すごく」というのは具体的にどれくらい重要なのでしょうか? PandoMonthlyの2時間に及ぶ長いインタビューの最後に、WorkdayのCEOであるAneel Bhusriが、「ほとんどの人がそう思ってないけど、自分だけは強く信じていることは何?」という質問に答えて、 「うちの会社にとって、カルチャーはプロダクトよりも大切だ。」 と言い切っています。よいカルチャーが、よいプロダクトづくりに必ずつながるという彼の長年の経験から得た確信がそう言わせているのかと。 また、Ernie Millerは "Human-Driven Development" と題したブログで、 幼い頃から人は「なぜ?」と質問する。その理由を知りたいという衝動はなく

  • 気づかぬうちに増える仕事を減らす取組み - ワザノバ | wazanova

    https://codeascraft.com/2014/12/22/engineering-rotation/ 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約2時間前 「このタスク、思ったより時間がかかったな。」となるのはよくあることですが、仲間と仕事をするということは皆で大きなことを成し遂げているということなのだというそもそものメリットは空気のように忘れがちで、ある程度の非効率は避け難く生じるし、それが目につくのでストレスの元。どう解消するか? 元Quoraのリードエンジニアで、現在Quipに勤務するEdmond Lauは、"Hidden costs that engineers ignore”"と題したブログのエントリーにおいて、 コードの修正だけでなく、別のメンバへの説明の時間はかかる。 単純に分量で

  • Bufferのフィードバックの考え方 - ワザノバ | wazanova

    https://open.bufferapp.com/how-to-give-receive-feedback-work/ 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約13時間前 Bufferは各人の給与も公開しているオープンさが話題になってますが、それ以外の点についても、定めたコアバリューに沿った会社運営を追求しています。 今回はフィードバックの話。 アドバイスであれ、ほめることであれ、ネガティブな指摘であれ、チームで仕事をすることにおいて、お互いの立場に関わらずフィードバックは大切。一番大変なのは頑張ってネガティブな指摘をうまく伝えようとするときだと思いますが、同社の "How to Give and Receive Feedback at Work: The Psychology of Critici

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

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

  • Googleのテスト自動化の進化 - ワザノバ | wazanova

    https://www.youtube.com/watch?v=6ZvCU0dht50 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約1時間前 Google Test Automation Conferenceが今年はSeattleで開催されたようです。その中で興味深いと感じた話題をいくつか拾ってみました。 1) 成長を続けるGoogle 会社の規模が大きくなり、歴史を重ねてくると、何事も非効率になりがちですが、Ankit Mehtaが紹介してくれた数字によると、Googleの開発ペースは依然として右肩あがりのようです。 コードのコミットは、1日3万チェックイン。約3秒に1回。グラフを目測した限りでは昨年から約20%増。 リリース数もこの1年でほぼ倍増。 2) テストクローラーを利用してのモバイル実機テストの

    yokoji
    yokoji 2014/11/06
  • APIの後方互換性を保つ工夫 - ワザノバ | wazanova

    Stripeの決済サービスの成長は、APIが使いやすいというエンジニアの間での評判がかなり寄与したと記憶しています。 同社のAPIは現在、 エンドポイント: 106 バージョン: 65 APIクライアント: 6 ユーザ企業を煩わせることなく後方互換性をしっかり担保したいという方針を守るための工夫を、Amber Fengが紹介してくれています。 1) ユーザが利用するバージョン情報の把握 ユーザ企業が最初にAPIコールをしたときのバージョン情報をStripe側で保管している。それ以降、ユーザ企業はバージョンのことを意識することなく、最初のバージョンのAPIを利用し続けることができるようにしている。ユーザ企業側でバージョンの変更をしたい場合は、ダッシュボードでの設定や、リクエストヘッダーに情報を付加することで可能。 2) バージョンと機能の整合性 YAMLファイルでバージョンとその振舞いの情報

    yokoji
    yokoji 2014/10/14
  • LivingSocial: SOAのテストとmockの工夫 - ワザノバ | wazanova

    https://techblog.livingsocial.com/blog/2014/08/26/soa-series-part-5-testing-apps-with-service-dependencies/ 1 comment | 1 point | by WazanovaNews ■ comment by Jshiike | 約3時間前 LivingSocialのRailsアプリSOAシリーズの5回目として、サービス指向アーキテクチャにおけるテストのあり方についての話。 まずは、アプリ間のサービスコールを全てmock/stubしたり、逆に依存関係を常にそのまま利用するのではなく、1回だけコールする手法を推薦しています。 テスト対象のコードは、依存するサービスに一度だけコール & レスポンスを記録し、その後の実行ではリプレイを利用する。 メリット ネットワークコールが一度で済むの

  • よいデザインチームのつくり方 - ワザノバ | wazanova

    http://joshuasortino.com/journal/how-to-hire-a-designer-and-build-a-design-team 1 comment | 1 point | by WazanovaNews ■ comment by Jshiike | 約1時間前 DisqusやTeespringのデザインチームの立上げを指揮してきたJoshua Sortinoが、デザイナーの採用とチームづくりのポイントについてまとめています。「よいプロダクトを生み出す組織づくり」という意味では、他のポジションに共通する話しもあって興味深いです。 採用全般についてのアドバイス サービスづくりに情熱を燃やす人がベストな社員になる。正しいマインドセットがあれば、スキルは追いつく。 問題解決指向が強いが特定のスキルが弱い人の方が、そのスキルはあるが問題を解決しようというマインドセッ

  • Rubyのパフォーマンス計測ツール - ワザノバ | wazanova

    https://www.youtube.com/watch?v=cOaVIeX6qGg 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 42分前 Aaron Quintは、オンライン/オフラインで招待状やお祝いのカードを送るサービスであるPaperless PostのCTOです。GoRuCo 2014で、お薦めのRubyアプリのパフォーマンス計測ツールを紹介してくれてます。 評価の基準としては、 Specificity (Sp): アウトプットの内容がどれだけ詳細か。 Impact (Im): Probe Effectのレベル。計測が意図しないシステムの振る舞いにつながる可能性のある影響度合い。この数値が大きいと番環境では使えない。 Difficulty of Operator Use (Op): ツールのセッ

  • Rails + JavaScriptアプリを高速でデプロイする - ワザノバ | wazanova

    https://www.youtube.com/watch?v=QZVYP3cPcWQ 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約2時間前 DiscourseのJavaScriptが順次ES6モジュールのフォーマットにコンバートされてますが、Rovin Wardはその理由の一つとして、Railsのアセットパイプラインへの依存を解消し、ember-cliを利用するためであることを挙げています。 新しいリリースをするときのプロセスは、サーバ側のコードに変更がなければ、Railsアプリ全体をデプロイしなくて済むようになる。 とし、その参考としたのが、RailsConf 2014での、Yapp LabsのCo-founder & CTOであるLuke Meliaの講演のようです。 Railsをバックに、ホームペー

    yokoji
    yokoji 2014/07/15
  • Gilt: 単一のRailsアプリから複数のScalaアプリへの移行 - ワザノバ | wazanova

    http://tech.gilt.com/post/73434506726/scaling-gilt-at-gilt-nyc-tech-talks-comes-to-2-park 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約3時間前 GiltのYoni Goldbergが、同社のアプリが、RailsベースからScalaに移行しスケールしてきた経緯を紹介しています。 Videoがでたら是非紹介したいと思っていたネタですが、1ヶ月待ってもアップされないので、ひとまずあきらめてスライドの紹介だけになります。もしビデオがアップされたら改めて更新します。 2007年の典型的なスタートアップ。サービスをとにかくなるはやでローンチするために、当時盛り上がってきていたRailsを採用。 2009年、フラッシュセール開催時の

  • TaskRabbit: 複数のRails 4 Enginesで構成したアプリ - ワザノバ | wazanova

    http://tech.taskrabbit.com/blog/2014/02/11/rails-4-engines/ 3 comments | 0 points | by WazanovaNews ■ comment by Jshiike | 約5時間前 TaskRabbitは、modelが100+におよぶ単一のRailsアプリと、APIを介して複数のRailsアプリの構成にしたプロダクトを経験し、今回UKのプロジェクト で、複数のRails Engines を利用したアプリの開発に取り組んだ事例を紹介しています。 サンプルアプリはこちら。 APIを介した複数アプリの構成の場合、アプリをまたがるリリースが問題になる。一つのコードベースのときよりも遅くなる。各アプリに必要なgemがバージョンの問題で果てしなくコンフリクトがおきる。結合テストが相当大変。一方、複数のRails Engin

    yokoji
    yokoji 2014/02/16
  • [その1] Rubyプログラマー向けのGo言語の解説 - ワザノバ | wazanova

    http://www.sitepoint.com/go-rubyists-ii/1 comment | 0 pointsGlenn Goodrichが、Rubyプログラマー向けにGo言語のinterfaceとWeb.goを紹介しています。1回目はまずは、interfaceから。 The Fallacy of Inheritance 継承は些細な修正も実装が面倒になり、コードが複雑になる可能性があります。例えば、Horseクラスと二つのサブクラス、GallopingHorseとSadHorseがあったとします。(その二つはステートの違いだけでなく、まったく性格の違うサブクラスかもしれません。)sadな雰囲気で、gallopをしているhorseがいる場合はどうするか?それぞれのクラスである振る舞いがロックアップされることになるかもしれません。また、type間の関係を考慮しなくてはいけなくなるの

    yokoji
    yokoji 2014/01/08
  • Forward Secrecyの落とし穴 - ワザノバ | wazanova

    「Forward Secrecyの普及」でご紹介したとおり、Forward Secrecyの採用を発表したGitHubが、その設定における注意点についてブログで紹介してます。 Forward Secrecyのセキュリティ効果を期待通りだせなくなる落とし穴について解説するにあたり、まずはセッションリサンプションを説明しておく必要がある。セッションリサンプションは、新しい接続をするときのハンドシェイクを大幅に短縮する仕組みである。これは、クライアントが同じサーバに接続した際には、安全な接続を短い時間で確立できるということである。セッションリサンプションの実装には、セッションIDを使う方式とセッションチケットを使う方式がある。 SSL SESSION IDs セッションIDを使うということは、サーバはステートを保持し、クライアントがサーバから受取ったセッションIDで再度接続してきた際には、そのス

  • RailsとGoのアプリでセッションを共有する - ワザノバ | wazanova

    http://matt.aimonetti.net/posts/2013/11/30/sharing-rails-sessions-with-non-ruby-apps/1 comment | 0 pointsSpliceのFounderのMatt Aimonettiが、Railsアプリとセッションが共有できる仕組みをGoアプリ用に提供しています。他の言語への移植にも利用できるようです。 RailsGoのアプリでセッションを共有、具体的には、認証されたRailsのユーザがGoで書かれたエンドポイントにJavaScript APIでコールすることを試してみた。まとめると、 実現可能。こちらのGoパッケージを参照されたし。 Rails 4.0以降にアップグレードすべし。 Railsセキュリティには批判があるが、最近のソリューションではエキスパートが工夫をこらしている。 RailsはRub

    yokoji
    yokoji 2014/01/04
  • Netflix Culture: Freedom & Responsibilityを読み直す (その2) - ワザノバ | wazanova.jp

    http://www.slideshare.net/reed2001/culture-1798664 どうして高いパフォーマンスにこだわるかというと、よいチームづくりができれば、業務フローベースの仕事だと2倍、クリエティブ/開発系の仕事だと10倍成果が違ってくるからです。 パフォーマンスよりも職を失わないことを重視する人には向かない職場です。 責任感がある人は自分で行動を起こせます。ですので自由な環境で活かすことができます。多くの会社は大きくなるにつれて自由度が狭まりますが、うちは逆に広げます。 会社は大きくなると運営が複雑になり、高いパフォーマンスの社員率が減ります。そこで、「複雑化する業務プロセス」と「高いパフォーマンスの社員がこなせる業務範囲」の差分を埋めるために、官僚化が進み、つまらなく感じた高いパフォーマンスの社員が更に減るというサイクルにおちいます。 プロセスを整備して官僚化す