タグ

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

  • 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
  • あなたの遅延はどこから? SQLから! 〜患部に止まってすぐ効くSQLレビューチェックリスト 年初め特大サービス号〜 - ANDPAD Tech Blog

    あけましておめでとうございます! 今年は異世界放浪メシのアニメが放送されるらしいので楽しみなバックエンドの原田 (tomtwinkle)です。 内部で運用しているSQLレビューチェックリストの一部を抽出し思いつきで追記して行った結果、結構な分量になってしまいました。 暇な時でも流し読みして頂けるとありがたいです。 Motivation SQLレビュー観点 大きくSQLが変更される修正の際にはEXPLAINをレビュー内容に加える 検索のキーにINDEXを使用しているか SQL発行回数がN+1(1+N)の構造になっていないか サブクエリを利用したSQLはパフォーマンス要チェック Viewの利用は基的に禁止 CROSS JOINは禁止 WHERE句で十分に絞った検索をしているか 必要なcolumnだけSELECTしているか レコード数だけ必要な場合にCOUNT用のSQLを発行しているか 集計関

    あなたの遅延はどこから? SQLから! 〜患部に止まってすぐ効くSQLレビューチェックリスト 年初め特大サービス号〜 - ANDPAD Tech Blog
  • 施工管理サービスの非同期処理基盤をBlue/Greenデプロイ化しました[前編] - ANDPAD Tech Blog

    この記事はANDPAD Advent Calendar 2022の 24 日目の記事です。 こんにちは、アンドパッドSWEの あかりです。昨日が初めてのブログ投稿だったのですが、2夜連続での投稿です。23日と24日の枠を押さえて、25日の枠をプレゼントとして残すというサンタ的な計らいをしております。(←トリを飾る度胸がなかっただけ。チキンだけに。) ※ 滑り出しは好調ですが、内容は至極真面目です。 1. 概要 最近、アンドパッドで最も古くから稼働している施工管理サービスについて、その非同期処理基盤をBlue/Greenデプロイ化しました。このデプロイフローの変更は大きく2段階を踏んで実現しており、記事では、その前半部分にあたる、非同期処理基盤から定期実行ジョブの処理基盤を抽出・分離した話について説明します。 2. 前提の説明 2-1. インフラの概要 元々の施工管理サービスのインフラ概要

    施工管理サービスの非同期処理基盤をBlue/Greenデプロイ化しました[前編] - ANDPAD Tech Blog
  • サービスメッシュとしてLinkerdを導入するに至った経緯 - ANDPAD Tech Blog

    はじめに SREの須恵です。 弊社では、昨秋からサービスメッシュの導入を開始していたのですが、なかなかアウトプットできていなかったので書くことにしました。 マイクロサービス化とgRPC 弊社で進行中の技術テーマの1つに「マイクロサービス化」があります。 ビジネスの成長拡大に伴い開発組織も拡大し続けており、どんどん人数が増えています。この増加していく開発者の力を、可能な限り効果的に活かして開発するため、マイクロサービス化に舵を切ることになりました。 (マイクロサービスの動機と目指す結果の詳細はいずれ誰かが記事化することに期待) 今年の1月に弊社初のマイクロサービスとしてリリースされた2つのサービスがあり、それらはgRPCで通信することが決定されていました。また今後も、マイクロサービス間の同期通信にはgRPCの採用が広がる見込みです。 なぜgRPCか モノリスをマイクロサービス化する、あるいは

    サービスメッシュとしてLinkerdを導入するに至った経緯 - ANDPAD Tech Blog
  • Kubernetesのmanifestを検証しよう - ANDPAD Tech Blog

    要約 k8sは、manifestをサービスが動くように設定するのは簡単だが、適切な設定は分かりづらい その結果、いまいちな設定をしてしまいがち kube-scoreはmanifestの問題と対応方法を教えてくれる k8s初心者にこそ、ツールによるmanifestの自動検証はおすすめ 想定読者 Kubernetes(以下、k8s)でとりあえずサービスを動かせるが、雰囲気で触っている人向けです。 k8sの設定は雰囲気で決められがち こんにちは。ANDPADでバックエンドの開発をしているzigeninです。 ANDPADでは、バックエンドのサービスをk8sで動かしています。 k8sを使っていて感じる一番の問題は、manifestで設定できることが多すぎて、良い設定が分かりづらいことです。 そのせいか、k8sに習熟していないと以下のような設定をしがちです*1。 apiVersion: apps/v

    Kubernetesのmanifestを検証しよう - ANDPAD Tech Blog
  • Gormにおける「仕様通り」なSQLインジェクションの恐れのある実装についての注意喚起 - ANDPAD Tech Blog

    ANDPADボードチームの原田(tomtwinkle)です。 Node.jsの mysqljs/mysql の仕様に起因するSQLインジェクションが話題に上がっていたので、それGolangORMであるGormでも同じような「仕様」があるよ! という注意喚起の意味も込めて筆を執りました。 ※ 2022/02/21追記 コードレビューを自動化して指摘してもらう記事を公開しました! tech.andpad.co.jp Node.jsのMySQLパッケージにおけるエスケープ処理だけでは防げない「隠れた」SQLインジェクション | 株式会社Flatt Security TL;DR GormのQuery Conditions関数に関する危険な仕様 対策 締め TL;DR GormのConditions関数(Find, First, Delete...)を使用する際、第2引数の値にStringを引き渡

    Gormにおける「仕様通り」なSQLインジェクションの恐れのある実装についての注意喚起 - ANDPAD Tech Blog
  • 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
  • Vue Composition APIをチームで導入して得られたメリット - ANDPAD Tech Blog

    前書き はじめまして、ANDPADでフロントエンド開発を担当している小泉です。入社から2年弱ですが、ここ1年の社員数の増えるペースが速すぎてすっかり古株になりつつあります。 自分は入社当初からVue.js・Nuxt.jsを使って開発を行っているのですが、2020年7月頃よりスタートしたプロジェクトで、Vueの新しい記法であるVue Composition APIを全面的に採用しています。 この記事では、Composition APIを実際に製品開発に導入するまでの流れから、9ヶ月ほど使っていく中で気づいたComposition APIのメリットとデメリットなどをまとめています。 昨年秋にVue 3.0が正式リリースされ、今年はNuxt 3.0も控えており、これからVue 3.0やComposition API格導入するチームや会社も多いと思いますので、その際の参考になれば幸いです。 技

    Vue Composition APIをチームで導入して得られたメリット - ANDPAD Tech Blog
  • 1