What is it, naokirin?

GitHub ActionsでRails edgeでのテストを実行してみる

皆さんは、パッケージやフレームワークのアップデートに追われていたりしないでしょうか? 特に業務では、事業上や法務上の対応など、アップデート以外にも多数行うことがあり、残念ながらEOLギリギリで対応、もしくは超過してしまっていることも多いのでは…

Ruby on Rails(ViewComponent)に Storybook を導入してみる

(個人的な観測範囲からですが)React界隈を中心にデザインシステムなどとともに、Storybookを導入している企業が増えてきているように思います。 自分は直近では、Ruby on RailsでSSRをメインに開発をしていることが多いため、導入がやや難しいと感じていま…

簡単にGraphQLサーバーを建てられるHasuraを試してみた

複数のシステムからアクセスできるデータ基盤のような環境を作成しようとした場合、自前でのAPIの構築や認証/認可などの仕組みを整える必要があります。 一方で、データ基盤としては、最初はそこまでパフォーマンスチューニングや特別な機能を必要としてい…

ポータブルなCI/CD Daggerを試してみる

基本的に継続的な開発を行っていく上で、CI/CDは避けて通れなくなっています。CI/CDといえば、これまでも様々なツールやサービスがありました。 クラウドの発展やインフラ環境の変化などもあり、個々の特性を生かした機能やサポートなどを持つツールやサービ…

簡単なAnsibleのモジュールを作成する手順

Ansibleでは数多くのモジュールが提供されており、大抵はモジュールの簡単な組み合わせで解決することが多いかと思います。また特定の設定をまとめていく場合、まずはロールを利用すると思います。 一方で、既存のモジュールの単純な組み合わせでは対処しに…

バッチ実行をcronから移行する 〜Dockerコンテナにdigdagを添えて〜

最近の悩みは、ブラックフライデーに乗せられてまた本を買ってしまったので、積み本消化と仕事の両立です。。。 今回は、正直サーバーレスではなくちょっと古い感じの手法ですが、クラウドサービスの制限によらずに使えるのと、比較的簡単に移行できるという…

読書記録:AWSコンテナ設計・構築[本格]入門

すでに普通にAWSでコンテナ運用を行っていますが、しっかりと再度知識をインプットし直す意味も込めて、「AWSコンテナ設計・構築[本格]入門」を読んでみました。 AWSコンテナ設計・構築[本格]入門作者:新井 雅也,馬勝 淳史SBクリエイティブAmazon 一通り…

Ansibleに入門するための演習ができるリポジトリを作成してみた

お久しぶりです。 最近は緊急事態宣言が終わってからの通勤という名の苦行に疲れ、休みは気分転換にカメラ片手に歩き回ってばかりいる今日この頃です。 前回記事を書いてからかなり間が空いてしまいましたが、その間にやったことのひとつを紹介したいと思い…

MySQLとPostgreSQLのトランザクションまわりをざっくり調べる

MySQLの世界で生き続けてきたので、そろそろPostgreSQLも学ぼうということで、まずはトランザクション周りから。 個人的にはこの2つのRDBMSの違いとして、コマンド以外だと、トランザクション分離レベルとインデックス周りの違いに対するイメージが強かった…

Embulk の input plugin を書いてみよう

今回は少し前に Embulk を使う際に input plugin を用途に合わせて書き換えを行ったりしたので、そのあたりの簡単な input plugin の実装の方法について書いていきます。 Embulk 自体については正月あたりに書いた記事を参照してみてください。 Embulkでバッ…

Embulkでバッチ処理をしてみよう 其の4

前回までで既存のプラグインを用いたEmbulkでのバッチ処理を実行するために必要な情報を見ていきました。 一度きりの実行の場合はこれまでの知識で十分ですが、定期的に実行したい場合、とくに一連の処理を定期的に実行したい場合は cron だけでは足りない場…

Embulkでバッチ処理をしてみよう 其の3

前回はコマンドや設定周りについてみていきました。 前回: Embulkでバッチ処理をしてみよう 其の2 - what is it, naokirin? 今回は liquid テンプレートによる設定の書き方を見ていきます。実際にEmbulkを利用していくことになった際に環境ごとに変えたり、…

Embulkでバッチ処理をしてみよう 其の2

前回の其の1では、簡単なEmbulkの説明とサンプルをもとにデータインプットとアウトプットに対してEmbulkを動かすところまでを見ていきました。 前回: Embulkでバッチ処理をしてみよう 其の1 - what is it, naokirin? 今回は embulkコマンドや設定の詳細に…

Embulkでバッチ処理をしてみよう 其の1

かなり昔から使われているツールですが、最近Embulkを利用することがあったので忘れないうちに入門の情報を書いていきます。 よくEmbulk は Fluentd のバッチ版などと呼ばれて紹介されています。 Fluentdとは違い、コマンドなどで実行したときのみデータソー…

Kubernetes の認証とアクセス制御

