るびー めも

Ruby の学習メモを記す

heroku でルートドメインを設定する方法

最近は、オープンソースで公開している rubyist-connect の開発が楽しくて楽しくて
仕方ないです。皆さん、良ければ一緒に開発してみませんか?


rubyist-connect/rubyist-connect · GitHub

上記のソースを heroku で WEB アプリRubyist Connectとして公開しているのですが、
少し前にルートドメインでアクセス出来るようにDNSの設定を変更したので
その舞台裏?を少しお話します。

以前は、http://kobe.rubyist.co/ というサブドメインを Dozens というDNSサービスで運用していました。

DNSを自由に簡単に。Dozens(ダズンズ)

無料で12レコードを登録出来る良いサービスでしたが、
heroku のアプリをルートドメインで運用することは出来ませんでした。

heroku でルートドメインとして運用したければ、以下のドキュメントに記載されている
いずれかの方法を選択しなければいけません。


Custom Domains | Heroku Dev Center

その中で、CloudFlare の CNAME Flattening という機能を使って
ルートドメインでの運用を(無料で)実現したので軽く説明します。

詳細については、以下が詳しいです。

CNAME Flattening: RFC-compliant support for CNAME at the root – CloudFlare Support

まずは、CloudFlare でアカウントを作成します。


Home | CloudFlare | The web performance & security company

詳細は、メモしていなかったので省きますが
まずは自分が運用しているサイトを追加します。

f:id:yuji_shimoda:20150117170007p:plain

右側にあるギアのアイコンから、DNS Settings を選択しクリックします。

f:id:yuji_shimoda:20150117170052p:plain

あとは、CNAME(Canonical NAME)エントリで
heroku のアプリケーションの alias としてルートドメインを入力し保存するだけ

f:id:yuji_shimoda:20150117170132p:plain

DNS 側の設定が完了したら、ドメインレジストラー側で
DNS サーバを CloudFlare で指定されたサーバに切り替えるだけです。

私の説明が分かりにくかった人は、以下を参考に
作業してみてください。
Configuring CloudFlare DNS for a Heroku App - Higher Order Heroku

無料でここまで出来るなんて知りませんでした。
教えてくれたのは、西脇.rb の伊藤さんです。


妻のパン屋のwebサイトをいろいろ更新した話 ~Rails 4アップデートとかサイトの高速化とか~ - give IT a try

感謝、感謝

とりあえず、heroku でルートドメインが利用出来たので満足です。
今まで運用していた http://kobe.rubyist.co/ は CloudFlare の Page rules という
機能を利用して http://rubyist.co/ に HTTP 301 redirect しています。

それは、また別のお話ということで

Kobe Rubyist Connect ハッカソン(劇的 Before - After 編)

前回の Blog に書いたとおり、1/10 は Kobe Rubyist Connect ハッカソンでした。

ハッカソン前後の機能差分は、全部把握出来ていないので後日。

パッと見て、直ぐに分かる差分を先に紹介したいと思います。
今回、デザインを担当して頂いたのは maki さんと Yamasy さんです。
Thanks maki and Yamasy.


では、本題

Before Top Page

f:id:yuji_shimoda:20150111000207p:plain

After Top Page

f:id:yuji_shimoda:20150111000227p:plain

まぁ、何ということでしょう。
サイトのトップページと言えば、家で例えるところの玄関ですね。
このトップページを見た Developer はご想像のとおり、湧き上がりました!

次にログイン後の、Index Page です。

Before Index Page

f:id:yuji_shimoda:20150111000216p:plain

After Index Page

f:id:yuji_shimoda:20150111000240p:plain

パッと見ただけだと色合いが変わっただけと思うかもしれませんが
細部に修正が取り込まれています。

詳細は、ご自身で確認してみてください。

Kobe Rubyist Connect

明けましておめでとうございます、1/10 は初ハッカソンです。

前回の blog は、2014/3 なので 10ヶ月ぶりの更新になりますね。

もうすぐ3歳になる娘と、4月で1歳になる息子の父親をやっていますが
子育てって本当に大変ですね。#育休中の奥さんも、クタクタになりながら頑張ってます。

子供たちと、10時頃に一緒に就寝してしまい朝までグッスリということが
最近は多く blog を書くどころかプライベートで全然勉強する時間が取れていないです

そんな中、最近は 1/10 に開催されるハッカソンの準備作業を少しですが行っています。

参加予定のハッカソンは、以下です。
Kobe Rubyist Connect ハッカソン ~Railsアプリをみんなで進化させよう!~ - 西脇.rb & 神戸.rb | Doorkeeper

ハッカソンの題材となる Kobe Rubyist Connect は、昨年10月の合宿で
勉強会用のツールとして、@hilohiro さんと共同で開発しました。
#もともと一人でやっていましたが、@hilohiro さんに合宿中で協力頂きました。
合宿後も、ほそぼそと開発を続けていました。

昨年11月半ば頃、西脇.rb の伊藤さんと 神戸.rb の Aki さんから
2015/1 の勉強会の題材として Kobe Rubyist Connect の
ハッカソンをやりたいと相談を頂きました。

