Dancing with Go’s Mutexes

Reader-level: Intermediate — this article assumes you have some basic familiarity with Go and its concurrency model and are at least a little familiar with data synchronization in the form of locking and channel communication. Reader Note: A dear friend of mine has inspired this post. As I’ve helped him troubleshoot some […]

[Golang] Anonymous Function in Defer Statement

TL;DR: Syntax for using anonymous function in Go defer statement defer func() { // do something here after surrounding function returns }() Explanation I want to execute c <- 1 right after surrounding function returns. In the beginning I thought it was easy to do this with defer, so I […]

Разбираемся с новым sync.Map в Go 1.9

Одним из нововведений в Go 1.9 было добавление в стандартную библиотеку нового типа sync.Map, и если вы ещё не разобрались что это и для чего он нужен, то эта статья для вас. Для тех, кому интересен только вывод, TL;DR: если у вас высоконагруженная (и 100нс решают) система с большим количеством […]

Что такое customer development и зачем он нужен тебе, стартапер

А теперь вот прям совсем по сабжу. Customer development – методология ведения бизнеса, выросшая из методологии Agile. Основной принцип: бизнес может и должен строиться вокруг решения проблемы потенциального клиента, либо создания ценностного предложения, которое так или иначе улучшит жизнь потенциального клиента. Если сказать проще, то предприниматель сначала должен выявить проблему […]

How get multiselect values from form using Golang?

You can’t/shouldn’t use the Request.FormValue() function because that only returns 1 value. Use Request.Form[«new_data»] which is a slice of strings containing all the values.But note that if you don’t call r.FormValue(), you have to trigger parsing the form (and populating the Request.Form map) by calling Request.ParseForm() explicitly. You also have […]

PSR-7 в примерах

Стандарт PSR-7 успешно завершён. На этой неделе были добавлены последние штрихи. И теперь версия 0.6.0 пакета http-message package готова к использованию. Попробуйте следовать этому стандарту в своих приложениях.Я до сих пор слышу замечания как по поводу слишком упрощённого, так и по поводу слишком сложного изложения. Именно поэтому написан этот пост […]

Ansible и Docker, почему и зачем?

Достаточно много интереса проявляется среди технического сообщества к Docker и Ansible, я надеюсь, что после прочтения данной статьи, вы тоже разделите этот интерес. Вы так же получите навыки практического применения Ansible и Docker в настройке сервера и окружения для Rails приложения.«Почему бы просто не взять и использовать Heroku?», спросите вы.Прежде […]

Вероятно, хватит рекомендовать «Чистый код»

Возможно, мы никогда не сможем прийти к эмпирическому определению «хорошего кода» или «чистого кода». Это означает, что мнение одного человека о мнении другого человека о «чистом коде» обязательно очень субъективно. Я не могу рассматривать книгу Роберта Мартина «Чистый код» 2008 года с чужой точки зрения, только со своей.Тем не менее, […]

How do I duplicate a line or selection within Visual Studio Code?

he commands your are looking for are editor.action.copyLinesDownAction and editor.action.copyLinesUpAction. You can see the associated keybindings by picking: File > Preferences > Keyboard Shortcuts Windows: Shift+Alt+Down and Shift+Alt+Up Mac: Shift+Option+Down and Shift+OptionUp Linux: Ctrl+Shift+Alt+Down and Ctrl+Shift+Alt+Up (Might need to use numpad Down and Up for Linux) Furthermore, commands editor.action.moveLinesUpAction and […]

Docker: настройка сети

Сетевые драйверы Сетевая подсистема Docker является подключаемой с использованием драйверов.Несколько драйверов существуют по умолчанию и предоставляют основные сетевые функции: bridge: сетевой драйвер по умолчанию.Если вы не указываете драйвер, это тип сети, которую вы создаете.Мостовые сети обычно используются, когда ваши приложения работают в автономных контейнерах, которые должны взаимодействовать. host: для автономных […]