2015年11月15日日曜日

railsの続き

ドツボにハマる。結構ハマるというか勘違い多くて。
  1. ajaxが動かなくてどうも普通の画面遷移になる
これが全くわからなくてずっと悶々としてたんだけど、railsのjquery読んでないからだった。 というのもsinatraで書いてた時にjqueryを引っ張ってきてた名残で、こっちにもそのjqueryを引っ張ってた。デフォルトでrailsのjqueryが入っていて、なんか挙動がおかしいなと思ったのでデフォルトの方消してたというタコいミス。 formタグのdata-remote="true"って書き方だけでどうしてajaxが動くのか考えれば分かることなんだけどなぁ。
で、デフォルトだけの方で挙動がおかしかったのはjsの読み込みのタイミングの問題だったのか?って感じでちゃんと意識して書いたら動いてたのでまぁ良しとしよう。納得出来ないけど。
  1. js, cssの扱い勘違い
railsからconfig/initializers/asssets.rbに書けって言われたのでその通りにしてたけど、これ全部の画面で読み込んでるじゃんという。結局public/配下において、viewで普通に呼び出すだけで良いらしい。なんでこんなめんどくさいんだとは思った。
  1. テーブルの参照
例えばbookテーブルにauthor_idがあって、authorテーブルのidとauthor_idでパっとauthorテーブルの中身出したいんだけど、関連付けできねーの?って問題。
@book = Book.find(1) Author.find(@book.author_id)
みたいなの毎回書けって?って感じ。bookとauthorの関係分かりづらいし。(そうでもないか) 絶対にこの辺は簡単にやれるようになってるはずなんだよなぁ〜と、思ったらbelongs_toとhas_manyを使えばいいみたいな話が。 つまりこれで
` @book.author
だけでauthor参照できる。Bookのmodelにbelongs_toでauthor登録しておいて(Authorにはhas_manyをつける)、.authorつけるとAuthor.where(id: @book.author_id)をしてくれる。実際.authorつけるタイミングでselect文発行してるっぽいし。これだと圧倒的に分かりやすい。違和感はあるけど。
違和感は「本が所有してる著者」っぽい感じがして逆なんじゃないか感すごいんだよな。@author.bookだと「著者が所有している(書いた)本」で全く違和感ない。こっちの設計おかしいのか理解がおかしいのかどっちもなのか。
一応、[model名]_idがデフォルトの規則らしいけど、modelにforeign_keyとか設定してあげると好き放題な名前がつけられるらしい。そっちもちょっと後でやらないといけないんだけど。ちなみにauthor_idとanother_author_idみたいな感じでやろうとしたら、どうも後のほうのみAuthorのidが入るらしくてそれもハマった。
  1. 配列のidで取り出し?
さっきのbook, authorの例で言うとauthorが複数マッチしてAuthorの配列の帰ってくる状況。 この複数のauthorにマッチするBookを取り出したいがどうするか?
@author.each do |a| @book << Book.where(author_id: a.id) ` end
を、最初思い浮かべたんだけど、これだとRelationにならなくて@bookに対して更に.where()とか使えない。第一ダサい。
後で気づいたけどin句で出せば良いんだよなって感じではあるんだけど、それのrailsでの実現方法がわからなかった。 ググってたらmapでやってる人いたけどそんなバカなwだったんだけど、つまりはfindやwhereに配列で渡すとin句にしてくれるので、mapじゃなくてpluck()ってので配列作って渡せということらしい。
` @book = Book.where(author_id: @author.pluck(:id))
で、"select * from books where author_id in (1,2,3,4)"みたいな一文で済ましてくれる。
  1. formのactionのid
    1. formから"post /search" に飛ぶ。
    2. ページをリンクから移動して"get /search/2?keyword=hoge" に行く
    3. 再度formから"post /search"に飛ぶ
をすると飛び先が"post /search/2"になっている。form_tag action: "search"ってやってるとidも拾って作るらしい。form_tag "/search"って明記してとりあえず解決。
って感じで一通りは機能問題なしかな。 後はチョロチョロ勉強してrailsに合った書き方をもうちょい落とし込みたい。

シンボルの書き方がなぁ。最初「:key => "value"」だろって思ってたんだけど、「key: value」の方がさっと書けていいか。

2015年11月8日日曜日

rails

rails勉強中。

勉強って言っても前にsinatraで作ってたやつをrailsに書き換えてるだけなんだけど。まぁrailsそろそろやっておかないととは思ってたし。

sinatraと比べちゃうとあっちこっちにファイルが散乱してるので修正しづらい。

ちょこちょこ引っかかってて、javascript読み込まねーぞとか、ちゃんとあるのにNoMethodErrorとか。手順や規則に則らないなら死ねってポジションなのね。

便利な機能提供されてるのは分かるんだけど、だるい。書き換えるだけだしまぁイケるだろって思ってたのがダメだったな。なんか廃止されてるメソッドがドキュメント載ってたりして騙されたりするし。

いやまぁでも楽な部分も多いか。現状とにかく動けばいいで作ってるので、かなりviewとか汚い。とりあえずで一通りの機能を書き換えたら、railsらしい書き方に変えるつもりで。

2015年10月20日火曜日

ダメです

なんか最近「ダメ」って言い過ぎな気がするけど。

土曜朝起きたらMBPが充電できなかったので、サポートに電話。ヨドで見てもらえということなのでさーっと行って、多分充電器の方だろうということなので、交換してもらいました。まぁ初期不良ってことで対応してもらわないと困る。月曜には届いたので優秀ですね。

ただまぁその月曜がぐったりしてて、だるいだるい。新しい方に入れてないのがあったり、古い方画面共有とかファイル共有だとかの設定やってたりしてたら寝てた。

結局休んでだらだらしてたらなんか暑くてなぁ。寒かったり暑かったりで体がうまいこといってないだろうなってのは感じるな。

新しいmbp色々試してみたけど早くて面白い。問題は活用するところがないことか。Twitterしかしてねえ。毎回書き込むとき「dあめ」みたいになるのどうにかしたい。

とりあえずでunityとandroid studioは入れてあるんだよな。ゲームは一応アイデアあるんで誰か作って。

2015年10月15日木曜日

15inch

15inch来たのでインストール大会。最近ソワソワしてたのはそれです。

連休中に来るはずだったんだけどなー。ま、仕方ない。

とりあえず、連休中でちょろちょろ準備をしてたおかげかスムーズに進んだ。まぁそうは言っても4時間くらいかかったんだけど。データ整理しておいたのも良し。alfredとkarabiner入れておけばなんとかなると信じてた。

最初にタップが効かないのが一番焦った。なんでそんなわかりづらいところにあるかなぁ。

usb-ethernetがもにょった。というかthunderbolt-ethernetで良かったんだよなぁ。一緒に買い忘れてたので、まぁ安いのでいいやで。

vim(/usr/local/bin/vim)がなかったり、$HOMEじゃなくてユーザ名直書きのところがあったりでぐだってしまった。なんかrbenvが文句言ってて訳わからんので削除してbrewで入れたり。

まぁひとまず設定は終わったはずなので、後々必要になれば適宜って感じでいけるはず。

前のmbpはどうするか。

2015年10月10日土曜日

行き交う人々

いつも同じくらいの時間に出るので、同じような人たちとすれ違ったり追い越したり同じ電車乗ったりな感じ。

大体記憶してる人は女の人が多いな。というか男は多すぎて全然。
覚えてる人はがに股の女性とか小さい男の子を近くの託児所に預ける人とか、あと男の人だといかにも音楽関係の人だ!って感じの人とか。
ぱっと10人くらいかな。8ヶ月くらいでこれくらいしか分からんのかぁという感じ。

まぁそういう人たちとすれ違うタイミングで、
今日はちょっと家遅めに出てしまったな早足で行くかとか、そんな感じの目安になってる。

私がたまに体調悪くて早めに帰ったりすると、同じような所ですれ違ったりすることがあるけど
朝あの時間だから始業時間が〜で就業時間が〜くらい?残業も無いのかなぁとか色々想像できて面白い。

そう言えばJKとかはあんまり見ないんだよな。まぁ時間的に当たり前か。
それでもたまに見るってことは、何か遅刻とかなのかなぁとか。

ちなみに帰る時にすれ違う人は全然覚えてないです。まぁブレがありすぎるから当然ではあるんだけど。

明るい時間に帰れると謎の幸福感得られるのでおすすめです。まぁ定時あがりだからってのもあるんだけど、同じ定時でも明るいか暗いかで大分違う印象あるので、やっぱり日に当たるのは良いんだなと感じる。

2015年8月16日日曜日

机と椅子

部屋が狭くて机と椅子が置けないので。早く引っ越したい。家賃とか無駄無駄なものに金払うの精神的にキツいけど。まぁプラス1マンでそれなりの部屋はあるんだよな。

なんで机と椅子が欲しいかというと、腰がいたい。ずっとベッドというかマットレスの上で生活してるのはホントに良くない。会社でずっと椅子に座ってるって言っても、それなりに椅子に座るのは大事だよなぁと。作業する時は机と椅子って大事だとしみじみ。

昨日ちょっと自分用webアプリ作ってて、って言ってもニート時代にシコシコしてた奴の改修なんだけど。そんなに頻繁に使いはしないんだけど、それなりに便利でした。javascriptとcss書くのは本当に苦行。実際プログラム書く作業は一日だったけど、過去の遺産を使えるのは楽だった。中身読む気にならんし、読んでもよく分からんけど名前からして使えそうだなって辺り、名前は大事だな。

仕事とは違って書くのがかなり楽しい。自分で上から下までやるし、負を抱えたままの過去の遺産を使わざるを得ないことはないし、厳密にテストする必要なかったり見た目的な問題をまぁこんなんで良いかで済ませられるのは非常に精神的によろしい。手放すことも他人が使うこともないので、「そんなのユーザがちょっと一手間かければいいだろファックス」なクレーム心配する必要ないし。

ひと通り機能をつけて見た目をそれなりに良くしたので一応は大丈夫かな。まだ見た目と使い勝手良くして他にも2,3ヤることはあるんだけど。まぁ後は誰かに使ってもらいたい欲はあるけどオープンに出来ないのがなぁ。次の案もあるので楽しめるな。とりあえずはサーバー機が欲しいな。

2015年8月4日火曜日

病弱キャラ

もう既に病弱キャラみたいなのが定着してる。
4月から休んではいないんだけど、その前は割りと休んでたし。
多分首元冷やしてるのが良くないんじゃねーかなとは思ってるんだけど。
よく行きたくないとは言っても、まぁ行かなきゃと思ってるので、風邪引くと罪悪感あるよね。
大学とかニート生活時なんかだと、だるいと思ったらさっさと休んでたからここまでだったかってのは気付けないんだよなぁ。

今回のは先週くらいから食欲なくてぐったりしてた。
大体風邪の前兆があって眼の奥が痛くなる。その辺りで気付いて対策取ればよかったんだけど、まぁ駄目だったか。水分は多めにとってるつもりなんだけど。
せきと鼻水とたまに頭痛くらいのまぁ風邪だよな。

大体はポカリ飲んで寝るのが主だけど、最近は紅茶に蜂蜜入れて飲んだりしてるか。まぁ今日は休みもらったのでさっさと寝ます。