ブログ・ア・ラ・クレーム

技術的なメモとかライフログとか。

組織を考慮してアーキテクチャとシステム運用を改善する

前回の記事で軽く触れていますが、現職 Ubie では症状検索エンジン「ユビー」の、リアーキテクチャを計画しています。 さらに冒頭で触れたアーキテクチャ図は我々の理想にはあまり沿っておらず、特に肥大化している FE 、 BFF 部分に関してはモジュラーモノ…

症状検索エンジン「ユビー」の共通基盤を支えるシステム運用改善活動

こんにちは、syucream です。最近は業務で、症状検索エンジン「ユビー」 のプロダクト開発に携わっています。 お陰様で症状検索エンジン「ユビー」はユーザ数も伸びて事業的にも重要なプロダクトとなってきています。プロダクトの成長に伴い、関わるチーム・…

自社のエンジニアとラフに話せるSlackワークスペースをクローズした

以下のように紹介していた、 Ubie のエンジニアとラフに話せる Slack ワークスペースを運営していたのですが、このたびクローズしました。ご参加頂いたみなさま、ありがとうございました。 ユビーに興味があるエンジニアの人たちとユビーの中の人でもっとラ…

GitHub Actions と GitHub Packages を使って、継続的に社内向け gem をリリースする

こんにちは、 syu_cream です。普段は Ubie でプロダクト開発エンジニアをやっています。本日は業務で構築した社内向け gem の継続的なリリースを行う仕組みを紹介します。 GitHub Actions & Packages の組み合わせは問題にハマると原因究明が難しいことがあ…

育休復帰後 3 ヶ月を振り返って、仕事とプライベートの両立ハードパーツ

ライフワークバランスが重視される昨今、そのバランスを保つのって簡単なんでしょうか?他人が多くを語らない詳細は、見えないからこそ想像を掻き立ててしまって自分には手が届かない理想的な生活を描いてしまいそうですよね。でも実際は全然そんなことはな…

ソフトウェアエンジニア子育てログ (3 ヶ月 ~ 4 ヶ月)

引き続き子育てエントリです。前回はこちら。 syucream.hatenablog.jp 3.5 ヶ月 この頃から子供が寝返りをするようになりました。 ちょうど 3.5 ヶ月にわずかに満たない頃から、ぎこちないものの寝返り可能になり、 3.5 ヶ月を過ぎたあたりからスムーズに寝…

ソフトウェアエンジニア子育てログ (2 ヶ月 ~ 3 ヶ月)

前回のブログエントリで計画した通り、しばらく子育てが加わった日々を綴ります。2 ヶ月 ~ 3 ヶ月編。 syucream.hatenablog.jp 2.5 ヶ月 引き続き子供は夜中にまとまってくれています。恐らくこの月齢では一般的ではなさそうですが、深夜にミルクを欲しがっ…

ソフトウェアエンジニア子育てログ (0 ヶ月 ~ 2 ヶ月)

先日、我が家に第一子が誕生しました。祝っていただいた方々、日頃お世話になっている方々、本当にありがとうございます。 Hello, world. pic.twitter.com/Ug7O3amt8a— しゅー くりーむ (@syu_cream) 2022年10月14日 さて、子育てが早速、世に聞く通り通りな…

ユビーに転職して半年、慣れない技術スタックでも何とかやっていけている

みなさんいかがお過ごしでしょうか。 @syu_cream です。 わたしは半年ほど前にユビー株式会社へソフトウェアエンジニア(以下 SWE)として転職しています。転職前後のストーリーは以下のエントリにて紹介しています。 syucream.hatenablog.jp 本記事では入社か…

2021年Ubie Discoveryエンジニア入社エントリまとめてみた

はじめに 今年も残り少ない日数となってきた今日この頃。みなさんにとって今年はどんな年になりましたか?ぼくの所属するユビー株式会社も今年も様々な飛躍と進化を遂げております。 ubie.life 特に多様なバックグラウンドを持つ優秀なメンバーが加入したこ…

転職しました: メルペイ -> Ubie ~クセつよ組織を求めて~

2021/7 に 3 年 10 ヶ月勤めたメルカリ・メルペイを退職してUbieに転職しました。前職ではSREやデータエンジニアとして活動していたのですが、Ubieではフルスタック気味なSWEをやります。本記事ではこれまでの活動や転職における葛藤、今後の展望を紹介しま…

技術書典9で「Apache Parquet ではじめる快適 データ分析」を出します

技術書典9 で「Apache Parquet ではじめる快適 データ分析」を出します。 もしよろしければお手にとっていただければ幸いです。 まあ今回はオンライン開催で電子書籍のみの配布なので、物理的にお手に取れないんですけどね〜! 本書は Apache Parquet …

Data Mesh の記事を読んだ

一年以上前の記事だけど、 https://martinfowler.com/ に "Data Mesh" をうたう記事があったので軽く読みました。 martinfowler.com こちらに日本語で概要をまとめた記事もありご一読することをおすすめします。 僕の個人ブログを見るより確実で良い情報を得…

Avro と BigQuery の load とうまく付き合いたい

Avro と BigQuery の読み込み Apache Avro は BigQuery のデータ読み込みに対応したシリアライゼーションフォーマットであり、 Object Container Files フォーマットを採用することでスキーマが自己記述的になり読み込みに際して別途スキーマ情報を与えなく…

Cloud Dataflow の FlexTemplate は何者か

