Monthly Archives: 3月 2013

ブログタイトルを戻した

明日から4/1で新年度だし、ブログタイトルをころころ変えるのもそろそろ終わりにする。

近頃は余裕がなくて常に何かに追われている感じ。別に病気ではない、と思う。(勉強しなきゃヤバい症候群?)
今日も、どうしよう?なんかしなきゃ??ってなりながらこれを書いてるw

人が余裕がなくなるのは、

    1. 時間がない
    2. お金がない

という原因がわりと多いんではないか。
現代の日本においては特に。

で、1については、2がうまく行けば解消できるということで、
今年度は稼げるものを作って、もっと余裕を持って生きて行きたいな、と思う今日この頃でした。

それでは、今年度(まだ来年度か)もよろしくお願いします。

GemfileからSpecial Thanksページを生成するgem「arigato」と、それをRailsに簡単に組み込むengine「arigato_rails」を作った

前々からいつかやりたいと思っていた、gem作りに挑戦してみました。
試行錯誤のうえ、できたのがこちら。

Arigato, Arigato_Rails

Railsならbundleするだけで以下のようなページが生成されます。
Special Thanks

先日公開したKonnyakuにも組み込む予定。

なぜ作ったか

お世話になってるオープンソースプロダクトへのせめてのもの感謝として、積極的にAttributionするように心がけています。

いつもは、Footerに並べることが多いんですが、それだとどうしてもスペースや保守の限界があって、主要なものだけになってしまいます。

そこで目を付けたのがGemfile。Rubyならまさにこれがお世話になったリストだから、この情報を使ってスペシャルサンクスページを自動生成しちゃえばいいじゃん、と考えました。

 

はじめてのGem

の2つが参考になりました。

あとはOreThorのコードやSpecも勉強になりました。
また、Gemfileのパースについては、Bundler内のDSLというクラスを使わせてもらいました。

 

はじめてのEngine (Plugin)

あたりが勉強になりました。

また、同じ種類(bundleしたら画面が増える系)のgemということで、
schneems/sextant · GitHub
のコードを参考にさせてもらいました。

 

まとめ

今まで敷居が高いと思い込んでいましたが、単純なコマンドやプラグインなら思ったより簡単に出来るということがわかりました。これから、Gem化できそうなものがあれば積極的に作っていこうと思います。
とりあえず、arigato_podsは作りたい。

あとちゃんと出したものを保守する。テストも書く。

それでは、良い週末を。

oreでgemを作る

ちょっとgemを作ってみたいので調べたメモ。
最近は、

で作るのがモダンらしいことはわかった。

けど、なんか日本語情報が多すぎてわーってなっちゃった。

bundle gemでも十分便利なんだけど、oreってやつ使えばもっと便利にwrapしてくれてるらしい。
これは日本語情報が 今gemを作るなら bundle gem より ore gem – Hatena::Blog::toshiwo ぐらいしか見つからなくて混乱しなかったので、これを使ってみることにする。(どんな理由…)

まずはore(mineコマンド)を入れる。

helloコマンドでhelloと表示するgemを作ってみる。

gemをbuildして(ローカルで)インストールしてみる。

rake releaseとかすればrubygems.orgにも登録できるんだとか。超簡単ですね。

Ruby で作る、簡単 CLI ツールのススメ #Ruby #開発環境 #AdventCalendar – Qiita によるとThorってやつ使うとコマンドを楽に作れるらしいので、試しになんか作って公開するつもり。

メモ終わり。

最近GitHubのREADMEに貼ってある、バッジみたいなのいろいろ

GitHubのREADMEを見ると、上の画像のようなのが、いろいろ貼ってありますよね。
今まで気にはなりつつ、スルーしてたんですが、Konnyakuではいろいろモダンなものを取り入れたいぞ!と、「全部のせ」してみました。

Travis CI

CIサービス。オープンソース向けには無料で提供。.travis.ymlを書いてGitHubにpushすれば自動でテストを実行してくれる。もう便利すぎてわけがわかりません。

