記事

Cloud Functionsを使ってSlack AppのSlash Commandを実装

アプリケーション

概要 Cloud Functionsを使ってSlack AppのSlash Commandを実装する。 今回作ったボイラープレートはこちら。 go-slack-app-on-cloud-functions-boilerplate Slash Commandの使えるSlack Appを作る方法は色々あるが、安く、簡単に、サーバーレスで作れるということでCloudFront Functionsを使って...

slack-bot Slack Golang GCP Cloud Functions

マークダウン形式のファイルをPDFファイルに変換する(mermaid・emoji・toc対応)

アプリケーション

概要 マークダウン形式のファイルをPDFファイルに変換したいという要望に応えるための簡易的なドキュメント管理ツールを作った。 bmf-san/docs-md-to-pdf-example 特に深く考えることなくあり物のライブラリを活用して作ったので、あまりサステナビリティを感じない構成になっている。 モチベーション 単にマークダウン形式のファイルをPDFファイルに変換するだけであれば、md-to-...

markdown marked emoji mermaid JavaScript

認定スクラムマスター(LSM)になった

ソフトウェア工学

scruminc.japanのRegistered Scrum Masterの研修・試験を受けて認定スクラムマスターになったので感想とメモ。 ちなみに認定期間が1年らしいので、認定を継続するには年に1回小テストを受けて更新する必要があるらしい。 研修を受けた理由 普段、チームでスクラム開発を行っているが、開発者(というかチームリーダー)としてスクラムについて理解を深めて、チームのプロセス改善とプロ...

スクラム

bmf-techを支える技術

システムアーキテクチャ

bmf-techを支える技術 このブログ(bmf-tech.com)を支える技術スタックについてかく。 旧bmf-techの構成 まずは現行のbmf-techはよりも1世代前の構成について。 アプリケーションはLaravelをベースとしたモノリシックな構成 APIはPHPで、管理画面はReactでSPAを構築していた 当時触っていた技術を何となく採用しただけ Sakura VPSでホ...

Docker Docker Compose VPS Golang Vue.js Prometheus Promtail Loki Grafana Nginx

ブログのシステムを移行した

ポエム

ブログのシステムを移行したので記念投稿。 bmf-tech.comはWordpress→Laravel製自作CMS→Go製自作CMSと3世代目のアップデートをすることができた。 振り返りの記事をそのうち書く予定。 ...

CMS

Githubでレジュメを管理するようにした

ビジネス

今までGoogle Driveで管理していたレジュメをGithubで管理するようにした。 これが個人的に良い取り組みだったので記事にしておく。 ここでいうレジュメは、自分のキャリアのあれこれがテキストベースでまとめられたものを指す。 モチベーション Google Driveでファイルをアップロードして管理していたが、イマイチ更新しづらかったり、更新する気力が沸かなかったりした。 差分がわかりやすい...

Git GitHub レジュメ

Spannerの知見メモ

データベース

概要 Cloud Spannerの知見を漁ったのでメモ。走り書きなのでカテゴライズしていない。 メモ 計画メンテナンスやスキーマ変更のためのダウンタイムなし、最大99.999%の可用性を保証 Cloud SQLはダウンタイムありの計画のメンテナンス Cloud Spannerのアーキテクチャ構成 クライアント R/Wするコードが実行されているサーバーやコンテナ クライアントライブラリを使うと...

Spanner

エリック・エヴァンスのドメイン駆動設計を読んだ

アプリケーション

概要 エリック・エヴァンスのドメイン駆動設計: ソフトウェアの核心にある複雑さに立ち向かう DDD本を輪読会で読み終わったので読書メモを残す。 序章 ドメインモデルは”考え方”。知識の再構成と抽象化。表現手段(図でもプログラミング言語でも自然言語でも)は問わない。 モデルの基本的用法 モデルと設計の核心が相互に形成し合う モデルは、チームメンバ全員が使用する言語の基盤 モデルとは蒸留された知識 ...

DDD

legoでLet's encryptのSSL証明書をDNS-01方式で取得する

インフラストラクチャ

Conoha VPSでAnsibleを使ってLet's EncryptのSSL証明書の取得を行おうとしていた。 証明書の取得はDNS-01方式(ドメインのTXTレコードに認証局が発行したワンタイムトークンを登録して検証する)で取得したかったので、ConohaのAPIを使って、TXTレコードを登録、削除するようなスクリプトを組んで対応(cf. github.com - k2snow/lets...

Let's Encrypt Tips