SlideShare une entreprise Scribd logo
1  sur  38
Télécharger pour lire hors ligne
Golang 101
Eric	Fu
May	15,	2017	@	Splunk
Hello,	World
package main
import "fmt"
func main() {
fmt.Println("hello world")
}
2
Hello,	World	
again
package main
import "fmt"
func main() {
ch := sayHello("World")
for str := range ch {
fmt.Println(str)
}
}
func sayHello(name string) <-chan string
{
ch := make(chan string)
go func() {
defer close(ch)
ch <- "Hello"
ch <- name
}()
return ch;
}
3
What	is	Go?
Go	is	an	open	source	programming	language	that	makes	it	easy	to	build	
simple,	reliable,	and	efficient software.
- golang.org
4
History
• Open	source	since	2009	with	a	very	active	community.
• Language	stable	as	of	Go	1,	early	2012
• Latest	Version:	Go	1.8,	released	on	Feb	2017
5
Designers
V8	JavaScript	engine,	Java	HotSpot VM
Robert Griesemer Rob Pike
UNIX,	Plan	9,	UTF-8
Ken Thompson
UNIX,	Plan	9,	B	language,	 UTF-8
6
Why	Go?
• Go	is	an	answer	to	problems	
of	scale at	Google
7
System	Scale
• Designed	to	scale	to	10⁶⁺	machines
• Everyday	jobs	run	on	1000s	of	machines
• Jobs	coordinate,	interacting	with	others	in	the	system
• Lots	going	on	at	once
Solution:	great	support	for	concurrency
8
Engineering	Scale
• 5000+	developers	across	40+	offices
• 20+	changes	per	minute
• 50%	of	code	base	changes	every	month
• 50	million	test	cases	executed	per	day
• Single	code	tree
Solution:	design	the	language	for	large	code	bases
9
Who	uses	Go?
10
Assuming	you	know	Java...
• Statically	typed
• Garbage	collected
• Memory	safe	(nil	references,	runtime	bounds	checks)
• Methods
• Interfaces
• Type	assertions	(instanceof)
• Reflection
11
Leaved	out...
• No	classes
• No	constructors
• No	inheritance
• No final
• No	exceptions
• No	annotations
• No	user-defined	generics
12
Add	some	Cool	things
• Programs	compile	to	machine	code.	There's	no	VM.
• Statically	linked	binaries
• Control	over	memory	layout
• Function	values	and	lexical	closures
• Built-in	strings	(UTF-8)
• Built-in	generic	maps	and	arrays/slices
• Built-in	concurrency
13
Built-in	Concurrency
CSP - Communicating	sequential	processes	(Hoare,	1978)
• Sequential	execution	is	easy	to	understand.	Async callbacks	are	not.
• “Don't	communicate	by	sharing	memory,	share	memory	by	
communicating.”
CSP	in	Golang:	goroutines,	channels,	select
14
Goroutines
• Goroutines are	like	lightweight	threads.
• They	start	with	tiny	stacks	and	resize	as	needed.
• Go	programs	can	have	hundreds	of	thousands of	them.
• Start	a	goroutine using	the go statement:		go f(args)
• The	Go	runtime	schedules	goroutines onto	OS	threads.
15
Channels
• Provide	communication	between	goroutines.
c := make(chan string)
// goroutine 1
c <- "hello!"
// goroutine 2
s := <-c
fmt.Println(s) // "hello!"
16
Buffered	vs.	Unbuffered	Channels
coroutine producer/consumer
17
c := make(chan string) c := make(chan string, 42)
Hello,	World
again
package main
import "fmt"
func main() {
ch := sayHello("World")
for str := range ch {
fmt.Println(str)
}
}
func sayHello(name string) <-chan string {
ch := make(chan string)
go func() {
defer close(ch)
ch <- "Hello"
ch <- name
}()
return ch;
}
18
Select
• A select statement	blocks	until	communication	can	proceed.
select {
case n := <-foo:
fmt.Println("received from foo", n)
case n := <-bar:
fmt.Println("received from bar", n)
case <- time.After(10 * time.Second)
fmt.Println("time out")
}
19
Function	&	Closure
• Local	variable	escape
20
#include <string>
#include <iostream>
#include <functional>
using namespace std;
function<void()> numberPrinter(int x) {
return [&]() {
cout << "Printer: " << x << endl;
};
}
int main()
{
numberPrinter(123)();
}
Hello,	World
again
package main
import "fmt"
func main() {
var ch = sayHello("World")
for str := range ch {
fmt.Println(str)
}
}
func sayHello(name string) <-chan string {
ch := make(chan string)
go func() {
defer close(ch)
ch <- "Hello"
ch <- name
}()
return ch;
}
21
Struct
• Control	over	memory	layout
• Value vs.	pointer	(reference)
type Example struct {
Number int
Data [128]byte
Payload struct{
Length int
Checksum int
}
}
22
func (e *Example) String() string {
if e == nil {
return "N/A"
}
return fmt.Sprintf("Example %d", e.Number)
}
Method	&	Interface
• Simple	interfaces
• Duck	type
23
// In package "fmt"
type Stringer interface {
String() string
}
Interface	and	Type	assertion
• Empty	interface{}	means	any	type
24
func do(i interface{}) {
switch v := i.(type) {
case int:
fmt.Printf("Twice %v is %vn", v, v*2)
case string:
fmt.Printf("%q is %v bytes longn", v, len(v))
default:
fmt.Printf("I don't know about type %T!n", v)
}
}
Compiled	to	binary
• Run	fast
• Compile	fast
• Deploy	fast
https://benchmarksgame.alioth.debian.org/u64q/fasta.html25
Talk	is	cheap
Show	me	the	code!
26
Design	a	Microservice
27
Design	Secure	Store	for	LSDC
28
Design	Secure	Store	for	LSDC
• Listen	on	API	calls	from	other	micro-services
• While	got	a	request...
• Run	a	handler	function	in	a	new	Goroutine to	handle	this	request
• Pass a	channel	(context)	to	control	request	timeout
• Back	to	main	loop,	waiting	for	next	request
• The	hander	function	does:
• For	PUT:	encrypt	the	secret	with	KMS,	put	it	into	DynamoDB
• For	GET:	query	it	from	DynamoDB,	decrypt	secret	with	KMS
29
Storage	Service	Interface
package storage
import (
"context"
"splunk.com/lsdc_secure_store/common"
)
type Service interface {
PutSecret(ctx context.Context, secret *SecretRecord) error
GetSecret(ctx context.Context, id string) (*SecretRecord, error)
}
type SecretRecord struct {
common.SecretMetadata
common.SecretTriple
}
30
Key	Service	Interface
package keysrv
type Service interface {
GenerateKey(context *SecretContext, size int) (*GeneratedKey, error)
DecryptKey(context *SecretContext, ciphertext []byte) ([]byte, error)
}
type GeneratedKey struct {
Plaintext []byte
Ciphertext []byte
}
type SecretContext struct {
Realm string
Tenant string
}
31
GetSecret
32
func GetSecret(ctx context.Context, id, tenant, realm string) (*common.Secret, error) {
record, err := storageService.GetSecret(ctx, id)
if err != nil {
return nil, err
}
if err := verifyTenantRealm(ctx, record, realm, tenant); err != nil {
return nil, err
}
plaintext, err := Decrypt(ctx, keyService, &keysrv.SecretContext{realm, tenant},
&record.SecretTriple)
if err != nil {
return nil, err
}
return &common.Secret{
SecretMetadata: record.SecretMetadata,
Content: string(plaintext),
}, nil
}
context.Context
• control	request	timeout
• other	request	context
33
func Stream(ctx context.Context, out chan<-
Value) error {
for {
v, err := DoSomething(ctx)
if err != nil {
return err
}
select {
case <-ctx.Done():
return ctx.Err()
case out <- v:
}
}
}
type Context interface {
Deadline() (deadline time.Time, ok bool)
Done() <-chan struct{}
Err() error
Value(key interface{}) interface{}
}
Set	handler
func GetRealmsRealmSecretsID(params secret.GetSecretParams) middleware.Responder {
sec, err := secstore.GetSecret(...)
if err != nil {
return handleError(err)
} else {
return secret.NewGetSecretOK().WithPayload(&models.SecretDataResponse{
Data: &models.SecretData{
Alias: &sec.Alias,
Data: &sec.Content,
LastModified: &sec.LastUpdate,
},
})
}
}
api.SecretGetSecretHandler =
secret.GetSecretHandlerFunc(handlers.GetRealmsRealmSecretsID)
34
Demo	(optional)
35
• A	very	basic	http	server
cd $GOPATH/src/github.com/fuyufjh/gowiki
vim server.go
gofmt -w server.go
go get
go run server.go
go build -o server server.go
So,	What	is	‘Gopher’?
36
Summary
• concurrent
• fast
• simple
• designed	for	large	scale	software
37
Thanks!
38
Learn	Go	>	https://tour.golang.org

