Somurie Engineer's Blog

2019年振り返り

2019年振り返り フリーランスSEになって1年が過ぎました。 良い状態で勉強し続けることができ、不安から自信へと変化した1年でした。 きりの良いタイミングなので振り返りを書いてみました。 開発現場の当たり前をキャッチアップ フリーランスに転向し、本格的な現場での開発は4年ぶりでした。 4年ぶりにもなると初見のツールやライブラリ、言語が多く、1年間は休日なしで勉強漬けになることを覚悟していました。 (以前の開発がJava6、Spring2.5、Subversion、社内独自のツール多数、というタイムスリップぶり) 最初から未経験のことだらけになるのは危険と思い、経験のあるJavaをベースに案件を探したのは正解で、Java経験で自尊心を保ちつつ(苦笑)、Git、BitBucket、Docker、Vagrant、スクラムといった開発のデファクトスタンダードとなるツール・プラクティスを経験しました。 事前にかなり不安があったものの、1ヶ月もあれば不安はなくなりますね、難しいことをやろうとしなければ全然問題ないです。技術的にもまだまだ通用するようで安心しました。 (迷惑をかけないように一人自宅でGitのmerge練習したりしていたのが懐かしい) ドメイン駆動設計 開発現場の当たり前を引き続き探していると原則やお作法、ベストプラクティスといったモノたちに辿り着きました。デファクトスタンダードといえるような「これだけ学べばOK!」というものはなく、手当り次第に物色。 KISSやYAGNIの法則、デザインパターン、SOLID原則などを色々と学び、最後はドメイン駆動設計に辿り着きました。 エヴァンス本が難しすぎて進まず、まとめブログや関連書籍で荒い知識を身に着けて、ドメイン駆動設計の案件に片足参加させて頂きました。 他者のコードやコードレビューなど、実戦ならではの学びが多く、短い期間でしたが大変勉強になりました。そして何よりも楽しんで参加できたことが良かったです。 この経験があったおかげで、年末からはドメイン駆動設計の現場に移ることになりました。 フロントエンドの開発 過去の開発ではサーバサイドの開発がメインであったため、フロントエンドの開発はjQueryを少しかじった程度のレベル。 ただ、サーバレスを耳にする機会も多く、自分でサービスを展開したい思いもあるため手を付けることにしました。 タイムスリップ期間がかなり長く、HTML5、CSS3、ES6等の基礎からキャッチアップ。 CSSフレームワークではBootStrap、Bulma、Material-UI、JSライブラリではReact、Redux、Vue、TypeScriptなどを扱いました。 小さめの開発に携わったものの、案件規模が大きくなると難易度が高くなるんだろうなと薄々感じますね… 年末の時点で、Reactをベースとしたアプリケーションの開発はできるようになりました。来年はいくつかサービスを作ってみようと思います。 IT基礎スキル 地道だが基礎トレーニングは重要。そして半分は趣味と自己満足だけど、以下に挑戦してみました。 データベーススペシャリスト ネットワークスペシャリスト 競技プログラミング デスペは残念ながら不合格。午後2があと4点だったので来年なんとか受かりたい。 ネスペは無事に合格することができた。 競プロはAtCorderで茶色。緑色まであと一歩。さすがに時間を取ってじっくりやらないとレベルが上がらない。あと、RubyではなくPythonでやっておけば良かったかも。中途半端にRubyができるようになってしまった。 全体的に少なからず力をつけることができたと思います。 その他 腱鞘炎になたり腰を痛めたりと、健康面では反省が多いです。 仕事や勉強に精を出していたものの、あまりにも動かなすぎたと思います。 仕事のスタミナをつけるためにも適度な運動はしよう。 総括 全体的によく頑張り、それなりに成果が出たと思います。 アウトプットが少なかった点は反省。 ITのキャッチアップ時間がかなりかかり、IT以外の勉強に手が及ばなかったので来年はもう少しITの以外も頑張りたい。 2020年に頑張ること ITだけでなく、興味が強いファイナンス・会計、避けて通れない英語を併せて学びます。 資格は自己満足と、商談時にわりと威力を発揮するので引き続きコレクションを増やそうと思います。 IT FEやデプロイツール、AWSといったインフラ関連などを手広く学ぶ。浅く広く DBスペシャリストを取得する ドメイン駆動設計を引き続き学ぶ なんらかのシステムを構築する できれば公開する 株関連が有力 AppStoreに何か出す。ReactNativeを使う(iPhoneを買ったので) ファイナンス・会計 法人化と資産運用・節税のために学ぶ(会計は現場で必要なスキル) 簿記2級を受ける。個人事業主の確定申告、法人化、現場の会計周辺業務で活かせるため FP2級を受ける。5月かな。優先度低 外交員一種。投資のベース知識として取りたい。優先度低 英語 プランはないが気長に実施する 年間予定 大まかな年間予定は以下の通り。1年のうち4ヶ月は机上勉強ですね。(本当はITストラテジストに挑戦したかったが開発時間がなくなるため断念)

