Ponz Dev Log

ゆるくてマイペースな開発日記

CKADに合格するまでの道のり

CNCFが認定するKubernetesの開発者向けの試験 CKAD(Certified Kubernetes Application Developer) に合格しました。 実は昨年9月に受験して一度不合格になっていて、今回のリベンジ受験でようやく合格を勝ち取りました。 失敗したことも踏まえてCKAD合格まで…

grpc-javaではX-Ray SDKのAWSXRayServletFilterが使えない

JavaでgRPCサーバーを立ててX-RayのトレースIDを取ろうとしたらハマった話です。 何が起きたのか? 某所でgRPCの検証をしていてX-Rayでトレースした時に、 AWS公式の"incoming request"のやり方でAWSXRayServletFilterを使用してもトレースを取得できません…

gRPCのprotoファイルをGitサブモジュールで管理してみる

gRPCでインタフェースを定義するprotoファイルはどのように管理するのだろうと考える場面があったので、 Gitサブモジュールで管理してみました。備忘録です。 モチベーション gRPCのサーバやクライアントアプリケーションは、 それぞれprotoファイルに記載さ…

AWS CDKで意図しないIAMポリシーの上書きを防いで循環参照を回避した

AWS CDKでIAMロール/ポリシーを宣言するスタックとワークロード+CloudWatchロググループを宣言するスタックを分けて後者から前者を参照した時、意図せず循環参照が発生してハマってしまったので解決のメモ書きです。 試した環境 バージョン ... Node.js 14.1…

AWS CDKでAmplifyにフロントエンドのアプリを乗せる環境を作る

最近AWSでフロントエンドのアプリをホスティングする時はAWS Amplifyを使うようになりました。 ただ、AmplifyのGUIからポチポチしていると複数環境、複数アプリで同じことをやるのは面倒です。 CloudFormationは個人的にはまだ苦手意識があるので、慣れた言…

Reactのhookを触る

ここ1~2年のお仕事フロントエンド開発でSPAといえばAngularばかりだったのですが、 最近になってReactを学び直すモチベーションが高まったのでhookを学ぶことにしました。 Reactを最後に開発で使ったのは2年以上前なので、hookについては完全に初心者です。 …

2020年の振り返り

2020年の年末エントリです。 昨年末に書き起こしておいたものと今年の自分を比較して振り返ってみます。 昨年の年末エントリはこちら。 ponzmild.hatenablog.com コロナウィルスと私 今年はコロナウィルスの影響なしでは語れません。 私は今年の4月から完全…

IBM Cloud Secret ManagerでAPIキーを有効期限つきで発行する

この投稿はIBM Cloud Advent Calendar 2020の8日目の記事です。 qiita.com IBM CloudではユーザーまたはサービスIDに紐づくAPIキーを発行・利用することでリソース操作が可能になります。 しかしユーザーやサービスIDが増えてくると、発行したAPIキーの権限…

IBM Cloud Secret Manager (Beta)でシークレットを保管・取得する

IBM Cloudにシークレットを一元管理するためのサービスとしてIBM Cloud Secret Managerがベータリリースされました。 この記事ではSecret Managerのサービスの概要を理解するために、GUIでのシークレット保管・取得を通じて探ります。 www.ibm.com ※ 2020/11…

AsciiDocからPDFを生成する手順をテンプレートにまとめる

最近は仕事や個人のメモの執筆環境をMarkdownからAsciiDocに切り替えています。 Markdownは何より手軽ですしこのブログも全部Markdownで書いているのですが、 AsciiDocの表現力の豊富さに慣れてしまうとMarkdownには戻ることはできません。 Asciidoctorを使…

k8sやOpenShiftでKeycloakのクラスタを組むにはHeadless Serviceがいる

最近OpenShiftを触る機会があり、認証・認可サーバのOSSであるKeycloak on OpenShiftでクラスタを組むのにハマりました。 解決のために調べたことをメモ書きします。 TL; DR 外部公開用のServiceを使ってDNS_PINGでクラスタを作成しても、Podごとにクラスタ…

IBM Cloud AppIDで独自の認証画面を使用する

IBM Cloudマネージドの認証サービス IBM Cloud AppID (以下AppID) には標準で認証画面が作られています。 OpenID Connectのプロトコルで認証を通すだけであれば標準画面で十分なのですが、時として独自の認証画面を使う場面が出てきます。 この記事では、Web…

技術文章の文章校正をtextlintとGitHub Actionsで快適にする

8月前半に社内で『テックブログの文章校正をCIで快適にする』というタイトルでLTをしました。 もともとは技術同人誌を執筆する時に校正作業を自動化していたこともあり、ブログに応用した例の発表です。 発表から2週間ほど経ってしまったので、忘れないよう…

RxJSのWebSocket通信ではメッセージにJSONを期待している

TL; DR RxJSの rxjs/webSocket はメッセージ送受信時にデフォルトで JSON.parse / JSON.stringify を実行します。 単純なテキストを受信する場合は、オプションの serializerまたはdeserializerを指定すれば良いです。 遭遇した事象 AngularからWebSocketサ…

AWS Lambdaの処理失敗時に「送信先」と「DLQ」で連携するデータの違い

先日Serverless Meetup Japan Virtual #0に参加してきました。その時にAWS Lambdaの処理失敗時はDLQとは違う送信先を指定できると聞いたので、連携データの違いは何か調べました。 TL; DR Lambdaを非同期で呼び出す場合、処理失敗した後にデータを渡す方法は…

