Qiitaでよしにゃん史上最高いいね数をいただいた理由を考える

史上最高のいいね。

先週、月曜日に投稿させていただいた記事がよしにゃん史上最高にいいねをいただきました。

180いいねくらいです。

どうだっか

ありがたいことに早々にトレンド入りし、それからいいねラッシュが始まりました。

今まで約70記事の合計で100いいねくらいだったのでこの勢いは初めて経験するものでした。

いいねしていただいた方々ありがとうございました。

いいねの理由を考える

完全に、主観なのですが、こういうことかと思いました。

  • 月曜日朝に投稿した
  • みんな興味があるJS。その中でも勢いがあるVue.jsの記事だった
  • ツイッターでいいね・リツイートいただきたくさんの方々の目にふれた
  • 実務をやりながら得た知見だったから
  • 自分の考えを入れたから

自分の考えを書く

この中で、少し詳しく書くと自分の考えを書いてみなさんに共感いただいたのではないかと思います。

僕はこのQiita記事の中で、まず、動くものを作るのが重要であり、そのためなら新しく複雑なものを使うのはやめておこうみたいなことを書いています。

Vue.jsはシンプルで便利なのですが、親子Componentぐらいならいいのですが、孫まで出てくると変数の受け渡しがバケツリレーになってつらくなります。

一般的に、Component単位で細かく分けていくのがいい設計だと思うのですが、Component数が多くなってくると変数の受け渡しで時間がかかってきます。

そのためのVuexなのですが、学習コストを考えると、もし、まわりに使い手がいない状況であれば、無理に使わず、Componentを分けるのを最小限にして孫までComponentを作らないように設計していくべきだと思います。

理想は、Componentを細かく分けVuexで変数の中身を一元管理していくのがいいと思いますが、スキルが必要なことだと思います。

僕は、現状そこまで分かってないのでプロジェクト内では使っていません。

Qiitaを書くことについて

Qiitaでいいねがたくさんつくと、うれしいです。

うれしいですが、いいねをたくさんもらうことだけが僕の目的ではありません。

僕がつまって困ったことや、あとで、見直したいみたいなことがあってそれをweb上に公開しておくことで自分も助かるし、もしかすると、同じように困っているひとの役にたつことがあるかもしれません。

それができたらうれしいです。

自分食べるつもりで作った野菜がいっぱい取れたからほしいひとにおすそわけする農家のひとみたいなことかもしれないです。

qiita.com

Clean Architecture 達人に学ぶソフトウェアの構造と設計を読んだ

クリーンアーキテクチャを読みました。

読む理由

設計界隈でよく耳にするこのクリーンアーキテクチャですが、一度は読んでおきたいと思い読みました。

他の姉妹本?のようなものも読んでいました。

yoshinyan99.hatenablog.com

yoshinyan99.hatenablog.com

どうだったか

難しい。 文章が抽象的で難しい。

ソースも難しい

javaのコードもたくさん載っていますが、量が多く、全部読むのは時間がかかります。

Javaの文法でよくわからないのがあります。

次のものは、この本を含め、設計の本を読んでいく中でJavaの文法でわからないものです。

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello World!");
    }
}

String[] argsこの辺が??となっていたのですが、こちらのサイトの説明でわかりました。 引数を文字型で配列で指定しているんですね。

わかりやすく参考になりました。 www.task-notes.com

ArrayList<String>こういうのもなぞ。

次のサイトを参考に調べました。 単に、ArrayListクラスの型を表していてさらに文字列型であるということなんですね。

Javaは少し、本読んだだけで、雰囲気で読んでいるので知識の穴があります。

PHPの型よりも詳細に指定できるんですね。

qiita.com

www.javadrive.jp

興味深いところ

SRP:単一責任の原則

OCP:オープン・クローズドの原則

LSP:リスコフの置換原則

ISPインターフェイス分離の原則

DIP:依存関係逆転の原則

全部、ちゃんと理解できませんでした。

単一責任の原則

「そのクラスやメソッドにひとつのことをさせる」のではなく

「そのクラスやメソッドを変更する理由はたったひとつでなければならない」

ということだと理解しました。 よくひとつのことをさせると勘違いされているとこの本には書いてました。

