yu-tarrrrの日記

完全に個人の趣味でその時々書きたいことを書く

kubernetess環境でmicroserviceとsidecarを活用する

背景 1つのマイクロサービスを開発する中で、レガシー環境のCMSにアクセスしてコンテンツを取得する要件が出てきた。 その際に、CMSのresponse形式を指定できず、アプリ側でHTMLをパースしてjsonにする処理が必要になり、その責務をどこに持たせるか?という…

OrbStackでは .docker/config.json を読みこまない

背景 docker でproxyサーバーを利用する時、以下のファイルを作って設定してました。 { "proxies": { "default": { "httpProxy": "http://", "httpsProxy": "http://", "noProxy": "*.test.example.com,.example2.com,127.0.0.0" } } } matsuand.github.io …

JTCでのソフトウェア開発のギャップ

概要 メガベンチャーからJTC (Japanese Traditional Company)に入ってギャップを感じた、ソフトウェア開発プロセスについてまとめる ※ JTCの全てがこういう状況ではないことは百も承知です ※ これから内製化をしていこうというフェーズのJTC(製造・小売業)が…

人は学びを得るときに心を開く

背景 今までなんとなくで構築してきた信頼関係について、転職を機に考え直してみた。 結論 人は学びを得たときに心を開く。その積み重ね よくある話 転職などをした直後、チームを異動した直後など、新たに来た人は、今まではこうだったとか、こっちの方が良…

当たり前のことを当たり前にやる組織

背景 開発生産性が謳われる昨今、どんな組織が強いのか考えてみた 結論 タイトルにあるとおり。 当たり前のことを当たり前にやり続けられる組織が強い。 きっかけ ソフトウェア会社と事業会社、何が大きく違うのかと考えた際に、ソフトウェア会社と事業会社…

たしかにスクラムはアジャイルではあるが、スクラムをやってるからといってアジャイルであるとは限らない

タイトルが周りくどいですが、言いたいことを全部詰めてみました。 背景 SWEとして働いてると、Bizメンバーが使う「アジャイル」とエンジニアの使う「アジャイル」が異なる瞬間があることに気づいた ソフトウェア会社と事業会社においても、アジャイルへの理…

Amazon Kendraの考察

Amazon Kendraとは aws.amazon.com エンタープライズ検索エンジン なんですよね 勘違いしてたんですけど、単純なベクトル検索エンジンとは全く違うという ベクトル検索エンジンではあるのですが、その強みは以下の通りである 豊富なコネクタが用意されており…

アジャイルマニフェストの一部分について考えてみた

はじめに アジャイルマニフェスト宣言について少し考えたので、言語化しておく あくまでも、個人の見解です アジャイルマニフェストとは アジャイルソフトウェア開発宣言の方が聞き馴染みがあるかもしれないが、今から20年くらい前にpublishされたもの 下の…

OKRの立て方について

