TitaniumMobile勉強記

Web系エンジニア向けのキャリアアドバイザーやってましたが現在はフリーランスで開発含めて色々やってます。技術ネタとしてはRuby/RailsとJavaScript関連(Node.js、Titanium)あたり

ruby

RSpec使ってERBに対するspecをどう書くか?

RSpec使ってERBに対するspecをどう書くのか模索してみて、最低限の書き方は自分なりに理解できたので折角なのでブログにまとめておこうと思います。 自分の環境はこんな感じです 環境 Mac OS X 10.9.4 ruby 2.1.0 Rails 4.0.1 rspec-rails 2.13.1 factory_gi…

MacのMavericks+rbenv+bundlerでChefというかNokogiriの環境構築にはまった

知り合いの所でリモートでOKアルバイト的にWebサービスの開発の仕事を行う 再来月から、インターン生として働きたいという人を対象にして、Rails開発の基礎を教える講座を行う。(ついでに教えた人をキャリアカウンセリングする) という感じでRailsというの…

人脈管理のツールをSinatra+hamlで作り始めてます

最近は、Titanium Mobileいじるのはしばらくお休みして、人脈管理のツールをSinatra+hamlで作り始めてます 長い前置き 今季の自分の仕事の目標として、社外の色々な経験を持った人に多数お会いして、オフライン⇔オンラインの交流を通じて、自社のビジネスに…

Titaniumから少し浮気してRubyMotionいじってみた感想など

タイトルそのままですが、キャンペーン価格で1万円ちょっとで、自己投資と考えてポチって少しだけいじった状態の感想を 自分のスキル Objective-Cでの開発経験無し Titanium Mobileで1年半ほどいじってる。あすなろBLOGをオフラインでも閲覧できるようなアプ…

雛形を自動生成するRubyスクリプト書いた

書きたいネタはいくつかあったのですが、どうしてもコード書きたい気持ちのほうが強くついつい更新サボってました。"以前書いたエントリ"以降、実際に手を動かしながら色々やっているうちにシングルコンテキストな書き方にも大分なれてきたのと同時に、RSSリ…

gemのインストール時に invalid date format in specification でエラー

