nazolabo

フリーランスのWebエンジニアが近況や思ったことを発信しています。

gcloud-aio-bigqueryでasync/awaitを使ってBigQueryのクエリを叩く

PythonからBigQueryを叩くには公式の google-cloud-bigquery があるのですが、asyncioに対応していません。 一部のライブラリではv2側でasyncioに対応しているのですが、BigQueryはv2でも対応していないように見えます。ちなみにv1はほとんどの実装でREST AP…

nazoさんの2023年とこれから(お仕事募集中です!!)

2022年 : https://nazo.hatenablog.com/entry/2022-works 2021年 : https://nazo.hatenablog.com/entry/2021-works 2020年 : https://nazo.hatenablog.com/entry/2020-works 2019年 : https://nazo.hatenablog.com/entry/goodbye-uuum 何してたの? 一応、仕…

webtransport-goでチャットを作ってみた

github.com 突然興味が出てきて書きましたが特に実用性はありません。webtransport-goがそれなりに使えるのかどうか調べるために書いたものです。 webtransport-goは紆余曲折あって(?)quic-goに取り込まれたようですが、中のファイルがまだ github.com/ma…

2022年の仕事と近況

2021年 : https://nazo.hatenablog.com/entry/2021-works 2020年 : https://nazo.hatenablog.com/entry/2020-works 2019年 : https://nazo.hatenablog.com/entry/goodbye-uuum 2022年の仕事 去年からの続きの仕事のみで、大きく話せるようなことは特にありま…

最近の Terraform のディレクトリ構造の分け方

最近の Terraform のディレクトリ構造の分け方について解説します。

git の pre-commit hook はなるべく使わないほうがいいのでは

git に pre-commit hook という、コミット直前に何かのプログラムを実行する機能があります。これを用いて lint や test を実行したりすることがありますが、この利用は控えたほうが良いと考えています。ここではその詳しい理由を説明します。

2021年の仕事まとめ

2020年 : https://nazo.hatenablog.com/entry/2020-works 2019年 : https://nazo.hatenablog.com/entry/goodbye-uuum Go による API サーバーと React による管理画面開発 Go で gRPC サーバーを作りつつ、 React と gqlgen で 管理画面を作るというような内…

ent ( entgo.io/ent ) で ULID を使う

ent では UUID 型がデフォルトでサポートされているのですが、それとは別に ULID を使う方法を解説します。 ULID の実装は https://github.com/oklog/ulid を使用します。 ent の UUID 型は、driver.Valuer Interface を利用して値を取得しますが、 oklog/ul…

Infrastructure as Codeは最初からやったほうがいい

最近不慣れな GCP を触ることがあったのですが、最初から Terraform で書くようにしたほうが楽だったので、それについて解説しようと思います。 Web のコンソールを触るのが怖い 他のサービスが同居しているアカウントでインフラを操作すると、他のサービス…

Webエンジニアが新規でプロジェクトに入った時に確認すること

フリーランスとしてWebエンジニアをしておりますが、プロジェクトに新規に入った時にどういう点を確認しているのかをまとめておきたいと思います。

M1(Apple Silicon) Mac に google-cloud-sdk を無理やりインストールする(2021/01/19時点)

公式からダウンロードしてきた tarball からインストールすると以下のエラーが出ます。 /google-cloud-sdk ❯❯❯ ./install.sh Welcome to the Google Cloud SDK! Traceback (most recent call last): File "/Users/nazo/google-cloud-sdk/bin/bootstrapping/i…

2020年の仕事と技術の振り返り

2019年 : https://nazo.hatenablog.com/entry/goodbye-uuum 今年は合計2社にお世話になりました。ところでフリーランスで関わった会社名とか公表するものなのでしょうか? 関わり方 1社最大週2で、なるべく事業ドメインから遠いところをお手伝いする、という…

rust-nesをwasm化した

https://t.co/E2VxlwpIHi pic.twitter.com/s4zLgpjhaX— nazo (@nazo) 2020年12月19日 github.com 相変わらずOAM描画もキー入力も実装されていないのにNESエミュレーターってレベルじゃないだろという感じですが、ついでに元のrust-nesよりいくつか修正してwa…

