Jenkinsの使い勝手をよくするための見直し6点 (Developers.IO)

約4年前

Jenkinsの設定を見直した話。


  1. ジョブは意味ある単位で1つにまとめるべし

  2. ジョブで実行するシェルスクリプトもgitから取得すべし

  3. EC2の起動に失敗したら後続処理を停止させるべし

  4. serverspecの実行結果はJUnit(XML)形式で出力すべし

  5. 実行結果のXMLをJenkinsで読み込んで統計グラフを出力すべし

  6. 定時実行でなくgit push hookを入れるべし

Hesokuri: Gitレポジトリを自動で同期

約4年前

Goolge+のチームが、複数のマシンにあるGitレポジトリを同期するHesokuriをオープンソースとして提供しました。オフラインのマシンがあっても、同期できるまで一定時間ごとにリトライしてくれます。

Google Code -> Githubへの移行: 大量メールを誤送信

約4年前

Google CodeからGithubに移行したプロジェクトの担当者が、Google Codeにある1,700件のイシューリストをGithubでみつけたPython scriptを使ってGithubに移す際に、1件イシューをマイグレーションする度にGithubのレポジトリをwatchしているユーザへのメール送信がトリガーされ、意図せずにユーザあたり789件のメールを送信してしまった話。


「Github API側で、短時間に一定量以上の送信が起きるときはキューを停止する実装をするべきでは。」など同情の声が多いです。


How I sent 300k emails through Github’s API in a matter of minutes
https://news.ycombinator.com/item?id=6387140

WordPressをStaticPress+Amazon S3+Vagrantでセキュリティ万全にする方法 [前編] (@masuidrive blog)

約4年前

動的な機能を使ってないのであればWordPressのデータから静的なHTMLを作成しAmazon S3にアップすれば、サーバ運用のセキュリティ対策から解放されるのではないかという取り組みが紹介されてます。

Twitter: 毎分1.7億件の分析データをさばく

約4年前

Twitterエンジニアブログ


分散アーキテクチャーに変更し、サービスのスケーラビリティは飛躍的にあがったが、複数のサービスがデータセンタ間にまたがるという構造となり、Twitterのサービスが問題なく稼働しているかどうかを監視するためのシステムも複雑化。例えば最も重要な指標の一つであるTwitter APIの成功率を分析するにも、OS / 内製&オープンソースJVMベースアプリ / Finagleなどのコアライブラリ / キャッシュやDBなどストレージ依存 / アプリレベルの指標確認など複数の要素の考慮が必要となっている。


低コストでのデータ収集 / 集計 / 保管、世界中に分散した複数のデータベースにまたがる複数のデータソースから分析データ間での相関関係を計算できるクエリ言語、監視システムなどの一連のノウハウが紹介されてます。

#twitter #devops #アナリティクス...

Snap Circuits: 初めて電気工学の世界にふれる

約4年前

「電気工学」とまで言うと言い過ぎかもしれませんが、Snap Circuitsは小学校低学年の子供が電流/電圧/抵抗の仕組みを遊びながら学ぶには本当によくできてると思います。回路の接続のパターンをテキストにしたがって変えることにより、ランプ/スピーカー/空飛ぶプロペラなどが強く/弱く反応します。また接続部が金属ボタンでできているので、取り外しの簡単で、かつアメリカのおもちゃなので丈夫にできてます。子供ときに科学雑誌の付録でこの手のものがあったような気がしますが、一度組み立てたら終わりで、継続的に遊べるようなものではなかったかと。息子が誕生日のプレゼントでたまたまもらったのですが、他のお友達のプレゼントとしても購入しました。このブログの作者と同じく、この会社とはまったく無関係ですが、おもちゃで感動したのは久しぶりです。

#教育

Coder: ハードウェアを利用してプログラミングを学ぶ

約4年前

Googleが、話題のシングルボードコンピュータRaspberry Piでプログラミングを学ぶCoderをオープンソースで提供しました。Rasperry Pi本体とCoderを利用するのに必要な付属部品もサイトで購入できます。


プログラミング教育の分野はかなりアツいですが、ハードウェアと組み合わせるアプローチは、Play-iがロボット + iPadという組み合わせで挑戦しようとしてます。

Dropboxがファイルを開いていた件

約4年前

ファイルが開封されたらそのアクセス記録を取得することができるHoneyDocsを利用して、DropboxにHoneyDocsをセットしたファイルをアップロードしたら、誰にもファイル共有してないのに開封された履歴があるという報告のブログです。


この仕組みだと、大量のファイルをDropboxにあげて、そのインフラに悪意のあるリンクを送りつけるDDos攻撃に悪用されるのではないかという指摘がでましたが、最終的には、Dropbox側が、ブラウザでプレビューするためのデータを作成するためにファイルにアクセスしていることを認め、DDoSの脅威は今のところないが念のためということでアクセスする機能を停止させてます。


Dropbox opening my docs?
https://news.ycombinator.com/item?id=6374945

ファインマン物理学 <1> がネットで無料公開

約4年前

物理学を学ぶ皆様にとってはバイブルに匹敵する名著らしいですね。Volume1がネットで無料で公開されました。


Volume2以降の扱いは未定のようですが、「Kickstarterでクラウドファンディングすればどうか?」という意見もでてます。


The Feynman Lectures on Physics, Volume I
https://news.ycombinator.com/item?id=6380187

BitTorrent Syncでファイルを共有する

約4年前

少人数のチームでBitTorrent Syncを利用してファイル共有をしているケースが紹介されてます。Dropboxなどのようにセントラルサーバを経由するのでなく、コンピュータ間でファイルを同期できます。例えば、外出から戻ってコンピュータをオンにしたときに、外出中に別のメンバがデータを更新 & 既に帰宅し、そのコンピュータがオフになっていれば同期できませんが、別サーバをたてて管理するのでなく、自宅に常に電源オンにしたPCを1台置くことで対応してます。


センシティブなデータを少人数で共有するには、社外のサーバでデータを経由させる必要がないのでよいかもしれませんね。


BitTorent Sync is a great tool for startups
http://news.ycombinator.com/item?id=6377532

Dropbox: MongoDBの書き込みロックへの対応

約4年前

Dropboxのエンジニアブログ。Mailboxは、Dropboxが月に買収したサービスです。(ちなみにMailboxを初めて使ってみましたが、便利ですね。)


MongoDBのデータベースレベルの書き込みロックが起因するユーザが気づくレベルの遅延に対処するために、最も頻繁に更新されるMongoDBコレクション(email関連データ)を独自のクラスタにシャーディングする過程で、データをコピーして確認する仕組みをgeventとpymongoを利用して試行錯誤し解決した経緯を紹介してます。


一連のPythonのスクリプトはオープンソースで提供されてます。


論理データベースレベルのロックが起きるのであれば、そもそもMongoDBを使わなければいいんじゃないのというSQL派の意見もでてます。



No SQL派「MongoDBは古くさいSQJよりとにかく早くて簡単。」


SQL派「...

eBay: インターンは世界規模

約4年前

優秀なエンジニアの採用にインターンを活用する会社は多いですが、eBayともなると規模は大きくて、今年の夏はUS/インド/中国のオフィスに大学100校から参加があったようです。今日現在で空きポジションが45件ありますので通年でインターン採用やってますね。ちなみにGoolgeは59ポジション募集中です。