はじめに あくまでも主観でしかないので,他の人に当てはまらない可能性もあるので「ふーん」程度に読んでくれたら嬉しい メモ程度に意識していることを残す 半年後くらいには違うわ!ってなってるかもしれない そもそもOKRって Objective: 「目標」 KR(key …

結婚式の準備をアジャイル風に進めた結果

はじめに 結婚式の準備ってなんとなく大変そうなイメージがありました(実際めちゃ大変) そこで、夫婦一体感をもって取り組めないかなと思って、楽しめる要素を取り組みつつ漏れなく準備を進めたいなと思い、アジャイル風(あくまでも風)に進めていこうと…

Elixirでさくっとスクレイピングする

はじめに 今回はAPIが提供されていないWebサイトに対して、スクレイピングをして何かしら加工して出力したいと思います また、あくまでも私的利用であり数回しか叩かない予定であり、スクレイピングを推奨している訳ではありません 用意したもの Elixir1.10 …

gaugeとTypeScriptでテストをいい感じにする

はじめに 今回はgaugeというテストライブラリを使い、web driverを使ったテストを書いていこうと思います そもそもgaugeとは gauge.org マークダウン形式でテストシナリオを定義でき、実行ファイルとシナリオを定義しているファイルを分離できるというもの …

Elixirで日付比較を不等号で行ってはいけない、絶対にだ!

はじめに 釣りタイトルみたいな話ですが、実際に私がやってしまっていたことを包み隠さず話そうと思います tipsみたいな記事なので大したことは書きません 実現したかったこと 構造体の配列を日付の降順で並べ替えたいということを思っていた ElixirにはEnum…

ElixirのEnumをそれなりに使いこなしたい

はじめに 今回のブログはElixirのEnum.XXを使いこなせるようになりたいという願望です きっかけはプロダクションコードで、配列操作をするときにEnum.mapで力でねじ伏せることが多くなり、もっとスマートにもっとElixirらしくかけたらいいのにという思いが生…

Elixirでテストファイルとの行き来を楽にする

はじめに 今回はtips的な記事です 背景 Elixirを書いているときにテストファイルと実行ファイルの行き来に困っていました JavaとかKotlinを書いていたときはIntelliJ IDEAがいい感じにやってくれていた分、Elixirはエディタがなんでも良い分そこら辺を拡張で…

Elixirでいい感じに並行処理を行う

はじめに 今回は表題の通りです よくあるケースでAPIコールを並列で行いたい時に、Elixirだったらどうするのかというのを残しておきたいと思います 実践 まず、公式を参照する Task.async/ 1という関数で非同期的に処理を呼び出せて、Task.await /2という関…

プロダクションコードででElixirを採用した話

はじめに 今回は表題の通りなんでElixirをプロダクションコードとして採用した話をします もともと、プロダクトチームではElixirの採用実績はあったが、BFFとかではなく定期実行などで叩かれるAPIなどに止まっていました 背景 弊社Uzabaseでは下記のようなプ…

リーンソフトウェア開発を読んだのでまとめておく

はじめに 今回は表題の通りです すこし古い本ではありますが、下記の本を読んでのでさらっとまとめていきます www.amazon.co.jp リーンの7大原則 リーンには7つの原則があります(以下列挙) ムダを排除する 学習効果を高める 決定をできるだけ遅らせる できる…

入門 ~ iced coffee~

はじめに 今回は技術に全く関係ないですが、完全に優勝するアイスコーヒーのレシピを見つけたので、経緯から実践した結果、考察までをまとめて書き残しておく 経緯 今まではごく普通の水出しアイスコーヒーを飲んできた 作り方は一般的で、コーヒー豆と水の…

アート・オブ・アジャイル・デベロップメントを読む

はじめに 今回は少し古い本ではありますが アート・オブ・アジャイル・デベロップメントを読んだ感想をさらっと書いておきます そもそも なんで読んだのか? チームでXPを実践していて、個人的にインプットが欲しかった CTOがチームの新卒に勧めていた コロ…

Elixir School 4日目

はじめに 今回は前回の応用編の続き 並行プログラミングについて学んでいく 並行性 actors Elixirでは actor modelと呼ばれる並行プログラミングの手法が使用できる 参考 このモデルでは actorたちは並行で動く独立した entitiesである actorは独立している…

Elixir School 3日目

はじめに 前回までにElixir Schoolの基礎編はやりきったので、今回から応用編に取り組んでいきます Erlangとの相互運用 ElixirはErlangのVM上で動作するプログラミング言語 なのでErlangのライブラリなどをElixirから利用することができる Erlangモジュール…

Elixir School 2日目

はじめに 前回の続き 今回もiexをベースに基礎編のインプット・アウトプットをする モジュールについて モジュール classみたいな感じで、複数の関数などを束ねることが可能 defmoduleで定義することが可能。またmoduleはネストすることも可能である。 構造…

Elixir School 1日目

はじめに 今回から早速Elixirの勉強を始める 完全に自分のためのアウトプットである しばらくはiexをベースに基礎編のインプット・アウトプットをし、それが終わり次第umbrellaプロジェクトを作成して進めていく 基本データ型について 基本データ型で用意し…

Elixirに入門する

はじめに 久しぶりの投稿になりますが、今回はElixirに入門してみます 背景 私はプログラマになって3年経ちますが、圧倒的に静的型付け言語を書くことが多く、パラダイムの違う言語を書きたいと強く思い、この度Elixirに入門することにしました。 というのも…

Quarkus×KotlinでReactive programmingしてみる

はじめに 今回はQuarkusでReactive programmingをしてみます Springでは5系からweb-fluxというリアクティブ・プログラミングが実装されました キーワードとしては、非同期・ノンブロッキング I.Oというのがあげられます そのReactive programmingをQuarkusで…

Quarkus×Kotlinで遊んでみる②

はじめに 今回は前回のブログの続きでDBアクセスする簡単なAPIを作成したいと思います ソースコードは前回の続きです 実装開始する まずはgradleにORMの依存を注入する ./gradlew listExtensions依存できるものを確認できるが、今回はagroalを追加すれば良い…

Quarkus×Kotlinで遊んでみる

はじめに 今回はQuarkusでAPIを立ち上げようと思います どこまで書けるかわかりませんが、とりあえず突き進む予定です What's Quarkus? KubernetesネイティブなJavaフレームワーク Kubernetesの利用やマイクロサービス・サーバレス化が進み、アプリケーショ…

Spring Bootのサーブレットコンテナを変更する

はじめに 今回はSpring BootでAPIを実装する際にサーブレットコンテナを変更したいと思って調べたので、その内容をtips的にまとめておきます そもそも サーバーサイドで動作させる時に使用するアプリケーションがJava Servlet Java Servletを動作させる実行…

Spring MVC × KotlinでRouter functionを実装する

はじめに 今回はSpring5.2からMVCでも使えるようになったRouter functionモデルでAPIを実装します そもそもRouter functionモデルとは? もともとはSpring5.0でWeb Fluxが実装されたタイミングで追加されたAPIを実装する方法 従来は@Controllerなどのアノテ…