テストの結果をバッジとして貼ることができる。

Travis CI – Free Hosted Continuous Integration Platform for the Open Source Community

Gemnasium

GemfileやGemfile.lockに書かれたgemのバージョンが古くなってないか、などをチェックしてくれるサービス。
チェック結果をバッジに出来るんだけど、油断するとすぐOut of dateになる。
これもオープンソースなら無料で使える。

Gemnasium

Coveralls

カバレッジ計測(というか蓄積?)サービス。

とかspec_helperに書いとけば、 Travisと勝手に連携して、カバレッジのデータを保存しといてくれる。

Konnyakuのhelpersが計測対象になってなくて、カバレッジが100%になっちゃってるのはこのサービスとは別の問題。(Ruby 2.0とsimplecovの相性か、僕の設定ミスか)

これもオープンソース向けは無料。

Coveralls

Code Climate

コードの品質を計測してくれるサービス。Smells(臭うぞ的な意味?)タブを見ると、複雑なメソッドを注意してくれたりする。今のところKonnyakuの品質は問題ないらしい。
同じくオープンソースなら無料で使える。便利すぎ。

Code Climate

coderwall

最後はおまけ。coderwallのendorseボタン。
ね、俺出来るでしょ?ね、ね??的な承認欲求丸出しボタン。(少なくとも日本では)インターネットならではの行動。

coderwall.com : establishing geek cred since 1305712800

今回はこの5つを貼ってみました。
バッジはともかくとしてサービス自体が便利すぎて笑いが出ます。しかもオープンソース向けは全部無料…。

他にもあれば(使いたいし、貼りたいので!)教えてください!!

Rails 4使ってみたい。多言語ブログ書きたい。じゃ、いつ作るか、今でしょう

林先生、大人気ですね。他にも「マドンナ古文」とか、あのCMは面白くて好きです。

さて、Rails 4で何か作ろうと思い立ってから2週間、せっせと作ってきたブログエンジンがようやく形になりました。
(ちょっと時間かかりすぎなんですが、最近あんまりまとまった時間が取れてないので、自分を責めないようにしている感じです…。)

Konnyaku · Multilingual blog with Rails 4.0

Konnyaku Tips のような、オシャレ(※)な多言語ブログが作れます。素敵ですね!
有料のBootstrap用スキンを使ってるからですが^^

    • Rails 4.0を使ってみる
    • 多言語なブログを簡単に書きたい
    • ついでにPostgreSQLも触ってみたい

という最低限の目的は達成できたので、今後は、

    • ちゃんと保守する

をテーマに放置せずに頑張りたいと思います。
そのためにも、もっとちゃんとテストを書けるようにならないと…。
全然上達してる気がしないので、ソースを晒すことでテスト力をアップしようという目論見。

初Rails 4の感想

前評判通り、3.1へのアップデートほどハマるところはないと思います。
作業ログをブログ化しようとしてましたが、途中で断念しました、すみません。
気になる部分あればソースを見るか、メンションでも飛ばしてください。

全作業中、一番ハマったのは、TurbolinksでAdsenseが動かないところ(笑)
Adsense won’t load with turbolinks · Issue #151 · rails/turbolinks にグレーな解決策が提案されていましたが、これでアカウント無効化されたらシャレにならないので、開発者ブログでは一旦Turbolinksをオフにしています。

体感速度に結構寄与しそうな感じだったので是非使いたかったんですが…。
特定のDOMは差し替えないというオプションが欲しい今日このごろ。
サイトに広告貼れないと貧乏人には辛いぜ…?

あとPostgreSQLはいろいろとMySQLと違うところが多くて結構つまづきました。誰かが接続してたらDBを削除できなかったりとか。

やっぱり新しいものを弄るのは楽しいので、しばらくRails 4でいろいろ作ってみようかなと思っています。

参考書籍

 いつやるか? 今でしょ!

間違えた、こっち。(しつこい?)

 WEB+DB PRESS Vol.73

それでは。

1 2  Scroll to top