すきま風

勉強したことのメモとか

golangでRedisの参照と更新をする

golangを勉強することにしました。頑張るぞ 初回は A Tour of Go すら読んでいない状態で、勢いと感性のままにRedis Access をするCLI を作ります。 json fileからデータを読み込んでEntityを作成する redigoを使ってRedis参照と更新ができる Interface を作…

雑記 (ポエム調)

チームビルディングとかマネージャー論とか、強いチームを作る的なブログを見るたびに違和感を覚えるのが どの記事も、実際にチームを構成しているメンバーの能力や性格についての言及が少ない、あるいは一切無いことだ。 自分が知りたいのは、優秀な人間の…

Docker Container の軽量化 あるいはAWS ECS Taskの起動速度改善

以前の記事 でPHP ApplicationのDockerfileを書きましたが Apacheモジュールバージョンではなく fpmで運用したくなったので書き直します。 また、せっかくなのでdebian baseとalpine baseを用意して サイズの比較と、実際にAWS ECSでの起動速度をカジュアル…

雑記

上司が退職してしまった。優秀な人なのでいつか辞めるだろうな、とは思っていたけど。 今までは上司が前面に立っていてくれたおかげで自分はただのエンジニアとして開発だけしていればよかったが、 今後はベンダーとかと打ち合わせしたりする機会が増えそう…

Spring Boot の Web Applicationで Shift_Jis (あるいはUTF-8以外) のリクエストを受け取る

方法 application.properties以下のように設定する spring.http.encoding.force=false または spring.http.encoding.force-request=false 解説 Spring MVCはCharacterEncodingFilterでHttpServletRequest, HttpServletResponseのCharacterEncodingをoverride…

AWS Fargate × Firelens (Fluentd) でGoogle BigQueryとCloudWatch LogsにLogを連携する

記事の要点 Fargateで起動しているApplication LogをBigQueryとCloudWatch Logsに連携する Table Createをしたいので、Fluent-bitではなくFluentdを利用する Fluentd用のDockerfile, custom.conf を実装する

雑記

どうでもいい仕事の話 3月からずっと自宅勤務です。土日に自分の仕事をこなして、平日はダラダラとコードレビューとかに使う業務パターンが完全に定着しました。 自分にとってコードレビューはかなり精神の負荷の高い作業で、例えば↓みたいな感じで心が乱高…

serverless-artilleryでIP制限のあるAPIの負荷テストを行う

仕事で負荷テストツールの選定をしているので、得た知見をブログに書いていこうと思います。 ちなみに、今まで負荷テストは人任せで、ツールはほとんど触ったことがありませんでした serverless-artillery serverless-artillery は負荷テストツールのArtill…

Terraformでターゲット追跡スケーリングポリシーのAuto Scalingを実装する

AWSメモ記事でゲス。 AWSのECSにおけるオートスケールは、EC2インスタンスのオートスケールと、インスタンス内のコンテナのオートスケールのコンテキストがありますが、 これはFARGATEでの運用を考えて書いたものなのでコンテナをターゲットにしています。参…

PHP (CodeIgniter), Apache のProductをDocker Imageにする

業務でPHPアプリケーションを保守することになったのでとりまコンテナ化しました。 fpm × nginxで作りたかったけど業務上Apache縛りがあったのでモジュール版を使います。 2020/06/12 追記: fpm versionも書きました ソフトウェアバージョン software versio…

Cloud Native Buildpacksのpack CLIでSpring BootのFat Jarを起動するDocker Imageを作成する。 あるいはSpring Boot 2.3.0.M1 のlayeredをエミュレートする

この記事の内容 pack CLIでLayer ArchitectのSpring Boot ApplicationのDocker Imageを作成する 上記の目的のために、Spring Boot 2.3.0.M1のlayered()をエミュレートしたshell scriptを書く 実用性皆無のネタ記事です 😑

ぼくのかんがえたさいきょうのJib

現時点で考えたさいきょうのJib設定をメモしておきます。1週間の勉強での結論なのですぐに変わりそうですが コード内の、どうすっかなーみたいなコメントでお察しください。 Jibの記事は一旦これで終了にする予定です。 いままでの記事と同じく、multi-pro…

JibでSpring BootのFat Jarを利用する

Jib Version 2.0.0からFat Jarが正式にサポートされました! Release jib-gradle-plugin v2.0.0 · GoogleContainerTools/jib · GitHub ※ 1.8.0 時点ではFat Jarでの起動をデフォルトでサポートしていなかったので、ExtraDirectoryにJarをCopyしてEntryPoint…

JibでLayer architect な Spring Boot Applicationをdocker imageにする

