記事にあるように時代はHTTPSだ。使って無料で発行できる。16.04で動いている。takkyuuplayer/homepageをデプロイしている。Certbotを参考にしつつ、手順をレシピを書くとこうなる。ならないようにオプションを追加してある。オーナーにするとかグループにするほうがセキュリティ上良いのかも。755だとどういうリスクがあるのか分かる人教えてください。用いて証明書の自動更新を行う。やっつけだがこんな感じでやってみた。encryptの制限に引っかかり、動かせなかったのでちゃんと思った通りになるのかは知らない。2ヶ月後くらいに証明書の期限がどうなっているのか調べてみようと思う。@takkyuuplayer1行まとめオープンソースは使うだけではなく、中身を読んでどう動いているのかを知るべし中身がどう構成されているかを知らないと、無駄なコードを書いてしまう例えばユーザーの新規登録機能。それは登録フォーム表示のテンプレートやメール送信の機能など、複数の部品から構成されているはずだ。新規登録の機能自体は中身がどう構成されているかを知らなくても、とりあえず動きはする。中身を知らなくてもいいのか?というともちろんそんなことはない。中身がどういう部品で構成されているかを知らないと、本来再利用できるはずの部品を作り直してしまう。新規機能を開発する際に使うであろう「この機能はどう分割しておけば、それぞれの部品が再利用可能なものになるのか?」という知見が貯まらない。オープンソースは多くの人の手によりレビュー・改善されており「機能はこう分割して実装しておくといいぜ!」という知見の宝庫だ。ともコードを読んでその知見も含めて吸収し、普段の仕事に活用したい。使いやすいUIよりも、必要な事ができるかどうかが重要B2B向けのサービスは「多少使いにくくても必要なことができる」事が、B2C向けサービスに比べ重視される傾向にあると思う。システムがリプレイスされたのだが、リプレイス後のシステムUIは直感的ではなく使いにくかった。リプレイス後のシステムは今まで出来なかった事ができるようになり、人事や経理の仕事量を大きく削減したとのことだ。私も使いにくい使いにくいと思ってはいたが、月に1度くらいしか使わないのにも関わらず、半年もたたないうちに慣れて使えるようになった。そもそも機能として足りないものはどうしようもないがが、ちょっと使いにくいくらいであれば人は慣れてしまう。エンジニアがデザイナーの意見も聞かず急いで作った管理画面が、使いづらくも長く生き続けるのはそのためだ。時代は「PC使えて当たり前」から「プログラミングできて当たり前」に変わる何年前なのかは定かではないが、とりあえず昔はPC無しで仕事をするのが当たり前だった。今ではPCを使わずに仕事をするのはあり得ない時代となっている。高校で情報の授業が必修化されたのは2003年4月以後のことだ。それからたった10数年だ。最近はPCの使い方はおろか、プログラミングが必修科目化されようとしている。その流れを見るに「PCは使えて当然」という時代は「プログラミングができて当然」あるいは「入社時は使えなくとも、プログラミングは覚えるべき」に置き換わる。私生活でプログラミングは必要ないかもしれないが仕事場においてはプログラミングは必須のスキルになるだろう。私生活ではスマホやタブレットしか使ってない人が、仕事場においてはPCを使うようにだ。そこでB2B向けサービスのUIはどうなるか?私は「左側にテキストエディタ、右側にプレビュー」を推したい。JSFiddleみたいな感じだ。新しいUIを開発するよりも新しい文法(ルール)用のパーサーを作る方が簡単に思える。その文法を使ってもらう競争力の源泉として「直感的な文法」が重視される時代が来ると思う。テキスト編集中はリアルタイムに補完なりエラーチェックをしてくれる必要があるのは言うまでもない。本番コードを書いていて「これ使えば良さそう」と今まで知らなかった新しい技術に手を出したくなる事がある。本当に思った通りに使えるのかどうか確かめよう。素振り例えば初めて野球をするとき、まずは素振りをしてバットの振り方を覚えてから打席に立つ。それと同じでまずは、新しい技術だけを使ってみてその使い方を覚えてから本番コードを書く。本番コード内で「これ使えば良さそう」と思ったのには何か理由があるはずだ。素振りでその直感が正しいのか確かめよう。したら思っていたような使い方ができないのかもしれないし、より良い使い方が見つかるかもしれない。本番コード内でいきなり試そうとするのは、射撃に例えるなら「初心者が1km先にある的に当てようと銃を構えている」状態だ。下手な鉄砲も数撃ちゃ当たるという諺があるように、確かに時間をかければ当たるかもしれない。当たればまだいい方で、当たる前に弾薬が切れることもある。外れ続けている間、その理由はよくわからない。銃の撃ち方が悪いのかもしれないし、軌道上の強風によりずれているのかもしれない。そもそも使おうとしていた銃はライフルではなく拳銃で、1km先には絶対に届かないのかもしれない。確実に的に当てたいならば、使っている銃をよく理解し十分に近づいてから的を狙う必要がある。エンジニアの人生は短期決戦ではなく長期戦だ。学生時代は勉強(インプット)しているだけで褒められたが、社会人はアウトプットしないとだめだというような記事がたくさんある。それは正しいとは思うが、残業してまでアウトプットを増やすのは間違っていると思う。残業してまで何らかの成果を出そうとしているのは(焦る気持ちは分かるが)残念だ。その時間をインプットに回して、明日からの生産性を改善させてほしい。企業としてすぐに結果を出せる即戦力が欲しいのであれば、中途採用をしている。経験の浅い若手に求めるのは「成長」である。みたいな部分が絶対にあるはずだ。定時を過ぎたら残業などせずに是非ともそういう部分について「なぜ動いたのか?」をコードを読んで詳しく追求して欲しい。それは今後の生産性に大きく関わってくる。1日後の生産性が前日比どれくらいか?とする。勉強している人の成長率を0.3%とする。横軸を仕事をした日数、縦軸をアウトプット量にしたグラフは次のようになる。2年もしないうちに勉強した人のほうがアウトプット量が多くなる無論、結果に結びつく勉強をした場合の話だ。勉強の内容が仕事に関係ないものなら、アウトプットとしては現れてこないだろう。勉強したくなるかもしれないが、若いうちは業務に関係ある勉強をしたほうがいい。分からなかった場合、近くに聞ける先輩エンジニアがいるため吸収力が段違いだからだ。勉強すべきだというのは若手に限った話ではない。中堅以降は吸収力の差により若手よりも成長は鈍化するだろうが、それでもいずれ逆転の瞬間が訪れる。(ひょっとすると年を取った分体力がなくなり、残業中の生産性が著しく低下しており若手より逆転が早いかもしれない)まとめ残業してる暇があるなら、勉強したほうがいい。その差は後々生産性の差、アウトプットの差として現れる。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。