SlideShare a Scribd company logo
5/14/2015 Go
http://127.0.0.1:3999/go-why-care/pres.slide#1 1/37
Go
Where it's going and why you should pay attention
14 May 2015
Aaron Schlesinger
Sr. Engineer, Iron.io
5/14/2015 Go
http://127.0.0.1:3999/go-why-care/pres.slide#1 2/37
About Me
Currently a database & backend systems engineer at Iron.io
Writing Go for 1.5 years
Worked on server side and distributed systems for 5 years
Go is my favorite language. I'm most productive and happiest here
5/14/2015 Go
http://127.0.0.1:3999/go-why-care/pres.slide#1 3/37
Today
Why Go is powerful
Why it's important
Why it's worth your attention
5/14/2015 Go
http://127.0.0.1:3999/go-why-care/pres.slide#1 4/37
About Go
A programming language that started at Google. From golang.org(http://golang.org):
Goisanopensourceprogramminglanguagethatmakesiteasytobuildsimple,
reliable,andefficientsoftware.
Very good choice for:
Cloud & microservices
Web servers
Systems utilities
Databases
Monitoring tools
5/14/2015 Go
http://127.0.0.1:3999/go-why-care/pres.slide#1 5/37
Why Go?
Efficient runtime
Simple & powerful primitives
Extremely productive
Great tools
Fun
5/14/2015 Go
http://127.0.0.1:3999/go-why-care/pres.slide#1 6/37
Simple program
packagemain
import"fmt"
constnumIters=10
funcmain(){
fori:=0;i<numIters;i++{
fmt.Printf("HiGophers!(#%d)n",i+1)
}
} Run
5/14/2015 Go
http://127.0.0.1:3999/go-why-care/pres.slide#1 7/37
Simple (concurrent) program
packagemain
import(
"fmt"
"sync"
)
constnumIters=10
funcprintHello(iterNumint,wg*sync.WaitGroup){
deferwg.Done()
fmt.Printf("HiGophers!(#%d)n",iterNum+1)
}
funcmain(){
varwgsync.WaitGroup
fori:=0;i<numIters;i++{
wg.Add(1)
goprintHello(i,&wg)
}
wg.Wait()
} Run
5/14/2015 Go
http://127.0.0.1:3999/go-why-care/pres.slide#1 8/37
Concurrency
It's built into the language. I believe this is the #1 most powerful feature of Go.
You define concurrent units of execution inside goroutines (concurrently executing
functions)
Goroutines can communicate & synchronize using channels
You write your programs as if they do blocking I/O
Applications use all cores
5/14/2015 Go
http://127.0.0.1:3999/go-why-care/pres.slide#1 9/37
Concurrency details
Goroutines have dynamically sized stacks
Runtime multiplexes your Goroutines onto threads
Runtime automatically context switches for you on I/O, etc...
5/14/2015 Go
http://127.0.0.1:3999/go-why-care/pres.slide#1 10/37
The current state of Go
Real Go programs are in production at Google, Square, The New York Times, Github,
Digital Ocean, Iron.io and many more.
Active & growing community
Core team focuses mostly on perf & tools
Very few new lang features
"The Go Way"
5/14/2015 Go
http://127.0.0.1:3999/go-why-care/pres.slide#1 11/37
My predictions
Go's usage will steadily grow
More high profile open source projects will be written in Go
Go will be the best language for cloud computing environments
Go will be the default stack for many new software businesses
Other programing languages will need to improve to:
Keep pace with growing cloud computing requirements
Compete with Go
5/14/2015 Go
http://127.0.0.1:3999/go-why-care/pres.slide#1 12/37
Evidence
I will present evidence for the following:
Why Go's adoption will grow
Why Go is the right choice for large scale applications today
5/14/2015 Go
http://127.0.0.1:3999/go-why-care/pres.slide#1 13/37
Adoption
Why the Go developer base will grow.
5/14/2015 Go
http://127.0.0.1:3999/go-why-care/pres.slide#1 14/37
1. Buzz
Before a programmer chooses Go, he/she will probably hear about it primarily via blog
posts, articles or word-of-mouth (conferences, meetups, friends).
Many developers of all experience levels are writing and reading about Go today.
5/14/2015 Go
http://127.0.0.1:3999/go-why-care/pres.slide#1 15/37
1.1. Example
Travis Reeder, co-founder of Iron.io posted about his experience replacing existing
software with Go.
blog.iron.io/2013/03/how-we-went-from-30-servers-to-2-go.html(http://blog.iron.io/2013/03/how-we-went-
from-30-servers-to-2-go.html)
To date, it is one of Iron's most popular blog posts. It generated a large discussion on
Hacker News.
news.ycombinator.com/item?id=5365096(https://news.ycombinator.com/item?id=5365096)
Similarly, there is significant, growing interest (and debate) around Go in the
community at large.
5/14/2015 Go
http://127.0.0.1:3999/go-why-care/pres.slide#1 16/37
2. First line of code
Anybody can try Go by going to play.golang.org(http://play.golang.org).
There are no other requisite steps to execute Go code.
5/14/2015 Go
http://127.0.0.1:3999/go-why-care/pres.slide#1 17/37
3. Installing Go
Setup for non-trivial development requires the following steps:
Create and setup your GOPATH
Download the go binary to your executable path
This process is by far the simplest I have encountered across any language. Go makes
an excellent first impression.
5/14/2015 Go
http://127.0.0.1:3999/go-why-care/pres.slide#1 18/37
4. Toolchain
The toolchain is encapsulated in a single binary. That binary contains all of the tools a
first time Go programmer will need to start building and running programs.
It scales to large codebases too. I generally use only 1 additional tool in my everyday
development.
5/14/2015 Go
http://127.0.0.1:3999/go-why-care/pres.slide#1 19/37
5. Dev/test workflow
The language and compiler were designed to compile code quickly and they deliver.
Fast compilation enables an efficient local edit/test workflow
Fast compilation enables significant developer efficiency advantages
Additionally, build/test/deploy pipelines can complete their tasks significantly faster
5/14/2015 Go
http://127.0.0.1:3999/go-why-care/pres.slide#1 20/37
6. Everyday development
Go enables developers to write better code faster.
The language is simple (25 keywords) but powerful. Developers focus more on
semantics, less on syntax
Documentation is accessible, centralized and well organized. See godoc.org(http://godoc.org)
Industrial grade static checking is built into the standard toolchain
Go programs are statically linked. Developers run their programs locally with no
external dependencies
5/14/2015 Go
http://127.0.0.1:3999/go-why-care/pres.slide#1 21/37
7. Extensibility
The Go toolchain's feature set will grow primarily because the language is so simple
and powerful.
For example:
There's a Go parser built into the standard library. Developers in the community have
used this feature to quickly build high quality code generation tools, new static
checkers, etc...
5/14/2015 Go
http://127.0.0.1:3999/go-why-care/pres.slide#1 22/37
8. Packaging
Go includes a simple packaging scheme:
The toolchain installs a dependency by downloading the code and compiling it into
your program
Packages can be hosted on major source code repositories or any server that
follows a simple HTTP request protocol
Go packaging is criticized a lot. The community has built many tools to make it more
robust, but its simplicity enables an extremely low friction release process.
5/14/2015 Go
http://127.0.0.1:3999/go-why-care/pres.slide#1 23/37
Suitability for cloud & microservices environments
Why Go is here to stay.
5/14/2015 Go
http://127.0.0.1:3999/go-why-care/pres.slide#1 24/37
1. Deployment
The following key features make Go programs very easy to deploy in multiple
scenarios
The Go compiler statically links its output binaries
Go binaries require no runtime/interpreter on the target. All necessary runtime
components are compiled into the binary
The Go toolchain can cross compile programs. A developer on a Mac OS X machine
can compile for a Linux target platform, for example
5/14/2015 Go
http://127.0.0.1:3999/go-why-care/pres.slide#1 25/37
1.1. Deploying a web application
Statically linked binaries with no external dependencies (except libc if linux target) are
much easier to deploy than dynamically linked binaries or JVM applications.
Engineers won't choose Go for this feature, but they appreciate it after they do.
5/14/2015 Go
http://127.0.0.1:3999/go-why-care/pres.slide#1 26/37
1.2. Deploying a CLI application
Some developers are beginning to use Go for CLI applications as well. Cross compiling
and static linking are both extremely important in this scenario.
Go allows CLI developers to ship a single binary without writing detailed install
instructions or worrying about dependencies on the user's machine.
5/14/2015 Go
http://127.0.0.1:3999/go-why-care/pres.slide#1 27/37
2. Concurrency & I/O
Modern web and CLI applications alike often need to do complex I/O.
Web apps, for example, often need to interact with multiple 3rd party APIs which may
fail independently.
Go has concurrency & I/O features that enable robust applications:
Runtime-managed goroutines
Built in, typed channels for cross-goroutine communication and synchronization
select statements for doing complex operations on multiple goroutines
ability to timeout on a channel send or recv
automatic context switching on I/O syscalls
make it work, make it right, make it fast
5/14/2015 Go
http://127.0.0.1:3999/go-why-care/pres.slide#1 28/37
2.1. Concurrency example - access a shared external resource
packagemain
import"math/rand"
funcmain(){
sigs:=make([]chanint,10)
fori:=0;i<10;i++{
sigs[i]=make(chanint)
gofunc(nint,sigchanint){
for{
<-sig
sig<-n+rand.Int()
}
}(i,sigs[i])
}
fori:=0;i<100;i++{
sigs[i%10]<-0
println("gotresourceresult",<-sigs[i%10])
}
} Run
5/14/2015 Go
http://127.0.0.1:3999/go-why-care/pres.slide#1 29/37
2.2. Concurrency example - timeout
packagemain
import(
"fmt"
"time"
)
funcmain(){
ch:=make(chanstring)
gofunc(){
time.Sleep(1*time.Second)
ch<-"goroutine1"
}()
select{
casestr:=<-ch:
fmt.Println("gotstring",str)
case<-time.After(100*time.Millisecond):
fmt.Println("timedoutongoroutine1")
}
} Run
5/14/2015 Go
http://127.0.0.1:3999/go-why-care/pres.slide#1 30/37
2.3. That was just a single I/O
Didn't cover
Concurrent CPU utilization
(De)multiplexing I/O
Fan-in / fan-out & pipelines
Long Tail Patterns (e.g. first one wins)
...
5/14/2015 Go
http://127.0.0.1:3999/go-why-care/pres.slide#1 31/37
In summary
Go is a new, exciting and growing language
It's very mature for its age
Today it's being adopted primarily in systems niches
It will expand to be the de facto standard for web scale applications
5/14/2015 Go
http://127.0.0.1:3999/go-why-care/pres.slide#1 32/37
Challenge to new Gophers
Go to http://bit.ly/1Et4O7x(http://bit.ly/1B09b3F)
Write your solution at play.golang.org(http://play.golang.org)
Click "Share" at the top and send the link to arschles@gmail.com
I will respond with feedback and we can discuss
5/14/2015 Go
http://127.0.0.1:3999/go-why-care/pres.slide#1 33/37
Existing Gophers
Send me a code snippet (arschles@gmail.com) of the most complex concurrent Go
code you've seen.
I want to discuss how you'd make it better.
5/14/2015 Go
http://127.0.0.1:3999/go-why-care/pres.slide#1 34/37
Companies using Go
Iron.io(http://iron.io/)
CoreOS(https://coreos.com/)
InfluxDB(http://influxdb.com/)
Docker(https://www.docker.com/)
Hashicorp(https://hashicorp.com/)
Walmart Labs(http://walmartlabs.com)
Cloudflare(http://cloudflare.com)
Google(http://google.com)(of course)
5/14/2015 Go
http://127.0.0.1:3999/go-why-care/pres.slide#1 35/37
Major open source projects written in Go
NSQ(https://github.com/bitly/nsq)
Kubernetes(https://github.com/GoogleCloudPlatform/kubernetes)
Terraform(https://github.com/hashicorp/terraform)
Packer(https://github.com/mitchellh/packer)
Docker(https://github.com/docker/docker)
Vulcand(https://github.com/mailgun/vulcand)
5/14/2015 Go
http://127.0.0.1:3999/go-why-care/pres.slide#1 36/37
Thank you
Aaron Schlesinger
Sr. Engineer, Iron.io
arschles@gmail.com(mailto:arschles@gmail.com)
http://github.com/arschles(http://github.com/arschles)
http://iron.io(http://iron.io)
@arschles(http://twitter.com/arschles)
5/14/2015 Go
http://127.0.0.1:3999/go-why-care/pres.slide#1 37/37

More Related Content

What's hot

Golang 101
Golang 101Golang 101
Golang 101
宇 傅
 
Coding with golang
Coding with golangCoding with golang
Coding with golang
HannahMoss14
 
Golang
GolangGolang
Golang
Felipe Mamud
 
Go Language presentation
Go Language presentationGo Language presentation
Go Language presentation
Gh-Mohammed Eldadah
 
Golang getting started
Golang getting startedGolang getting started
Golang getting started
Harshad Patil
 
GoLang Introduction
GoLang IntroductionGoLang Introduction
GoLang Introduction
Spandana Govindgari
 
Golang - Overview of Go (golang) Language
Golang - Overview of Go (golang) LanguageGolang - Overview of Go (golang) Language
Golang - Overview of Go (golang) Language
Aniruddha Chakrabarti
 
Concurrency With Go
Concurrency With GoConcurrency With Go
Concurrency With Go
John-Alan Simmons
 
Introduction to Go programming language
Introduction to Go programming languageIntroduction to Go programming language
Introduction to Go programming language
Slawomir Dorzak
 
Write microservice in golang
Write microservice in golangWrite microservice in golang
Write microservice in golang
Bo-Yi Wu
 
GO programming language
GO programming languageGO programming language
GO programming language
tung vu
 
Go Lang Tutorial
Go Lang TutorialGo Lang Tutorial
Go Lang Tutorial
Wei-Ning Huang
 
Golang and Eco-System Introduction / Overview
Golang and Eco-System Introduction / OverviewGolang and Eco-System Introduction / Overview
Golang and Eco-System Introduction / Overview
Markus Schneider
 
Concurrency in Golang
Concurrency in GolangConcurrency in Golang
Concurrency in Golang
Oliver N
 
Goroutines and Channels in practice
Goroutines and Channels in practiceGoroutines and Channels in practice
Goroutines and Channels in practice
Guilherme Garnier
 
Go Concurrency
Go ConcurrencyGo Concurrency
Go Concurrency
jgrahamc
 
Go Programming Language (Golang)
Go Programming Language (Golang)Go Programming Language (Golang)
Go Programming Language (Golang)
Ishin Vin
 
Introduction to go language programming
Introduction to go language programmingIntroduction to go language programming
Introduction to go language programming
Mahmoud Masih Tehrani
 
Introduction to Go language
Introduction to Go languageIntroduction to Go language
Introduction to Go language
Tzar Umang
 
gRPC Overview
gRPC OverviewgRPC Overview
gRPC Overview
Varun Talwar
 

What's hot (20)

Golang 101
Golang 101Golang 101
Golang 101
 
Coding with golang
Coding with golangCoding with golang
Coding with golang
 
Golang
GolangGolang
Golang
 
Go Language presentation
Go Language presentationGo Language presentation
Go Language presentation
 
Golang getting started
Golang getting startedGolang getting started
Golang getting started
 
GoLang Introduction
GoLang IntroductionGoLang Introduction
GoLang Introduction
 
Golang - Overview of Go (golang) Language
Golang - Overview of Go (golang) LanguageGolang - Overview of Go (golang) Language
Golang - Overview of Go (golang) Language
 
Concurrency With Go
Concurrency With GoConcurrency With Go
Concurrency With Go
 
Introduction to Go programming language
Introduction to Go programming languageIntroduction to Go programming language
Introduction to Go programming language
 
Write microservice in golang
Write microservice in golangWrite microservice in golang
Write microservice in golang
 
GO programming language
GO programming languageGO programming language
GO programming language
 
Go Lang Tutorial
Go Lang TutorialGo Lang Tutorial
Go Lang Tutorial
 
Golang and Eco-System Introduction / Overview
Golang and Eco-System Introduction / OverviewGolang and Eco-System Introduction / Overview
Golang and Eco-System Introduction / Overview
 
Concurrency in Golang
Concurrency in GolangConcurrency in Golang
Concurrency in Golang
 
Goroutines and Channels in practice
Goroutines and Channels in practiceGoroutines and Channels in practice
Goroutines and Channels in practice
 
Go Concurrency
Go ConcurrencyGo Concurrency
Go Concurrency
 
Go Programming Language (Golang)
Go Programming Language (Golang)Go Programming Language (Golang)
Go Programming Language (Golang)
 
Introduction to go language programming
Introduction to go language programmingIntroduction to go language programming
Introduction to go language programming
 
Introduction to Go language
Introduction to Go languageIntroduction to Go language
Introduction to Go language
 
gRPC Overview
gRPC OverviewgRPC Overview
gRPC Overview
 

Viewers also liked

Golang
GolangGolang
An introduction to go programming language
An introduction to go programming languageAn introduction to go programming language
An introduction to go programming language
Technology Parser
 
Go lang introduction
Go lang introductionGo lang introduction
Go lang introduction
yangwm
 
Google Go! language
Google Go! languageGoogle Go! language
Google Go! language
André Mayer
 
Introduction to Go-Lang
Introduction to Go-LangIntroduction to Go-Lang
Introduction to Go-Lang
Folio3 Software
 
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
Dvir Volk
 
Boosting Machine Learning with Redis Modules and Spark
Boosting Machine Learning with Redis Modules and SparkBoosting Machine Learning with Redis Modules and Spark
Boosting Machine Learning with Redis Modules and Spark
Dvir Volk
 

Viewers also liked (7)

Golang
GolangGolang
Golang
 
An introduction to go programming language
An introduction to go programming languageAn introduction to go programming language
An introduction to go programming language
 
Go lang introduction
Go lang introductionGo lang introduction
Go lang introduction
 
Google Go! language
Google Go! languageGoogle Go! language
Google Go! language
 
Introduction to Go-Lang
Introduction to Go-LangIntroduction to Go-Lang
Introduction to Go-Lang
 
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
 
Boosting Machine Learning with Redis Modules and Spark
Boosting Machine Learning with Redis Modules and SparkBoosting Machine Learning with Redis Modules and Spark
Boosting Machine Learning with Redis Modules and Spark
 

Similar to Why you should care about Go (Golang)

Go - Where it's going and why you should pay attention.
Go - Where it's going and why you should pay attention.Go - Where it's going and why you should pay attention.
Go - Where it's going and why you should pay attention.
Aaron Schlesinger
 
Expert Days: The VP R&D Open Seminar: Project Management
Expert Days: The VP R&D Open Seminar: Project ManagementExpert Days: The VP R&D Open Seminar: Project Management
Expert Days: The VP R&D Open Seminar: Project Management
Moshe Kaplan
 
Shining a light on performance (js meetup)
Shining a light on performance (js meetup)Shining a light on performance (js meetup)
Shining a light on performance (js meetup)
Yoav Niran
 
Introduction to Go
Introduction to GoIntroduction to Go
Introduction to Go
Simon Hewitt
 
[IJCT-V3I2P36] Authors: Amarbir Singh
[IJCT-V3I2P36] Authors: Amarbir Singh[IJCT-V3I2P36] Authors: Amarbir Singh
[IJCT-V3I2P36] Authors: Amarbir Singh
IJET - International Journal of Engineering and Techniques
 
Web components and Package managers
Web components and Package managersWeb components and Package managers
Web components and Package managers
btopro
 
Using Mass Edit Tables to Ease User Frustration
Using Mass Edit Tables to Ease User FrustrationUsing Mass Edit Tables to Ease User Frustration
Using Mass Edit Tables to Ease User Frustration
Salesforce Admins
 
Why is .Net Technology Recognised for Software Development?
Why is .Net Technology Recognised for Software Development?Why is .Net Technology Recognised for Software Development?
Why is .Net Technology Recognised for Software Development?
LOGINPHP360
 
Scaling applications with go
Scaling applications with goScaling applications with go
Scaling applications with go
Vimlesh Sharma
 
Why is .Net Technology Recognised for Software Development?
Why is .Net Technology Recognised for Software Development?Why is .Net Technology Recognised for Software Development?
Why is .Net Technology Recognised for Software Development?
LOGINPHP360
 
OpenNTF Webinar 05/07/13: OpenNTF - The IBM Collaboration Solutions App Dev C...
OpenNTF Webinar 05/07/13: OpenNTF - The IBM Collaboration Solutions App Dev C...OpenNTF Webinar 05/07/13: OpenNTF - The IBM Collaboration Solutions App Dev C...
OpenNTF Webinar 05/07/13: OpenNTF - The IBM Collaboration Solutions App Dev C...
Niklas Heidloff
 
Presentation_2014.10.28
Presentation_2014.10.28Presentation_2014.10.28
Presentation_2014.10.28
Hsiang-Chun Liu
 
WCEU 2019 recap - AMP Plugin 1.2 and Gutenberg 6.0
WCEU 2019 recap - AMP Plugin 1.2 and Gutenberg 6.0WCEU 2019 recap - AMP Plugin 1.2 and Gutenberg 6.0
WCEU 2019 recap - AMP Plugin 1.2 and Gutenberg 6.0
Fellyph Cintra
 
Ensure Optimal Performance and Scalability: Implementing a Robust and Reliabl...
Ensure Optimal Performance and Scalability: Implementing a Robust and Reliabl...Ensure Optimal Performance and Scalability: Implementing a Robust and Reliabl...
Ensure Optimal Performance and Scalability: Implementing a Robust and Reliabl...
Steve Feldman
 
mca online self
mca online selfmca online self
mca online self
jitharadharmesh
 
The advantages and disadvantages of .net framework programming
The advantages and disadvantages of .net framework programmingThe advantages and disadvantages of .net framework programming
The advantages and disadvantages of .net framework programming
SameerShaik43
 
Dev ops intro
Dev ops introDev ops intro
Dev ops intro
Raju Raju
 
Iterating For Success: A Case Study in Remote Paired Programming, The Evoluti...
Iterating For Success: A Case Study in Remote Paired Programming, The Evoluti...Iterating For Success: A Case Study in Remote Paired Programming, The Evoluti...
Iterating For Success: A Case Study in Remote Paired Programming, The Evoluti...
VMware Tanzu
 
Advantages of golang development services &amp; 10 most used go frameworks
Advantages of golang development services &amp; 10 most used go frameworksAdvantages of golang development services &amp; 10 most used go frameworks
Advantages of golang development services &amp; 10 most used go frameworks
Katy Slemon
 
“Full-stack developer: з чого розпочати кар’єру?”
 “Full-stack developer: з чого розпочати кар’єру?”  “Full-stack developer: з чого розпочати кар’єру?”
“Full-stack developer: з чого розпочати кар’єру?”
GlobalLogic Ukraine
 

Similar to Why you should care about Go (Golang) (20)

Go - Where it's going and why you should pay attention.
Go - Where it's going and why you should pay attention.Go - Where it's going and why you should pay attention.
Go - Where it's going and why you should pay attention.
 
Expert Days: The VP R&D Open Seminar: Project Management
Expert Days: The VP R&D Open Seminar: Project ManagementExpert Days: The VP R&D Open Seminar: Project Management
Expert Days: The VP R&D Open Seminar: Project Management
 
Shining a light on performance (js meetup)
Shining a light on performance (js meetup)Shining a light on performance (js meetup)
Shining a light on performance (js meetup)
 
Introduction to Go
Introduction to GoIntroduction to Go
Introduction to Go
 
[IJCT-V3I2P36] Authors: Amarbir Singh
[IJCT-V3I2P36] Authors: Amarbir Singh[IJCT-V3I2P36] Authors: Amarbir Singh
[IJCT-V3I2P36] Authors: Amarbir Singh
 
Web components and Package managers
Web components and Package managersWeb components and Package managers
Web components and Package managers
 
Using Mass Edit Tables to Ease User Frustration
Using Mass Edit Tables to Ease User FrustrationUsing Mass Edit Tables to Ease User Frustration
Using Mass Edit Tables to Ease User Frustration
 
Why is .Net Technology Recognised for Software Development?
Why is .Net Technology Recognised for Software Development?Why is .Net Technology Recognised for Software Development?
Why is .Net Technology Recognised for Software Development?
 
Scaling applications with go
Scaling applications with goScaling applications with go
Scaling applications with go
 
Why is .Net Technology Recognised for Software Development?
Why is .Net Technology Recognised for Software Development?Why is .Net Technology Recognised for Software Development?
Why is .Net Technology Recognised for Software Development?
 
OpenNTF Webinar 05/07/13: OpenNTF - The IBM Collaboration Solutions App Dev C...
OpenNTF Webinar 05/07/13: OpenNTF - The IBM Collaboration Solutions App Dev C...OpenNTF Webinar 05/07/13: OpenNTF - The IBM Collaboration Solutions App Dev C...
OpenNTF Webinar 05/07/13: OpenNTF - The IBM Collaboration Solutions App Dev C...
 
Presentation_2014.10.28
Presentation_2014.10.28Presentation_2014.10.28
Presentation_2014.10.28
 
WCEU 2019 recap - AMP Plugin 1.2 and Gutenberg 6.0
WCEU 2019 recap - AMP Plugin 1.2 and Gutenberg 6.0WCEU 2019 recap - AMP Plugin 1.2 and Gutenberg 6.0
WCEU 2019 recap - AMP Plugin 1.2 and Gutenberg 6.0
 
Ensure Optimal Performance and Scalability: Implementing a Robust and Reliabl...
Ensure Optimal Performance and Scalability: Implementing a Robust and Reliabl...Ensure Optimal Performance and Scalability: Implementing a Robust and Reliabl...
Ensure Optimal Performance and Scalability: Implementing a Robust and Reliabl...
 
mca online self
mca online selfmca online self
mca online self
 
The advantages and disadvantages of .net framework programming
The advantages and disadvantages of .net framework programmingThe advantages and disadvantages of .net framework programming
The advantages and disadvantages of .net framework programming
 
Dev ops intro
Dev ops introDev ops intro
Dev ops intro
 
Iterating For Success: A Case Study in Remote Paired Programming, The Evoluti...
Iterating For Success: A Case Study in Remote Paired Programming, The Evoluti...Iterating For Success: A Case Study in Remote Paired Programming, The Evoluti...
Iterating For Success: A Case Study in Remote Paired Programming, The Evoluti...
 
Advantages of golang development services &amp; 10 most used go frameworks
Advantages of golang development services &amp; 10 most used go frameworksAdvantages of golang development services &amp; 10 most used go frameworks
Advantages of golang development services &amp; 10 most used go frameworks
 
“Full-stack developer: з чого розпочати кар’єру?”
 “Full-stack developer: з чого розпочати кар’єру?”  “Full-stack developer: з чого розпочати кар’єру?”
“Full-stack developer: з чого розпочати кар’єру?”
 

Recently uploaded

Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Julian Hyde
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Crescat
 
Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
Green Software Development
 
Oracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptxOracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptx
Remote DBA Services
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
Deuglo Infosystem Pvt Ltd
 
Using Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query PerformanceUsing Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query Performance
Grant Fritchey
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
Aftab Hussain
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
Łukasz Chruściel
 
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CDKuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
rodomar2
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
lorraineandreiamcidl
 
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
kalichargn70th171
 
DDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systemsDDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systems
Gerardo Pardo-Castellote
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
Philip Schwarz
 
SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024
Hironori Washizaki
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
Ayan Halder
 
E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
Hornet Dynamics
 
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise EditionWhy Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Envertis Software Solutions
 
What is Master Data Management by PiLog Group
What is Master Data Management by PiLog GroupWhat is Master Data Management by PiLog Group
What is Master Data Management by PiLog Group
aymanquadri279
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j
 

Recently uploaded (20)

Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
 
Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
 
Oracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptxOracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptx
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
 
Using Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query PerformanceUsing Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query Performance
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
 
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CDKuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
 
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
 
DDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systemsDDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systems
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
 
SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
 
E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
 
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise EditionWhy Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
 
What is Master Data Management by PiLog Group
What is Master Data Management by PiLog GroupWhat is Master Data Management by PiLog Group
What is Master Data Management by PiLog Group
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
 

Why you should care about Go (Golang)