タグ

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

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

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

    Ehren
    Ehren 2015/07/14
  • よく考慮したコーディングとパフォーマンスの関係 - ワザノバ | wazanova

    http://hacksoflife.blogspot.com.au/2015/01/the-four-horsemen-of-performance.html 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約4時間前 Benjamin Supnik曰く、高いパフォーマンスをだせるソフトウェアは、高いパフォーマンスを目指したデザインプロセスが大切。「当にひどい状態になったら、プロファイラで調べて直すから。」といっても色々積み重なると簡単には直せなくなると指摘しています。そして、ゲーム開発において遅いコードを生み出すパターンを挙げてくれてます。 1. 無駄なことをする テーブルを再描画する際、ユーザが見える部分だけでなく、テーブル全体のデータを取得していないか? 同じ値が計算されて何度も使われるケースで、都度計

    Ehren
    Ehren 2015/02/17
  • Prometheus: Go言語で書かれたモニタリングシステム - ワザノバ | wazanova

    https://developers.soundcloud.com/blog/prometheus-monitoring-at-soundcloud 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約1時間前 Prometheusは、SoundCloudが中心となって開発を進めているオープンソースのプロジェクトDockerの社内でもメインのモニタリングシステムとして利用されているようです。 各社のブログのエントリーから、その特徴をまとめると。 多元データモデルとそれを活かす柔軟なクエリ言語 全てのデータにタイムスタンプのある、OpenTSDBに準じたデータモデル。 http_response_500_totalやhttp_response_403_totalなどHTTPレスポンスのステータスごとに用意しなくても

    Ehren
    Ehren 2015/02/02
  • Java: 本番環境でのデバッグスキルを磨く - ワザノバ | wazanova

    https://www.youtube.com/watch?v=7KS4L-mA_-c 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約1時間前 Takipi のFounderであるTalWeissのSan Francisco Java User Groupミートアップでの講演。番環境で役に立つデバッグテクニックの紹介です。 1. スレッド名の活用 スレッド名はmutable(EJB除く)である。コードのコンテキストにあわせて、Thread.currentThread().setName(Context, TID, Params, Time,...);のようにすれば、トランザクションID、Serveletパラメータ、キューメッセージID、起動時間など、スタックトレースに役に立つ情報を表示できるようになる。 J

    Ehren
    Ehren 2015/01/19
  • 分散システム設計のチェックリスト - ワザノバ | 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. 障害耐性 もし依存先が障害を起こしたらどうなるか?その障害がゆっくりと起きたらどうか? システムをどのようにスムーズにデグレードさせることができるか? システムは想定以上の負荷にどう対処するようになっているか? 大きな障害が起き

    Ehren
    Ehren 2015/01/15
  • 大規模分散システムのレスポンスを向上させる工夫 - ワザノバ | 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など、同社の大規模分散システムの構築に一貫して携わってきています。 例えば、検索結果のレスポンスを向上させるには、そ

    Ehren
    Ehren 2014/07/31
  • エンジニアのベストプラクティスを非エンジニアチームで活かす - ワザノバ | wazanova

    http://www.developingsales.com/ 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約6時間前 Jeff SzczepanskiはStack Overflowのマネタイゼーションの責任者。エンジニア転じて、営業の組織の長になった人物。 「営業というのは科学というよりは芸術。コンピュータ相手じゃなくて、人間を相手にしているからね。」 「営業が結果を重視するのは、計測しやすく公平な指標だから。どうなるか予想したりプロセスをうまく管理するのは難しいんだよ。」 という話しに違和感を抱き、「誰かが決めた営業戦略に従って営業マンは盲目的に数字の達成だけを求めてひたすら実行する。」という従来の営業手法は、 自分で手を汚してコーディングしない「アーキテクト」と呼ばれる人が仕様書をまとめ、下々のエンジニ

    Ehren
    Ehren 2014/04/03
  • Spotify: virtualenvのパワーをDebianパッケージに取り込む - ワザノバ | wazanova.jp

    http://labs.spotify.com/2013/10/10/packaging-in-your-packaging-dh-virtualenv/ Spotifyのエンジニアブログで、virtualenvのサンドボックス生成パワーをDebainパッケージに取り込んだdh-virtualenvを紹介しています。 1) 背景 Spotifyでは、DebianパッケージでPythonのソフトをアップしている。sbuildのあるCIシステムで自動的にアップできるようになっている。puppetを利用して、このシステムは問題なく稼働しているが、面倒なところもあった。まず、Debian Pythonパッケージのバージョンが古かったり、機能が足りない場合があり、内部のDebianレポジトリに新しいパッケージを入れる必要があった。さらに、新しい社員の場合は、Debianパッケージの中でPython

    Ehren
    Ehren 2013/11/11
  • Docker : eBayでの事例とポータビリティに関する議論 - ワザノバ | wazanova.jp

    [Video] http://www.youtube.com/watch?v=0Hi0W4gX—4 eBayが2年前に買収したローカルショッピングサイトMilo.comのファウンダーであるTed Dziubaが、eBayでDockerを採用したケースを紹介してます。現在はeBay Nowというローカルショップからの1時間内配送をするサービスの開発をしています。 Pythonのバーチャル環境構築ツールVirtualenvは更のUbuntuマシンでもlxmlパッケージがインストールできない。 アプリ / DB / Redis / Memcache / RabbitMQを入れたVagrant VMファイルを番にはあげられない。番環境は、ロードバランサに何台マシンが接続されててDBの関係がどうなってるかなど対処するために、基的にコンテナの配列になっている。番に対応するにはもっとコンテナ化が

    Ehren
    Ehren 2013/10/09
  • 1