タグ

ブックマーク / tech.andpad.co.jp (21)

  • Go界隈で巻き起こった go:linkname 騒動について - ANDPAD Tech Blog

    お久しぶりです、ANDPADボードの tomtwinkle です。 この記事はGogo:linkname 騒動は 6/18に行われた Go Bash で話した内容を要約したものです。 そもそも go:linkname とは何かといえば internal packageやprivate var/funcなど普通はアクセスできないオブジェクトシンボルをエイリアス出来るようCompilerに指示して、アクセス可能にするcompiler directiveです。 go:linkname はprivateな変数へアクセス可能な便利なものでしたが unsafe packageのimportを必須とする通り、せっかく互換性や安全を考慮して作られているGoプログラムを簡単に破壊できる諸刃の剣でした。 詳細は発表スライドを見てください。 go:linkname 禁止騒動 Go 1.23 のリリースまで2

    Go界隈で巻き起こった go:linkname 騒動について - ANDPAD Tech Blog
    odan3240
    odan3240 2024/06/20
  • プロダクト開発を行いながらOSS活動も緩くやる - ANDPAD Tech Blog

    ANDPADボード プロダクトテックリードの土屋(tomtwinkle)です 先日CHIYODA Tech #3 にLT枠で参加してきました! CHIYODA Techとは、千代田区にオフィスを構える企業が運営・登壇するLTイベントです。 今回は弊社9Fのイベントスペースで開催させていただきました! アンドパッド以外にKINTOテクノロジーズさん、日経済新聞社さん、スタディストさんがLTで参加されていました。 他社さんのLTも拝見させてもらって皆さんそれぞれOSSに対する様々な想いや課題を感じているんだなと勉強になりました。 LT後みんなでスナックミーさんから提供頂いたスナックをつまみに飲みながらテーブル毎に思い思いに喋るアンカンファレンスも非常に楽しかったです。 LT内容について 今回私が発表させてもらったLTについて少しだけ解説させていただきます。 speakerdeck.com ア

    プロダクト開発を行いながらOSS活動も緩くやる - ANDPAD Tech Blog
    odan3240
    odan3240 2024/03/12
  • Docker DesktopからRancher Desktopに切り替えする手順 - ANDPAD Tech Blog

    どうも、ANDPADバックエンドの原田(tomtwinkle)です。 1週間ぶりくらいですね。 Rancher DesktopDocker Desktop の差異 LocalでMySQL / LocalStack / MinIO 等のContainer立ち上げたりする程度なら特に差異はなさそうです。 今まで通り docker コマンドや docker-compose コマンドがそのまま使えます。 Rancher Desktop公式ではこんな感じに書いてますが、細かい所はもう少し使って見ないとわからないですね。 Rancher Desktop vs Docker Desktop 細かい話はリンクアンドモチベーションさんのテックブログを見てフムフムしていました。 link-and-motivation.hatenablog.com ご注意 Rancher Desktopを利用することでC

    Docker DesktopからRancher Desktopに切り替えする手順 - ANDPAD Tech Blog
    odan3240
    odan3240 2022/10/21
  • AWS CodeBuildでRidgepoleをdry-runで動かしてMigration予定のDDLをGithubのPullRequestコメントに追記する - ANDPAD Tech Blog

    ANDPAD バックエンド担当の原田(@tomtwinkle)です。 普段はGolangでモリモリコードを書いていますがDevOps関連の記事ばかり書いてます。 お察しの通りなんですが、今回もDevOps関連の記事だったりします。 やり方だけ知りたい人は Motivation の部分は読み飛ばして貰っても問題ないです。 Motivation AWS CodeBuild側の準備 GithubのPrivate Access Tokenを発行する AWS Systems ManagerのParameter StoreにDBGithubへのアクセス情報を記述 CodeBuildを作成 Github Repository側の用意 Buildspecの記載 動作結果 謝辞 さいごに Motivation 私が担当しているANDPADボードではRDS(MySQL)を利用しています。 そして、DBのsc

    AWS CodeBuildでRidgepoleをdry-runで動かしてMigration予定のDDLをGithubのPullRequestコメントに追記する - ANDPAD Tech Blog
    odan3240
    odan3240 2022/10/13
  • MySQLロックについて〜基礎編〜 を開催しました! - ANDPAD Tech Blog

    こんにちは!エンジニアの福間(fkm_y)です。 先日、弊社でデータベースの技術顧問をして頂いてる三谷(mita2)さんに開発部向けのMySQLロックのデータベース勉強会を実施したのでそのレポートをお伝えします。 開催背景 弊社では三谷さんによるデータベース勉強会を定期的に開催しています。以前にもロックに関するMySQL勉強会を開催していたのですが、1年半経過しており参加していない開発メンバーのほうが多くなっていたことやプロダクトの成長によりデッドロックなどのロックに起因する問題が目立ち始めていたことから増強版のMySQLロックのデータベース勉強会を開催することになりました。 概要 データベースのロックについて ロックタイムアウトについて デッドロックについて まとめ データベースのロックについて なぜデータベースにロック機構があるのかから知ることが重要です。性能と安全性を両立するためにあ

    MySQLロックについて〜基礎編〜 を開催しました! - ANDPAD Tech Blog
    odan3240
    odan3240 2022/03/31
  • ANDPAD TECH TALK 第11回 - 開発チームの生産性向上に取り組むスペシャリスト対談!後編 可視化ツールを導入してみて分かったこと、そして今後の展望 - ANDPAD Tech Blog

    こんにちは!アンドパッドの荒瀧です。 「ANDPAD TECH TALK」第11回の配信です! 今回は、社外ゲストをお招きしたスペシャリト対談回となっており、前編・後編と2回に渡ってお届けします! 関連エピソード tech.andpad.co.jp 出演 モデレーター: 荒瀧 (EMエンジニア採用マネージャー) 社内ゲスト: 柴﨑(テックリード) 社外スペシャルゲスト: 近藤宇智朗さん(GMOペパボ株式会社 シニア・プリンシパル) ハイライト 第11回は、社外ゲストをお招きした対談形式のスペシャル回です! 「開発チームの生産性向上に取り組むスペシャリスト対談!」と題して、 アンドパッドからはテックリードの柴﨑(id:shiba_yu36)、GMOペパボさんからはシニア・プリンシパルの近藤さん(id:udzura)をお呼びして開発チームの生産性向上について語り尽くしていただきました。

    ANDPAD TECH TALK 第11回 - 開発チームの生産性向上に取り組むスペシャリスト対談!後編 可視化ツールを導入してみて分かったこと、そして今後の展望 - ANDPAD Tech Blog
    odan3240
    odan3240 2022/03/08
  • スタートアップで働くエンジニアが銀の弾丸を求めて愚直に働いている話 ~ 銀の弾丸なんてものは存在しない ~ - ANDPAD Tech Blog

    こんにちは。こんばんは。おはようございます。アンドパッドで現在はバックエンドの方のエンジニアをやっている北村です。 アンドパッドには2021年4月にJOINしまして、現在までANDPADボード(以下ボード)の開発に携わっています。ANDPAD施工管理が比較的長期間の工事をターゲットにしているのに対してANDPADボードは1日〜数日の間に短期間の工事や施工を行う際のスケジュール管理を行えるサービスです。 lp.andpad.jp 半年ほど前に同チームのバックエンドエンジニアの原田さんに技術的負債を粉砕する記事を投稿してもらいました。今回はその続きの話をしようと思います。 前回記事は塵積もった技術的負債に対する技術的なアプローチがメインでしたが、今回はプロセスやチームビルディングの参考になりそうな話をバックエンドエンジニア目線で書いたものになります。 ANDPADボードの開発チーム紹介 話をイ

    スタートアップで働くエンジニアが銀の弾丸を求めて愚直に働いている話 ~ 銀の弾丸なんてものは存在しない ~ - ANDPAD Tech Blog
    odan3240
    odan3240 2022/02/25
  • Findy Teamsの指標を使ってチームの生産性を改善しよう - ANDPAD Tech Blog

    株式会社アンドパッドのアカウント基盤チームで認証基盤に関するエンジニアリングをしているid:shiba_yu36です。最近はチームのテックリードロールも担っています。 現在アンドパッドではFindy Teamsを導入し*1、生産性の可視化を行っています。自分は生産性向上のためのチーム改善に興味が強いため、2021/10に入社してからアカウント基盤チームのFindy Teams指標を観察し、チームのボトルネックを見極め、チームの生産性改善をしてきました。結果として、Findy Teamsの平均プルリク クローズ時間の指標が、チームに入った2021/10当時は120時間だったのが、現在は23時間ほどまで改善しました。今回はその様子について書きたいと思います。チーム改善の流れの一例として、参考にしてもらえればと思います。 チーム改善の全体的な流れ Findy Teamsで定量的にチームの生産性を

    Findy Teamsの指標を使ってチームの生産性を改善しよう - ANDPAD Tech Blog
    odan3240
    odan3240 2022/01/07
  • 複数AWSアカウントのインフラを同じコードで Terraform管理するプラクティス - ANDPAD Tech Blog

    こんにちは! アンドパッドSREの 宜野座 です。 前回は AWSのアカウント運用改善の取り組みについて記事を書かせていただきました。 今回はアンドパッドでIacへの取り組みとして行っているものの一例として、複数アカウント・複数環境を同一コードでTerraform管理するプラクティスを紹介したいと思います。 少し長くなりますが、お読みいただけると幸いです。 前回ブログ記事 tech.andpad.co.jp なぜIaC(Infrastructure as Code)に取り組んでいるのか Terraformを選んだ理由 同一コードでTerraformを複数アカウント・複数環境へplan, applyしたい terraform init terraform plan terraform apply 環境を増やしたい場合 環境ごとにリソースを作成したり、作成しないようにしたい 他の方法に関して

    複数AWSアカウントのインフラを同じコードで Terraform管理するプラクティス - ANDPAD Tech Blog
    odan3240
    odan3240 2021/11/26
  • スタートアップにクリーンアーキテクチャを適用したが、技術的負債が塵積った件 〜開発合宿で技術的負債を粉砕します〜 - ANDPAD Tech Blog

    こんにちは。こんばんは。おはようございます。 アンドパッドで現在はバックエンドの方のエンジニアをやっている原田です。 アンドパッドには2021年6月にJOINしまして、現在までANDPADボードの開発に携わっています。 ANDPAD施工管理が比較的長期間の工事をターゲットにしているのに対して ANDPADボードは1日〜数日の間に短期間の工事や施工を行う際のスケジュール管理を行えるサービスです。 andpad.jp 今回は入社3ヶ月目というきりの良いタイミングで今まで行ってきたことを振り返りつつ、直近行った技術的負債を軽減するための「開発合宿」について書いていきます。 一応最初に書いておきますが、リファクタリングに関するチートスキルはないのでバーンとやってドーンと解決みたいなド派手な解決ではなく地道な改修作業をちまちま行いましたという内容です。 入社してからやってきたこと ANDPADボード

    スタートアップにクリーンアーキテクチャを適用したが、技術的負債が塵積った件 〜開発合宿で技術的負債を粉砕します〜 - ANDPAD Tech Blog
    odan3240
    odan3240 2021/09/18
  • ActionMailerでのエラーハンドリングと、メール配信機能の冗長化 - ANDPAD Tech Blog

    バックエンドエンジニアの宮澤です。 弊社のANDPADでは多くのWebサービスと同じようにメールでの通知機能を持っています。 今回はRailsと複数のメール配信サービスを組み合わせて、メール配信機能を冗長化した事例を紹介します。 ANDPADで導入しているメール配信サービス ANDPADでは2つのメール配信サービスを利用しています Mailgun(メイン) Sendgrid(サブ) 通常はMailgunを主系として利用し、SendgridはMailgunでの送信失敗時に備えて待機する構成になっていて、Mailgunで障害が発生した場合でも自動的にSendgird経由でメール配信できるようになっています。 また、サブにSendgridを採用している理由にRFCに準拠しないメールアドレスへの対策もあります。 ANDPADでは個人の携帯キャリアメールで登録しているアカウントも多く、キャリアメール

    ActionMailerでのエラーハンドリングと、メール配信機能の冗長化 - ANDPAD Tech Blog
    odan3240
    odan3240 2021/09/10
  • プロダクトにNext.jsとGoを採用した理由と背景 - ANDPAD Tech Blog

    はじめに こんにちは!エンジニアの柿森です。新規プロジェクトを担当しております。 ANDPADではマイクロサービス開発を推進しており、新規プロジェクトは個別に技術選定を行い、既存システムとAPI経由で連携します。 また、マイクロサービス基盤はk8sで構築されており、死活監視やログ収集もよしなにやってくれる環境が整っております。 新規プロジェクトを立ち上げで、k8s上に乗せることを前提に技術選定を行いました。 技術選定を行うにあたって検討したポイントと、採用した技術について話していきたいと思います。(あくまで筆者個人の考えです。) 採用した技術スタックの概要 フロントエンドBlitz-jsを参考にNext.jsを採用。 バックエンドはGo + gRPCを採用。 技術選定の方針 大きな方針としては一般的な考えを踏襲しています。 ドキュメントがしっかりしており、GitHubのStarがそれなり

    プロダクトにNext.jsとGoを採用した理由と背景 - ANDPAD Tech Blog
    odan3240
    odan3240 2021/07/10
    "ここまで読んでいただいて察したかと思いますが、本プロジェクトに居るアンドパッドエンジニアは私一人です..." つらそう
  • Vue + JSX + Nuxt Composition API で最高のフロント開発体験 - ANDPAD Tech Blog

    はじめに ANDPADでフロントエンドの開発を担当している小泉です。 前回、約3ヶ月前にVue Composition APIをチームで導入して得られたメリットという記事を書かせて頂きました。 その後、今年の5月頃からまた新たなプロダクトの立ち上げを担当する機会があり、フロントの技術選定についていろいろ検討する中で、Vue.jsでもJSXを使って書けること、かなり導入しやすくなっていることを知りました。 そこで、Nuxt Composition API + TSXという組み合わせを採用してみたところ、かなり使いやすく、VueReact のいいとこ取りができて最高 なのではないかとさえ思いました。 この記事では、そんなVue + TSX の導入方法と、メリット・デメリット、そして使う際のTipsをいくつか紹介しています。今後のフロントエンド技術選定や、Vue + JSXでの開発に興味

    Vue + JSX + Nuxt Composition API で最高のフロント開発体験 - ANDPAD Tech Blog
    odan3240
    odan3240 2021/07/02
  • 5000万件越えのRDS大量データをFirestoreに移行する勘所 - ANDPAD Tech Blog

    はじめまして、開発部の@taikishiinoです。 2020年3月にアンドパッドにジョインし、約一年が経ちました。 現在、チャットサービスの開発・運用をするチームに所属しており、その中で最近、RDSからFirestoreへのデータ移行を行いました。 記事では、その際の課題やそれに対して実際に行ったことなどを中心にご紹介していきます。 データ移行の背景 僕たちのチャットサービスを開発するチームでは、現在、プロダクトのデータベースをRDSとFirebase RealtimeDatabaseのミックスからFirestoreに移行する大規模プロジェクトが行われています。 旧環境「RDSとFirebase RealtimeDatabase」の課題として、 チャットのアクセスを処理しているAPIサーバーのバックグラウンド処理は複数プロダクト共通で利用しており、チャット起因で負荷が高まってしまうとい

    5000万件越えのRDS大量データをFirestoreに移行する勘所 - ANDPAD Tech Blog
    odan3240
    odan3240 2021/03/24
  • ANDPAD Rails 6.0へのアップグレード - ANDPAD Tech Blog

    r7kamuraと言います。2020年9月頃からANDPADの開発に参画しています。 2021年2月、ANDPADで利用しているWebアプリケーションフレームワーク Ruby on Rails (以下Rails) のバージョンを5.2から6.0にアップグレードしました。今後アップグレードを行う方が同様の作業を行えるよう、今回の変更に伴い必要となった作業について、あらためて言語化してこの記事で共有できればと思います。 全体の流れ 大まかに分けると、今回は次のような手順で作業を進めていきました。 Rails 5.2系の最新のバージョンに上げる Rails 6.0版のブランチを用意してテストを通す Rails 5.2と6.0に両対応したコードに変更する Rails 6.0で検証を進める Rails 6.0に番環境を切り替える Rails 5.2向けの対応を取り除く Gemのバージョン変更 Ra

    ANDPAD Rails 6.0へのアップグレード - ANDPAD Tech Blog
    odan3240
    odan3240 2021/02/26
  • Webアプリケーションのパフォーマンス勉強会を開催しました! - ANDPAD Tech Blog

    はじめまして、サーバサイドエンジニアの立木です。 特定業種向けポータルサイトやスマートフォンゲーム開発などを経て、昨年3月に入社し、現在はANDPADの開発に従事しています。 アンドパッドでは、技術顧問をして頂いてる三谷(mita2)さんによる、データベースに関する勉強会が定期的に行われております。 tech.andpad.co.jp 先日もデータベースの観点から、Webアプリケーションのパフォーマンスをいかにして監視し、改善していくかという勉強会を開催していただきました。 今回はその勉強会について気になったポイントをまとめてみたいと思います。 当日の資料 概要 ANDPADの現状について分析 Datadogによる分析手法 よくある改善パターン 質疑応答 ANDPADの現状について分析 Webサイトのパフォーマンスは大事当たり前ですが、Webサイトにとってパフォーマンスはとても重要です。

    Webアプリケーションのパフォーマンス勉強会を開催しました! - ANDPAD Tech Blog
    odan3240
    odan3240 2021/02/11
  • マネジメント業を通じて考えた、プロジェクト全体像の認識齟齬を防ぐ誤解されないドキュメント作成術 - ANDPAD Tech Blog

    アンドパッドの土方です。 ブログではEMインタビューで取り上げておりますが、記事投稿は初めてです。 エンジニアマネージャーとしてのイベント登壇や、プロジェクト推進における案件の取りまとめ業務が増えてきており、それに伴ってドキュメントを作成する機会も増えてきました。 自分の考えを整理するとともに、アンドパッドのエンジニアにはこんなこと考えている人もいるよ、的な意味で紹介したいと思います。 何かの参考になれば幸いです。 結論! 次項からは文字ばっかりで語っているだけになりますので先に結論を書きます。 断面を作るための切り方を意識する 網羅性、単一性を守る 二軸で表現する この三項を守ることで、理解されやすく誤解を招かないドキュメントの完成に近づけると考えています。 ではここからだらだら語ります。 ドキュメントの目的は? そもそもドキュメントはなんのために作るものでしょうか。 私は、「認識を合

    マネジメント業を通じて考えた、プロジェクト全体像の認識齟齬を防ぐ誤解されないドキュメント作成術 - ANDPAD Tech Blog
    odan3240
    odan3240 2021/01/22
  • 猛烈に成長するSaaSのインフラを猛烈にカイゼンする技術 - ANDPAD Tech Blog

    SREチーム 鈴木心之介 です。 職歴の空白 を経て参画しました。 社名変更して co.jp ドメインを複数保有する技術 の節は皆様ありがとうございました。 たぶんそのうち書かれるだろう「Dockerコンテナ移行しました」記事の先史時代の記録として、また、事業の成長に併走してきたEC2でのアーキテクチャの御焚上として奏上するものです。 問題意識 アプリケーションはRuby on Railsで実装し、インフラはAWSにEC2, RDS, S3を中核に構成してます。運用状況はEC2に限らず大変きびしく、早くどうにかしないと事業の成長の足枷になりそうでした。入社前のカジュアル面談で伺っていた情報と、入社後の情報収集から、大枠の問題意識を以下4つに絞りました。 デプロイメント セキュリティ スケーラビリティ ディザスタリカバリ どれも解決すべきで、優先順位にみなさま一家言あるかと思います。ただセキ

    猛烈に成長するSaaSのインフラを猛烈にカイゼンする技術 - ANDPAD Tech Blog
    odan3240
    odan3240 2020/12/15
    わかる、未だに悩む... “Twelve-Factor App には環境変数にしろとあるけど、AWSではどーするとか、ググっても出てこないのでまじ厳しかった。”
  • NuxtのSSRモードでメモリリーク?原因はaxios? - ANDPAD Tech Blog

    はじめに 最近金髪から黒髪に戻して更生しました藤井(フロントエンドエンジニア)でございます。久々にテックブログに貢献させて頂きます! 今はメインの施工管理機能の改修の傍ら、新機能開発にも携わっておりまして、フロント側はSSRモードのNuxtを採用しております。さて、そんな中SREチームから「フロントエンドがメモリリークしていませんか?」との通報が入りました。 いやいや、そんなハズは・・と思いながらもDatadogを見てみると見事にメモリ消費量が右肩上がりに増えていってます。なぜじゃ・・・。 調査開始 メモリリークになるような処理を入れた覚えはないぞ!と思いつつも調査開始です。ひとまずChromeのDevtoolでPerformanceやMemoryタブを見ながら確認しますが、これと言って原因が見つかりません。 おかしい・・。なんでだろう。 あれこれ試しましたが解決せず、ほぼ1日消化しました

    NuxtのSSRモードでメモリリーク?原因はaxios? - ANDPAD Tech Blog
    odan3240
    odan3240 2020/10/14
  • CodeBuildでRSpecのテストレポートを表示する - ANDPAD Tech Blog

    はじめまして。サーバーサイドエンジニアの kinakobo です。 唐突ですが、自動テストの実行にはどんなCIツールを使用していますか? 色々と選択肢があると思いますが、自分は今までCircleCIGitHub Actionsを使うことが多く、ANDPADに入社して初めてCodeBuildでテストを実行しました。 それまでCodeBuildを使ったのはDocker imageの構築くらいだったので、あまりテストの実行に向いている印象は持っていませんでした。 ですが調べてみると意外と機能が充実しており、中でもテストレポート機能は便利だと思ったので今回紹介したいと思います。 テストレポート機能とは AWS CodeBuild でのテストレポートの使用 - AWS CodeBuild テストレポート機能は、テストのレポートファイルをいい感じに整理して表示してくれる機能です。 CircleCI

    CodeBuildでRSpecのテストレポートを表示する - ANDPAD Tech Blog
    odan3240
    odan3240 2020/09/15
    知らなかった