Go is a programming language created by Google to help solve problems with large software and hardware systems. It was designed to facilitate development of large codebases by many engineers. Some key problems it aimed to address were slowness, clumsiness and lack of productivity in other languages like C++. Go provides features like garbage collection, concurrency with goroutines and channels, and a standard library, while remaining simple and compiled. It grew from a small project at Google into an open source language adopted by many organizations.
go programming language basics
This presentation is a copy of one of the presentation in the slideshare
i just walk through the basic side of go programming language
its about a 45 mins presentation
more details about this language you get from golang.org refer this link
Go, Golang, Golnguage, what is go language, what is go, History of go, Founders of Go, Why Go is invented ?, Why Go?, Who are using go today?, What will you see in Go?, What will you not see in Go?, Structure of Go Programs, Features of Go, Drawbacks of Go
go programming language basics
This presentation is a copy of one of the presentation in the slideshare
i just walk through the basic side of go programming language
its about a 45 mins presentation
more details about this language you get from golang.org refer this link
Go, Golang, Golnguage, what is go language, what is go, History of go, Founders of Go, Why Go is invented ?, Why Go?, Who are using go today?, What will you see in Go?, What will you not see in Go?, Structure of Go Programs, Features of Go, Drawbacks of Go
Introduction to go language programming , benchmark with another language programming nodejs , php , ruby & python . how install go . use what IDE . and rapid learnin golang
Przemek Nowakowski: Podejście mikroserwisowe w naszym projekcie, oprócz oczywistych zalet, potrafi wygenerować też szereg problemów – między innymi z komunikacją pomiędzy poszczególnymi serwisami. W prezentacji omówimy od podstaw framework gRPC, dzięki któremu będziemy w stanie w szybki i przyjemny sposób połączyć nasze serwisy. Sprawdzimy też, do czego się nadaje, do czego nie oraz prześledzimy podstawowe problemy, jakie możemy napotkać przy takim podejściu. Nie obejdzie się również bez porównania z obecnymi na rynku alternatywami i sprawdzenia, co z tą obiecywaną wysoką wydajnością.
gRPC is used to communicate between microservices. You can generate code in more than 12 languages using gRPC .It is 25 times more performant than REST API. The session covers grpc internals deep dive and types of streaming possible in gRPC and short demo on grpc
This tutorial will give you a brief introduction to both the languages Golang and Python. This Golang Vs. Python tutorial will compare both languages on various parameters such as Paradigms, Performance, Scalability, Application, Execution, Library, Readability and Memory Management. Further, you will get insights into the drawbacks of Golang and Python.
Below topics are covered in this tutorial:
What is Golang?
What is Python?
Key Differences between Golang and Python
Disadvantages of Golang
Disadvantages of Python
Developing Cross platform apps in flutter (Android, iOS, Web)Priyanka Tyagi
Sharing slides from my Flutter talk at SV Code Camp: https://www.siliconvalley-codecamp.com/Session/2019/developing-cross-platform-applications-using-flutter-web-android-and-ios
Golang basics for Java developers - Part 1Robert Stern
A short overview of Golang with Java comparison.
Part 1 of the series "Microservice development with Golang".
Contains hints and example links for potential Gophers
Presentation at NetPonto community: "We’re going to discuss gRPC, Google’s open-source RPC framework. I’ll dive a bit into the history of RPC as a protocol, and what its historical use has been. I’ll also highlight some benefits to adopt gRPC and how its possible to swap out parts of gRPC and still take advantage of gRPC’s benefits. Finally I’ll answer the question that has been on many lips since gRPC was announced — what does this mean for REST?"
Why and How to Run Your Own Gitlab Runners as Your Company GrowsNGINX, Inc.
In this session, Casey Zednick, Senior Software Engineer for NGINX, tells you everything you need to know about GitLab Runner, an app for running jobs in your CI/CD pipeline. Using your own runners gives you full control to meet your service level objectives (SLOs), increase security, and save money at scale. It's notoriously difficult to forecast costs for dynamic cloud services like an autoscaling fleet of runners, but Casey demos a tool from the NGINX tools team that calculates your costs based on a handful of numbers. He also shows how to clone our GitLab repos to set up a production-grade fleet in Azure and monitor its performance.
Speakers:
Casey Zednick
Introduction to go language programming , benchmark with another language programming nodejs , php , ruby & python . how install go . use what IDE . and rapid learnin golang
Przemek Nowakowski: Podejście mikroserwisowe w naszym projekcie, oprócz oczywistych zalet, potrafi wygenerować też szereg problemów – między innymi z komunikacją pomiędzy poszczególnymi serwisami. W prezentacji omówimy od podstaw framework gRPC, dzięki któremu będziemy w stanie w szybki i przyjemny sposób połączyć nasze serwisy. Sprawdzimy też, do czego się nadaje, do czego nie oraz prześledzimy podstawowe problemy, jakie możemy napotkać przy takim podejściu. Nie obejdzie się również bez porównania z obecnymi na rynku alternatywami i sprawdzenia, co z tą obiecywaną wysoką wydajnością.
gRPC is used to communicate between microservices. You can generate code in more than 12 languages using gRPC .It is 25 times more performant than REST API. The session covers grpc internals deep dive and types of streaming possible in gRPC and short demo on grpc
This tutorial will give you a brief introduction to both the languages Golang and Python. This Golang Vs. Python tutorial will compare both languages on various parameters such as Paradigms, Performance, Scalability, Application, Execution, Library, Readability and Memory Management. Further, you will get insights into the drawbacks of Golang and Python.
Below topics are covered in this tutorial:
What is Golang?
What is Python?
Key Differences between Golang and Python
Disadvantages of Golang
Disadvantages of Python
Developing Cross platform apps in flutter (Android, iOS, Web)Priyanka Tyagi
Sharing slides from my Flutter talk at SV Code Camp: https://www.siliconvalley-codecamp.com/Session/2019/developing-cross-platform-applications-using-flutter-web-android-and-ios
Golang basics for Java developers - Part 1Robert Stern
A short overview of Golang with Java comparison.
Part 1 of the series "Microservice development with Golang".
Contains hints and example links for potential Gophers
Presentation at NetPonto community: "We’re going to discuss gRPC, Google’s open-source RPC framework. I’ll dive a bit into the history of RPC as a protocol, and what its historical use has been. I’ll also highlight some benefits to adopt gRPC and how its possible to swap out parts of gRPC and still take advantage of gRPC’s benefits. Finally I’ll answer the question that has been on many lips since gRPC was announced — what does this mean for REST?"
Why and How to Run Your Own Gitlab Runners as Your Company GrowsNGINX, Inc.
In this session, Casey Zednick, Senior Software Engineer for NGINX, tells you everything you need to know about GitLab Runner, an app for running jobs in your CI/CD pipeline. Using your own runners gives you full control to meet your service level objectives (SLOs), increase security, and save money at scale. It's notoriously difficult to forecast costs for dynamic cloud services like an autoscaling fleet of runners, but Casey demos a tool from the NGINX tools team that calculates your costs based on a handful of numbers. He also shows how to clone our GitLab repos to set up a production-grade fleet in Azure and monitor its performance.
Speakers:
Casey Zednick
Introduction to GoLang by Amal Mohan N. This presentation is an introduction to GoLang - it's history, features, syntax, importance etc.
concurrency, go-routines, golang, google, gopher, introduction, programming
Slides for a presentation given at the Go MN meetup https://www.meetup.com/golangmn/ given on 4/15/2020.
The associated code is available at https://github.com/andreburgaud/meetup-golang-lua. The topic is about the interoperability between Go and Lua, or Lua and Go.
New language from Google, static safe compiler, with GC and as fast as C++ or Java, syntax simpler then Python - 2 hour-long tutorial and you can start code.
In this talk Serhii will talk about Go, also known as Golang – an open source language developed at Google and used in production by companies such as Docker, Dropbox, Facebook and Google itself. Go is now heavily used as a general-purpose programming language that’s a pleasure to use and maintain. This introductory talk contains many live demos of basic language concepts, concurrency model, simple HTTP-based endpoint implementation and, of course, tests using build-in framework. This presentation will be interesting for backend engineers and DevOps to understand why Go had become so popular and how it might help to build robust and maintanable services.
Agenda of the presentation:
1. Go is not C, not Java, not anything
2. Rob Pike argument
3. Main ideas and basics
4. Concurrency model
5. Tools
6. Issues
My first presentation at Perl conference, where I introduced myself to wider Perl community and talked about Google@Home project ( https://github.com/IntelliHome/Google-at-Home ).
Passing the Joel Test in the PHP World (phpbnl10)Lorna Mitchell
Talk given at the PHP Benelux conference in Antwerp, examining the points in the Joel Test and looking at how these suggested best practices apply to web development today
CODE GIST: https://gist.github.com/tyndyll/cce72c16dc112cbe7ffac44dbb1dc5e8
A high level introduction to the Go programming language, including a sample Hello World web server
Palestra apresentada no 6º Meetup promovido pelo DataLab Experian.
Nessa apresentação eu compartilho sobre a origem das teorias e métodos e essa revelação surpreende a plateia! Depois falo sobre o por que de as empresas e startups adotarem métodos ágeis. Depois abordo os motivos pelo qual times scrum falham e por fim, relembramos o porque de cada cerimônia do Scrum.
Techtrends xp desafios da agilidade com trabalho remotoSuelen Carvalho
Apresentação realizada no evento TechTrendsXP organizado pela CI&T e Cielo sobre os desafios que o trabalho remoto trás para times ágeis e como mitigar as desvantages e amplificar as vantagens.
Dynamic Programming and Reinforcement Learning applied to Tetris GameSuelen Carvalho
Slides presented as a work to Artificial Intelligence's class at IME-USP. This presentation is about how reinforcement learning is applied to a Tetris game.
Desenvolvimento de Novos Líderes - Paidéia EducaçãoSuelen Carvalho
Estes slides resumem pontos que anotei sobre o curso de Desenvolvimento de Novos Líderes que fiz na Paidéia Educação em Janeiro de 2016. Em resumo gostei muito do curso.
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on the notifications, alerts, and approval requests using Slack for Bonterra Impact Management. The solutions covered in this webinar can also be deployed for Microsoft Teams.
Interested in deploying notification automations for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
💥 Speed, accuracy, and scaling – discover the superpowers of GenAI in action with UiPath Document Understanding and Communications Mining™:
See how to accelerate model training and optimize model performance with active learning
Learn about the latest enhancements to out-of-the-box document processing – with little to no training required
Get an exclusive demo of the new family of UiPath LLMs – GenAI models specialized for processing different types of documents and messages
This is a hands-on session specifically designed for automation developers and AI enthusiasts seeking to enhance their knowledge in leveraging the latest intelligent document processing capabilities offered by UiPath.
Speakers:
👨🏫 Andras Palfi, Senior Product Manager, UiPath
👩🏫 Lenka Dulovicova, Product Program Manager, UiPath
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
Neuro-symbolic is not enough, we need neuro-*semantic*Frank van Harmelen
Neuro-symbolic (NeSy) AI is on the rise. However, simply machine learning on just any symbolic structure is not sufficient to really harvest the gains of NeSy. These will only be gained when the symbolic structures have an actual semantics. I give an operational definition of semantics as “predictable inference”.
All of this illustrated with link prediction over knowledge graphs, but the argument is general.
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
Keynote at DIGIT West Expo, Glasgow on 29 May 2024.
Cheryl Hung, ochery.com
Sr Director, Infrastructure Ecosystem, Arm.
The key trends across hardware, cloud and open-source; exploring how these areas are likely to mature and develop over the short and long-term, and then considering how organisations can position themselves to adapt and thrive.
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
2. Go is a programming language
designed by Google to help
solve Google's problems.
What is Go?
And has big
problems!
3. Which (big) problems?
● Hardware is big and the software is big
● There are many millions of lines of software
● Servers mostly in C++ and lots of Java and Python
● Thousands of engineers work on the code
● And of course, all this software runs on zillions of
machines.
4. In short, development at
is big, can be slow, and is often
clumsy. But it is effective.
''
''
https://talks.golang.org/2012/splash.article
5. A lot of others people
help to bring go from
prototype to reality.
Go became a public
Open Source
project.
https://golang.org/doc/faq#history
2008 2009 20102007
Starts to have
adoption by other
programmers
Started and built by
Robert Griesemer,
Rob Pike and Ken
Thompson as a
part-time project.
History
6. ● Ken Thompson (B, C, Unix, UTF-8)
● Rob Pike (Unix, UTF-8)
● Robert Griesemer (Hotspot, JVM)
...and a few others engineers at Google
Who were the founders?
7. 2013 20142012
Version history
Go 1.4 (December)
Go 1.3 (June)
Go 1 (March)
Go 1.2 (December)
Go 1.1 (May)
https://golang.org/project/
8. ● Eliminate slowness
● Eliminate clumsiness
● Improve productive
● Maintain (and improve) scale
It was designed by and for people who write, read,
debug and maintain large software systems.
Go's purpose is not to do research programming
language design.
Go's purpose is to make its designers' programming
lives better.
Why Go?
9. Go is a compiled, concurrent,
garbage-collected, statically typed
language developed at .
What is Go?
10. fix, fmt, get, install, list, tool,
version, vet.
build compile packages and dependencies
run compile and run Go program
clean remove object files
env print Go environment information
test test packages and benchmarks
Go is a tool for managing Go source code...
Mainly tools:
Others tools:
11. Who are using today?
https://github.com/golang/go/wiki/GoUsers
12. ❏ Compiled
❏ Garbage-collected
❏ Has your own runtime
❏ Simple syntax
❏ Great standard library
❏ Cross-platform
❏ Object Oriented (without inheritance)
❏ Statically and stronger typed
❏ Concurrent (goroutines)
❏ Closures
❏ Explicity dependencies
❏ Multiple return values
❏ Pointers
❏ and so on...
What will you see in Go?
13. Have not been implemented in
favor of efficiency.
❏ Exception handling
❏ Inheritance
❏ Generics
❏ Assert
❏ Method overload
What will you not
see in Go?
15. Packages
● Each Go program are compound per packages
● Programs starts from main package
● This example are using the ftm and math packages
$ go run packages.go
My favorite number is 1
16. ● The var instruction declares a list of variables
● The type is informed at the end
● The var instruction could be in a package or in a function
● The var instruction could includes initializers, 1 per variable. In
this case, the type could be ommited because it will be inferred
Variables
$ go run variables.go
0 false false false
$ go run variables-with-initiali
1 2 true false no!
17. $ go run constants.go
Hello world! Happy 3.14 Day! Go rules?
true
● Constants are declared like variables but with keyword const
● Can not use the syntx :=
Constants
18. ● Inside a function, the short attribution instruction :=
can be used instead of a var declaration
Short variables declarations
$ go run short-variable-declarations.go
1 2 3 true false no!
19. Functions
● Functions could have zero or more arguments
● Notice that the type comes after the parameter name,
like variables
$ go run functions.go
55
20. ● A function can have multiple return values
Multiple return values
$ go run multiple-results.go
world hello
21. ● Go has just for as looping structure
● It is very similar with C or Java code, except for ( )
● Start and end declarations can be empty
Looping For
$ go run for.go
45
$ go run for-continu
1024
22. $ go run for-is-go-while.go
1024
● Semicolon can be removed and you will have while
● for can run forever
Looping "while" and forever
$ go run forever.go
process took too long
23. ● It is very similar with C or Java code, except for ( )
if Condition
$ go run if.go
1.4142135623730951 2i
24. $ go run switch.go
Go runs on nacl.
● It is very similar with C or Java code, except for ( )
Switch Condition
25. $ go run defer.go
hello world
Defer
● Postponing the execution of a function until the function returns
● The arguments of the deferred calls are evaluated immediately
26. What more?
● Pointer
● Struct
● Matrix
● Slice
● Range
● Map
● Value function
● Closures
● Method
● Interface
● Stringer
● Error
● and a lot of more!!!
http://go-tour-br.appspot.com
27. $ go run http.go
A web server
● It is just simple to build a web server with 15 lines or less!!
Could you belive that???
28. ● To execute a goroutine, just go!
● To send or receive information between the
goroutines, use channels
● Use the GOMAXPROCS environment variable to
define the amount of threads
Concurrency (goroutines)
29. $ go run goroutines.go
hello
world
hello
world
hello
world
hello
world
hello
● A goroutine is a lightweight thread managed by Go runtime
Goroutines
30. $ go run channels.go
17 -5 12
Channels
● Channels are typed's conduit through which you can send and receive
values with the channel operator <-