Ruby+Sinatra+MongoDBで作っていたアプリを手元の新MacbookAirでも動作させるようにするために、必要なgemのインストールをしていたのですが、一部のgem(MongoDBに対応したORMのMongoid)だけ Invalid gemspec in [/Library/Ruby/Gems/1.8/specifications/m…

特定のディレクトリ配下のシンボリックリンクの一覧を取得する

タイトルそのままですが、やっつけ仕事的に書いてみた。 # symlink_tool.rb path = [] if ARGV[0].nil? exit! else base_directory = ARGV[0] end Dir::glob(base_directory + "*",File::FNM_DOTMATCH).each{|f| source = File.expand_path(f) if(File.symli…

044-Crawler実装しなおす

昨日書いたエントリでふれたようにサーバ側のJSON生成部分から見直すことにするため028-Crawlerは一応完成というエントリで触れたCrawlerから手をつけました これまでのCrawlerと今後実装するべき処理検討 あすなろブログの各エントリ情報を取得する際に ブ…

034-Mongoidの機能を活用してページング処理実装

ブログを閲覧するアプリに欠かせないページング処理(paginate/pagination)について調べて、実装をしているのですが、思ったように作れないこともあってしばらくブログ更新滞ってしまいました。ページング考える上で、サーバ側、クライアント側のiPhone双方…

033-今度はUnable to parse JSON stringのエラーにはまる

Unable to parse JSON string MongoDBに格納した情報を、Sinatra + mongoidでJSON形式で出力するところまでは出来たので、これを読み込むような処理をするためにこんなコードを書きました var Blogger = function(){ this.httpclient = Titanium.Network.cre…

032-undefined method `bytesize' for xxxxにはまる

JSON形式の出力は単に object.to_json でOKというのを知って、「おー、これならあっという間にできるなあ」と思ってapp.rbに get '/api/:name.json' do blogger = params[:name] @items = Entry.find(:conditions => {:blogger => blogger}) @items.each do …

031-Sinatra+MongoDBでブロガー情報

あすなろBLOGを巡回するcrawlerは出来たので、JSON形式で値を返すWebアプリが必要なので、Sinatra使って実装し始めています。 どんな仕様にするか http://xxxx.xxx/api/yokota.json http://xxxx.xxx/api/oohashi.json : という感じで、 /api/ブロガーの名前.…

029-クロール状況を管理する方法について試行錯誤

各ブロガー別にサイトの更新状況をチェックするクローラーを動作させるという仕様を考えているため、どこまでクロール済かを管理する仕組みを作る必要があるかと思っています。処理を待つ一連のジョブを管理するクラスとしてひとまずqueueというクラスを作り…

028-Crawlerは一応完成

ブログ更新滞ってしまいましたが先週の木曜日の夜中から土曜日位にかけて うちの子が嘔吐&下痢。でも熱も出ず元気だったので一安心 下痢した服の洗濯をした時が原因だと思うけど自分がウィルス性の胃腸炎にかかる という災難にあっていました。 日曜日もで…

027-Crawler出来そうな気がしてきた

昨日書いたcrawler.rbから得られる情報を、MongoDBに格納するという一連の流れを確認するために「entry.rb」「main.rb」を下記のように書きました # entry.rb require 'rubygems' require 'mongoid' Mongoid.configure do |config| name = "test" host = "lo…

026-ブログ巡回のためのCrawler作成中

タイトルそのままなものを現在作っています。RSpec使えるといいんだけど自分のスキルだとわからないことだらけなので、まずはTest::Unit 使ってこんなテストを書きました # test_crawler.rb require 'test/unit' require 'crawler.rb' class TestCase_Crawle…

エンタープライズRails

エンタープライズ Rails ―企業ユーザのためのWebアプリケーション設計術posted with amazlet at 10.11.11Dan Chak オライリージャパン 売り上げランキング: 179797Amazon.co.jp で詳細を見る自分は、ITエンジニアの求職者向けに仕事を紹介する立場の人間なの…

この記事を読むのに必要な時間の目安を測る

たった一行追加するだけでサイトの滞在時間を13.8%伸ばす方法・・・で紹介されていて、それを見て、WordPress: 『読むための所要時間』を表示するコード書いた人がいますね。元ネタの英語の記事で My hope is that I can influence users to interrupt article …

iPhotoの写真→Evernoteスクリプトを修正した

iPhotoの複数の写真を(ほぼ自動で)まとめてEvernoteに取り込むスクリプト完成のPVは、絶対数こそ少ないけど、毎日一定数あるのを見ていると、画像データを一括でまとめてEvernoteに登録したいというニーズはあるというのを知って少し自分の中のモチベーシ…

iPhotoの複数の写真を(ほぼ自動で)まとめてEvernoteに取り込むスクリプト完成

※2010年9月14日追記 MacユーザでRubyの環境が整っていない人向けにAppleScript 使って特定のフォルダ配下の写真をまとめてインポートするを書きましたのでよろしければそちらもご覧くださいこのエントリでメール送信でiPhotoの写真データをまとめてEvernote…

iPhoto写真を一括でEvernoteに取り込めそうだけど・・・

※2010年9月13日追記 MacユーザでRubyの環境が整っていない人向けにAppleScript 使って特定のフォルダ配下の写真をまとめてインポートするを書きましたのでよろしければそちらもご覧くださいiPhoto写真を一括でEvernoteに取り込むのに、「あーそういえば、Eve…

iPhotoの写真をEvernoteに一括インポートするのに必要そうなこと

前回からの続き iPhotoのアルバムを一旦HTML形式で書き出すと、指定したサイズに写真が書き出されるし、しかもメタ情報もHTMLの本文中に記載される。これをうまくつかって一括取込した方が意外と自分のニーズにはあいそう。流れとしてはこんな感じでいけそう…

Mac OS XでGAE/JRuby開発しようと思ったら「Could not find RubyGem appengine-tools」に悩まされた日々

社内向けの勉強会で、「プログラミング関連」「インフラ関連」「Webデザイン関連」をそれぞれ毎週一回30分程度の時間つかって行っていて前回やった後に「クラウドってよくわからないところがあるので、次回は何かそれを」っていうリクエストがあったのと、色…

Google Reader非公式API 利用しての既読管理

Google Reader非公式APIは英語の情報でhttp://code.google.com/p/pyrfeed/wiki/GoogleReaderAPI:title=があるけど、その翻訳された情報をたまたまこちらで見つけたので今朝から読み解いていました。読み始めたきっかけというのは、Google Reader で Starred …

エキブロから過去のブログを移行するツール出来た!

エキサイトブログからのデータ移行ツールを現在開発中 - インターネット時代のキャリアプランとは?というエントリを以前書いて放置していたツールですが、なんとか完成しました。はてなへデータを取り込む時にはMT形式にするんだけど、ブログ投稿日付のフォ…

エキサイトブログからのデータ移行ツールを現在開発中

この年末年始の時間があるうちに、過去使っていたエキサイトブログ(以下エキブロ)のデータをはてなに移行しようと考えたのですが、エキブロはブログの移行でインポート/エクスポートで利用されるMovableType形式ではなく、残念なことに独自のフォーマット…

本屋で見つけた気になる本

RubyによるMac OS Xデスクトップアプリケーション開発入門 ~Ruby×RubyCocoa/MacRuby×HotCocoa~作者: 高尾宏治,中川智史,木村渡出版社/メーカー: 毎日コミュニケーションズ発売日: 2009/09/25メディア: 単行本(ソフトカバー)購入: 10人 クリック: 146回この…

(仮)GR4Rubyの進捗状況

いまだにいいネーミングが思いつかないですが、(仮)GR4Rubyの進捗状況を。作り始めて色々と知ったのですが、Google Readerの情報を取得するのに結構面倒な処理が多いです。非公式なGoogleのAPIのドキュメントからちょっといくつか抜粋すると SID : Session…

Rubyのmechanize使ってGoogleReaderにアクセスするツール(仮)GR4Ruby

この前Rubyを使ってGoogle Readerの情報を取得するというエントリでgooglereaderというgemのパッケージを使ってGoogle ReaderのAPIにアクセスするやり方書いたけどStarredのアイテムの取得方法がどうもわからないので、路線変更してmechanizeを使うことに急…

テスト駆動開発っていうのに取り組む

以前Rubyでつくる検索エンジンというのを買って一通り読み終わったんだけど、サンプルのソースでなんとなく重複したような処理が多いように感じたので、勉強のためにリファクタリングしてみようかなぁーとちょっと思いつきました。ただサンプルのソースコー…