Ponz Dev Log

開発のことから合間に読んだ本の感想まで、マイルドに書きます

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を使わないよりも圧倒的にビルドパフォーマンスが高くなる&セキュアにビルドできる…

GCP BigQueryチュートリアルお触りメモ

GCPのData Engineer認定試験に向けて、データウェアハウスに分類されるBigQueryのチュートリアルを一周したのとドキュメントを読み漁った時のメモです。最近メモ続きで今回はコードは一行も出てきませんが、試験直前に見直すために書き残します。そろそろパ…

JavaScriptの2次元配列の展開・重複削除・集約をLodashを簡潔に書く

2018年末に書いたSlack Botを少しリファクタリングした時の話。2次元配列と配列要素の重複削除ってよく使いそうで意外とベストなやり方ってよく分からないですよね。自分の場合は2次元配列は map と foreach、重複削除は Set オブジェクトで実装していました…

JavaScriptのクロージャって結局なんだよ

JavaScriptでは初歩的なコードでは現れないけれどふとした拍子に出てくる単語っていくつかいるような気がします。 特にカリー化、高階関数、クロージャ、ファンクターあたり。関数型プログラミングを進めていたら最初の方に出てきて戸惑ったのが クロージャ …

Gradleを使ってIBM Cloud Functions with Javaの関数を実装する

あけましておめでとうございます。新年一発目はサーバーレスです。 昨年はNode.jsしかほとんど触らなかったIBM Cloud Functions(OpenWhisk)をJavaで実装します。 ただし、公式のチュートリアルだと自力でgsonにCLASSPATH通してデプロイしてねと雑にしか書い…

2018年振り返りと2019年の抱負

今年の年末エントリーです。 2018年は部署異動があったおかげで、仕事環境も私生活もガラッと変わった1年でした。 心のゆとりができたこともあってジムに通い始めたり技術書読んだりと社会人1〜2年目の時にはできなかったことにも手を出せて初めて社会人楽し…

Trello APIとSlackで今週の頑張りをめちゃくちゃ褒めるボットを作る

モチベーション 仕事のタスク管理って基本めんどくさいですよね。僕はTrelloで仕事(+一部の業務外のToDo)のタスクを管理しているんですが、Trelloは期限やチェックリスト, コメント残しにカレンダーと機能が豊富でとても便利です。 ただ、年末の自分の評価シ…

AWS認定 デベロッパーアソシエイトに合格してきました

TL; DR 遅ればせながら、9月末にAWS認定 デベロッパーアソシエイト試験(2018/6リリース)に合格しました! AWS 認定デベロッパー – アソシエイト 認定取るためにとにかくサービスを弄り舐め回しましたし、普段は触らないであろうサービスに色々触るいい機会に…

AWSの各サービスを舐める (3) - Amazon S3

AWSのサービス舐めるシリーズその3。今回はS3です。 Kubernetesの検証の時にお世話になったので、今回はちょっとしたメモ程度で。 以前どんなことに使ったかは過去記事をご参照ください。 特徴と制約 レコードを格納するようなDBではなく、ファイル(CSV, JS…