タグ

2014年6月24日のブックマーク (9件)

  • テスト駆動インフラ/インフラCIの潮流、Serverspecが果たす役割

    「July Tech Festa 2014」基調講演のServerspecに関するレポートをお届けします。 インフラやソフトウェア開発に携わるエンジニアの集い「July Tech Festa 2014」が6月22日に産業技術大学院大学で開催された。今年で2回目を迎えるイベントで、当日はあいにくの空模様だったが夜遅くまで非常に賑わいをみせていた。数あるセッションの中からServerspecに関する基調講演のレポートをお届けする。 基調講演に登壇したのはテストフレームワークServerspec開発者の宮下剛輔氏。paperboy&co.(現 GMOペパボ)の元テクニカルマネージャーで、3月からフリーランスエンジニアとしてServerspec Operationsの屋号で活動中。 インフラ関連の技術トレンド 宮下氏は最近のインフラ※関連の技術トレンドを振り返りつつ話を進めていった。昨年2013年

    テスト駆動インフラ/インフラCIの潮流、Serverspecが果たす役割
  • sshによるユーザ列挙攻撃"osueta" - ろば電子が詰まつてゐる

    ものすごく遅いレポートですが、先日、ゆるふわ勉強会こと さしみjp ささみjpの#ssmjp 2014/06 に参加させて頂きました。 この中で、@togakushiさんの発表「OpenSSH User EnumerationTime-Based Attack と Python-paramiko」が面白かったのでそのメモです。 osuetaとは何か OpenSSHでは、パスワード認証の際に長い文字列(目安で数万文字)を与えると、存在するユーザと存在しないユーザの場合で応答速度が変わってきます。環境によりこの時間差は結構違うようですが、私の試した範囲では、 存在するユーザの場合は数十秒 存在しないユーザの場合は数秒 で応答が返りました(この応答速度は目安です、もちろんマシンスペックによって違うでしょう)。これにより、複数のユーザでsshログイン試行をおこない、その応答時間を計測することでユー

    sshによるユーザ列挙攻撃"osueta" - ろば電子が詰まつてゐる
  • 細かすぎて伝わらないmdbm

    おまけ話として、mdbmはLinear Hashingと呼ばれるハッシュアルゴリズムの影響を強く受けています。 Linear Hashingの詳細はwikipediaをご覧ください。 http://en.wikipedia.org/wiki/Linear_hashing このアルゴリズムによりmdbmは、扱うデータサイズが大きくなれば、動的にHashTableを拡大することができる非常に便利な特性を持っています。 しかし、冷静になって考えてみてみましょう。このLinear Hasingの管理用のテーブルを走査する計算コストは可能なら避けるべきです。 mdbmをはじめ、多くのKVSでは最終的なデータのサイズの予想がつくのであれば、あらかじめ大きめのサイズでデータベースファイルを作成する方が好ましいでしょう。 この辺の話に興味がありましたら、コードの「hashval_to_pagenum()」

    細かすぎて伝わらないmdbm
  • chmodやchownのreferenceオプションを知った時は目から鱗だった話

    人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 元々ホスティング会社で働いていたので、その特性上ownerやpermissionを色々と弄る事が多く、数年前の社会人時代にchmodやchownをもっと楽に使えないかなぁと調べた時に目から鱗だったのがchmodやchownのreferenceオプションでした。 今回は単にreferenceオプション楽ですよね、という記事なのでご存知の方は退屈な記事だと思いますが、まわりに聞いてみた所意外と知られていなかったりしたので、ブログエントリにしておこうと思います。 referenceオプションを使うと、任意のファイルを指定することで、変更対象のownerやpermissionを指定したファイルと同じ設定にすることができます。 例えば、/bin/pin

    chmodやchownのreferenceオプションを知った時は目から鱗だった話
  • Karma for JavaScript test runner

    今まではなんとなくtestemを使っていたのですが、Karmaを検討する必要があったので試してみました。 サンプルの設定などは↓で見ることが出来ます。 https://github.com/koba04/backbone-boilerplate testem to karma これまでは業務でもtestemを使っていて、テストの数が少ないうち(1000以下)は問題なかったのですが、 段々テストが増えてくるとCPU100%になってテストが走るブラウザが固まることが増えてきて辛い感じになってきました。 そんなときに下記の記事を見て同じような現象だなと思いKarmaを試してみることにしました。 http://developer.cybozu.co.jp/tech/?p=7089 Installation インストールはnpm install karmaするだけです。 globalでkarmaのコ

    Karma for JavaScript test runner
  • 中規模iOS開発とコードレビュー

    フリマアプリFrilのリニューアルを題材に、iOS開発でのコードレビュー事例を紹介します

    中規模iOS開発とコードレビュー
  • 第4回 Hubotのスクリプトを書いてみる | gihyo.jp

    今回は、Hubotのスクリプトが動く仕組みについて説明し、基的な機能であるチャットでの受け答えを実装する方法を説明した後に、その他の機能について紹介します。 スクリプトの基 Hubotがスクリプトを読み込み実行する仕組みを説明するために、“⁠hello⁠”と挨拶するとHubotが“⁠hi⁠”と返事する単純なスクリプトのサンプルを示します。 hello.coffee module.exports = (robot) -> robot.hear /hello/, (msg) -> msg.reply 'hi' このサンプルコードの一番外側を見ると、module.exportsに関数を代入しています。このmodule.exportsは、Node.jsでモジュールを作るための仕組みです。つまり、Hubotのスクリプトとは、引数を1つとる1つの関数を提供するNode.jsのモジュールということに

    第4回 Hubotのスクリプトを書いてみる | gihyo.jp
  • 第4回 Linuxカーネルのコンテナ機能[3] ─cgroupとは?(その2) | gihyo.jp

    表1にある「実装されたバージョン」はカーネルに実装されたバージョンで、ディストリビューションによってはこれよりも古いバージョンのカーネルにバックポートされている場合もあります。また、実装された時点では階層構造がサポートされておらず、後のバージョンで実装されたものもあります。 お使いのシステムで使用可能なサブシステムは、カーネルのバージョンだけでなく、カーネルをどのような設定で作成したかによっても違います。使用可能なサブシステムは以下のように/proc/cgroupsで確認できます。 $ cat /proc/cgroups #subsys_name hierarchy num_cgroups enabled cpuset 0 1 1 cpu 0 1 1 cpuacct 0 1 1 memory 0 1 1 devices 0 1 1 freezer 0 1 1 blkio 0 1 1 per

    第4回 Linuxカーネルのコンテナ機能[3] ─cgroupとは?(その2) | gihyo.jp
  • ある中級プログラマの告白 | POSTD

    私は中級レベルのプログラマです。 基を理解するのは得意です。過去の失敗をきちんと分析できるくらい経験を重ねていますし、もっと知るべきことは山ほどあることも分かっています。 特筆すべきは、自分で身につけるべきことを知ったうえで、それを吸収しようと積極的かつ精力的に取り組んでいる点でしょう。 プログラマとしての能力は平均的なものに過ぎないと、心から納得するまで時間がかかりました。今では、よく理解できないままに誰かの意見を受け売りする必要など感じていません。知らないことがあっても、それを他人に悟られるのは怖くありません。 でも以前は違いました。信じられないかもしれませんが、私はかつてプログラミングの達人だったのです。 自分の能力を誤って評価していたのは、比較的孤独な環境でスキルを学んだためでしょう。当時はコンピュータを持っていることさえ、ちょっと特別なことでした。使い方を知っているとなれば、な

    ある中級プログラマの告白 | POSTD
    manabou
    manabou 2014/06/24