先月、さらりと Cloud Dataflow に FlexTemplate という新機能のベータ版がリリースされました。 cloud.google.com 残念ながらまだあまりドキュメントがなく、これを用いるとなにが嬉しいのかが掴みにくいところです。 本記事では FlexTemplate 周りを軽く試…

Schema Registry について書いていく: Confluent Schema Registry の Protocol Buffers & JSON Schema サポート

先日リリースされた Confluent Platform 5.5 より Protocol Buffers と JSON Schema のサポートが入ったようです。 www.confluent.io 以前 5.4 を対象に、 Schema Registry を中心に色々記載してみましたが、今回は 5.5 で入ったこの差分を追跡してみます。 …

protobuf のシリアライズ済みバイナリを無理やり読む

Protocol Buffer wire format について Protocol Buffer でシリアライズされた後のバイナリのレイアウトの仕様は wire format の仕様という形で独立してドキュメントが用意されています。 この wire format の仕様は見ればわかる通りそれほど記述量が多くな…

原則 WFH 勤務が開始して二ヶ月が経過した

タイトルの通りで単なる日記なのですが、今の心境を赤裸々に綴っておくと後で振り返れると思いつらつら書きます。 なおこのエントリは個人の意見ですし、同じ会社同じチームでも受け取り方や課題感はだいぶ差異が出るんじゃないかなーと思っています。 二ヶ…

BigQuery SQL UDF の挙動を色々確認する

BigQuery ではユーザ定義関数(UDF) を作ることができる。 これを使って、よく使われる式や関数呼び出しの組み合わせを名前付けして再利用できる。 cloud.google.com UDF は SQL と JavaScript の二種類の言語による記述が可能で、後者は色々なトリッキーな利…

Apache Parquet の Logical Types に関するメモ

去年末になりますが、 embulk-output-s3_parquet という Embulk Plugin にて Logical Type をサポートするためのパッチを書き、マージしていただきました。 github.com 個人的な主な目的は timestamp 型をサポートすることでした。 Athena や BigQuery から…

Schema Registry について書いていく その1: Confluent Schema Registry

分散アプリケーション間のメッセージングやログ収集基盤において、しばしばスキーマの扱いは便利である反面頭を悩ませる種になります。 スキーマを厳密に定義して、 Protocol Buffers や Avro などのシリアライゼーションフォーマットを用いることで、メッセ…

Apache Avro について知っていることを書いていく その2

Apache Avro について書き下していく記事その 2 です。 本記事では Avro で表現されるデータのプログラミング言語上の表現、特に Java を想定して SpecificData と GenericData について触れていきます。 Avro のデータ型とコード生成 前回の記事で触れた通…

Apache Avro について知っていることを書いていく その1

Apache Avro になにかと縁があり、かつ普及しているテクノロジーの割に日本語の情報がそんなにない(個人の意見です、意外とあるかも)のでつらつら書いてみます。 整理はされておらずシーケンシャルに要素を並べています。 実装についてとくに言及がされて…

「データとML周辺エンジニアリングを考える会」という勉強会の第二回を開催しました

TL;DR 2019/07/19(金)に、ヤフー株式会社様コワーキングスペースの LODGE において、「データとML周辺エンジニアリングを考える会」という勉強会の第二回目を開催しました。 data-engineering.connpass.com データエンジニアリングとサイエンス、アナリティ…

技術書典5で配布した同人誌の原稿データを GitHub で公開しました

こちらで紹介した、僕が主催するサークルで技術書典5で配布した同人誌の原稿データを公開しました。 syucream.hatenablog.jp リポジトリはこちらになります。 github.com 前回と同様、 Re:VIEW を使って記述しています。 epub / pdf ファイルが欲しい方はい…

Kubernetes と CSI(Container Storage Interface) について

この記事は Kubernetes2 Advent Calendar 4 日目の記事です。 本記事は CSI(Container Storage Interface) と Kubernetes での CSI のサポートについて触れます。 執筆に時間があまり割けなかった為、後でもう少し加筆する、あるいは別途続きの記事を書くか…

Kubernetes 上で動作するコンテナから安全に FUSE を利用したかった

本題の通りの気持ちがあったのですが、結論としては手軽にできる良い方法は無いようでした。 備忘録的に挑戦した事を記録しておきます。 背景: FUSE 利用のモチベーション 言うまでもなくファイル I/O はシステム開発においてよく使われる機構であり、多くの…

ISUCON8 に参加して最終成績が本戦3位だった

タイトルのとおりです。何やかんやあり ISUCON8 の予選を無事突破した後に 10/20(土) LINE さんのオフィスにて本戦に参加して、最終成績 3 位に収まりました。 3 位だと特に表彰されるわけでもなく気持ちのみなのですが。 チーム構成と役割分担について 職場…

POSIX message queue を Go のコードから利用するためのライブラリ posix_mq を作った

表題の通りです。 github.com cgo を使って POSIX message queue の基本的な操作、 open/close と send/receive とその他細々とした機能を実装しています。 とは言っても、それほど複雑なことはしておらず、 POSIX の関数呼び出しを愚直に Go の func にラッ…

技術書典5にてマイクロサービスとEnvoy、暗号通貨についての薄い本を配布します

明日 10/08 (月) は技術書典5 の日ですね! techbookfest.org 当サークル「まいにちがきんようび。」もサークル参加して、新刊を配布する予定です!(既刊の配布予定はありません) techbookfest.org 内容としては、マイクロサービスと Envoy Proxy を試して…