プログラミング

達人に学ぶSQL徹底指南書 第2版 読了

結構前にSQLの本を読んだが、新しいバージョンが出ているようだったので買って読んでみた。 nulltemp.hatenablog.com メインは過去になかったウィンドウ関数についてだと思うが、恥ずかしながらこれについてはよく知らなかった。つい最近実装されたというわ…

AWS Amplify Studioではじめるフロントエンド+バックエンド統合開発 読了

読了といっても軽く目を通しただけだが。 ざっと見た感じで珍しいなと思ったのは、FigmaによるUI設計やGraphQLによるAPI実装について解説しているあたりだろうか。モダンな実装を一人で実装できるようになるという目的のためならいいと思うが、逆に古く基本…

Supabase試し中

つい最近Fly.ioを試したばっかりだが、色々調べている中でSupabaseにも興味を持ったのでこちらも試してみた。 nulltemp.hatenablog.com supabase.com Supabase自体はウェブページの「Supabase is an open source Firebase alternative.」とある通りFirebase…

APIデザイン・パターン 読了

ちまちま読んでいたがつい最近読み終わった。 内容については純粋にAPI設計における考え方についての話で、単純に名前付けについての基本的な話から避けるべきAPI実装のパターン等について記載してある。 前半の方は基本的なことなので初心者の人とかには役…

Fly.io試し中

Herokuを前に試したりしたが予定通り無料で使えるのは終わってしまったようなので、別のものを探し中。 nulltemp.hatenablog.com Herokuの代替自体は色々あるみたいだが最近気になっているのはFly.ioで、Herokuと同じようなことが出来るだけでなく東京リージ…

仕事でChatGPT使った

趣味でChatGPTを使うことはあったが仕事で使うことは特になかった。ただ職場の人が結構使っているみたいだったので、試しにプログラミングについて時々相談するようにしてみた。 結論から言えば少しは使えるみたいだった。 相談したのは主に今現場で使ってい…

フリーランスになって5年経った

のでまとめる。以下は去年。 nulltemp.hatenablog.com 日記見返した感じだと引っ越したりAtCoder受けたり止めたりしたような感じでまあいつも通り普通の生活のことが多いが、改めて見返してみるとKotlinやり始めたりNode.js+Express.jsでの開発に着手したり…

実践Node.js入門―基礎・開発・運用 読了

仕事でNode.jsのサーバーサイドを担当することになりそうなので、ちょっと参考になりそうな本を買って勉強してみた。 実践Node.js入門―基礎・開発・運用作者:伊藤 康太技術評論社Amazon 内容としてはJavaScriptやNode.jsの基本的なところからExpressによるサ…

AtCoder水色を諦めた

以前の日記は以下。 nulltemp.hatenablog.com あれから半年くらいちまちまコンテストを受けていたが、結果として最もレーティングが高かった5年くらい前よりちょうど300レーティングを落とすことになった。 atcoder.jp 正直過去と比べて自分のプログラミング…

AWS Copilotを試した

なんとなくAWS Fargateを自分でも試してみたくなったためデプロイしてみたが、何故かデプロイしたSpring Frameworkのアプリケーションに上手く接続できなかった。 多分セキュリティグループ周りではないかとは思ったのだがすぐには原因が分からず、どうしよ…

IntelliJによるファイル保存時のコード整形やインポートの最適化等

IntelliJのアップデートは定期的に行うようにしているが、2023.1にアップデートしたあたりでプラグインのSave Actionsが上手く動かなくなった。 最初は放置していたが後から調べると、いつからかは知らないがプラグインがdeprecatedになっていた。 Save Acti…

ログファイルをメモリに抱え込んではいけない