今日は Kubernetes の認証とアクセス制御について、概念周りまとめていこうと思います。 バージョンは v1.10 の情報を基にしています。 Kubernetes の Api Server の認証とアクセス制御の挙動 Kubernetes では 実際のリソースへのアクセス時に以下のような手…

Dockerコンテナのlogging-driverを変えずにKibanaにDockerのログを表示する

Dockerコンテナからログファイル出力がアプリケーション的に難しい、けれどエンジニア以外でもログを見たいという話が出たので調査してみました。 方針としては、以下を目指しています。 docker-compose でできる ログファイル出力がなくてもできる docker l…

linkerdについて調べてみた

複雑化しやすいマイクロサービス間の連携の解決について気になっているところでlinkerdについて知ったので少し調べてみました。 ただ、思ったより日本語の情報は無いですね。。。 大規模なサービス連携でなければ、Consulなどでのサービスディスカバリ単体が…

Google Compute Engine における概念のまとめ

Google Compute Engineについて利用する機会ができたので、関連する概念の概要をまとめておこうと思います。 主に用語とその簡単な概要みたいな形になるかと思います。 Google Compute Engineとは Google Compute Engine(以降GCE)は、Google Cloud Platfor…

Portainerを利用して個人環境のコンテナ管理をする

Portainerとは PortainerはDockerホストのコンテナ等の情報をブラウザで確認・操作できるツールです。 知らずのうちに溜まっていくボリュームやイメージなどが視覚化されるので便利です。 またブラウザ上でコンテナにシェルでログインすることもでき、かなり…

MySQL(InnoDB)のインデックスについての備忘録

最近、インデックスについて調べることがあったので、忘れないうちに出来る限り情報を残しておこうと思います。 ちなみにMySQLのバージョンは5.5および5.6の情報を元にしています。 InnoDBにおけるインデックス インデックスの構造 B+Treeインデックス InnoD…

Buffetってライブラリを作ってみた

何ヶ月かこそこそと裏で作ってたライブラリを公開しました。 GitHub - naokirin/Buffet よくあるExcel式データ駆動開発で、ファイルやシートを横断的に検索するのがキツいというのを感じていたので、気軽にデータ定義をするだけでExcelに入っているデータを…

コミットを自動化する第一歩

釣りなう(ぉgit nowでのコミットをディレクトリの変更を wait_on コマンドで検知して、保存時に自動的にやってもらおうというだけだったりする。ビルド成功時のみ?テストが成功したら?なにそれおいしいの?トピックブランチに入ったら、管理するファイル…

私が使うGitコマンドまとめ のまとめ

12/1〜12/8までのGitの記事のリンクをまとめました。 さすがに、こういうページがないと自分でもつらい・・・私の使うGitコマンドまとめ 基本コマンド編私の使うGitコマンドまとめ 見る編私の使うGitコマンドまとめ ブランチ&タグ編私の使うGitコマンドまと…

私の使うGitコマンドまとめ 逆引き編

「私の使うGitコマンドまとめ」の記事を、逆引きとして使えるようにしてみました。 私がよく行っていることを「私の使うGitコマンドまとめ」の記事では書いていないオプションの組み合わせなども書きました。目次 HEAD、インデックス、ワーキングツリーを理…

Gitの基礎知識 コマンド以外に知っておくべきこと

Gitにはコマンド操作をする際に知っておくべきことが数多くあります。そのうちでも最低限知っておくべきことを書いてみることにしました。 Gitを使いこなすにはもっともっと必要な知識は数多くあります。 もっと知りたい方はいろいろと調べてみることをお勧…

私の使うGitコマンドまとめ その他編

それほど頻繁には使いませんが、ちょっとしたことで使うコマンドについてまとめます。 git update-index (リポジトリですでに管理しているファイルを無視する) git gc (リポジトリを最適化する) git fsck (リポジトリの正当性を調べる) git update-index (リ…

私の使うGitコマンドまとめ リモート編

今回はリモートリポジトリを操作するコマンドをまとめます。リモートリポジトリの操作は同じような操作をする際にもローカルリポジトリとは異なっていたり、お作法としてしてはいけないこともあります。 そういう点は気をつけて使ってみましょう。 git clone…

私の使うGitコマンドまとめ 歴史操作編

Gitでバージョン管理をしていく際に、どうしても間違ったコミットやバグを含む内容の修正、ブランチの統合などを行う必要があります。 そういうときに使えるコマンドを今回は書いていきます。ブランチのマージなどはブランチのまとめの方に書くべきかもしれ…

私の使うGitコマンドまとめ ブランチ&タグ編

バージョン管理システムではよく行われるブランチを切るということ。Gitでは分散バージョン管理であることを生かして、ローカルとリモート(中央リポジトリ)で違うブランチの状態を作ることが可能です。 つまりローカルで好きにブランチを切っておくことも…

私の使うGitコマンドまとめ 見る編

前回はGitを使う上で絶対に必要なコマンド(+オプション)について書いてみました。実際には他にも必要なコマンドはたくさんありますが、今回はそのうちでも「見る」ということに焦点を当てたコマンドをまとめてみようと思います。 git status (現在の状態を…