こんにちは。パートナーサービス部の加藤和良です。 前回、mixi における開発者テスト について説明しました。だいぶ間があいてしまいましたが、今回は、そのテストを定期的に実行する 継続的インテグレーション の仕組みを紹介したいと思います。 テストが遅い 実は、mixi のテストは「遅い」という大きな問題を抱えています。 Micheal Feathers は『レガシーコード改善ガイド』のなかで、単体テストが高速に実行できることの重要性を解き「単体テスト」を厳しく定義します。 次に当てはまるものは単体テストではない。 データベースとやり取りする ネットワークを介した通信をする ファイルシステムにアクセスする 実行するために特別な環境設定を必要とする (環境設定ファイルの編集など) 上記に該当するテストが悪いというわけではない。多くの場合において、そのようなテストを書く価値はあり、しばしばテスト
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
Flaskの公式サイトにドキュメントもアップれています。ver.0.51かつ出来てから間もないのにその充実度はかなりのものがあり大変ありがたく読ませてもらっています。さらに、ドキュメントはSphinxで生成されていて、ソースも簡単に入手出来たりします。 日本語ドキュメントが無いかなぁと思っていたのですが、なさそうなのと必要なので日本語化しています。@ymotongpooさんや@Masahito さんも協力してくれてコツコツやっております。ソースは、bitbucketでたまにアップデートしていきます。「Flaskいいよねぇ」「日本語化してぇなぁ」という協力していただける方がいればより早く完成に近づけると思うので、pullリクエストください。 リポジトリ http://bitbucket.org/a2c/a2c.bitbucket.org/ html http://a2c.bitbucket.
最近確実に左手小指が強化されてきました、nagataです。 さてさて、今回は.emacs紹介というベタなテーマです。 いいんです。自分はまだやってないんで。 とりあえず、マイ.emacsの全貌はこちら。 Mac OS X 10.6上のemacs23で使ってます。 せっかくなので上から解説していきますよ! 基本的に、.emacsに書いてる内容→解説、の順です。 解説、というか一言コメント 初期設定 (let ((default-directory "~/.emacs.d/site-lisp/")) (setq load-path (cons default-directory load-path)) (normal-top-level-add-subdirs-to-load-path)) お決まり。 elispがつまったディレクトリを指定しています。 normal-top-level-add
みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー インストール Windows以外の多くのプラットフォームではすでにPythonが入っている。バージョンを調べて,使いたいバージョンより古いならインストーラやパッケージを使ってインストール。パッケージは「〜devel」をインストールしておく。 easy_installのインストール easy_installは標準ライブラリに含まれていないサードパーティモジュールをインストールする時に便利なので,入れとく。 ここからez_setup.pyをダウンロード,Pythonのスクリプトとして実行すると,自動的にコマンドがインストールされる。 $ easy_install pachage_name
【Emacs本を書きました】 anything.elは難しいという印象を持っている人がいるようです。 おそらく、導入しにくいのが原因ではないでしょうか。 anything.elを導入するには、変数anything-sourcesを設定する必要がありました。 しかし、これはもはや過去の話です。 Web検索というのは、ときおり古い情報にひっかかることがあります。 情報は鮮度が命です。 世界は刻一刻と変化しています。 正しい情報を得るには、一次情報に当たるのが最短距離です。 anything.elの一次情報は、開発者である僕のブログの最新記事が一次情報になります。 anything.elを検索したところ、古い情報にひっかあり、惑わされ、それでanything.elは難しいという印象を持たれるのは開発者として本意ではありません。 auto-install.elを導入するインターネットにあるLisp
【Emacs本を書きました】 gitはブランチが強力です。 ブランチは単なるポインタなので、gitではブランチの積極的な利用が推奨されています。 トピックブランチ特に「トピックブランチ」は便利なブランチ利用法です。 作業前に特定の作業用のブランチを切り、無事に実装できたらmasterにマージ(リベース)し、ブランチを削除する方法です。 トピックブランチを切ることで、現在の目標を明確にすることができます。 また、緊急の修正をする場合はあわてずに一旦masterに戻って修正し、再びトピックブランチで作業することができます。 トピックブランチについては http://progit.org/book/ja/ch3-4.html が詳しいです。 トピックブランチを作成するnewtopicとういう名前のトピックブランチを作成するには、以下のコマンドを使います。 $ git checkout -b ne
メモ。Mercurialのバージョンは1.6。 PythonからMercurialのリポジトリの状態を取得したりちょっと操作したり。軽くラッパーを書いて使ってみてる。 hgwrapper.py import os from mercurial import cmdutil from mercurial import commands from mercurial.hg import repository from mercurial.ui import ui from mercurial.match import match class MercurialWrapper(object): def __init__(self, path, encoding='utf-8'): self.path = os.path.normpath(path) self.ui = ui() self.rep
iPhoneの独壇場だったスマートフォン市場ですが、徐々にAndroidがその存在感を示しています。Androidにちょっとずつ心を奪われはじめている、iPhoneユーザさんもいらっしゃるかもしれませんね。 ご存知のとおり、iPhoneとAndroidでは、異なる考え方で設計されているため、その仕組みも操作性も異なります。「iPhoneではカンタンにできるのに、なんでAndroidではできないの?」ということもありますし、逆もまた真なり。 では、実際、iPhoneからAndroidに乗り換える際、何が期待でき、何は期待できず、どんなことに順応していかねばならないのでしょう? こちらでは、iPhoneからAndroidへの乗り換えで「カルチャーショック」を受けないためのポイントを、まとめてみました。 ■Androidに期待できること iPhoneに比べ、Androidに期待できるグッドな機能
Android(2.2)+Chrome/Firefox用:ウェブで何かを検索するには、Androidよりもデスクトップのほうが優れています。しかし、データをAndroidで見たい場合はどうしていますか? そのような時は『Chrome to Phone』を使うと、リンクや地図、コピーしたテキストなどを、直接Androidへ転送できるので、便利です。 Chrome to Phoneを使用するには、まず、アプリをAndroidにインストールします。さらに、Chromeユーザーの方はChrome用の拡張機能、Firefoxユーザーの方はFirefoxアドオンをインストールします。Chrome/Firefoxのアドオンは、ワンクリックのユーティリティです。Androidアプリを通して登録、Chrome/Firefoxで設定を行ってください。 ブラウザで見ているページや、地図をAndroidに送りたく
Python Hackathon という変態の巣窟に来ています。 virtualenv と buildout のハンズオンを受けているのですが、いくつか詰まった点があったのでメモ。 ■virtualenv 普通にインストールするとき(ベースとなるpythonのsite-packageを受け継がないようにする場合)は以下のようにします。python virtualenv.py --no-site-package myenvですがこの方法ではMac OS X 10.6付属のPython 2.6.1ではエラーになってしまいました。New python executable in foo/bin/python ERROR: The executable foo/bin/python is not functioning ERROR: It thinks sys.prefix is '/System
[ iPhone や iPad を外部ディスクのようにマウントして、写真、音楽ファイルを取り出したり、ちょっと追加できるとちょっと、いや、かなり便利なことがあります。 これまでこうした用途には iPhone Exploror を利用してhいましたが、おなじ会社 から魅力的な代替アプリ、Phone Disk が発表されていることが本家 Lifehacker で紹介されていました。 iPhone Exploror の場合、ファイルをやりとりするインターフェースが若干不自由な面がありましたが、Phone Disk では iPhone / iPad はふつうに Mac 上のディスクとしてマウントされます。 デバイス内に存在するファイルを別のアプリで開いたり、編集したりすることも可能ですので、特に iPad にまつわるさまざまな面倒なファイルのやりとりのストレスを軽減してくれます。 唯一面倒かもしれ
人気ソーシャルアプリの作り方〜超人気ソーシャルアプリの企画開発者によるパネルディスカッション : ATNDにいってきました。(Twitterタグは #sac2010) スタッフ、登壇者のみなさまおつかれさまでした。 ソーシャルアプリコンテスト 最初に、株式会社オプトさん主催のソーシャルアプリコンテストについて紹介がありました。こんなコンテストがあったの知らなかった。8/16締め切りとのこと。 以下、敬称略でパネルディスカッションの内容をメモ。聞き取れなかったところ、メモし忘れたところは抜けています。 お題その1「アプリの企画」 30個ぐらいのなかから筋のよさそうなのを育てる(DeNA) ブレストのときは動詞をいろいろ挙げる 最終的に「盗む」→「怪盗ロワイヤル」 2つパターンある。今はアプリの数が少ない(gumi) パターン1コンソールアプリのソーシャルか パターン2 時代を反映したタイムリ
WerkzeugとJinja2をつないで使いやすくしたマイクロフレームワーク。 Welcome | Flask (A Python Microframework) つなぎが小さいだけで、小さなアプリから、スケールの大きいものまで作れそう。 What does “micro” mean? ドキュメントは十分あるし、extensionsも必要最低限はあるので、Djangoに不満があるなら使ってみるのも良いかも。 extensions 本体だけでは足りないよって場合に拡張を。 フォーム Flask-WTF — Flask-WTF 0.9.1 documentation テスト Flask-Testing — Flask-Testing 0.3 documentation データベース 本体だけでSQLiteは使えるけど、SQLAlchemy使いたければ。 Flask-SQLAlchemy Cou
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く