サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
体力トレーニング
developers.techouse.com
はじめに 初めまして、株式会社Techouseエンジニアインターンの sakaidubz と申します。本日は私の携わっているプロダクトであるクラウドハウス労務で利用している RLS (Row Level Security) の技術について紹介します。 Techouse では、重要技術として RLS を多用しています。 通常 PostgreSQL の運用時には利用しないものであるため Techouse の開発メンバーとしてジョインしたみなさんが手慣れるまでに少し苦労をされているようです。 そこでこの場を借りて解説してみようと思い立ちました。 クラウドハウス労務について RLS について紹介する前に、私が開発しているクラウドハウス労務について紹介します。 クラウドハウス労務は人事労務における複雑な業務の電子化を推進するセミオーダー型・クラウド業務支援サービスです。各種手続きや年末調整といった法
こんにちは!Techouse の人材プラットフォーム事業部でサーバーサイドエンジニアを担当している aki と申します。2024年4月に新卒入社し、現在は事業部内で利用する社内システムの開発を担当しております。 同時に開発者ブログの運営チームにも所属しており、立ち上げ時に基盤構築を担当しました。運用が開始した後も、継続的に運用改善に取り組んでおります。本記事では、Techouse の開発者ブログの運用についてご紹介します。 Techouse の開発者ブログ運用 皆さんの会社では、開発者ブログの運用はされていますでしょうか?Techouse では、2024年の4月に開発者ブログを立ち上げました。 developers.techouse.com それから2024年8月1日現在までに合計 28 本の記事を投稿しており、月間平均で 7 本の記事が公開されていることになります。なかなか良いスタートダ
Let's use LLMs from Ruby 〜 Refine RBS types using LLM 〜 こんにちは、クラウドハウス労務でバックエンドエンジニアをしているtitti-008です。 本記事では、1日目の@kokuyouwindさんによるセッション、Let's use LLMs from Ruby 〜 Refine RBS types using LLM 〜について紹介させていただきます。 セッション概要 @kokuyouwindさんは、LLM(大規模言語モデル)を使ってRBS(型構造)を推測するRBS Gooseというプロジェクトを作成しました。まだ実用段階には至っていないとのことですが、そのアイディアと実験結果について紹介されました。 それでは、セッションの内容を見ていきましょう。 LLMとはなにか LLMとは、Large Language Modelsの略称で、20
Techouseの「エンジニア基礎勉強会」とは Techouse では「基礎勉強会」と称して2週間に1回、わたしが OS・ネットワーク・データベース・ハードウェア・セキュリティ・システムアーキテクチャなどをお話する勉強会を開催しています。 講師は私ひとり、資料を準備するのも私ひとり、動画を収録して YouTube Live で社内向けに配信する作業も私ひとりでやってます。 参加は任意ですが、社内のメンバー (社員・インターン生・業務委託でご参画いただいている方) の多くの方が参加してくれています。先日の RubyKaigi 2024 に参加してくれたメンバーもほとんどがこの勉強会に参加し、基礎的な知識をもった上でセッションへ臨んでくれました。 開催履歴 これまでの開催履歴はこんな具合です。 見ていただくとわかる通り、ほんとうに基礎的な内容を1個ずつやっているということがわかるかと思います。
Techouseの「エンジニア基礎勉強会」とは Techouse では「基礎勉強会」と称して2週間に1回、わたしが OS・ネットワーク・データベース・ハードウェア・セキュリティ・システムアーキテクチャなどをお話する勉強会を開催しています。 今回お試し的に、勉強会の内容を公開してみます。 データベース(1) ACID データベース(2) 分離性 今回は前回「データベース<ACID編>」の続きです。 ご笑覧くださいますと幸いです。 データベース(2) トランザクション <中編: 分離性> 前回で扱った「銀行口座」の例をそのまま使っていきます。 BEGIN; DROP TABLE IF EXISTS accounts; CREATE TABLE accounts ( id serial PRIMARY KEY, name varchar NOT NULL, balance decimal NOT
はじめに こんにちは!Techouseに2025年新卒として入社予定で、現在クラウドハウス労務でエンジニアとして長期インターンをしているoctavioと申します。 本記事ではTechouseで行われている社内LT会に発表者として参加したので、その様子を紹介しようと思います。 LT(Lightning Talk)とは? 皆さんは、LTというものをご存知でしょうか。 LTとは、Lightning Talk「ライトニングトーク」 の略です。「雷や光のように素早く終わるプレゼン」という意味が込められており、5~15分程度の短い時間で、興味あるテーマについて全力で語る。ただそれだけです。 エンジニアのカンファレンスなどで良く行われている形式で、Techouseも例に漏れずエンジニアたちの間でLT文化が作られてきたわけです。 TechouseのオフサイトミーティングでのLT会 Techouse社内では
みなさん、こんにちは! クラウドハウス採用でエンジニアインターンをしているgen_sanです。 突然ですが、皆さんハッカソンはご存知でしょうか。 ハッカソンとは限られた時間内に新しいソフトウェアやハードウェアのプロジェクトを開発するイベントです。通常、数時間から数日間にわたって行われ、チームで協力してアイデアを出し合い、実際にプロトタイプを作成します。参加者同士のコラボレーションを通じて、新しい視点やスキルを学び、時には市場を揺るがす革新的なプロジェクトが誕生することもあります。 しかし、ハッカソンを成功させるためには、周到な準備と細やかな運営が欠かせません。 そんな大事なミッションを長期インターンとして働いている学生だけで行ったので、その運営過程を実際のハッカソンの内容とともに共有します。 それでは、ハッカソンの舞台裏へ一緒に踏み込んでみましょう! インターンハッカソン開催のきっかけ:長
はじめに こんにちは、Techouseに2023年に新卒入社し、ジョブハウスでバックエンドエンジニアをしているozachunです。 Techouseでは、エンジニアとしてより高みを目指すための刺激を与えることを目的に、新卒向けの研修を実施しております。本記事では、その一環として2024年4月に開催した『OSS Gate ワークショップ』について紹介させていただきます。 OSS Gate ワークショップは、OSS Gateが主催する、OSS開発に参加する「入り口」を提供するワークショップで、株式会社クリアコード様を講師としてお招きしました。 当日は、「OSSとは?」「なぜOSS開発のワークショップを行うのか?」といった座学から、どうやってOSSにIssueやPull Requestを提出すれば良いのかなど具体的な手順まで丁寧にご指導いただきました。 OSS Gate ワークショップの流れ 当
こんにちは、株式会社Techouse バックエンドエンジニアの @nodematerial です。 今回は、RubyKaigi 2024 1日目のセッション「Ractor Enhancements, 2024」を聴講したので、その内容をブログにまとめさせていただきます。 Ractor とは Ractor は Ruby 3.0 で導入された並列(parallel)プログラミングを行うための機能です。Actor モデル*1をベースに設計されており、並行処理の干渉を防ぐために、オブジェクト空間を複数の単位に「だいたい」分割することで、スレッドセーフに並列処理を行うことができます。 同時に、この並行処理に用いる分割単位のことも、Ractor と呼ばれています。*2 複数 Ractor を実行する際には、Ruby 基本機能の一部が制限されます。 例えば、Ractor 間で共有できるオブジェクトは、i
はじめに こんにちは、Techouse の人材プラットフォーム事業部でサーバーサイドエンジニアを担当している imayayoh と申します。 Techouse では各事業部でエンジニアがインフラの監視として、AWS・外部サービス等のグラフモニタリングを実施しています。モニタリングでは下記に重点を置いており、インフラ構成の見直しや障害対応の場として活用しています。 サービス運用に十分なスペックでインフラが構成されているか 最適なコストでサービスが運用されているか インフラ・外部サービスで重大な問題が発生していないか 本日はモニタリングの実施で即時対応できたトラブルの一例として、Application Load Balancer (ALB) への謎の大量アクセス攻撃を紹介します。 コストモニタリング 弊社のサービスではインフラに AWS を使用しており、モニタリングでは AWS Billing
こんにちは、2024年に新卒入社し、株式会社Techouseクラウドハウス労務でバックエンドエンジニアをしているsatohです。 本記事では、Rubykaigi 2024 2日目のSamuel Williams(@ioquatix) さんによるセッション、「Leveraging Falcon and Rails for Real-Time Interactivity」について紹介させていただきます。 Leveraging Falcon and Rails for Real-Time Interactivity 2日目のキーノートはリアルタイム通信についての歴史とRubyでの試みの話でした。 セッションの後半では、リアルタイムな双方向通信を使ったWebブラウザ上で遊べるゲームが、作成から完成までの実装とともに紹介されました。 リアルタイムコミュニケーションとウェブ技術の歴史 1978年、初め
はじめに Techouse 代表取締役 兼 エンジニアの礒邉です。(コードは1日2時間以上書いているので、まだエンジニアを名乗れると信じています。) みなさま RubyKaigi お疲れさまでした!スタッフのみなさま、スピーカーのみなさま、素晴らしいイベントを開催いただき本当にありがとうございました。 Techouse では RubyKaigi, Kaigi on Rails, AWS re:Invent といった様々なカンファレンスに参加しており、今回の RubyKaigi 2024 は17名 (新卒全員 + 希望者) で参加いたしました。 こうしたカンファレンスに Techouse としてはどのようなポリシーで参加しているのか?を私なりの目線で書かせていただきます。 なぜ技術カンファレンスに参加するのか 一言でいうと「社内のエンジニアに成長機会を提供するため」です。 Techouse
Unlocking Potential of Property Based Testing with Ractor こんにちは、2024年に新卒で入社し、クラウドハウス採用でバックエンドエンジニアをしているrei_fujiseです。 本記事ではRubyKaigi 2024の1日目のMasato Ohba(@ohbarye)さんによるセッション Unlocking Potential of Property Based Testing with Ractor について紹介させていただきます。 セッションで使用されていたスライドはこちらに公開されています。また、デモに使用されたソースコードはこちらに公開されています。 このセッションでは「Property based testing が Ractor の良いユースケースとなる」という仮説の検証をしたことについて、Property based t
YJIT Makes Rails 1.7x Faster こんにちは、2024年に新卒で入社し、ジョブハウスでバックエンドエンジニアをしているnozomemeinです。 本記事では、3日目のTakashi Kokubun(@k0kubun)さんによるセッション、YJIT Makes Rails 1.7x Faster について紹介させていただきます。 YJITとは? 講演の内容に入る前に、YJITの歴史と特徴についてまとめます。 YJITの概要 YJITは「Yet Another Ruby JIT」の略で、Shopifyで開発され、Ruby 3.1から導入されたJITコンパイラです。 Ruby2.6から、MJITと呼ばれるJITコンパイラが存在していましたが、YJITはそれをさらに進化させたものです。 YJITはJITコード(中間表現 or IR)を使用し、機械語に変換して実行します。 こ
先週に行われたRubyKaigi 2024の2日目、3日目のレポートになります! 1日目についてもまとめ記事を公開しておりますので、ぜひご確認ください! developers.techouse.com また、弊社の技術開発責任者 山崎の書いた、弊社のRubyKaigi前日譚となるこちらの記事もぜひお読みください! developers.techouse.com 執筆記事 今回も弊社の開発ブログで、2、3日目のセッションについての記事を公開しております! Breaking the Ruby Performance Barrier (Day2) developers.techouse.com Good first issues of TypeProf (Day2) developers.techouse.com YJIT Makes Rails 1.7x Faster (Day3) devel
こんにちは、2024年にTechouseに新卒入社したakiと申します。 本記事では、Rubykaigi 2024 3日目のJunichi Kobayashi(@junk0612) さんによるセッション、「From LALR to IELR: A Lrama's Next Step」について紹介させていただきます。 CRuby/Lramaと現状の問題点 junk0612さんは永和システムマネジメントのRailsエンジニアの方で、Lramaのコントリビュータ、コミッターとしても活躍されています。セッションでは、これまでのLramaとその問題点、解決のための道筋についてお話しいただきました。 Lramaとは? これを読んでいるみなさんはご存知のことかと思いますが、Lramaとは、RubyのLALRパーサジェネレータです。RubyKaigi 2023にて、Yuichiro Kaneko(@spi
こんにちは、2024年に新卒で入社し、クラウドハウス労務事業部でバックエンドエンジニアをしているdaiki_fujiokaです。 本記事では、3日目の最後のセッションである Yukihiro "Matz" Matsumoto(@yukihiro_matz)さんによる Matz Keynoteについて紹介させていただきます。 セッション内容: 「Better Ruby」 発表者は Rubyist であれば誰もが知っている Ruby 生みの親 Matz ことまつもとゆきひろさんになります。 テーマは「Better Ruby」で、この1年間における Ruby の発展を踏まえてこれからの Ruby をより良くするために必要なことを紹介されていました。 本記事ではKeynoteで発表されたことをまとめ、私がこれまで参加したセッションも含めて感じたことについて紹介しています。 Ruby の設計思想や特
こんにちは、2024年に新卒入社し、株式会社Techouseクラウドハウス労務でバックエンドエンジニアをしているsatohです。 本記事では、Rubykaigi 2024 1日目のYuichiro Kaneko(@spikeolaf) さんによるセッション、「The Grand Strategy of Ruby Parser」について紹介させていただきます。 The Grand Strategy of Ruby Parser はじめに パーサとは Rubyのパーサは、Rubyのスクリプトを受け取りAST (抽象構文木) に変換するプログラムです。CRubyでは、LALRパーサという種類のパーサが使われています。 パーサの作り方 パーサを作成する方法は大きく2つに分けられます。 文法定義ファイルと、パーサジェネレータと呼ばれる文法定義からパーサを生成するプログラムを用いる パーサプログラムを
こんにちは、2023年に新卒で入社し、クラウドハウス採用事業部でバックエンドエンジニアをしている上野(izumitomo)です。最近ではスクラムマスターとして働いています。 本記事では、RubyKaigi 2024の1日目のSatoshi Tagomori(@tagomoris)さんによるセッション『Namespace, What and Why』について紹介させていただきます。 Namespaceとは 本セッションはNamespaceという、Rubyのコードを隔離された別々の空間に分ける開発中の機能がテーマです。 ここにおけるNamespaceとは、アプリケーションやライブラリを隔離された空間上で読み込むものです。 Namespaceの実現のためには以下の3つの処理が必要となります。 ある空間でアプリケーション・ライブラリを読み込む 読み込んだことによる影響を他の空間から隔離する その空
こんにちは、クラウドハウス労務でバックエンドエンジニアをしている本澤(mottei)です。 本記事では,1日目のHiroshi SHIBATA(@hsbt)さんによるセッション、Long journey of Ruby standard libraryについて紹介させていただきます。 スピーカーのhsbtさんはRubyGemsやbundlerなどのメンテナンスに関わるRubyコミッターです。建設業界向けのSaaSを提供する株式会社アンドパッドに所属されています。余談ですがアンドパッドさんはスポンサーとしてブースを出店されており、おみくじの企画を行なっていました。私もブースにお邪魔させていただきましたが、見事大吉を引き当てることができ、工具セットをいただきました!建設業界ならではの素敵なノベルティでした。 Long journey of Ruby standard library 本題に戻る
Techouse技術責任者の山崎 (Twitter: @nappa) です。 今回わたしたちは新卒入社のエンジニアメンバーを含め総勢17人のメンバーでRubyKaigi 2024に参加しています! 個人的には2010年につくばで開催された「日本Ruby会議 2010」以来ひさしぶりの参加となりました(※私の記憶が確かならば)。14年ぶんの時代の変化を感じるとともに、RubyとRubyを含むエコシステムの大きな変化を感じたところです。 さて、当ブログではメンバーに、参加したセッションのまとめ記事や感想を書いてもらっています。その多くは今年の4月に新社会人として入社したばかりです。彼らが Ractor や YJIT などの技術的な内容をスッと理解してサクッとブログを書き起こしてくれていることを、とてもうれしく思います。 しかし、なんでみんなサクっと書けているのでしょうか……? 事前学習 いきな
今回Techouseは、RubyKaigi 2024のプラチナスポンサーとしてブースを出展しております! 必ず当たるガラポンくじをご用意しておりますので、ぜひお立ち寄りください! 執筆記事 弊社の開発ブログでは、1日目のセッションについての記事を公開しております! Writing Weird Code developers.techouse.com The grand strategy of Ruby Parser developers.techouse.com Unlocking Potential of Property Based Testing with Ractor developers.techouse.com Strings! Interpolation, Optimisation & Bugs developers.techouse.com Namespace, What
こんにちは、株式会社Techouse バックエンドエンジニアの @nodematerial です。 今回は、RubyKaigi 2024 1日目のセッション「The depths of profiling Ruby」を聴講したので、その内容をブログにまとめさせていただきます。 プロファイラとは プロファイラはコードのパフォーマンスを調べるためのツール全般を指します。 プロファイラには、コードの中で最も遅いところ(ホットスポット)を特定するという大きな役割があります。 Pf2 について スピーカーの osyoyu さんは Pf2 というプロファイラを作成されており、発表ではPf2の実装を中心に解説が行われました。 Pf2 に特徴的な機能 マルチスレッドのプロファイリング GCの所要時間や、GVL によって有効活用できなかった時間を表示することができ、スレッド毎の実行状況の統計を取ることができ
Vernier: A next generation profiler for CRuby こんにちは、2024年に新卒で入社し、ジョブハウスでバックエンドエンジニアをしているnozomemeinです。 本記事では、1日目のJohn Hawthornさんによるセッション、Vernier: A next generation profiler for CRuby について紹介させていただきます。 Vernierとは何か Vernierは、Rubyのパフォーマンスプロファイリングを行うためツールです。 従来のプロファイラーでは、GVL(Global VM Lock)の影響を受けやすく、正確なデータを得るのが難しいという課題がありました。 また、既存の有名なprofilerであるstackprofも認知度こそあれど、10年以上前に開発されたもので、 Rubyのアップデートに追従できているとはいえ
こんにちは、2024年に新卒で入社し、クラウドハウス労務事業部でバックエンドエンジニアをしているdaiki_fujiokaです。 本記事では、1日目のTomoya Ishida(@tompng)さんによるKeynote、Writing Weird Codeについて紹介させていただきます。 セッションについて 本セッションでは文字通りWeired(奇妙)なコードを通じて、 Ruby 言語の特徴やプログラミングの面白さについて紹介しています。 セッションで紹介されたtompngさんのコードがこちらになります。 こちらはRubyKaigi 2022で行われたイベント Transcendental Ruby Imbroglio Contest for rubyKaigi でtompngさんが金賞を受賞したコードになります。 一見ただの数字の羅列に見えますがこのコードは Ruby で実行可能であり、
初めまして、株式会社Techouseでバックエンドエンジニアをしている本澤(mottei)と申します。本日は私の携わっているプロダクトであるクラウドハウス労務で利用されている分散プログラミングの技術について紹介します。 クラウドハウス労務について 分散プログラミングについて紹介する前に、私が開発しているクラウドハウス労務について、なぜ分散プログラミングが必要かの説明も兼ねて紹介します。 クラウドハウス労務は労務業務の電子化を推進するためのクラウドサービスです。人事労務担当と従業員との手続き機能・年末調整などの法定業務など様々な機能を持っており、企業の人事労務担当者と従業員とのやりとりを簡単に行うことができます。 これらのたくさんの手続きによって集められた大量の従業員データは、クラウドハウス労務のデータベースに格納されています。クラウドハウス労務は大企業が持つ基幹システムなどの別システムとの
はじめまして、ジョブハウス、クラウドハウスを運営しているTechouseでシニアエンジニアリングマネージャーをしている、西村(nissiy)と申します。 このブログの公開日で入社してちょうど半年になりました。 この度、新年度を迎えたこともあり、心機一転、Techouseでも開発者ブログをスタートすることになりました。 一発目の記事ということで、今回はTechouseがなぜ開発者ブログをスタートするに至ったのか、このブログを通じて何を成し遂げたいか、運用体制はどうなっているのかをご紹介していきます。 まだスタートしたばかりではあるので、今後どうなっていくのか見えないものばかりではありますが、三日坊主には絶対にしないという強い意志を持って今回スタートを切っております。 ぜひとも最後まで読んでいただけると嬉しいです。 なぜ開発者ブログをスタートするに至ったのか 読者の皆さんが働かれている会社では
このページを最初にブックマークしてみませんか?
『developers.techouse.com』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く