シンプルフォーム Tech Blogさんのフィード

https://zenn.dev/simpleform

リアルタイム法人調査システムを開発しているシンプルフォーム株式会社のテックブログ(旧版)です。新版はこちら→ https://zenn.dev/p/simpleform_blog エンジニアを積極採用中!カジュアル面談も歓迎です。採用ページはこちら→ https://caree

フィード

記事のアイキャッチ画像
pytest-monitorとpytest-memrayを用いてソフトウェアのボトルネックを発見する
シンプルフォーム Tech Blogさんのフィード
本記事を閲覧いただきありがとうございます。シンプルフォーム社のエンジニアの駒井 (@rindybell) です。本記事は SimpleForm Advent Calendar 2023 の23日目の記事となっています。本記事では、ソフトウェアのボトルネック発見に有用な、pytest-monitor と pytest-memray というライブラリを紹介します。 1. 背景プロダクトマネージャといったステークホルダがソフトウェアを評価するとき、「何らかの検索をできるか」とか「期待するデータが表示されるか」といった、機能面をしばしば重視します。ただし、運用コストに影響するため、メモリ...
5ヶ月前
記事のアイキャッチ画像
その信頼区間(エラーバー)、本当に信頼できますか?~統計学におけるサンプルサイズの重要性~
シンプルフォーム Tech Blogさんのフィード
TL;DR経験的に信頼性の高い区間推定には最低 30 のサンプルが推奨されていますが、母集団が正規分布に従う場合はそれよりも少ないサンプル数でも十分な場合があります。しかし、指数分布のように非対称性の高い分布では、より多くのサンプルが必要となる傾向があります。DALL·Eにより生成 はじめにこんにちは。エンジニアチームの小林です。本記事は SimpleForm Advent Calendar 2023 の 24 日目の記事です。最近では、便利なライブラリのおかげで、stats.t.ppf(0.975, df=sample_size-1) のような単一のコマンドで信頼区...
5ヶ月前
記事のアイキャッチ画像
MeCab vs ChatGPT 個人名・代表者名抽出
シンプルフォーム Tech Blogさんのフィード
シンプルフォームの中仙道(@hinata17100) です。本記事は SimpleForm Advent Calendar 2023 の20日目の記事となっています。当社では法人調査の情報基盤を作るため、法人に関する様々な情報を日々収集しています。データソースが多岐に渡り、統一された規格に基づいているわけではないため、データの整形に手間がかかることがあります。特に、個人名・代表者名の抽出は厄介な問題です。そこで今回は個人名を抽出する技術の選定のため、形態素解析のライブラリであるMeCabと大規模言語モデルのChatGPTの個人名抽出の性能を比較してみました。方法は具体的には述べま...
5ヶ月前
記事のアイキャッチ画像
Generated Columnを使った話
シンプルフォーム Tech Blogさんのフィード
シンプルフォームでエンジニアをやっている 中山@h7kayama と申します。本記事は SimpleForm Advent Calendar 2023 の 19 日目の記事です。本日は、最近実施したパフォーマンス改善の話をしたいと思います。 背景ある日、CS メンバから弊社サービスの管理画面が激重で業務に支障をきたしているという報告を受けました。前々から管理画面が重くなっているという事象は把握していたものの、なかなか優先度が上がらず後回しになっている状況でしたが、これはヤバいと思い、パフォーマンス改善に着手しました。 原因調査NewRelic を確認したところ、特定の...
5ヶ月前
記事のアイキャッチ画像
Lambda Function URL で簡単に Slack の bot 作成
シンプルフォーム Tech Blogさんのフィード
シンプルフォームのエンジニアの杉です。本記事は SimpleForm Advent Calendar 2023 の 18 日目の記事です。この記事では AWS の Lambda 関数で使用することのできる Lambda Function URL について書きたいと思います。 Lambda Function URL とはSlack などのサービスから簡単に Lambda 関数を invoke したいと思ったことはないでしょうか?このような場面で便利なものが Lambda Function URL です。今までは、 Lambda 関数の AWS 認証なしの HTTPS 経由で実行を...
5ヶ月前
記事のアイキャッチ画像
AWSサーバーレス環境でのバッチ構成パターン集
シンプルフォーム Tech Blogさんのフィード
こんにちは!インフラエンジニアの@Zepprix です。本記事は SimpleForm Advent Calendar 2023 の17日目です。サーバーレス環境でバッチを実装する際、AWS では複数の設計を検討できると思います。本記事ではいくつかの実装例を挙げて比較検討していきます。ユースケースとしては DB のマイグレーションの実行環境等を想定しています。 背景当社ではアプリケーションが利用するデータベースとして Aurora MySQL を利用しており、スキーマ更新等のマイグレーションの実行は運用していく上で不可欠な要素です。現状、開発者が手動でコマンドを叩く形で実行し...
5ヶ月前
記事のアイキャッチ画像
Plasmo + LangChain で作る Chrome 拡張 AI
シンプルフォーム Tech Blogさんのフィード
シンプルフォーム CTO の小間 (@hkomachi) です。本記事は SimpleForm Advent Calendar 2023 の10日目です(遅刻)。 実装の前にコンセプト検証世はまさに大生成 AI 時代。最近の生成 AI の進化は目覚ましく、これまでに無かった生成 AI プロダクトの市場が急速に広がっています。シンプルフォームでも、先日 (2023年11月6日) の OpenAI Dev Day で発表された GPTs を用いて、生成 AI アプリケーション開発の PoC を高速に回す仕組み作りに挑戦しています。GPTs は、ChatGPT のカスタマイズバージョ...
5ヶ月前
記事のアイキャッチ画像
ダミーの法人番号を生成する仕組みを作ろう
シンプルフォーム Tech Blogさんのフィード
エンジニアリングマネージャの犬束 (@sekainoinuatsu) です。本記事は SimpleForm Advent Calendar 2023 の 13 日目の記事です。当社では法人調査の情報基盤を作るため、法人に関する様々な情報を日々収集しています。日本では、国税庁が全ての法人に 13 桁の法人番号を付与しており[1]、当社が法人の情報を収集して紐付ける上で積極的に法人番号を活用しています。この 13 桁の番号は、完全にランダムに決められている数字というわけではなく、一定の規則があります。実装においては、法人番号の規則性を利用するケースもあります。そのため、自動テスト...
5ヶ月前
記事のアイキャッチ画像
SQLAlchemy flush超入門
シンプルフォーム Tech Blogさんのフィード
シンプルフォームの中仙道(@hinata17100) です。本記事は SimpleForm Advent Calendar 2023 の12日目の記事となっています。本記事ではPythonの中でよく利用されているORMの1つであるSQLAlchemyの「flush」についてご紹介します。 flushとはflushとは、addとcommitの間というイメージをするとわかりやすいです。どういうことかというと、DB上に一時的に保存はされてはいるけどrollbackが可能な状態です。 動作の例文章ではわかりにくいと思うので実際に動作を見てみましょう。game.nameがvalor...
5ヶ月前
記事のアイキャッチ画像
類似記事のグルーピングを ChatGPT と GNN でやってみた
シンプルフォーム Tech Blogさんのフィード
シンプルフォームのエンジニアの杉です。本記事は SimpleForm Advent Calendar 2023 の 11 日目の記事です。この記事ではニュースなどの文章に対して類似記事のグルーピングを ChatGPT と Graph Neural Network ( GNN )を用いて試してみたことについて書かせていただきます。 背景世の中には多くのニュースが存在します。1 日のうちに作成される記事を全て読むということは難しいです。これらのニュースを要約やグルーピングすることができればより多くの記事を読むことが可能になります。本記事では ChatGPT と GNN を用いたニュ...
5ヶ月前
記事のアイキャッチ画像
グラフデータベースのためのテスト基盤を構築し、開発サイクルを高速化してみた
シンプルフォーム Tech Blogさんのフィード
本記事を閲覧いただきありがとうございます。シンプルフォーム社のエンジニアの駒井 (@rindybell) です。本記事は SimpleForm Advent Calendar 2023 の9日目の記事となっています。本記事では Gremlin Server や pytest-docker を用いて、グラフデータベースを用いたアプリケーション向けのテスト基盤を構築した例を紹介します。 1. 背景弊社が所有するデータの中には、オブジェクト間に関係性があり、グラフとして表現することに適するデータがあります。例えば、株式会社や商業施設に関するデータがあり、株式会社や商業施設を頂点と扱い、...
5ヶ月前
記事のアイキャッチ画像
ターミナル上からVPN接続する( Tunnelblick編 )
シンプルフォーム Tech Blogさんのフィード
RailsエンジニアのDです。本記事は SimpleForm Advent Calendar 2023 の 8 日目の記事です。当社では通常、開発の際には社内のVPNに接続にした状態で作業を進めています。VPN接続の際には Tunnelblick を利用しており、本記事では Tunnelblick を利用した際のコードベースの実行によるVPN接続方法に関してご紹介します。 前提自身の普段の開発には、Macbook( macOS )を用いており、本記事も主に macOS を利用しているユーザ向けの記事になっています。 VPN接続をより快適にしたい背景メイントピックの前に、...
5ヶ月前
記事のアイキャッチ画像
レシピサイトをクローリングして健康になった気になってみた
シンプルフォーム Tech Blogさんのフィード
はじめにエンジニアの @infinity0206 です。近年健康診断の数値が悪くなっており、そろそろ運動しないとやばそうです(しません)本記事は SimpleForm Advent Calendar 2023 の7日目です。今回は社内で法人データのwebクローリングにも活用されている Scrapy についてお話しします! 膨大なクローラの管理弊社では SimpleCheck という法人情報を調査することのできるSaaSを開発しています。このサービスの一番根幹とも言える部分が法人データの管理になります。web 上のデータ収集にはクローラを別途開発して運用しており、クローリン...
5ヶ月前
記事のアイキャッチ画像
Whisper による音声認識の最先端〜8年越しのASR
シンプルフォーム Tech Blogさんのフィード
シンプルフォーム CTO の小間 (@hkomachi) です。本記事は SimpleForm Advent Calendar 2023 の6日目です。今日は音声認識についてです。 背景私は今から 9 年前の 2014 年頃に国産の自動音声認識 (ASR: Automatic speech recognition) アプリケーションの開発プロジェクトに携わっていました。当時は精度面でも速度面でも大きな苦難があったものですから、近年の認識精度・速度の急速な進化には大変驚いています。当時、一部の国産の音声認識モデルは、汎用的な用途では Google の SpeechRecognit...
5ヶ月前
記事のアイキャッチ画像
Lambda の同時実行数でハマった話
シンプルフォーム Tech Blogさんのフィード
シンプルフォームでエンジニアをやっている 中山@h7kayama と申します。本記事は SimpleForm Advent Calendar 2023 の 4 日目の記事になります。本日は最近一番ハマった「Lambdaの同時実行数」についてお話したいと思います。弊社では SimpleCheck という法人名を入力するだけで世の中の情報を瞬時に収集し、30秒でレポーティングするサービスを開発しています。そんな SimpleCheck の裏側は主に AWS の Lambda を使用しています。Lambda のイベントソースは、FIFO SQS キューを使用しており SQS - Lamb...
5ヶ月前
記事のアイキャッチ画像
Lambda が timeout する際に graceful に落としたい日々だった
シンプルフォーム Tech Blogさんのフィード
エンジニアリングマネージャの犬束です。本記事は SimpleForm Advent Calendar 2023 の 3 日目の記事です。当社では AWS Lambda を多く活用しています。今回は、Lambda を運用する中で当社で活用している Tips をご紹介します。 前提知識Python ランタイムの Lambda を活用したことがある方向けの記事です。Lambda の仕組みやデプロイ方法などは説明しないので、Lambda を活用されたことがない方は別記事で調べていただけますと幸いです。 Lambda を使っていて困ることLambda にはタイムアウトが存在します...
5ヶ月前
記事のアイキャッチ画像
非定型 AI-OCR 作ってみた 〜 AI 時代の開発戦略を添えて
シンプルフォーム Tech Blogさんのフィード
シンプルフォーム CTO の小間 (@hkomachi) です。本記事は SimpleForm Advent Calendar 2023 の2日目です。 大 AI 時代の技術開発戦略最近の AI 技術革命により、ChatGPT に代表される LLM(Large Language Model: 大規模言語モデル)が普及し、いわゆる AI の民主化が進んでいます。これにより、機械学習についての低レイヤーな知見がなくても世界最高レベルの AI を活用した機能の開発や PoC を迅速に推進できるようになりました。先日の OpenAI DevDay と Microsoft Ignite で...
5ヶ月前
記事のアイキャッチ画像
Neptune GraphDB における ETL 実装
シンプルフォーム Tech Blogさんのフィード
こんにちは。インフラチームの山岸 (@yamagishihrd) です。本記事は SimpleForm Advent Calendar 2023 の1日目です。皆さん、グラフデータベースは利用されているでしょうか?当社でも最近 Amazon Neptune という AWS マネージドのグラフデータベースを導入しましたので、今回は Neptune における ETL の実装方法についてご紹介したいと思います。 概要シンプルフォームでは、グラフ DB を用いた機能を提供しています。グラフ DB の基盤として Amazon Neptune を使用しています。Neptune には、...
5ヶ月前
記事のアイキャッチ画像
Glue DynamicFrame 生成時のカラム SELECT でパフォーマンス改善した話
シンプルフォーム Tech Blogさんのフィード
こんにちは。インフラチームの山岸 (@yamagishihrd) です。本記事は SimpleForm Advent Calendar 2023 の5日目です。今回は Glue ジョブ開発に関する Tips についてご紹介したいと思います。 記事概要当社のデータ基盤では ETL 処理に AWS Glue を使用しており、社内のデータ分析業務等のため RDS 上のデータを S3 上の DWH に日次で連携しています。連携対象のテーブルの中に他テーブルよりも明らかに処理時間の長いものがあり、どうやらバイナリ型カラムの存在が影響していそうでした。また、調べたところデータ出力先への書...
7ヶ月前
記事のアイキャッチ画像
sops × Terrgrunt で機密リソースを安全に IaC 管理する
シンプルフォーム Tech Blogさんのフィード
こんにちは。エンジニアチームの山岸 (@yamagishihrd) です。今回は、Secrets Manager シークレットや SSM パラメータのような機密情報を含むリソースを、sops を使って安全に Terraform (Terragrunt) 管理する方法について紹介します。Terragrunt については別エントリでも書いているので、併せてご覧頂ければと思います。https://zenn.dev/simpleform/articles/20221111-01-terraform-with-terragrunt 背景シンプルフォームでは、クラウドリソースの IaC...
1年前