Yoshi.dev

技術系の趣味、またはやった仕事やそこから学んだことを忘れないために

grpc-spring-boot-starter使ってるプロジェクトでdockerビルドしたアプリを動かしたらNoSuchMethodErrorに遭遇した

ちょっとよくわからない現象に遭遇した grpc-spring-boot-starter使ってるプロジェクトでの話だけど ローカルでgradle bootRunして起動した時はgrpc通信部分で問題なく動くのだが dockerイメージにビルドしてコンテナとして動かしたときに下記のようなエラー…

grpc-javaのヘルスチェック

grpc-javaを使って実装したgrpcサーバーのヘルスチェックについて書いておきます grpcのヘルスチェックこうやりましょ的なのが公式から出されています grpc/health-checking.md at master · grpc/grpc · GitHub これを自分で実装してもいいかもしれませんが…

dockerでchrome動かした時のクラッシュ問題への対処法

--disable-dev-shm-usage Dockerはデフォルトではメモリスペースに/dev/shmという場所を使うがこれは64MBと小さい。そのためChromeがメモリ不足でクラッシュしてしまう Chrome 65から起動時に--disable-dev-shm-usageを指定することで、シェアドメモリファイ…

【QUARKUS】KotlinとGradleでサンプル作ってネイティブ起動するところまで

はじめに QUARKUS触ってみたいなーと前々から思っていたので、KotlinとGradleを使ったQUARKUSのサンプルを作ってみました QUARKUSのドキュメントではmavenのほうが情報が厚そうだったのですが、pom.xml書きたくない、スクリプトで依存性管理したいと思ったの…

シェアリマインダーツール作る

夫婦間で買物情報の共有(トイレットペーパー切れたーとか) やることの共有(洗濯するとか) っていうことをシェアするためのいい感じのツールが欲しくなったので作ってみる(もうあるかもしれないけどあえて自分で作りたい) とりあえず要件定義 コンセプ…

読書ログ:SINGLE TASK 一点集中術

デボラ・ザック著のSINGLE TASKを読んだ そもそもこの本を手にとったきっかけはDaiGoさんのこの動画を見た時に紹介されていたから www.youtube.com 自分が気になった部分のみ書いていく(引用部分は本の文章そのままじゃなくて自分の中で崩してます) 気にな…

技術日記6/16-6/21

