ミニベロを分解して組み上げた
ミニベロを買って乗っていたのだが、後輩からSensah empire使って11Sにしないのか?という話を聞いてみて11Sかしてみた。
乗っていたのはa.n.design worksのcdr214 alというミニベロだった。
ホイールとタイヤが重いせいかスポーツ自転車としては、ずいぶんもっさりとした自転車だなという印象を持っていた。
とはいえ、ママチャリとかと比べると乗ってると楽しいと感じるくらいには違うといった具合だった。
フレームととフォークとブレーキ以外は全部取り替えたのだが、ここまでするならフレーム買って取り付けたほうがまだ楽だった感想。
特にBBが固着していてどうにもならなかったのでお店にもっていって外してもらったりとかもした。
また変速がおかしくなっているので調整が必要なのだが、それもまたそれで楽しかったりする。
ホイールもタイヤも良いのに変えたせいか非常に走りもよくなった。
それにしても初めからついているブレーキが一切止まらないのでどうにかしたいところでもある。
2016年12月31日の奇跡
ブログあったことを忘れるぐらい書いてなかったんだけど、ちょっと嬉しいことがあったので久しぶりに書く。
実は2015年の6月くらいから睡眠が不安定になって2016年の9月ぐらいに睡眠不足だけではなくて最早色々と限界な状態になったのでお休みを戴きました。 というわけで現在進行形で休職しています。
そんなわけで色々と疲れてしまった時に先輩にRENTってミュージカルを紹介してもらった。
これを家で一人でゴロゴロしてた時に見て、ボロ泣きしてしまいました。 こう今の自分に結構刺さるものがあったりして、サントラを購入して永遠と聞いてる日々があったりした。
というわけで、このRENTミュージカルと映画を見てすっかりとハマってしまっていました。
会社に復帰しようとしてやっぱりダメでと言うのを繰り返して叩きのめされた時に支えにもなったのも事実で結構刺さる歌が多いです。
借りただけじゃなくてDVDも買って時々(と言っても買ってからまだ2回しか見返してないけど…)見返してた。
という感じな一年で最早ボロボロな感じで生きてたんですが、コミケ3日目(2016/12/31)に行こうかなぁと思って行ってみた。
一番見たかったのは @takahashi365さんの新卒退職本でした。
【お知らせ】コミックマーケット91 3日目 東P-25bにて「新卒退職本」を頒布します。興味のある方は是非いらしてください。サンプルは大人の都合上一部にモザイクを入れていますが、実物にモザイクはありません。 pic.twitter.com/aao9FACWg6
— 高橋のぞむ@3日目 東P-25b (@takahashi365) 2016年12月27日
こちら残念ながら伺ったときには売り切れてしまっていたのですが、見本誌を拝読させていただきました。お疲れ様でしたという感想でした。またKindleで再販を検討しているそうなのでそちらを待つ事にします。
それ以外にも凄く魅力的な薄い本が色々とあってお金がすごい勢いで飛んでいって実に良い年末だという気分になりました。そんなこんなで長居するつもりも無くサクッと帰りました。
行きはりんかい線使ったんですけど、帰りはゆりかもめで帰りました。ゆりかもめで帰ると私の住んでる家の方には新橋に出るんですよ。
映画でも見て帰るかな〜と思って検索したら、有楽町に沢山劇場があるので、もう頭のなかがフランク永井でいっぱいになってしまいました。というわけで、有楽町に移動して角川のシアターから順に見てこうかな?と思い、見事に迷いました。
地図持ってうろついてたはずなんですけどねぇ…(こういうことよくあるんですよ…)
そしたら、国際フォーラムの前で何やら、おにいさんが「エンジェルシートの抽選クジ配ってます!」とか呼び込みを行ってるわけですよ。
で、エンジェルシートって聞いてDVD貸してもらった先輩が並んだこともあるって言ってたのを聞いたのを思い出してピーン!と来たんですよ。
これRENTじゃね?ってで聞いてみたらやっぱりRENTだったわけなんですが、もう並ぶしか無いなって思いました。時間的にはちょうど昼の部のエンジェルシート抽選クジの締め切り間際な時間帯だったわけですが、チケットをゲットしたわけです。
エンジェルシートについてRENT20周年公演のページから引用させていただくと
※エンジェルシートとは...
RENTクリエイターのジョナサン・ラーソンは、お金に余裕のない学生やブロードウェイに縁遠い若い世代などすべての人にこの作品を愛してもらいたいと願っていました。彼の意思をついだものがこのエンジェルシートです。
エンジェルシートは1公演につき、最前列の10席を6,500円にて販売いたします。(※12/24(土)21:00公演・12/31(土)22:15公演は7,500円にて販売いたします。)
お一人様1枚まで現金購入のみとなり、公演当日に抽選を行い、当選された方のみお買い求め頂けます。
抽選方法詳細は、こちらをご確認ください→ http://rent2016.jp/angelseat.html
となっており、本当に舞台のど真ん前の席が割り当てられているみたいです。
これで見れたら奇跡だ!頼む! pic.twitter.com/J2JZ3rlX34
— kk2170@がんばらない (@kk2170) 2016年12月31日
1時間ドキドキで待ち続けた結果は…
外れたー!残念
— kk2170@がんばらない (@kk2170) 2016年12月31日
というわけで外れてしまった感じでした。
すごく残念だけどドキドキ出来たし良かった
— kk2170@がんばらない (@kk2170) 2016年12月31日
このドキドキ感を抱えて家に帰ろうと思ったのですが、フッと魔が差したんです。
…夜の部も並んで見るか
— kk2170@がんばらない (@kk2170) 2016年12月31日
そうだな!並ぼう
— kk2170@がんばらない (@kk2170) 2016年12月31日
馬鹿ですね。最終公演前で何時間待つ気だよと思ったのですが、もう何が何でも見たろうという気持ちでした。とはいえ、まだ並んでる人もいないし今の時間から並んでたら流石に死んじゃうと思ったので、時間つぶしをすることにしました。
今年最後の映画はメルーにした
— kk2170@がんばらない (@kk2170) 2016年12月31日
そんなわけでメルー見てきました。メルー良いですよ。メルー。
いや、もう狂ってるとしか思えないです。見終わった直後の感想は↓
淡々と進んでいくんだがヤバイ、途中あれ?これフィクションなの?えっ?えっ!?ってなってく。
— kk2170@がんばらない (@kk2170) 2016年12月31日
そんでもってドキュメンタリー映画で有る事を確認して絶句した
映像もきれいでした。
そんな感じで並び始めたわけです。
エンジェルシート待機列に並ぶ。前十人位だから当日席でも見れるはず…
— kk2170@がんばらない (@kk2170) 2016年12月31日
18:09分エンジェルシート抽選券配布まで何時間あると思って並んでたんでしょうね?
なんかこう猛烈なファンみたいになってしまったが、単純に時間間違えただけだったりする。でもどうせ待つなら見たいしと思って早く来て良かったかも
— kk2170@がんばらない (@kk2170) 2016年12月31日
実際のところこんなオチだったりするけど、待つのも悪くないなと思えた時間でした。
再挑戦だ! pic.twitter.com/sq7sUWEiI2
— kk2170@がんばらない (@kk2170) 2016年12月31日
というわけで得た番号は14番、一時間あるので三田製麺所でご飯食べてました。
当たってからはこんな感じでした。
エンジェルシート当たった震えが止まらん
— kk2170@がんばらない (@kk2170) 2016年12月31日
14番っていきなり読み上げられたのですが、当たった時は信じられなくて凄く喜んでしまいました。
ヤバイ
— kk2170@がんばらない (@kk2170) 2016年12月31日
生きててよかった!
— kk2170@がんばらない (@kk2170) 2016年12月31日
いまだに信じられない pic.twitter.com/sWFurmZG07
— kk2170@がんばらない (@kk2170) 2016年12月31日
ジャックポット出し切った感今後こんな事無いだろうな
— kk2170@がんばらない (@kk2170) 2016年12月31日
今年色々とあれだったけど最高だ
— kk2170@がんばらない (@kk2170) 2016年12月31日
心臓バクバク
— kk2170@がんばらない (@kk2170) 2016年12月31日
やばい凄い前やばい
— kk2170@がんばらない (@kk2170) 2016年12月31日
席につくまでがこんな感じで堪能してきました。
放心した
— kk2170@がんばらない (@kk2170) 2016年12月31日
何度かこのまま生きててもしょうが無いしとっとと死ぬべきか悩んでたこともありましたが、こんな良いことが起こるなら生きてて本当に良かったと思える最高の年末年始を送れました。手がおかしくなるくらい拍手したのは初めてでした。
初めてのRENTのミュージカルの20周年記念公演の千秋楽でエンジェルシートを飛び込みで引くなんて経験なんて最早出来ないと思いますが、また見に行きたいなと思いました。
CarrierWaveを使った時にundefined method `validate_integrity'が出て困った話
TL;DR
アプリケーション名とCarrierWaveで生成されるuploaderが同じ名前になるとundefined method `validate_integrity'のエラーが出て困る。
とった解決策
多分何らかのオプションがあってずらせる気がするが、今回はアプリケーション名とuploaderが変わるように変更した。
まとめ
名前空間が衝突すると変なことになるので注意
前提
多分こんなマヌケなことをやらかすのは僕だけだと思ってるのですが、
Rails+CarrierWaveを使った時にうまく動かなくてちょっと諦めかけてたのですが、問題自体がかなり間抜けっぽかったので多分皆引っかからないと思うのですが解決策もよくわかってないのでメモだけは残しておく。
CarrierWaveのせいでもRailsのせいでも無くて使い手の問題な気がします。
つまり俺が悪い。一応バージョンだけ記載しておきます。
使用したソフトウェア | バージョン |
---|---|
ruby | 2.2.3 |
rails | 4.2.4 |
carrierwave | 0.10.0 |
他はまぁ適当に使ってます。databaseとかはなんでもいい気がするので書いてません。
何をしたか?
手慰みに画像のアップロード機能をRailsでためしてみることにしたかった。
というわけで安直に名前をImageUploaderとしてrails newをした。(ココが原因)
振り返り
プロジェクト生成
Rails new ImageUploader
生成したプロジェクトにCarrierWaveのGemを追加する。
source 'https://rubygems.org' gem 'carrierwave' #~~~~長いんで省略~~~~
で、Gemfileに書き加えたのでいつものごとくbundle installを叩く。
これで準備は完了。
Scaffold
そして画像をアップロードした時のモデルとコントローラーをscaffoldでどかっと作ってしまう。 名前(name)と画像管理用のカラム(image)をもつImageモデルを作る。
管理に使うカラムのクラスはCarrierWaveのREADEMEにかかれている通り、stringを指定している。
bundle exec rails g scaffold Image name:string image:string
で、生成されたmigrationファイルを実行しておく。
bundle exec rake db:create bundle exec rake db:migrate == 20151012181358 CreateImages: migrating ===================================== -- create_table(:images) -> 0.0016s == 20151012181358 CreateImages: migrated (0.0017s) ============================
この時点でrailsを起動すると、したのようにいつもの画面が出てくる
uploaderを作る
そして本題のuploaderを作る。この辺りもちゃんとREADMEにかかれているので参照されると良いと思う。
bundle exec rails g uploader Image
これを叩くと app/uploaders/ の配下に image_uploader.rb が生成される。
特に変換とかしたいわけではないので、デフォルトをそのまま使う。
モデルと結びつける
class Image < ActiveRecord::Base mount_uploader :image, ImageUploader end
railsを起動する
エラーが出る…
はてさてこの原因は何だろうということでエラーをじっと見てみるとModuleとか出てるわけで、
というわけでconfig/application.rbを見てみると
require File.expand_path('../boot', __FILE__) require 'rails/all' # Require the gems listed in Gemfile, including any gems # you've limited to :test, :development, or :production. Bundler.require(*Rails.groups) module ImageUploader class Application < Rails::Application # Settings in config/environments/* take precedence over those specified here. # Application configuration should go into files in config/initializers # -- all .rb files in that directory are automatically loaded. # Set Time.zone default to the specified zone and make Active Record auto-convert to this zone. # Run "rake -D time" for a list of tasks for finding time zone names. Default is UTC. # config.time_zone = 'Central Time (US & Canada)' # The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded. # config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}').to_s] # config.i18n.default_locale = :de # Do not swallow errors in after_commit/after_rollback callbacks. config.active_record.raise_in_transactional_callbacks = true end end
うん、多分これだ。
名前空間が衝突しちゃったみたいだ。
というわけで、別の名前でmigrationからやり直してみる。
%s/Image/Gazo/
bundle exec rails g scaffold Gazo name:string gazo:string bundle exec rails g uploader Gazo bundle exec rake db:migrate
class Gazo < ActiveRecord::Base mount_uploader :gazo, GazoUploader end
で実行してみるとちゃんと実行される
まとめ
めったに無いとは思いますが、application名とuploaderが一緒になるような場合問題になるようです。 ご注意ください。
言語化することの脅威
2年間ぐだぐだと個人的に続けてきたことを、一回自分でもまとめてみようかな?と思ってスライドとかに簡単にまとめてみたりして準備したりしてたのですが、
結果として急にモチベーションが下がってしまって、2年間続けてきたことを続けていくことに対してものすごく辛くなって自分でもわけがわからない状態になってしまっていた。
その時はなんで急にモチベーションが下がったのか、なんで急にいつもやってたことが煩わしくなってしまったのかが解らなくてもやもやしてこんな状態じゃ続けられないしどうしようと思っていたのだが、phaさんの下の記事
何かを終わらせるために書いてる - phaの日記
を見た時にハッとした。
なんとなくで言語化してしまったことによって自分の中で終わらせてしまっていた事に気がついた。
でも、本当にそれって終わってるの?勝手に答えを全部出したつもりになっているけど本当に終わったの?やりのことしたことは無いの?
って思うと全然道半ばだしやりたいこともまだまだあるし、やってみたいこともある。
だから、もうちっとだけ続けてみよう。
と、思えたのだが恐ろしいことに何が原因でモヤモヤしていたのか答えを得られなかったら本当にやめてしまっていたに違いない。
言語化することで自分としての答えを出すという事は非常に大事になことだと思います。
人間の時間は有限なので何かを終わらせる事でしか、次に進めないというのもあわかります。
しかし、その時点で出した答えで満足できるか?もっとやることは無いか?今後は同様に辞めたくなった時に思い返して見ることが出来るようになったのでいい経験になったと思う。
でも、言語化したことでこんな副作用があるとは正直思わなくてびっくりした。
YAPC::Asia2015に行ってきた
去年のYAPCからブログ書いてないとかどんだけだよという気分もしますが、YAPCはブログを書くまでがYAPCなのでしょうがないですね。生存確認のためです。仕方ないですね。
例によって朝寝坊してしまったので、ラリー・ウォールさんの講演は聞けなかった。
その場にいた同期によるとホビットの冒険を見れば大丈夫らしい(なんじゃそりゃ)
他にも懇親会予約しそこねていてかなり(´・ω・`)
後輩と出くわしたり色々と盛りだくさんで、楽しかったです。
話を聞いた中で面白かったものを3個だけとりあげて以下にまとめる。
個人的に超知見が得られたという話であれば、「ISUCONの勝ち方」これに尽きます。
現在色々と隠れ蓑にしてチューニングして回っているのですが、これは本当に知見のかたまりでした。
すごく役に立ってます。この発表を聞いて方針が綺麗に定まったおかげか、一部のAPIのレスポンスタイムが1/3にすることが出来ました。この話は聞けてよかった。
http://yapcasia.org/2015/talk/show/86ebd212-fab3-11e4-8f5a-8ab37d574c3a
羨ましくなった話としては「esa.io - 趣味から育てたWebサービスで生きていく」です。
僕も自分が自分で使えるようなサービスをいずれ作りたくなりました。
http://yapcasia.org/2015/talk/show/c191c08a-0a98-11e5-be34-67dc7d574c3a
発表が面白かったといえば「WebAudio で入門する信号処理 」です。
すごく面白かった。ビデオが公開されたら見るのをおすすめしたいです。
発表も内容も発想も面白かったです。こんなことができるようになりたいです!
http://yapcasia.org/2015/talk/show/c61a32a4-f797-11e4-bcef-8ab37d574c3a
ビデオが公開されたら他の聞けなかった講演も見てみたいなぁ〜
YAPC::Asia2014に行ってきた(2日目)
,. -‐'''''""¨¨¨ヽ
(.___,,,... -ァァフ| あ…ありのまま 昨日 起こった事を話すぜ!
|i i| }! }} //|
|l、{ j} /,,ィ//| 『おれはいつの間にか寝ていたと
i|:!ヾ、_ノ/ u {:}//ヘ 思ったらYAPCが始まっていた』
|リ u' } ,ノ _,!V,ハ |
/´fト、_{ル{,ィ'eラ , タ人 な… 何を言ってるのか わからねーと思うが
/' ヾ|宀| {´,)⌒`/ |<ヽトiゝ おれも何をされたのかわからなかった…
,゙ / )ヽ iLレ u' | | ヾlトハ〉
|/_/ ハ !ニ⊇ '/:} V:::::ヽ 頭がどうにかなりそうだった…
// 二二二7'T'' /u' __ /:::::::/`ヽ
/'´r -―一ァ‐゙T´ '"´ /::::/-‐ \ 目覚ましを無意識に止めていたとか
/ // 广¨´ /' /:::::/´ ̄`ヽ ⌒ヽ そんなチャチなもんじゃあ 断じてねえ
ノ ' / ノ:::::`ー-、___/:::::// ヽ }
_/`丶 /:::::::::::::::::::::::::: ̄`ー-{:::... イ もっと恐ろしいものの片鱗を味わったぜ…
というわけで、寝坊しました!あれだけ楽しみにしてたのに!
朝の2セッション聞けませんでした!でも、気になるのでビデオ公開されたら必ずみる!
他の参加してないセッションも気になるのあるから是非とも速く見たい!
というわけで、お昼のご飯に滑り込んだところから、YAPC二日目が始まりました。
ご飯美味しかったです。かき氷は火照った体に気持ちよかったです。
でYAPC::Asia感想ですが、いや本当にすごかった。
どのセッションも凄かったし、技術に関してみんなキラキラしながら楽しそうに語ってたのが何よりもうワクワクした。
こんなワクワクしたのは本当に久しぶりで、僕もそういう生き方をしたい…いやする!ということで色々とゴソゴソと動いてみることにしようと思いました。
いや、なんというか会社内に篭ってるとこういうのが見えないから良くないっすな!
行ってして良かった!いや、もう行ってなかった去年までの自分を殴りに行きたいレベルで楽しかった!
今年はリスナーとして楽しませて頂いたけど、来年はなにか話せるものを作って頑張りたい!
あそこに立ってキラキラしながら楽しそうに語ってみたい!と思えるイベントでした。
あぁ楽しかった。