2019年12月振り返り

12月の振り返り Reactの開発案件を主に実施した 11月に引き続きReact-Redux周り機能を実装した ※リリース予定は12月から1月延期。 平日の常駐先でDDD周りの学習、実装の経験を積むことができている 個人事業主になって初めての確定申告に向けた作業も平行して進めた Achieved 開発 DDD案件の経験(@開発現場) レガシーコードからの脱却を読む→(6割完) フロントエンド React案件の開発を進めた(最低限リリースできる状態まで完成) IndexedDB(PWA化の一環) TypeScriptハンドブックを読んだ http://js.studio-kingdom.com/typescript/ 基礎 簿記2級の試験勉強を開始した(物流システムや個人事業主の確定申告、法人化に役立つため) Problem 新規 なし 継続中・保留 ビルド・デプロイツールの知識が少ない → React案件で多少解決予定 アーキテクト経験がない(1からシステム構成を検討) → React案件で解決予定 AtCorderで有向グラフが理解できていない AtCorderでDPのパターン経験が不足 解消 Webデザインセンスがない。ノンデザイナー向けのUIライブラリ等を学ぶ → MaterialUIや色合いを自動設定してくれる機能があるため解消とする Try for next month 簿記2級の試験勉強、個人事業主の確定申告と法人化検討をする Reactアプリは担当分を終えているため相方ペースに併せて進める 合間時間にDDD関連の学習も進める(読書+平日現場で実践) 新規 簿記2級の試験勉強 継続中(前月中に達成できなかった) ノンデザイナーズ・デザインブックを読む EffectiveJavaを読む レガシーコードからの脱却を読む DDD書籍(IDDDを読み解く本)を読む 複雑な宿予約システムのDDD開発練習 モデリングスキルを高める書籍を読む Done レガシーソフトウェア改善ガイド(5割完)→すぐ使えそうな内容が多いため中断

2019年11月振り返り

11月の振り返り Reactの開発案件を主に実施した。 ReactはHelloWorld程度の経験。TypeScriptとReduxは未経験であったため学習と実験的な実装及びリファクタリングに多くの時間を割いた。 React-Redux周りのトレンドは抑えることができたと思う。 平日の常駐先でDDD周りの学習に時間を費やすことができるため、その他の時間はフロントエンドの学習を行っている。 12月にリリース予定のため引き続き当案件に時間を割く予定。 Achieved 開発 DDD案件の経験@開発現場 レガシーソフトウェア改善ガイド(5割完) ノンデザイナーズ・デザインブックを読む(2割完) EffectiveJavaを読む(3割完) フロントエンド React+Redux+TypeScriptを使ってシステムのα版が完成 以下、React-Redux周りのスキル・知識を身に着けた Hooks各種機能 Ducksパターン Fluxパターン Saga React-Router Material-UI 基礎 業務知識として物流システムを体系的に学習(業務知識の本) Problem 新規 なし 継続中・保留 ビルド・デプロイツールの知識が少ない → React案件で多少解決予定 アーキテクト経験がない(1からシステム構成を検討) → React案件で解決予定 Webデザインセンスがない。ノンデザイナー向けのUIライブラリ等を学ぶ AtCorderで有向グラフが理解できていない AtCorderでDPのパターン経験が不足 解消 JSのフレームワーク1つも使えない(サーバ側に知識が偏りすぎている) → React案件で解決予定 Try for next month Reactアプリに注力する(丁度良くProblemも解決する) 合間時間にDDD関連の学習も進める(読書+平日現場で実践) 新規 なし 継続中(前月中に達成できなかった) ノンデザイナーズ・デザインブックを読む レガシーコードからの脱却を読む DDD書籍(IDDDを読み解く本)を読む 複雑な宿予約システムのDDD開発練習 モデリングスキルを高める書籍を読む Done ReduxのサンプルWebサイトを作成する(11月以降実施予定)