Contenu connexe

Tendances

Introduction to go lang
Introduction to go langIntroduction to go lang
Introduction to go langAmal Mohan N
 
golang_getting_started.pptx
golang_getting_started.pptxgolang_getting_started.pptx
golang_getting_started.pptxGuy Komari
 
Introduction to GoLang
Introduction to GoLangIntroduction to GoLang
Introduction to GoLangNVISIA
 
Golang (Go Programming Language)
Golang (Go Programming Language)Golang (Go Programming Language)
Golang (Go Programming Language)ShubhamMishra485
 
Golang - Overview of Go (golang) Language
Golang - Overview of Go (golang) LanguageGolang - Overview of Go (golang) Language
Golang - Overview of Go (golang) LanguageAniruddha Chakrabarti
 
The Go programming language - Intro by MyLittleAdventure
The Go programming language - Intro by MyLittleAdventureThe Go programming language - Intro by MyLittleAdventure
The Go programming language - Intro by MyLittleAdventuremylittleadventure
 
Go Programming Language (Golang)
Go Programming Language (Golang)Go Programming Language (Golang)
Go Programming Language (Golang)Ishin Vin
 
Golang getting started
Golang getting startedGolang getting started
Golang getting startedHarshad Patil
 
GO programming language
GO programming languageGO programming language
GO programming languagetung vu
 
