コード懇親会 はアンドパッド様とクリアコード様が主催する、通常の懇親会とは一味違ったコンセプトのイベントです。一般的な懇親会では参加者同士が飲食しながら会話を楽しむ形式が多いですが、コード懇親会はその名の通り「コード」を軸にした交流の場とな…
Rubyには、parse.yからパーサージェネレータを使って生成したパーサーと、手書きパーサーであるPrismの2種類のパーサーが存在します。 本セッションでは、「オートマトン学習」という技術を用いてこれら2つのパーサーの間の互換性の問題を発見したことについ…
RubyKaigi 2025 DAY2 の @asonas さんによる "How to make the Groovebox" というセッションについて紹介させていただきます。私自身は音楽制作をしたことがない初心者です。専門用語や理論について誤った解釈がある可能性があります。ご理解をお願いします…
今回は RubyKaigi 2025 の二日目のセッション、junk0612 さんの「The Implementations of Advanced LR Parser Algorithm」について内容を紹介させていただきたいと思います。junk0612 さんは Ruby で実装された parser generator である Lrama のコミッター…
今回は、RubyKaigi 2025 で開催された「TRICK」というイベントに参加した経験と、自分の作品について紹介させていただきます。TRICK (Transcendental Ruby Imbroglio Contest for rubyKaigi) は、Ruby の言語特性を活かした技巧的なプログラミングを競うコン…
2024年04月18日、弊社ではOSS Gate ワークショップというイベントを開催しました。このイベントは新卒向けの内容であり、講師として株式会社クリアコード様をお招きし、OSSにIssueを立てて実際にPull Requestを作成するまでを伴走していただく内容でした。詳…
ジョブハウスは、工場やドライバーなどの仕事を探すことができる求人メディアです。 今日は、「この求人を見た人は他にもこんな求人を見ています」というレコメンド施策を例に、ABテスト基盤の実装やABテストを利用した結果ついて紹介します。
今日は、ジョブハウスで使用している Ruby on Rails の ViewComponent を用いて UI コンポーネントを実装する際に利用しているライブラリを紹介します。 ViewComponent(UI コンポーネント)× Lookbook(プレビュー)× rspec-snapshot(スナップショットテス…
2023年10月にリリースしたジョブハウスアプリは、FlutterとGraphQLを組み合わせたモバイルアプリとして開発を進めています。ユーザーが手軽に求人情報を検索・応募できるように毎月機能を追加しながら、成長を続けてきました。この記事では、アプリをさらに…
みなさんはモノづくりが好きですか?私は好きです。モノを作る過程は楽しいですし、自分の作ったモノが世の中を良くできたら嬉しいですし、うまくいったらお金ももらえます。最高ですね。起業する前の個人開発時代から考えると約15年間モノづくりに関わって…
今回は、社内で利用しているWebブラウザベースのVoIPサービス「CallConnect (以下、コールコネクト)」における通信不安定の問題と、その解決に至る過程を共有します。TechouseではWebブラウザベースのコールコネクトを利用し、セールス担当者・カスタマーサ…
定義:主体とは「ものごとに変化を生み出す力の源泉」である 「主体性がある」とは、ものごとに変化を与える性質があるということである。 「主体的である」とは、ものごとに変化を与えようとする振る舞いをしているということである。 主体というのはエネル…
最近関わった機能開発において、JavaScriptを使ってフロントエンドのコードを書く機会がありました。 本記事では、そのJavaScriptコードの単体テストを書く際に苦戦した理由と、テストを書きやすくするために行った工夫を書いていきます。Jestは、JavaScript…
Techouse では AWS をフル活用してサービスを提供していますが、利用しているサービスの1つに Amazon Neptune があります。 Amazon Neptune 、ご存知でしょうか? Amazon Neptune は高速かつ、高い可用性とスケーラビリティをもつフルマネージドのグラフデー…
今回はクラウドハウス労務のメンテナンス中に起きた事件と、今後同じ事件が起きないようにするために講じた対策について紹介します。ある日私たちはデータベースのメンテナンスを行いました。来たる新機能のために必要な新規テーブルを追加したり、既存のテ…
弊社では、大企業向けのSaaSプロダクトを複数運営しており、安定した品質で日々のサービスを提供するために、プロダクトのコーディングにおいてテスト駆動開発(TDD)を推進しています。また、継続的インテグレーション(CI)を導入することで、テストに通ら…
本記事では、私が弊社で主催したイベント「テスト技法勉強会 2024」を紹介します。ソフトウェア開発に必要な、基礎的なテスト技法の習得を目的とした勉強会です。解説だけでなく演習にも重きを置き、業務にもすぐ生かせるような実践的内容を取り扱っています…
今回はパフォーマンスモニタリングの強化のために導入した APM(Application Performance Monitoring)サービスの AWS X-Ray と RUM(Real User Monitoring) サービスの Amazon CloudWatch RUM をご紹介させていただきます。ウェブアプリケーションのユーザー体…
こんにちは。2024 年 5 月からインターン生として開発に携わっている maczac150 です。 先輩方から受けるコードレビューの中で、命名についてのご指摘を頂くことがあります。自分はネーミングセンスが良くないからなあと思うときはありますが、磨けるものだ…
この記事では自身が携わっているプロダクトであるクラウドハウス採用のデザインや実装をしていく中で、参考にしていた本やサイトの話をさせていただきます。こんな方に読んでいただけると幸いです。デザインに興味はあるものの、何から学べばいいか迷ってい…
先日初めてテストを書く機会があったのですが、私は書き方を習得するまでに非常に苦労しました。そこで今回は初心者の目線で、テストを書くときに苦労した話を書こうと思います!私と同じような未経験エンジニアの方々は共感してくれるのではないかと思いま…
Techouse では技術責任者の山崎による任意参加の社内勉強会を隔週で行っており、そこでは OS・ネットワーク・データベース・ハードウェア・セキュリティ・システムアーキテクチャなど、エンジニアとして基礎的な知識が学べます。ここで先日、メカニカルシン…
弊社では、数万件におよぶ自動テストをGitHub Actionsを利用してランダム実行しています。並列実行されるテストにおいて、特定の順序で実行されると一部のテストが失敗するケースがありました。私がその原因を調査し、修正に取り組むことになったのですが、…
現在環境変数を使って秘密情報を渡す手法は非推奨となっており、Docker Secretsを利用してコンテナに秘密情報を渡す手法が推奨されています。これはなぜでしょうか。本記事では、Docker Secretsを活用して機密情報を安全に受け渡す方法について解説します。…
Techouseに入社して純粋に思ったこととして、「セキュリティ意識が高いなぁ…」と思いました。 過去に勤務した経験のあるどの組織よりもセキュリティ意識がしっかりしていると感じました(もちろん近年はセキュリティ意識をより求められているというのもあり…
弊社が提供するATSサービス『クラウドハウス採用』では自由度高くウェブサイト制作が可能という特徴があります。画像も自由に利用することができるため、1ウェブサイト作るのに少なくとも50ファイル以上の画像を利用されるお客様がほとんどです。 その際、…
先日、新機能の開発を進める中で、ファイルへの書き込みを扱うコードを書く機会がありました。 その際、Ruby でファイル書きこみを行う際のバッファリングの仕組みと、それを制御する IO#flushとIO#fsyncというメソッドに改めて注目することになりました。 …
私事ですが、この秋に、2ヶ月ほど「ペアプログラミング」なるものを初めて行いました。今回はその経験をまとめるとともに、ペアプロの魅力について自分なりに語って参ります。24年10月に新卒入社する直前までインターンとして働いていた私ですが、年末調整で…
本日は私の携わっているプロダクトであるクラウドハウス労務で行っているエンジニア長期インターン生のオンボーディングの効率化について紹介します。
今年5月、Techouse は「RubyKaigi 2024」に参加しました。RubyKaigi 2024 への参加はとても勉強になることが多く、エンジニアとして成長に対してとても有意義な時間でした。そこで、社内でも「成長や挑戦につながるイベントを企画してみよう!」ということで…