2019年10月振り返り

10月の振り返り ドメイン駆動設計、ネットワークスペシャリスト(以下ネスペ)の勉強の時間を割いた。 10月よりDDDの案件の現場になり、業務=DDD勉強になった。 10月20日にネスペ試験があったため前半はほぼネスペ勉強、試験後はブログのWordPress脱却作業と、React開発案件の着手をした。 9月のうちにJavaのStreamとジェネリクスを手堅く学習しておいたため業務後に追加学習する必要はあまりなかった。 Achieved 開発 DDD案件の経験(@開発現場) ブログをAmazonEC2からHugo(静的ジェネレーター)に移行 Gradleの仕組みを学習(現場トラブル) EffectiveJavaを読む(3割完) フロントエンド ReduxのHelloWorldを作成した(React開発案件の一環) 基礎 ネスペの教科書午後1と午後2を6年分+α実施した 東京都主催のネットワークセキュリティ状況研修(全3日)に参加した(Ciscoルーターを用いたネットワーク構築、IPsecの構築などを実施) Problem 新規 Webデザインセンスがない。ノンデザイナー向けのUIライブラリ等を学ぶ 継続中 ビルド・デプロイツールの知識が少ない → React案件で多少解決予定 アーキテクト経験がない(1からシステム構成を検討) → React案件で解決予定 JSのフレームワーク1つも使えない(サーバ側に知識が偏りすぎている) → React案件で解決予定 AtCorderで有向グラフが理解できていない AtCorderでDPのパターン経験が不足 解消 なし Try for next month Reactアプリに注力する(丁度良くProblemも解決する) 合間時間にDDD関連の学習も進める 新規 ノンデザイナーズ・デザインブックを読む レガシーコードからの脱却を読む 継続中(前月中に達成できなかった) DDD書籍(IDDDを読み解く本)を読む 複雑な宿予約システムのDDD開発練習 モデリングスキルを高める書籍を読む Done ReduxのサンプルWebサイトを作成する(11月以降実施予定) ネスペ6年分の過去問をこなす

2019年9月振り返り

