【20200423】三日坊主を繰り返す

昨日、あれだけ刺のある言葉を書き綴ってしまった反動からか、今日は精神的に少し落ち着いた1日を過ごすことができた。

4月の前半は、結果的に地獄のような日々を送ってしまったが、ようやくそこから脱せそうな光明が見えてきた、と感じている。

周りの何が変わったわけでもないけれど、とにかく動くしかない。それが結果的に三日坊主に終わってしまったとしても、そこで絶望せず、また三日坊主を繰り返せば良いだけだろう。

朗読配信は、ただの読書ではない

「論語と算盤」の朗読動画投稿を始めて、間違いなく変わったことがある。

「論語と算盤」の朗読は、自分で何かを企画するような動画ではなく、自分自身のインプットをただ垂れ流しているようなものだ。

しかしこれが、普通に読書をするよりも高い効果をもたらしているのではないかと思う。

正直、原文のままの「論語と算盤」は、正直なところ言葉が難しく、理解に時間がかかるところが多い。それを読むだけでなく、言葉にして喋るのだから、読むだけでも難しい。

そしてこれを最後までやり抜けるのか。これこそが、三日坊主を繰り返すことなのだろうと思う。

「論語と算盤」は、ぜひ現代語訳版を読まれることをおすすめする。

今後優先的にやること

少し冷静になれたことで、これから自分自身が優先的にこなさなければならないことがはっきりしてきた。あくまでもこれはタスクとは別のミッションであるので、その点はご留意頂きたい。

  • 能力を積み上げる
    • プログラミングスキル
    • ライティングスキル
    • 社会保険労務士試験
    • 税理士試験
    • CFP試験
    • 中小企業診断士試験
  • 実績を積み上げる
    • プログラミング案件
    • ライティング案件
  • 音楽を積み上げる
    • 歌いたいように歌う
    • これは一種のストレス発散であり、一種の自己表現である

今までも何となくやってきたことだが、改めて言語化することで、何をしたいのか、何をすべきかをはっきりさせたい狙いがある。

この他、やらなければならないタスクが山ほど溜まっている状態ではあるが、今後はその辺りのバランスをどう上手く取っていくかが課題になってくるので、今後も試行錯誤しながら生活を送っていきたい。

MVCとは?概念や長所・短所について解説

みなさん、こんにちは。
フリーランスエンジニアのRyuです(言ってみたかっただけ)。

今日は、プログラミングをする上において必要になる「MVC」という概念について解説していきます。

アルファベットだと何だかとっつきにくい気がしてしまいますが、プログラミングについて何もわからない方でも理解できるように平易な文章や図を使っていますので、ぜひご覧ください。

MVCの概念

MVCは、プログラミング全体の可読性を高めるための整理術のようなもので、設計を担当する「Model(モデル)」、表示を担当する「View(ビュー)」、そしてこの2つの橋渡しをし、制御する「Controller(コントローラ)」それぞれの頭文字を取ったものです。

改めて箇条書きにすると、以下のようになります。

MVCの中身

  • Model(モデル):表示や入力に関連しない処理。システムの設計や、機能をどうするかを記述するファイル。
  • View(ビュー):表示や入力に関連する処理を記述するファイル。
  • Controller(コントローラー):ModelとViewの橋渡し役をし、制御する役割を担うファイル。

これらの説明を簡単な図にすると、下図のようになります。

MVCを使う長所(メリット)

次に、MVCを使うメリットについては、紹介しきれないほど沢山あるのですが、ここでは代表的なものを2点ご紹介していきます。

  1. 整理された分類が可能である
  2. 分業がしやすい

順番に解説していきます。

整理された分類が可能である

MVCの概念を取り入れていれば、ある程度整った形でプログラミングをすることができます。

ただ雑然とコードを並べでいたのでは、それを作った人にしかわからないプログラムが完成してしまいます。

そこで、ある程度最初からファイルに役割を与えておくことによって、誰が見ても何となくプログラムの役割が理解できるのに加えて、作者も管理やしやすくなります。

分業がしやすい

上記のメリットと被る部分がありますが、誰が見ても何となく各ファイルのプログラムの役割が理解できるということは、別々の作業を同時に行うことができることを意味します。

例えば、Webデザイナーがフロントエンド業務(Viewファイルのコーディング等)をしているのと同時に、Webエンジニアがサーバーサイド業務(Controllerファイル、Modelファイルのコーディング等)を進めることができることになります。

MVCの短所(デメリット)

こんなに便利で良いところしかなさそうなMVCにも、デメリットは存在します。

それは、ModelとControllerの記述に正解がないこと。

例えば、入れたい処理が決まっていたとしても、それをModelに記述すべきか、Controllerに記述すべきかは、エンジニアの中でも意見が分かれることがあります。

これを解決する方法として、PMやMVPなど、MVCとは違った概念がいくつかありますが、それは他の記事にお譲りします。

まとめ

今回はMVCの基礎について簡単にまとめてみました。

概念は理解できたつもりでも、いざ実際にコーディングをしてみると、案外できなかったりするものです。

まずは沢山コードを書いて、少しずつ、理解していきましょう。

【20200422】再起

満を持す状態なんて、そんなものを待っていたら、人生が終わってしまう。
そう、本気で思ってしまうくらい、今の自分は、何かに追い詰められている。

それは、先の見えない未来に対する不安か、失敗への恐怖か、あるいはその両方か。

時間は、待ってくれない

いずれにせよ、そろそろ立ち上がらなければならないだろう。

昨年12月までは会社に守られており、今年3月までは、学校に守られていた。
何を守られていたかと言えば、環境であると同時に、精神も守られていたのかもしれない。

全てが取り払われた今、自分を守るものは何も無くなった。

何をするにも、手を動かし、足を動かし、頭を動かすしかなくなった。

目指すゴールの先に、理想の死を描けるか

人生において何を成し遂げるべきかよりも大事なことは、死んだ時にこの世に何を残せるかだと思う。

おそらく、1人でも稼げる力がつけば、今抱いている不安は無くなるだろう。

本当のゴールはその先にあるが、今は、それを目指すべき時ではない。
明日の飯もろくに食えない奴がいくらかっこいいことを言ったところで、誰からも相手にはされないだろう。

今はただ、1人でも生きていけることを、実績として残さなければならない。
そして、それを作ることに集中しなければならない。

地位や名声に固執するあまり、自らの目的の段階を見失ってはならない。
精神が未熟であればあるほど、欲はわかりやすく顕在する。

絶望の先に、光は確かにある

これから自分がすることは、おそらく周りの誰もやっていないことで、バカになったと思われるであろうこともするだろう。

自分自身もそれは知るところで、それでも敢えてやっている。

誰かから認められるために人生を歩みたいわけではなく、自分は、自分のために生きるだけだ。

社会からどんな評価をされようと、関係ない。
そう思えるところまで、この3週間で堕ちることができた。

自分自身を守っていた(と思われた)環境や生活や精神を全てぶち壊して見えた世界は、今の自分にとって、想像以上に辛く厳しい現実だった。

だからこそ、これから前に進む力になる。

失敗は、失敗と自覚するから失敗であって、教訓にして成功にひっくり返すことだってできるはずだ。