This document summarizes a talk about using context.Context for concurrency in Go programming. It recommends using context.Context to pass cancellation and deadline information between goroutines instead of manually synchronizing access to shared resources with mutexes. Context makes code cleaner by making cancellation explicit and avoiding ambiguous APIs. It provides examples of running multiple goroutines with a common timeout by passing them the same context.
This document provides a high-level overview of Kubernetes in under 30 minutes. It begins with basic concepts like nodes, pods, replica sets, deployments, and services. It then covers additional concepts like secrets, config maps, ingress, daemon sets, pet sets/stateful sets and services. The document aims to explain the main components of Kubernetes and how they work together at a high level to deploy and manage container-based applications.
My client wanted their apps synced, and I made it with GoToru Furukawa
?
The document discusses using Go to run simulation apps in parallel while keeping them synchronized. It describes using shared memory and message passing between processes to delegate simulation work to DLLs and coordinate their execution. Key points include spawning goroutines to handle requests concurrently, suspending tasks if not ready, and flushing suspended tasks when conditions are ready to proceed in parallel while staying synchronized. The goal is to leverage Go's concurrency features to efficiently run multiple simulation objects in parallel instead of serially while maintaining sync between processes.
See also (Sorry, mainly in Japanese)
http://go-talks.appspot.com/github.com/lestrrat/go-slides/tree/master/2014-golangstudy-HDE
http://go-talks.appspot.com/github.com/lestrrat/go-slides/2014-yapcasia-go-for-perl-mongers/main.slide#1
The document summarizes a talk given by Daisuke Maki on working with OpenAPI specifications, including slicing, dicing, and linting them. It discusses tools developed for the lestrrat-go/openapi library for safely parsing, mutating, traversing, linting, and generating code from OpenAPI specs in Go and other languages. The tools aim to prevent specification errors, provide consistency across operations, and make it easier for developers to work with OpenAPI.
This document provides information about the builderscon conference, including that tickets sold out quickly, it will feature talks on topics like AI, IoT, and programming languages, and aims to have diversity and break down walls. It also announces details for builderscon Tokyo 2017, with dates in August and around 1000 expected attendees.
Kubernetes in 20 minutes - HDE Monthly Technical Session 24lestrrat
?
This document provides a high-level overview of Kubernetes concepts including nodes, pods, replica sets, deployments, services, secrets, configmaps, ingress, daemon sets, and pet sets. It discusses how Kubernetes manages and schedules containers across a cluster and provides mechanisms for updating applications, handling traffic, and configuring containers. The presentation encourages attendees to try Kubernetes on Google Cloud Platform and Google Kubernetes Engine and invites them to join a Slack channel to learn more.
Don't Use Reflect - Go 1.7 release party 2016lestrrat
?
This document discusses changes and improvements to reflection in Go 1.7. It provides examples of using reflection to dynamically declare anonymous structs, check if a value implements an interface, and get struct field tags. It emphasizes that reflection should only be used when necessary, and otherwise standard interfaces and types are preferred.
Yapceu 2015 yapc asia tokyo behind the scenes (w/o notes)lestrrat
?
際際滷s with notes are at http://lestrrat.ldblog.jp/YAPCEU2015-YAPCASIA_Behind_The_Scenes.pdf
This is a talk I gave at YAPC::EU 2015 in Granada.
It's based on the talk I gave at YAPC::NA in Salt Lake City, but because this was AFTER YAPC::Asia Tokyo 2015, I have a lot more concrete numbers that I can share.
This document summarizes the YAPC::Asia Tokyo 2012 conference. It discusses changes from the previous year including a new venue and introducing LT-thon sessions. Over 800 people attended, more than expected. The speaker thanked sponsors, staff, and attendees for making the conference a success. Attendee numbers have grown significantly each year. The speaker hopes future YAPC::Asia conferences will be even more welcoming and bring greater awareness to the community.
The document discusses the formation and activities of the Japan Perl Association (JPA). Key points include:
- JPA was formed in 2008 to promote Perl usage in Japan and fill a void not addressed by other Perl organizations.
- JPA organizes conferences like YAPC, regional meetups, and a magazine. It aims to make Perl easier for newcomers and help companies hire Perl developers.
- JPA is run by volunteers and relies on sponsorships and membership fees. Most profits are reinvested back into future programming. The document outlines ideas to make JPA more financially sustainable over time.
Kolon and TTerse are pluggable template syntax options for XSLATE, a full-featured and fast templating system that is 158 times faster than TT2. XSLATE's website is at http://xslate.org. HTTP::Async is a HTTP client that is 7 times faster than LWP and 4 times faster than HTTP::Lite, making it good for REST APIs but not user agent tasks. Server::Starter is a wrapper that allows hot reloading of network servers by listening on a port and restarting on HUP. DBIx::Class provides a cleaner SQL::Abstract clone that is easier to extend. Test::mysqld and Test::postgresql allow easily bringing up database instances for
14. func CanWeRead(ch <-chan int) {
select {
case <-ch:
´ // yes, we can read
}
}
iみzみ
ポイントdefaultがないとブ
ロックするよ
15. func CanWeRead(ch <-chan int) {
select {
case <-ch:
´ // yes, we can read
default:
´ // no, we could not read
}
}
iみzみ
16. func CanWeRead(ch <-chan int) {
select {
case <-ch:
´ // yes, we can read
default:
´ // no, we could not read
}
}
iみzみ
ポイント砕iみzみが軸rでき
ない栽はデフォルトがg佩さ
れるので、g|議なノンブロッ
キングI/O
17. func CanWeRead(ch <-chan int) {
select {
case v, ok := <-ch:
if !ok { // channel is closed
´
}
fmt.Println(v)
}
}
、鯤垢
18. func CanWeRead(ch <-chan int) {
select {
case v, ok := <-ch:
if !ok { // channel is closed
´
}
fmt.Println(v)
}
}
、鯤垢
ポイント佐秘もできるよ
19. func CanWeWrite(ch chan int) {
select {
case ch<-1:
´ // yes, we can write
default:
´ // no, we could not write
}
}
きzみ
20. func CanWeWrite(ch chan int) {
select {
case ch<-1:
´ // yes, we can write
default:
´ // no, we could not write
}
}
きzみ
ポイントきzみが軸rでき
ない栽はデフォルトがg佩さ
れるので、g|議なノンブロッ
キングI/O