私は、この勉強会に参加し始めた当時から、みんなで1つのアプリ(サービス)を
開発してみたいなと考えていたので、即日OKの返答をしたことを記憶しています。

勉強会の募集案内が出るまでは、ハッカソンの参加者(参加枠10名)が
集まるのかと心配していました。
しかし、蓋を開けてみれば、参加希望者が20名を超えておりビックリ!

せっかくなら希望される方、皆さんでハッカソンしたい!ということで
会場が変更となり、nilquebe さんのスペースをお借りすることが出来たので
20名まで参加枠が増枠されました。
Nilquebe | 神戸・阪神間のコワーキングスペース的ワークスペース

そして、人数が多いこともありハッカソンでは裏方のお仕事をすることになりました。
#と言っても、RubyRails も初心者なので裏方の仕事が私に務まるのだろうか、、、

ハッカソンの準備にあたり、色々なサービスを利用する機会に恵まれました。

とか
Gitter — Where developers come to talk.

Travis CI - Free Hosted Continuous Integration Platform for the Open Source Community とか

とか
Google アナリティクス公式サイト - ウェブ解析とレポート機能 – Google アナリティクス

普段、利用することの無いサービスを知ったり使うだけでもワクワク出来たので
当日はさぞ楽しいんだろうなぁと期待が高まっています。

ちなみに現状の
Kobe Rubyist Connect
は、デザインがアレな感じです。

なので、デザインもテコ入れしないとダメだなぁと年末に以下の書籍を購入しました。
実践Webデザイン jQuery+CSSフレームワークでサクサクつくる「動き」と「仕掛け」

全然、読めていないのがつらいですが、、、

当日は、移動の電車の中で頑張って読みたいと思います!
#誰かデザインについて、教えてください

UNIX 6th x86 実装(xv6) の学習準備

前回の記事にて、以下の基礎学習を目的とした施策を検討しました。

UNIX/C を勉強するなら、ソースコード読めって言われるかと思われますが
最近だと、こんな書籍が出版されているんですね。

はじめてのOSコードリーディング ~UNIX V6で学ぶカーネルのしくみ (Software Design plus)

ただ、この書籍は VAX/PDP-11 アーキテクチャかつ
古の K&R 記法(C言語)のソース読もうって趣旨みたいです。

「はじめてのOSコードリーディング」という本を出版します - やる気のないはてだ(A boring diary)

ただ、今回の趣旨とは少しはずれてしまうので x86 アーキテクチャ
シンプルな UNIX のソース無いかな〜って探してたら、、、

ありましたよ、こんなページが

Xv6, a simple Unix-like teaching operating system

MIT の授業で使われているソースらしく、x86 にポーティング済。

xv6 で調べると、同じようにソースリーディングした先人のメモが
ちらほら見つかるので題材としては、良質なコードと理解しました。

xv6ソースコードリーディング | 日曜研究室

MIT のサイトで、git で取得出来るって書いてたけど出来なかったので
すこし調べてみると github にありました。

https://github.com/heapsource/xv6.git

カーネルが、どうやって boot してくるかとかそのあたりも理解したいので
迷わず以下の書籍を注文しました。

はじめて読む8086―16ビット・コンピュータをやさしく語る (アスキーブックス)
はじめて読む486―32ビットコンピュータをやさしく語る

#486本は、既に持っていてひと通り読んでいたんですが
#8086 本持ってなかったので、基礎から始めるために 8086 本を購入しました。

xv6 のソースを、ひと通り理解できれば個人的な施策は成功のはず
頑張って基礎学習しましょう。

西脇.rb & 東灘.rb 合同もくもく会 8th 参加してきました。

先月 2/23 に久しぶりの西脇&東灘.rb もくもく会に参加してきました。

もう、3週間ほど前なので記憶が薄れてきてますが(^_^;)
記録として残しておきたいと思います。

勉強会の様子は、以下のとおりです。
http://instagram.com/p/lpI3vxmJ1g/
http://instagram.com/p/lpI5IumJ1h/
http://instagram.com/p/lpI6FumJ1j/
Instagram

久しぶりのもくもく会でしたが、初めてお会いする人達も居て
毎回、新鮮な気持ちで参加させていただけました。

今回は、日頃触れない Ruby を勉強するために
Rails Tutorial をお題として学習しました。
Ruby on Rails チュートリアル:実例を使って Rails を学ぼう

Ruby をかじった程度の知識で、Rails を学習するには
最高の題材だと思います。
(なんちゃって Twitter システムを構築するチュートリアルでした。)

このチュートリアルを通じて感じたことが、ひとつ

「基礎学習は、すごく大事」ということでした。

自分の中で、もやもやしていた知識とかがチュートリアルを通じて
すっきりする体験を通じて、基礎学習を「ちゃんと」始めようという
気持ちに変わっていることに気付きました。

「ちゃんと」始めたい基礎学習として、以下が挙げられます。

そこで、まずは UNIX 力を向上させるために個人的に施策を始めたいと思います。

MacBook First の ACアダプターを交換しに行ってきた話の顛末

