ククログ(12)
事前情報:RubyKaigi 2023 - Ruby + ADBC - A single API between Ruby and DBs #rubykaigi
RubyKaigi 2023でRuby + ADBC - A single API between Ruby and DBsというADBCの話をする須藤です。RubyKaigi 2023での私の話をより理解できるようになるために簡単に内容を紹介します。2023-04-27に開催されたSMSさん主催のRubyKaigi 2023 予習イベント ~推しトーク紹介~でもちょっと紹介しました。
なお、クリアコードはシルバースポンサーとしてRubyKaigi 2023を応援しています。
トランクベース開発での競合の解消の仕方
結城です。
1つ前の記事では、フリーソフトウェア・OSS開発プロジェクトで採用されていることの多いブランチ運用スタイルである「トランクベース開発」の概要を紹介しました。
どのようなブランチ運用を取っていても、チームでの開発で複数人で並行して作業していると、変更同士が競合1しがちです。 しかし、競合を解消する方法をインターネットで検索して、見つけた記事に書かれたコマンドをやたらめったらコピペ実行しても、期待した結果を得られなかったり、ともすれば作業の成果を失ってしまったりもします。 競合を解消するためには、それぞれのブランチがどのような関係にあるかを正確に把握した上で、的確に操作しなくてはなりません。
この記事では、トランクベース開発で運用されているGitリポジトリで起こりやすい競合の場面のそれぞれについて、競合を解消するための考え方と具体的な手順を解説します。
-
例えば双方が同じファイルの同じ行を変更していた場合、行単位で変更を管理するGitではどちらの変更を先に適用しても支障が生じるため、何らかの解決が必要です。また、変更した行が極めて近接している場合も、Gitは双方の変更をうまく1つにまとめられず、解決が必要になることがあります。このような状況は「衝突」や「コンフリクト」とも言い、ここでは「競合」に統一することにします。 ↩
研鑽Rubyプログラミング
Rubyコミッターの須藤です。
2023年4月に「すでにRubyをよく知っている」人向けの書籍研鑽Rubyプログラミングが出版されました。私はRubyをよく知っているので読む資格があるはず!
Open Build Serviceを利用してパッケージを公開する方法
はじめに
自由なソフトウェアを開発・配布する際、パッケージを作成し、独自にリポジトリを公開するということがあります。 導入障壁を下げ、より多くの人に使ってもらいやすくするという意味では有用です。 その反面、aptやdnfコマンドでパッケージをインストールできるようにするために、リポジトリの公開まですべて自前で頑張ろうとするのはなかなか大変です。
そこで、パッケージの作成や配布のサービスを提供しているOpen Build Serviceのインスタンスを利用する方法を紹介します。(本記事は、debやrpmといったパッケージをビルドしてみたことがある人を想定しています)
Fluentd v1.16.0 と v1.16.1 をリリースしました!
こんにちは。最近Fluentdのメンテナーになった福田です。
2023年4月17日にFluentdの最新版となる v1.16.1 をリリースしました。 2023年3月29日にリリースした v1.16.0 と合わせて、その内容をメンテナーの観点から解説します。
なお v1.16.0 では設定次第でFluentdが起動に失敗するという問題があるので、 v1.16.1 をご利用ください。
フリーソフトウェア・OSS開発プロジェクトでよく見られるブランチ運用
結城です。
GitやGitHubといった便利なツール、Git FlowやGitHub Flowなどのブランチ運用ルールが普及したことで、今では「初めて入社した会社でGitを教わり、GitHub Flowで開発を覚えました」という方も多いのではないでしょうか。
それらのブランチ運用ルールに比べて簡素なブランチ運用として、トランクベース開発(Trunk Based Development)と呼ばれるスタイルがあります。 そのブランチ運用のあまりに簡素な様子に、GitFlowやGitHub Flowなどに親しんできた方は驚かれる場合もあるようです。
当社ではGitLab.comのclear-codeのグループやGitHubの同名グループ、あるいは個々のプロジェクトごとのグループなどで、フリーソフトウェア開発プロジェクトのリポジトリを公開しています。 また、メンバー個々人も個人で開発しているソフトウェアを同様に公開していることがあります。
この記事では、それらのリポジトリで採用していることが多い1トランクベース開発において、具体的にどのようなブランチ運用を行っているかを図を交えてご紹介します。 (特別に何か優れた運用を行っているから紹介するというわけではなく、社内向けの説明資料としての性質が強い記事です。)
-
具体例としては、GroongaやFluentd、milter managerなどが該当します。 ↩
「クリアコードで働く」私のビフォーアフター
2023年1月に入社した屋代(ヤシロ)です。初の記事となります。
入社するまでと入社してからの「ビフォーアフター」を紹介します。
結果から述べますと、新しい職場を探し始めた時に希望していたことのほぼすべてが実現しました。 互いの需要と供給がマッチした幸運にも恵まれ、気持ちよく、快適に仕事をしています。
おすすめ.ssh/config設定
はじめに
つい先日、GitHubのRSA SSHホスト鍵が突如差し替えられるという一件がありました。
詳細に関しては識者による解説に委ねますが、ちょうどタイムリーな話題だったので、SSHをより安全に利用するという観点でおすすめ設定についていくつか紹介します。
なお、クリアコードではSSH以外にもおすすめzsh設定やおすすめEmacs設定という記事も公開しているので参考にしてみてください。
2023年5月11日更新:StrictHostKeyChecking
をyes
にする場合の安全なknown_hosts
の更新方法について追記しました。
【採用関連情報】クリアコードの会社説明会 ver.2023
YAPC::Kyoto 2023:Perlと全文検索エンジンGroongaでMySQLのデータを高速に全文検索する #yapcjapan
2023年03月19日(日)にYAPC::Kyoto 2023が開催されます。 「Perlと全文検索エンジンGroongaでMySQLのデータを高速に全文検索する」という題名で、PerlとGroongaを使ってMySQLのデータを高速に全文検索する方法を紹介します。