くりにっき

フルスタックキュアエンジニアです

細かすぎて伝わりづらいプリマップの改修ポイント #プリッカソン

これは #プリッカソン Advent Calendar 2020 - Adventar の2日目です。 10月の プリマップ 公開以降見た目はほとんど変わってないのですが裏側をちょいちょい改善してるのでメモ sue445.hatenablog.com ジオコーディング前に住所をいい感じにしている データ…

今更だけどアイカツ!16話のチケット5万枚を2秒で売り切るシステムについて本気で考察してみた

発端 お前誰よ? 前置き 構成 webサーバ データベース 決済システム 負荷試験 当日の監視 まとめ 余談 発端 この後20時からBNP公式YouTubeチャンネルで「アイカツ!」「アイカツフレンズ!」第16話を配信されるよ☆プレミア公開後はアーカイブされるのでそち…

Goで複数パッケージ構成のプロジェクトでもちゃんとカバレッジ集計する(GitLab編)

tl;dr; Goで複数パッケージ構成の場合何が問題か? GitHubの場合 GitLabの場合 本題:GitLabで複数パッケージ構成のGoプロジェクトのカバレッジを集計したい .gitlab-ci.ymlのサンプル tl;dr; gcov + lcovが無難 Goで複数パッケージ構成の場合何が問題か? G…

compact_blank gemのメンテを終了した

gem

Rails 6.1.0.rc1がリリースされましたが*1、activesupport本体に #compact_blank や #compact_blank! のメソッドが入った*2ので6.1.0.rc1以降と一緒に入れられないようにしてメンテ終了宣言しました。 github.com *1:https://weblog.rubyonrails.org/2020/11…

rubocop v1系 + rubocop-rspec v1系でエラーになる件の回避策

tl;dr; ケース1: rubocop-rspec内でエラーになる エラー内容 関連するissue 実際に対応したコミット ケース2: 意図せずrubocop-rspecのバージョンが下がる 注意点 tl;dr; どっちのケースの場合もrubocop-rspec v2.0.0.preで直ってるので Gemfile に下記のよ…

プリマップというプリパラやプリ☆チャンが遊べるお店を探せる地図を作った

タイトルが全て primap.web.app モチベーション 使い方 技術的なこと リポジトリ 大雑把な仕組み サーバサイド ジョブ フロントエンド その他使ったもの こだわりポイント Cloud RunからCloud Functionsに移行して変わったこと GoのstructからTypeScriptのcl…

pixela gem v2.0.0をリリースした

pixela v1.19.0 で機能削除が行われたのでgemのメジャーバージョンを上げました。 blog.a-know.me Breaking changeついでに他にも非互換の変更を入れています 変更内容と変更意図 https://github.com/sue445/pixela/blob/master/CHANGELOG.md faraday v0.x系…

gcp-secretmanagerenvを作った

gcp-secretmanagerenvについて 作った経緯 使い方 gcp-secretmanagerenvについて GCPのSecret Managerのラッパみたいなやつで、 gcp-kmsenv のSecret Manager版です。 github.com 作った経緯 本番環境(GCP)ではSecret Managerを使うのでいいんだけど、ロー…

Cloud Functions CI/CD俺的ベストプラクティス

AWS Lambda CI/CD俺的ベストプラクティス - くりにっき のCloud Functions版です sue445.hatenablog.com 最近Cloud Functions使うことがあってCI面からフレームワークなどを検討しました。AWS Lambdaほどガッツリ使ってないので比較対象が少ないのはご愛嬌 T…

GitHub Actions上でPRを作る時はsecrets.GITHUB_TOKENは使わない方がよさそう

事象 GitHub Actions上で使える secrets.GITHUB_TOKEN だと別のジョブを起動できないというのが一番の理由。 https://docs.github.com/en/actions/reference/events-that-trigger-workflows#triggering-new-workflows-using-a-personal-access-token 具体的…

#ginzarails にRuby on CIで発表した

RubyKaigi2020 用に準備してた資料の供養として発表させていただきました。 僕が知ってるCIの知見や2020年時点でのCIのトレンドはだいたい詰め込めたと思っています。 connpass ginza-rails.connpass.com スライド

gcp-kmsenvを作った

github.com モチベーション 使い方 FAQ Q. Secret Manager使えばいいのでは? モチベーション condo3 で app.yaml 内に Cloud KMS で暗号化した秘匿値を埋め込みやすくするために作ったモジュールをライブラリ化しました。 とはいえGoogle App Engine専用と…

質問をする技術

以前社内に書いたポエムなんだけど年に1回くらい引用したくなるので公開した tl;dr; 質問をする時はゴールを提示する【MUST】 理由1 理由2 コンテキストを詳しく共有する【SHOULD】 期待してた結果(expect)と実際の結果(actual)を書く【IMO】 2020/7/22 12:3…

rubocop-itamae v0.1.3とrubocop_auto_corrector v0.4.1をリリースした

rubocop-itamae v0.1.3 rubocop-itamae (0.1.3): Code style checking for itamae recipes https://t.co/CkdL2YXE3g— rubygems_news (@RubygemsN) 2020年7月12日 https://github.com/sue445/rubocop-itamae/blob/master/CHANGELOG.md#v013 rubocop 0.87.0で …

rubocop_auto_corrector v0.4.0をリリースした

rubocop_auto_corrector (0.4.0): Run `rubocop --auto-correct && git commit` with each cop. https://t.co/9EOblqIdUg— rubygems_news (@RubygemsN) 2020年7月7日 rubocop v0.87.0で --auto-correct の挙動が変わったのと、 --auto-correct-all が追加さ…