IBM Cloudの既存リソースをTerraform管理下に置く

IBM Cloudの既存リソースをTerraform管理下に置く AWSの既存リソースをTerraformの管理下に入れる記事を見たので、IBM Cloudでも同じことできるだろうと手を動かした時のメモです。 偉大なる元記事 dev.classmethod.jp TL;DR terraform importコマンドを使え…

Amazon WorkSpacesのWindows仮想マシンでKH Coderを動かしてテキスト分析する

テキスト分析で使用するKH CoderのインストーラがWindows版しかありません。 AWSの仮想デスクトップサービスであるAmazon WorkSpacesでインストール、チュートリアルまでやってみた時の備忘録です。 aws.amazon.com khcoder.net WorkSpaceの準備 Amazon Work…

Azureの基本的なリファレンス・アーキテクチャ実装のためのリンク集

GWにMicrosoft Learnを使ってMicrosoft Azureを触っていました。 Azure面白いですね。 今回はリファレンス・アーキテクチャの Azure で基本的な Web アプリケーションを実行する を自分で推奨・考慮事項を実装したときに参考にしたリンク集です。 後で何回も…

IBM CloudのコンソールログインにMFAを適用する

IBM Cloudのコンソールへのログインに多要素認証(MFA)を適用する話。 AWSやAzureだとIAMでMFAの適用設定できるし、GCPだとGoogleアカウント自体のセキュリティ設定で同様のことができます。 ではIBM Cloudは?と一緒に仕事をしているエンジニアに聞かれたの…

技術書典 応援祭で出したKafka本の振り返り

技術書典 応援祭でKafkaに関する技術同人誌を執筆しました。 3月の頭から頒布が始まってからだいぶ時間が経ってしまったので、執筆前から執筆後までの振り返りを書き連ねます。 執筆した本はこちらです↓ [技術書典マーケット] techbookfest.org [BOOTH] ponz…

MavenでAvroのスキーマファイルからJavaコードを生成するのにつまづいた

Kafka Tutorialsを進めていたときに、タイトル通りMavenでAvroのスキーマからJavaのコード生成するのにつまづいた話です。 このサイトに掲載されているサンプルコードは全てGradleでビルドされているのですが、自分が良く使っているMavenだったらどうかなと…

技術書典8でKafka本を出します

前回の技術書典7に引き続き、技術書典8でも技術同人誌を出すことになりました! 2月になると宣伝する余裕がなさそうなので、今のうちに宣伝しておきます。 techbookfest.org 今回出す本 今回は分散ストリーミングプラットフォームのKafkaの解説同人誌を出す…

2019年の振り返り

今年の年末エントリーです。 今年は去年以上に色んなことに手を出したので、その振り返りと来年の目標を書きます。 去年の年末エントリーはこちら↓ https://ponzmild.hatenablog.com/entry/2018/12/31/160746 やってきたこと お仕事 クラウドビジネスを推進…

IBM CloudでEventStreamにメッセージを送受信する

今更ながらApache Kafkaに入門しました。 なんで今更触り始めたかというと、IBM CloudのEvent Stream(Kafkaのマネージドサービス)にLiteプランが出てきたからです。 限られた機能しか操作できないとはいえ、無料で使うのには十分です。 え?え!?IBM Cloud…

ずっと避けて通っていたNode.jsのStreamに助けられた話

自分は業務・個人開発ともに普段はNode.jsでアプリ開発することが多いのですが、 今回は1プロセスのバッチでは到底処理しきれない量のデータを Node.js Stream で何とか乗り切った話です。 乗り切るまでの過程も忘れないように覚え書きします。 数十MB ~ GB…

技術書典で出会った良書 カスタムコントローラ本はいいぞ

この記事は【推し祭り】技術書典で出会った良書 Advent Calendar 2019 7日目の記事です。 adventar.org 今回はバルゴさん執筆の『実践入門Kubernetes カスタムコントローラへの道』を推します! booth.pm 本の内容 タイトル通り、Kubernetesのカスタムコント…

IBM Cloud AppIDを使ってSPAに認証を組み込む

About IBM Cloud アドベントカレンダー2019 1日目です! qiita.com このアドベントカレンダーのトップバッターということで、アプリ作成で最初に手をつける認証・認可にフォーカスしてSPA with AppIDを取りあげます。 今年の11月末にSPAでAppIDの認証を簡単…

Google Cloud Certified Professional Cloud Developer認定を取得しました

10月にタイトル通り認定に合格したので、振り返りです。 あまりProfessional Cloud Developer認定のことを書いている記事はググっても少ない気がするので、覚えているうちに書いておきます。 (Googleの認定なのにググっても情報が少ないとは...) ちなみに今…

Kubernetes完全ガイド 読了後感想

『Kubernetes完全ガイド』を読んだので感想の投稿です。 先月の技術書典7でKubernetes関連の本を読んでKubernetes強者になりたい欲高まったので読んでみました。 book.impress.co.jp ターゲット読者は誰か? Kubernetesを利用する可能性のある方全てが対象と…

技術書典7 参加レポート ~アウトプットは出す方も見る方も楽しい~

9/22開催の技術書典7に出展者として参加してきました。今回はサークル参加者として、また1人のイベント参加者としての振り返り記事です。 実は技術書典には初参加でもあります。ツイッターで盛り上がっているのを見て、これは自分もやってみていいんじゃない…