TECH PLAY

ペライチ

ペライチ の技術ブログ

52

こんにちは!(株)ペライチのサーバーサイドエンジニアの福原です! 昨今の AI ブームにより、仕事でもプライベートでも AI は不可欠な存在となりました。 しかし、その中身がどう作られ、どう動いているのかを真に理解している人が意外と少ないのではないでしょうか? 「学習データを用意して、整形して、学習させて、推論させる」。 言葉にするのは簡単ですが、実際に手を動かして AI を作ってみることで見えてくる AI のクセがあります。 ボートレース予想AIを作ってみよう 今回は、多摩川ボートレース場の展開予想 AI を自作してみます。 ボートレースを題材に選んでいるのは単なる趣味です。 皆さ
アバター
こんにちは。株式会社ペライチのインフラエンジニア西野です。 先日、弊社テックブログで AWS コスト、見直していますか? 〜ムダな出費を抑える 3 つの視点〜を公開しました。 今回はその第 2 弾として、**弊社でも実践している「休日・夜間の ECS・RDS 自動停止・起動」**によるコスト最適化について紹介します。 この記事は、AWS の基本操作に慣れ、 ECS や RDS を少し触ったことがある方向けです。 「本番環境は常に稼働させる必要があるけれど、検証環境や一部の業務系リソースは本当に 24 時間動いている必要があるのか?」 そう考えたことがある方は、ご覧いただければ幸いです。
アバター
こんにちは。株式会社ペライチのインフラエンジニア西野です。 さて、皆さんはご自身の会社で利用しているシステム基盤(AWS や GCP など)にかかる月々のコストを把握していますか? 正直、以前は把握していませんでした。しかし最近、AWS のコストを確認する機会が増えたことで、これまでの反省も込めて本記事を書くことにしました。 この記事では、特に検証環境における無駄なコストを削減するための 3 つのポイントに焦点を当てます。 目次 複数台配置(Multi-AZ)や過剰なインスタンスサイズ ログなどの保存期間 24 時間稼働の必要性 まとめ 1. 複数台配置(Multi-AZ)や
アバター
■ はじめに こんにちは。株式会社ペライチ のフロントエンドエンジニア藤田です。 Web アプリケーションの速度を語るとき、私たちはよく API レスポンスや描画速度といった「処理の速さ」に注目しがちです。しかし実際のところ、ユーザーが感じる"速さ"は、それらの指標だけでは測れません。 たとえばボタンを押したとき、処理が即時に始まっていたとしても、画面に何の変化もなければ「遅い」「反応していない」と感じてしまうこともあります。これは、処理時間そのものではなく、体感速度による UX の問題です。 今回は、社内で取り組んだ"体感速度"の改善と、それにまつわる UX 設計について紹介します
アバター
はじめに こんにちは。株式会社ペライチ バックエンドエンジニアの船橋です。 当社では OpenAPI を使用して API 仕様書を管理していますが、チーム規模の拡大に伴い、仕様書の品質維持が課題となっていました。今回は、OpenAPI の Lint ツールである Spectral と、GitHub 上でコードレビューコメントを自動でつけてくれる reviewdog を組み合わせて、PR作成時に自動でAPI仕様の指摘を出すしくみを構築した経験を紹介します。 🧩 なぜこのしくみが必要だったのか? OpenAPI を使って API 仕様書を管理している中で、以下のような具体的な課題に
アバター
1. はじめに こんにちは。株式会社ペライチ インフラチームの澤居です。今日は「見えないものがいちばん不安という話」というお話をさせてもらいます。 2. Redshift 導入 ペライチでは目下モノリスからマイクロサービスへ移行を進めていますが、プログラムと同時にデータベースが切り離されることで横断的にデータを集約・参照できる基盤が必要とされています。各 RDS (MySQL) から DMS を使って別途集約用の RDS (MySQL) へ統合する仕組みは既にあるのですが、DMSの使い方としては推奨されているものではありません。分析クエリを投げると度々落ちることがありましたし、よ
アバター
始めに こんにちは。株式会社ペライチの開発部長の佐藤です。 ペライチでは、長年の機能開発を経てアプリケーション基盤がモノリシックに育ってきました。 また、 CakePHP, Backbone.js など、時を経て利用者が少なくなってきた FW をベースに開発をされていました。 サービスの拡大に向けて、このままのアーキテクチャで開発を続けることは、長期的に生産性低下につながるリスクがあると考え、マイクロサービス化、技術要素の刷新、統一を進めています。 その中でも今回は、とあるバックエンドサービスを CakePHP から Ruby on Rails へマイグレーションしたときの工夫につい
アバター
1. 開発に集中して取り組むぞ! 開発作業をしていると、「このプロジェクトでは集中したい」「ポモドーロテクニックを活用したい」と思うことはありませんか? そんなときに便利なのが VSCode の Project Manager × tasks.json を組み合わせる方法です。プロジェクトを切り替えた瞬間に音楽を自動で流し、一定時間後にチャイムを鳴らすことで、ポモドーロタイマーのように活用できます。本記事では、この仕組みを簡単に導入する方法を解説します。 なお、以下の例はmacで動作確認をしています。Windows、Linuxの方は適宜修正して下さい。修正方法はChatGPTあたり
アバター
こんにちは。株式会社ペライチのイネイブリングチームのスクラムマスター兼バックエンドエンジニアの城戸です。 ペライチは複数の機能開発チームがあり、イネイブリングチームは複数チームにまたがって全体的な共通課題の解決を担っています。 本記事では、イネイブリングチームの活動の一環として障害の分析や振り返りを行う中、発見された複雑な SQL をモブプログラミング形式でリファクタリングした経験を共有します。 ※技術的な知見の発信というより、活動レポと思ってもらえると幸いです。 目次 あらすじ:障害対応と SQL リファクタリングの経緯 対象の SQL の紹介と問題点 修正の方針 修正後の SQ
アバター
こんにちは。株式会社ペライチのイネイブリングチームのスクラムマスター兼バックエンドエンジニアの城戸です。 ペライチは複数の機能開発チームがあり、イネイブリングチームは複数チームにまたがって全体的な共通課題の解決を担っています。 本記事では、イネイブリングチームの活動の一環として障害の分析や振り返りを行う中、発見された複雑な SQL をモブプログラミング形式でリファクタリングした経験を共有します。 ※技術的な知見の発信というより、活動レポと思ってもらえると幸いです。 目次 あらすじ:障害対応と SQL リファクタリングの経緯 対象の SQL の紹介と問題点 修正の方針 修正後の SQ
アバター
こんにちは!株式会社ペライチでフロントエンドエンジニアをしている秋本です。 この記事では、全文検索エンジンのしくみについて説明します。 現代社会において、私たちは日々膨大な情報にアクセスしています。検索バーにキーワードを入力し、エンターキーを押すと、ほんの一瞬で関連する Web ページが表示されます。この驚くべきスピードと精度の裏には、どのような技術としくみが隠されているのでしょうか?本記事では、その鍵を握る「転置インデックス」というデータ構造と、検索結果の関連性を評価するアルゴリズムについて、詳しく解説します。 目次 転置インデックスとは? データ構造の詳細 具体例で理解する転置
アバター
こんにちは!株式会社ペライチ のサーバーサイドエンジニアの福原です! 突然ですがみなさん、ロックマン、欲しくないですか?(exe のやつですよ) 30 歳になった私も直撃世代でして、当時は自分にもネットナビが欲しいという思いからあらゆるものにプラグインとトランスミッションを試みるわんぱく小僧でした。 学生時代の研究室でも自然言語処理系に行ってみたりして、音声入力して反応を返してくれるプログラムを作ってみたりしていました。 ですが、しかしというかやはりというか、当時の自分の技術力では決まったセリフに対して決まった返事をするだけのモブキャラしか実現できませんでした。 しかし! 世はまさに大生
アバター
はじめに こんにちは。株式会社ペライチのエンジニアの栗原です。 先日、Python 3 認定基礎試験を受験してきましたので、学習方法や僕が学んだPythonの書き方を記事にしたいと思います。 この記事がどなたかのお役に立てれば幸いです。 Python 3 エンジニア認定基礎試験とは? まず、Python 3 エンジニア認定基礎試験とは何かというと、一般社団法人Pythonエンジニア育成推進協会が運営しているPythonの文法基礎を問われる資格試験になります。 テストセンターにて受験するCBT方式で出題形式は選択問題です。40問中28問(正答率70%)以上で合格となります。試験時間
アバター
はじめに こんにちは。株式会社ペライチ のエンジニアの城戸・船橋です。 皆さん、テストコードは書いていますか? 実装時はついついめんどくさいと思っちゃいがちですが、テストコードがあることでコードの品質も上がるし、自動化することでリファクタ等の変更で起きる予期せぬ不具合を検知できたりと、個人的にはアプリケーションの命綱だと思っています。 今回はそのテストコードの実装時に起きたこと、躓いた出来事をつらつらと書いてみようと思います。 ことの始まり とある分報のつぶやきから始まりました。 ChatGPT Botへの相談 (※ペライチではChatGPTへの質問等をBot化して運用してます!
アバター
こんにちは。株式会社ペライチ でサーバサイドエンジニアをしている永見です。 多くの Web アプリケーションでは Linux 環境で動いていることでしょう。 私が開発の際、使っているで役立つコマンドを紹介します。 ファイルを作成する 空ファイルを作成するときは...touch $ touch text.txt サブディレクトリもまとめて作るときは...mkdir -p $ mkdir -p dir1/dir2/dir3 cp で末尾に文字をつけてバックアップするときは...{,} ファイル名を 2 回も入力したくないときに。 $ cp text.txt{,_back}
アバター
■ はじめに こんにちは。株式会社ペライチ の松元です。 先日Ruby技術者認定試験シルバーに合格したので、勉強方法や合格してみての所感などを書いていきたいと思います。 (正直、これ系の合格記事はすでにたくさんあり、n番煎じですがまだ僕は煎じてないのでw自分なりに書いていきたいなと思います!) タイトルを見て「え、ペライチってPHPの会社じゃないの?」って思う方がいるかもしれません。 確かにペライチではPHP(CakePHP)をメインに開発していますが、実はいくつかのマイクロサービス化された機能があり、それらではバックエンドにRailsを使っています。 また、現在PHPで構築されたモ
アバター
こんにちは!株式会社ペライチ のサーバーサイドエンジニアの福原です! 最近は ChatGPT を始め、さまざまな AI と呼ばれるものが話題ですね。 そんな中でも今日は画像生成 AI について触れてみようと思います。 ペライチでは LP に埋め込む画像について Pixta の画像をペライチ上でご購入いただいてそのまま利用できる仕組みになっています。 もちろん有料画像なだけあって良質な画像も多く、無料画像では出せない雰囲気があったりもするのですが、 「低コストでとりあえず LP を作ってみたい!」「そんなおしゃれな写真持っていない!」「画像の著作権が心配!」という人も多いと思います。 これ
アバター
こんにちは。株式会社ペライチのフロントエンドエンジニアの荒瀬です。 2023 年 1 月末に弊社の新サービス、ペライチなんでもマーケットがリリースされました。 https://mkt.peraichi.com/ こちらのペライチなんでもマーケットは、新たな試みとして既存のペライチのアーキテクチャとは異なる構成でフロントエンドを開発しています。 Nuxt3 を採用したので、その過程や開発してみての所感などを簡単ではありますがフロントエンドを中心にまとめてみました。 構成 Nuxt3 Apollo Server AWS App Runner (Backend は Rails) Gra
アバター
こんにちは。株式会社ペライチ の佐藤と申します。 ペライチでは Sentry を使ったアプリケーション監視を始めました。 運用開始して、日は浅いですが、やっていることや、やってみた効果についてまとめます。 Sentryとは Sentry とは、アプリケーションのパフォーマンスの監視やエラー追跡ができるサービスです。 実際に使ってみると、かなり細かくエラー発生時のログの状況や、回数をモニタリングできています。 導入も個別の SDK があるプラットフォームであれば、容易に導入できてあまり設定にハマるようなこともありませんでした。 (ものによるところはありますが、Rails 等はかなりよし
アバター
■ はじめに こんにちは。株式会社ペライチ のフロントエンドエンジニア藤田です。 デザイナーやサーバーサイドのエンジニアと連携を取り、アプリケーション内におけるユーザーと関わる部分の機能開発や改善が普段の主な業務内容です。 現在開発に携わっているプロジェクトにおいて、CSS 周りの負債を返済する一環として実験的にデザインシステム的な概念を導入してみました。 すべて触れると長くなってしまうため、今回はそのきっかけと、簡単に導入部分のお話をできればと思います。 ■ ペライチにおける CSS 周りの課題 ペライチでは機能ごとにドメインが別れていて、リソースもそれぞれで用意されています。
アバター