Railsでdb:migrateの時だけdatabase.ymlを自動で差し替える

前置き モンキーパッチの縛りプレイの内容 モンキーパッチ 注意点 モンキーパッチのポイント ボツ案1 ボツ案2 前置き GitLabでPostgreSQLを使う時にPgBouncer経由でDBに接続してる(database.ymlにpgbouncerの接続先を書いている)のですが、 その状態で rak…

あつ森でDQ3のアリアハン大陸を作った

島の全体図 Before After 内部の解説 アリアハンの城下町 岬の洞窟、ナジミの塔 レーベの村 いざないの洞窟 余談 島の全体図 Before 島改装前のスクショがこれしか残ってなかった。改装直前は建物の他に橋や坂も結構設置してました After 頑張って作った割に…

Cloud Runでは/_ah/で始まるパスは使えない

GCP

タイトルが全て 事象 Cloud RunにDockerコンテナをデプロイしたが、gcloud run deploy --allow-unauthenticated *1 で全公開にしてるにも関わらず /_ah/health (コンテナ内で動いてるアプリのヘルスチェック用のエンドポイント)を呼ぼうとして401エラーに…

CircleCIでマトリックスビルドがサポートされたのでさっそく使ってみた

CircleCIがMatrixジョブのサポートを開始しました。Matrixジョブを使用することで、複雑な組み合わせが必要なジョブをシンプルに記述することができます。詳しくはこちらのブログ記事(英語)から:https://t.co/MZV1zLCdOj— CircleCI Japan (@CircleCIJapan…

【CVE-2020-2179】Jenkins Yaml Axis Plugin v0.2.1をリリースした

昔作ったJenkins Yaml Axis Pluginにリモートコード実行の脆弱性が見つかったので修正してv0.2.1をリリースしています。ご利用の方は速やかにアプデお願いします。 https://github.com/jenkinsci/yaml-axis-plugin/blob/master/CHANGELOG.md#021-2020-04-07 …

gitpanda v0.9.0をリリースした

https://github.com/sue445/gitpanda/blob/master/CHANGELOG.md#v090 最近のGitLabでは https://gitlab.com/gitlab-org/gitlab/-/merge_requests や https://gitlab.com/gitlab-org/gitlab/-/issues みたいに /-/ が含まれるURLになっているようなので*1、そ…

chatwork-ruby 0.12.2とpixela 1.4.1をリリースした

gem

それぞれfaraday v1.0対応です。 chatwork (0.12.2): ChatWork is cloud-based business chat tool https://t.co/BGGvb5ptun— rubygems_news (@RubygemsN) March 21, 2020 https://github.com/asonas/chatwork-ruby/blob/master/CHANGELOG.md#v0122 pixela (…

wgetでPOSTする

tl;dr; wget --post-data="key1=value1&key2=value2" https://example.com/webhook -O /dev/null 経緯 CIの実行中に通知用のwebhookをPOSTして通知をやりたかったんだけど、CIで使ってるDockerイメージに curl が入っていなくて困った 具体的には https://hu…

#プリッカソン でprismdb-rubyとfaker-pretty_seriesを作った

prismdb-ruby faker-pretty_series prismdb-ruby PrismDB のAPIクライアント prismdb (0.1.0): PrismDB API client for ruby https://t.co/hW9Zb5NOnt— rubygems_news (@RubygemsN) March 15, 2020 github.com スピード重視で使い慣れたREST APIを使ったけど…

gitpanda v0.8.0をリリースした

リリースノート https://github.com/sue445/gitpanda/blob/master/CHANGELOG.md#v080 v0.8.0について 社内GitLabのnginx周りの設定を変えた時にAWSからGitLabのAPIが叩けなくなってgitpandaが使えなくなったので、それをちゃんと検知できるようにするためにS…

地域.rbカレンダーのバックエンドをリプレイスした

見た目は変わらないですがバックエンドを変えてます sue445.github.io 今までの運用 カレンダーに追加したいconnpassやDoorkeeperのグループを condo3 でics取得 自分のGoogleカレンダーにインポート https://calendar.google.com/calendar/embedhelper?gses…

RubyKaigi 2020のCFPに採択されました

昨年 に続き、今年も登壇させてもらえることになりました! rubykaigi.org 今回は「Ruby on CI」というタイトルで、CIマニアがRuby製のgemやアプリのCIについて延々と話します。 https://rubykaigi.org/2020/presentations/sue445.html#apr10 CFPはここにあ…

circleci-ruby-orbs v1.5.0をリリースした

https://circleci.com/orbs/registry/orb/sue445/ruby-orbs リリースノート https://github.com/sue445/circleci-ruby-orbs/blob/master/CHANGELOG.md#v150 Ruby 2.7でbundler 2.1.2が入りましたが、bundler 2.1で bundle install --path などの引数がdeprec…

go-mod-tidy-prを作った

GitHub Actions上でgo mod tidyしてPRを作るActionです github.com github.com モチベーション dependabotでgoのモジュールを定期的にアップデートしていると go.sum に古いバージョンのゴミが残り続けます。 github.com/aws/aws-lambda-go v1.11.1 h1:wuOnh…

GitHub ActionsでTravis CIのallow_failures的なやつをやりたい

いわゆるジョブが失敗しても成功扱いしたい的なやつ tl;dr; jobs: test: runs-on: ubuntu-latest container: ${{ matrix.ruby }} strategy: fail-fast: false matrix: ruby: - ruby:2.2 - ruby:2.3 - ruby:2.4 - ruby:2.5 - ruby:2.6 - ruby:2.7 - rubylang/…