2015年2月23日のブックマーク (15件)

  • Django + py.test + WebTest

    以前書いたDjango Best Practice への道 #2の補足を書きます。 以下の課題を解決するために実施したこととなります。 Django Webアプリの機能テストはpy.testとWebTestを同時に使いたいけどunittest形式は嫌 分解していきます。 Djangoのテストにpy.testを使う 以下のライブラリを利用する。 (なぜpy.testを選択したかはコチラ) pelme/pytest_django とにかくparameterizedテストで同一処理 x 別データパターンのテストを効率よく書きたかったので、py.testを選択。また、fixtureという仕組みを使い、テストデータやモックを効率よく各テストに注入できるのも嬉しいところ。 DjangoのテストにWebTestを使う 以下のライブラリを利用する。 kmike/django-webtest これを利用する

  • Django Best Practice への道 #2

    DjangoのWebアプリを開発している際、リファクタ/テスト拡充のために集めた情報をまとめます。記事は三部作の二つ目となります。 #1 Djangoプロジェクト/アプリケーション/設定ファイル構成 #2 Djangoテスト戦術 #2 補足編 #3 Django Model/View/From/Template戦術 書くこと Django Best Practiceへの道の続きで、Djangoテスト戦術について書きます。Djangoでテストをする際に、どうしたら効率的に書けるか、メンテナンスしやすくなるか、ということに焦点を置いて書きます。 書かないこと テストをするべき、テストはいらない、どこまではするべき、といった類の話は書きません。する、しない、いまはしない、どこまではする、は各チームや開発者がその時置かれているコンテクストに非常に強く依存している為、閾値的なものや考え方を書くのは

  • デザインワークをGitに含めるべき? 含めないべき? - Qiita

    「プログラマ業界」であればコンパイラの多くがオープンソース化されていますが、デザインツールはAdobeを筆頭に今もほとんどがプロプライエタリなツールです。そのことが、原理原則に沿うのを難しくしています。 複製不可能な部分に価値を置くという文化的な面 ツール開発にコストがかかるという金銭的な面 もあって、ツールがオープンに向かうことは当面なさそうです。Blenderという例外はありますが、GimpやInkscapeは実質プログラマだけのためのツールになっています。そういえば、Fireworksのオープンソース化嘆願はどうなったんだろう...? ツールが有料 デザインツールはときに高額です。また、セットアップに割く時間も「見えない」コストです。残念なことにインストールも自動化されていません。caskも使えません。$ npm installでは片付かないのです。また、アップグレードの問題もありま

    デザインワークをGitに含めるべき? 含めないべき? - Qiita
    nari_ex
    nari_ex 2015/02/23
  • WiredTigerストレージエンジン楽しい

    Case study to use MongoDB in middle-class SIer / (中規模) SIerだってMongoDBできたよ!Naruhiko Ogasawara

    WiredTigerストレージエンジン楽しい
  • はじめてのgdbデバッグ | blog: takahiro okumura

    仕事でagを利用していた時に出会ったバグを、先輩たちの力を借りてなんとかした話です。 先に結論を書くと、業務に用いていたagのバージョンが古いのが原因のようでした。version 0.15より古いとlockの実装に問題があるようです。 以下、問題の発覚からなんとかするまでの記録です。 発端 agが途中で止まる 時折、agのファイル操作が先へ進まなくなってしまう不具合がありました。 操作中に対象ファイルのロック状況が変わるとデッドロックが発生しているのでは?と想像。 気になってstraceでプロセスにアタッチすると、以下で停止していることが分かりました。 [pid 4589] futex(0x80517e4, FUTEX_WAIT, 32159, NULL FUTEX_WAIT futex(2)を引くと、futex(2)の書式に対する操作FUTEX_WAITの説明があります。

  • 『若手インフラエンジニア現状確認会』を開催した #wakateinfra

    若手インフラエンジニア現状確認会というイベントを開催しました。 全員発表型で、私(@hfm), @catatsuy, @deeeet, @rrreeeyyy, @ryot_a_rai, @y_uuk1の6名(敬称略)が参加者です。 会場をご提供いただいた@catatsuy君とpixivの皆様方に感謝。 発表資料 「今までやってきたこと」「何故今の環境を選択したか」「選択の結果、何を得たか」「そして今、何をやりたいのか」という4つをテーマに発表しました。 ここから、資料補完や当日のやりとり、そもそもの開催の経緯等を補足したいと思います。 開催のキッカケ 開催といっても、Doorkeeperやconnpassで募集をかけたりせず、Twitterのリプライのみで実現した集まりです。 (ぼんやりとした企画をしたぐらいで、開催と呼べるほどなにかをやったわけではない) Mackerel Meetup

    nari_ex
    nari_ex 2015/02/23
    僕も新米インフラエンジニアですがカーネルが好きです。その気持ちとてもわかります。
  • PostgreSQLのチューニング事例 - Qiita

    事前情報 m3.xlargeインスタンス 15GB メモリ 13 ECU = 3.25ECU(2.6GHz) * 仮想4コア DBサイズ 3.38 GB 設定値 max_connections = 100 shared_buffers = 3GB # 実メモリの20% # ここらへんのはとりあえずこのくらいで。小さすぎる分にはlog_temp_filesの設定で書き出されるので後で気づいて調整できる。 temp_buffers = 32MB work_mem = 32MB maintenance_work_mem = 128MB wal_buffers = 16MB # 迷いどころもなく16MB checkpoint_segments = 16 # HDへのフラッシュ回数を減らす effective_cache_size = 7GB # planerのため。実メモリの半分ぐらいがいいらしい

    PostgreSQLのチューニング事例 - Qiita
    nari_ex
    nari_ex 2015/02/23
  • 若手インフラエンジニア現状確認会 #wakateinfra に参加したまとめ - rrreeeyyy.com

    若手インフラエンジニア現状確認会 #wakateinfra に参加したまとめ Feb 23, 2015 若手インフラエンジニア現状確認会に参加してきた。とにかく最高だった。 若手インフラエンジニア現状確認会 きっかけはこれです。 @rrreeeyyy @deeeet @y_uuk1 飲み会しよ pic.twitter.com/zUehyYnP7v — okumura takahiro (@hfm) 2015, 1月 22 Mackerel Meetup #3 Tokyo に参加した辺りで若手少ないかつ交流そんなにないよね、みたいになって開催が決定した。 あれよあれよという間に各社から有名若手がバンバン集まってきてこの中に居ていいのか…みたいな気分はあったんだけど、参加してみたらとにかく最高だった。 資料 各人の発表資料(無い人もいる)とちょっとしたまとめ、思ったことを付しておく。 ペパボ、

    nari_ex
    nari_ex 2015/02/23
    すばらしい!おれもがんばらんと!
  • Consulが使うポートとセキュリティグループの設定 - Qiita

    "Resources": { "ClientSecurityGroup": { "Type" : "AWS::EC2::SecurityGroup", "Properties" : { "GroupDescription" : "for consul-client", "VpcId" : {"Ref" : "VpcId"}, "Tags" : [ {"Key" : "Name", "Value" : "consul-client"} ] } }, "ClientSecurityGroupIngressSerfLanTcpFromServer": { "Type": "AWS::EC2::SecurityGroupIngress", "Properties": { "IpProtocol" : "tcp", "FromPort" : "8301", "ToPort" : "8301", "S

    Consulが使うポートとセキュリティグループの設定 - Qiita
    nari_ex
    nari_ex 2015/02/23
    便利
  • Consul 0.5 新機能(参考訳) | Pocketstudio.jp log3

    Consul 0.5 がリリースされました。久々のメジャー・アップデートです。新機能や変更点がまとめられた内容が、HashiCorp のブログに投稿されました。例によって、自分の情報整理用の翻訳であり、死蔵しておくのもアレなので、参考程度にどうぞ。 ■ Consul 0.5 私たちは Consul 0.5 のリリースを誇りに思います。Consul とは、現代のデータセンタが必要とする多くの機能、例えば、サービス検出(service discovery)や設定やオーケストレーションなどを行う、データセンタ・ランタイムです。分散や高可用性、千台ものノードにスケールすることの立証や、複数のデータセンタにまたがるサービスを行えるように設計されています。 数か月前に行った Consul のメジャーリリースでは、その驚くべき安定正により、大きな新機能、ユーザ経験の改善、バグ修正に集中することができまし

    nari_ex
    nari_ex 2015/02/23
  • オーケストレーションツールとしてのConsulの使い方 - Qiita

    はじめに Consul 0.4 がリリースされ、大幅な機能追加が行われました。 また下記のリリース記事で、Consulは次のようなのものであると言っています。 Consul is a solution for service discovery, configuration, and orchestration. https://www.hashicorp.com/blog/consul-0-4.html 以前までは、オーケストレーションツールであるとは述べていなかったと思いますが、今回のリリースによってSerfのイベントシステムをConsulから使えるようになり、オーケストレーションが行えるまでになったと思います。 記事では0.4で追加された機能に注力して利用法について紹介していきます。 Consulとは 公式のドキュメントで丁寧に解説されていますので参照して下さい。 http://w

    オーケストレーションツールとしてのConsulの使い方 - Qiita
    nari_ex
    nari_ex 2015/02/23
  • Consul Cheat Sheet 日本語版 - Qiita

    これから Consul を使う方の参考になりましたら、というか自分のための整理です。 これは何? "Service discovery and configuration made easy. Distributed, highly available, and datacenter-aware." *訳:サービス検出と設定を簡単に。データセンタ間を意識した分散と高可用性。 Consul ( http://www.consul.io/ ) は、サービス検出や監視と設定を行うためのツール。Vagrant や Packer、Serf を製作している Hashicorp 社製のツールで、Go 言語で書かれており、オープンソース(Mozilla Public license, version 2.0)で公開されている。開発は GitHub を通してオープンに行われている。 Serf と Consu

    Consul Cheat Sheet 日本語版 - Qiita
    nari_ex
    nari_ex 2015/02/23
  • 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
    nari_ex
    nari_ex 2015/02/23
  • Chef-soloからItamaeに完全移行した話 - Qiita

    ※2016/04/24 追記 昨年末にItamae meetupで話した時のスライドリンクを追記しました。 Databag > itamae-secret の話やConsul連携の話が追加されています。 http://www.slideshare.net/tsuyoshitorii5/itamae-meetup-vol1public 現在自分が運用管理しているChef-soloプロビジョニングの仕組み 1 を Itamaeに移行した時のお話をしようと思います。 管理規模としては大規模ではなく、小〜中規模的なところかと思います。 (ロールによってレシピ切り分けたり、環境毎にレシピ用意したりなど…) 最初に: Itamaeについて https://github.com/itamae-kitchen/itamae 軽量なChef と考えればよいでしょう。 Chefの複雑さを取り除き、必要十分な部

    Chef-soloからItamaeに完全移行した話 - Qiita
    nari_ex
    nari_ex 2015/02/23
  • ApacheのAddHandlerはセキュリティ上の懸念から使用すべきではない - このブログはURLが変更になりました

    元ネタはこちら。 Apache AddHandler madness all over the place Gentoo Bug 538822 どういうことか 次のような指定は危険である。 AddHandler php5-script .php この時に指定される.phpはファイル名の末尾である必要はない。例えば、 aaa.php.html bbb.php.pngなどもphp5-scriptとして解釈されてしまうのだ。これは.XXX.YYYと複数の拡張子が書かれた場合、.XXXと.YYYもAddHandlerの対象となることが原因。 ちなみに次のような場合にはphp5-scriptとして解釈されない。 ccc.php_foo (.php_fooとして解釈されるため) ddd.php_bar.html (.php_barと.htmlとして解釈されるため)実はこのことはApacheのドキュメン

    ApacheのAddHandlerはセキュリティ上の懸念から使用すべきではない - このブログはURLが変更になりました
    nari_ex
    nari_ex 2015/02/23