タグ

2013年12月11日のブックマーク (17件)

  • sbtの密結合な内部アーキテクチャ - xuwei-k's blog

    sbtというと、独特なSettingのシステム*1や、Scalaで記述する内部DSL*2ばかりが注目されがちです。それらは、初心者にわかりづらかったりして批判されることが多かったり、逆にsbtを使い慣れた人にとってはとても強力で面白い仕組みです。 Settingのシステムに注目すると、汎用的に色々な言語のビルドにも使えそうに思えます。事実、sbtでC++のpluginを作っている人もいます。 しかし、sbtはあくまで「Scala(とJava)のためのビルドツール」です。 これは「単にScalaをデフォルトでサポートしてる」という意味にとどまらず、おそらく皆さんが思っているよりもずっと深い意味で「Scalaに特化したビルドの仕組み」が内部に備わっています。 今回は、そんな「sbtの内部アーキテクチャ」の紹介をします。 以下、かなり長いです。読み物としては面白いかもしれませんが、単にsbtを使

    sbtの密結合な内部アーキテクチャ - xuwei-k's blog
  • 最近行ったTDDの講演や寄稿について - t-wada の日記(旧)

    こんにちは、だんだんブログ勘を取り戻していきたい和田です。このエントリは TDD Advent Calendar 2013 の 11 日目のエントリです。このエントリでは、最近行ったテスト駆動開発関連の講演や寄稿に関して、この機会にまとめておきたいと思います。 DevLOVE 現場甲子園 まず 11/9 にDevLOVE現場甲子園2013にて「テストを書く文化を育てる戦略と戦術」というタイトルで短い講演をさせて頂きました。DevLOVE 甲子園は楽天第2タワー大広間の四隅で最大四つの講演が同時に行われるという意欲的なイベントで、話す方も気合い(と声量)が必要な場でした。 この講演では、開発者が自動テストを書く文化が無かった組織に自動テストの文化を育てる際の姿勢、心がけについて短い時間でまとめました。そのときの講演資料がこちらです(ライセンスは CC BY です)。 テストを書く文化を育てる

    最近行ったTDDの講演や寄稿について - t-wada の日記(旧)
  • WBS砲対策まとめ

    普段はこんなエントリーばかりですが… 突然のAWS Advent Calendar 2013の11日目のエントリーです。 ほぼ更新していない&写真ネタのBlogなのに突然のAWS(AA略)ですみません。 最近「どのカメラがいいですか?」と同じくらいの頻度で、 Startupの皆さんに「今度WBS(WORLD BUSINESS SATELLITE)に紹介されるんですが…」と 相談いただくことが多いのでまとめておきます。 カメラは最近E-PM2レンズキットが25,800円くらいで投げ売りされてたのがオススメです。 で、テレビ対策(番組内での紹介)ですね。まずあえてコスト感から。 正直、時間帯・取り上げられ方・サービス・アプリ次第ってのが正解なんですが… すげーざっくりですが、これから伸びてくって感じのStartupなサービスなら予算1万円も見ておけば、 なんとかなるんじゃなかいかと

    WBS砲対策まとめ
  • 技術の種を蒔こう

    Shin x blog Advent Calendar 2013 の 11 日目です。 日常が忙しく、新しい技術なんか追ってられない。わかります。 そんなの使うかどうかも分からないのに今やる必要無いよね。困った時に探せば良いでしょ。それもわかります。 そんな忙しい毎日だからこそ、技術の「種」くらいは蒔いておきましょうという話です。 技術の種 「技術の種」とは何でしょう。 私がイメージしているのは、その技術のイメージをざっくりと朧気ながらで良いので掴んでおくということです。(ユースケースもあるとより良いです。) きちんと土を掘って、一つ一つ植えられれば良いのですが、じっくりと植える時間はなかなか無いと思うので、とりあえずバサッとで良いので、撒き散らしておきます。 そうしておいた種は、何かのきっかけで芽を出すことがあります。 多くは解決すべき問題に直面した時です。この問題は手元の技術では解決で

  • SQLでエスケープなんてしたら負けかなと思ってる。 - めもおきば

    オレオレSQLセキュリティ教育は論理的に破綻している | yohgaki's blog 「プリペアードクエリが基だけど、動的に SQL を組み立てる場合もあるから、そういう場合に備えてエスケープも知っておいたほうがいいかも」 - Togetterまとめ SQLインジェクション対策で大垣靖男氏は何を勘違いしていたか | [ bROOM.LOG ! ] エスケープとプレースホルダをめぐる議論 - Togetterまとめ SQLインジェクション対策としてのプリペアドステートメントとエスケープについての議論 - Togetterまとめ IPAの「安全なSQLの呼び出し方」が安全になっていた | yohgaki's blog SQLへの安全な値の埋め込み方について、ここ数日で色々議論というか意見の投げ合いがありましたが、自分としての考えをまとめておきます。 1. SQLに値を埋め込む場合は、プリペ

    SQLでエスケープなんてしたら負けかなと思ってる。 - めもおきば
  • 過負荷に耐えるWebの作り方―― 国民的アイドルグループ選抜総選挙の舞台裏

    2013年12月25日紙版発売 株式会社パイプドビッツ 著 A5判/224ページ 定価2,728円(体2,480円+税10%) ISBN 978-4-7741-6205-8 ただいま弊社在庫はございません。 Gihyo Direct Amazon 楽天ブックス honto ヨドバシ.com このの概要 恒例となった国民的アイドルグループ選抜総選挙。このウェブ投票システムに求められるものは非常にシビアな条件である。秒間10000アクセス,不正が行われないこと,そしてダウンしないことが挙げられる。実はこのシステムはわずか2ヶ月で構築された。しかもごく少数のエンジニアの手で作り上げられたのだ。書はインフラとソフトウェアの両面から,パイプドビッツ開発部が作り上げた過負荷(アクセススパイク)に耐えるシステム作りを解説する。これらは多くのウェブエンジニアにとって技術向上の手がかりとなるだろう。

    過負荷に耐えるWebの作り方―― 国民的アイドルグループ選抜総選挙の舞台裏
  • #11 MySQL Master HA を AWS で動作させる場合のフェイルオーバー支援ツール MHA::AWS のご紹介 - KAYAC engineers' blog

    こんにちは、@fujiwara です。 2013年を振り返ると、春の新卒研修での社内ISUCON、秋のISUCON予選と選でずっとISUCONをやっていたような気がしていまして、さてそれ以外になにか……そういえばインフラ回りの仕事もしていましたね。 カヤックのサーバインフラ全体としては、Amazon Web Service(AWS) への移行が進んだ1年でした。いままで自社サーバでやっていたソーシャルゲームや、比較的アクセスが多いとある自社サービス(これは後ほど事例公開されるかも知れません) を、AWS上で構築したり移行したり、という仕事が多かったです。 AWSでサービスを構築する場合、MySQL については RDS を利用する EC2 インスタンス上に MySQL サーバを稼働させる というどちらかの手段を取ることになります。 RDSはフェイルオーバーやバックアップを自動でやってくれま

    #11 MySQL Master HA を AWS で動作させる場合のフェイルオーバー支援ツール MHA::AWS のご紹介 - KAYAC engineers' blog
  • systemdを本番運用してわかったこと - mixi engineer blog

    こんにちは、運用部 アプリ運用グループの清水です。モンスト仲間募集中です。 以前、Fedora 8からFedora 17への移行のお話を書きました。Fedora 17ではsystemdがデフォルトで使われています。そのsystemd番環境で運用して1年以上が経ち、様々な経験をしてきました。systemdの環境で知っておくと役に立つと思われることについていくつか紹介したいと思います。 まずは、systemdの概要について簡単に紹介します。 systemdの概要と歴史 systemdは、従来のSysVinit/Upstartに代わるもので、Linuxサーバの起動時に初期設定やサービス起動をおこなうことにとどまらず、プロセスやリソースなど様々な管理をおこなうデーモンです。 Fedora 14の頃(2010年11月リリース)にTechnology Previewとして提供され、Fedora 1

    systemdを本番運用してわかったこと - mixi engineer blog
  • クライアントサイドJavaScriptのライセンス管理 | GREE Engineering

    最近シリコンウエハーもらって嬉しかったago(@kyo_ago)です。 このエントリはGREE Advent Calendar 2013 11日目の記事です。 今回はクライアントサイドJavaScriptにおけるライセンス管理の問題を取り上げたいと思います。 ライセンス管理の問題点 「使用しているライブラリのライセンス管理をどうするか」はクライアントサイドJavaScriptにかぎらず発生する問題ですが、クライアントサイドJavaScriptには以下の様な特徴があるため問題が複雑になります。 コードが結合、圧縮される場合がある クライアントサイドJavaScriptでは読み込みの速度を上げるため、使用しているライブラリの結合、圧縮を行うことがあります。しかし、この時誤ってライセンス文が捨てられてしまうことがあります。 ソースが外部に公開される クライアントサイドJavaScriptではソー

    クライアントサイドJavaScriptのライセンス管理 | GREE Engineering
  • PHP はいつもわたしに新鮮な驚きを与えてくれる - 猫型の蓄音機は 1 分間に 45 回にゃあと鳴く

    ことの始まり PHP の srand 関数について調べていて、ひょんな拍子にsrandのseedに文字列(numericである必要はあるけど)を渡せることを知った。 では、ここに long を超えるものを放り込むとどうなるのか。 では結果をごらんください。 「!?!?」 なぜこうなるのか 秘密は PHP 処理系の zend_parse_arg_impl 関数にあります。 zend_parse_arg_impl はphpの関数に渡された引数をパースする部分で、longを要求する関数にstringな値が渡された時の処理はこの部分ですね。 https://github.com/php/php-src/blob/master/Zend/zend_API.c#L335 さて、読み進めていくと「ん!?!?」ってなる行があるはずです。 この行ですね https://github.com/php/php-

    PHP はいつもわたしに新鮮な驚きを与えてくれる - 猫型の蓄音機は 1 分間に 45 回にゃあと鳴く
  • jobscheduler-ja

    ようこそ、「日JobScheduler ユーザーグループ(NJUG)」へ オープンソースジョブ管理ツール「JobScheduler」を中心に運用自動化ツールの情報交換、事例等のノウハウ蓄積を行っていきたいと思います。 メーリングリスト https://groups.google.com/forum/?fromgroups#!aboutgroup/jobscheduler-ja Facebookページ http://ja-jp.facebook.com/pages/Jobscheduler-Japan-ユーザーグループ/594469610565511

  • JobSchedulerでちょっと面倒なバッチを設定してみました

    kzhirataです。今年も残すところあと20日。あっという間に一年が過ぎようとしています。 変わったことといえば、やけいで太ったことでしょうか。 今回は、JobschedulerというOSSのスケジューラソフトを紹介します。 ある程度の規模のシステム開発においては、システム間連携は必須です。 既存のシステム・クラウドの様々なサービスを連携することが増えてきています。 ここ数年は、商用ソフトは高いため、ジョブスケジューラソフトもOSSでという要望をお客様から聞くことも増えています。 JobSchedulerとは、ドイツのSoftware Open Source社(以下、SOS社と記述)が開発したソフトウェアです。 Windows版とLinux版は、OSSとして公開され無料で使うことができます。 JobSchedulerの導入については、@ITのJobSchedulerの記事がわかりやすい

    JobSchedulerでちょっと面倒なバッチを設定してみました
  • Webフォントをできるだけ軽く表示する圧縮の.htaccessや遅延ロードJSを作ってみた | 初代編集長ブログ―安田英久

    Webフォントをできるだけ軽く表示する圧縮の.htaccessや遅延ロードJSを作ってみた | 初代編集長ブログ―安田英久
  • jadeを知る - LIFULL Creators Blog

    こんにちは、@nazomikanです (この記事はNode.js Advent Calendar 2013の10日めの記事です) nodeでテンプレートエンジンといえばjade その一方で公式ドキュメントで書かれていることだけではだいたい痒い所に手が届かないのでissueから拾い集めたノウハウとか将来的な話とかを書きます 属性の存在が条件によって分かれるケースの書き方 urlが存在するときdata-url属性をつける //truthy: <p data-url="xxx"> //falsy: <p> in jade: p(data-url=(url ? url : false)) 属性の値が条件によって分かれるケースの書き方 boolがtruthyの時はclass="is-show"を、そうでない時はclass="is-hide"をつける //truthy: <p class="is-sh

    jadeを知る - LIFULL Creators Blog
  • X11 forwarding

    はじめに KMC の黒魔術師 @t_uda です。昔はブラウザで動く黒魔術1が専門でしたが、最近は TeX 黒魔術2にも手を染め始めました。 この記事は KMC アドベントカレンダー 2013 の 10 日目の記事です。昨日の記事は nona 君の「楽しいトンネルの掘り方(オプション: -L, -R, -f, -N -g)」でした。SSH アドベントカレンダー 2013 の 3 日目の今日は X11 forwarding の話をします。一応、専門的な説明は避けて (Open)SSH 初心者向けにカンタンな「使い道」の紹介をするつもりです(技術的な話を期待していた人ごめんなさい)。 SSH ⇒ CUI ? 突然ですが皆さん“SSH”にどのよう印象をお持ちでしょうか。 「黒い」? 「コマンドライン」? 「リモートで何かできる」? 日課と趣味が SSH な KMC 部員3からはこんな言葉は出てこ

    X11 forwarding
  • ブログのカスタマイズ履歴はMacの標準コマンド Git で管理するのがお勧めです

    やたらとブログに手を入れても、何をしたのか一切覚えていない @azur256 です。その理由は、自分で覚えるのをやめているからです。あ、記憶力が悪いという理由もあります(笑) <追記: 2013/12/12> 会社の同僚からコメント貰ったのですが、Git を使うには XCode をインストールが必要なようです。XCode はデフォルトで入れてしまっているので気付きませんでした。失礼しました。 Xcode は無料でインストールできますので、Git を試す方は XCode をインストールしてください。 Xcode (価格: 無料) カテゴリ: 開発ツール 販売元: Apple </追記> タイトルにある「Git」とは、実は「ソースコード管理システム」です。「ソースコード管理システム」なんて言われるととても小難しく感じると思いますが、その機能のほんの一部だけを使うなら、とても簡単に使えますし、何

    ブログのカスタマイズ履歴はMacの標準コマンド Git で管理するのがお勧めです
  • アフィリエイトのやり方とは? 初心者が稼ぐ為の基本知識