Ponz Dev Log

ゆるい開発日記

技術文章の文章校正を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人のイベント参加者としての振り返り記事です。 実は技術書典には初参加でもあります。ツイッターで盛り上がっているのを見て、これは自分もやってみていいんじゃない…

Pythonによる新しいデータ分析の教科書 読了後感想

今回は自分にしては珍しいPythonの読書記事です。 データ分析と機械学習を使った予測モデル構築のお仕事をすることになり、 基礎練習として翔泳社から出版されている『Pythonによる新しいデータ分析の教科書』を読んだのでその感想になります。 Pythonによる…

メッセージング基盤のNATSを超ざっくり解説する

システム間を疎結合に保ちつつ非同期で通信しようとすると、必然的にメッセージング基盤が必要になります。 もしメッセージング基盤を手っ取り早く使うのであれば、クラウドベンダーのサービス、例えばAmazon SNSやGoogle Cloud Pub/Subを使うのが一番です。…

AWSによるサーバーレスアーキテクチャ 読了後感想

サーバーレスアーキテクチャのまとまった書籍ないかなと探して見つけた一冊を読んでみたので、感想を含めてメモ書きです。 AWSによるサーバーレスアーキテクチャ作者: Peter Sbarski,吉田真吾,長尾高弘出版社/メーカー: 翔泳社発売日: 2018/03/14メディア: …

ブラウザからREST APIでAmazon S3にファイルをアップロードするときに気をつけること

書籍『AWSによるサーバーレスアーキテクチャ』(翔泳社)を読み進めているときにS3のファイルアップロード関連でつまづいたところが多々あったので、気をつけるべきところとして手順と一緒にまとめます。 AWSに関わる動的な処理を全てJavaScriptで実装すること…

技術書典6 Knative本 読了後感想

実はタイトルの技術書展6には実は行けなかったのですが、 気になっていた本があったので思わずBoothでポチって読んで、手を動かした感想です。 感想を書く対象の本はこちらになります。 『Knativeの歩き方 KubernetesからServerlessを訪ねて』 toshi0607.boo…

Node.jsアプリでもAngularみたいにDIしながらアプリを作る

AngularではDependency Injection(DI)で自分で定義したServiceを各コンポーネントで使えるようにできます。Javaの世界でもSpring Frameworkを筆頭に、インターフェイスに対してどのような実装を紐づけるかをDIで実現しています。 ただ、、、サーバーサイドや…

Serverless FrameworkでKotlin & LambdaのサーバーレスAPIを作る

朝活.Kotlinで作ったServerless Framework × Kotlin × LambdaのサーバーレスAPIまとめです。 justincase.connpass.com serverless.com 概要 題材 松屋のメニューの写真をひたすら貼るSlack Bot. (ちょっとしたジョークアプリです) 上記のSlackBotのバックエ…

CloudWatch EventsからAWS Batchを叩くCfnテンプレートが書けないからCLI使う

CloudFormationテンプレートのYAMLファイルからAWS Batchを叩くCloudWatch Eventsのルール・トリガーを作ろうとしたらダメだったから代案としてCLIで作った話です。 CloudWatch Eventsのルールに対して、どのサービスをどのようなイベントに反応して/時間間…

JAWS DAYS 2019 参加レポート

日本のAWSユーザーグループであるJAWSが主催の "JAWS DAYS 2019" に行ってきました。お昼の時点で参加人数1,500人を超えていたこともあって、200人収容できるセッションでも立ち見が出るほどの盛況っぷりなのが印象的。 忘れないように会場で実際に聞いてき…

AWS Batchに渡したCommandがプログラムの引数に渡らない時はDockerfileを見よう

お仕事でも使ってるAWS BatchでCommandに渡した値がプログラム(Javaだとmain関数のargs部分)に渡ってこなくてハマった時の対象方法メモ。 AWSの公式ドキュメントが分かりずらいので、Dockerのドキュメントも参照しながら解決しました。 Commandとコマンドラ…

GCP Professional Data Engineer認定取得しました

GCP Professional Data Engineer認定試験に合格してきました! 認定取得にあたり、取得するまでのポイントや試験のことを書いておきます。 cloud.google.com 事前に準備したこと Coursera - 各サービスのコンセプトやらユースケースを細かく詳しくレクチャー…

BuildKitを使って docker build のビルド時間を半分以下にする

元ネタはAWS CodeBuildでBuildKitがサポートされたという話。 dev.classmethod.jp BuildKitとは、Docker v18.06から搭載された "次世代 docker build" のようです。BuildKitを使わないよりも圧倒的にビルドパフォーマンスが高くなる&セキュアにビルドできる…