9月の振り返り ドメイン駆動設計、ネットワークスペシャリスト(以下ネスペ)、SpringBootの勉強に時間を割いた。 8月よりDDD案件のタスクは少なめ。主に休日に実施している。 AtCorderについては時間を少なめにし、大会に隔週参加している状況。 Achived 開発 DDD案件によるDDD経験アップ(今月は長めに時間を取ることができた) DDDの書籍「エヴァンス本」読了 Java11〜12のブログ記事を作成。 SpringBootのコメント付きサンプルシステム構築。DB2連携、SQLログ出力を実装。やりたかったことはとりあえず完了 AtCorder大会に週2で参加。緑色ランクまであと一歩。 JavaのStream、ラムダ式、ジェネリクスの詳細を理解した。JavaGoldの書籍、Streamを使った検索や処理の実装サンプルプログラムを作成した。 フロントエンド ES6の学習。以下をハンズオン(第1部は全て完了。全3部構成) [https://ja.javascript.info/][1] 基礎 ネスペの教科書一通りおさらい ネスペ午後1を5年分実施 ネスペ午後2を1年分実施 Problem 新規 なし 継続中 ビルド・デプロイツールの知識が少ない アーキテクト経験がない(1からシステム構成を検討) JSのフレームワーク1つも使えない(サーバ側に知識が偏りすぎている) AtCorderで有向グラフが理解できていない AtCorderでDPのパターン経験が不足 解消 なし Try for next month 次の案件の復習とネスペ勉強が主になる。 ネスペ試験が10月にあるため学習をする。 新規 ネスペ6年分の過去問をこなす モデリングスキルを高めたい。何か書籍か問題集を探す 継続中(前月中に達成できなかった) DDD書籍(IDDDを読み解く本)を読む 複雑な宿予約システムのDDD開発練習 ReduxのサンプルWebサイトを作成する(11月以降実施予定) [1]: http:// https://ja.javascript.info/

2019年8月振り返り

8月の振り返り 7月に続き、DDDの案件は平日夜と休日に継続して実施している。 AtCorderについては先月と状況は変わらず、毎週末の大会だけ参加している状況。 プラスアルファとして、JavaScriptとSpringBootの学習を実施している。 Achived 開発 DDD案件によるDDD経験アップ(今月は長めに時間を取ることができた) DDDの書籍「エヴァンス本」はDDDの実践開発で詰まった箇所を読んでいる。8月は5章を読んだ(3割完) Java9〜12の新規追加機能サンプルを作成。 Java9〜10はブログ記事作成。 SpringBootのサンプルシステム構築。SpringSecurityの実装が完了。 AtCorder大会に週1で参加。緑色ランクまであと一歩。 フロントエンド Vueの主要機能を使ったサンプルWebページを作成 ES6の学習。以下をハンズオン(第1部は8割完。全3部構成)https://ja.javascript.info/ インフラ なし Problem 新規 ビルド・デプロイツールの知識が少ない アーキテクト経験がない(1からシステム構成を検討) JSのフレームワーク1つも使えない(サーバ側に知識が偏りすぎている) 継続中 AtCorderで有向グラフが理解できていない AtCorderでDPのパターン経験が不足 解消 JSの最近のフレームワークであるVueとReactを多少なりとも触って感覚を掴めた Try for next month 次の案件に向けて事前準備を行う必要がある。SpringBootとDDDの学習が主。 ネットワークスペシャリスト試験が10月にあるため学習をする。 新規 SpringBootをゼロから一通りの機能を解説コメント付きで実装する DDD書籍(IDDDを読み解く本)を読む ドメイン駆動設計全体像をまとめる ネスペの解説ブログ記事を書く ネスペの過去問を解く(2週間で1年分解く) 継続中(前月中に達成できなかった) Java11、12の新機能サンプルプログラムのブログを書く JSの学習。以下サイトをハンズオンで進める https://ja.javascript.info/ 複雑な宿予約システムのDDD開発練習 ReduxのサンプルWebサイトを作成する(11月以降実施予定)

フリーランス歴8ヶ月の商談結果まとめ

はじめに 2019年2月にフリーランスになって現在の職場で半年ほど働きました。 10月から別の現場に挑戦しようと思い、いくつかの商談を行ったため気付きをまとめます。 フリーランスになったばかりの方、これからなる方の道標になれば幸いです。 現状のスキルと探した案件 現状のスキル プロフィールにまとめて書いてあります。 探した案件 SpringBootの現場経験が欲しかったため、SpringBoot案件を探しました。 プラスアルファとして、ドメイン駆動設計・FEフレームワーク(ReactかVueかAngular)、AWSが経験できると尚良の条件です。 案件の業界はバラバラですね。コンサル、金融、物流と、特に枠を設けずに探しました。 商談の反応 フリーランスデビュー時の商談では経験がないことがかなり不評だったのですが、今回の商談はガラッと変わって好印象な反応が多かったです。 前回は5案件の商談を行い2社からオファーを頂いていたのですが、今回は4案件の商談を行い4社共オファーを頂けました。(こんなに良い結果になるなら4社も受けなくて良かった・・・エージェントの方すみませんでした・・・) 評価された点 色々と評価された点はありましたが以下が主です。 モチベーション 通常の案件(平日の昼間の案件)だけでなく、空き時間にももう1つ案件を持っていたり、勉強に時間を費やしているエピソードはかなり反応が良かったです。趣味=仕事になっているので本音で話せるのは良いですね。 競技プログラミング まだスコアは高くないですが、趣味として競技プログラミングをやっている点も良い反応を頂けました。 関数型の書き方は問題なくできるかという質問に対してRubyで競技プログラミングやっているので問題ないという回答をして納得して頂けたようで良かったです。 少なくともやってない人より良いアルゴリズムを書けるようには見えますし、実際に競技プログラミングを初めてから仕事で書くアルゴリズムの質は良くなっています。空き時間にすぐできますし、趣味としておすすめです。 DBスペシャリスト SQLが書けるかという話になり、DBスペシャリストにギリギリ落ちた話をしたら反応が良かったです。(落ちたんですけどね・・・) 評価されなかった点 ビルド・デプロイ関連ツールの経験 ビルドツールやデプロイ関連の経験がないことは不評でした。案件で途中から入ると大体できあがっているんですよね・・・。個人活動としてでも良いのでゼロから作る経験は必須だなと思いました。 具体的にはGradle、CircleCI、Ansible、Chef(最近聞かないけど)などのキーワードが挙がりました。 アーキテクト経験 ゼロからの全体設計、インフラも含めた構成の検討の経験がないことは指摘されました。 新規構築案件でのみ指摘を受けています。 AWS未経験 AWS案件は多いですね。多少触っているだけでは評価されないなという印象です。 受けた質問 こんな質問されるんだという質問が多々あり、回答にやや困ったものもあったので備忘として残しておきます。 Java12の機能を使っていますか? SQLは複雑なものも書けますか? NoSQLの経験はありますか? ストレスはどういった時に感じますか? エンジニアとしてのキャッチアップの状況はどうか 今後に向けて 一旦商談はクローズしましたが、次回商談に向けて色々と課題が挙がりました。 今回受けた指摘を次回商談で受けなくするという目標に向けていくつかタスクを挙げました。次回いつになるかわかりませんが半年〜1年を目処に以下をこなしていきます。 ゼロからのシステム構築は必須。小さい案件でも良いので機会を探して試す ビルド・デプロイツール設定 development環境、production環境の分離設定 FEフレームワーク経験(多数は無理かと思うのでReactだけ試す) Java以外のサーバサイド言語経験の充足

2019年7月振り返り

7月の振り返り 6月に続き、DDDに力を入れた。 DDDの案件は平日夜と休日に継続して実施している。 SpringBoot、DDDはそれぞれ学習範囲が広いが、ベースは抑えることができた。指摘を受けることは多いが、開発が進められる状況になった。 AtCorderについては先月と状況は変わらず、毎週末の大会だけ参加している状況。腕はあまり落ちておらず、ABCでD問題が解けるか解けないかというレベル。 スキマ時間にJSを学習し始めた。ES6の仕様がわかっていないので体系的に学習中。 Achived 開発 AtCorder大会に週1で参加。400点問題までは解けるようになった。継続中。たまに解けない時があるせいでなかなか緑色ランクになれない・・・。 DDDの書籍「エヴァンス本」は読破は効率が悪いので中断。DDDの実践開発で詰まった箇所を読むようにしている(3割完) Springの勉強(SpringMVC、SpringBoot、SpringSecurity、SpringDataJPAの浅い所を一通り) Spring徹底入門を読破(10割完) 複雑な宿予約システムのDDD開発練習(5割完?) IntelliJ Ultimateの使い方。マルチカーソルを使いこなせるようになってきた思う。 デザインパターン(GoF23)の復習 SOLID原則を覚えた フロントエンド Bulmaの主要機能を使ったサンプルWebページを作成 Reactの主要機能を使ったサンプルWebページを練習作成 ES6の勉強。以下をハンズオン(4割完) https://ja.javascript.info/ インフラ なし Problem 新規 なし 継続中 AtCorderで有向グラフが理解できていない AtCorderでDPのパターンによっては解けない(パターンが色々あるのでももう少し経験を積みたい) 解消 Spring、SpringBootの知識不足→最低限の知識はついた 腱鞘炎は再発の心配なし。ここ2ヶ月程痛みなし! Try for next month 次の現場向けに何らかシステムを見せられる状態にしたかったが副業が開始したため一旦そちらに注力中。 前々月〜前月にかけて書籍の学習に時間を費やしすぎており、手を動かす時間が少なかった。前月の後半からサンプルコードを作成に時間を費やす始めており、8月もJSやJavaのサンプルコード作成を行うようにする。 新規 JSの学習。以下サイトをハンズオンで進める https://ja.javascript.info/ ReduxのサンプルWebサイトを作成する VueのサンプルWebサイトを作成する 継続中(前月中に達成できなかった) Java9、10、11、12の新機能サンプルプログラムを書く Springに関して記事を書く。始めてみて感じたことがテーマ DP、有向グラフは大会で確実に解ける状態にする

6月振り返り

総括 5月に続き、AtCorderとDDDに力を入れた。 AtCorderについてはABCでD問題までは普通に解けるようになってきた。競技プログラミングらしくDPが結構できるようになってきたのは実力がついてきたと実感している。 DDDについては副業として仕事を頂くことになったため、実践で学ぶ形になった。 新規開発であり、SpringBoot最新バージョンを採用している。ツール類もメインで入っている職場と異なる点が多く、キャッチアップに時間がかかっている。 Achived 開発 AtCorder大会に週1で参加。400点問題までは解けるようになった DDDの書籍「現場で役立つシステム設計の原則」を読み終えた DDDの書籍「エヴァンス本」は読み終えない。一旦実践を優先するため諦めた(3割完) Springの勉強(SpringMVC、SpringBoot、SpringSecurity、SpringDataJPAの浅い所を一通り) 「Spring徹底入門」の読書(6割完) GitHub上で複数人開発。Issue、ラベル、プルリク等の出し方 IntelliJ Ultimateの使い方。IntelliJ内の用語概念、ショートカット、LiveTemplate等(本格的なJava開発でIntelliJを使うのが初めて) 「IntelliJハンズオン」の読書(完読) Bulmaの概要理解(副業で扱うため) インフラ なし IT基礎 なし 英語 なし Problem AtCorderで有向グラフが理解できていない AtCorderでDPのパターンによっては解けない(パターンが色々あるのでももう少し経験を積みたい) Springの知識不足 腱鞘炎は椅子を変えたら調子よくなった。適切な位置に肘置きがあるだけで手首の負担が大幅に減る Try for next month 次の現場向けに何らかシステムを見せられる状態にしたかったが副業が開始したため一旦そちらに注力する DP、有向グラフは大会で確実に解ける状態にする Springの書籍を読破する(浅く広く大まかな構成とできることを頭に入れる) Java9、10、11、12の新機能サンプルプログラムを書く Springに関して記事を書く。始めてみて感じたことがテーマ 8月末にどういった状態でありたいか JavaかRailsの何らかのシステムが出来上がっていること → これは諦める(年内は無理そう) ブログが見せられる状態であること DDDに関する意見を書く 簡単なプログラムを書いて、ブログで説明する AtCorderとGitHubのリンクを貼る GitHubが見せられる状態であること → 簡単なプログラムのサンプルは上げたい AtCorderが見せられる状態であること

2019年5月振り返り

総括 AtCorderとDDDに夢中になった月だった。何かしらのシステムを構築して公開したい気持ちはあるが、サンプルの作成やお手本コードとの照らし合わせなど、基礎力を高めることをまず行っている。今年は基礎力を高めることが第一目標でもあるため当分継続する予定。 AtCorderは自分の実力不足を知る良い機会だった(心が折れないように頑張ろう・・・)。 研修に参加し、他のエンジニアの関心が何に向いているのか知る良い機会になった。DDDはやはり人気。 Achived 開発 Rubyのチェリー本読み終えた。一通りRubyは読めるようになったと思う。AtCorderの問題をRubyで解いたため基本的な処理は効率的・簡潔に書ける JJUGに参加した DDDの学習。参加できなかったが「レガシーをぶっ潰せ」の参加報告ブログを読んだり、JJUGで関連セミナーに参加、BPstudyに参加した RubyブロックやProc等、関数型言語要素の理解(動作原理やスコープ) AtCorder大会(ABC)に2回参加。300点問題で引っかかる・・・ AtCorderが難しい。数学要素と効果的な計算方法の選定がネック。ABCの過去問A、BはRubyに慣れるために多数解いた。C、Dはまだ慣れていない インフラ なし IT基礎 なし 英語 移動中の英語リスニングは継続中(5月半ばから気温がやけに高くなり自転車通勤はストップ) Problem AtCorderの300点問題に時間がかかりすぎている 腱鞘炎が再発してしまい治らない。長くタイピングし続けると辛い Try for next month AtCorderのC、D問題の過去問を解く。Cは大会で確実に解ける状態にする 腱鞘炎を完治するために書籍学習等をバランスよく組み入れる(読書が捗ってちょうど良い) モチベーションキープのためにDDD研修に参加・もくもく会を開催する 以下は着手中。継続して実施する。6月はAtCorderとDDD。書籍学習と手を動かす作業のバランスに気をつけて進める。 Rubyメタプログラミングの完読(6割完) DDD学習「設計の本」の完読(5割完) DDD学習「エヴァンス本」の完読(2割完) クリーンアーキテクチャのプログラム自分なりにサンプルを作ってみる(Java12で) Java9、10、11、12の新機能サンプルプログラムを書く 8月末にどういった状況でいたいか? ある程度学習する方向性が見えてきたので3ヶ月後の理想の姿を考えてみました。以下の通りです。他の仕事も頂けるようになりたいのでインプットを終えてアウトプットしている状態になりたいですね。 ・JavaかRailsの何らかのシステムが出来上がっていること ・ブログが見せられる状態であること ・DDDに関する意見を書く ・簡単なプログラムを書いて、ブログで説明する ・AtCorderとGitHubのリンクを貼る ・AtCorderが見せられる状態であること ・GitHubが見せられる状態であること

4月の振り返り

振り返り総括 IPA試験があったためそれに費やす時間が多かった。 AtCorderが面白い。Rubyで遊びつつデータ構造やアルゴリズムの勉強ができるので楽しい。当分遊ぼうと思う。併せてRubyメタプログラミングの書籍で勉強中 通勤中は英語勉強がベスト。オーディオブックは他に注意を向けると文脈がわからなくなるため単発の英語が良い。DUO3.0は優秀。 Achived 開発 DB調査用のストアドプロシージャを作成した インフラ AWSサーバレスでRails環境を構築した(特別作りたいものがなくなったため、HelloWorldのみで一旦辞めた) ブログHTTPS対応 IT基礎 DBスペシャリスト試験勉強 Keep 勉強時間は多めに確保し続けることができている。継続する Problem 書籍は全部読まずに要点のみ読む (長期課題)デザインセンスが乏しい。色合いやWebサイト全体構成など Try for next month Rubyの基礎本の要点を読み終える Rubyメタプログラミング書籍を読み終える システム設計の原則本が読み途中。もくもく会を企画する AtCorderABCを90問解く(平均1日3問) AtCorder大会に参加してみる(5/25)

Let’s EnclyptでEC2上のWordPressをHTTPS化する

こちらを参考に AWS Bitnami+WordpressのHTTPS化をしてみました。 Contents 1 certbotのインストール 2 証明書の発行 2.1 ACME v2とは? 2.2 バックアップを取得 2.3 シンボリックリンクを作成 2.4 権限をrootのみにする(ln先の権限をなくさないとダメっぽい(3〜4行目) 2.5 Apache再起動 2.6 httpへのアクセス時にhttpsへリダイレクト 3 証明書の自動更新設定 certbotのインストール $ sudo -i $ curl https://dl.eff.org/certbot-auto -o /usr/bin/certbot-auto $ chmod 700 /usr/bin/certbot-auto 証明書の発行 以下コマンドで証明書発行ました。このコマンドを見つけるまでに時間がかかった。 $ cd /tmp/certbot $ ./certbot-auto certonly --agree-tos --manual-public-ip-logging-ok --manual -d "

2019年3月の振り返り

振り返り総括 3月はシステム開発は少しだけ、調査や読書の時間が多かった。 4月・5月はWebサイトに拘らず、自分が作りたいシステムを作ろうと思う。(次商談に向けて何か成果物は欲しい) 今の所一番興味があるのは株など投資売買に関連するサポートシステムなど。 体調管理にはかなり力を入れていたが、2回程体調が悪くなってしまった(長めに睡眠を取ったら治った)。寒い中の自転車通勤&久々の運動だったからかも・・・。 週1日は頭を休める日を引き続き取っておいた方が良いなと思う。 Achived 開発 クリニック向けレスポンシブデザインWebサイトの作成(既に契約済みだったため運用なし) ・ミック本(DB書籍で有名な本)読み途中(DBスペシャリスト試験向け)  ・システム設計の原則読み途中 IT基礎 証明書の仕組みやプロセス・スレッドの違いといった細かい部分を学んだ(全然記事にしていない・・・) 安いサーバ運用の調査。Railsを使うのであれば結局AWSのサーバレスが一番安そう(最近Rails対応したみたいですね) ミック本(DB書籍で有名な本)読み途中(DBスペシャリスト試験向け) システム設計の原則読み途中 Keep 自転車通勤 通勤中の英語、オーディオブック Problem (長期課題)デザインセンスがない。色合いやWebサイト全体構成など Try for next month (休日)DBスペシャリスト試験があるため3年分過去問を解く (平日)AWSでサーバレスシステムを構築 GWが始まるため、作るものを検討・着手 執筆は週に1記事程度で継続

フリーランスになって1ヶ月、腱鞘炎になりました

はじめに 掲題の通りですが、腱鞘炎になりました。 1ヶ月ほど起きている時間はずっとMackBookを触り続ける日々だったのですが、腱が限界を迎えたようです。 パソコンのキーを叩くだけで手首から肘にかけて鈍痛が生じる状況でした。 腱鞘炎になりつつも仕事はしないといけないので極力手首に負担をかけさせないようにするアイテムを紹介します(コスパ良く手首に効くアイテムを厳選しました!)。 実際にこれらのアイテムを使って1週間程度で痛みを感じない程度に回復、2週間程度で普通にキーボードを使える&自転車に乗れる程度まで回復しました。(ここまでくれば完治したはず) リストレスト 1つ目はリストレスト(手首用のクッション)です。 こちらを使用すると以下の通り手首の腱に優しくなります。 手首の一定の箇所に圧がかかることを避けることができる キーボードより手首の位置を高くすることができる(手首にとって自然な状態でキーボードを叩ける) MackBookProにはキーボードの手前にトラックパッドがあるため、大きめのリストレストではなく小さめのものを2つ置くのがベストです。 キーボードの角度調整 キーボードに少し角度を付けるだけで手首の負担が大きく減ります。 試しにキーボードを少し傾けてタイピングしてみてください。特に奥のキーを叩く時に指のストロークが小さくて済むことがわかるかと思います。キーボードを1日叩き続けるうえでこの小さな差の積み重ねが重要です。 まとめ 腱鞘炎は悪化すると回復に時間がかかります。 少しでも痛みがあるようであれば早めに処置することをオススメします。 上記を合わせても2千円ちょっと・・・。著者は腱鞘炎になったせいで数日を無駄にしたので早めに2千円を出しておくことをオススメします。

通勤は折りたたみ自転車がオススメ

はじめに フリーランスで活動し初めて1ヶ月ですが、早速通勤の電車が苦痛になっています。 フリーランスで働く方々にとって通勤時間や交通費は気にするポイントかと思いますので、DAHON Curve D7での通勤に辿り着いた経緯をまとめました。 ちなみに購入した折りたたみ自転車はこちらです。 折りたたむとこんなに小さくなります! 購入背景 背景は人により異なりますが、私がフラストレーションを感じていた点は以下の通りです。 8kmの通勤に40分かかる(乗り換え) 定期代が高い(JR+私鉄だったため月1万。私鉄だけの場合でも月5千円以上かかる) 電車の混雑・遅延から開放されたい なぜ折りたたみ自転車が良いか? 8kmの通勤になると電車、自転車、徒歩、車、バイクくらいしか選択肢がないかと思います。 自分の場合、消去法として自転車しか選択肢がなく、且つフリーランスの場合職場が転々とするため駐輪場を探して契約することは避けたいです。 肌身離さず持っておける折りたたみ自転車がベストかと思います。 ※加えて、運動不足の解消も購入目的の1つです。 折りたたみ自転車購入時の観点 折りたたみ自転車購入時のポイントは以下の通りです デスクの下に入るか 安定走行可能か (万が一急な雨の時に)電車に乗せることができるか 高すぎないか(10万円以下希望) 180cmの身長に適用しているか デスクの下に入るか 机の高さは70cmが通常のため、机の暑さを考慮して65cm以下の高さが望ましい。 職場が転々とするため余裕を持ってなるべく小さいサイズに折り畳めることが良いです。 安定走行可能か 折りたたみ自転車の場合20インチのものが一番多いです。 安定走行を求める場合、16〜20インチを選ぶのが無難です。14インチと16インチで比較試乗してみましたがスピードをある程度出すなら16インチの方が良さそうです。 購入候補 折りたたみ自転車のメーカーは多数ありますが、販売台数・値段・スペックで絞ると初回購入にはDAHONが一番良いかなと思います。 他にも色々メーカーはありますが、新宿近辺で実物を自転車店で見ることができたのはDAHON、Brompton、Ternくらいでした。(数店舗しか回っていませんが) DAHONの中でも条件に合致しそうな型は以下の3点でした。 型 折りたたみ時サイズ 推奨身長 金額(税別) DAHON k3 W65 × H59 × D28 150~180cm ¥82,000 DHON Curve D7 W73 × H61 × D34 137~188cm ¥71,000 DAHON Speed D8 Street W82 × H67 × D32 145 〜190cm ¥79,000