nuxt/http で axios-module の credentials: true を再現する

nuxt/httpではaxios-moduleにあった`credentials: true`が削除されているので、それをどうやって指定するのかという解説です。

Windows の VSCode で Microsoft C++ ツールセットを使用する

GitHub - nazo/rust-nes: Rust NES Emulator (Work In Progress) を Windows の VSCode でデバッグしようとしたのですが、そのままではビルドが通りませんでした。 基本情報として、Windows 上で Microsoft C++ツールセット( Visual Studio のツールセット…

AWS ECSのタスクが異常終了したらログURL付きでSlackに通知する

AWS ECSのタスク停止はCloudWatch Eventで検知できますが、このイベントパターンはChatBotに対応していないので、Lambdaから自前でSlackに投げる必要があります。ECSの停止状態からログを見たい時、一覧からどのタスクが何かを発掘して…とか、CloudWatch Log…

クラウドインフラにおけるResourceとDeployment

クラウドインフラ(AWSやGCPなど、その中で取り扱うもの)で、ResourceとDeploymentという境界を分けるとうまく整理できるのではないかという話です。

アタッチされたサービスとTerraformのModuleの分け方

TerraformのModuleの分け方はマイクロサービス的な単位で分けると良いという話です。TerraformだけではなくてIaC全般に言える話だと思います。

Unity で gRPC を試す( HelloworldUnity )

Unity で gRPC を試すには、以前はいろいろ準備する必要があったようですが、現在は https://github.com/grpc/grpc/tree/master/examples/csharp/HelloworldUnity にサンプルが丸ごと入っていますので、これを動かすところまで試します。

Webエンジニアとしてフリーランスしています

これまでのあらすじ(&お前誰よ) UUUM株式会社を2019年10月に退職し、のんびりとした生活をしていましたが、本格的に働くことにしました。 能力や経歴などについてはポートフォリオを作りましたので、そちらをご覧頂ければと思います。 なぜフリーランス?…

Terraform AWS modulesでざっくりAWSインフラを作る

https://github.com/terraform-aws-modules をいくつか解説します。

SSH先のdockerをローカルからシームレスに使用する(SSHでDOCKER_HOSTを指定する)

例えば「MacBook で開発しているけどスペックが低いので Docker で動かすものはデスクトップPCで動かしたい」というようなケースに、DOCKER_HOSTをSSHで指定する方法について説明します。

2019年トップツイート振り返り

Twitter Analyticsから2019年の各月のトップツイートについて振り返ってみます。

OKRでありがちな間違い2点

Google re:Workに書かれているOKRでありがちな間違い2点をピックアップしてみました。

TerraformのWorkspaceはstaging/productionの切り替えに使うべきではない

TerraformのWorkspace機能をstaging/productionの分離に使うべきではないというのは公式が言っている内容ですが、それ以上の理由について考察しております。

UUUM System Meetupで登壇させて頂きました #sysuuum

uuum.connpass.com スライド レガシープロダクトを改善していくための戦い方 from Takuya Sato これは何か? あまり良いとは言えない状態のプロダクトを良い状態まで改善していった時に気にした点について紹介しています。 個別の技術については世にいくらで…

職業Webエンジニアにおける「実績」と「やりきる力」

経歴の浅い人にキャリアについて相談された時に「まず目の前のプロジェクトをちゃんとやりきったほうがいいよ」と言うようにしていますが、その理由について解説します。

退職しました

退職

NESエミュレーターでRustの勉強をした

年明けから特にやることがなかったので、ファミコンのエミューレータを書くのは新しい言語に触れるのにちょうどいいとのことなので、RustでNESエミュレーターを書いてみました。全然動きません。Hello World!が辛うじて動くくらいです。 github.com Rustって…

ワンポイントTwelve-Factor App(12) : 管理プロセス

この記事は、The Twelve-Factor Appを補足し、実際に現代的なWebアプリケーションで適用する場合の注意点などを紹介するシリーズです。下記の原文を読んだ上でのワンポイント解説になります。 12factor.net 概要 管理プロセスはアプリケーションの実行環境と…