Go Programming Language by Google
Go Programming Language by GoogleGo Programming Language by Google
Go Programming Language by GoogleUttam Gandhi
 
Introduction to Go programming
Introduction to Go programmingIntroduction to Go programming
Introduction to Go programmingExotel
 
Golang and Eco-System Introduction / Overview
Golang and Eco-System Introduction / OverviewGolang and Eco-System Introduction / Overview
Golang and Eco-System Introduction / OverviewMarkus Schneider
 
Introduction to go language programming
Introduction to go language programmingIntroduction to go language programming
Introduction to go language programmingMahmoud Masih Tehrani
 

Tendances (20)

Golang
GolangGolang
Golang
 
Go Language presentation
Go Language presentationGo Language presentation
Go Language presentation
 
Go Lang Tutorial
Go Lang TutorialGo Lang Tutorial
Go Lang Tutorial
 
Introduction to go lang
Introduction to go langIntroduction to go lang
Introduction to go lang
 
GoLang Introduction
GoLang IntroductionGoLang Introduction
GoLang Introduction
 
golang_getting_started.pptx
golang_getting_started.pptxgolang_getting_started.pptx
golang_getting_started.pptx
 
Introduction to GoLang
Introduction to GoLangIntroduction to GoLang
Introduction to GoLang
 
Golang (Go Programming Language)
Golang (Go Programming Language)Golang (Go Programming Language)
Golang (Go Programming Language)
 
Golang - Overview of Go (golang) Language
Golang - Overview of Go (golang) LanguageGolang - Overview of Go (golang) Language
Golang - Overview of Go (golang) Language
 
The Go programming language - Intro by MyLittleAdventure
The Go programming language - Intro by MyLittleAdventureThe Go programming language - Intro by MyLittleAdventure
The Go programming language - Intro by MyLittleAdventure
 
Go Programming Language (Golang)
Go Programming Language (Golang)Go Programming Language (Golang)
Go Programming Language (Golang)
 
Golang getting started
Golang getting startedGolang getting started
Golang getting started
 
GO programming language
GO programming languageGO programming language
GO programming language
 
Go Programming Language by Google
Go Programming Language by GoogleGo Programming Language by Google
Go Programming Language by Google
 
TMUX Rocks!
TMUX Rocks!TMUX Rocks!
TMUX Rocks!
 
Concurrency With Go
Concurrency With GoConcurrency With Go
Concurrency With Go
 
