「オブジェクト指向設計実践ガイド ~Rubyでわかる 進化しつづける柔軟なアプリケーションの育て方」読んだ
オブジェクト指向設計実践ガイド ~Rubyでわかる 進化しつづける柔軟なアプリケーションの育て方
- 作者: Sandi Metz,?山泰基
- 出版社/メーカー: 技術評論社
- 発売日: 2016/09/02
- メディア: 大型本
- この商品を含むブログ (1件) を見る
内容としては、以下サイト様に同意。
あと、完全に好みの問題ではあるが、たまたま伊藤さんの tweet で仰ってたことが、この本の感想と同じだった。
僕は「文章はいいからコードを見せろ!」と思う人なので、自分が書く技術記事は極力サンプルコード付きで書いております。
— Junichi Ito (伊藤淳一) (@jnchito) September 11, 2016
技術記事なのに、文章だけで「xxxはすごい!xxxは素晴らしい!」って力説されてもイマイチ説得力がないんですよね~。
コード例が少なくて、話が長いな・・・、と思った(申し訳ありません・・・)。
もっと写経し易い感じだと良かったなぁ、というのが率直な感想。
対象としている層はどこなのかな?というのも気になった。
初心者や、そのレベルくらいだとちょっときつそう。
中級くらいだと、ちょっと物足りない、という感じかも、とも思う。
「何となくJavaScriptを書いていた人が一歩先に進むための本」を読んだ
ちょっと前に、フロントエンド周りの流行についていくいかないでネット上では少し話題になっていたよう。
自分は地味な業務アプリしか作ってないので、まぁ今はいいか、と言い訳して勉強してこなかったけど、ちゃんとやろうと思った。
というか、直也さんのtweetが脳天に刺さっただけなんだけども。
物事を学ばなくていい理由を探しはじめたら我に返らないとね
— Naoya Ito (@naoya_ito) 2016年8月25日
「『これ』と決めた道で知らないほうがいいことなんて一つもないわよ」
フロントエンド界隈ガーってなんか文句いってる人の多くは学ばなくていい理由探ししてるだけだから
— Naoya Ito (@naoya_ito) 2016年8月25日
そうやって学ばなくていい理由探ししているうちに世の中は次のフェーズに行ってしまうんだよ。それがいいかどうかはお構いなしに
— Naoya Ito (@naoya_ito) 2016年8月25日
JavaScriptをとりあえず勉強しよう、と思い立ち、とりあえずワンコインで買える以下の本を買って読んだ。
何となくJavaScriptを書いていた人が一歩先に進むための本
- 作者: 五十嵐肇,多良間斎
- 発売日: 2016/04/30
- メディア: Kindle版
- この商品を含むブログを見る
C# で組み合わせ
前提条件の説明がし辛いけど、10桁の文字列で、それぞれの桁に数字またはアルファベット、または*(意味的には、数字やアルファベットが設定されていない場合、としている)がいくつか選択肢として持っているとする。
このとき、全組み合わせを表示したい。
当然だけど、10桁全てをネストでループ回せばできる。
再帰を使えばすっきりかけるのではないか、と思ったが、再帰は難しくてよくわからない。
試行錯誤した結果、表示は出来るようにはなったがもっとよいやり方があるように思う。
class Program { private static List<string> patterns = new List<string>(); private static List<string>[] seed = new List<string>[10]; static void Main(string[] args) { // テスト用の値設定 seed[0] = new List<string> { "*" }; seed[1] = new List<string>() { "1", "2", "3" }; seed[2] = new List<string>() { "4", "5" }; for (var i = 3; i < 7; i ++) seed[i] = new List<string> { "*" }; seed[7] = new List<string>() { "6", "7", "8" }; seed[8] = new List<string> { "*" }; seed[9] = new List<string>() { "9", "0" }; SetPattern(); foreach (var pattern in patterns) Console.WriteLine(pattern); } public static void SetPattern(int key = 0, string pattern = "") { foreach (var val in seed[key]) { if (key < seed.Length - 1) SetPattern(key + 1, pattern + val); else patterns.Add(pattern + val); } } }
結果は以下。
*14****6*9 *14****6*0 *14****7*9 *14****7*0 *14****8*9 *14****8*0 *15****6*9 *15****6*0 *15****7*9 *15****7*0 *15****8*9 *15****8*0 *24****6*9 *24****6*0 *24****7*9 *24****7*0 *24****8*9 *24****8*0 *25****6*9 *25****6*0 *25****7*9 *25****7*0 *25****8*9 *25****8*0 *34****6*9 *34****6*0 *34****7*9 *34****7*0 *34****8*9 *34****8*0 *35****6*9 *35****6*0 *35****7*9 *35****7*0 *35****8*9 *35****8*0
Rails 4 技術者認定シルバー試験 に合格しました
お礼
まずは、以下のサイト様。
macera.hatenablog.com
このサイトを、一日何回も毎日ずっと見続けました。
この試験、あまりに情報が少なくて何を勉強して良いかわからず(問題集も評判悪いようですし)、不安で不安で、もう何回も見なおしました。
今回この日記を書こうと思ったのは、私のように不安でたまらない、という方の助けになれば、と思ったのがきっかけです。
ただ、もう Rails5 が出ちゃってるので、今からこの試験受ける人いるかな?という気はしますが・・・。
続けたい
続けたい日記が続けられない! ただ、勉強をサボっていたわけでない、という言い訳。
python を使うまで
データサイエンティスト養成読本 機械学習入門編 (Software Design plus)
- 作者: 比戸将平,馬場雪乃,里洋平,戸嶋龍哉,得居誠也,福島真太朗,加藤公一,関喜史,阿部厳,熊崎宏樹
- 出版社/メーカー: 技術評論社
- 発売日: 2015/09/10
- メディア: 大型本
- この商品を含むブログ (5件) を見る
github にも上げられている。素敵。
Windows で python を使おうと思い、調べたところ、機械学習で使う分には IntelliJ の PyCharm Community で十分らしいことが分かり、インストールを行った。
ここで、font にとても悩んで時間を浪費した・・・。
フォントは以前から VL ゴシックをよく使わせて頂いている。
で、今回も設定したのだが、なにが起こっているのか全く理解できないが、感覚的ににはマッピングがおかしくなっている、という表現がぴったり。
他のプログラミングに適したフォントも色々試したが、選択肢の候補にすら挙がってくれない始末(Show only 〜 のチェックを外してもだめ)。
Source Code Pro を使ってみたが、日本語が英数記号2つ分じゃないのでずれてイライライライラ!!!
で、結局 Ricty Diminished を入れた。漢字変換できないものも出てくるらしいが、とりあえずこのまま。
ただ、フォントサイズも 16以下だと文字が欠ける。結果としては 18 がベストかな。
以下、日本語部分は全て「日本語にはほ」と書いている。
VL ゴシック
Source Code Pro
Ricty Diminished 16 pt
Hash で => を書かない
前に以下のような書き方出来たんだ〜って思ったら、Ruby 2.2.0 からだったようだ。
{ "key": :value }
Hash literal
* Symbol key followed by a colon can be quoted. [Feature #4276]
なんでコレに気が付いたかというと、Rails Tutorial 2章やって、Heroku にアップした際に、ローカルでは出なかったエラーが出たため。
Heroku は デフォルトでは 2.0.0 で動作するため。
これは、Gemfile に Ruby のバージョンを書いとけばOK。devcenter.heroku.com
Gemfile
ruby '2.2.3'