タグ

2014年2月17日のブックマーク (19件)

  • Awsのspot instanceでimmutableinfrastructure

    1. EC2 Spot Instanceで Immutable Infrastructureな deploy手順 Silbird, Inc. CEO & Infrastructure Engineer Sho Kaneko @sho49cc 2. 0.デプロイでくまった • サービス稼働中のままでアプリケーションを更新 するには、LBから切り離しながら1台ずつ動作確 認してLBに組み込む必要がある。 • ELBちゃん、レスポンスがなかなかブリッ子。 Health Check依存でUnhealthyにしてもなんか挙動 がぁゃιぃ… • どうにか安全にドカンとdeploy出来ないものか ね? • Immutable Infrastructureなる方法がイケてるとかな んとか • でもそれってオンデマンドだとコストで憤死する よね… • Spot Instance使えばコストも抑えられるんじゃ

    Awsのspot instanceでimmutableinfrastructure
  • Flatis

  • Railsで規約に従わないテーブル名を使う - ゆとRubyist日記

    Ruby On Railsでデータベースを扱う時は、Railsの規約に従ってモデル名、テーブル名等を決定します。しかし、古いシステムからDBを引き継ぐ、他のプログラムとDBを共有する等、場合によっては、規約から外れた名前が必要になることがあります。 今回は、そんな場合にどうするかの内容です。 なお、Rails単体で新しくアプリを作る場合は、規約にきちんと従うことを強くお勧めします。 この内容は、Yokohama.rbのLT大会で話した内容をまとめ直したものです。(初めてのLTだったので、スライドを晒す勇気がなかったので、日記にまとめて書くことにしました。) テーブル名を規約から変える 例えば、ユーザのテーブルを作る場合、モデル名は大文字始まりの単数形(例:User)、テーブル名は小文字始まりの複数形(例:users)を使うのがRailsの規約です。Userという名前のモデルクラスがある場合

    Railsで規約に従わないテーブル名を使う - ゆとRubyist日記
  • Objective-CでNSArray配列の順番を逆にする « Code? – Design?

    チャオ! NSArrayで中身の順番を逆にしたい場合は以下でOKOKです! NSArray *reverseAr = [[元配列 reverseObjectEnumerator] allObjects]; こんな感じで使います。 NSArray *array = [NSArray arrayWithObjects:@"1", @"2", @"3", @"4", nil]; NSArray *reverseAr = [[array reverseObjectEnumerator] allObjects]; NSLog(@"%@\n%@", array, reverseAr); array ( 1, 2, 3, 4 ) reverseAr ( 4, 3, 2, 1 ) 以上!

  • Angular, Ember, Backbone:どのJavaScriptフレームワークを選ぶべきか? | ReadWrite Japan

    Angular, Ember, Backbone:どのJavaScriptフレームワークを選ぶべきか? JavaScriptフレームワークの選択は、開発者の好みよりもプロジェクトとの相性が大切だ。 JavaScriptベースのアプリケーションやウェブサイトのアイデアを思いついたとして、次にしなければならないのが正しいオープンソース・フレームワークを選ぶことだ。 この記事を読んでいるということは、あなたはまだ初心者や見習いの開発者かもしれない。あるいは自分のアイデアの開発を外部に委託しようと考えているのかもしれない。AngularEmber、Backboneの名前ぐらいは聞いたことがあるかもしれないが、それらがどういったもので、なぜそれらがウェブ開発の助けになるかについてまでは知らないかもしれない。 開発者はJavaScriptを様々なウェブ・アプリケーションに使用している。それはJa

    Angular, Ember, Backbone:どのJavaScriptフレームワークを選ぶべきか? | ReadWrite Japan
  • objective-cのweak, strongについて挙動の検証 - 京都で働くCTOの日記

    京都のしがないスタートアップで働くCTOです。 技術ブログ始めてみました。 よろしくお願いしますー。 さてさて、社内勉強会用にobjective-cのproperty属性についてスライドを作りました。 objective-c propertyの属性について from Hiroki Uemoto 社内で説明した時に ・ 強い参照(strong) ・ 弱い参照(weak) についてツッコミが入りました。 この記事ではもう少し掘り下げて書いてみたいと思います。 ○ オーナーシップ ARC環境において、オブジェクトが解放されるかどうかは別のオブジェクトがそのオブジェクトの所有権を持つかどうかで決まります。所有権をもつオブジェクトがいる場合は、そのオブジェクトは解放されません。所有権を持つオブジェクトがいなくなると解放されます。この所有権の事を「オーナーシップ」といいます。 ○ 強い参照 ARC環境

    objective-cのweak, strongについて挙動の検証 - 京都で働くCTOの日記
  • CSRF 対策用トークンの値にセッション ID そのものを使ってもいい時代は終わりつつある - co3k.org

    CSRF 脆弱性対策には攻撃者の知り得ない秘密情報をリクエストに対して要求すればよく、そのような用途としてはセッション ID がお手軽でいいよねという時代があったかと思います。 いや、もちろん、 CSRF 対策の文脈だけで言えば今も昔も間違いというわけではありません。セッション ID が秘密情報であるのは Web アプリケーションにおいて当然の前提ですので、 CSRF 対策としてリクエストに求めるべきパラメータとしての条件はたしかに満たしています。 たとえば 『安全なウェブサイトの作り方』 改訂第6版では以下のように解説されています。 6-(i)-a. (中略) その「hidden パラメータ」に秘密情報が挿入されるよう、前のページを自動生成して、実行ページではその値が正しい場合のみ処理を実行する。 (中略) この秘密情報は、セッション管理に使用しているセッション ID を用いる方法の他、

  • installコマンドでコマンド数を減らす - @znz blog

    mkdir とか touch とか chown とか chmod とか個別に実行しなくても install コマンドだけでまとめて出来るという話です。 問題例 Dockerfile の RUN などが典型的な例ですが、他でも例えば mkdir -p /home/foo/.ssh; chown foo /home/foo/.ssh; chmod 0700 /home/foo/.ssh のようなことをすることがあると思います。 特に Dockerfile の場合は RUN ごとにイメージがたまっていくこともあって、 ; や && でつなげて単独の RUN にまとめて書くことも多いと思います。 install でディレクトリを作る たとえば mkdir -p /home/foo/.ssh chown foo /home/foo/.ssh chgrp users /home/foo/.ssh ch

  • mod_wsgi: WSGIDaemonProcess - Pyxis 開発ブログ

    mod_wsgi には embeded mode (Apache のプロセスと一心同体) とdaemon mode があるのですが、小さなWSGIスクリプト以外では daemon mode を使った方が応用が利きます。 そこで、mod_wsgi の daemon mode について調べてみました。 まず、 mod_wsgi の daemon mode (以降、WSGIDaemonProcess で表します) を図で表すと次のようになります(たぶん)。WSGIDaemonProcess と Apache は Proxy でゆるくつながっていて、設定ファイルでの WSGIDaemonProcess 宣言1つにつき複数の DaemonProcess が存在し、それぞれにまた複数のスレッドがぶら下がっています。 以下、 WSGIDaemonProcess の特徴です。 Apache のプロセスとは

    mod_wsgi: WSGIDaemonProcess - Pyxis 開発ブログ
  • MySQL ユーザのホストをワイルドカードで指定してもlocalhostは含まれない

    MySQL ユーザのホストをワイルドカードで指定してもlocalhostは含まれない 2012-02-04 MySQLをインストールしたので、とりあえずワイルドカードでホスト名を指定してテスト用のユーザを作成。 mysql> show databases; +-------+ | Database | +-------+ | information_schema | | hoge | | mysql | | performance_schema | | test | +-------+ 5 rows in set (0.00 sec) mysql> grant select on hoge.* to testuser@'%' identified by 'password'; Query OK, 0 rows affected (0.07 sec) mysql> select host,u

  • NightWatch - node製のSeleniumクライアント

    MOONGIFTはオープンソース・ソフトウェアを紹介するブログです。2021年07月16日で更新停止しました おお、これは表示系のテストが容易になりそう! Seleniumは多数のブラウザを操作してテストを自動化できます。RubyJavaなど様々なプログラミング言語向けにソース出力が可能で、各言語で作られたシステムと組み合わせることができます。 そんなSeleniumをnodeと組み合わせて使えるのがNightWatchです。書き方も使い方も柔軟で、これはテスト以外の用途でも活躍しそうです。 まずはテストの書き方。次のようなコードになります。 module.exports = { "Demo test Google" : function (client) { client .url("http://www.google.com") .waitForElementVisible("bod

    NightWatch - node製のSeleniumクライアント
  • リンク先を先読みしてページの速度をあげるJSライブラリ「InstantClick」:phpspot開発日誌

    InstantClick ? JS lib to make your website instant リンク先を先読みしてページの速度をあげるJSライブラリ「InstantClick」 リンクにマウスホバーした時点でAJAXでリンク先を先読みします。ホバーした時点でクリックしそうである、ということでロードに行き、実際にクリックした際にページの表示速度が早くなるというもの。 先読みというとWEBサーバに負荷をかけるというあまりよい印象はなかったりしますが、ホバー時のみであり自サイト内での利用に留め、サイト高速化による恩恵を受けられるという判断であれば実装してもよいのかと思います 関連エントリ Mediumのアバターズーム風エフェクトがかけられるJSライブラリ「Zoomerang.js」 画像の一部分を虫眼鏡のように拡大できるJSライブラリ「Magnifier.js」 Twitter製の高速な

  • ロゴを作る時に知っておきたい11の基本ルール

    効果的なロゴを作るには必要なルールが存在します。 残念なことに多くのロゴは、それがやり過ぎだったり、足らなかったりすることがあります。 ロゴを作る時、作る前に、知っておきたい11のルールを紹介します。 11 STEPS TO A PERFECT LOGO 下記は、その11のルールを意訳したものです。 ※当ブログでの翻訳記事は、元サイト様に許可を得て翻訳しています。無断翻訳・まとめ記事の転載をしているあのブログの注意喚起を海外のブロガーから聞くのでご注意ください。

  • Woothee を PHP に移植した (2014-02-18 追記あり) | Born Too Late

    TL;DR User Agent 判定器 Woothee の PHP 実装を作った Packagist には登録できてなかったりするので少々お待ちください (2014-12-18 追記 Packagist に woothee/woothee として登録しました) Woothee は便利プロジェクトなので盛り上がってほしい Woothee とは Woothee というのは @tagomoris さんが作った User Agent 判定器プロジェクトです。 Perl, Java, JavaScript, Python と、複数の言語に実装が用意されていて、元になるデータセットや、テスト用のデータセットは YAML 形式で公開されています。 詳しくは以下のブログ記事を読むのが良いでしょう。 UserAgent判定器 Project Woothee はじめました 最近の多言語対応User-Agen

    Woothee を PHP に移植した (2014-02-18 追記あり) | Born Too Late
  • Building JavaScript Tools

    Greg Franko 2/12/2014 Use arrow keys to navigate About The Speaker Greg Franko JavaScript Engineer at AddThis Open Source Developer Author Speaker What Types of Tools Are We Talking About? Static Code Analysis What Do These Tools Typically Do? Analyze Code Performance, Maintainability, Validation Generate Code For Transpilers, Minifiers, Visualizers Could You Provide Some Examples? UglifyJS Compre

    Building JavaScript Tools
  • berkshelf で path を変更した場合は、knife[:berkshelf_path] を変える。 - scramble cadenza

    イントロ これに気づかなくて結構ハマった。 症状 berkshelf を使って、cookbook を install するとき、bundler 風に以下のように path を変えた。 berks install --path vendor/cookbooks すると cookbook が見つからないと怒られ始めた。 ================================================================================ Recipe Compile Error ================================================================================ Chef::Exceptions::RecipeNotFound -------------------------

    berkshelf で path を変更した場合は、knife[:berkshelf_path] を変える。 - scramble cadenza
  • Underscore.jsがちょっと便利だったので紹介してみる。 - (define -ayalog '())

    数日前@naoiwata師匠に「JavaScriptにパターンマッチってないですよね?」って聞いていたら「Underscore.jsならあるかも」みたいなことをそそのかされたので少し触ってみた。 Underscore.jsは関数型プログラミングをしたい人のための軽量ライブラリだという認識でだいたい良いと思います。最近、「JavaScriptで学ぶ関数型プログラミング」みたいなも出ているみたいで、ちょっと中身みたけどUnderscore.jsの使い方ぽい感じのだったので興味ある人は読んでみるといいかと*1。 ちなみに僕が求めているパターンマッチは文字列の正規表現ではなくて、関数型言語でいわれるようなパターンマッチ。Gaucheのutil.match的なやつ。 で、とりあえずUnderscore.jsなんぞということでバーっとひと通りみてみた。 Underscore.js だいたい大きく6

    Underscore.jsがちょっと便利だったので紹介してみる。 - (define -ayalog '())
  • 第311回 autopkgtestでパッケージのテストを自動化する | gihyo.jp

    年末年始ムードも落ち着き、今年も年頃の男女が共にそわそわする一大イベントのシーズンがやってきました。その結果に一喜一憂し、人によっては人生を左右することもあるイベント……そうテスト(入試や学年末試験など)ですね。そんなわけで今回はパッケージのテストについてお話しします。 Debian形式のパッケージとそのテストツール UbuntuはDebianをベースにしたディストリビューションであり、パッケージ管理システムもパッケージ形式もDebianと同じものがそのまま使われています。ユーザーがソフトウェアセンターやapt-getコマンドからダウンロードするものの実態は、このDebian形式の「バイナリパッケージ」と呼ばれるものなのです。 あるソフトウェアのバイナリパッケージはおもに次のようなルートで生成されます。 ソフトウェアの開発元(アップストリーム)からソースコードのアーカイブを取得する ソース

    第311回 autopkgtestでパッケージのテストを自動化する | gihyo.jp
  • なぜErlang/OTPなのか - kuenishi's blog

    このテーマ自体はさんざん語り尽くされていることである。たとえば山口君によるWhy Erlang? というブログ記事の翻訳や、戦闘機Programming Erlang: Software for a Concurrent World (Pragmatic Programmers))を読めば世間でいわれていることはよく分かる。もしくは、同僚が最近書いたソフトウェアデザインの記事を読んでもらってもよいだろう。 Software Design (ソフトウェア デザイン) 2014年 02月号 [雑誌] 出版社/メーカー: 技術評論社発売日: 2014/01/18メディア: 雑誌この商品を含むブログ (3件) を見る 私自身もErlangに出会ってから5,6年が経とうとしているが、当初はそのよさがよくわかっていなかったように思う。しかし、仕事で高可用性が要求される複雑な分散システムに携わるよう

    なぜErlang/OTPなのか - kuenishi's blog