ククログ(15)

株式会社クリアコード > ククログ > ククログ(15)

フリーソフトウェア・OSS開発プロジェクトでよく見られるブランチ運用

結城です。

GitやGitHubといった便利なツール、Git FlowやGitHub Flowなどのブランチ運用ルールが普及したことで、今では「初めて入社した会社でGitを教わり、GitHub Flowで開発を覚えました」という方も多いのではないでしょうか。

それらのブランチ運用ルールに比べて簡素なブランチ運用として、トランクベース開発(Trunk Based Development)と呼ばれるスタイルがあります。 そのブランチ運用のあまりに簡素な様子に、GitFlowやGitHub Flowなどに親しんできた方は驚かれる場合もあるようです。

当社ではGitLab.comのclear-codeのグループGitHubの同名グループ、あるいは個々のプロジェクトごとのグループなどで、フリーソフトウェア開発プロジェクトのリポジトリを公開しています。 また、メンバー個々人も個人で開発しているソフトウェアを同様に公開していることがあります。

この記事では、それらのリポジトリで採用していることが多い1トランクベース開発において、具体的にどのようなブランチ運用を行っているかを図を交えてご紹介します。 (特別に何か優れた運用を行っているから紹介するというわけではなく、社内向けの説明資料としての性質が強い記事です。)

  1. 具体例としては、GroongaFluentdmilter managerなどが該当します。

もっと読む

「クリアコードで働く」私のビフォーアフター

2023年1月に入社した屋代(ヤシロ)です。初の記事となります。

入社するまでと入社してからの「ビフォーアフター」を紹介します。

結果から述べますと、新しい職場を探し始めた時に希望していたことのほぼすべてが実現しました。 互いの需要と供給がマッチした幸運にも恵まれ、気持ちよく、快適に仕事をしています。

もっと読む

おすすめ.ssh/config設定

はじめに

つい先日、GitHubのRSA SSHホスト鍵が突如差し替えられるという一件がありました。

詳細に関しては識者による解説に委ねますが、ちょうどタイムリーな話題だったので、SSHをより安全に利用するという観点でおすすめ設定についていくつか紹介します。

なお、クリアコードではSSH以外にもおすすめzsh設定おすすめEmacs設定という記事も公開しているので参考にしてみてください。

2023年5月11日更新:StrictHostKeyCheckingyesにする場合の安全なknown_hostsの更新方法について追記しました。

もっと読む

【採用関連情報】クリアコードの会社説明会 ver.2023

クリアコードで、コードを書く以外の仕事をしている吉本です。

クリアコードでは、エンジニアの採用を行っています。

クリアコードの採用プロセスは、少し(かなり?)独特な部分があります。一般的な書類選考から面接を行うのではなく、まずは会社説明会を実施し、つぎにパッチ採用を行っています。

この記事では、2023年時点の採用プロセス「会社説明会」に関して詳しくご紹介します。

もっと読む

YAPC::Kyoto 2023:Perlと全文検索エンジンGroongaでMySQLのデータを高速に全文検索する #yapcjapan

Groongaサポートサービスを担当している堀本です。

2023年03月19日(日)にYAPC::Kyoto 2023が開催されます。 「Perlと全文検索エンジンGroongaでMySQLのデータを高速に全文検索する」という題名で、PerlとGroongaを使ってMySQLのデータを高速に全文検索する方法を紹介します。

もっと読む

Firefoxでウェブからダウンロードしたファイルの扱いを指定する方法

はじめに

Firefoxにはダウンロードしたファイルをどのアプリケーションで扱うか指定するためのポリシーがあらかじめ用意されています。 そのため、特定の拡張子のファイルを任意のアプリケーションで開くようにあらかじめカスタマイズする、というようなことができます。

今回は、Firefoxでウェブからダウンロードしたファイルの扱いをポリシーを使ってカスタマイズする方法を紹介します。

もっと読む

第二回クリアコード・万葉合同ボウリング大会

付け焼刃のボウリング講座を受けて、概念と理想だけを詰め込んで第二回合同ボウリング大会に参加した吉本です。

2020年の第一回合同ボウリング大会に続いて、しばらくぶりの開催でした。

もっと読む

メールフィルタープラグインであるmilterをPythonで簡単実装! - milterを実装できるようになろう編

以前の記事で、milter managerというメールフィルタを管理するための自由ソフトウェアを、GObject Introspectionに対応させてバインディングを生成することについて紹介しました。

milter managerは従来からRubyでmilterを作るためのライブラリーを提供してきましたが、今回のGObject Introspection対応によって、Pythonでmilterを作るためのライブラリーも提供するようになりました。

前回の記事では、実際にPythonで書いたmilterを動かしてみることについて紹介しています。

今回は、milter managerの機能を使ってPythonでmilterを作る方法について詳しく紹介します。

なお本記事の内容は、milter manager v2.2.5についての説明になります。

もっと読む

メールフィルタープラグインであるmilterをPythonで簡単実装! - milterを動かしてみよう編

前回と前々回の記事では、milter managerというメールフィルタを管理するための自由ソフトウェアを、GObject Introspectionに対応させてバインディングを生成することについて紹介しました。

milter managerは従来からRubyでmilterを作るためのライブラリーを提供してきましたが、今回のGObject Introspection対応によって、Pythonでmilterを作るためのライブラリーも提供するようになりました。

今回は、milter managerの機能を使ってPythonで書いてみます。 また、書いたmilterを実際に動かす方法も紹介します。

もっと読む

GObject Introspectionによるバインディングの(ほぼ)自動生成

前回、Mesonを使ってGObject Introspection対応のビルドシステムを構築する方法の記事で、Mesonを使ってGObject Introspection対応のビルドシステムを構築する基本的な方法を、milter managerというメールフィルタを管理するための自由ソフトウェアを事例に説明しました。

GObject Introspectionに対応することで、RubyやPythonなどのバインディングを(ほぼ)自動で生成できます。 milter managerは、これによって生成したPythonバインディングを利用することで、Pythonでmilterを作るためのライブラリーを提供できるようになりました。

今回は、GObject Introspectionによるバインディングの生成と利用について紹介します。

もっと読む