Rubyの拡張ライブラリWin32OLEの昔話をしてみた
社内の勉強会で急遽、喋らなくてはならなくなり、前日にプレゼンテーション資料をでっちあげて、Win32OLEの昔話をしてみた。
| 固定リンク
| コメント (0)
| トラックバック (0)
社内の勉強会で急遽、喋らなくてはならなくなり、前日にプレゼンテーション資料をでっちあげて、Win32OLEの昔話をしてみた。
| 固定リンク
| コメント (0)
| トラックバック (0)
Agile Web Development with Rails 5 の Part II まで写経した。
でもって、何か動かないコードがあったりしたら、せっせと errata に投稿していた。 そしたら、電子書籍版の Acknowledgments に名前を載せてもらった。( 紙の本は未確認 )
写経してみて感じたことは、サンプルコードはスクラッチから書かれておらず、Rails 4 で書いていたものを Rails 5に移植したのではないかということ。
Task J:Internationalization の章は多少の手抜きが感じられる。 Task K: Deployment and Production の章はちょっとわかりにくかった。 Task K は、写経というより、適当にdeploy 用の環境を作ってcapistranoを使ってdeployできることを確認する程度で終わってしまった。 まあ、何にせよ、自分も少しは、Railsが少しだけわかるようになってきたという手応えを感じることができたのが、今回の写経の収穫である。
余談だが、Acknowledgements が正しい綴りだと思ってたんだけど、Acknowledgments も正しいことを初めて知った。
電子書籍は今だにβ版のままだな。
| 固定リンク
| コメント (0)
| トラックバック (0)
Babelでできるのかと思ったけど、インストールのやり方がまずかったのかうまくいかなかったので諦めた。
traceurを使ってみたら動いたので、こちらを使うことにした。
試したコードは
var name = "JavaScript"; console.log(`Hello World ${name}`);
とか
function calculateBill(total, tax = 0.13, tip = 0.15) { return total + (total * tax) + (total * tip); } const totalBill = calculateBill(100); console.log(totalBill);
など。
| 固定リンク
| コメント (0)
| トラックバック (0)
Agile Web Development with Rails 5 には、ActionCable を使う例が登場するのだけど、これが動作しない。の続き。
結局、errata を良く読み返してみて、app/channels 直下に products_channel.rb を配置すれば動くことがわかった。
更に、
class ProductsChannel < ActionCable::Channel::Base
よりも
class ProductsChannel < ApplicationCable::Channel
とした方が良さそう。
$ rails g channel products
と実行して生成されるファイルでは、そうなっている。
| 固定リンク
| コメント (0)
| トラックバック (0)
Agile Web Development with Rails 5 には、ActionCable を使う例が登場するのだけど、これが動作しない。
Subscription class not found: "ProductsChannel"
写経している自分のコードが間違っているのかと思い、書籍のページからダウンロードしたソースを試してみたが、やっぱり同じエラー。
Vagrant 環境で試しているせいかと思って、ローカル環境で試してみても同じエラー。
errata を見てみたら、同じ現象が既に報告されていたので、自分の環境固有の問題ではなさそう。
ところで、ActionCable のサンプルをWebで眺めていると大概、redis をインストールしているのだが、この本ではインストールしていないし、config/cable.yml には
development:
adapter: async
となっていて、redis を使うようになっていない。開発環境では、redis がなくても、ActionCableが動作するのだろうか?
... githubを読むとどうもそうらしい。
| 固定リンク
| コメント (0)
| トラックバック (0)
Agile Web Development with Rails 5 を読んでいて初めて知った(ちゃんと認識した)こと。
View の中で
render @cart
とやると _cart.html.erb の中では、 cart を使って @cart にアクセスできる。
| 固定リンク
| コメント (0)
| トラックバック (0)
ふと思いたって、Vagrant で Ubuntu 16.04 を試してみようと思ったのだが、エラーが出てしまった。 Vagrant の設定を書き替えてみたり、Ubuntu 16.04 のイメージを別のにして試してもみたのだが、症状は変わらず。
Googleで探してみると vagrant の issue と同じ現象。
で、 このissue の中のコメント にあるように
geerlingguy/ubuntu1604 を試してみたところ、ようやくエラーなしで起動できた。
本当にやりたかったことは、Ubuntu 16.04 を起動することではなくて、その先にあるのだけど、ここで力尽きてしまった。
| 固定リンク
| コメント (0)
| トラックバック (0)
いろいろ調べてみたが、Rails 5 beta3 でもまだ駄目だった。
<https://github.com/rails/arel/pull/400>
が arel にマージされているので近い将来には、arel を使えば、SQL の case に相当するものを arel を使って書けると思われる。
Rails 5 beta3 でインストールされるのは、arel-7.0.0 だったが、これには 残念ながら、含まれていなかった。
なので、普通に case を文字列で渡してやるしかない。
scope :sel_case_col1, -> { select( "case when col1 = 'AAA' then 'aaa' else col1 end as col1" ) }
| 固定リンク
| コメント (0)
| トラックバック (0)
充電式の掃除機が駄目になったのに続いて、iPod nano も充電ができなくなってしまった。 買い替えるかなあ。
| 固定リンク
| コメント (0)
| トラックバック (0)
最近のコメント