タグ

ブックマーク / naoya-2.hatenadiary.org (17)

  • Deploy to Heroku / Webアプリケーションのポータビリティ再び - naoyaのはてなダイアリー

    Heroku の新機能で Heroku Button が出た。 見るよりも、触る方が早い。以下のボタンを押すと md2inao をあなたの Heroku アカウントにデプロイして、動かすことができる。 ボタンを押すと以下のような画面が出て、Deploy to Free を押すと直ちにデプロイが始まる。 GitHub からソースコードが Heroku にデプロイされて、Web アプリケーションが動く。 ご満悦。 このボタンを README.md に置いておけば、Webアプリケーションを自分で動かしたいなと思ったユーザーが、自分自身の環境で好きな時にそれをデプロイして使うことができる。 すなわち、Heroku Button で、URI を介した Web アプリケーションの交換が可能になった。 Heroku Button Heroku Button を有効にするための前提は割とシンプルで Git

  • GitHub 時代のデプロイ戦略 - naoyaのはてなダイアリー

    少し前までアプリケーションのデプロイと言えば capistrano などをコマンドラインから叩いてデプロイ、みたいなことをやっていたが、最近は少し様子が違うのでそのやり方、KAIZEN platform Inc. での事例を紹介する。 GitHub のイベントを契機に CI as a Service にデプロイを担当させる GitHub で Pull Request を送って開発するのが前提になっているのは以前にも紹介した。 最近は Travis CI や CircleCI などに代表される CI (Continuous Integration) as a Service があって、CI も自分たちで環境を構築しなくてもクラウドに任せることができる。KAIZEN では CircleCI を積極的に使っている。 これらの CI as a Service は基的に GitHub と連携するこ

    GitHub 時代のデプロイ戦略 - naoyaのはてなダイアリー
  • Vagrant + Jenkins の CI を AWS でも回す - naoyaのはてなダイアリー

    昨晩 Jenkins と Vagrant で CI だ、と書いたら という反応があった。確かに、可能なら物理サーバに依存しない形でテストできるとより嬉しい場面もありそうですね。 しかしそこは Vagrant。Vagrant はバージョン 1.1 から、バックエンドを VirtualBox だけでなく AWS (EC2) などの IaaS を指定して仮想サーバーを作ったり壊したりできるようになっています。詳しくは http://d.hatena.ne.jp/naoya/20130315/1363340698 この辺を。この機能を利用すれば昨日の Jenkins + Vagrant のフローをほとんど変えずに、EC2 のインスタンスでのインテグレーションテストができそうですね。 速見もこみち「では、早速やっていきましょう。」 Multi VM でローカル/リモート両対応に せっかくなので Vi

    Vagrant + Jenkins の CI を AWS でも回す - naoyaのはてなダイアリー
    yo_waka
    yo_waka 2013/05/21
    もこみちの扱いが雑w
  • Vagrant - naoyaのはてなダイアリー

    先日 Vagrant を触ってみたら便利すぎて鼻血が出ました。しばらく見ないうちに色々進んでるもんですねえ、いやはや参っちゃいました。 Vagrant は仮想マシンの VirtualBox のフロントエンドに相当する、ruby で書かれたツールです。vagrant コマンドなどを使ってコマンドラインから簡単に新しい VM を作れる。 % gem install vagrant % vagrant box add centos http://developer.nrel.gov/downloads/vagrant-boxes/CentOS-6.3-x86_64-v20130101.box % vagrant init centos % vagrant upこれだけで CentOS の Linux box をローカルマシン内に立ち上げることができる。*1 *2 なにこれすごい。 % vagra

    Vagrant - naoyaのはてなダイアリー
  • Webはインターネットになった - naoyaのはてなダイアリー

    先週金曜日にエンジニアサポートCROSS2013に行ってきた。目当ては @Jxck_ さんホストによる次世代Webセッション。セッション自体は前後半に分かれていて 前半はプロトコル編。SPDY (wikipedia) や HTTP/2.0 の動向やその課題点など 後半はアーキテクチャ編。プロトコルが変わった上で、その上で動くソフトウェアのアーキテクチャが云々 という内容でした。前半がより技術寄り、後半はテーマ的にもより広範の話題を扱うという感じでどちらも面白かった。 CROSS 2013レポート(2) - mad-pの日記 こちらに細かいログがあります。 話の前提になる SPDY や HTTP/2.0 周りの昨今については 【HTTP 2.0の最新動向】 第1回:HTTP/2.0の策定、ついに始まる - INTERNET Watch Watch 【HTTP 2.0の最新動向】 第2回:HT

    Webはインターネットになった - naoyaのはてなダイアリー
  • Titanium Mobile 2.0 対応など - naoyaのはてなダイアリー

    Titanium Mobile がメジャーバージョンアップして SDK が 1.8 から 2.0.1 になりました。HBFav を SDK 2.0.1 に対応させる作業をひとまず終えたので、以下雑感など。 Titanium Mobile 2.0.1 で何が変わったか Release Notes http://docs.appcelerator.com/titanium/release-notes/?version=2.0.1.GA 大きな変更点はレイアウトシステムの更新です。加えていろいろとバグフィックス。ほかにも Appcelerator Cloud Services (ACS) という BaaS 連携が発表されていますが、純粋に SDK のアップデートというとレイアウトシステムとバグ修正が主なところ。Andorid位置情報対応の強化、Module API のアップデートもありますが、こ

    Titanium Mobile 2.0 対応など - naoyaのはてなダイアリー
  • 「ほんとうのプロダクトアウト開発」 ― マツダはなぜ、よみがえったのか? - naoyaのはてなダイアリー

    "プロダクトアウト"。技術や思い入れなどを優先して製品を作るやり方です。 技術から発想しなければなし得ない製品というのは当然ありますし、そういうものこそ革新的であるとずっと思っていました。ですが、僕はこの「プロダクトアウト開発」というのを、いつからか都合の良いように解釈していた。自分達がやりたいことを優先するための正当化、技術的に困難な課題を解くことからはじめるのではなく、そこに扱いやすい技術があるからそれで作るという、リスクを取らない開発のための言い訳。 「プロダクトアウトじゃないと、真に新しいものは作れないんです。」 先日、『マツダはなぜ、よみがえったのか?』というを読みました。不振に陥った自動車メーカーのマツダが、苦境の中から RX-8 を開発し、その状況から脱出するまでをつづったノンフィクションです。このには「ほんとうのプロダクトアウトとはなにか」ということが記されていました。

    「ほんとうのプロダクトアウト開発」 ― マツダはなぜ、よみがえったのか? - naoyaのはてなダイアリー
  • Aho Corasick 法 - naoyaのはてなダイアリー

    適当な単語群を含む辞書があったとします。「京都の高倉二条に美味しいつけ麺のお店がある」*1という文章が入力として与えられたとき、この文章中に含まれる辞書中のキーワードを抽出したい、ということがあります。例えば辞書に「京都」「高倉二条」「つけ麺」「店」という単語が含まれていた場合には、これらの単語(と出現位置)が入力に対しての出力になります。 この類の処理は、任意の開始位置から部分一致する辞書中のキーワードをすべて取り出す処理、ということで「共通接頭辞検索 (Common Prefix Search)」などと呼ばれるそうです。形態素解析Wikipediaはてなキーワードのキーワードリンク処理などが代表的な応用例です。 Aho Corasick 法 任意のテキストから辞書に含まれるキーワードをすべて抽出するという処理の実現方法は色々とあります。Aho Corasick 法はその方法のひと

    Aho Corasick 法 - naoyaのはてなダイアリー
  • Flickr の認証API - naoyaのはてなダイアリー

    認証API をどうするか、ということで数名のスタッフであれこれ話ながらやってます。 まず、はてなの認証APIを使って何ができるといいのかというところですが、はてなラボをオープンしたときにいただいた意見などを見ると、「はてなAPIで認証付きのをセキュアに利用するための API」というより「サードパーティのアプリケーションではてなIDでユーザーを識別できるためのAPI」の方が求められているという風に思いました。 具体的には、新規にユーザーを識別する必要のあるアプリケーション、例えば掲示板などを作るとして、その掲示板のユーザーを一意に識別する方法としてはてなIDを使いたい、そのIDが当にその人のものであるかどうかをはてなが保証する、その保証を問い合わせるための API ですね。その掲示板でログインして何かを書き込むと id:naoya、と表示されると。 この手の認証APIを提供しているサービ

    Flickr の認証API - naoyaのはてなダイアリー
  • GNU screen いろいろまとめ。 - naoyaのはてなダイアリー:

    先日人力検索で GNU screen の設定TIPSについて質問してみたところ、かなーり役立つ設定とかをたくさん教えてもらうことができました。みなさん感謝。 そんで、教えていただいた通りにカスタマイズした結果、こんな感じのスクリーンショットが撮れました。MacOSX のターミナルです。 おかげさまでかなり便利になって作業効率が上がったと思います。いろいろ教えてもらったお礼とまではいきませんが、やった設定とかをはまりどころとかも交えて紹介してみます。名付けてリバースNDOメソッド。ちなみに、知ってる人にはごく当然のことが当たり前のように書いてるので、あんまり役に立たないかもしれません。 hardstatus alwayslastline で最終行にウィンドウ一覧を表示 これは今回の質問とは直接関係ないのですが、やるとやらないとでかなり使い勝手が違うので。 hardstatus alwaysl

    yo_waka
    yo_waka 2006/05/11
  • naoyaのはてなダイアリー - Jemplate で JavaScript でもロジックとビューを分離する

    JSON を Template-Toolkit で展開する Jemplate という記事を書いたんですが、Jemplate を使うと何がいいかってのをもう少し詳しく書いてみます。 Jemplate は TT で JavaScript 上の JSON を展開できるんですが、それだけ聞いてもしかすると「これで普段サーバーサイドでやってるテンプレートの展開をクライアントサイドに持って行けて負荷がクライアントに移ってウマー」っていうのが使いどころのようにも思えちゃいますけど、そうじゃない。検索エンジンに引っかからなくなったりとか、アプリケーションの使い勝手が悪くなったりとか色々弊害があります。 そうじゃなくて、Jemplate は JavaScript のためのテンプレートとして使います。 試しに Catalyst で簡単なアプリケーションを作ってみました。ちょっと動かしておく環境がないのでソース

  • naoyaのはてなダイアリー - 刺激を受けた本5冊...プラスで技術本5冊

    読書」とひと口に言っても、仕事用に要点のみ読むものもあれば、味わうように精読するものもある。また、には特定目的のために「使える」ものもあれば、人生を変えるような書もある。彼らがエンジニアとしてどんなを読み、どんなことを考えてきたか、参考にしてみよう。 Tech総研さんから取材をしていだきました。刺激を受けたを5冊、とのことですのでハッカーと画家とかを中心にピックアップしてみました。「参考になった」ではなくて「刺激を受けた」というテーマだったので、気づいたら自己啓発とマーケティングのみになっていて、いわゆる技術書が入ってませんでした。 じゃあ参考になった技術書、というので挙げるとしたらどれかなあということでリストアップしてみる。5冊に絞るのはなかなか難しいのですが。 リファクタリング―プログラムの体質改善テクニック (Object Technology Series) 作者: マ

    naoyaのはてなダイアリー - 刺激を受けた本5冊...プラスで技術本5冊
  • prototype.js でデザインパターン - Iterator

    Ruby on Rails や Catalyst のプラグインなんかでは prototype.js という JavaScript のライブラリを使って、Ajax サポートを実現しています。prototype.js とフレームワークが必要な Ajax の JavaScript コードを吐き出してくれるので、Ruby プログラマや Perl プログラマは JavaScript の実装を意識しなくても Ajax なインタフェースが作れる、という風になっています。 こんな感じで prototype.js は Ajax な部分に注目が集まっていますが、ほかにも "Class-style OO" なフレームワークも内包してます。 JavaScript はプロトタイプベースのオブジェクト指向言語で、C++Java のようなクラスベースのオブジェクト指向言語とはちょっと実装が異なります。プロトタイプ

    prototype.js でデザインパターン - Iterator
  • naoyaのはてなダイアリー - HTML::TagCloud

    del.icio.us / miyagawa 経由で見つけた CPAN モジュール HTML::TagCloud。Tag Cloud (はてなブックマークの右側に出てくるタグ一覧みたいなやつ) を生成する CPAN モジュールです。 出力はどんな感じかなと思って使ってみました。 #!/usr/local/bin/perl use strict; use HTML::TagCloud; my $tags = [ { tag => 'blog', count => 20}, { tag => 'ajax', count => 10}, { tag => 'mysql', count => 5}, { tag => 'hatena', count => 12}, { tag => 'bookmark', count => 30}, { tag => 'rss', count => 1}, { t

    yo_waka
    yo_waka 2005/10/02
  • はてなダイアリーのデザインいじりにもおすすめ「Web Developer」 - naoyaのはてなダイアリー

    わりと人気の高いlivedoorブログですが、スタイルシート(CSS…サイトのレイアウト・デザインを決めるための言語?)の設定がやりにくい。いちいちlivedoorにログインしてCSSだけのテキストファイル(しかも初心者には分かりにく過ぎる)をいじってサイト再構築…とちょっとした更新をするのにも手間が多すぎる。 そこでお勧めのなのがfirefoxのプラグイン『WEB DEVELOPER』。(livedoor)ブログのCSSいじるなら絶対コレがお勧め。 僕もはてなダイアリーのデザイン(スタイルシート)を調整するのに Web Developer を使っています。Web Developer は Firefox のプラグインで、ウェブ開発者向けの機能をアド・オンすることができます。 この Web Developer の機能で最も便利だと思っているのが CSS をその場で編集できる機能です。引用元の

    はてなダイアリーのデザインいじりにもおすすめ「Web Developer」 - naoyaのはてなダイアリー
  • 僕やはてながPerlを選ぶ理由 - naoyaのはてなダイアリー

    ご存知の通り、はてなのシステムはほぼすべてPerlで書かれています。そもそも僕がはてなに入った一つの理由に、僕が一番得意とする言語であるPerlを使ってシステムを構築していたという点があったりします。 世の中にはたくさんのプログラミング言語があります。PerlJavaRubyPHPPython、C、C++、lisp、Smalltalk、Cobol...数え上げたらキリがありません。そして、プログラマはかならずと言っていいほど、どれかひとつ以上の言語を愛しています。好き、ではなく愛しているのです。 自分が愛しているものを批判されると感情的になりやすいのは人の常、プログラミング言語の差異に関する議論は炎上しがちで、よく宗教戦争だなんて言われたりもします。その中で、言語なんてどれも一緒だなんていう乱暴なまとめがされることもよくあったりします。 しかし、何年かプログラマというものを経験して

    僕やはてながPerlを選ぶ理由 - naoyaのはてなダイアリー
    yo_waka
    yo_waka 2005/09/29
  • Perl でできてるサービス - naoyaのはてなダイアリー

    長らく謎だと思っていたことが、あっさり判明した。 アマゾンのWebサイトはperl言語でできている。 Mason を使っているというオフィシャルのコメントから AmazonPerl を使ってるんだろう、という話。AmazonフロントエンドPerl が使われている話は意外と知られていないもので、今日のはてなブックマーク人気エントリーにもあがってます。 実際には アマゾンの秘密──世界最大のネット書店はいかに日で成功したか でも、Amazon のシステムの更新にはビルド作業というのが必要で、ビルドには結構時間がかかるなんていう記述も見られるので、全てが Perl ではなさそうというのは引用元記事にもある通りかなと思います。(確か Perl を使っているという記述もあったような気がする。) 僕が知ってるとこだと、以下も Perl で作られている近頃の大規模なサービスの一例かな。

    Perl でできてるサービス - naoyaのはてなダイアリー
    yo_waka
    yo_waka 2005/09/19
  • 1