Introduction to Go programming
Introduction to Go programmingIntroduction to Go programming
Introduction to Go programming
 
Golang Template
Golang TemplateGolang Template
Golang Template
 
Golang and Eco-System Introduction / Overview
Golang and Eco-System Introduction / OverviewGolang and Eco-System Introduction / Overview
Golang and Eco-System Introduction / Overview
 
Introduction to go language programming
Introduction to go language programmingIntroduction to go language programming
Introduction to go language programming
 

Similaire à Golang 101

Python programming workshop session 1
Python programming workshop session 1Python programming workshop session 1
Python programming workshop session 1Abdul Haseeb
 
Inroduction to golang
Inroduction to golangInroduction to golang
Inroduction to golangYoni Davidson
 
Coding in GO - GDG SL - NSBM
Coding in GO - GDG SL - NSBMCoding in GO - GDG SL - NSBM
Coding in GO - GDG SL - NSBMRaveen Perera
 
Lex (lexical analyzer)
Lex (lexical analyzer)Lex (lexical analyzer)
Lex (lexical analyzer)Sami Said
 
Lex tool manual
Lex tool manualLex tool manual
Lex tool manualSami Said
 
Go programming introduction
Go programming introductionGo programming introduction
Go programming introductionGinto Joseph
 
Golang iran - tutorial go programming language - Preliminary
Golang iran - tutorial  go programming language - PreliminaryGolang iran - tutorial  go programming language - Preliminary
Golang iran - tutorial go programming language - Preliminarygo-lang
 
なぜ検索しなかったのか
なぜ検索しなかったのかなぜ検索しなかったのか
なぜ検索しなかったのかN Masahiro
 
Golang basics for Java developers - Part 1
Golang basics for Java developers - Part 1Golang basics for Java developers - Part 1
Golang basics for Java developers - Part 1Robert Stern
 
Go from a PHP Perspective
Go from a PHP PerspectiveGo from a PHP Perspective
Go from a PHP PerspectiveBarry Jones
 
10 reasons to be excited about go
10 reasons to be excited about go10 reasons to be excited about go
10 reasons to be excited about goDvir Volk
 
Static Analysis in Go
Static Analysis in GoStatic Analysis in Go
Static Analysis in GoTakuya Ueda
 

Similaire à Golang 101 (20)

Python programming workshop session 1
Python programming workshop session 1Python programming workshop session 1
Python programming workshop session 1
 
Happy Go programing
Happy Go programingHappy Go programing
Happy Go programing
 
Inroduction to golang
Inroduction to golangInroduction to golang
Inroduction to golang
 
Coding in GO - GDG SL - NSBM
Coding in GO - GDG SL - NSBMCoding in GO - GDG SL - NSBM
Coding in GO - GDG SL - NSBM
 
Lex (lexical analyzer)
Lex (lexical analyzer)Lex (lexical analyzer)
Lex (lexical analyzer)
 
Python basics
Python basicsPython basics
Python basics
 
Lex tool manual
Lex tool manualLex tool manual
Lex tool manual
 
Go introduction
Go   introductionGo   introduction
Go introduction
 
Go programming introduction
Go programming introductionGo programming introduction
Go programming introduction
 
Golang iran - tutorial go programming language - Preliminary
Golang iran - tutorial  go programming language - PreliminaryGolang iran - tutorial  go programming language - Preliminary
Golang iran - tutorial go programming language - Preliminary
 
Let's Go-lang
Let's Go-langLet's Go-lang
Let's Go-lang
 
なぜ検索しなかったのか
なぜ検索しなかったのかなぜ検索しなかったのか
なぜ検索しなかったのか
 
Golang basics for Java developers - Part 1
Golang basics for Java developers - Part 1Golang basics for Java developers - Part 1
Golang basics for Java developers - Part 1
 
Go from a PHP Perspective
Go from a PHP PerspectiveGo from a PHP Perspective
Go from a PHP Perspective
 
Introduction to Go
Introduction to GoIntroduction to Go
Introduction to Go
 
Golang workshop
Golang workshopGolang workshop
Golang workshop
 
10 reasons to be excited about go
10 reasons to be excited about go10 reasons to be excited about go
10 reasons to be excited about go
 
