cipepserのブックマーク (58)

  • プロダクトとは願い - LayerX エンジニアブログ

    この記事はLayerX Tech Advent Calendar 2022の25日目の記事です! LayerXの mosaと申します!もう2022年も終わりですね、お疲れさまでした! LayerXには複数の事業部がありますが、僕は「バクラク」という、ハタラクをバクラクにするためのSaaSを開発しています。今年はバクラク経費精算、バクラクビジネスカードがリリースされたり、Machine Learningのチームが格的に立ち上がったり、開発生産性を高めるEnabling teamが発足したりと、沢山のことがありました。 僕はポジションでいうと「事業部CTO/CPO」という名前でして、プロダクトや開発組織全体を見つつも、特に新しいプロダクトをゴリゴリ前線で開発する立ち回りをしています。 この記事では、新規プロダクトを立ち上げていくなかで、特に悩みが多かった話を書いていきます。 バクラクの開発に

    プロダクトとは願い - LayerX エンジニアブログ
    cipepser
    cipepser 2022/12/26
  • GCPのCloud Pub/Sub Push SubscriptionをAWSで実現する - LayerX エンジニアブログ

    この記事はLayerX Tech Advent Calendar 2022の20日目の記事です。 こんにちは。LayerXのバクラク事業部でOpsエンジニアをやっている@civitaspoです。みなさん、GCPのCloud Pub/Sub Push Subscriptionはご存じですか?便利ですよね。この記事では、あの便利さをAWSで実現する方法を紹介したいと思います。 GCPのCloud Pub/Sub Push Subscription とは? GCPにはCloud Pub/Subというメッセージングサービスがあります。Pub/Subモデルを実現するGCPのマネージドサービスです。Cloud Pub/Subには3つのSubscription Typeがあり、その一つがPush Subscriptionです。 cloud.google.com cloud.google.com 引用した

    GCPのCloud Pub/Sub Push SubscriptionをAWSで実現する - LayerX エンジニアブログ
    cipepser
    cipepser 2022/12/24
  • Fintech事業部における開発効率を重視した新規開発への取り組み - LayerX エンジニアブログ

    記事は LayerX Tech Advent Calender 2022の12/23日分の記事です。 自己紹介 LayerX、Fintech事業部でエンジニアリングマネージャーをしています。たこちゅー ( @takochuu )です。 前職含めてtoC開発の経験が豊富で、過去5年ほどEMをしていました。 経歴はこちら 現在は、三井物産デジタル・アセットマネジメントに出向して、10ヶ月ほど個人向け投資サービスであるALTERNA(オルタナ)の新規開発に関わっています。 MDMについて 三井物産デジタル・アセットマネジメント(以下、MDM)については以下の記事郡が詳しいので、ご覧になってみてください。 そんなMDMを一言で表すと、「スタートアップ・エンジニアカルチャーに三井物産・金融取引業者のエッセンスを足し、金融サービスを作っている会社」です。 社長の上野さんは三井物産で数々の会社経営を実

    Fintech事業部における開発効率を重視した新規開発への取り組み - LayerX エンジニアブログ
    cipepser
    cipepser 2022/12/24
  • バクラクビジネスカードの立ち上げで挑戦したフロントエンドの取り組み - LayerX エンジニアブログ

    バクラクビジネスカードの立ち上げで挑戦したフロントエンドの取り組み LayerXでエンジニアをしている松駿(toshi1127)です。 現在はバクラクビジネスカードとバクラク電子帳簿保存の開発に携わっています。 この記事はLayerX Tech Advent Calendar 2022の22日目の記事です。 バクラク事業部では、これまでフロントエンド開発にNuxt.js + TypeScriptを中心とした技術スタックでを採用してきました。 8月から提供させていただいているバクラクビジネスカードでは、React + TypeScriptを採用しました。 新たに挑戦したフロントエンドの取り組みを中心に、技術選定の背景や2〜3ヶ月という短期間でリリースするために意識したことを紹介できればと思います。 開発体制の特徴としては次のとおりです。 バックエンド/フロントエンド関わらず、それぞれが機能

    バクラクビジネスカードの立ち上げで挑戦したフロントエンドの取り組み - LayerX エンジニアブログ
    cipepser
    cipepser 2022/12/24
  • GraphQL で REST API を作る - 技術的な挑戦と、それを支える文化の話 - LayerX エンジニアブログ

    バクラク事業部の Product Enabling Team でソフトウェアエンジニアをしている @izumin5210 です。 この記事は LayerXアドベントカレンダー(概念) の54日目の記事です。 バクラクのリソースを提供する REST API を開発するにあたり、その基盤を GraphQL をベースに実装する、ということをしました。 なかなかにチャレンジングな選定であり、これを入社してすぐ作っているという背景も含めておもしろい話だと思うので、技術的な話と文化的な話をあわせて紹介させてください。 「GraphQL で REST API を作る」とは? まず「GraphQL で REST API を作る」というのが見慣れない文字列なのではないでしょうか? 前提を揃えるために目指す形を明確にしておくと、だいたい以下のようなものです。 外から見た API は REST に従っており、H

    GraphQL で REST API を作る - 技術的な挑戦と、それを支える文化の話 - LayerX エンジニアブログ
    cipepser
    cipepser 2022/12/22
  • Document AI を使った請求書読み取り機能の検証 | yu-ya4 - LayerX エンジニアブログ

    LayerX で機械学習エンジニアとして働いている松村 @yu-ya4 です。現在はAI-OCRチームにて、バクラクシリーズのOCR機能の開発を主に行なっています。この記事は LayerX Tech Advent Calendar 2022 の18日目の記事です。 OCR機能とは、アップロードされた請求書や領収書などの帳票の画像データを読み取り、人間が手入力せずとも必要な項目を自動で抽出してデータ化する機能のことです。以下は請求書OCR機能のデモ動画です。 www.youtube.com このブログは、このようなOCR機能を誰でも簡単に実現してしまおうとしている Document AI というサービスを触って検証した際のメモ書きとなります。API を扱う Client ライブラリもいくつかの言語で公開されており、今回は Python を使いました。もしかしたら私の仕事がなくなるかもしれませ

    Document AI を使った請求書読み取り機能の検証 | yu-ya4 - LayerX エンジニアブログ
    cipepser
    cipepser 2022/12/22
  • 複数環境の開発にPostmanを活用する - LayerX エンジニアブログ

    この記事は LayerX Tech Advent Calendar 2022 の17日目の記事です。 LayerXのバクラク事業部でバクラクビジネスカードの開発マネージャーをしている @shnjtk です。 今日は普段の開発で僕がPostmanをどう使っているかについてご紹介したいと思います。 Postman おそらくご存知の方が多いと思いますが、一応説明しておくとAPI開発用のプラットフォームです。 機能の一例として、APIクライアントとしてサーバにリクエストを送ったり、複数のAPIリクエストを規定の順番で実行したり、mock APIサーバを立てたりできます。 www.postman.com 非常に多機能でいろんな使い方ができるのですが、今回はごく基的な使い方に絞ってお話します。 前提となる開発環境 機能の紹介を始める前に、今回の記事で前提としている開発環境についてご説明します。 書籍

    複数環境の開発にPostmanを活用する - LayerX エンジニアブログ
    cipepser
    cipepser 2022/12/18
  • ガバナンスとアジリティを両立する金融システムのTerraform基盤設計 - LayerX エンジニアブログ

    記事は LayerX Tech Advent Calender 2022の12/15分の記事です。 自己紹介 LayerXでエンジニアをしている Etaro ( @etaroid )です。 現在は、三井物産デジタル・アセットマネジメントにて デジタル証券で資産運用ができる個人向け投資サービス「ALTERNA(オルタナ)」の新規開発を行っています。 以前は同社内で法人向け投資サービスのフロントエンド、バックエンド開発などを行っていました。 個人向け投資サービス「ALTERNA (オルタナ)」では、インフラの開発をメインで担当しております。 alterna-z.com MDMとは 三井物産デジタル・アセットマネジメント(以下、MDM)は、スタートアップであるLayerXと、三井物産、SMBC日興証券、三井住友信託銀行などの大企業との合弁会社としてスタートしたジョイントベンチャーです。 www

    ガバナンスとアジリティを両立する金融システムのTerraform基盤設計 - LayerX エンジニアブログ
    cipepser
    cipepser 2022/12/16
  • マルチテナントSaaSにおけるGoのテスト高速化 - LayerX エンジニアブログ

    この記事はLayerX Tech Advent Calendar 2022 の14日目の記事です。 LayerXのバクラク事業部でエンジニアをしている @upamune です。現在はバクラク申請・経費精算チームの開発に携わっています。 今回の記事では、Goで書かれているバックエンドアプリケーションのテストが遅かったのを、どのようにして改善したかについてご紹介します。 背景 LayerXでのサービスのバックエンドはGo言語で記述されています。マルチテナント構成で一つのDBに複数のテナント(会社)のデータが入っている状態です。 入社してバックエンド開発をしていると、テストを走らせてみると結構時間がかかることに気づきました。その時のテストケースの数を考えても遅いと感じ、今後テストを拡充していくことを考慮すると今のうちに対処しておかないとテストの時間の増加に繋がってしまうため、この問題を解消するべ

    マルチテナントSaaSにおけるGoのテスト高速化 - LayerX エンジニアブログ
    cipepser
    cipepser 2022/12/16
  • Go MachineryでGraceful shutdownできてないバグを直した話 - LayerX エンジニアブログ

    ブログはLayerX Tech Advent Calendar 2022 の 12/13 の記事です。 こんにちは、バクラクのOCRなどを開発しているTomoakiです。 コーヒーはラテよりカプチーノ派です。 Machineryとは MachineryはGo製の非同期タスク管理フレームワークです。 github.com バクラクのバックエンドでは主にGo言語を採用しており、非同期で実行したい処理はメッセージキューとしてAmazon SQS、メッセージの送受信やジョブワーカーの管理にはMachinery(v1)を使用しています。 OCRでも採用している技術スタックは同じで、突然大量のリクエストが来ても対応できるように非同期処理を多用しております。 以下の図のようにファイルがアップロードされてから、OCRの実行結果を返すまでの過程で非同期処理がたくさん実行されています。 OCRの非同期タスク

    Go MachineryでGraceful shutdownできてないバグを直した話 - LayerX エンジニアブログ
    cipepser
    cipepser 2022/12/16
  • エンジニアオンボーディングを改善するツールの紹介 - LayerX エンジニアブログ

    LayerX の Enabling Team でソフトウエアエンジニアをやっている suguru です。LayerX Tech Advent Calendar 2022 の 12/12 のの記事になります。 今日は、入社して最初に開発した社内ツールの話をしようと思います。 LayerX のバクラク事業部では、バクラク請求書、バクラク申請・経費精算、バクラク電子帳簿保存、バクラクカードなど、複数のプロダクトを運用しています。 內部のアーキテクチャとしては、プロダクトごとに独立したAPIが環境で稼働しており、プロダクト間連携は、お互いの Private API を通じて連携しています。そのため、バクラクの開発用環境をローカルで構築するには、複数のプロダクトのAPIサーバーを稼働させる必要があります。 バクラクのサービスアーキテクチャについては、下記のスライドを参照してください。 お客様に対して

    エンジニアオンボーディングを改善するツールの紹介 - LayerX エンジニアブログ
    cipepser
    cipepser 2022/12/16
  • OCRの精度を担保するテスト基盤アーキテクチャ - LayerX エンジニアブログ

    こんにちは!LayerXバクラク事業部 OCRチーム ソフトウェアエンジニアの秋野(@akino_1027)です。 この記事では、バクラクシリーズの機能であるOCRのテスト基盤について紹介していきます。 ※記事は LayerX Tech Advent Calendar 2022 11日目の記事となります。 背景 バクラクでは手入力ゼロを目指すべく、 OCR機能(文書の読み取り機能)を提供しています。 以下、OCRで書類が読み取られる様子 www.youtube.com OCR機能は「手入力不要」という価値に直結するため、OCR精度を常に高い水準で保っておく必要があります。 安心してコード変更を取り込めるように 今まで読み取れてたのに読み取れなくなった書類はないか 新たに読み取れるようになった書類はどれか を確認する仕組みが必要でした。 OCRテスト基盤の開発 そこでOCR精度を担保するた

    OCRの精度を担保するテスト基盤アーキテクチャ - LayerX エンジニアブログ
    cipepser
    cipepser 2022/12/12
  • Github ActionからGoogle Workspaceへのキーレス化に半年間はまったのでメモっとく - LayerX エンジニアブログ

    この記事は、LayerX Tech Advent Calendar 2022 10日目の記事です。 @ken5scal です。CTO室やらFintech事業部やらで色々やっています。 今日は、Github ActionからGoogle WorkspaceのReports APIをキーレスで 実行する件について紹介したいと思います。 めちゃくちゃハマり半年の熟成を経て実装できたので、その喜びとともにお送りいたします。 背景 今までAPIを実行するアクセスキーといったクレデンシャルの多くは静的な値やファイルの形をとっていました。 故に取り扱いを間違えると重大な窃取や漏洩に繋がる可能性が高くなります。 そういったリスクを低減する定期的なローテーションが良いプラクティスとされていましたが、人手によるローテーションは作業漏れによる可用性の面でのリスクに繋がり兼ねません。 つまり人類は愚か 幸いなこと

    Github ActionからGoogle Workspaceへのキーレス化に半年間はまったのでメモっとく - LayerX エンジニアブログ
    cipepser
    cipepser 2022/12/10
  • バクラクOCRにおける機械学習モデルの検証から本番投入までの取り組み - LayerX エンジニアブログ

    機械学習エンジニアの吉田です。今年の3月にLayerXに入社し主に機械学習を活用したOCRの開発をしています。それまでルールベースで実装されていた工程を一部機械学習ベースの実装に置き換えつつあり実際に番でも稼働しています。この記事ではどのように検証や開発を進めてきたのかご紹介します。 背景 LayerXで提供しているバクラクでは帳票をアップロードするだけで支払金額や支払期日などを自動で読み取り補完してくれるOCR機能があります。このOCRは主にルールベースで実装されていましたが、リリースから継続的に改善が行われていたことでかなり精度高く読み取ることができるようになっていました。しかし導入企業様が増えるにつれて次第に精度の改善が困難になり、一箇所修正するとこれまで読み取れていたものが読み取れなくなるなどコードの修正も困難になってきている状況でした。 一方でリリースから1年以上経過し集められ

    バクラクOCRにおける機械学習モデルの検証から本番投入までの取り組み - LayerX エンジニアブログ
    cipepser
    cipepser 2022/12/08
  • Database Migration with Atlas - LayerX エンジニアブログ

    この記事は、LayerX Tech Advent Calendar 2022 7日目の記事です。 Enabling Team エンジニアの @yyoshiki41(中川佳希)です! 直近チームで、 ORMフレームワークである ent を使う機会があり、 そこで利用している Atlas というデータベースマイグレーションエンジンについての紹介です。 ent ent の詳細な説明は省略しますが、以下のような特徴があります。 Go 用の ORM フレームワーク Go で Schema を記述し、コード生成を行う コード生成により、静的型付けされた明示的なAPIを実現 アプリケーションの中で扱いやすいようモデリングした Schema とそのリレーションを定義可能 e.g.) Edges で、エンティティ間のリレーションを表現 Eager Loading, Hook, Privacy レイヤなどの拡

    Database Migration with Atlas - LayerX エンジニアブログ
    cipepser
    cipepser 2022/12/08
  • B2B SaaSにおける認可サーバー開発で意識したこと - LayerX エンジニアブログ

    こんにちは!バクラク事業部の@ysakura_です。 先日、バクラクシリーズで共通的に利用できる OAuth 2.0 の認可サーバーを開発しました。今回は、認可サーバーを開発する中で直面したB2B特有に意識すべき点を紹介します。 会社・従業員という概念が登場するため、個人向けの場合と比べて考慮する要素が増えます。 連携担当の権限チェック お客様のデータを他社のサービスに連携するので、想定外の連携を発生させない事が重要です。その為、連携担当者が管理者権限を有しているかのチェックを入れています。 こういった機構が無いと、一般権限の従業員が 攻撃者のサービス に誤ってデータ連携をする事が起こり得ます。また、従業員個人のアプリに会社の情報を引き抜く事も原理的には可能です。(あまり想定したくはありませんが) 上場企業やIPO準備企業では、内部統制として求められる内容かと思います。 毎回ログインを要求

    B2B SaaSにおける認可サーバー開発で意識したこと - LayerX エンジニアブログ
    cipepser
    cipepser 2022/11/15
  • LayerX(バクラク事業)におけるSaaS導入コンサルタントの仕事 - LayerX エンジニアブログ

    この記事はLayerXアドベントカレンダーの5日目の記事です。 バクラク事業部のプロダクトマネージャーの花村です。日、事業所が200を超えるエンタープライズのお客様へのバクラク請求書・バクラク申請の導入を発表させていただきました。 bakuraku.jp バクラク自体はまだ2年目のSaaSではあるものの、直近エンタープライズのお客様向けに導入を支援させていただいておりました。 エンタープライズのお客様では業務フローが複雑になるため、通常のセールスに加えて、コンサルタントがついて業務フロー整理や導入サポートが不可欠です。私はプロダクトマネージャーが主務ではありますが、導入コンサルタントを兼務してお客様のサポートにあたっています。(私自身がフューチャーやデロイトといったコンサルティング企業での経験があったことも兼務の要因です) 今回の記事ではLayerXにおけるSaaS導入コンサルタントの仕

    LayerX(バクラク事業)におけるSaaS導入コンサルタントの仕事 - LayerX エンジニアブログ
    cipepser
    cipepser 2022/10/07
  • オンボーディング関連のシステム作業の時間を87.5%削るまでの軌跡 - LayerX エンジニアブログ

    この記事は、6月から始まっている #LXベッテク月間 38日目の記事です。 前日の記事は@akino_1027さんの「複数プロダクトに散らばったデータ統合に苦労した話」でした。 tech.layerx.co.jp Oui。CTO室およびFintech事業部で色々やってる @ken5scal です。記事はSlackの障害中に書いています。 突然ですが、皆さんは当社のイネーブル担当として入社した名村さん(執行役員)がスピーカーとして登場したエピソードを聞いていただけましたでしょうか Podcastエピソード -> ‎LayerX NOW!:Apple Podcast内の#51 Suguruさんを迎えて、LayerXが目指す「縦で突き抜けて横でイネーブルメントしていく組織」【メンバー:suguru×mosa×y_matsuwitter】 入社ブログはこちら -> 名村卓がLayerXへ「自分の

    オンボーディング関連のシステム作業の時間を87.5%削るまでの軌跡 - LayerX エンジニアブログ
    cipepser
    cipepser 2022/07/27
  • 読み取り精度100%が不可能と認め、失敗に備えユーザー体験を磨き込む話 - LayerX エンジニアブログ

    どうも!バクラクでOCRの開発を担当する高際 @shun_tak です! バクラクでは「圧倒的に使いやすいプロダクトを届け、ワクワクする働き方を。」というプロダクトビジョンを掲げて開発しています。 バクラクビジョン note.com そんなバクラクでは文書のデータ化を支援するため、文書の読み取り機能=OCR機能を提供しています。これにより、多様なレイアウト・大量の文書も瞬時にデータ化することができます。 以下、瞬時に読み取られる様子 youtu.be OCRで読み取ってデータ入力されるだけでも使いやすいプロダクトになっているかなと思いますが、この記事ではさらに一歩踏み込んで、「圧倒的に」使いやすくするための工夫の一端をお見せしたいと思います。 前提:請求書OCRで解きたい問題 請求書OCRは、経理に届く支払請求書を読み取ってデータ化します。データ化したい項目は、「いつまでに、だれに、いくら

    読み取り精度100%が不可能と認め、失敗に備えユーザー体験を磨き込む話 - LayerX エンジニアブログ
    cipepser
    cipepser 2022/07/16
  • LocalStackを用いてローカル開発のシークレット管理をセキュアにする - LayerX エンジニアブログ

    この記事は、6月から始まっている #LXベッテク月間 33日目の記事です。 前日の記事はtaikyyさんの「LayerXのQAは顧客に届ける価値を最大化したい」でした。 note.com ちょりす。CTO室およびFintech事業部で色々やってる @ken5scal です。 日はアプリ開発をローカルで行うためのSecrets管理のTipsを一部、書きたいと思います。 ぱっとアプリを書いて、さくっとコンテナイメージをビルドし、しゅっとAWS上にデリバリしたいことがありませんか? 当社では、そういった場合にAWS App Runnerを活用することがあります。 PoCなど初期段階のものをインフラレイヤーのことを意識したくないときに重宝しています。 しかし、AWSのロードマップにもある通り、ECSでできるようなVauleサービスであるAWS.Secrets Managerとの連携ができません。

    LocalStackを用いてローカル開発のシークレット管理をセキュアにする - LayerX エンジニアブログ
    cipepser
    cipepser 2022/07/16