今回エラーを引き起こしたのは以下のようなクラス(実際にはもう少し色々やっているが割愛)。 public class Reader { public List<Log> get(Path file) throws IOException { List<String> values = new ArrayList<>(); try (Scanner scanner = new Scanner(file)) { whi</string></log>…

JavaのScannerクラスは遅い?

AtCoderのコンテストを引き続き参加中で、3/19にもちょっと参加してみた。 nulltemp.hatenablog.com atcoder.jp とりあえずA~Cまでは回答することが出来たが、D問題はなんどもTLEしてしまい回答することが出来なかった(結果はお察し)。 atcoder.jp 解説を…

久しぶりにAtCoderのContestを受けた

特に理由があるわけではないがふと久しぶりに挑戦してみたくなったため、2/4開催のAtCoder Beginner Contestに参加してみた。 atcoder.jp 結果としては正直あんまりで、C問題すら解けずレーティングを下げることになった。 atcoder.jp これまではただ問題を…

ModelMapperを利用して@Value+@Builderアノテーション付きのクラスへ変換する

ModelMapperの説明は以下。 modelmapper.org 要は以下から @Data public class AuthorData { private long id; private String name; } 以下のようにsetterのないクラスへの変換である。 @Value @Builder public class Author { long id; String name; } Mod…

Javaのパッケージ構成色々

これまで働いてきた現場でのJavaパッケージ構成はおおよそ以下のような感じが主で、大体ControllerからServiceを呼び出し、Serviceから様々なパッケージを参照していることが多かった。 シンプルではあったが大抵serviceから呼び出されるクラスのパッケージ…

続・Kotlin勉強中

以前いた現場ではKotlinを使うことになると言いつつ結局色々あってほとんど使わないままだったが、今度の新しい現場ではまたKotlinを使うことになりそうなので改めて勉強を進めてみた。 nulltemp.hatenablog.com lazy プロパティの初期化を値が最初に読み込…

Herokuを試しに使ってみた

Herokuといえば人気のPaaSということで特に説明のいらないサービスだとは思うが、今まであまり用がなく特に利用したことがなかった。今回2022/11末頃に無料枠が無くなるとのことなので、その前に一度簡単に利用してみた。 devcenter.heroku.com 基本的には上…

ホワイトハッカーの教科書 読了

ハッカーの定義から始まりハッカーに必要なもの、ハッカーを目指すうえで必要な考え方や教材、成長方法についてまとめてある。 序盤のハッカーの定義についてはあまり関心がなかったが、中盤以降のスキルアップ方法の部分にはかなり幅広く網羅してあり、その…

マイクロサービスパターン[実践的システムデザインのためのコード解説]読了

今関わっているサービスがマイクロサービスによる実装を目指しているとのことだったので、予習のつもりで読み進めてみた。 本の内容としては架空のモノリシックなサービスをマイクロサービスに置き換えていく上でのポイントをまとめた感じで、サービスの分割…

フリーランスになって4年経った

のでまとめる。以下は去年。 nulltemp.hatenablog.com ただ比較的順調だった去年までと違い、今年は初めて単価が前回の案件から減ったりする等今の自分の限界を感じることになる年だった。 現在の今の自分の技術力だと今以上の単価の上昇は望めそうにないた…

SpringBootTest.WebEnvironment.RANDOM_PORTを使用しつつテスト時にDBをロールバック

仕事でJUnit5を使用しつつテストコードを実装していたが、@Transactional を使用してもテスト後にDBがロールバックしない問題にぶつかってしまった。 spring.pleiades.io リファレンスを見る限りだと @Transactional を使えばロールバックできるはずなので原…

古いSpring FrameworkプロジェクトのアップデートでJsonMappingException

古いSpring Frameworkのプロジェクトを勉強のため色々バージョンアップしつつ起動させようとしていたところ、何か妙なエラーが出てREST APIが動かない状態になった。 org.codehaus.jackson.map.JsonMappingException: No serializer found for class ... and…

Spring + Gradle + IntelliJでコンソールが文字化け

普通にmain関数からサーバーを起動させると問題ないが、GradleからbootRunすると全角文字がコンソール上で文字化けした。 nulltemp.hatenablog.com 上記のように前も似たようなことはあったが、今回は結局build.gradleに色々書き加えても解決できなかった。 …

AWS 認定ソリューションアーキテクト アソシエイトに合格した (3年ぶり2回目)

前回合格してからちょうど3年経ちそうになっていたことで資格の認定期限が切れそうになっていた。 nulltemp.hatenablog.com 気が付いた時点ではちょっと上位の資格となるプロフェッショナルを受ける意欲はあまり無く、かといって期限が切れても良いかという…

BuildProperties の取得の失敗

Gradleのビルド情報をSpringから取得したかったので色々調べていくと、以下の設定を追加することで可能になることが分かった。 springBoot { buildInfo() } https://docs.spring.io/spring-boot/docs/current/gradle-plugin/reference/htmlsingle/#integrati…

Hibernate 勉強した

仕事でHibernateを使うことになりそうなので本買ってちょっとだけ勉強した。 Hibernate入門: JPAModelGen、MetaModel、QueryDsl、Criteria API、HQL、Envers、Spring Framework、JMS/MQトランザクション対応:第2版 Javaフレームワーク入門作者:小松正樹Ama…

Kotlin勉強中

仕事で使うことになりそうなため、Kotlinを学習中。とりあえず公式ドキュメントを見て気になった点をいくつかまとめた。 https://kotlinlang.org/docs/home.html when文 Javaだとswitch文だが、Kotlinだとswitch文らしい。あんまり見ない書き方のような気が…

フリーランスになって3年経った

のでまとめる。以下は去年。 nulltemp.hatenablog.com とはいえここ一年はあまり大したアウトプットもなく、なんというかあまり成長した実感自体はない一年だった。一応資格試験に合格したりはしたけども。 nulltemp.hatenablog.com ただ仕事の方は順調で、…

プログラミングTypeScript 読了

TypeScriptを使うことになりそうだったので本を2冊買っていろいろ勉強していたが、つい最近ようやく2冊目を読み終わった。 こっちが前の本 nulltemp.hatenablog.com こっちが2冊目 プログラミングTypeScript ―スケールするJavaScriptアプリケーション開発作…