@englishmeta1 · Post #44 · 15.02.2022 г., 15:06
#Basics #Teamjimmy #sirjimmy
Hashtags
TGINSIGHT SIMILAR POSTS
Изходен канал @clockstackwheels · Post #168 · 16.01
Неделю назад в мире опенсорс разработки произошло интересное событие. Опенсорс — это когда разработчик пишет программу (как правило, эта программа нужна для работы других программ) и выкладывает её в общий доступ на полностью свободных началах. В большинстве случаев после этого кто угодно может делать с этой программой абсолютно что угодно: копировать, изменять, продавать решения на её основе за деньги и так далее. Иногда то, что пишут такие разработчики-волонтёры, оказывается невероятно удобно и полезно. Настолько, что гигантские корпорации используют это у себя. А кроме них — ещё десятки тысяч проектов по всему миру. Такое использование называется «зависимость», и оно создаёт связь между автором опенсорс-проекта и тем, кто взял его труд. Связь обычно такая: в моей программе где-то указано, что вот этот вот код взят по такому-то адресу у опенсорс разработчика Васи. Моя программа иногда может на этот адрес заглядывать и смотреть, а не внёс ли Вася чего нового. Вдруг он улучшил работу и исправил ошибки — тогда я скачаю новую версию его программы и установлю её у себя. Формально для такого обновления должны существовать ограничения. По факту человеческая лень и негласный этикет среди разработчиков приводят к тому, что обновления ставят не глядя. Считается, что Вася будет выкладывать только улучшенную и проверенную новую версию своей программы, ведь за ним наблюдает миллион других разработчиков. Пацаны во дворе не поймут, если Вася сделает что-то неаккуратно. Один из разработчиков по имени Marak Squires написал некоторое время назад две очень полезные программные библиотеки. Как раз такие, которые скачали десятки тысяч людей, в том числе в крупных корпорациях, и использовали у себя. В прошлом году этот разработчик написал что-то вроде: «Эй, корпорации, вы берёте мой труд бесплатно. Конечно, я его раздал бесплатно, но вы чёртовы капиталистические гиганты, и у вас миллиарды баксов, а я вам сэкономил миллионы баксов на разработке. Я жду от вас чек на почту в благодарность». Конечно, всем было пофигу. А неделю назад этот разработчик внёс в свои библиотеки деструктивное обновление, которое сделало программы, установившие его, неработоспособными, и вывело на экран «LIBERTY LIBERTY LIBERTY». Это обновление положило кучу проектов, в том числе у гигантов-корпораций. Поднялась буря. Одна часть интернета заявила, что разработчик никому ничего не должен, поэтому волен делать со своим кодом всё, что хочет. Вторая часть претендовала на то, что совершённый им поступок это вандализм и осознанный вред другим разработчикам. Дров в огонь подкинуло то, что GitHub, на котором размещался код этого разработчика, заблокировал его аккаунт. А система хранения пакетов NPM откатила изменения до предыдущих версий. Хотя формально никаких законов он не нарушал: компании брали его код по собственной воле, а он ничего никому не гарантировал. ___________________________ Я не готов назвать здесь однозначно правую сторону. Пока выглядит, как «Все мудаки». Но на мой взгляд это показательный пример вот чего: никакие формальные правила никогда не покроют всё многообразие человеческих взаимоотношений, и поэтому личностный аспект тоже важен. Даже если нет закона или правила, по которому вы что-то должны, есть смысл стараться действовать созидательно и стремиться, хотя бы частично, к всеобщему благу, а не только к личному. Особенно в ситуации, когда у тебя в руках сосредоточена та или иная власть. Корпорации действительно могли бы найти способ отблагодарить разработчика (и вообще — всех разработчиков, чей код они бесплатно берут в таких масштабах). Просто из чувства благодарности, а не потому, что должны. Разработчик мог бы просто закрыть проект и не стараться нанести урон. Просто из чувства неприятия всего деструктивного. Это, конечно, идеализированный мир розовых пони, но сила и власть это как раз способность двигать границы реальности. #dev
Hashtags
Търсене: #basics
@englishmeta1 · Post #44 · 15.02.2022 г., 15:06
#Basics #Teamjimmy #sirjimmy
Hashtags
@golang · Post #67 · 20.07.2018 г., 18:47
Generally I don’t like aliases but in some cases they might be helpful 😀 #development#basics https://codeburst.io/learn-how-to-create-custom-bash-commands-in-less-than-4-minutes-6d4ceadd9590
Hashtags
@golang · Post #35 · 06.02.2018 г., 07:38
Do you know the difference between “go build” and “go install” commands? Now I sure you will 🙂 #development#basics https://pocketgophers.com/go-install-vs-go-build/
Hashtags
@golang · Post #26 · 27.01.2018 г., 16:15
In the GoLang we use interfaces everywhere. But we also should understand the rules and idioms how GoLang interfaces works. Let’s read about them 😉; part one: #development#basics https://medium.com/golangspec/interfaces-in-go-part-i-4ae53a97479c
Hashtags
@golang · Post #69 · 24.08.2018 г., 10:05
A good reading list with a knowledge base about Golang, based on blog posts and Golang books. Inside of the link: - 3 categories of stages: Beginner, Intermediate, Advanced; - Common questions like “Why should you learn Go?” and “How to Write Go Code” - Web, Concurrency, Code style, Testing and other GoLang related topics. #language#development#basics Add to bookmarks and enjoy the reading! https://github.com/enocom/gopher-reading-list
Hashtags
@golang · Post #46 · 05.03.2018 г., 20:39
Simple and good for understanding tutorial about Golang’s channels. It can help beginners to meet with them and learn to use it without problems 🙂 Keys of the article: - What is a channel, goals, and functions of it; - Deadlocks and other problems; - Channel ranging and closing. When, why and how? #development#basics#language http://guzalexander.com/2013/12/06/golang-channels-tutorial.html
Hashtags
@golang · Post #52 · 22.03.2018 г., 14:57
How to work and use field tags in GoLang? Inside of this article Michał Łowicki from Opera company explains basics and features of tagging; include examples and best practices 🙂 #development#practice#basics https://medium.com/golangspec/tags-in-golang-3e5db0b8ef3e
Hashtags
@golang · Post #47 · 07.03.2018 г., 07:42
One of popularly questions is: How to handle errors correctly? GoLang best practices on the Medium will help with it. Of course, code examples are included 🙂 #development#practice#basics https://medium.com/@sebdah/go-best-practices-error-handling-2d15e1f0c5ee?source=linkShare-b636419a57de-1520408380
Hashtags
@golang · Post #61 · 21.05.2018 г., 19:17
Hi 👋 there! This article is meant for those who’re new to Go and want to start learning about Go’s concurrency primitives: go routines and channels. #development#manual#basics https://medium.com/@trevor4e/learning-gos-concurrency-through-illustrations-8c4aff603b3
Hashtags
@golang · Post #27 · 28.01.2018 г., 12:44
Everybody use dependencies and third-party packages but what is the best way to use it? GopherAcademy helps to understand best practice for the vendor folder organization. Of course, code examples and theory points are included 🙂 #development#basics#manual https://blog.gopheracademy.com/advent-2015/vendor-folder/
Hashtags
@golang · Post #34 · 05.02.2018 г., 08:41
New post about concurrency problems and solutions. Main points with examples: - Blocking Channels; - Blocking Channels Buffer; - Wait Group (run multiple async tasks and wait for them execution); #development#basics#algorithms https://hackernoon.com/concurrency-how-it-can-help-you-and-how-you-can-use-golang-to-reach-it-easily-ae3e070b3d2c
Hashtags
@golang · Post #49 · 11.03.2018 г., 11:39
Top GoLang features that you don’t know or don’t hear so much 🙂 If you want some main points of this article they are here: - GoDoc; - Static code analysis; - Built-in testing and profiling framework; - Race condition detection; - Learning curve; - Reflection; - Opinionatedness; - Culture. #manual#development#basics#language https://medium.freecodecamp.org/here-are-some-amazing-advantages-of-go-that-you-dont-hear-much-about-1af99de3b23a?source=linkShare-b636419a57de-1520768034