サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
Pixel 9
www.clear-code.com
本業の傍ら、「クリアコードをいい感じにする人」として働いているたなべです。「クリアコードをいい感じにする人」とは何かについては過去に『「クリアコードをいい感じにする人」の採用を開始』という記事や採用情報の『「クリアコードをいい感じにする人」』にて解説されています。 今回はその活動の中で最近取り組んでいる「共有するほど皆が得するモデルをつくりたい」という取り組みを説明します。興味を持ってくれる人・助けてくれる人と話すきっかけになることも期待しているので、記事を読んで話を聞いてみたい・してみたいと思った方は sunao.tanabe@gmail.com 宛に連絡をください。 「共有するほど皆が得するモデル」とはなにか 「共有するほど皆が得するモデル」とは、ソフトウェアに関わる人が増えれば増えるほど、そのソフトウェアに関わる人が得をするという、関わる人の増加と得られる恩恵に正の相関がある状態のこ
RubyKaigi 2024の2日目の夜に開催されたコード懇親会のお手伝いをした須藤です。 コード懇親会がどういうものかなどはコード懇親会の告知でまとめたので、ここでは今回の運営がどうだったかとかやってみてどうだったかをまとめます。 開催準備 アンドパッドの広瀬さんと一緒に準備を進めていました。イベントページを作ったりリポジトリーを作ったりいろいろ調整したりとか。広瀬さんとはOSS Gateを立ち上げてからは一緒になにかやる機会がなかったのですが、久しぶりに一緒にやれてよかったです。広瀬さんとやるのはすごく楽ですね! さくらインターネットさんが共催して会場を提供してくれたので、すぐに会場が決まりました。これは非常に助かったことです。RubyKaigiはいろいろな場所で開催されるので毎回その土地にある適切な会場を探す必要があります。しかし、何十人もノートパソコンを広げられて、WiFiも電源も
結城です。 近年、「オープンソースからの離脱」の事例が度々観測されています。 記憶に残る大きなニュースでは、2018年から2019年にかけてのRedis、MongoDBなどのプロジェクトの相次ぐライセンス変更がありました。 最近も、HashiCorp社がTerraformを非オープンソースライセンスに変更したことが話題となりました。 オープンソースからの離脱というわけではありませんが、RedHat社がRedHat Enterprise Linux(RHEL)のソースコードリポジトリの一般公開を取りやめて、ソースへのアクセスを自社のサポートサービス契約者のみに限定した事も、この流れと無関係ではないでしょう1。 このような状況を見ていて、「オープンソースって、もうアカンの? これからはSource Available?」「業務でオープンソース開発プロジェクトにコミットメントしても大丈夫なの?
株式会社クリアコード > ククログ > RubyKaigi 2023 - Ruby + ADBC - A single API between Ruby and DBs #rubykaigi 関連リンク: 動画(YouTube) スライド(Rabbit Slide Show) リポジトリー 内容 話した内容は前述のスライドと事前情報記事を参考にしてください。しばらくしたら話したときの動画が公開されると思うので公開されたらリンクを追加しておきます。 よかった話 今年は咳さんの話がよかったです。特に「Concurrency is everywhere」と「Sequential execution is a special case」がよかったです。咳さんは多くの人が「ふつう」だと思っていそうなことに「それは違うんじゃない?」という話をすることが多々あって(多々あるように私には見えていて)、今年
RubyKaigi 2023でRuby + ADBC - A single API between Ruby and DBsというADBCの話をする須藤です。RubyKaigi 2023での私の話をより理解できるようになるために簡単に内容を紹介します。2023-04-27に開催されたSMSさん主催のRubyKaigi 2023 予習イベント ~推しトーク紹介~でもちょっと紹介しました。 なお、クリアコードはシルバースポンサーとしてRubyKaigi 2023を応援しています。 関連リンク: スライド(Rabbit Slide Show) リポジトリー 背景 私はRubyが好きなのでデータ処理をするときもできるだけRubyを使いたいです。そのためにはRuby用のデータ処理ツールが必要です。ということで、Ruby用のデータ処理ツールを整備するプロジェクトRed Data Toolsを始めました
Rubyコミッターの須藤です。 2023年4月に「すでにRubyをよく知っている」人向けの書籍研鑽Rubyプログラミングが出版されました。私はRubyをよく知っているので読む資格があるはず! 内容 Jeremy Evansさんはもりもりコードを書いているRubyコミッターです。そんな人が書いた内容なので、上級者なら知っていそうだけど中級者は知らないかも?というレベルの情報がバンバン出てきます。初心者はついていけないでしょう。あるいは書いている内容を鵜呑みにしてしまうかもしれません。 しかし、ここに書いている内容を鵜呑みにしてはいけません。サブタイトルが「実践的なコードのための原則とトレードオフ」とある通り、一部は「原則」としてベースの考えとしてもいいものですが、そうでないものは「トレードオフ」として考えなければいけません。「トレードオフ」ということはあちらを優先するとこちらがおろそかになる
2023年1月に入社した屋代(ヤシロ)です。初の記事となります。 入社するまでと入社してからの「ビフォーアフター」を紹介します。 結果から述べますと、新しい職場を探し始めた時に希望していたことのほぼすべてが実現しました。 互いの需要と供給がマッチした幸運にも恵まれ、気持ちよく、快適に仕事をしています。 キャリアの概略 新卒で入社したSIerを退職した後、10年以上業界を離れていました。 首都圏からも離れ、兵庫県内にある実家近くに転居したのも同時期です。 その後いろいろあって、地元のハローワークで再びソフトウェア開発の求人に応募し、有期雇用契約でWebシステムのテスト、ドキュメントやリリース資材の作成と送付等の業務に就いたのが5年前のことです。 業務内容や環境面で不満はなく、四半期ごとに契約の更新も続き、小額ながら時給もたびたび上がっていったのですが、それでも地方でのレートは厳しく、生活的に
はじめに つい先日、GitHubのRSA SSHホスト鍵が突如差し替えられるという一件がありました。 We updated our RSA SSH host key 詳細に関しては識者による解説に委ねますが、ちょうどタイムリーな話題だったので、SSHをより安全に利用するという観点でおすすめ設定についていくつか紹介します。 なお、クリアコードではSSH以外にもおすすめzsh設定やおすすめEmacs設定という記事も公開しているので参考にしてみてください。 2023年5月11日更新:StrictHostKeyCheckingをyesにする場合の安全なknown_hostsの更新方法について追記しました。 おすすめ設定について クリアコードでは、.ssh/configのおすすめ設定を https://gitlab.com/clear-code/ssh.d にて公開しています。 これは、社内で.ss
PGroongaのサポートサービスを担当している堀本です。 PGroongaはPostgreSQLで高速に全文検索するための拡張ですが、 Amazon RDS や Azure Database for PostgreSQL などのマネージドなPostgreSQLでは使えませんでしたが 2022-12-16 からSupabase がPGroongaをサポートしました。 これによって、マネージドなPGroongaを使うことができます! Supabaseとは Supabaseは、Firebaseに代わるオープンソースのサービスです。PostgreSQLデータベース、認証システム、API機能、エッジファンクション、リアルタイムサブスクリプションやストレージなど、開発者がプロダクトを作るのに必要なバックエンドの全ての機能を提供します。PosgresSQLはSupabaseの中核をなしており、PGro
2020年に発表され、2021年のGoogle Chrome 88以降のバージョンで既に利用可能となっている、Chrome用拡張機能の仕様の大規模アップデートである「Manifest V3」では、それまであったwebRequestと呼ばれるAPIが廃止されています。 ですが、いつまで可能かという期間は明記されていないものの、主に法人運用向けとして、特定の条件を満たすことでこのAPIの利用を継続できるようになっています。 この記事では、webRequestによるブロッキングをManifest V3でも行う具体的な方法について解説します。 背景 webRequstは、ブラウザー上で発生したHTTP(HTTPS)の全リクエストを、あらかじめ登録しておいたリスナーで監視し、読み込みの中止・別のURLへのリダイレクト・まったく別のコンテンツの返却といった任意の操作をスクリプタブルに行える、非常に強力
株式会社クリアコード > ククログ > RubyKaigi 2022 - Fast data processing with Ruby and Apache Arrow #rubykaigi 関連リンク: スライド(Rabbit Slide Show) スライド(SlideShare) リポジトリー 内容 RubyKaigi Takeout 2021のRed ArrowのトークではRed Arrowを中心にできることをたくさん紹介しました。その発展形として今年は実際に使えそうな感じになっていることを紹介したかったので、高速データ処理機能にフォーカスすることにしました。が、採択されて資料を作り始めてみると「実際に使えそう」というには各機能の実装にもう少しブラッシュアップが必要なことがわかりました。なんと。。。 ということで、Apache Arrowを使って高速にデータ処理できる各種方法につい
9月の8, 9, 10日に三重で開催されたRubyKaigi 2022に現地参加してきた福田です。 今回初めて現地参加をして、Rubyってカッコ良い!面白そう!と感銘を受けました。 本記事では、RubyKaigiに参加して感じたことを紹介します。 私とRuby 去年クリアコードに転職してきた私ですが、クリアコードの採用プロセス時に初めてRubyを触り出しました (クリアコードはRubyを得意としています1)。 なので、Rubyを触り出して1年くらいになります。 この1年は、主にFluentdのサポート2を通してRubyを触ってきました。 前職で主にC#やPythonやTypeScriptを扱っていた自分にとって、一番大変だったのは型を管理しない点でした。 Pythonでは型アノテーションを積極的に使っていましたし、他の言語でも型を宣言してコードを管理することが当たり前の世界でした。 なので
2022年6月29日にFluentdの最新版となるv1.15.0をリリースしました。 クリアコードはFluentdの開発に参加し、リリースを含めたメンテナンス作業を行っています。 今回はv1.15.0で追加された新機能を中心に紹介します。 CHANGELOG リリースアナウンス Fluentd v1.15.0の新機能 YAML形式の設定をサポート Fluentdの設定ファイルは、Apacheのhttpd.confの形式を模して、ディレクティブから成る形式を用いていました。 従来のFluentdの設定ファイルについて Apache HTTP サーバの設定ファイルについて 一方で以前から、YAMLやJSONなどのより一般的な形式を使いたいという声も挙がっていました。 Issue#554 本バージョンから、Kubernetesとの親和性を考慮して、YAML形式の設定ファイルも使用できるようになり
クリアコードに入社して半年強ほど経過した福田です。 今回は、入社した経緯や、クリアコードで働いてみて思ったことをご紹介します。 いろいろお話ししたいことはありますが、やはり何と申しましてもクリアコードといえば「フリーソフトウェアで稼ぐ」という理念です。 この理念自体、斬新さ、面白さ、やりがい、等々多くのことを味わえるものですが、 「エンジニアとしてオープンな開発をできる」ということも非常に魅力的です。 現在一緒に働く人を募集しているので、少しでもクリアコードの仕事に興味のある方はぜひご覧ください! 入社のきっかけ プログラミングは高校生の頃から好きでした。当時ちょうど話題だったHSP言語1でゲーム作りにハマったり、 Minecraft2にコンピュータやロボットを導入するmod3を入れて、木こりや畑作業などを自動化するプログラムを書いて楽しんだりしていました。 大学を卒業すると、ソフトウェア
最近、フリーソフトウェア(オープンソースソフトウェア)をいざ公開しようと思った時に、ライセンスの扱いに困った福田です。 ライセンスには様々な種類があり、シンプルなライセンスもあれば制限の強そうなライセンスもありますよね。私は最初、自分で選ぶならシンプルで制限が少ないライセンスの方が良いかな、と深く考えずに思ってしまいました。しかし、制限が強いということは、それだけ強い保護が受けられる、ということでもあると知り、世界がひっくり返ったような衝撃を受けました。 ライセンスには様々な種類があり、そこには様々な考え方がありますが、今回はフリーソフトウェアを大事にしたい場合のお勧めのライセンスの選び方や、使い方を紹介します。 フリーソフトウェアとは フリーソフトウェア1とは、ユーザーが自由に使えるソフトウェアのことで、自由(な)ソフトウェア、などとも呼ばれます2。オープンソースソフトウェア(OSS)と
xrdpはWindowsのリモートデスクトップ接続を使ってLinuxに接続できるようにするソフトウェアです。 今回は、サイバートラスト株式会社様からの発注を受けて開発した、クリップボードの挙動をより細かく制御する機能を紹介します。 xrdpでは、クリップボードを経由してテキスト・画像・ファイルのコピーを双方向で行えます。 しかし、企業で利用する場合には、容易にデータを持ち出せてしまうので、この機能が問題となることがあります。 そこで、要件に応じてより細かくクリップボードの挙動を制御できるようにする必要がありました。 これまでのxrdpでできていたこと 従来のxrdp (0.9.18まで)でも、クリップボードの機能を制限する仕組みはありました。 それが、/etc/xrdp/sesman.iniのRestrictOutboundClipboardという設定です。 [Security]セクション
結城です。 2022年2月25日に開催されたREDMINE JAPAN vol.2において、「Redmineを使った技術サポートサービスの運用効率改善事例」と題した発表を行いました。 当日の発表内容を改めてご紹介します。 スライド(Rabbit Slide Show) リポジトリー 背景 当社では「自由と稼ぐの両立」を理念として掲げています。 ここでの「自由」は「自由なソフトウェア」のことで、ビジネス的に分かりやすく言えば「OSSビジネス」ということになります。 OSSでのお金の稼ぎ方には色々ありますが、当社では以下の2つが中心となっています。 受託開発:ご依頼に基づいて何らかのソフトウェアを開発し、事前の相談あるいは事後のご了承に基づいて、その成果をGPLなどのライセンスで公開する。 技術サポート:「公式には法人向けの有償サポートを提供していないOSS開発プロジェクト」と「運用上のトラブ
Apache Arrowの開発に参加している代表取締役の須藤です。 2016年からかれこれ6年くらい開発に参加しているApache Arrowプロジェクトなんですが、このたび私がPMC chairになりました!すごくない? アナウンスメール:[ANNOUNCE] New Arrow PMC chair: Kouhei Sutou PMC chair Apache Software Foundation傘下のプロジェクトのことを知らない人からすれば「PMC chairってなに?」だと思うので、まずそのへんを説明します。 Apache Software Foundation傘下の各プロジェクトはそれぞれProject Management Committee(プロジェクト管理委員会)が管理することになっています。PMCがすることはコードを書くこと、ではありません!健全なコミュニティーを維持する
要約:OSS開発プロジェクト運営者の側でとれる対策はいくつかあるよ。issueは基準を設けてどんどん閉じてしまおう。GitHubならActionsで自動化も簡単だよ。自動テストを整備するように、必要なコストだと思って割り切るといいよ。 結城です。 GitHub Actionsに関することならなんでもありらしいアドベントカレンダーとのことでしたので、ほんのちょっとかすっているだけではありますが、4日目にエントリーさせて頂きます。 「軽率に寄せられる報告や要望がOSS開発者を疲弊させる」という問題について語るOSS開発者は少なくないです。私の観測範囲内では最近も、イシュートラッカーにissueを立てようとすること自体に待ったをかける記事1や、「要望には初手で『なぜ自分で実装しない?』と訊ね、次に『継続的にメンテナンスしてくれるの?』と訊ねるドライな対応がおすすめ」という趣旨に受け取れる発言など
クリアコードでコードを書く以外の仕事をしている吉本です。 米国に留学していたので、英語の読み・書き・話す・聞くについては、差し支えなくできることが、セールスポイントです。 さて、クリアコードでは、いろいろなソフトウェアの開発やコミュニティサポートを行っています。 技術の世界に足を踏み入れたばかりだと、日本語でも、英語でも知らない単語や、知っていると思っていたのとは違う意味の単語に日々であっています。 そういった、知っているようで知らない単語や英単語などを集めて、用語集をつくりはじめました。 はじめに クリアコードの情報公開ポリシーは「デフォルトで公開」です。公開してはいけない情報以外は公開ということです。このブログも同様に技術情報などを中心に発信をしています。 技術の世界とあまり縁のなかった私は、業務に携わる中で、理解ができなかった単語について、質問したり、検索したりして調べています。私は
結城です。 2021年9月13日から14日にかけて、東京都立大学の大学院生向け特別講義として「リーダブルコード演習」を実施しました。 演習の内容は、当社でこれまでにも行ってきているリーダブルコードワークショップを、プログラミング経験が比較的浅い・プログラミングの量がまだそれほど多くない方向けに調整した内容としました。 この記事では、実施した演習の概要と、今回意識した点を紹介します。 本文が長いため、目次を用意してみました。 発端 演習の構成 座学パート リーダブルなコードを書く意義について リーダブルコードを実践するためにまず取り組むべきこと 実際の現場での「コードがリーダブルでなくなってしまった」「リーダブルになるよう改めた」実践例 最初の実装 リーダブルでなくなった実装 リーダブルさを取り戻すための改修 コードがリーダブルでなくなっていってしまう要因 壊すのが怖くて、見て見ぬフリ 恐怖
RubyKaigi Takeout 2021でRed Arrow - Ruby and Apache ArrowというApache ArrowのオフィシャルRubyライブラリーの話をする須藤です。RubyKaigi Takeout 2021での私の話をより理解できるようになるために内容を紹介します。 なお、クリアコードはゴールドスポンサーとしてRubyKaigi Takeout 2021を応援しています。ゴールドスポンサーになるとチケットをもらえるのですが社内では使い切れないので欲しい人にあげます。2名分あります。応募方法はこの記事の最後を参照してください。 関連リンク: 動画(YouTube) スライド(Rabbit Slide Show) スライド(SlideShare) リポジトリー 背景 私はRubyが好きなのでデータ処理をするときもできるだけRubyを使いたいです。が!残念ながら
株式会社クリアコード(本社:埼玉県所沢市、以下クリアコード)は本日、オープンソースソフトウェア『Fluentd』プロジェクトの開発・メンテナンスにおいて、トレジャーデータ株式会社(本社:東京都千代田区、以下トレジャーデータ社)が担当していた活動を引き継ぎ、開発体制を強化することをお知らせします。 『Fluentd』は2011年にトレジャーデータ社によって開発の始まったオープンソースソフトウェア(以下OSS)プロジェクトで、クリアコードは2015年9月から同プロジェクトに参加。コミュニティサポート、プラグインのメンテナンスといった活動を開始し、以降『Fluentd』本体の不具合修正、機能拡張、ドキュメント整備など活動範囲を拡大してきました。法人向けの各種サービスも提供しており、トレジャーデータ社と協働で、トレジャーデータ社の顧客に対する『Fluentd』の導入支援等も行っています。また、20
先日、当社の法人向けFLOSSサポート業務の一環として、Google Chromeのドキュメント化されていない仕様について調査のご依頼を頂きました。 具体的には、インストール済みの拡張機能の自動更新について、 更新を停止する方法はあるかどうか。 自動更新処理はどの程度の間隔で実行される仕様か。 というお問い合わせでした。 本記事では、これらのお問い合わせに回答するために何をどのように調査したかの紹介を通じて、詳細を把握していないOSSのソースコードの歩き方の例を示してみます。 まずはWeb検索 前者については、「Google Chrome extension update disable」といったキーワードでWeb検索を行ったところ、Chromiumのイシュートラッカー上にあった拡張機能のバージョンを固定できるようにして欲しいという要望が見つかり、そこに記載されている内容から、「現時点では
apt-key(8)はapt 2.1.8より非推奨となりました。 Ubuntu 20.10 (Groovy)やそろそろリリースの時期が近づいてきたDebian 11(Bullseye)からはapt-keyを利用すると警告されます。 Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8)). 今回はapt-keyを使うのをやめて、代替手段へと(パッケージ提供側が)移行する方法について紹介します。 apt-keyはどのような挙動をするのか ソフトウェアを簡単にインストールできるように、開発元が独自にAPTリポジトリを提供してくれている場合があります。 その場合、パッケージの署名に使っている公開鍵をあらかじめインポートするように指示していることがあります。 apt-
結城です。 OSSプロジェクトへのコントリビュートの「べからず集」記事について、まだ要領を掴めていない人が「自分のしようとしていることもそれにあてはまるのではないか?」と心配になってコントリビュートをためらうことがないように、具体的な例と考え方を紹介するシリーズの3本目です。前回(2回目)に続き、今回は3つ目の「べからず」として挙げられている、いきなり作業を始めるべきではないという話について説明します。 3. 了承なしに作業を始めない(コンセンサスを得てから開発に着手する) この記事をご覧になっている皆さんの中には、「実際にコードを書いて、早くOSS開発に参加したい」という思いが強い人もいるでしょう。また、「英語の読み書きは苦手だけれどもコードなら書ける」ということで、端的にコードの提供だけで済ませたい人もいると思います。筆者もかつてはそのように考えていて、言葉での説明を煩わしく感じていま
PostgreSQLに超高速な日本語全文検索機能を追加するPGroongaを開発している須藤です。今回はPGroongaやpg_bigmなど拡張モジュールを使わずにPostgreSQLの組み込み機能だけで日本語全文検索を実現する方法を紹介します。PGroongaを使う方法はRuby on RailsでPostgreSQLとPGroongaを使って日本語全文検索を実現する方法を参照してください。 Heroku PostgresなどDBaaSとして提供されているPostgreSQLではPGroongaを使えません。(DBaaSとして提供しているベンダーがPGroongaをインストールしてくれないから。)PostgreSQLの組み込み機能だけでは日本語全文検索を満足に実現することができないので、DBaaSのPostgreSQLを使っていると次のように日本語全文検索で困ってしまいます。 日本人のプ
クリアコードの藤本です。 私たちの業務では、よく「データを集計する」という仕事が発生します。 例えば、最近の改修の効果を測定するために、過去ログからリクエストの成功率を測定したり、 お客様への業務報告のために、チケットシステムから直近の稼働状況を集計したりします。 もちろん、同じようなタスクが定型的に発生するようであれば、専用のスクリプトを作り込むのですが、 この種類のタスクは単発限りで結果が取れればよい、ということが少なくありません。 私(筆者)は、このようなタスクがある時は、Unixの標準ツール(とPython)を使って集計しています。 今回の記事では、具体的にどのように集計を行っているかを紹介したいと思います。 例: シェルでコマンドの実行回数を集計する 実際のタスクに適度に近い例として、「コマンドの実行履歴を集計する」というタスクを例に 集計のやり方を説明したいと思います。 bas
はじめに クリアコードはFluentdの開発に参加しています。 Fluentdは主にLinux上やWindows Server上でのユーザーが多いです。 Fluentdの使われ方で特に多いのがLinuxで動いているサーバーのログの取得です。 筆者畑ケがFluentdでLinuxのcapabilityを扱えるようにした話をまとめてみます。 FluentdでLinuxのcapabilityを扱う機能はFluentd v1.12.0に入る予定です。 capabilityとは Linuxにはcapabilityという権限チェックを部分的にバイパスする機能があります。 この機能は、rootまでの権限は欲しくないけれど、システムの特定のパーミッションがあるように振る舞うユーザーやプロセスが欲しい時に有用です。 例えば、Linuxのsyslogのログファイルが/var/log/syslogにあるとすると
次のページ
このページを最初にブックマークしてみませんか?
『クリアコード - ソフトウェアの開発・技術支援(Groonga/Fluentd/Apache Arrow)』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く