タグ

SOTechnologiesに関するrx7のブックマーク (32)

  • データベースのER図を最新の状態に保ちつつ、いつでも閲覧できるようにした - SO Technologies 開発者ブログ

    こんにちは、CTO室の丸山です。相変わらず某CTOからの無茶振りを捌いております。 今回は、今開発しているSaaSサービスのER図を、なるべく手をかけずに最新状態に保ちながら、いつでも閲覧できるようにするために実践したことをご紹介できればと思います。 前提環境 今回ご紹介する方法は以下の環境下で実現しています。 インフラ: GCP データベース: PostgreSQL データベースのスキーマ管理: sql-migrate CI/CD: Github Actions モチベーション 開発・データ分析を行う上で、データベースのスキーマ構造を俯瞰的に把握するための手段としてER図を書いているのですが、これを最新の状態に保ち続けるのは割と面倒であると常々感じていました。 そこで、Schemaspyを使用してデータベースのスキーマ構造からER図を生成するようにしたものの、以下のような手順をスキーマ構

    データベースのER図を最新の状態に保ちつつ、いつでも閲覧できるようにした - SO Technologies 開発者ブログ
    rx7
    rx7 2024/06/16
    "相変わらず某CTOからの無茶振りを捌いております。" どこの企業も大変ですよねー(棒
  • Go Conference 2024 の LT 枠で発表を行いました! - SO Technologies 開発者ブログ

    はじめに こんにちは、ATOM 事業部のエンジニアの岸田 (@mwudo) です。 集計基盤の機能開発や保守、API サーバー、バッチ処理などを担当しており、ATOM のバックエンド周りを見守っています。 趣味はボルダリングで、毎週、そびえ立つ壁に挑戦しています。 タイトル通り、Go Conference 2024 の LT枠で登壇をしたので振り返りをしたいと思います。 Go Conference 2024 gocon.jp Go Conference 2024 はプログラミング言語 Go に関連した発表やスポンサーブースなどの企画がたくさん用意されたカンファレンスです。 今回は 2024 年 6 月 8 日にオフラインで開催がされました。 オフラインは数年ぶりの開催で、自分自身も Go Conference は何回も参加していましたがすべてオンラインで今回初めてオフラインの参加でした。

    Go Conference 2024 の LT 枠で発表を行いました! - SO Technologies 開発者ブログ
    rx7
    rx7 2024/06/16
    うちの若手が頑張ってくれていて嬉しい...!!
  • 育休取得を半年間で申請したテックリードの話 - SO Technologies 開発者ブログ

    こんにちは、ライクル事業部 エンジニアの菊池@kichionです 今年の4月に第二子が誕生したので長男(1歳8ヶ月)のお世話も含めてと一緒にやっていきたいという気持ちが強く「半年間の育休」を会社に申請しました その際にいろいろ会社と話し合って不安を取り除けたのでこんな形の育休もあるのだなという気持ちで見てもらえたらと思います 経緯 懸念 引き継ぎ 人事からの提案 実施 部分的な勤務 早期の復帰 振り返り 感謝 まとめ 経緯 4月に第二子の誕生が予定されていたので、出産後の育児についてと話し合っていました 出産直後の母体が受けるダメージは交通事故レベルと言われるほどで、少なくとも1ヶ月は産後のケアと長男のお世話で手一杯になるので育休は取得しようとなりました 加えて長男の育児だけでもそこそこ負担が大きく、かつ2歳に近づくにつれて成長が著しく見ているだけで幸せな気持ちになれるので、子どもの成

    育休取得を半年間で申請したテックリードの話 - SO Technologies 開発者ブログ
    rx7
    rx7 2022/09/07
    今回の取り組みを通して、半育休という制度をきちんと理解できた点は良かった。パパ・ママになっているメンバーも多いので、こうした制度を今後もうまく活用していければと思っています。
  • 分散モノリスを脱するために管理するGithub repository数を17個削った話 - SO Technologies 開発者ブログ

    こんにちは、ライクル事業部 エンジニアの菊池@kichionです 現在、ライクルでは大きく2チームで分かれて開発を進めており、私は技術負債解消を行うチームでシステム改善を行っています ライクルでは早すぎたマイクロサービス化によりコードベースが30近いGithub repositoryに分散しており、システムツールのrepositoryを含めると50のrepositoryが存在していました。 アジリティ向上のため、コンテキストをまとめrepositoryを17個削ったのでその方法論を紹介したいと思います 背景 分散モノリスとの闘い 1. 重複コード・知識の分散を"なるべく"解消する 2. 使っていない・今後の仕様に耐えられない機能を消す 3. メンテナンスが辛くなったrepositoryの整理 4. 問題の複雑化を招いていたデータソースの整理 5. コンテキスト毎にrepositoryをまと

    分散モノリスを脱するために管理するGithub repository数を17個削った話 - SO Technologies 開発者ブログ
    rx7
    rx7 2022/03/28
    プロダクトの機能開発と並行して、グロースを裏で支える地道な改善活動も続けてもらっています。(し、とっても大事なのよ...)
  • 5分でわかる「MRD」の役割とエッセンス - SO Technologies 開発者ブログ

    今回は普段書いているドキュメントについて、エッセンスをギュギュッと絞ってご紹介します。 読者のターゲットは、プロダクトマネジメントを最近はじめた方、プロダクトマネジメントに興味のある方を想定してます。 はじめまして、ATOM事業部 プロダクトマーケテイングマネージャ(以下、PMM)のShikataです。 普段の業務では、チームの市場理解を助けるための情報を用意したり、プロダクトの市場投入戦略とローンチ計画などを行なっています。プロダクトマネージャ(以下、PM)の帽子を被ることもあり「エンジニア 1名、カスタマーサクセス 1名、私」の小さなチームで動くこともあります。 プロダクトの成長に向けて、短期・中長期の両方のアプローチを行なってます。 軽く自己紹介 どんな人か バックグラウンド ドキュメントについて 仕様書や受け入れ条件との違いとは? MRD、PRDとは? MRDとPRDの違いとは?

    5分でわかる「MRD」の役割とエッセンス - SO Technologies 開発者ブログ
    rx7
    rx7 2021/11/24
    テックブログでもプロダクト開発の雰囲気をお伝えできればと、弊社PMMの方にゲスト投稿してもらいましたー
  • 高知からSOTフルリモートワークをしてる人について - SO Technologies 開発者ブログ

    目次 この記事で書いていきたいこと(何故このテーマか) 軽く自己紹介 私は誰か どういうことをしてきたか 今何をしているか SOTに入ったきっかけ 入社した時の事 コロナ時代の幕開け リモートワーク(実家&一人暮らし) 入社後の事 試行錯誤期 画期的な出会い チームの事 最近の事(久しぶりの再会) まとめ この記事で書いていきたいこと(何故このテーマか) コーヒーを飲みながら仕事をする…してない私 こんにちは、SO TechnologiesでATOMという製品開発に関わっている戸田です。 初めてテックブログを書かせていただく事になり動揺から筆が全く進んでいませんでしたが、今回は地方からフルリモートワークで働かせて頂いている自分の事例についてご紹介しようと思います。 こういう風に働いている人もいる会社なんだな、という参考になれば幸いです。 軽く自己紹介 私は誰か 高知県の真の田舎出身で、高校

    高知からSOTフルリモートワークをしてる人について - SO Technologies 開発者ブログ
    rx7
    rx7 2021/11/09
    弊社で地方からフルリモートワークしてもらっている事例!職場からの眺め、最高に空気が美味しそう...
  • goldie を使って低コストでAPIサーバのリグレッションテストを実装する - SO Technologies 開発者ブログ

    ATOM開発チームの上野です。 普段はGo言語を使ってAPIサーバやバッチ処理機構の実装などを担当しています。 今回はATOMのAPIサーバのプロジェクトに導入して良い感じだった リグレッションテストの手法についてご紹介します。 背景 ATOMチームでは普段からたくさんの機能が追加されています。 時には急いで実装しないといけない場面もあり、 なかなかテストコードまで手が回らないという状況になっていました。 そこで、実装工数が少なく最低限の動作を保証するテストができないかと検討したところ、 リグレッションテストを導入することに行きつきました。 APIのリグレッションテスト リグレッションテスト (回帰テスト) とは あるソースコードの変更に対して、「意図しない影響が起きていないか」をチェックするものです。 特にAPIサーバの場合、以下のフローで検証を行います。 事前準備 DBにテストデータを

    goldie を使って低コストでAPIサーバのリグレッションテストを実装する - SO Technologies 開発者ブログ
  • RFC6749と並べて見る 様々な媒体の認可コードフロー - SO Technologies 開発者ブログ

    こんにちは。ATOM事業部の下江です。普段はフロントエンドエンジニアとして開発を行っています。 ATOMでは、様々な媒体(google, facebook, yahoo...等)とデータ連携をし、収集したデータはレポート出力するなどしてユーザに利用していただいています。 ほとんどの媒体ではデータ連携を行うために、OAuth2.0による認証・認可を行っています。 今回は媒体ごとの認証認可の仕組みの共通点や相違点について、認可コードフローについての記載があるRFC6749 と並べながら紹介していこうと思います。 (※これらは執筆時点 2021年10月 での情報をもとに作成しております。最新の状況については、各媒体公式ドキュメントをご参照ください。) 認可コードフローについて 認可リクエスト時のパラメータ 認可レスポンス時のパラメータ 成功ケース 失敗ケース まとめ 認可コードフローについて R

    RFC6749と並べて見る 様々な媒体の認可コードフロー - SO Technologies 開発者ブログ
    rx7
    rx7 2021/10/30
    媒体各社ごとに微妙にパラメータ仕様が違うと。"φ(・ェ・o)~メモメモ
  • Adwords API からAds APIへの移行 - SO Technologies 開発者ブログ

    こんにちは。AG-Boost事業部開発部の後藤です。現在AG-Boostというサービスの開発を行っております。 少し前にキャンペーンの取得に関してAdwords APIからGoogle Ads APIへの移行を実施した為、今回はその事を書いていこうと思います。 Adwords API,Ads APIとは? 両者ともGoogle広告アカウントを操作、変更するためのAPIであり、 これらを用いることで ・アカウントやキャンペーンの管理 ・レポート取得の自動化 などといったことを実現できます。 元々はAdwords APIが存在していましたが、2018年に新たにGoogle Ads API がベータ版としてリリースされ、その後提供が開始され、2021年10月時点では双方とも利用可能な状態となっております。 ただし、Adwords API自体は更新が停止しており、2022年の4月には使えなくなっ

    Adwords API からAds APIへの移行 - SO Technologies 開発者ブログ
    rx7
    rx7 2021/10/27
    "2021年10月時点では双方とも利用可能な状態となっております。 ただし、Adwords API自体は更新が停止しており、2022年の4月には使えなくなってしまう為"
  • コロナ禍のテレワーク環境でユーザーテストとユーザーインタビューをやってみた - SO Technologies 開発者ブログ

    はじめまして。ATOM事業部 デザイナー、ポニーテールのponyです。 事業部専属のインハウスデザイナーのため、普段の業務はバナーやロゴのグラフィックの作成からATOMのUIUXの提案、WEBサイトのデザインやコーディングなど幅広く業務を行っています。 今回は、ATOMの機能リニューアルのためにユーザビリティテストを行いました。 サービス概要 ATOM ATOMのユーザー SO Technologies株式会社の社員 ユーザーヒアリングについて テレワーク環境下おけるヒアリングの重要性 ユーザーテスト(ユーザビリティテスト)とユーザーインタビューとは ユーザーテスト(ユーザビリティテスト) ユーザーインタビュー ヒアリング(ユーザーテストとユーザーインタビュー)方法 ヒアリングの前準備 ヒアリング当日 ヒアリングの際に気をつけたこと テレワーク環境下のヒアリングのメリット テレワーク環境

    コロナ禍のテレワーク環境でユーザーテストとユーザーインタビューをやってみた - SO Technologies 開発者ブログ
  • OpenAPI定義ファイルの分割管理 - SO Technologies 開発者ブログ

    ライクル開発責任者の永井です。 ライクルではRESTful APIのスキーマ定義をOpenAPIで管理し フロントのコードを一部生成しています。 開発が進むにつれてOpenAPIの定義ファイル(yaml)の行数が甚大になってきてメンテしづらい。 そんな事案が発生してきたのでyamlファイルを分割することにしました。 分割のやり方について ファイル内で行数をしこたま稼いでいるpathsとcomponentsを分割していくことにしました。 こちら を自前で書いて分割はすませています。 分割後は下記の構成です。 ./openapi ├── root.yaml ├── components │   ├── parameters │   │   ├── HogeId.yaml │   │   ├── Desc.yaml │   │   ├── Limit.yaml │   │   ├── Offse

    OpenAPI定義ファイルの分割管理 - SO Technologies 開発者ブログ
  • 円滑なテクニカルサポートを行うための運用ルール - SO Technologies 開発者ブログ

    こんにちは、ATOM事業部 プロダクト開発部の吉村です。 普段は事業部のエンジニアのマネージメント及びATOMのリプレイス開発のプロダクトマネージャーを担当しています。 ATOMでは主に広告運用代理店向けのレポーティング機能、進捗管理機能、アラート機能などを提供しており、利用顧客数、アカウント数は業界トップのシェアを誇っています。 そのため日々の顧客からの問い合わせも多く、カスタマーサクセスとエンジニア間でのテクニカルサポート業務が多く発生しています。 今回はこのテクニカルサポートを円滑に行うためにどのような運用を行っているかの紹介をしていきたいと思います サポート全体の流れ ATOMのサポート業務では顧客の問い合わせをZendesk、CSチームとエンジニアのやり取りをBacklogで行っています。 顧客からの問い合わせはZendeskを通してチケット化 CSチームがチケットの確認及び振り

    円滑なテクニカルサポートを行うための運用ルール - SO Technologies 開発者ブログ
  • 私は好きですLodash - SO Technologies 開発者ブログ

    こんにちは。AG-Boost事業部開発部の意思崎です。現在AG-Boostというサービスのフロント、バックエンドの開発を行っております。 AG-Boost開発部ではサーバーにnodejs , フロントでreactを使って開発しているのでとにかくJavaScriptにお世話になりまくっています。その中でもフロント、サーバーのどちらでもお世話になっているライブラリの「Lodash」について好きな関数となぜ好きなのかを書いていこうと思います。 Lodashとは A modern JavaScript utility library delivering modularity, performance & extras. と公式では書いていますが、便利な関数をまとめて提供しているライブラリです。object, 配列などの操作が特に多いイメージがあります。 なぜ好きなのか 私はかなり面倒くさがりな人

    私は好きですLodash - SO Technologies 開発者ブログ
  • 同一システム内で顧客ごとにDBを分ける対応について - SO Technologies 開発者ブログ

    こんにちは。ATOM事業部エンジニアの松尾です。 普段は、広告媒体からのデータ取得処理やAPI実装を行っています。 最近、同一システム内で顧客ごとにDBを分ける対応を進めています。今回は、こちらについてご紹介させていただきます。 マルチテナントとシングルテナントについて まずはマルチテナントとシングルテナントについて説明させてください。 マルチテナント マルチテナントとは、複数のユーザが同じ1つのシステムやサービスを共有する仕組みです。 こちらのアーキテクチャは、SaaS型のサービスの多くで利用されています。 メリットは、リソースや運用コストを大幅に削減でき、低コストで導入可能です。 シングルテナント シングルテナントとは、複数のユーザがユーザごとに1つのシステムやサービスを占有する仕組みです。 こちらのアーキテクチャは、PaaS型のサービスの多くで利用されています。 メリットは、ユーザご

    同一システム内で顧客ごとにDBを分ける対応について - SO Technologies 開発者ブログ
  • Google Analyticsのデータを取得してみた - SO Technologies 開発者ブログ

    こんにちは。AG-Boost事業部開発部の宇野です。現在AG-Boostというサービスのフロント、バックエンドの開発を行っております。最近Google Analytics(以下GA)のデータを取得した時のことについて紹介していきます。 事前準備 まずGoogle APIにアクセスするための認証情報を取得する必要があるのでその作業から始めていきます。 Google Cloud Platformプロジェクトを作成する 以下のリンクから新規プロジェクトを作成します。 https://console.developers.google.com/projectcreate Analytics APIを有効化する。 以下のリンクから検索をかけGoogle Analytics Reporting APIを探します。 https://console.developers.google.com/apis/

    Google Analyticsのデータを取得してみた - SO Technologies 開発者ブログ
  • Lambdaで巨大なファイルを処理する方法 - SO Technologies 開発者ブログ

    こんにちは。ATOM 事業部エンジニアの田村です。 広告媒体からのデータ取得処理や、レポート生成処理の開発・保守をしています。 今回は Lambda を使って巨大なファイルを処理する方法を紹介します。 また、S3へのアップロードをストリームで行う方法について、検索してもそれらしい日語の情報が少ないので、ついでにここでやり方を紹介します。 ストレージをどうするか EFS メモリ 番外 EC2 ストレージに保存しない方法 例 : hash 計算 例 : gzip 圧縮 S3 へストリームアップロード (あまりエレガントでない)解決法 コスト おわりに ストレージをどうするか Lambda での巨大ファイル処理の際に問題となるのがストレージです。 512 MB しかないため、それ以上のファイルサイズを扱うことができません。 AWS Lambda 実行環境 - AWS Lambda 各実行環境は

    Lambdaで巨大なファイルを処理する方法 - SO Technologies 開発者ブログ
    rx7
    rx7 2021/10/05
    扱うデータ量が多くなってくると、S3上のデータをゴニョゴニョするのも一苦労... (違うところでやれ、って言われそうだけどショットだったりするので悩ましい
  • バーンアップチャート導入のススメ - SO Technologies 開発者ブログ

    こんにちは。ライクル事業部 エンジニアスクラムマスターの寺戸です。 ライクル事業部には現在 2 つのチームが存在していて、私はそのうちの 1 つのチームのスクラムマスターを担当しています。 今回は、私がライクル事業部のスクラムマスターとして取り組んだ施策の中でやって良かったと思ったことを紹介します。 それ、いつ頃リリースできるの?問題 バーンアップチャートとは 各ポイントの算出方法 ベースとなるポイントの算出 各ポイントの算出方法の定義 バーンアップチャートを導入した結果 視覚的に分かるようになったので開発の進捗を把握しやすい グラフの変化に応じてパターンを決める後押しにも 戦略の立て直しが早めに行える もう少しで終わる!という気持ちになる 終わりに それ、いつ頃リリースできるの?問題 ライクル事業部では、PM 陣が「いついつまでにこれこれこの機能をリリースしたい」というロードマップを策

    バーンアップチャート導入のススメ - SO Technologies 開発者ブログ
    rx7
    rx7 2021/10/01
    弊社テックブログ今週更新分第2段!少し足の長くなってしまう施策とか、途中見直し入ったりするので、バーンアップチャートが見やすくてわかりやすいですよねー。
  • BigQueryのコストをユーザ単位で可視化してみた - SO Technologies 開発者ブログ

    こんにちは。 データ戦略室の小宮です。 データ戦略室では主に、弊社の各プロダクトのデータを活用しやすいように データを集めたり、分析基盤の構築を行なったりしています。 今回は分析基盤構築の一環で作成した「BigQueryコスト管理ダッシュボード」の作り方を一部ご紹介します。 作ろうと思った背景 概要 前提として 利用するサービス 手順 やってみよう 1.BigQueryのログ出力設定 2.ログからコスト算出 3. GoogleDataPortalからカスタムクエリで接続する 4. グラフを作成する おわりに 作ろうと思った背景 データ戦略室は2021年2月に立ち上がった新しい部署で、 現在はデータパイプラインを構築し、必要なデータを弊社各プロダクトから収集しているフェーズです。 ですので現段階では分析基盤であるBigQueryの利用ユーザはそれほど多くはないのですが、 今後データが豊富に集

    BigQueryのコストをユーザ単位で可視化してみた - SO Technologies 開発者ブログ
    rx7
    rx7 2021/09/29
    弊社データ戦略室の取り組み!割と色々な会社がこういうことに近しいことを自前でやっている気がしなくも・・・ない。
  • 社内デザイナーが作ったロゴの制作過程を一挙公開します - SO Technologies 開発者ブログ

    こんにちは。AG-Boost事業部デザイナーの村田です。AG-Boostというサービスの画面設計やWebデザインなどをしております。 今回は、そのAG-Boostのロゴを制作した過程をご紹介します。 その1:依頼される AG-Boostは、以前は「Z.I.P.!」という名称でしたが、様々な事情からサービス名を変更することになりました。 この「サービス名を考えて商標登録する」という壁が高かったらしく、悩んで悩んで試行錯誤の末、「AG-Boost」という名前に決まったそうです。 サービス名を変更した経緯や込めた想いなどの詳細は、弊社のリクルートサイトで事業責任者の荒木がアツく語っておりますので、ぜひご覧ください! recruit.so-tech.co.jp 私はネーミングセンスというものがほとほとないので、かっこいい名前をつけられるのって憧れちゃいます。 (数年前、brickというプロダクトに

    社内デザイナーが作ったロゴの制作過程を一挙公開します - SO Technologies 開発者ブログ
    rx7
    rx7 2021/09/16
    弊社サービスAG-Boostのロゴデザインがどのように作られたかのレポート。なぜこういうビジュアルにしたのかを言語化してくれるの面白いし、わかりやすかった!
  • とあるリモートワークエンジニアの1日 - SO Technologies 開発者ブログ

    こんにちは。ATOM事業部エンジニアのyuinaです。 普段の業務はATOMのAPI実装やテストなどをしています。 私は愛知県からリモート勤務してまして、会社までは新幹線を使い3時間半。 昨年11月に入社してから一度も物理的に出社ができていない状態です。 それでもチームに馴染んで働けているという面から、今日はとある1日を追ってみようと思います。 ざっくりとした内容は以前公開されているインタビュー記事に載っているのですが、もう少し掘り下げていこうかと思います。 とある愛知在住エンジニアの1日 10:00 この日は10時からお仕事スタート。 日によってもうすこし早い時間からスタートしたり、11時くらいから始めることもあったりします。 まずは前日退勤後にきているslackやメール確認・今日のタスク整理を始業前に入れたコーヒー飲みつつ進めていく。 11:00 チームの朝会開始。チーム内のコミュニケ

    とあるリモートワークエンジニアの1日 - SO Technologies 開発者ブログ
    rx7
    rx7 2021/09/16
    弊社エンジニアチーム、Gatherかなり普及してきてる