Advent Calendar 2024
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 への参加はとても勉強になることが多く、エンジニアとして成長に対してとても有意義な時間でした。そこで、社内でも「成長や挑戦につながるイベントを企画してみよう!」ということで…
弊社Techouseには、素質ある多くのエンジニアインターンが在籍しています。エンジニアインターンの文化については、こちらの記事をご参照ください。彼らは将来優秀なエンジニアになることが期待される「金の卵」であり、各事業部に配属されています。しかし…
今回は、localStorage に保存された値を検証する場面で、Zod の parse 関数を利用した方法を紹介します。 筆者はこれまで localStorage から取得した値のパースに、JSON.parse を使っていましたが、Zod の parse 関数と組み合わせることで、より型安全に値を…
みなさんはRBS::Inlineをご存知でしょうか。 RBS(Rubyに型システムを導入するインターフェース言語)をコメントから生成出来るようにしたものです。 先日参加したRubykaigi 2024 follow upというイベントでRBS::Inlineを知り、これはいいものだと早速私は会社…
本記事では、私が設計・実装を担当した2FA機能について、開発中に得られた知見や学んだことについて紹介します。クラウドハウス労務では企業向けの人事労務管理サービスを提供しています。利用企業は従業員に対してアカウントを払い出し、従業員は自身のアカ…
Ruby on Rails の Active Storage は お手軽に画像ファイルなどをクラウドストレージに保管できる便利なライブラリです。しかし正しく利用するにはクラウドストレージの仕様やWeb標準への理解が必要不可欠です。今日はそんなActive Storageを使って、Amazon …
私が携わっている開発チームの中には、現在20名近くのインターン生が在籍しております。インターンは企業によってさまざまな形態がありますが、Techouseのインターンは、長期インターン(本人の希望にもよる、大学・大学院を卒業するまでずっと)である、プ…
本日は、異なる Amazon ECS Service のコンテナイメージの整合性を確認するために Sidekiq Middleware を使用した話を書きます。クラウドハウス労務は、企業の人事労務業務を支援するクラウドサービスです。企業に属する従業員の情報を集めるため扱うデータ…
先日、自身の参画しているプロジェクトの Ruby のバージョンが 3.3.5 に更新されました。これに伴い、手元の開発環境にも Ruby 3.3.5 を install しようと思いました。 開発環境では Ruby のバージョン管理マネージャとしてrbenvを利用しております。
今回の記事では「エンジニア100人に聞きました」を実施いたします。 「エンジニア100人に聞きました」とは、10年以上前にサイボウズ社を中心に行われた会社を跨いだコラボ企画であり、各社のエンジニアの気風を紹介し合った取り組みになります。