Spring Boot ApplicationをDocker image化する手段として Cloud Native Build Pack Jib jdeps && jlinkで軽量なDocker imageを作る etc... 等があります。(あります、とか大上段からものを言っていますが、ここ1週間くらいで仕入れた知識です。私はクソ雑魚…

amazon-corretto-11をbrew cask upgrade したら trustAnchors parameter must be non-empty が出るようになった

$ brew cask reinstall corretto $ echo $JAVA_HOME 火 1/21 11:36:24 2020 /Library/Java/JavaVirtualMachines/amazon-corretto-11.jdk/Contents/Home $ java -version 火 1/21 11:36:27 2020 openjdk version "11.0.6" 2020-01-14 LTS OpenJDK Runtime Env…

コンテナに存在するかわからないBeanをAutowiredする

Constructor Injection class Foo( private val bar: Bar? ) { } Field Injection class Foo { @Autowired(required = false) lateinit var bar: Optional<Bar> } 前回の記事に関連して小ネタ。@Autowired(required = false)を知らなかったのでメモ。 Constructor</bar>…

Spring Boot × Gradleで自作ライブラリを作る

Spring Bootで自作ライブラリを1から作ったことがなかったので試してみました。 作成するライブラリ 文字列を引数で与えるとPrefixをつけて返してくれるMyTextDecoratorを作成します。 さらにadditionalを定義することで追加で文字列を付けてくれます。 gith…

2019年振り返りと2020年

年始から風邪に倒れ、10日たった今も全く治る気配がありません。ずっと寝ていて暇なのでこのブログを書いています。今年はのっけから暗礁に乗り乗りで絶望しかない感じ。 2019年の概括 デレステが前よりうまくなった、くらいしか成長がないです。Lv27 Master…

Configuration annotationのproxyBeanMethodsとBean Lite Modeについての備忘録

記事の概略 SpringのBeanにはBean Lite Modeというものがある Spring 5.2から@Componentの代わりに@Configuration(proxyBeanMethods = false)を指定することでBean Lite Modeにできる CGLIB Proxyが不要ならパフォーマンスがよくなる https://github.com/spr…

2019年12月の登山日記

倉戸山 - 鷹ノ巣山 - 奥多摩駅 12月中旬に行きました。雪のない石尾根をダラダラ奥多摩駅まで歩くのが好きです。 石尾根 峰谷 - 赤指尾根 - 高丸山 - 鷹ノ巣山 - 奥多摩湖 2週間後に似たようなコースを歩いたところちょっと雪が積もっていました。アイゼンを…

フロントエンド開発勉強日誌 4

フロントエンド開発勉強日誌の続きです。 Thymeleaf導入 TypeScriptの開発環境設定 npm-scripts Polyfillを設定する IE11とかの古いブラウザに対応するためにPolyfillを設定します。 core-jsとwhatwg-fetchを入れる Polyfillの設定をする webpack.config.js…

フロントエンド開発勉強日誌 3

フロントエンド開発勉強日誌の続きです。 Thymeleaf導入 TypeScriptの開発環境設定 npm-scriptsを設定する Buildのたびに $ ./node_modules/.bin/webpack とかタイプするのが面倒なので npm-scriptsにBuildとexpressの起動コマンドをpackage.jsonに設定しま…

Spring Boot 2.2.1以降でWebClientを利用して巨大なResponseを受け取るとDataBufferLimitException が発生する

Spring Boot 2.2.1 (Spring 5.2.1) から、WebClientで256KBを超えるJsonを扱うと DataBufferLimitException が発生するようになりました。Spring 5.1.11 以降でも発生すると思います。 (こっちは自分で試していません) issueはこちら になります。詳細は公式…

フロントエンド開発勉強日誌 2

フロントエンド開発勉強日誌の続きです。前回は Thymeleaf 導入までやっています。 今回はTypeScript開発環境を作ります。 TypeScript開発環境を作る やることは以下 事前勉強 Node Install ProjectにScript実装用のDirectoryを用意する package.json用意 Li…

クソ雑魚バックエンドエンジニアのフロントエンド開発勉強日誌 1

Thymeleaf HTMLを用意するためにThymeleafを入れます。そこからかよって感じですが、過去にフロントエンド開発をしたときに使っていたフレームワークがCatalyst (Perl製のフレームワーク) で、Thymeleaf経験すら皆無なのでやむなし。 Presenter class テンプ…

クソ雑魚バックエンドエンジニアのフロントエンド開発勉強日誌 0

モダンなフロントエンド開発の知識皆無の雑魚ですこんにちは。 今までずっとバックエンド側の開発ばかりしており、フロントエンドの勉強を放置していましたが、ここ最近チームのチケットの7割がフロントエンドのものになり、このままだと社内ニート待ったな…

Slackのリアクションemojiを非表示にする

あるSlack嫌いエンジニアの悩み 私はSlackが好きではないので、普段からなるべく見ないようにしています。 しかし、会社はSlackに完全に依存しているため、どうしても1日数回は見る必要があり、その際は給料のために我慢しています。 Slack嫌いな理由は色々…

2019年11月の登山日記

高尾山 - 相模湖 台風19号が各地の登山道に残した爪痕は未だ深く、多くの登山道が閉鎖、非推奨の憂き目を見ている状況の中で、まあここなら大丈夫だろうということで。 11月も半ばをすぎると早朝はヘッドライトが必要になりますが、早い時間から登り始めれば…

無題

ガチャ爆死のショックで体調を崩し会社を休む。色即是空

自殺の文学史 感想

自殺の文学史という非常に面白い本を読みました。以下、簡単に内容と感想を書いてみます。 1章では、社会学、地理学、哲学、宗教、歴史 etcを軸にして自殺を論じており、自殺学の総合カタログの感があります。 カルト宗教の集団自殺や日本の切腹、心中など興…