サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
Pixel 9
naoya-2.hatenadiary.org
HBFav をバージョンアップ、2.5 をリリースしました。既に App Store でダウンロード可能です。iOS 7 なら放っておいても新しくなるはず。 今回のアップデートは二点 ペーストボード (クリップボード) にコピーしたURLを HBFav で開く機能の追加 タイムラインで追加の新着取得時にうまくいかない不具合の修正 です。主には前者ですね。 こんな感じで、HBFav を開いたときにペーストボードに URL があると、それを開くかどうか聞いてくるようになりました。 どんなシチュエーションで使う機能なの? 想定ユースケースを再現してみましょう。 ある日 Twitter なんかで拡散されてきたページを Safari で開いてみました。 なにこれウケるんですけど。 ブコメ (はてなブックマークのコメント) では何て言われてるのかな〜。と気になってきます。ウズウズ。こんなときは、おもむ
This is why you shouldn't interrupt a programmer (なぜプログラマの作業に割り込むべきではないか) という4コマ漫画が話題になっていた。これは別にプログラマではなくても「わかるわかる」という感じの話。 コメントを見ると、だから作業を中断してもすぐ再開できるように自分の考えることをなるべく書き出すようにしているという人が結構多かった。なるほど。 今日は雨が降ったせいで予定が一つキャンセルになったことだし、ちょうどいい機会なので、文章で何かを書くということについて自分が思っていることを書いてみようとおもう。以前 Software Design のドキュメントの書き方特集みたいな号に似たような趣旨の話を寄稿したのだけど、「書く」というのは単に物事を忘れないようにするための行為に留まるものではなくて、自分の考えを整理するための道具なのだ、ということが
HBFav を 2.4 にバージョンアップしました。今回のバージョンアップは新機能はなくて、iOS 7 への対応が主です。 これまでも iOS 7 でも特に問題なく使えていましたが、インタフェースは iOS 6.1 互換のものでした。今回から iOS 7 を使っている場合は、フラットデザインになり iOS 7 前提のインタフェースになります。やっぱり、OS 側と歩調があっていたほうがいいですね。 その他、細かな調整事項などは以下の ChangeLog を参照してください。 https://github.com/naoya/HBFav2/blob/development/2.5/CHANGELOG.md 引き続き HBFav をどうぞよろしくお願いします。 https://itunes.apple.com/app/id477950722
先日プレスリリースが出たのですが、KAIZEN platform という会社で技術顧問などをやっています。それから、一昨日自分も出たWebアプリケーション開発に関する勉強会 (資料) を開いたじげんという会社でも少し前から同じように顧問のような形で携わっています。 自分が関わっている会社のPRも含めて、すこし、2013年現在のWebサービス開発の現場感、やり方みたいなものを書いてみたいと思う。ただ、自分の利益があるところの話だけではフェアではないので、Webエンジニアならよく知っているであろう Qiita を運営しているインクリメンツの様子も合わせて紹介する。 KAIZEN platform KAIZEN platform が提供しているサービスは planBCD という A/B テストの SaaS で、Webサイトのコンバージョンだとかを画面の構成要素を変えて効果測定したいとか、そういう
ブログを書くまでが YAPC、ということなので、書きます。 初日「モダンPerlリファクタリング」 自分は20分枠で 「モダンPerlリファクタリング」という題で話しました。スライドは以下で公開してます。 https://speakerdeck.com/naoya/modanperlrihuakutaringu-number-yapcasia 今回、思いの他 CI やテストに関する発表が他に多くてそれらに比べると基礎的な内容に終始しちゃいましたが と @t_wada 御大よりお褒めに与ったので個人的には満足です。 リファクタリングはテストさえ書ければその半分以上は終わったことになる、ただしテストはテストを書くことそのものが主目的になりすぎないように。そして書いたテストはとにかく計算機を利用して頻繁に実行しましょうということが言いたかったのですが、意図通りに伝えられたんじゃないかなと思う。
iOS 7 が間もなく出そうという頃合いですが、HBFav をアップデートしました。前回の 2.1 から飛んでバージョン 2.3 になります。8月末にはほぼできてたのですがレビューだ何だでちょっと時間がかかってしまいました。その分、新機能多め。 プッシュ通知 はてなブックマーク iOS SDK統合 人気コメント 人気エントリー iOS 7 対応 パフォーマンス改善 そのほかバグ修正及び細かな改善 となっております。若干やり過ぎ感があるきもするが、今は反省していない。 プッシュ通知 プッシュ通知に対応しました。これが今回の目玉機能です。 フォローしているユーザーが新しいブックマークを追加した、自分のブックマークにスターがついた、あるいはIDコールが飛んできたなどの通知を受け取ることができます。自分がブックマークした、という通知も受け取ることができるので PC で見ている URL を通知で飛ば
次にエントリを書くときは HBFav の次のバージョンの話、と思っていたのだが AppStore のレビューに時間がかかっているので、なんとなく閑話休題的に更新しておこう。 Helios について。ロゴがかわいい。 先月くらいに何かの拍子で自分の周囲でも話題になった。今年の4月くらいに Heroku からリリースされた、MBaaS (Mobile Backend as a Service) を構築するためのフレームワーク。実際には OSS なので Heroku からというか Heroku 社員の mattt さん によるもの。 mattt さんはご存知、iOS の AFNetworking や TTTAttributedLabel そのほかの開発者として有名なスーパーハッカーである。Heroku 勤務ということで、Heroku の親会社である Salesforce が開催の Salesfo
先日リリースした iOS アプリの HBFav2 (http://hbfav.bloghackers.net/) ですが、2.1 にバージョンアップしました。AppStore からダウンロード or アップデート可能です。アップデート内容はリリース後のフィードバックを見ての改善と修正が主なところです。 アイコンがかっこよくなりました リリース後早速「アイコンがダサい」という感想をいただいてその場で泣き崩れた自分の様子をみて堪らんと思ったかどうかは定かではないですが、ugtkbtk がかっこいいアイコンを pull request してくれました。 サイドバーのメニューを追加しました タイムライン、ブックマーク、人気/新着エントリーのリストの切り替えをもっと簡単にできるようにして欲しい、というフィードバックをいただいたので実装しました。 たしかに、このメニューにしたらだいぶ使いやすくなりまし
http://hbfav.bloghackers.net/ 1年以上前に HBFav という、はてなブックマークの「お気に入り」を読むための iOS アプリを作ってリリースしましたが、今回一から実装し直してバージョン 2.0 という形で先ほどリリースしました。App Store からダウンロード可能です。 HBFav って? HBFav は、はてなブックマークで「お気に入り」に追加している、すなわちフォローしているユーザーのブックマークやコメントをタイムラインのようにして閲覧するアプリです。個人的にはてなブックマークで最も重宝しているのがお気に入り機能で、そのユースケースを中心にしたアプリが欲しくて作ったというのが元々の動機でした。 なんで作り直したの? バージョン 1.0 はあまり時間の無い中コンセプト優先で作ったということもあってお世辞にも品質が良いとは言えない代物でした。重たいし、落
一昨日 Testing Casual Talks #1 に参加した。名前の通り、ソフトウェアテストに関するカジュアルなカンファレンス。とても面白かった。すこし思ったところを書いていこう。 テストのエンジニアリング トップバッターの @ikasam_a さんの発表では Software Engineer in Test at DeNA ということで、氏が勤務先でテストエンジニアリング部門を立ち上げていくにあたってのいきさつや背景といったところが述べられていた。 テストは開発者の生産性を向上するためにある、生産性向上のためにテストを書くテストエンジニア、近年複雑化するテストの実行環境を構築するのもテストエンジニアの役目、"Testing Activities SHOULD be in Developments" ─ テスト活動は (従来型のQAのように開発の外ではなく) 開発の中で行われるべき
最近 RubyMotion ユーザーの間で ProMotion という名前を良く聞くようになった。http://rubymotion-wrappers.com/ の説明を観ると A full featured RubyMotion framework that makes iPhone development less like Objective-C and more like Ruby, designed to get up and running fast. となっていて、RubyMotion 向けのフレームワーク、ということらしい。 ドキュメントにあるサンプルコードは以下のようになっていて、 class AppDelegate < PM::Delegate def on_load(app, options) open RootScreen.new(nav_bar: true) en
昨日は RubyMotion のもくもく会でした。 先日の RubyMotion Kaigi 2013 で 実践RubyMotion という題目で発表したのだけど、テストについてはprintデバッグ上等だ、このクソムシがとか言ってかなり適当に済ませてしまった。ので、もくもく会ではテスト周りに手をつけるぞと思い、そういえば Travis CI が RubyMotion に対応してたのも思い出し RubyMotion のテストを Travis CI で回すのを検証した。 が、手間取るかと思った Travis CI 周りはとっても簡単で、.travis.yml に language: objective-c と書くだけであっさり動いてしまった。 というわけで RubyMotion アプリの継続的インテグレーションは .travis.yml を一行書けば完了です。終わり・・・じゃあまったくブログ記
昨日 http://d.hatena.ne.jp/naoya/20130620/1371729625 で書いたように Docker を使えば、欲しい VM を "任意の状態" で簡単にかつ" "瞬時に" コピーして作り出すことができる。 「任意の状態」というのは、例えば「OS は CentOS で、Ruby と Chef が入っている」みたいな VM のこと 「瞬時に」というのは本当に瞬時。VM の起動時間を待ったり、Ruby や Chef を入れる時間を待つ必要はない serverspec でテストをする場合、真っ新な VM を用意してそれにプロビジョニングを行って、その後に破棄するみたいなことを良くする。このとき「真っ新なVM」を立ち上げるのに、Vagrant などが使えるが、Vagrant だとテストの度に VM を一から作り直す・・・つまり vagrant up しなければいけない
Docker をいじって遊んでいる。 http://www.docker.io/ Docker は PaaS ベンダの DotCloud がその PaaS のバックエンドとして使っている (?) ミドルウェアを公開したもの。適当な条件の VM をポコポコ生み出してはテストや実際の運用に使うことができたりするもの。例えば「Ruby と Bundler が入っている VM」みたいなのを設定で作っておくと、後日何か Ruby でアプリケーションを動かしたいと思ったときにそのイメージをベースに VM を作ってデプロイしてやればすぐにアプリケーションが動き出す。そもそも PaaS がやっているのはそういう事で、それを汎用化したのが Docker。Travis CI のような、各言語ごとの実行環境が整った VM みたいなものに任意のコードを渡してビルドさせる、みたいなプラットフォームを作るのにも使える
一昨日、昨日と東京は品川で開催された AWS Summit Tokyo 2013 に行ってきた。 全般的な印象としてはエンタープライズトラックがたくさんあったし来場者もスーツを着た人も多くて、AWS を取り巻くステージは去年一年くらいで完全にエンタープライズ側に移行しきったんだなあ、というものだった。もちろんテクノロジートラックやコンシューマートラックもあって、技術的な実装やテクニックにフォーカスしたような話も方々でなされていたんだけど、多くの来場者の関心事は如何にしてクラウドをエンタープライズに導入するか、あるいはそれによってビジネスの課題を解決するかというところにあった、というのが肌感覚としてあった。 自分は AWS、というか IaaS はハードウェアを抽象化してソフトウェアでそれ全体を扱えるようにしたというところが本質的で、自動化、DevOps、あるいはプログラミングのための道具とし
Reveal (http://revealapp.com/) なる iOS 向けのランタイムインスペクタなるものを知人のツイート経由で見つけた。ランタイムインスペクタとは何か ・・・ "Reveal brings the power of tools like Firebug and Web Inspector to iOS developers." ということでiOS アプリ用の Firebug みたいなのだと思えば良い。 動画を観てると確かにすごい。3D で動かしながら View の階層を手繰ってアプリのビューがどういう構造になっているかを見ていくことができる。更に動的にパラメータを変更して大きさや動きを変える、なんて Firebug の css の編集みたいなこともできるようだ。ベータ版は無料のようだ。 これは捗る。 RubyMotion で動かす ドキュメントを見てみたところ Re
明日はいよいよ RubyMotion Kaigi です。RubyKaigi じゃなくて RubyMotion Kaigi の方! ルビモストにとっての神であられるところの開発者 Laurent Sansonetti さんをお招きしての記念すべき初回の公式 RubyMotion カンファレンスになります。 http://connpass.com/event/2095/ 告知と事前登録が結構前にあったので、もしかすれば忘れているあるいは急用が入ってしまったという方もいらっしゃると思います。キャンセル待ちをしている方も大勢いらっしゃいますので、出席/欠席をお手数ですが今一度確認をお願いします。 でも、ときおりカンファレンスに申し込んで こーんなかんじでドタキャンしちゃう素敵な方もいらっしゃったりしますよね! 「・・・」 夜道には気をつけましょう! では、会場で会いましょう。ルビーーーーモーーーー
昨晩 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
Jenkins おじさんと戯れること半日、うまくいったので備忘録を残しておく。 やりたかったのは Chef で構築したサーバーを Jenkins で CI する、というもの。このときサーバーはテストが終わる度に破棄して、テスト開始時に再度真っ新な状態から立ち上げたい。(こういうサーバーを壊して作ってというテストはなんという名前で呼ばれるのだろう?) 仮想サーバーを破棄/作成をプログラマブルにやるのはもちろん Vagrant プロビジョニングは Chef Chef の環境を整えるのに knife-solo 0.3.0.pre3 テストは serverspec コードは Github に上げる (https://github.com/naoya/jenkins-vagrant-test) CI は Jenkins という構成になっている。ひとまず Jenkins や Vagrant はローカル
先日書いた自分用アプリケーションのひな形 http://d.hatena.ne.jp/naoya/20130503/1367581629 http://d.hatena.ne.jp/naoya/20130504/1367640512 これに、JavaScript のテスト環境も追加したい。 結論からいくと、フレームワークには mocha + expect、ランナーは testem を使うことにした。ついでにテストダブルライブラリとして Sinon.js も有効にした。 ちなみに今回の文脈は End to End のテストではなくてユニットテスト周りのおはなしです。 mocha + expect JavaScript のこの辺のテスト周りは今もいろいろなツールの整備が進んでいて、今回採用した以外にも Jasmin や QUnit そのほか色んな物がある。昨今の状況に関しては 先日の HTML
Backbone.jsガイドブックposted with amazlet at 13.05.07高橋 侑久 ラトルズ 売り上げランキング: 2,459 Amazon.co.jpで詳細を見る Backbone.js ガイドブックを一通り読みました。言及するか少し迷ったけど、まだあまり話題になっていないようなので書いておこうと思います。 Backbone.js あるいはこれによく似たようなフレームワークは今後、Webアプリケーション開発でよく使う道具になっていくと思う。というか、すでになっているでしょう。 Backbone.js は「クライアントサイドMVCフレームワーク」と呼ぶと良くわからない。クライアントサイドMVCフレームワークが注目される以前から、ある程度以上の規模の JavaScript アプリケーションになるとちゃんとしてるものは構造化が行われていた。イベントを集約するオブジェクト
昨日の続き。 こういうアプリケーションのテンプレートを管理するのに便利な仕組みはないですかねーと言っていたら @teppeis さんや @omo2009 さんに Grunt や Yeoman はどうかと教えてもらった。 Grunt はユースケースとしては JavaScript の連結や圧縮、SCSS/LESS なんかのメタ言語のコンパイルをするときに使うもの、つまり rake なんかと同じようなものと以前にチラ見した程度で知った気になっていたけども、ちょっと違っていた。Grunt は確かにタスクランナーではあるのだが、Node.js で実装している利点を十分に活かして、任意のファイルが更新されたのをトリガに一連のタスクを実行させたり、Grunt で Webサーバーを立ち上げて他のタスクと連携させたりといったことができるようになっている。プラグインの仕組みがあって、エコシステム的に結構活発に
ちょっと jQuery と簡単なサーバサイドの処理を組み合わせた処理を試しに書いてみよう・・・なんて時に、いちいち jQuery を取ってきて HTML を書いて script タグを書いてロードして sinatra 立ち上げて云々・・・というのが毎度面倒なので、ひな形になるアプリケーションを作った。 https://github.com/naoya/boilerplate ひとまず sinatra でサーバーサイドを書き、HTML は slim で、CSS は sass 。JavaScript は CoffeeScriptで書くにあたって jQuery、underscore、Backbone をロードしてある、というような構成にしてあります。 まあ、この類のことは人それぞれ自分なりにカスタマイズしてやっていると思いますが、どういうコンポーネントで構成しているかを、備忘録も兼ねてちょっと紹
Coveralls は Github に置いているソースコードのテストカバレッジを git push の度に調査して報告してくれるクラウドサービス。「カバー率100%を維持したいなら継続的インテグレーション (CI) のレポーティングにテストカバレッジも含めちゃえばいいじゃない」という貴族向けのサービスです。いえ、貴族はフィクションです。 こんな感じでモダンなデザインで色々教えてくれる。各行が何回テストされたかみたいな詳細なレポーティングもある。 Travis CI と同じく Github の README なんかに貼り付けるバッジがあります。というか Travis CI なんかのCIツールと連携して Coveralls にレポートを投げるのが前提になっているようです。 つい最近 プロトタイプ開発用のRailsプラグイン「Chanko」を2.0.0にアップデートしました - クックパッド開
WEB+DB PRESS Vol.74posted with amazlet at 13.04.16井上 誠一郎 奥野 幹也 田中 慎司 西嶋 悠貴 伊藤 直也 登尾 徳誠 天野 祐介 後藤 秀宣 ヒノケン 近藤 宇智朗 近藤 嘉雪 渡邊 恵太 堤 智代 中島 聡 A-Listers はまちや2 川添 貴生 技術評論社 売り上げランキング: 1,303 Amazon.co.jpで詳細を見る 今月 24 日発売の Vol.74 ですが、よーくみると「RubyMotion入門」と言う文字が見え隠れしますね。 ・・・失礼しました。 ひ、久しぶりに WEB+DB PRESS に記事を書いたと思ったらなぜか連載が始まっていた・・・! ドラクエばかりしててろくに外にも出ない ひょんな折り CROSS 2013 で久しぶりに編集の稲尾さんと会ったところ、いかにも暇そうだと思われたのでしょう、記事書きませ
寝れないので変な時間にブログを書いたりする。 時折思い立ったように Emacs Lisp を見直して色々導入を試みたりするも、結局割り当てたキーバインドを忘れてたりして定着しない、というものは多い。そんな中でもここ1, 2ヶ月くらいで定着したのが git-gutter.el。 このように緑のプラス記号なんかが出て git で管理しているファイルを編集した場合の差分がどこかが一目でわかる。 多くの elisp がそうなんだけど、導入する前までは便利そうだけどそこまで必要かな? と思いつつ入れてみたらもう手放せなくなった、そういう類です。ぼーっとしながらコード書いてる時でも、あそことあそことあそこを編集したんだなってのが git diff とかしなくても分かる。 これを入れるとちょっと動きがモッサリするみたいな話もあるけど、作者の id:syohex さんが鋭意改善中 (http://d.ha
ひとたびフロー状態になると、それを維持するのは難しくない。私の一日の多くはこんな感じだ: (1) 仕事にとりかかる。(2) emailをチェックしたり、Webを見たり、そのほかのことをする。(3) 仕事に取りかかる前にランチを取ったほうがいいと判断する。(4) ランチから戻る。(5) emailをチェックしたり、Webを見たり、そのほかのことをする。(6) いい加減はじめたほうがいいと心を決める。(7) emailをチェックしたり、Webを見たり、そのほかのことをする。(8) 本当に始めなきゃいけないと、再び決心する。(9) くそエディタを立ち上げる。(10) ノンストップでコードを書いていると、いつのまにか午後7:30になっている。 ステップ8とステップ9の間のどこかにバグがあるようだ、私は必ずしもこの溝を飛び越えられないからだ。私にとっては、ただ始めることが唯一困難なことなのだ。静止状
Twitter では報告済みですが、拙著『入門Chef Solo - Infrastructure as Code』が達人出版界から出ました。PDFファイルやEPUBファイルをそのまま欲しい、という方はぜひ達人出版会さんからご購入ください。 入門Chef Solo - Infrastructure as Code【電子書籍】伊藤直也 達人出版会 発行日: 2013-03-22 対応フォーマット: EPUB, PDF 達人出版会で詳細を見る Kindle 版を出してのフィードバックを受けてよく分かったのですが、EPUB/PDFで欲しい!という方は思っていたよりずっと多くて、実際出してみたら今現在で全体の約20%弱くらいが達人出版会から購入されています。技術書だから、というのもあるんだろうなーと思います。ありがとうございます。 引き続き Kindle 版もよろしくお願いします。 入門Chef
少し前にログの話を書いた http://d.hatena.ne.jp/naoya/20130219/1361262854 ときに、Treasure Data については後日にもう少し詳細に書くと言ったので書くとしよう。 近頃 Treasure Data (以下、時折 TD) という名前をちらほら聞いたことがある人は多いのではないかと思います。「ビッグデータのクラウドサービスである」とか「日本人が創業したシリコンバレーのベンチャー」、あるいは Yahoo! 創業者の Jerry Yang が投資したとか、Fluentd と何か関係があるといった文脈などなど。 けど、具体的に Treasure Data がどういうサービスで、どういう機能を持っていて、どんな場面で利用されるものなのかはまだあまり良く知られていないかもしれない・・・ようにも見える。今日はその辺から少し紹介していこうかなと思う。
次のページ
このページを最初にブックマークしてみませんか?
『naoyaのはてなダイアリー』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く