超亀ログだけど手元に作業ログがあるのでブログにも一応書いておく AWS Lambdaでスクレイピングアプリを動かす方法を模索してたっぽい Serverless chromeも検討した GitHub - adieuadieu/serverless-chrome: Run headless Chrome/Chromium on AWS Lambda (m…

技術日記6/10-6/14

ドメインオブジェクトの設計にテーブル設計もある程度引っ張られるのかと思ってたけどDDDにおけるドメインオブジェクトの設計とテーブル設計は全く別物として考えていいっぽい これなら割とお試し?的にDDDやっていけるかも ドメインオブジェクトはガンガン…

AppSyncとはなんぞや

AppSync マネージドgraphql AWS AppSync(アプリデータをリアルタイムで保存、同期)| AWS データソースにDynamoDB, Elasticsearch Service(ESS), Lambda, HTTP, Aurora Serverlessが使える GraphQL Schema(クエリ定義)とResolverを与えるだけっぽい 使用…

技術日記6/3-6/7

先週からちゃんと技術ノートを作るように意識し始めた 自分は記憶力がないから身につけた知識はある程度まとめておいていつでも引っ張り出せるようにしておかないとダメだなと思って ついでにある程度まとまったものはブログにコピペしてpublicに公開してい…

JVM基礎

Jvm メモリ空間 JVM上にJavaヒープ、Cヒープ、スレッドスタックの3つのメモリ領域がある。基本的にヒープと呼ばれているのはJavaヒープのこと ヒープが一杯になるとOOME(Out Of Memory Error) ヒープの再利用 参照のなくなったオブジェクトはGCが掃除してメ…

技術日記5/27-5/31

(めっちゃ亀ログ...) 今週はstaging環境作った skaffold devでローカルのコード反映させるときにimageのtagとか意識しなきゃいけないのが結構つらみ.. Kotlin Ktorでサーバー作ってるけどspring bootのプロファイルみたいに便利に環境毎にpropertiesの値を…

Nginx Unit

Nginx Unitとか言うキーワードを初めて見たので軽くググって調べたことをメモ程度に軽く残しておく www.nginx.com この図イメージ掴みやすい RESTful JSON API経由で動的に設定を変えられるっぽい Programmability 複数の言語とバージョンが動く 一つのサー…

技術日記5/20-5/24

typescript×nodejsのデバッグ環境をvscodeで作った しかしexpressを使っている場合うまくブレークポイントが動かなかった innodbでデータ削除時にストレージ容量が開放されない件を気にしていたけど、このスペースは後で再利用されるので、データの削除と登…

技術日記というか週報5/13-17

今週(先週)はリファクタリングいっぱいしてた クリーンアーキテクチャやる上でDBトランザクションどうするかという問題についていくつか考えてた (とりあえず有名なやつ貼っとく) インターフェース層でトランザクションを管理できるようにして、コントロ…

GraalVMが気になる

www.publickey1.jp GraalVM気になる これ使えばKotlinで書いたスクレイピングプログラムを爆速起動できないだろうか? jdk 1.8から対応?っぽいからWebDriverとMySQL接続周りで引っかかるかもしれないけど今度試してみたい

Node.jsで作ったスクレイピングアプリをDockerコンテナで起動してみた

(qiitaにも書いたけどこっちにも載せとこう...) やりたかったこと サーバーレス環境でスクレイピングアプリを動かしたかった Knative試したかったのでコンテナ化する必要があった nodejsでスクレイピングするアプリをサクッと作る まずは好きなところにデ…

Codecov

codecov.io コードカバレッジ(テストカバレッジ)を可視化するツール 言語のサポートは充実してる 導入簡単そう 安そう

技術日記5/7-5/10

protocol buffersのversion3でrequired, optionalがなくなっていることを知った そのため定義してあるフィールドには必ず値が入るようにしなければならない とはいえoptionalを表現したいときはある 自分は別フィールドで has_~ といった感じで表現すること…

Kong

マイクロサービスにおけるAPIゲートウェイとしてKongが使えそう マルチクラウドでも使えそうkonghq.com各種プラットフォームにも対応してる konghq.com

技術日記4/22-4/26

具体的な機能の実装を書き始めた クリーンアーキテクチャのおかげでいい感じにフレームワークやDB周りと疎結合なコードが保てている気がする ただやはり若干今までより書くコードの量は増えてしまう感じが生産性に影響しすぎないか不安はあるマイクロサービ…

技術日記4/15-4/19

日記の先延ばしぐせがひどい..graphql-javaでdataloaderの実装軽く試したけどうまく動くところまでいかなかった 今回の設計的にそんな深い構造のjsonを返すことがなさそうなので一旦後回しにした 必要そうなら改めてチャレンジするnodejsでスクレイピングプ…

技術日記

今週はスクレイピングのサンプルプログラム作ってた 言語はpythonかnodejsかで迷ったけど、将来外注も考えてる、日本はjavascriptユーザーのほうが多そう ということでnodejsにしてみた puppeteer試してみたけどかなり手軽に使い始められるなという印象 npm …

技術日記

今週はgraphql APIの設計してた githubのgraphql APIを大いに参考にさせてもらった スキーマの定義は主にqueryとmutationがあって queryはRESTでいうGET系のリクエスト mutationは登録、更新、削除系のリクエストを扱うスキーマ mutation内のフィールドは基…

技術日記

今週は若干やらかした 使用しているフレームワークのメジャーアップデート(しかも3つほど一気にあげた)により発生したバグにリリース後に気づいた 自分なりにstaging環境での確認はしたつもりだったけど甘かった 確認不足もあったと思うが、チームで話し合…

技術日記

開発環境 skaffold入れてローカル開発環境出来た マルチリポジトリ管理のためskaffold.yml管理用のリポジトリを作成して そのリポジトリのサブモジュールとして必要なリポジトリを設定することで 開発の初期セットアップもコマンド3つほどで出来るようになっ…

今週の技術日記

(もはや先週。。。)graphqlクライアント軽くいくつか試したけど、graphiqlが一番良さそう graphql特化という点と、docs機能があるところが良い ただなぜか自分の立てたgraphqlサーバーでdocsを読み込めなくて困ってる それとbrewでインストールしたgraphiq…

skaffoldを使う時のgit repository管理戦略

現在マイクロサービスで新規サービスの開発をしているのだが、ローカルでの開発時にskaffoldを使おうとしてる リポジトリ管理をモノリポジトリかマルチリポジトリにするかで迷ったが、一旦マルチリポジトリでいってみようと思ってる マルチリポジトリに期待…

grpc×jib×skaffoldで少し詰まった

grpcを使って開発してるマイクロサービスでjibとskaffold使ってバリバリローカル開発しようとしてたら詰まった ちなみにフレームワークはktor skaffold dev コマンドでskaffoldを起動すると下記のエラーが エラー: シンボルを見つけられません @javax.annota…

今週の技術日記

今週のだらだら仕事やらプライベートでインプットした内容のだらだらアウトプット〜仕事で新規プロジェクト作ってgradleはkotlin gradle dslで書き始めた groovyで書いてるときとそこまで差は感じないかなあというのが今の所の感想(groovyで書いててもIDE使…