RareJob Tech Blog
https://rarejob-tech-dept.hatenablog.com/
レアジョブテクノロジーズのエンジニア・デザイナーによる技術ブログです
フィード
RoadRunner + Slim Framework で高性能な PHP 実行環境の構築
RareJob Tech Blog
はじめに こんにちは、DevOps グループの中島です。 最近急に寒くなり、年の瀬を感じる時節になってきましたね。そういえば去年の年末は Herman Miller でセールをしていたので、駆け込みでイスを買ったのを思い出しました。 今回は性能が高いと評判の PHP アプリケーションサーバー RoadRunner を Slim Framework (Slim 4) で使うための設定手順と、簡単な性能の検証結果を共有したいと思います。 RoadRunner とは RoadRunner は Go で書かれたオープンソースの高性能な PHP アプリケーションサーバ & プロセスマネージャで、プラグイ…
16日前
Flake8, autoflake, Black, isort を Ruff へ置き換える際に行ったこと
RareJob Tech Blog
はじめに 環境 Ruff について Flake8, autoflake を Ruff へ置き換える際に行ったこと 設定ファイル変更内容 元の setup.cfg 変更前設定内容 pyproject.toml 変更内容 pyproject.toml の設定内容詳細 [tool.ruff] [tool.ruff.lint] Makefile 変更内容 Black を Ruff へ置き換える際に行ったこと 設定ファイル変更内容 pyproject.toml 変更内容 pyproject.toml の設定内容詳細 [tool.ruff.format] Makefile 変更内容 isort を Ruf…
20日前
LLMを活用したプロンプト開発:効率的な実践アプローチ
RareJob Tech Blog
はじめに はじめまして、EdTech LabのYumaです。この度、初めてのブログ投稿をさせていただきます。よろしくお願いします。私は日々の業務でプロンプトエンジニアリングに携わることが多く、これまでの経験から得た知見やコツを、このブログなどで、どんどん発信していきたいと思います。 人工知能技術の発展により、Large Language Model (LLM)の活用が広がっています。その中で、プロンプトエンジニアリングの重要性が増していますが、効率的なプロンプト開発には体系的なアプローチが必要です。本記事では、以下の4つの主要なアプローチについて、実践的な知見を共有していきます: 効果的な開発…
1ヶ月前
AWS ODBC Driver for MySQL でより高速なフェイルオーバーの実現
RareJob Tech Blog
はじめに こんにちは、DevOps グループの中島です。 先日 AWS から MySQL 用 ODBC ドライバのリリース発表 がありました。 ODBC というと Microsoft が規定したものであるため Linux ではあまり利用されていなそうに思えますが、昔 Tableau Server (Linux) から Redshift につなぐときに使ったりしました。 発表によると、オープンソースのドライバーと比較してスイッチオーバーとフェイルオーバーの時間が数十秒から 10 秒未満に短縮されます。 とのことです。 はたしてどのようにしてそれが実現されているのか、調べた内容を共有したいと思いま…
2ヶ月前
Amazon QuickSightで作成したダッシュボードの埋め込みURL生成について
RareJob Tech Blog
こんにちは、文教事業サービス開発部の塚本です。 私ですが、株式会社ボーダーリンク(株式会社レアジョブのグループ会社)が提供している「ボーダーリンク英会話」や「リップルキッズパーク」といった文教・子ども向けオンライン英会話サービスの開発ディレクションを担当しています。 今回は、直近導入したAmazon QuickSightについて、QuickSight内で作成したダッシュボードをプロダクト内の管理サイトに埋め込む方法について説明していこうと思います。 ダッシュボード本体の作成については今回触れず、作成したダッシュボードを運用している既存のサイトに埋め込む方法にフォーカスした内容となっています。 …
4ヶ月前
v9.0.0以降のaws-ecr-orbを利用する話
RareJob Tech Blog
こんにちは、EdTech Labの齋藤です。 1年以上ぶりの投稿となりました。近頃は暑すぎるので黄金樹の影で涼んでいます。 今回はCircleCIのOrb、その中でも特にv.9.0.0でOIDCが導入されたりとそこそこ変更のあったaws-ecr-orbについて書いていこうかなと思います。 CircleCIの利用 チームでの利用 現在EdTech Labでは開発したもののいくつかがAWS上で動作しており、AWSで構築した環境にデプロイする際 CircleCIを活用して開発を行っています。 デプロイのたび毎回手動でビルドしてプッシュして...というのはあまり効率が良くないですし、自動で実行して成功…
4ヶ月前
PHP バージョンアップに伴うコード修正を Bedrock に手伝ってもらう
RareJob Tech Blog
はじめに こんにちは、DevOps グループの中島です。 弊社が開発しているサービスでは多くのアプリケーションが PHP で動作しています。そのうち、PHP 7.4 で動作しているアプリケーションを PHP 8.3 に置き換える際に、多くのコード修正が必要になりました。今回は、それらの中でも手で行うと手間のかかる部分について,生成 AI を活用して効率的に行った事例をご紹介します。 前提 アップデート前の主な依存ライブラリのバージョンは以下の通りです。 PHP 7.4, Laravel 6, PHPUnit 8 ここから、執筆時点で最新のバージョンである、 PHP 8.3, Laravel 1…
5ヶ月前
AWS Summit 2024 で登壇・出展をしてきました!
RareJob Tech Blog
暑くなってきましたね、CTOの @jumboOrNot です。 6/20, 21 で幕張メッセで行われた AWS Summit 2024 で登壇・出展してきたので少しだけ感想をば。 今回の出展・登壇内容 aws.amazon.com 弊社では生成AIの活用を社内向けやお客様向けでさまざま検証しており、一部お客様向けに実証実験をしています。 その中で Amazon Bedrock を活用したAIレッスンレポートという機能を提供していまして、その事例紹介として今回は機会をいただけました。 昨年に続き、2年連続でのブース・登壇ができている会社さんはあまりないと聞いていましてとてもありがたい機会をいた…
6ヶ月前
AWS Lambda から GCP CloudFunctions/Cloud Run を呼び出す (クライアントライブラリ編)
RareJob Tech Blog
はじめに こんにちは、DevOps グループの中島です。 前回 は REST API を自力で叩いて認証を行い、取得した ID Token で Cloud Functions のエンドポイントを呼び出しました。 今回はクライアントライブラリを使用する方法を見ていきたいと思います。 といってもコード自体は数行しかないので、そのコードにたどり着くまでの過程も書いてみます。 google.oauth2.id_token.fetch_id_token を使う Cloud Functions を呼び出すためには ID Token が必要となるので、まずはこの ID Token を一発で取得できる方法を探…
8ヶ月前
生成AI のガイドラインを Guardrails for Amazon Bedrock でサポートする
RareJob Tech Blog
ChatGPT を皮切りにAIチャットボットを導入する企業が増えてきました。Amazon Bedrockは、大規模言語モデル(LLM)を使用したアプリケーション開発のためのプラットフォームであり、最近Guardrailsという機能が追加されました。申し遅れました、CTO室の塚田です。 生成AIを活用する際、適切なガイドラインの設定は欠かせません。Amazon Bedrockの新機能であるGuardrailsは、このガイドラインの設定と実施をサポートするツールです。 Guardrailsでは以下の3つの機能が利用可能です: トピックの拒否 コンテンツフィルター 個人情報の再編集 これらの機能は、…
8ヶ月前
AWS Lambda から GCP CloudFunctions/Cloud Run を呼び出す (REST API 編)
RareJob Tech Blog
はじめに こんにちは、DevOps グループの中島です。 最近タイトルのような Lambda から、認証が必要な CloudFunction エンドポイントを呼び出すアーキテクチャを実装する機会がありました。 認証を行うには、クライアントライブラリを利用する方法 (推奨) と REST API を叩いて自力でやる方法がありますが、 内部の動作を理解してこそライブラリを使う権利が与えられると思いますので、今回は REST API を叩く方法を紹介します。 概要 以下のような流れで認証を行った上で、最終的に Cloud Functions を呼び出します。 引用元: https://cloud.g…
9ヶ月前
#2 スクラムマスターを雇う時に聞いてみるとよい38個の質問に答えてみる(全5回)
RareJob Tech Blog
まえがき レアジョブテクノロジーズの三上です。 2回目の投稿です。前回から1年と4ヶ月振りの投稿です。お待たせし過ぎたかもしれません。 前回の記事 -> #1 スクラムマスターを雇う時に聞いてみるとよい38個の質問に答えてみる(全5回) - RareJob Tech Blog 早速ですが、今回もインタビューを受ける気持ちで直感で答えてゆきます。 スプリントプランニングについて チームがもっとも価値のあるストーリーに取り組めるようにするためにどのようにスプリントプランニングにスクラムマスターとして貢献するか? 前提としてプロダクトバックログは優先度の高いもの、価値のあるバックログアイテムから順に…
10ヶ月前
Buildkit でキャッシュを ECR に保存する
RareJob Tech Blog
はじめに こんにちは。DevOps グループの中島です。 弊社では CI ジョブ実行のために EC2 でホストした GitLab Runner (Docker Executor) を利用しており、Docker コンテナ上で CI ジョブを実行しています。 それらのジョブのうちコンテナイメージをビルドするジョブにおいて、時間がかかっている問題がありました。 今回はその問題に対して比較的新しい機能を用いた解決策の紹介と、処理の概要について説明したいと思います。 背景 ビルドに時間がかかっている理由としては、レイヤーキャッシュが利用されていないのが 1 つの要因としてあげられました。 コンテナビルド…
1年前
ジョブスケジューラの導入
RareJob Tech Blog
はじめに こんにちは、DevOps グループの中島です。 年末年始は前からやろうと思っていたエルデンリングをプレイしました。DLC もそのうち出るらしいので楽しみです。 今回はジョブスケジューラの導入をしたときの話をシェアします。 背景 エンタープライズ向けでは、サーバの監視とジョブの管理を行うツールとして、日○や富○通の製品が業界標準として選ばれることが多いように思います。 一方で OSS だと有名どころは Rundeck あたりが候補になるでしょうか。 弊社では AWS を利用しているためその中で見繕うことをまずは考えたのですが、それ専用に提供しているサービスはありません。 そこで、要求仕…
1年前
EdTech LLM元年でした!という話
RareJob Tech Blog
どうもCTOの @jumboOrNot です。 今年は怒涛のLLMの年でしたね〜、弊社でもさまざまなトライがあり振り返ってみようと思います。 「見(ケン)」の時期 2022年11月にChatGPTが公開されて、3月にAPIが公開されるまでは私を含め弊社でも関心を持ったり注目する人は増えていましたが、実際にプロダクトへ反映するまでは割と慎重になってしまったかなと思っています。様子見をしつつ、いいプロダクトへの組み込みはなんだろうな〜と考えることが多く、あまり手数を持てていませんでした。まさに「見(ケン)」の時期で手を組んで唸ってました。しかし歩みが遅いと言われていた EdTech 界隈でも想像の…
1年前
Application Integrationを使ったSaaSからのBigQueryへのデータ取り込み
RareJob Tech Blog
こんにちはデータエンジニアの杉光です。 今年6月くらいにGAとなりデータ界隈で一瞬話題となったApplication Integrationを試した感想について書きます。 実運用で使えないか試した結果、今回は見送ることにしました。その経緯を踏まえて機能と検証内容をお伝えできればと思います。 Application Integrationとは cloud.google.com 日本語名ではアプリケーションの統合と表記され、Google CloudのIntegration Platform as a Service(iPasS)になります。 GUIからトリガー設定や様々なアプリケーション・データソ…
1年前
マナビアップデートソン2023
RareJob Tech Blog
はじめに こんにちは!CEOの山田です。 11月8日、9日に全社合宿を行ない、そこで弊社ミッションに因んで名付けたハッカソン「マナビアップデートソン2023」を開催しました。 場所は「クロス・ウェーブ府中」さんにお世話になりました。宿泊可能な大規模な研修施設で、建物は綺麗で開放感もある造りで、宿泊した部屋も広くて眺めもよく、懇親会も施設内で開催でき、満足出来る施設でお勧めです。 目的 合宿でハッカソンを開催した目的は、チームビルディングとアイディアの掘り起こしです。 チームビルディング 弊社はリモート主体の勤務体制をとっており、プロジェクトベースで業務を推進しています。対面でのコミュニケーショ…
1年前
WordWiz - 子供の学習意欲を高める新しいサービス
RareJob Tech Blog
こんにちは、ディズニーパークとドナルドダックをこよなく愛するCIOの岩堀です。今日は初の試みで行ったプロジェクトについてお話ししようと思います。それは、私たちの会社が初めて公募にて有志が集まってスタートしたプロジェクト「WordWiz」です。これは、K12領域において、子供たちが学んだ単語を使ってオリジナルの絵本を作成し、親子で楽しみながら学ぶことができるサービスです。 wordwiz.rarejob-tech.jp サービス導入背景 K12市場は、まだまだ成長の余地があります。そこで、私たちは「WordWiz」を通じて、この市場に新しい風を吹き込むことを目指しました。このアイデアは、社内公募…
1年前
Amazon Bedrock Prototyping Campに参加してきました!(BedrockとKendraの簡易ハンズオン付き)
RareJob Tech Blog
はじめに SMART Method・PROGOS開発グループの奥山です。 京都に引っ越して3ヶ月経ったころ、友人が京都に来たと言うので坐禅に誘いました。 友人は「パートナーがこっちにできたからついでに会いに来た。パートナーと予定があるから坐禅は行かぬ。」と返事をくれました。 さて、私の心もこの頃の気温も急に冷え込んできましたが、生成系AI界隈は非常にアツいです。 そんな中、AWS Japan様から招待いただき、「Amazon Bedrock Prototyping Camp」に参加してきました! 以下、参加レポートとなります。 コンテンツ Amazon Bedrock Prototyping …
1年前
「少人数エンジニア組織でサービス成長させるには?座談会」 に登壇しました
RareJob Tech Blog
はじめに こんにちは、 DevOps グループの中島です。 AWS 社主催のイベントでつながったココナラ社の方よりお誘いがあり、勉強会を共同主催しました。 今回はその登壇レポートになります。 ココナラ テックブログでも執筆いただきました。 「ココナラ×レアジョブテクノロジーズ+AWS 少人数エンジニア組織でサービス成長させるには?座談会」を開催しました! connpass リンク: ココナラ×レアジョブテクノロジーズ+AWS 少人数エンジニア組織でサービス成長させるには?座談会 内容 以下のテーマについて、それぞれレアテク社、ココナラ社で交互に LT する形式で行われました。 (言葉の選び方が…
1年前
PHPカンファレンス2023 でブース出展してきました
RareJob Tech Blog
こんにちは。レアジョブ英会話開発グループの鈴木です。 前回の投稿でお知らせしていたとおり、10/8 (日) に開催されましたPHPカンファレンス2023にてブース出展をしました。 当日は多くの方にお越しいただきカンファレンス運営スタッフ、スポンサーブースの皆さまお疲れさまでした。そしてご来場された皆さまありがとうございました。 今回はノベルティとしてステッカー、チョコ、書籍、不織布バッグを用意しました。 不織布バッグは他企業ブースのスタッフの方にも好評をいただきました。 好評だった弊社ロゴ入りバッグ 弊社は2018年にもブース出展しており、そのときは英語に関する質問をさせていただきました。 コ…
1年前
レアジョブテクノロジーズはPHPカンファレンス2023に協賛します
RareJob Tech Blog
こんにちは。三上( 三上 智's Wantedly Profile )です。 レアジョブテクノロジーズは 10月8日(日)に開催される PHPカンファレンス2023 にシルバースポンサーとして協賛します。 2019年はブロンズでの協賛でしたので、ブース出展は2018年(ゴールド)から5年振りとなります。 2018年の様子はこちら appeal.rarejob.co.jp レアジョブテクノロジーズは、PHP以外にもプロダクトや機能に応じて Go, Vue.js, TypeScript など多様な技術スタックを採用していますが、現在でも多くのシステムはPHPで動いています。 2022年にレアジョブ…
1年前
ビルドツールをLaravel MixからViteに移行
RareJob Tech Blog
こんにちはフロントエンドグループの大谷です。 自宅の備え付けのエアコンが古く、スイッチを入れてから10分くらい起動しなくて困っています。 猛暑日が続いているので起動は高速であってほしいものですね。。 プロダクト開発においても、歴史を重ねるとビルド速度が遅くなることがありますね。 今回はそんな課題を抱えていたリポジトリに、速いと評判のViteを導入した話について書いていきたいと思います。 Viteとは何か Vue.jsの開発者でもあるEvan You氏が開発したビルドツールです。 VueやReact等多くのフレームワークをサポートしている Laravel 9以降はLaravel Mix→Vite…
1年前
クエリ実行中断の実装
RareJob Tech Blog
はじめに こんにちは、DevOps グループの中島です。 当社ではデータ分析のために Redash を利用しており、 DevOps グループではその管理・運用を行っています。 日々、Redash が重いとかクエリが返ってこない等の問い合わせに対応する中で、 その原因の一部について調査した内容を紹介します。 発生した問題 事象としては発行したクエリが返ってこないという問い合わせで、 調べてみると接続先のデータベース (Aurora MySQL 5.8) の CPU 使用率が 100% 付近になっていました。 show processlist で実行中のクエリを確認すると、 長時間実行中のクエリが…
1年前
Terraform運用の個人的ベストプラクティス
RareJob Tech Blog
こんにちは、EdTech Labの齋藤です。 スパイダーマン:アクロス・ザ・スパイダーバースをみましたが私には複数の並行世界をどうこうする大いなる力はないので、AWSで複数の環境をいじっている話をしようかなと思います。 というわけで、この一年ちょっとTerraform でAWSリソースの管理・運用をしてきて個人的にやりやすい方法をまとめました。 あくまで私の場合には何が肌に合って・合わなかったかという話なので、そのあたりご了承ください。 なぜTerraform? AWSをdevelopment・staging・productionのように複数環境で構築してそれを管理したいなと考えたときインフラ…
2年前
LangChainのふんいき(LangChain触ってみたN番煎じ)
RareJob Tech Blog
導入 こんにちは。 プロダクト開発部 PROGOS・SMART Method 開発グループの奥山です。 レアジョブテクノロジーズでは月1回、知見発表会があります。 月毎に部署が割り当てられ、各々が知見を発表していきます。 この会で紹介する内容に縛りはなく、最近自分が遊んだ技術を紹介することも可能です。 今回は、この知見発表会でゆるく話したLangChainのスライドをそのままだとネタスライドがあって出せないのでブログ記事に改変してお送りします。 何が書いてあるか? LangChainの小さなコードを積み上げていって、1回だけ質問に答えてくれるコードを書きます。 読む意味はあるか? 私の理解はL…
2年前
プロダクトごとの AWS コスト可視化
RareJob Tech Blog
はじめに こんにちは、DevOps グループの中島です。 最近また円安に振れてきて、コストが気になるようになってきましたね。 弊社はレアジョブ英会話以外にもいくつかプロダクトを開発しておりますが、 各プロダクトを開発しているチームでもコスト意識を持ってもらおうと思い、プロダクトごとの AWS コスト可視化を行いはじめました。 今回はそのときの知見をいくつか紹介したいと思います。 コスト管理の方法 AWS のコストは コスト配分タグ を利用することで、各リソースにかかったコストをタグを用いて分類することができます。 コストはコスト配分レポートとしてCSV 形式でダウンロード できます。 一般的な…
2年前
ChatGPTをプロダクトへ組み込んでいくステップ
RareJob Tech Blog
どうもCTOの羽田です。 この度下記のリリースを実施しました! prtimes.jp 取材もいただきまして、弊社もChatGPTのビッグウェーブに乗り、GenerativeAIの大海原へと漕ぎ出しました。 xtech.nikkei.com このプロジェクトですが、最初のアクションからリリースまでなんと一ヶ月かからず爆速で完了しました。 主にメンバーや関係者の頑張りでこのスピード感を出せたんですが、社内でChatGPTを使ったプロジェクトを起案・推進するためにPdM兼CTOとして考えたこと・動いたことを共有できればと思います。 「これからChatGPTを使ったプロジェクトを立ち上げようと持ってい…
2年前
CDK インポート を試してみる
RareJob Tech Blog
はじめに こんにちは、DevOps グループの中島です。 弊社では AWS CDK を用いて AWS リソースを管理しています。 過去にコンソールから作成したリソースを CDK に取り込みたいと思い、 CDK インポートを利用する機会があったので紹介します。 使ってみた系記事では触れられてない機能の紹介もあるので参考にしてみてください。 CDK インポートとは cdk import は CDK 以外の手段で作成した AWS リソースを CDK 管理下に置くことができる機能です。 使い方 CDK インポートの使い方は以下のようになります。 こちらの記事 で詳しく書かれており参考にさせて頂きました…
2年前
Bubbleで開発したサービスがリリースされました
RareJob Tech Blog
こんにちは。新会社になってから初の投稿です。 レアジョブテクノロジーズCEOの山田です。 レアジョブ時代は執行役員CTOを担っておりましたが、分社化に伴いCEOに就任しました。 先日、新サービスとして、グローバルビジネスで必要な英語コミュニケーションスキルをシーンごとに習得できるオンラインプログラム「グローバルスキルPowerトレーニング(以下、Power)」をリリースしました。 「Power」は、開発にNoCodeのBubbleを採用しましたので、選定理由や実装した機能、そしてメリット・デメリットを紹介していきます。 なお、本サービスは、現業と平行して捻出出来る時間だけでPowerの開発に参…
2年前