SlideShare une entreprise Scribd logo
1  sur  69
Télécharger pour lire hors ligne
スッとGoを取り入れる
Go 1.6 Release Party
2016-02-17
Hatena Inc. Tokyo Office
Yusuke Wada a.k.a. yusukebe
自己紹介
• Yusuke Wada
• @yusukebe
• http://blog.yusuke.be/
• Wadit CEO / Omoroki CTO
• Web Application Developer
• Technical Advisor
• Co-founder of bokete.jp
• Perl書いてる...
本日のテーマ
Goを本番投入するまでの
道のりとその他
現在の主なGoプロダクト
2個
その1
bokete/webstamp
bokete.jp
お題画像+テキスト
= ボケ
L○NEスタンプ風画像を

ダウンロードできる
これ
その2
yusukebe/revealgo
Markdown driven presentation tool
revealgo コマンドを実行
立ち上がったサーバをブラウザで開く
まさかの GitHub Trending 入り
\(^o^)/
ところがこのスライドは...
Keynote製
とはいえ...
$ go get github.com/yusukebe/cmd/revealgo
Goを取り入れるため
最初にやったこと
✕コードを書く
https://flic.kr/p/81RqH3
✕コードを読む
https://flic.kr/p/aGjVq8
答え...
⃝bradfitzと話す
http://twitter.com/bradfitz
去年のYAPC::Asiaで
bradfitzがボッチだったので...
ゆ:Hiぶらっど!君が書いたギアマンは最高にクールだね
ぶ:どんな用途でギアマンを使ってるんだい?
...(中略)...
ゆ:ところでGoはどうなんだ?
ぶ:まさに今Goでプログラムを書いてるところだ
ゆ:Goのいい所を教えてくれよ
...(中略)...
ぶ:こうやればAndroid向けのバイナリもコンパイル出来るぜ
ゆ:オーケー!Goを使ってみるよ!
予めGo本体の開発メンバである
bradfitz氏と「サシで」話して
モチベーションが上がった
2番目にやったこと
3番目にやったこと
スクリプト的に
Go言語を利用する
スクリプト的とは?
• main.go に package main のみ
• 単発のバッチスクリプトとか
• 例えば...
• MySQLのレコードを1つずつなめて...
• ちょっとした処理を加えてカラムを変更するetc.
例
for ;; {
var results []Entry
db.Select(&results, db.Where("flag","=","0"), db.Limit(limit));
if len(results) == 0 {
break
}
var wg sync.WaitGroup
for _, entry := range(results) {
wg.Add(1)
go func(e Entry) {
work(e)
wg.Done()
}(entry)
}
wg.Wait()
}
goと書くだけで並行処理が走って
DB接続処理もロックしないで便利!
そして調子に乗って...
goroutine走らせまくって
爆死
https://flic.kr/p/6TorAy
どこからGolang化
していくか?
ザックリな
Boketeアーキテクチャ
Web API サーバ
PC版Web スマホ版Web iOSアプリ
Androidアプリ その他フロント...
コアロジック
各種サービス
APIサーバをGoで書き直す必要も無いので特化したサービスをGoで!
Web API サーバ
PC版Web スマホ版Web iOSアプリ
Androidアプリ その他フロント...
コアロジック
各種サービス
スタンプ画像生成サーバがあった!
スタンプ
http://stamp.bokete.jp/{boke_id}.png
Web API サーバ
スタンプサーバ
TTL付きCDN
クライアント
URLのパスに基づきボケIDをゲット
ボケ情報取得
お題画像も取得しつつ
スタンプ 風に画像を生成しサーブ
ボケが削除されることも考慮しつつ
TTLを設定したCDNが画像を配信
シェア等してもらう
Perl製スタンプサーバを
Goでリプレース
git log -p cpanfile
-requires 'Lingua::JA::Fold';
-requires 'Imager';
-requires 'Imager::DTP::Textbox::Horizontal';
Lingua::JA::Fold - 禁則処理を含む日本語文字列の折り返し
Imager - 画像処理モジュール
Imager::DTP::Horizontal - テキスト画像の配置
じゃあレポジトリつくって
画像生成サーバ書くか
(´・ω・`)
次にやったこと
目的に合わせてそれを検証する
スニペットを書いてく
自信がついたらいよいよ
スタンプサーバの実装
出来た構成
$ tree ./
./
!"" README.md
!"" assets
# !"" font-heavy.ttf
# !"" font-medium.ttf
# !"" stamp_404.png
# !"" stamp_footer.png
# !"" stamp_header.png
# !"" stamp_panel.png
# $"" transparent.png
!"" assets.go
!"" client.go
!"" client_test.go
!"" cmd
# $"" stamp_server
# $"" main.go
!"" stamp.go
!"" stamp_test.go
!"" util.go
$"" util_test.go
go-bindataでassets.goに入れ込む
アセットファイル達
WebAPIから情報とってくる
peco/peco参考にした
画像オブジェクトをゴリゴリ頑張る
utilとはいえ主にテキスト処理
ある程度検証後デプロイ
結果こうなった
• デプロイツールとしてAnsible
• リモートレポジトリはGitHubのPrivate
• Ansibleでgit cloneする時はローカルの をforward
• GOPATHのsrc以下にAnsibleでプロジェクトをgit clone
• go get [とってきたプロジェクトのパス]
• GOPATHのbin以下に出来たバイナリを使って起動
リリースした結果
preforkしないからメモリ使用量少ない!
CPUフルフルに使い切る!
すごい!!
と思ったら...
メモリ膨れてる??
この時少しでも
Goが悪いと考えてしまった
僕をお許し下さい...
実は禁則処理ロジックで
無限ループを生む可能性があった
(*ノω・*)テヘ
さらに改良
yusukebe/go-pngquant
gophper.png
pngquant --speed 10
40.3KB 15.1KB!!
pngquantは標準入力からも
受け取れて標準出力にも
書き出せる
func CompressBytes(input []byte, speed string) (output []byte, err
error) {
cmd := exec.Command("pngquant", "-", "--speed", speed)
cmd.Stdin = strings.NewReader(string(input))
var o bytes.Buffer
cmd.Stdout = &o
err = cmd.Run()
if err != nil {
return
}
output = o.Bytes()
return
}
\(^o^)/
GO引にまとめ
Goを取り入れる
• 段階を追っていけばスッと取り入れられた
• 結果スタンプサーバの画像サイズが縮小した
• リソースの節約
• 最初は特化したサービスのリプレースから
• 次は新アプリをGoで書いてみたい
• たぶん... 悪いのはGoじゃない

Contenu connexe

Tendances

ホームディレクトリに埋もれた便利なコードをさがせ!
ホームディレクトリに埋もれた便利なコードをさがせ!ホームディレクトリに埋もれた便利なコードをさがせ!
ホームディレクトリに埋もれた便利なコードをさがせ!
Yohei Fushii
 
2150117 infrastructure.nagoya
2150117 infrastructure.nagoya2150117 infrastructure.nagoya
2150117 infrastructure.nagoya
Hiroki Ito
 
今流行りのウェブアプリ開発環境Yeoman
今流行りのウェブアプリ開発環境Yeoman今流行りのウェブアプリ開発環境Yeoman
今流行りのウェブアプリ開発環境Yeoman
tomo_masakura
 
Github codespaces すごく良い。もうこれで 十分なんじゃという話
Github codespaces すごく良い。もうこれで 十分なんじゃという話Github codespaces すごく良い。もうこれで 十分なんじゃという話
Github codespaces すごく良い。もうこれで 十分なんじゃという話
xiidec
 

Tendances (20)

Wantedly - 世界一"いいね!"される 求人サイトの作り方
Wantedly - 世界一"いいね!"される 求人サイトの作り方Wantedly - 世界一"いいね!"される 求人サイトの作り方
Wantedly - 世界一"いいね!"される 求人サイトの作り方
 
GoによるWebアプリ開発のキホン
GoによるWebアプリ開発のキホンGoによるWebアプリ開発のキホン
GoによるWebアプリ開発のキホン
 
Eureka go 2015_12_12
Eureka go 2015_12_12Eureka go 2015_12_12
Eureka go 2015_12_12
 
ホームディレクトリに埋もれた便利なコードをさがせ!
ホームディレクトリに埋もれた便利なコードをさがせ!ホームディレクトリに埋もれた便利なコードをさがせ!
ホームディレクトリに埋もれた便利なコードをさがせ!
 
2020/06/16 tsjp-azure-staticwebapps-vs_codespaces
2020/06/16 tsjp-azure-staticwebapps-vs_codespaces2020/06/16 tsjp-azure-staticwebapps-vs_codespaces
2020/06/16 tsjp-azure-staticwebapps-vs_codespaces
 
いつやるの?Git入門 v1.1.0
いつやるの?Git入門 v1.1.0いつやるの?Git入門 v1.1.0
いつやるの?Git入門 v1.1.0
 
GitLab Meetup Tokyo #1 LT:「わりと大きい会社でGitLabをホスティングしてみた話」
GitLab Meetup Tokyo #1 LT:「わりと大きい会社でGitLabをホスティングしてみた話」GitLab Meetup Tokyo #1 LT:「わりと大きい会社でGitLabをホスティングしてみた話」
GitLab Meetup Tokyo #1 LT:「わりと大きい会社でGitLabをホスティングしてみた話」
 
2150117 infrastructure.nagoya
2150117 infrastructure.nagoya2150117 infrastructure.nagoya
2150117 infrastructure.nagoya
 
Github of project
Github of projectGithub of project
Github of project
 
Gws 20141024 gradle_intro
Gws 20141024 gradle_introGws 20141024 gradle_intro
Gws 20141024 gradle_intro
 
サーバー&インフラ勉強会 Vol.1 いとー
サーバー&インフラ勉強会 Vol.1 いとーサーバー&インフラ勉強会 Vol.1 いとー
サーバー&インフラ勉強会 Vol.1 いとー
 
Androidの新ビルドシステム
Androidの新ビルドシステムAndroidの新ビルドシステム
Androidの新ビルドシステム
 
今流行りのウェブアプリ開発環境Yeoman
今流行りのウェブアプリ開発環境Yeoman今流行りのウェブアプリ開発環境Yeoman
今流行りのウェブアプリ開発環境Yeoman
 
Git紹介
Git紹介Git紹介
Git紹介
 
Github codespaces すごく良い。もうこれで 十分なんじゃという話
Github codespaces すごく良い。もうこれで 十分なんじゃという話Github codespaces すごく良い。もうこれで 十分なんじゃという話
Github codespaces すごく良い。もうこれで 十分なんじゃという話
 
Rails on Dockerとの戦い
Rails on Dockerとの戦いRails on Dockerとの戦い
Rails on Dockerとの戦い
 
Gitの使い方あれこれ
Gitの使い方あれこれGitの使い方あれこれ
Gitの使い方あれこれ
 
Multibranch pipelineでいろいろ学んだこと
Multibranch pipelineでいろいろ学んだことMultibranch pipelineでいろいろ学んだこと
Multibranch pipelineでいろいろ学んだこと
 
Write slides and books in VSCode + Markdown
Write slides and books in VSCode + MarkdownWrite slides and books in VSCode + Markdown
Write slides and books in VSCode + Markdown
 
Vue.js with Go
Vue.js with GoVue.js with Go
Vue.js with Go
 

En vedette

簡易デプロイツール(スクリプト)を作ってみた話
簡易デプロイツール(スクリプト)を作ってみた話簡易デプロイツール(スクリプト)を作ってみた話
簡易デプロイツール(スクリプト)を作ってみた話
yokoda_toshiaki
 
Cinnamon - simple deploy tool
Cinnamon - simple deploy toolCinnamon - simple deploy tool
Cinnamon - simple deploy tool
Yuki Shibazaki
 
Decksetがよかった話
Decksetがよかった話Decksetがよかった話
Decksetがよかった話
Kohki Miki
 
Chrome osとgo言語からgoogleの今後を妄想してみる
Chrome osとgo言語からgoogleの今後を妄想してみるChrome osとgo言語からgoogleの今後を妄想してみる
Chrome osとgo言語からgoogleの今後を妄想してみる
Masakazu Muraoka
 

En vedette (20)

reveal.js 3.0.0
reveal.js 3.0.0reveal.js 3.0.0
reveal.js 3.0.0
 
【プレゼン】見やすいプレゼン資料の作り方【初心者用】
【プレゼン】見やすいプレゼン資料の作り方【初心者用】【プレゼン】見やすいプレゼン資料の作り方【初心者用】
【プレゼン】見やすいプレゼン資料の作り方【初心者用】
 
Oppai-Detect 3
Oppai-Detect 3Oppai-Detect 3
Oppai-Detect 3
 
東京脱出計画中
東京脱出計画中東京脱出計画中
東京脱出計画中
 
簡易デプロイツール(スクリプト)を作ってみた話
簡易デプロイツール(スクリプト)を作ってみた話簡易デプロイツール(スクリプト)を作ってみた話
簡易デプロイツール(スクリプト)を作ってみた話
 
PDLで遊んでみた Yomitan.pm #5 LT
PDLで遊んでみた Yomitan.pm #5 LTPDLで遊んでみた Yomitan.pm #5 LT
PDLで遊んでみた Yomitan.pm #5 LT
 
Cinnamon - simple deploy tool
Cinnamon - simple deploy toolCinnamon - simple deploy tool
Cinnamon - simple deploy tool
 
トーナメントは運か実力か
トーナメントは運か実力かトーナメントは運か実力か
トーナメントは運か実力か
 
いかにしてエロ動画を検索するか GXEB #03
いかにしてエロ動画を検索するか GXEB #03いかにしてエロ動画を検索するか GXEB #03
いかにしてエロ動画を検索するか GXEB #03
 
HTML5でオフラインWebアプリケーションを作ろう
HTML5でオフラインWebアプリケーションを作ろうHTML5でオフラインWebアプリケーションを作ろう
HTML5でオフラインWebアプリケーションを作ろう
 
How to make keynote like presentation with markdown
How to make keynote like presentation with markdownHow to make keynote like presentation with markdown
How to make keynote like presentation with markdown
 
Decksetがよかった話
Decksetがよかった話Decksetがよかった話
Decksetがよかった話
 
Chrome osとgo言語からgoogleの今後を妄想してみる
Chrome osとgo言語からgoogleの今後を妄想してみるChrome osとgo言語からgoogleの今後を妄想してみる
Chrome osとgo言語からgoogleの今後を妄想してみる
 
らくちん Go言語
らくちん Go言語らくちん Go言語
らくちん Go言語
 
Go言語と過ごした一週間
Go言語と過ごした一週間Go言語と過ごした一週間
Go言語と過ごした一週間
 
Github第8章
Github第8章Github第8章
Github第8章
 
Goを知る
Goを知るGoを知る
Goを知る
 
alphawing meets heroku
alphawing meets herokualphawing meets heroku
alphawing meets heroku
 
Golang, make and robotics #gocon
Golang, make and robotics #goconGolang, make and robotics #gocon
Golang, make and robotics #gocon
 
Introduction to Vim plugins developed by non-Japanese Vimmer (Japanese version)
Introduction to Vim plugins developed by non-Japanese Vimmer (Japanese version)Introduction to Vim plugins developed by non-Japanese Vimmer (Japanese version)
Introduction to Vim plugins developed by non-Japanese Vimmer (Japanese version)
 

Similaire à スッとGoを取り入れる

Swaggerのさわりだけ
SwaggerのさわりだけSwaggerのさわりだけ
Swaggerのさわりだけ
Masakazu Muraoka
 
ライブラリ作成のすゝめ - 事例から見る個人OSS開発の効能
ライブラリ作成のすゝめ - 事例から見る個人OSS開発の効能ライブラリ作成のすゝめ - 事例から見る個人OSS開発の効能
ライブラリ作成のすゝめ - 事例から見る個人OSS開発の効能
Yoshifumi Kawai
 
Goodby Hatena, hello Sphinx
Goodby Hatena, hello SphinxGoodby Hatena, hello Sphinx
Goodby Hatena, hello Sphinx
Kouhei Maeda
 
JJUG CCC 2011 Fall / Web test automation with Geb and Spock
JJUG CCC 2011 Fall / Web test automation with Geb and SpockJJUG CCC 2011 Fall / Web test automation with Geb and Spock
JJUG CCC 2011 Fall / Web test automation with Geb and Spock
Nobuhiro Sue
 
大規模プロダクト Webpack やっていく気持ち
大規模プロダクト Webpack やっていく気持ち大規模プロダクト Webpack やっていく気持ち
大規模プロダクト Webpack やっていく気持ち
Takumi Ohashi
 

Similaire à スッとGoを取り入れる (20)

Remote Development with Visual Studio Code & A clean dev env, working every ...
Remote Development with Visual Studio Code &  A clean dev env, working every ...Remote Development with Visual Studio Code &  A clean dev env, working every ...
Remote Development with Visual Studio Code & A clean dev env, working every ...
 
Pythonを始めよう
Pythonを始めようPythonを始めよう
Pythonを始めよう
 
今時のオンプレなgithubクローン環境構築
今時のオンプレなgithubクローン環境構築今時のオンプレなgithubクローン環境構築
今時のオンプレなgithubクローン環境構築
 
Swaggerのさわりだけ
SwaggerのさわりだけSwaggerのさわりだけ
Swaggerのさわりだけ
 
ライブラリ作成のすゝめ - 事例から見る個人OSS開発の効能
ライブラリ作成のすゝめ - 事例から見る個人OSS開発の効能ライブラリ作成のすゝめ - 事例から見る個人OSS開発の効能
ライブラリ作成のすゝめ - 事例から見る個人OSS開発の効能
 
Metahub for github
Metahub for githubMetahub for github
Metahub for github
 
2017823 pythonを始めよう
2017823 pythonを始めよう2017823 pythonを始めよう
2017823 pythonを始めよう
 
Goodby Hatena, hello Sphinx
Goodby Hatena, hello SphinxGoodby Hatena, hello Sphinx
Goodby Hatena, hello Sphinx
 
North Starアプリ作り,海外コミュニティ,Tips
North Starアプリ作り,海外コミュニティ,TipsNorth Starアプリ作り,海外コミュニティ,Tips
North Starアプリ作り,海外コミュニティ,Tips
 
粗探しをしてGoのコントリビューターになる方法
粗探しをしてGoのコントリビューターになる方法粗探しをしてGoのコントリビューターになる方法
粗探しをしてGoのコントリビューターになる方法
 
[Lt]versionごとにurlを自動生成
[Lt]versionごとにurlを自動生成[Lt]versionごとにurlを自動生成
[Lt]versionごとにurlを自動生成
 
JavaScriptで ごく普通にhttp通信をする 〜esp8266+espruinoでhttp getリクエストをするテスト〜
JavaScriptで ごく普通にhttp通信をする 〜esp8266+espruinoでhttp getリクエストをするテスト〜JavaScriptで ごく普通にhttp通信をする 〜esp8266+espruinoでhttp getリクエストをするテスト〜
JavaScriptで ごく普通にhttp通信をする 〜esp8266+espruinoでhttp getリクエストをするテスト〜
 
JJUG CCC 2011 Fall / Web test automation with Geb and Spock
JJUG CCC 2011 Fall / Web test automation with Geb and SpockJJUG CCC 2011 Fall / Web test automation with Geb and Spock
JJUG CCC 2011 Fall / Web test automation with Geb and Spock
 
Gopenflow demo v1
Gopenflow demo v1Gopenflow demo v1
Gopenflow demo v1
 
ブラウザだけで学ぶWebアプリ開発
ブラウザだけで学ぶWebアプリ開発 ブラウザだけで学ぶWebアプリ開発
ブラウザだけで学ぶWebアプリ開発
 
大規模プロダクト Webpack やっていく気持ち
大規模プロダクト Webpack やっていく気持ち大規模プロダクト Webpack やっていく気持ち
大規模プロダクト Webpack やっていく気持ち
 
メルカリにおける自動化への取り組み (automation-night2 LT)
メルカリにおける自動化への取り組み (automation-night2 LT)メルカリにおける自動化への取り組み (automation-night2 LT)
メルカリにおける自動化への取り組み (automation-night2 LT)
 
"Continuous Publication" with Python: Another Approach
"Continuous Publication" with Python: Another Approach"Continuous Publication" with Python: Another Approach
"Continuous Publication" with Python: Another Approach
 
一番簡単なWebSocketの試し方
一番簡単なWebSocketの試し方一番簡単なWebSocketの試し方
一番簡単なWebSocketの試し方
 
Easy scripting in Go
Easy scripting in GoEasy scripting in Go
Easy scripting in Go
 

Plus de Yusuke Wada

僕らがWebサービスをつくる5つの理由
僕らがWebサービスをつくる5つの理由僕らがWebサービスをつくる5つの理由
僕らがWebサービスをつくる5つの理由
Yusuke Wada
 

Plus de Yusuke Wada (20)

僕がつくった 70個のうちの48個のWebサービス達
僕がつくった 70個のうちの48個のWebサービス達僕がつくった 70個のうちの48個のWebサービス達
僕がつくった 70個のうちの48個のWebサービス達
 
Extreme remote working
Extreme remote workingExtreme remote working
Extreme remote working
 
Podcastを支える技術、エンジニアのためのWebメディア、そしてCPAN
Podcastを支える技術、エンジニアのためのWebメディア、そしてCPANPodcastを支える技術、エンジニアのためのWebメディア、そしてCPAN
Podcastを支える技術、エンジニアのためのWebメディア、そしてCPAN
 
創造のプロセスを回せ!v0.01
創造のプロセスを回せ!v0.01創造のプロセスを回せ!v0.01
創造のプロセスを回せ!v0.01
 
It's not only about "REMOTE"
It's not only about "REMOTE"It's not only about "REMOTE"
It's not only about "REMOTE"
 
事故からはじまるスケールチャンス
事故からはじまるスケールチャンス事故からはじまるスケールチャンス
事故からはじまるスケールチャンス
 
Google BigQueryを使ってみた!
Google BigQueryを使ってみた!Google BigQueryを使ってみた!
Google BigQueryを使ってみた!
 
Webサービスのコンテンツパターン 或いはデータの活⽤
Webサービスのコンテンツパターン 或いはデータの活⽤Webサービスのコンテンツパターン 或いはデータの活⽤
Webサービスのコンテンツパターン 或いはデータの活⽤
 
とある Perl Monger の働き方
とある Perl Monger の働き方とある Perl Monger の働き方
とある Perl Monger の働き方
 
5 minutes - YAPC::Asia Tokyo 2014
5 minutes - YAPC::Asia Tokyo 20145 minutes - YAPC::Asia Tokyo 2014
5 minutes - YAPC::Asia Tokyo 2014
 
Podcastをカジュアルに 支える技術
Podcastをカジュアルに 支える技術Podcastをカジュアルに 支える技術
Podcastをカジュアルに 支える技術
 
The master plan of scaling a web application
The master plan ofscaling a web applicationThe master plan ofscaling a web application
The master plan of scaling a web application
 
そのWebサービスは本当に「あたりまえ」だったのか?
そのWebサービスは本当に「あたりまえ」だったのか?そのWebサービスは本当に「あたりまえ」だったのか?
そのWebサービスは本当に「あたりまえ」だったのか?
 
Mojoliciousでつくる! Webアプリ入門
Mojoliciousでつくる! Webアプリ入門Mojoliciousでつくる! Webアプリ入門
Mojoliciousでつくる! Webアプリ入門
 
10 things to learn from Bokete
10 things to learn from Bokete10 things to learn from Bokete
10 things to learn from Bokete
 
Inside Bokete: Web Application with Mojolicious and others
Inside Bokete:  Web Application with Mojolicious and othersInside Bokete:  Web Application with Mojolicious and others
Inside Bokete: Web Application with Mojolicious and others
 
僕らの履歴書
僕らの履歴書僕らの履歴書
僕らの履歴書
 
僕らがWebサービスをつくる5つの理由
僕らがWebサービスをつくる5つの理由僕らがWebサービスをつくる5つの理由
僕らがWebサービスをつくる5つの理由
 
僕らがつくるための 「5W」について
僕らがつくるための 「5W」について僕らがつくるための 「5W」について
僕らがつくるための 「5W」について
 
「Webサービスのつくり方」 のつくり方
「Webサービスのつくり方」 のつくり方「Webサービスのつくり方」 のつくり方
「Webサービスのつくり方」 のつくり方
 

Dernier

Dernier (7)

業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 

スッとGoを取り入れる