50 shades of PHP
50 shades of PHP50 shades of PHP
50 shades of PHP
 
go.ppt
go.pptgo.ppt
go.ppt
 
Static Analysis in Go
Static Analysis in GoStatic Analysis in Go
Static Analysis in Go
 

Plus de 宇 傅

Parallel Query Execution
Parallel Query ExecutionParallel Query Execution
Parallel Query Execution宇 傅
 
The Evolution of Data Systems
The Evolution of Data SystemsThe Evolution of Data Systems
The Evolution of Data Systems宇 傅
 
The Volcano/Cascades Optimizer
The Volcano/Cascades OptimizerThe Volcano/Cascades Optimizer
The Volcano/Cascades Optimizer宇 傅
 
PelotonDB - A self-driving database for hybrid workloads
PelotonDB - A self-driving database for hybrid workloadsPelotonDB - A self-driving database for hybrid workloads
PelotonDB - A self-driving database for hybrid workloads宇 傅
 
Immutable Data Structures
Immutable Data StructuresImmutable Data Structures
Immutable Data Structures宇 傅
 
The Case for Learned Index Structures
The Case for Learned Index StructuresThe Case for Learned Index Structures
The Case for Learned Index Structures宇 傅
 
Spark and Spark Streaming
Spark and Spark StreamingSpark and Spark Streaming
Spark and Spark Streaming宇 傅
 
Functional Programming in Java 8
Functional Programming in Java 8Functional Programming in Java 8
Functional Programming in Java 8宇 傅
 
第三届阿里中间件性能挑战赛冠军队伍答辩
第三届阿里中间件性能挑战赛冠军队伍答辩第三届阿里中间件性能挑战赛冠军队伍答辩
第三届阿里中间件性能挑战赛冠军队伍答辩宇 傅
 
Data Streaming Algorithms
Data Streaming AlgorithmsData Streaming Algorithms
Data Streaming Algorithms宇 傅
 
Docker Container: isolation and security
Docker Container: isolation and securityDocker Container: isolation and security
Docker Container: isolation and security宇 傅
 
Paxos and Raft Distributed Consensus Algorithm
Paxos and Raft Distributed Consensus AlgorithmPaxos and Raft Distributed Consensus Algorithm
Paxos and Raft Distributed Consensus Algorithm宇 傅
 

Plus de 宇 傅 (12)

Parallel Query Execution
Parallel Query ExecutionParallel Query Execution
Parallel Query Execution
 
The Evolution of Data Systems
The Evolution of Data SystemsThe Evolution of Data Systems
The Evolution of Data Systems
 
The Volcano/Cascades Optimizer
The Volcano/Cascades OptimizerThe Volcano/Cascades Optimizer
The Volcano/Cascades Optimizer
 
PelotonDB - A self-driving database for hybrid workloads
PelotonDB - A self-driving database for hybrid workloadsPelotonDB - A self-driving database for hybrid workloads
PelotonDB - A self-driving database for hybrid workloads
 
Immutable Data Structures
Immutable Data StructuresImmutable Data Structures
Immutable Data Structures
 
The Case for Learned Index Structures
The Case for Learned Index StructuresThe Case for Learned Index Structures
The Case for Learned Index Structures
 
Spark and Spark Streaming
Spark and Spark StreamingSpark and Spark Streaming
Spark and Spark Streaming
 
Functional Programming in Java 8
Functional Programming in Java 8Functional Programming in Java 8
Functional Programming in Java 8
 
第三届阿里中间件性能挑战赛冠军队伍答辩
第三届阿里中间件性能挑战赛冠军队伍答辩第三届阿里中间件性能挑战赛冠军队伍答辩
第三届阿里中间件性能挑战赛冠军队伍答辩
 
Data Streaming Algorithms
Data Streaming AlgorithmsData Streaming Algorithms
Data Streaming Algorithms
 
Docker Container: isolation and security
Docker Container: isolation and securityDocker Container: isolation and security
Docker Container: isolation and security
 
Paxos and Raft Distributed Consensus Algorithm
Paxos and Raft Distributed Consensus AlgorithmPaxos and Raft Distributed Consensus Algorithm
Paxos and Raft Distributed Consensus Algorithm
 

Dernier

Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Angeliki Cooney
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Orbitshub
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 

Dernier (20)

Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 

Golang 101