変更する理由はひとつでなければならないは直感的でなくてソース書いてからもし、変更するなら理由はひとつだろうか?と考える必要があるのでしょうか。

ただ、これをちゃんとやるとごった煮クラスやごった煮メソッドを作らなくてよくなり、可読性、メンテナンス性があがると思います。

ごった煮コード読むのがつらく、時間がかかります。

なので、この原則はとても有効だと思います。

ある勉強会でもこの原則が一番大事とも聞いたおぼえがあります。

オープン・クローズドの原則

既存のソースを変更せず、ソースを追加して、拡張させるというようなことだ。

これは、自分の好みにあっています。 出来上がって動いてテストしても大丈夫なソースはできるだけ修正したくありません。

そのソースをそのまま利用して、他の機能を追加していければ理想です。

本を読んでいる間に思っていたこと

脱線します。

本を読みながら、これは、たくさんある理論・手段のうちのひとつだなと考えるようになりました。

バグがでない読みやすいコードを早く書くというのが、プログラマの目的なような気がします。

もっと上を見ると、儲かるコードを早く書くというのがあるのが本質かもしれませんが、プログラマは儲かるという不確定なことに関して、範囲外な気もします。

どっちも正解なような気がしますが、僕は、ある種職人的なアーティスト的にプログラマを捉えているので、前者のほうが好みであります。

tatsu-zine.com

Laravel Meetup Tokyo Vol.12に参加しました

laravel-meetup-tokyo.connpass.com

Laravel Meetup Tokyo に参加してきました。 前回の11に引き続き2回目になります。

前回

11回目のときは、Laravel界隈の勉強会に参加したことがなく知っている人が全くいませんでした。

今、参加したひとの面々を見ると知っている人が何人もいたので、そのときは、知らなかったけど同じ時間と場所を共有していたんだとエモい気持ちになりました。

このときは、コントローラーにロジックを全部書いてました。 現場でもそうだったし、DIとかサービスクラスとか全く知りませんでした。

発表を聞いてなんて高レベルな話なんだと衝撃を受けました。

Laravel Meetup Tokyo Vol.11 - connpass

会場

会場は、アライドアーキテクツ様でした。 とてもきれいでした。 www.aainc.co.jp

ステッカー

もらえてとてもうれしい。

Laravel JP Conference スタッフTシャツを着る

Tシャツを着て行ったのですが、参加者の方で来ている人がみつからず、とてもアウェー感を味わいましたw

懇親会では何人かお見かけしました。

発表を聞く

個人的に、吉田あひるさんの「 Eloquentに別れを告げるタイミングについて考えた」が設計周りの話が自分の中でトレンドだったので大変興味深かったです。

ことばの解説がありました。 僕の中でよく聞くけど雰囲気しかわからないことばがあり、それがよく分かってよかったです。

laravel-meetup-tokyo.connpass.com

ピザうまい

ピザうまかったです。 3枚くらい食べました。

参加してどうだったか

学びがあり、とてもよかったです。 ツイッターでよく知っているひとたちにも会えるのもうれしいです。

スタッフのみなさまお疲れ様でした。 ありがとうございました。

Laravel.shibuya #1に参加しました

laravel-shibuya.connpass.com

「Laravel.shibuya」に参加させてもらってLTもさせていただきました。

申込時

初心者向けということで、気軽にLTにエントリーする。

Laravel相談会について

事前にアンケートで募集されていた相談したい内容で、僕が送った「よい設計とは」みたいなものが採用されました。

なぜ、よい設計について相談したいのかを事前準備していない中でいろいろ説明しました。

「テスト書いてますか?」 「何人くらいの規模ですか?」 「どのくらいの期間使うシステムですか?」

などの質問をしていただいたのですが、中でも「テスト書いてますか」というのが印象的でした。

ytakeさんに、クラスをまず小さくするとよいよというようなアドバイスもいただきました。

LT本番

前の方のノリがよくて、とても助かりました。

自分の中でここは間をゆっくりとって、からスライドめくろうとかいろいろ考えてました。おおむねできたと思います。

ういろうさんのLT

とてもよく、勉強になりました。 後日、__call()メソッドを調べ勉強になりました。

www.nyamucoro.com

