Skip to content

Instantly share code, notes, and snippets.

GoでISUCONを戦う話

mercari.go #4 https://mercari.connpass.com/event/105640/

自己紹介

  • catatsuyというIDで各種SNS活動しています
    • かたついって呼ばれています
  • メルカリのSREチームで主にGoを書いています
  • 前職はピクシブでpixivのHTTPS化・PHP7.1化・HTTP/2化や、広告サーバーの新機能追加など色々やっていました
package main
import (
"fmt"
"unicode/utf8"
)
const (
t1 = 0b00000000
tx = 0b10000000

AWSにインスタンスを立ててみよう

  • 質問:AWSにEC2インスタンスを立てたことがある人?
  • Ubuntu 22.04のインスタンスを起動してsshでログインしてみよう
    • ubuntuユーザーでログインしてみよう
.ssh/config

レガシーと戦う開発組織の作り方

レガシー業界・システムに奮闘!プロダクト改善事例LT【開発PM勉強会vol.9】 - connpass https://peer-quest.connpass.com/event/239171/

自己紹介

  • 株式会社PR TIMES執行役員CTO 金子達哉
  • @catatsuyというアカウントで各種SNS登録しています
  • ピクシブ・メルカリを経て2021/04にPR TIMESに入社しました
package bench
import (
"encoding/base64"
"math/rand"
"testing"
"time"
"unsafe"
)

Goで並行処理初級編(goroutineとchannel)

  • Goで並行処理する時の初級編です
  • 今回の話はGoを書いている人には簡単すぎますが、並行処理やGoの経験がない人には難しすぎると思います
  • 少しでも考え方に慣れると並行処理が楽しくなってきます
  • 実はgoroutineが分からないという人は見たことがないですが、channelは多くの人がつまずくポイントです

goroutine

Goで並行処理をしたい場合はgoroutineを使う。使い方は簡単で関数の前にgoと書くだけ。

#!/usr/bin/php
<?php
error_reporting(-1);
ini_set('display_errors', true);
$OK = 0;
$WARNING = 1;
$CRITICAL = 2;
$UNKNOWN = 3;

pixivの開発フロー

  • 社内用のリポジトリ管理のためにGitLabを使用
    • pixivはPC・Touch版などがありそれぞれソースコードを一部共有しているためpixiv.gitという1つの大きなリポジトリで管理している
      • 社内で一番大きく関わっている人も多いリポジトリ
    • pixiv.gitは1.4GBくらい(昔は2GB超だったが工夫して減らした)なので外部サービスのGitHubに置くと遅すぎて開発ができない
      • GitHubの障害によりデプロイができなくなるのも困る
      • GitHubにはファイルの容量制限など様々な制限もあるのでそういったことで悩みたくない
      • 社内のデータセンター内で管理する必要がある
  • GitHub Enterpriseを使えば社内のサーバー上にGitHubを立てることができる
@catatsuy
catatsuy / slack.md
Last active November 12, 2019 11:22