LayerX エンジニアブログ

LayerX の エンジニアブログです。

2021-01-01から1年間の記事一覧

【GraphQL × Go】gqlgenの基本構成とオーバーフェッチを防ぐmodel resolverの実装

こんにちは。SaaS事業でLayerX ワークフローの開発を担当している@sh_komineです。 この記事は、LayerX Advent Calender 2021の16日目の記事です。 LayerX ワークフローではGoとGraphQLをフル活用して開発を行なっています。 www.layerx.jp GraphQLの良さは…

LayerXの業務標準端末を決定するまでにやったこと

CTO室の@ken5scal です。 こんにちは、CTO室の@ken5scal です。 この記事はLayerX 2021アドベントカレンダー 14日目の記事です。昨日はcipeさんの 本番稼働でわかった秘匿化技術のチャレンジングなこと でした。明日はSaaS事業部 BizDevのgunchanさんの記事…

本番稼働でわかった秘匿化技術のチャレンジングなこと

こんにちは!LayerX LabsでAnonifyを開発しているエンジニアの恩田(さいぺ)です。 この記事はLayerX 2021アドベントカレンダー 13日目の記事です。昨日はmosaさんのLayerXのカルチャーと行動指針 (2021年版)でした。明日はken5さんの記事が公開される予定…

Zendesk Guide テーマのDX(Dev Exp)がすごい件

はじめに こんにちは、LayerXから三井物産デジタル・アセットマネジメントに出向している武市(@tacke_jp)です。最近、ALTERNAのサポートページ作成のためZendesk Guide (helpcenter) を利用したFAQページの開発を行いました。その際にZendesk Apps Toolsを利…

mysqlsh (MySQL Shell): Dump and Restore in AWS Aurora

LayerX インボイス を開発しているDX事業部の @yyoshiki41(中川佳希)です。 DX事業部ではデータベースとして MySQL(Amazon Aurora)を利用しています。 今回のブログは、mysqlsh (MySQL Shell) を用いて、Dumpデータ取得とリストアを行う際に気をつける点…

配信メールのテンプレート管理をSendGirdからgo:embedを用いた方法に変更した話

みなさまこんにちはMDM事業部で金融DXに日々精進している @MasashiSalvadorです。 今回はメールのテンプレート管理法を変更しDX(Developer eXperience)を改善した話をします。 何をやったのか? 顧客へ自動配信するメールのテンプレートの管理をSendGridから…

【9/28-30開催】LayerXから2名のエンジニアがAWS Dev Day Online Japan 2021に登壇します! #AWSDevDay