また、LTでできたlaravel-ide-helperというのも入れてみました。 一度チャレンジで入れようとしたことがあり、そのときは、うまく行かなかったのですが、懇親会のときういろうさんにやり方のアドバイスをもらってうまくできました。

qiita.com

KentarouTakedaさんのLT

内容が高度でした。 僕もレベルアップして、実際にプロジェクトで得た知見を発表したいです。

まとめていただいたスライド

Sally_42さんにまとめていただいています。

qiita.com

まとめ

参加してとてもよかったです。 こういう勉強会は参加して刺激になるし、これからの学習の指針になると思います。 LTもやってよかったです。

懇親会でよかったよとかフィードバックいただけてうれしかったです。

「Clean Code アジャイルソフトウェア達人の技」を読んだ

クリーンコーダーに続き、読みました。

yoshinyan99.hatenablog.com

正直にいいます。 前半は、分かる内容だったのですが、途中からあまりわからず、思考停止しながら読んだ部分がかなりあります。

いわゆる具体的な方法部分はよくわかり抽象的なものに関しては難しかったです。

よくわかったものの一覧

第2章 意味のある名前

意図が明確な名前にする

発音可能な名前を使用する

検索可能な名前を用いる

第3章 関数

小さいこと!

1つのことを行う

内容をよく表す名前を使う

関数の引数

この辺は、知らず知らずに意識していたこととすこしかぶっていて、参考になりました。 おそらく違う本で似たような概念を知っていたのですが、ここまで詳細に例を交えて深掘りしている本はあまりないかもしれません。

これらは、今後も意識していこうと思います。

ここから先は、僕には難しい内容でした。 リンクから目次に飛べますが、内容に関してあまりよく思い出すことができません。 次は、クリーンアーキテクチャを読もうと思います。

さらに、難しそうな予感がしますが、一旦、一通り読みたいと思います。

tatsu-zine.com

Clean Coderを読んだ

心に残ったことば

君のキャリアの責任はにある

当たり前のことだが本当にそうだ。 会社はキャリアの責任をとってくれない。 僕は現在、SES会社に勤めているのでヒシヒシと感じる。

会社のいいなりで案件に参画してはいけない。 自分の得意分野・得意にしたい分野にリソースをさかないといけない。

講習を受けたりカンファレンスに出席したり本を購入したりするのも雇用主の責任ではない

これは、もちろんそうだ。 会社さんによっては、勉強のための時間を用意してくれたり、書籍を買ってくれたり、勉強会の費用を負担してくれるところがある。

僕のところはそうではないが、もし、そういう会社に行けたら当たり前と思わず、その制度を生かして自分のレベルを上げて行きたい。

印象

この本は著者のボブおじさんがアツい言葉でいろいろ激励をしてくれる本だ。 今では達人プログラマなボブおじさんだが、プログラマなりたてのころの失敗した話がたくさん出てくる。 読み物として面白かった。

参考図書

Clean Coder プロフェッショナルプログラマへの道 Robert C.Martin (著), 角 征典 (翻訳)

www.kadokawa.co.jp

好きなもの ゲーム編

紹介するゲームの中で一番やっています。 1と2はスーファミ版を少しやりクリアまでいきませんでした。 10はやってないです。

それ以外は、全クリしています。 3のシンプルな転職システムも好きだし、6や7の複雑な転職システムのも好きです。

6の裏ボスであるダークドレアムを主人公一人で倒したのがいい思い出です。

dic.pixiv.net


小学生のときやりこんだRPG。 ストーリーが重めのものが多いです。

好きなストーリーは「功夫編」です。 www26.atwiki.jp


スーファミの2番めに出た「奇天烈将軍マッギネス」編をめっちゃやってました。 3の「獅子重禄兵衛のからくり卍固め」もめっちゃやりました。 好きなキャラはゴエモンコミックボンボンの漫画も大好きでした。

dic.pixiv.net


これは、いまだにスマホパワプロアプリもやっています。 このゲームは98年のを最初にやったと思います。 これで野球のルールを覚えました。 小学生のときの部活は野球でしたが、やっている当時はあまり興味がなく、このゲームをやってから野球が大好きになりました。

dic.pixiv.net


このゲームでガンダムが好きになりました。 最近はやってませんが、ガンバスターGガンダムグレンラガンが好きです。

dic.pixiv.net