AFTER CODEBSE School 10week(5/21-5/27)
今週も主にRailsチュートリアル。13章完了した。今まで一番難しかった。。。振り返るとめっちゃ時間かかってる。。。
AFTER CODEBSE School 10week
1週間のツイートをベースに振り返る
ページネーション復習。https://t.co/VYhyYPx2da pic.twitter.com/QY7wnWqqy4
— shimabukuromeg (@20092014) 2018年5月22日
micropostsで同じことやろうとしたら、ちょっと混乱したので整理。 pic.twitter.com/6XySXbShxE
— shimabukuromeg (@20092014) 2018年5月22日
micropostsで同じことやろうとしたら、ちょっと混乱したので整理。その2 pic.twitter.com/sCSoDwgYe2
— shimabukuromeg (@20092014) 2018年5月22日
関連付け。 pic.twitter.com/zkVqXretob
— shimabukuromeg (@20092014) 2018年5月24日
雑まとめ。Strong Parameters 混乱するー😇😇😇 pic.twitter.com/Rw8CGwXciQ
— shimabukuromeg (@20092014) 2018年5月24日
雑整理。form_forむずい。混乱してきた🤔🤔🤔 pic.twitter.com/7LJW46lqNB
— shimabukuromeg (@20092014) 2018年5月24日
form_for復習。7章。
— shimabukuromeg (@20092014) 2018年5月24日
fオブジェクトのobjectメソッドが呼び出されると、関連づけられたオブジェクトを返すってことか😇😇😇
「フォーム変数fをf.objectとすることによって、関連付けられたオブジェクトにアクセスすることができます。」(13章) pic.twitter.com/OGFG7GgRL7
yield復習😇😇😇
— shimabukuromeg (@20092014) 2018年5月25日
渡されたブロックをメソッド内で実行するためにyield を使う pic.twitter.com/CH5HfWUDSh
関連付けが出てきたぐらいから、CODEBASE講座のアプリケーション設計の回で教えてもらったことがじわじわきてる。けどむずい。。。 pic.twitter.com/ycRbJEbLoc
— shimabukuromeg (@20092014) 2018年5月25日
13章 フィード画面のマイクロポストをテストするで、follow_redirect!とかassert_match content, response.body って何だっけ???ってなったので復習整理😇😇😇https://t.co/75Sr0h0eIh pic.twitter.com/5XfnUILQ0A
— shimabukuromeg (@20092014) 2018年5月27日
assignsメソッドがわかんなくなったから復習/整理メモ😇😇😇
— shimabukuromeg (@20092014) 2018年5月27日
11.3.3で紹介したassignsメソッドを使ってください。このメソッドを使うと、投稿に成功した後にcreateアクション内のマイクロポストにアクセスするようになります。https://t.co/q8r4hYrI1a pic.twitter.com/LhO8WUYdbu
インデックスとは? pic.twitter.com/y9zMAaBkmy
— shimabukuromeg (@20092014) 2018年5月28日
インデックスとは? pic.twitter.com/TcM1AWLBXA
— shimabukuromeg (@20092014) 2018年5月28日
13章やっと終わった。。。今まで一番むずかった😇😇😇 pic.twitter.com/FCkGpBNzLl
— shimabukuromeg (@20092014) 2018年5月28日
その他
この週流れてきたいいなと思ったツイートと記事
自分が成長したいんなら、どれだけ年食っててもcomfort zone を抜け出す様に意図的に動かないとダメ。
— Ryosuke IWANAGA 🇨🇦 (@riywo) 2018年5月22日
#Railsチュートリアル "2周目は1周目よりは確実に理解できる. 大丈夫. まずは1周目を走りきって, 恐れず2周目をやってみよう! 2周目を始めると自分の成長が実感できる. これは快感!" 2周目で気づいた、当たり前な3つの… https://t.co/YTt6JI3Sh1
— 安川要平/Yohei Yasukawa (@yasulab) 2018年5月25日
世の中の真理 pic.twitter.com/5rPdYt6JWW
— 二匹目のペンギン (@pengin_two) 2018年2月19日
俺はプログラムに向いてないんじゃない!書いてる量が足りないだけだ!!
— つるべー (@tsurubee3) 2018年5月21日
すごい人見て「俺は向いてないな」って逃げるのはやめよう!!
AFTER CODEBSE School 9week(5/14-5/20)
今週も主にrailsチュートリアル。12章と13章の途中まで。進めてる途中で、あれなんだっけ???ってなる事象多発。あと今更ながらCODEBASE SHCOOLで作ったアプリを公開してみた。SlimをLinuxで動かすようにしたり、apacheとかnginxとかの設定を調べるのに手間取った。この辺りもう少し理解深めていきたい。(けど今はチュートリアル頑張る)
AFTER CODEBSE School 9week
振り返り
チュートリアル復習。ユーザー情報更新の処理のところ。パスワード入力しなくても更新できるようにする処理。どうするんだっけ。https://t.co/8BvgWGZcLJ pic.twitter.com/aKfr8q3ug2
— shimabukuromeg (@20092014) May 20, 2018
なるほど〜 pic.twitter.com/fxugC4SxRC
— shimabukuromeg (@20092014) May 20, 2018
ユーザー新規登録のときパスワードなしで登録できるのでは?について。 pic.twitter.com/7ceFmnmCjc
— shimabukuromeg (@20092014) May 20, 2018
パスワード再セットアップするときにパスワード空した場合どうなるかって話。https://t.co/Gu978atAYG pic.twitter.com/yJe8aHdSg4
— shimabukuromeg (@20092014) May 20, 2018
コントローラーのupdateアクションで空かどうかチェックしてエラーメッセージ追加する。なるほど〜 pic.twitter.com/IsOStJJg6H
— shimabukuromeg (@20092014) May 20, 2018
12章パスワード再設定の統合テストのコード。すぐ忘れそうなので度々見返そう😇😇😇
— shimabukuromeg (@20092014) May 20, 2018
このテストはコードリーディングのよい練習台になりますので、みっちりお読みください。https://t.co/cfk4diE5oQ pic.twitter.com/Up72zrXZyI
やっと12章終わった。。。 pic.twitter.com/H3mCvR9ig4
— shimabukuromeg (@20092014) May 20, 2018
Procオブジェクトがよくわかってない問題🤔
— shimabukuromeg (@20092014) May 20, 2018
Procクラスはブロックをオブジェクト化するためのクラス。Procクラスはブロック、つまり「何らかの処理(手続き)」を表すらしい。。。https://t.co/ZVRieZkTyn pic.twitter.com/GTBKUbblzv
Procなんとなく意味わかったけど、default_scopeメソッドむずい🤔
— shimabukuromeg (@20092014) May 20, 2018
# Procオブジェクトを普通の引数として渡す
def greeting(arrange_proc)
text = arrange_proc.call('hello)
puts text
end
# Procオブジェクトを普通の引数としてgreetingメソッドに渡す
greeting ->(text){ text * 2 }#Cherry本 pic.twitter.com/pR6zjjJuZe
Next Week
- 13章は確実に終わらせる。
- 14章はできるところまで進める。できたら14章まで終わらしたい。
AFTER CODEBSE School 8week
今週はRailsチュートリアル10と11が終わった。そしてCODEBSE School 終わって2ヶ月がたった。この2ヶ月はRubyばっかりやってるけど、わかりやすいアウトプットがないのが焦る。とりあえずチュートリアルまず終わらしたい。
AFTER CODEBSE School 8week
- rails tutorial
- 第10章ユーザーの更新・表示・削除
- 第11章アカウントの有効化
振り返り
- 学習時間をかけるの習慣にできていると思うので、今度は質をあげたい。なかなかチュートリアルの進み具合が遅い。どうしたら質をあげれるんだろうか。
- チュートリアルやってて、おおお!って勉強になること多いけど、これってほんとコードかけるようになってる???って思っちゃうことある。例えば、Rubyでスクリプトを何も参考情報とかなしでさらっとかけたりできるかと言われたらできない。今はチュートリアルベースのWEBアプリ制作をアウトプットに学習してるけど、この学習をベースにRuby力が鍛えられるようなアウトプット(目標)設定してコード力あげていきたい。定義元を読み込むとか。
NEXT Week
- rails tutorial
- 第12章パスワードの再設定
- 第13章ユーザーのマイクロポスト
AFTER CODEBSE School 7week
今週はGWもありかなりまとまった時間が取れた。
AFTER CODEBSE School 7week
- rails tutorial
- 第7章ユーザー登録
- 第8章基本的なログイン機構
- 第9章発展的なログイン機構
振り返り
プログラミング学習をしていると、「コード動かなすぎオワタ…」とか、「難しすぎてオワコン…」って気分になるけど、心配無用です。ある日突然、ブレイクスルーしますので。
— マナブ@バンコク (@manabubannai) 2018年4月29日
スティーブ・ジョブズ的にいうと、「点と点が繋がる」でして、その日からは、プログラミング愛が生まれます👶
Next Week
rails tutorial
- 第10章ユーザーの更新・表示・削除
- 第11章アカウントの有効化
AFTER CODEBSE School 6week
今週の学習時間は21時間。主にrailsチュートリアルに取り組んだ
AFTER CODEBSE School 6week
この1週間でやったこと
rails tutorial
- 第5章レイアウトを作成する
- 第6章ユーザーのモデルを作成する
- 第7章ユーザー登録(7.2 ユーザー登録フォームまで)
progate sass
そのほか
- sinatra自作アプリ作成の続きを少し
振り返り
「第5章レイアウトを作成する」でかなり時間がかかった気がする。アセットパイプラインあたりがいまいち理解しずらくて、時間かかった。今でもあんまりちゃんと理解できていない気がしてる。。。
ざっくりだけど以下のように理解してる
Rails のアセットパイプライン(Assets Pipeline)は JavaScript や CSS、画像ファイルといったファイル達(アセットファイル)を連結したり圧縮することで効率的にアクセスできるようにする仕組み(フレームワーク)です。
todo
Okinawa.rb Meetup 4/24
ISUCONのはじめかた話を聞いてきた。題材はprivate-isu。雑にメモ
ISUCON流れ
全体流れ
- sshの設定で公開鍵はgithubにあげとく作戦
- config設定(セッションが切れないようにするなど)
- アプリケーションのコードをgithubにアップする
- githubにあげたコードをローカルに持ってくる
- ローカルでサーバーと同じような状態にする
- ローカルでコードを修正できるようにする
- ベンチマーク実行する
- ブラウザから操作してみる
- ボトルネックを探す
- ローカルでコード改修する
- 環境にデプロイ
- ベンチマーク実行する
ローカルでアプリを動かせるようにする状態にするのがなんとなく難しそうだった。
MySQLメモ
- ダンプ
$ mysqldump -uroot isuconp > db.sql
- リストア
mysql> create database isuconp; mysql> quit $ mysql -uroot -proot -D isuconp < db.sql
- ポートフォワード
ローカルの3306にアクセスしたらサーバーのMySQLにアクセスするようにしたかったけど、なんか3306を指定したらエラーになってうまくいかなかったので、いったん13306を指定してる
shimabukuromegumi-no-MacBook-Pro:~ root# ssh -f -N -C -L 13306:localhost:3306 isucon@13.231.226.73 -p 22 shimabukuromegumi-no-MacBook-Pro:~ root# mysql -uroot -P 13306 -h 127.0.0.1 Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 648 Server version: 5.5.49-0+deb8u1 (Debian) Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>
$ mysql.server start $ mysql.server stop $ mysql.server status
memcached メモ
isuconアプリをローカルで立ち上げる時にmemcachedがないっていうエラーになったので、導入した。(なぜ必要なのかはいまいちわかっていない)
- インストール
brew install memcached
- 起動
memcached
sinatraメモ
ローカルにisuconアプリを持ってきたあと、bundle install、bundle exec ruby app.rbで起動すると思ったけど、うまく起動しなかった。bundle exec rackup -p 8080とするとちゃんと起動した。(なんで起動しなかったのかよくわかっていないってのと、rackupってコマンドがなんなのかよくわかっていない)
cd isucon-pixiv/ruby bundle install --path=vendor/bundle bundle exec rackup -p 8080
ngx-mrubyメモ
isucon7の予選のsleep問題にrubyでも対策できるようにngx-mrubyを使えるのでは???という話。isucon7のsleep問題もいまいちよくわかっていなくて、なるほどわからん状態だけど、ngx-mruby気になる。
isucon7メモ
ISUCON 7 予選で ISUCON 初参加した結果を振り返る · GitHub
一見無駄に見える参照実装の sleep の意味に気づくとブレイクスルーすることができたと思います。
Goつかってたということもあって、sleepはとくに障害になりませんでした。
これがPerlやRubyといったprefork型のやつだと、/fetchの並列度によってはworkerが/fetchに専有されるみたいなのもありえたのですが、GoとNode.jsはその辺考えなくて済むのでそこは楽でしたね。 beatsync.net
AFTER CODEBSE School 5week
今週からRails tutorialに取り組み始めた。(今週の学習時間23時間)
AFTER CODEBASE School 5week
この1週間でやったこと
rails tutorial
progate rails
- 復習(気になったところ)
- たのしいruby本
- 8章「クラスとモジュール」まではざっと読んだ。それ以降は気になったところを少しづつ読んだ
- sinatra自作アプリ制作
- slimで書いてたアプリをsinatraで書き直してみてる
振り返り
反省
- 反省点としては、1週間でどこまでできるかを想定して作業してなかったこと。基本的には、railsチュートリアルを中心にその周辺知識を学んでいくっていうtodoはあるけど、今のところそのtodoに対して一週間でどれだけ時間取れるかっていうのが目標になってる感じ。
- 一応どこまでやるとかは考えるようにするけど、寄り道し始めたりするとまあまあ時間奪われて、想定通りに行かなくなって、テンション下がりそうなので、今のところ目標は時間ベースにする(〜1000時間)
- HTMLとかCSSとかJSとかの基礎レベルで寄り道発生しやすい
来週todo
- railsチュートリアルをどこまで進めれるか計算してみた。
- railsチュートリアル2週180時間=1週90時間で終わると想定する。
- 今のところ1-4章で15時間かかってるから、残り10章を75時間でやる。
- 7.5時間/章
- 1週間に取れる学習時間がだいたい20-25時間なので、だいたい3章分は完了させないと、想定通りの時間でチュートリアル1週できない。
- 来週1週間で5-7章(3章分)を終わらすことを目標にする
- 第5章レイアウトを作成する
- 第6章ユーザーのモデルを作成する
- 第7章ユーザー登録
いいっすね具体的。チュートリアルがもっとかかるかも。だけど2週すると180~200時間はあってそう。
— さぼ@ギークハウス沖縄 (@saboyutaka) 2018年3月26日