秋の魔法使い

勉強したことのメモとか

雑記

我が家のiMac 2011君が遂ににっちもさっちもいかない状態になってしまったので給付金を使ってPC環境を新しくしました。

PC

mac mini 買いました。SSD最高に早くて快適。メモリはなんだかんだで8Gで十分だと判断してそのまま。

Display

LG 27UL550-W を買いました。評判通り満足できる性能。macに相応しい高級感がしゅごいの〜おほ^〜みたいな ブログ記事を結構見かけましたが実際安っぽいです。でも画質は本当に満足。

Sub Audio System

Audio Engine A2+ を買いました。 この価格帯でこの音が出るなら十分。パワードスピーカーの中ではかなりおすすめです。メインのオーディオシステムを起動する機会が結構減ってしまった ^^; ちなみに このレビューサイト の評価を見て決めました。自分はあらゆる商品レビューは国内よりも海外サイトを信じています。

外付けSSD

BUFFALO SSD-PH1.0U3-BA を買いました。音楽保存用。 とんでもなく熱くなるのでどのくらい持つか結構不安。それ以外は概ね満足。

まとめ

たくさん買ってお金が吹っ飛んでしまった。

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

golangを勉強することにしました。頑張るぞ

初回は A Tour of Go すら読んでいない状態で、勢いと感性のままにRedis Access をするCLI を作ります。

  • json fileからデータを読み込んでEntityを作成する
  • redigoを使ってRedis参照と更新ができる
  • Interface を作って複数のEntityを同じコンテキストで扱えるようにする

Redigoを選んだのは、Redis公式でrecommendされていたからです 🙃

続きを読む

雑記 (ポエム調)

チームビルディングとかマネージャー論とか、強いチームを作る的なブログを見るたびに違和感を覚えるのが どの記事も、実際にチームを構成しているメンバーの能力や性格についての言及が少ない、あるいは一切無いことだ。
自分が知りたいのは、優秀な人間の集まりを強いチームにする技術ではなく、どうしようもない僕たちでもなんとか チームとしての体裁を保ちつつプロジェクトを回す技術なのだ。

例えば、以下のようなチームメンバーでJavaを利用した新規アプリケーション開発を行うとした場合を考える


  • SESあがり。コードを書けないが業務に詳しい。年齢は40代。普段は温厚だが稀に非常に機嫌が悪い
  • SESあがり。中堅。Effective Javaを読んだことがない。プログラミングに興味がない。無口
  • SESあがり。中堅。PHP 5しか書いたことがない。プログラミングに興味がない。無口
  • 社内SEあがり。メンバー内では技術力は高い方。人を避ける傾向がある。無口
  • ベンチャーからの転職。技術力は高いが早々に転職しそうな雰囲気がある
  • 新卒。右も左も分からない


このチームのマネジメントをする場合、我々はどうすればいいのか。あるいはどうしたのか。何が成功して、何に失敗したのか。 読みたいのは、そういう、もっと生臭いチーム論であり、長期に渡るマネージャーの活動記録だ。もしあるなら、誰か紹介してほしい。 有名な研究者やGoogleやらFacebookやらの優秀な方々の託言を例にしながら理想論を語られても解決できない問題がそこにはあると思う。上のようなチーム構成は、決して極端な例ではない。

中には「人が悪い理由は人事に問題があり、チーム論以前の問題」と切って捨てる記事を見かけるし、 それは正しいと思う。だったら人事制度を変えた記事を見たい。そして、人事制度が変わった後で、上にあげたような 人たちがどこに行ってしまったのかを知りたい。と自分は思う。

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

以前の記事PHP ApplicationのDockerfileを書きましたが Apacheモジュールバージョンではなく fpmで運用したくなったので書き直します。

また、せっかくなのでdebian baseとalpine baseを用意して サイズの比較と、実際にAWS ECSでの起動速度をカジュアルに計測してみます。

続きを読む

雑記

上司が退職してしまった。優秀な人なのでいつか辞めるだろうな、とは思っていたけど。
今までは上司が前面に立っていてくれたおかげで自分はただのエンジニアとして開発だけしていればよかったが、 今後はベンダーとかと打ち合わせしたりする機会が増えそうで、途轍もなく疲れそう。打ち合わせとか無理なんですけど。こちとら陰キャだぞ、加減しろ莫迦


−−−


陰キャといえば、先月初めてオンライン飲み会というものに参加して、ああこれは、地獄だな、と思った。 タルタロス飲み会とか、黄泉平坂飲み会とかに改名したほうがいいんじゃないか?とこれは陰キャの自分の感想


−−−


横道にそれたが、上司は目標とか夢とか、そういうもののための転職とのことであった。正直すげーなと思う。
自分は今まで3回転職しているけどその理由は

  • 1社目: 給料が安すぎるから
  • 2社目: パワハラ && 社内ニート化で鬱病になる
  • 3社目: 給料が安すぎるから && オラつきすぎて社内で孤立化

といった、ネガティブな逃げ転職ばかりで、円満退職できたのも1社目だけなので相当ひどい。なので攻めの転職ができる人は尊敬する。 はてなではそういう感じのデキるエンジニアの退職エントリーを多く見るので、積極性は優秀なエンジニアの特徴なのかもしれない。そして攻められない自分はエンジニアには向いていないに違いない。
けど自分は自分の人生の今後に期待していないし、将来の目標は定年退職後に小綺麗な地方都市に移住して毎日街を散歩しながら過ごす、なので、これで良いと思っている。


−−−


件の上司は 、「ダラダラと会社に寄生しながら日々の生活をこなすことが目標です!」みたいな自分のネガティブで会社に対して貢献する気ゼロの発言を笑って流しながら、効果的に自分をプロジェクトに使ってくれた人で、安心して仕事をすることができた。彼がいなくなってしまったことで、今後は心労がマシマシになりそう。

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する。

Spring Bootの場合、application.properties に適切に設定を入れておかないと、 clientの設定したCharacterEncodingをガン無視してHttpServletRequestのCharacterEncodingをUTF-8に上書きするストロングスタイルになってしまうのである 😑


application.properties result
forceRequest: true forceResponse: false
spring.http.encoding.force=true forceRequest: true forceResponse: true
spring.http.encoding.force=false forceRequest: false forceResponse: false
spring.http.encoding.force-request=false forceRequest: false forceResponse: false


2020年になって文字化け問題にぶつかるとは思わなかった 😥

参考

Selectively force encoding in CharacterEncodingFilter · spring-projects/spring-framework@76ee468 · GitHub

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

記事の要点

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