タグ

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

  • Treehouse: 本当にフラット、つまりマネージャーがいなくなった会社、そして個の時代がくるのか? - ワザノバ | wazanova.jp

    http://blog.teamtreehouse.com/working-in-a-flat-company 1) Treehouseで起きていること プログラミング/デザインのオンラインコースを運営しているTreehouseは、6月に週4日勤務にしたことに続き、9月に、フラットカンパニー宣言をしました。つまり、マネージャーと呼ばれる人が社内から突然いなくなったということです。 会社は、幅広めのゴール、ミッションステートメント、キャッシュフローへのインパクトのガイドラインのみを提示。それ以外の優先順位の判断は社員に任せる。 社内のプロジェクトは、提案 -> 社内フォーラムサイトで議論 -> 投票 -> 自主的判断で各メンバが “Join”ボタンを押して自分をアサイン、というプロセスで進みます。そして、各メンバは、1日1回ステータスをサイトでアップデートすることで進捗管理。各プロジェクト

    yuiseki
    yuiseki 2015/09/22
  • Valve: ハンドブックで新入社員を迎える - ワザノバ | wazanova.jp

    http://www.valvesoftware.com/company/Valve_Handbook_LowRes.pdf Valveは、PCゲームプラットフォームSteamを運営し、先日、TV向けのゲームコントローラ(紹介ビデオ)も発表して話題になってました。 昨日のエントリー「Treehouse: 当にフラット、つまりマネージャーがいなくなった会社。そして個の時代がくるのか?」で、TreehouseのCEOのRyan Carsonがフラットカンパニーのコンセプトを導入するにあたり参考としたという、Valveの新入社員向けのハンドブックを一読してみました。 …Valve is flat…..we don’t have any management, and nobody ” reports to” anybody else…..we do have a Founder/Preside

    yuiseki
    yuiseki 2015/09/22
  • [その2] Square: AndroidのMain Threadの仕組み - ワザノバ | wazanova

    http://corner.squareup.com/2013/12/android-main-thread-2.html1 comment | 0 pointsその1は、こちら。 今回は、main threadとAndroidコンポーネントのライフサイクルとの関係を紹介してます。 1) Activities love orientation changes まずは、activityのライフサイクルと、設定変更の裏にあるマジックについて紹介しましょう。 Why it matters Square Registerで実際に起きたクラッシュを参考にこの記事を書いています。コードをシンプルにしたバージョンはこの通り。 public class MyActivity extends Activity { protected void onCreate(Bundle savedInstanceSt

    yuiseki
    yuiseki 2015/06/29
  • [その1] Square: AndroidのMain Threadの仕組み - ワザノバ | wazanova

    http://corner.squareup.com/2013/10/android-main-thread-1.html1 comment | 0 pointsSquareのエンジニアブログで、AndroidのMain Treadの仕組みについて紹介しています。 PSVM public class BigBang { public static void main(String... args) { // The Java universe starts here. } } Javaのプログラムは、Javaデスクトップ、JEE servletコンテナー、Androidアプリ、いずれも、public static void main()の呼び出しからはじまる。Androidのシステムが立ち上がるときは、LinuxのZygotelnitというプロセスがスタートする。このプロセスは、スレッドに

    yuiseki
    yuiseki 2015/06/29
  • iOSのデバッグを極める - ワザノバ | wazanova

    http://www.objc.io/issue-19/ 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約2時間前 objc.ioはベルリンのメンバを中心に、月替りでiOS関連技術の特定のテーマに絞って発信しているブログ。もう既に知名度はかなり高いかと思いますが、毎月ものすごく力の入った特集ゆえに、その分ボリュームも相当で、読むのも大変というか、時間がないから読めてない人もいるかと。今月は#19としてデバッグの話題です。 Peter Steinbergerの「デバッグ : ケーススタディ」では、UIKit上のバグをLLDBで対処した話を紹介。 「デバッガーでのダンス - LLDBのワルツ」において、Ari GrantはLLDBの使い方を詳説してくれています。 「DTrace」はiOSシミュレータでしかまだ利用で

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

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

    yuiseki
    yuiseki 2015/02/09
  • React Nativeがスマホアプリのフロント開発を変えるのか - ワザノバ | wazanova

    Reactは当初、「Huge step backwards(これではメンテできなくて、かえって大きく後退してしまっている。)」「Rethink established best practives(皆が積み上げてきたベストプラクティスを変えようとしている。)」と揶揄されたりもしましたが、最近は他のJavaScriptフレームワークにもその思想の一部が反映されるようになって、メインストリームに近づきつつあるようです。 さて今回Facebookが、React Nativeを発表 & オープンソースとして公開して話題になっていますが、Tom Occhinoは React.js Conf 2015のキーノートスピーチで、「一度書けば、どのプラットフォームでもうまく動作する。」ではなく、「一度覚えれば、どのプラットフォーム向けにも書けるようになる。」ものであることを強調しています。 同社の開発メンバ

    yuiseki
    yuiseki 2015/02/02
  • (続)Facebook: iOSアプリのアーキテクチャ - ワザノバ | wazanova

    http://www.infoq.com/presentations/facebook-ios-architecture 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約1時間前 「Facebook: iOSアプリのアーキテクチャ」でご紹介した、Reactの仕組みをiOSアプリのニュースフィードに応用した取組みについて、同社のAri Grantが今回は、実際にFacebookのiOSアプリで使われているコードを使って紹介してくれてます。InfoQのサイトでビデオを是非ご確認ください。 iOSのUIづくりの複雑さに、表示内容が常に変化するニュースフィードの仕様が拍車をかけて、 60 fpsを実現したい。=> レンダリングにフレームあたり17msしかとれない。 テキストレイアウトは時間がかかる。=> バックグランド

    yuiseki
    yuiseki 2015/01/21
  • Facebook: iOSアプリのアーキテクチャ - ワザノバ | wazanova

    https://www.youtube.com/watch?v=XhXC4SKOGfQ 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 39分前 FacebookのiOSチーム、Adam ErnstとAri Grantによる@Sacle 2014での講演。データモデルとビューレイヤの改善の取組みについて紹介してくれてます。 1) データモデル 背景 2年前からHTML5からネイティブに切り替えて一旦大きく改善したが、その後機能を追加するたびにアプリのパフォーマンスが悪化。 ネイティブに移行後、オブジェクトのキャッシュレイヤとしてiOSのCore Dataを使ったのが失敗であった。 Core Dataの役割は「整合性を含むオブジェクトグラフ管理」 Facebook iOSアプリの場合、サーバ側を正のデータとするが、

    yuiseki
    yuiseki 2015/01/21
  • 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) テストクローラーを利用してのモバイル実機テストの

    yuiseki
    yuiseki 2014/10/30
  • iOSアプリ開発にチームで取組むチャレンジ - ワザノバ | wazanova

    http://vimeo.com/109624121 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約4時間前 Michele Titoloについて取り上げるのは、 「モバイルAPIデザインのまとめ」 「Ruby RoguesメンバとiOSエンジニアAPI議論」 に続いて三回目ですが、今回はiOSアプリづくりにおけるチーム内の連携がテーマ。 彼女は現在、redditのiOSチームのリーダーをしながら、Objective-Cプロジェクトの依存関係の管理をしてくれるCocoaPodsの開発と、非営利団体 Women Who CodeのCEOを兼務しています。 redditはwebで大量のトラフィックとユーザを抱えてますが、スマホのアプリに注力しはじめ、切り口を変えた複数のreddit閲覧アプリづくりにチームで取組

    yuiseki
    yuiseki 2014/10/28
  • CSSパフォーマンスツールを使いこなす - ワザノバ | wazanova

    https://www.youtube.com/watch?v=FEs2jgZBaQA 1 comment | 1 point | by WazanovaNews ■ comment by Jshiike | 約1時間前 CSSconf EU 2014におけるGoogleのAddy Osmaniの講演です。CSSのパフォーマンス向上に役立つツールを40個+ 紹介してくれてます。 背景 パフォーマンスの最適化において、 ベースラインとしてやること 最小化(minification) 結合(concatenation) 画像の最適化 圧縮(GZip, Zopfli) 非同期スクリプト キャッシュの利用 WOFF2フォント CSSスプライトを使う リダイレクトをしないこと スピードアップ パフォーマンス向上に重要なCSSのインライン化 レンダリングをブロックしないように、急ぎでないアセットの取

    yuiseki
    yuiseki 2014/10/19
  • Rustを学びシステムレベル言語を理解すること - ワザノバ | wazanova

    https://www.youtube.com/watch?v=ySW6Yk_DerY Rustについては「Rustのあれこれ」で少し触れましたが、Yehuda Katzが、Skylightの一連のブログとGoGaRuCo2014の講演で、「ハイレベル言語のプログラマーがシステムレベルの言語を学ぶチャンス」という観点で紹介しています。 主なポイントとしては、 プログラミング言語の特性は変わることがないとか、プログラミング言語のパフォーマンスと生産性は常にトレードオフであるという考え方は、JavaScriptにおいて、生産性が少し改善されつつ同時にパフォーマンスが大きく向上してきたという事実から、必ずしも正しくはない。 Rustは、セグメンテーション違反が起きないという意味での安全性と、どこにメモリを置くか直接コントロールできる仕様を両方兼ね備える。 Rustを学ぶということは、ハイレベル言

    yuiseki
    yuiseki 2014/10/09
  • ベストなユーザエクスペリエンスを実現する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スクレイピングというコンセプトを壊してしまう。サーバレンダリングしない限りは、フロント側はスムーズにスクレイピ

    yuiseki
    yuiseki 2014/09/26
  • Twitterのキャッシュを支えるRedis - ワザノバ | wazanova

    https://www.youtube.com/watch?v=rP9EKvWt0zo 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約1時間前 TwitterのYao Yuが、大規模サービスのキャッシュにおいてRedisを活用する取組みについて紹介しています。 1) Redisを採用している理由 キャッシュだけで、ストレージとしては利用していない。 主なところでは、Twitterのタイムラインで利用している。ホーム画面であれ、ユーザ画面であれ、タイムラインはTweetのインデックスなので、key/valueストア型のRedisを利用するケースとして最適。 以前はmemcachedを使っていたが、問題になったのは、タイムラインでおきるread/writeは、(ユーザが閲覧している範囲に追加反映するということなの

    yuiseki
    yuiseki 2014/09/20
  • コードを引継いでどこから手をつけるか - ワザノバ | 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時間前 他人から引継いだコードを把握するのにどこから着手するかというテーマで、たまたまいくつかのエントリーを見かけました。「コードを読み切れないほど膨大にある。」「前任者、経緯のわかる人がいる/いない。」「ドキュメントがある/ない。」など様々な事情が想定されますが、全部まとめて主な声を拾ってみました。 謙虚な姿勢で臨むこと。そのコードベースがわかりづらいのは、書き方が悪いコードだからかもしれないが、自分がその専門領域の知識がなかったり、ベースにあるアルゴリズムが当に複雑な場合もありうる。それを、全

    yuiseki
    yuiseki 2014/09/10
  • Lineman.jsの立ち位置 - ワザノバ | wazanova

    http://thechangelog.com/128/ 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約7時間前 Test Double社のJustin Searlsが、the changelogpodcastで、Lineman.jsについてのインタビューに応えています。 Linemanは、JavaScriptフロントエンドアプリ開発におけるコマンドラインツール。AngularJS / Ember.js / Backbone.js などがフレームワーク、Grunt / Gulp がビルドタスクの自動化ツールとすると、Linemanは慣習 & 設定(convention & configuration)ツールという位置づけのようです。各フレームワークにおいて、アセットの構築、サーバのmock、ファイル変更時

    yuiseki
    yuiseki 2014/08/30
  • 長期かつ修正頻度の高いPJでのCSSメンテ - ワザノバ | wazanova

    http://benfrain.com/enduring-css-writing-style-sheets-rapidly-changing-long-lived-projects/ 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約2時間前 長期的な大規模プロジェクト、かつ修正頻度が高い場合は、DRYよりはメンテ性を最優先にしたCSSを書くべきという、Ben Frainの方法論です。長文ですが、よくまとまってると思います。 1) テクノロジーとツール プレプロセッサ 長期のプロジェクトにおいて重要なのは、テクノロジーではなく、何ができて、どう進めるかというアプローチ。 Sass / LESS / Stylus / Myth などどれでも、しっかり書かれていれば、必要なときにいつでも統合はできる。プレプロセッサは

    yuiseki
    yuiseki 2014/08/18
  • シングルページアプリづくりの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での反応がまだないようなので、注目すべきコメ

    yuiseki
    yuiseki 2014/08/14
  • 大規模分散システムのレスポンスを向上させる工夫 - ワザノバ | wazanova

    https://www.youtube.com/watch?v=1-3Ahy7Fxsc 1 comment | 1 point | by WazanovaNews ■ comment by Jshiike | 約2時間前 GoogleのJeff Dean(Senior Fellow, システム & インフラグループ)による、Velocity Conference 2014のキーノートスピーチです。 Jeffは、オブジェクト指向言語によるプログラムの最適化で博士号を取得。DEC/Compaqの研究所の勤務をへて、1999年にGoogleに入社。以降、BigTable / MapReduce / Spanner / Google Translate / Google Brainなど、同社の大規模分散システムの構築に一貫して携わってきています。 例えば、検索結果のレスポンスを向上させるには、そ

    yuiseki
    yuiseki 2014/07/31