arschles / go-in-5-minutes Goto Github PK
View Code? Open in Web Editor NEWCode and website for Go in 5 Minutes Screencasts
Home Page: https://gifm.dev
License: Apache License 2.0
Code and website for Go in 5 Minutes Screencasts
Home Page: https://gifm.dev
License: Apache License 2.0
choose a CLI library and show how to use
I'm doing a session at SVCC: https://www.siliconvalley-codecamp.com/session/2016/programming-pearls-of-go---how-to-write-fast-beautiful-go-code
Would be a good idea to mention it on a screencast or two and put on twitter/the website
It's coming as a built-in for Go 1.7, it's really powerful, and it's time to talk about it as a serious piece of machinery that most or every Go developer should know about
tons to talk about here. need to split this ticket up
also, reference material: https://forum.golangbridge.org/t/best-practices-for-implementing-a-lexer/1040
From #16
cc/ @digitalcraftsman
You've already an issues for TableDrivenDevelopement (#40) and you created a video about Godebug. Would you also cover BDD (behavior-driven developement) with GoConvey?
What it makes so different is that the test are written in a human-like language and could be seen as some sort of documentation. Another big plus is GoConvey's powerful web-ui.
This means removing sudo: true
from the .travis.yml
file and executing hugo directly, instead of inside a docker container. removing sudo: true
will enable travis to use its docker infrastructure, which executes faster
Hello Aaron, would it be possible for you to demonstrate how to develop Go apps using Docker? Since Docker registry includes Debian on the Golang image, perhaps you can show how a Go HTTP Server connects and request information from another Docker container that hosts a Postgres database. I believe covers the majority of business applications use case.
Let me know if I should elaborate a bit more!
Cheers to you,
Marcio
not sure what specifically, but there's a lot to choose from here
EDIT: I've changed the name of the issue as I've found a similar one
using httptest
I am new to Go, but I have been doing background jobs for years using both Ruby/Rails and Python/Flask with supporting software such as Redis, Resque, Sidekiq, APScheduler, and Celery.
There just doesn't seem to be as much information for doing this in Go web apps.
Often in web apps there is a need to perform one or more tasks in the background, such as:
Almost always a part of any web app:
A screencast on any of the above would be great.
Hello @arschles,
what do you think about a screencast which covers the basic authentication of users and session handling in web applications? Implementing it is required in most of them.
Furthermore, you could build on top of episode 5 'Building Web Applications in Go'.
https://godoc.org/github.com/julienschmidt/httprouter, and mention its diffs/similarities with mux (see #18)
See http://blog.mbassem.com/2016/05/15/handling-user-defined-signals-in-go/ for inspiration
Show examples of their use:
http.Handler
sHow to create swagger documents, generate client code, and generate & implement server stubs
suggested via slack by @mholt.
see http://godoc.org/runtime/pprof/#StopCPUProfile for complete list
os.File
, http.ResponseWriter
, etc...)
net/http
library (such as bodies of requests, etc...)io.LimitReader
, io.TeeReader
, etc...), emulating pipes in unixio/ioutil
package to do various thingsWe all know the typical JSON API tutorial, but, I believe the "advance" approach where you showcase how the concepts of episode 0 are applied would be a great example!
This issue is a follow-on from #43 (comment). We should have an episode on how to use the mgo driver.
suggested via slack by @mholt
reference for myself: https://labs.ctl.io/small-docker-images-for-go-apps/ and https://medium.com/iron-io-blog/an-easier-way-to-create-tiny-golang-docker-images-7ba2893b160
Debugging Go code, going beyond fmt.Println(%+v, obj). GDB? Handling goroutines? Debugging concurrency issues?
see https://docs.travis-ci.com/user/deployment/gcs for instructions
previously, this was trying to use https://github.com/arschles/gcsup, but using the builtin will be less work (even if it is in interoperability mode)
Thanks for your awesome videos and source code!
So I'm trying to piece together how websockets work in your episode 4 tuturial. I notice in the ServeHTTP
implementation for wsHandler
, there is a line to defer removing the newly added connection. Presumably this is so the server doesn't leak resources.
What I'm confused about is when (exactly) the deferred statement gets executed in this case. And does the sync.WaitGroup come into play?
Can you shed some light on that (or point me in the right direction in some docs). Thanks!
Show how & why to use expvar
from #15
Some packages (including some in the standard lib) do this thing where they have a bunch of top level func
s and then a type
(usually a struct) that has the same func
s defined with as the receiver.
This is kinda like having a singleton class in other languages (basically a bucket of func
s), but in this case it's optional because you can also allocate a new instance of whatever the type
is and get the same func
s only with the instance as the receiver. log
has a good, clean example of what I'm talking about.
I heard Jack Lindamood name this the Optional Singleton pattern at a GoSF meetup.
Maybe use Disqus
Range over the connection map can execute concurrently with modifications to the map in addConnection and removeConnection.
I had a discussion with a Reddit user who thought a screencast on basics would be nice. It got me thinking about how I could do a screencast covering the basics but not going too basic (like covering how to install the go
binary - which I don't want to do right now).
I want to do a screencast that shows how to build an HTTP server that's more than just a ping/pong or "hello world" server. Maybe an HTTP based key/value store.
What are some best practices or good techniques for rate limiting or throttling outbound HTTP GET and POST requests ?
For example, getting Stumbleupon's for a particular URL:
"http://www.stumbleupon.com/services/1.01/badge.getinfo?url=http://amazon.com"
... as this service strictly rate limits requests.
Especially an issue when many concurrent requests are made via goroutines.
Seeing a SSH client/server example would be kind of useful.
Would it be possible to make a screencast about the database/sql
package? Relational databases are still widely used in applications.
current failure is: base64: invalid option -- 'D'
see https://travis-ci.org/arschles/go-in-5-minutes/builds/103026506 for complete log
show some common patterns, etc...
sync.Cond
is pretty powerful. It combines a sync.Locker
with the ability to wake up one or all waiting goroutines.
Cover a basic example of sync.Cond
usage and hopefully there will also be time to show a heavier duty usage. Best idea I have right now is showing unicast and multicast usages (with Signal()
and Broadcast()
, respectively)
see https://forum.golangbridge.org/t/groupcache-tutorial/545/2 for a video. focus on:
maybe a simple example on how and why to use websockets? not much more ideas around this yet...
Thanks for doing these videos. I have been following since almost day 1, but still relatively new to Go since I don't use it at work.
I would love to see a video on deploying to heroku and Google cloud. I have built small Api's in Go but but never deployed them to any service and would love to see what you use for this. #
A screencast about how to secure a JSON API. Further episodes could also cover rate throttling etc.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.