前回の記事で、ACアダプターが断線して被膜が焦げた話をしました。
また、無償で交換して貰えるかもと記事に書きましたが
実際には、どうだったかという結果を書きます。

結論「交換してもらえませんでした。」

その理由など、もろもろのお話を少し

一番、近くにあるAppleの正規サービスプロバイダが
神戸ハーバーランドBIC カメラなので少し足を運んできました。

11:00 時に受付開始で、11:40 に到着したのですが
すでに44人もの人が受付を済ませて順番待ちしている状況でした。

http://instagram.com/p/lCpT18mJ4N/
Instagram

世の中iPhoneユーザが溢れかえった影響はこんなところに、、、

仕方がないので、しばらくブラブラしながら待つことにしました。

ソフマップ神戸店の店内をぐるぐるグルグル巡り、待つこと3時間半
ようやく順番が呼ばれました。^^;

この時点ですでにやる気がほとんど無い状況なのに
MacBook の ACアダプターが通常利用で被膜がやぶけ
やぶけたところから、溶けて焦げてしまった事を説明しましたが
ビンテージの MacBook なので多分、交換して貰えない可能性が高いとの
お言葉。あと、基本的にビンテージMacAppleに送付して結果を確認するだけだから
ユーザーが直接Appleとやりとりした方が、安くて早いと説明されただけでした。-_-;

3時間半待たされて、それだけかよと!
とりあえず、Appleに直接電話することをおすすめされて帰ってきました。

教訓「Apple製品は、何かあったらとりあえずアップルコールセンターに電話しとけ」

電話番号は、tel:0120-277-535 です。

仕方がないので、コールセンターに電話することに
BIC カメラ神戸店の店員さんに説明したように、経緯を説明しましたが
「多分、無理でしょうね〜」と言われ、「ちょっと確認してきます。」と
3分ほど電話口で待たされました。

再度、電話口に戻ってきた担当の方が一言。「交換は無理みたいです。」と、、、

理由を教えて欲しいと、お願いしたところ
以下の回答が返ってきました。

「お客様の製品は、すでにビンテージ製品に該当するので
 ハードウェア・サービスを終了している。そのため、
 Magsafe アダプタを新規購入(¥8,400-)頂くしかありません。
 新規購入をご検討ください。」

説明の最中に、ビンテージ製品とかオブソリート製品とか言われて
意味が分からなかったので、もう少し詳しく教えてとお願いしたところ
以下に説明を記載しているので参照して欲しいと、URL を連絡してもらいました。

ビンテージ製品とオブソリート製品

ほうほう、こんなページがあったのね。

とりあえずハードウェアの保守が終了しているので無理という話だったので
了解した旨と、新規でアダプタを購入する意思は無い旨を伝え、電話を切りました。

まぁ、古過ぎる MacBook なので仕方ありませんが
とうとう引導を渡す日が来てしまったので少し寂しい気持ちになりました。

この記事は、最後のお仕事として MacBook First で書いています。
この日記を最後に MacBook は引退します。#残りのバッテリは、27%

最後に、「MacBook へ、今までありがとう」と残したいです。

PS.3時間半もぶらぶらしてましたが、掘り出し物があったのでゲットしてきました。

http://instagram.com/p/lCpWyhmJ4Q/
Instagram

もともとは、¥5,000- くらいするみたいなんですが、¥280- だったので
速攻ゲットしておきました。

無駄足でしたが、いい思い出になりました。

以上

MacBook の ACアダプタ

先日、西脇&東灘.rb のもくもく会に久しぶりに
参加してきました。

前回の記事で書きましたが、とある理由で
古いMacBook を持ちだしての参加でした。
もくもく会の参加レポートは後日

勉強会中、何か焦げ臭い気がするなぁと思い
ふとACアダプタに目をやると、、、

http://instagram.com/p/k4S2-pmJ9F/
Instagram

「うっわー、焦げてるやん!」ということで急いで電源抜きました(^_^;

もくもく会中、東灘.rb の Aki さんから Mac の ACアダプタは
保証期間過ぎてても無償で交換してくれるらしいという噂を聞きつけ
ちょっとググってみると、以下の記事を発見。

断線したMacBook MagSafe アダプタを新品に無償で交換! | Kuneen's Blog

マジかーと思い、アップルサイトへのリンクがあったので
おもむろに確認してみました。

Apple Portables:MagSafe アダプタのトラブルシューティング

追加情報にこんな一文が。

アダプタの保証期間が切れているかどうかにかかわらず、Apple 正規サービスプロバイダまたは Apple Store (直営店) にお持ちいただいて製品をチェックし、必要に応じてアダプタを交換してください。チェックの結果が出るまでの間、交換品のアダプタを無償でご利用いただける場合もあります。損傷が過失や事故によるものとみられる場合は、保証の対象外になります。アダプタを使っている Mac 本体も必ず一緒にお持ちください。アダプタの交換を手配する場合に必要になります。

という訳で、一番近いBIC神戸ハーバーランド店に駆け込みたいと思います。

結果は、後日報告する予定です。