こんにちは!いよいよ来週AWS Dev Dayが開催ですが、この度LayerXから2名のエンジニアが登壇することになりました。 どんな講演になるのか、本記事で簡単に紹介します! E-2 : LayerXインボイスのAI-OCRを支える非同期処理アーキテクチャ (9/29 15:10〜15:50…

ISMSもとったし、エンジニアだけどITガバナンス主導してきた話をする

CTO室 @ken5scal です。座右の銘は「当社はブロックチェーンの会社ではもうありません」です。 主にインフラ構築・運用をしたり、社内の基盤を整えたり、不具合を特定して git blame したら自分のcommitで泣いたりしています。 当社は「すべての経済活動を、…

Go: json パッケージ Marshaler/Unmarshaler の実装例

Go

LayerX インボイス を開発しているDX事業部の @yyoshiki41(中川佳希)です。 今回は、json パッケージにある Marshaler, Unmarshaler インターフェイスを満たす構造体を用いたアプリケーション実装の例を紹介します。 Marshaler, Unmarshaler インターフェ…

Amazon ECS と AWS Fargate で動作する「LayerX インボイス」のコスト最適化手法

LayerX インボイスのアプリケーション・サーバーはAmazon ECS と AWS Fargateで動作しています。今回の記事ではそのコスト最適化手法について解説したいと思います。サマリーとしては、LayerX インボイスではオーソドックスに費用の削減とタスク数の最適化と…

SQLは口ほどにものを言うーRedashによるクエリ共有、監視、データ連携によるチーム効率化ー

こんにちは。DX事業部の花村(@naomasabit)です。先日の投稿でユーザーの利用状況確認のためにAWSのQuickSightを利用していると書きましたが、並行して分析ツールのRedashも利用しています。Redashの良い点としてクエリベースでの分析、監視アクション、スプ…

Terraform import のススメ 〜開発効率化編〜

こんにちは、LayerX で主にインフラを担当している高江です。 今回は、一見地味ではありますが実はとても役に立つ機能である Terraform import についてお話したいと思います。 Terraform import とは 公式サイトでは次のように説明されています。 Terraform…

MySQL Generated Columns を活用したユニークキー制約

DX事業部の @yyoshiki41(中川佳希)です。 現在は、LayerX インボイス という経理業務を行う方を対象ユーザーにした SaaS をメインで開発しています。 今回は、MySQL での Generated Column の活用についての紹介です。 Generated Column とは? カラム定義…

デザイナーからみた、眠れる「銭」をActivateする会社

LayerXに入社するに至った経緯と、2ヶ月が経った今だから感じる三井物産デジタル・アセットマネジメントの魅力について、事業担当のデザイナーがお伝えします。

【イベントレポート】LayerXプロダクトさわらNight #1 を企画・実施しました

LayerXの石黒(@takaya_i)です。LayerXでは採用や組織づくり、広報の面から開発チームをサポートしています。 今回は、6月16日にオンラインで実施した【LayerXプロダクトさわらNight #1 】のオンラインイベントをレポートします。(一番下に次回の申込みフォ…

【イベントレポート】DX Tech Talk #4 「ソフトウェアの力で巨大な課題解決に挑む」_Autify × LayerX

LayerXの石黒(@takaya_i)です。LayerXでは採用や組織づくり、広報の面から開発チームをサポートしています。 今回は、AutifyとLayerXの共催で5月25日にオンラインで実施した【DX Tech Talk #4_ソフトウェアの力で巨大な課題解決に挑む】のオンラインイベント…

負荷テストツール「Vegeta」でAnonifyの負荷テストをしていく話

こんにちは!LayerX Labsでエンジニアをやっているきむ(@jkcomment)です。 なぜ負荷テストを行うのか 負荷テストと言われるとシステム開発が終わったタイミングやサービスのリリース前、システムの性能低下が検知されたタイミングで行われることが多く、また…

複雑な開発要件を整理する際の考え方〜RDRAを参考に〜

はじめまして!LayerXのカレー担当のN_Taisho(西井)です。 私は、もともと霞ヶ関の役人として、6年ほど地方財政支援、大規模災害の被災地の復旧・復興支援、国際協定交渉等に関わってきました。現在はLayerXに所属しながら、三井物産デジタル・アセットマ…

Azure Confidential Computing VMでAnonifyを動かそう

こんにちは!LayerX LabsでAnonifyを開発している恩田(さいぺ)です。 前回は秘匿化モジュールAnonifyの開発について書かせていただきました。 tech.layerx.co.jp 記事中でも言及しましたが、AnonifyのバックエンドはIntel SGX®︎を採用しています。Anonify…

Product Engineering Managerの募集をスタートしました

こんにちは。松本(@y_matsuwitter)です。 最近はひたすら干し芋を齧っています。 昨日、新たにProduct Engineering Managerという、Engineering Managementに加えてProductも一体的に見ていくべくセットしたポジションについて募集を開始しました。 今回は…

新卒エンジニアから見てLayerXはどんな会社か

こんにちは、LayerX インボイスのAI-OCRを開発しています、新卒ソフトウェアエンジニアのTomoakiです。 推しのグリーンカレーのペーストはMAE PLOYのものです(KALDIとかにあります)。 さて、私ごとですが最近大学を卒業しまして、”新卒の社員”になりました…

Golandでよく使うショートカット

こんにちは、DX事業部の木戸です。 約10年前にWindows + Java + Eclipseという環境からMac + PHPという環境に変わった際に、今はどうかわかりませんがMac + EclipseがWindowsと使用感があまりにも異なっていて、開発効率が悪化したときに出会ったのがJetBrai…

多種多様な会計ソフトと接続するためのSaaSの作り方

こんにちは。LayerX エンジニアの花村(@naomasabit)です。 プレスリリースでも多く出していますが、請求書処理を行うLayerX インボイスは多くの会計ソフトと連携しています。他ソフトウェアと連携するという機能は複雑性を伴いますが、この記事では私が会…

AI-OCRを支える非同期処理アーキテクチャ

こんにちは!LayerXエンジニアの高際 @shun_tak です! この記事では、LayerX インボイスの請求書AI-OCRを支える非同期処理の仕組みについて解説したいと思います。 いきなりサマリーですが、今回お伝えしたいのは以下の2点です。 請求書は突然大量にアップ…

【イベントレポート】DX Tech Talk #2 「難しいことに挑戦するから面白い」開発組織のリアル_CADDi×LayerX

LayerXの石黒(@takaya_i)です。LayerXでは採用や組織づくり、広報の面から開発チームをサポートしています。 今回は、CADDiとLayerXの共催で4月28日にオンラインで実施した【DX Tech Talk #2 「難しいことに挑戦するから面白い」開発組織のリアル】のオンラ…

「時間・学び・セキュリティ」新規プロダクト開発で意識したことーAWSイベント登壇を終えてー

こんにちは、LayerXでインフラを担当している高江です。 今回は、ちょうど今週に開催されていたAWS Summit Online 2021に登壇させていただいた内容と、その事前イベント的な位置付けで先月の27日に行われたAWS Startup Communityのイベントでお話させていた…

freee API のGoクライアントライブラリを公開しました

DX事業部の @yyoshiki41(中川佳希)です。 現在は主に、LayerX インボイス という経理業務を行う方を対象ユーザーにした SaaS プロダクトを開発しています。 先日、会計freee API のGoクライアントを公開しました github.com 今回はそのGo実装内部について…

LayerX インボイスのメール受信の仕組み

こんにちは!LayerXの mosa(榎本)です。 今日は、LayerXインボイスの機能であるメール受信について解説していきます。 LayerXインボイスでは、様々な方法で請求書ファイルを取り込むことができます。直接経理の方がアップロードできるのはもちろん、特定のメ…

Micro Hardeningに参加した話

CTO室で社内基盤や全体的なセキュリティ担当をしている @ken5scal(鈴木研吾)です。 今回のブログはGW中(5/4)に参加したMicro Hardeningについて書きます。 microhardening.connpass.com 言うまでもないですが、インシデントが起きて嬉しい企業はありませ…

開発爆速化を支える経営会議や週次定例の方法論 〜LayerXの透明性への取り組みについて〜

こんにちは。松本(@y_matsuwitter)です。GWはカレーを沢山作っていました。スパイスから作るカレー、思ったよりも手間が掛からないですね。インド料理にハマる波が数年置きにやってきます。 本日は、最近いくつかのイベントでの議論を通じて感じた、開発組織…