Pull to refresh
21
0
Eugene Leonovich @gen

rybakit

Send message

Кручу-верчу, запутать хочу

Level of difficultyEasy
Reading time2 min
Views14K

Салют! В этой небольшой статье я попытался собрать необычные и малоизвестные трюки с перенаправлениями в bash, которые могут значительно упростить работу.

Читать далее
Total votes 73: ↑72 and ↓1+71
Comments16

Многопоточность и параллелизм в Go: Goroutines и каналы

Reading time15 min
Views8.3K


Язык программирования Go, разработанный с упором на простоту и эффективность, предлагает уникальный подход к реализации параллельных вычислений через Goroutines и каналы.

Goroutines, представляющие собой легковесные потоки выполнения, обеспечивают значительные преимущества по сравнению с традиционными потоками, используемыми во многих других языках программирования. Они позволяют создавать тысячи параллельных процессов без значительной нагрузки на системные ресурсы. Каналы в Go, предоставляя мощный механизм для безопасной коммуникации между Goroutines, дополнительно упрощают управление параллельными задачами и обмен данными.
Читать дальше →
Total votes 28: ↑24 and ↓4+20
Comments12

Мокаем сервисы с Mountebank и Go

Level of difficultyMedium
Reading time11 min
Views1.5K

Mountebank - это мощная платформа для тестирования API и mocking-a, предоставляющая пользователям функционал и инструменты для создания гибких, настраиваемых и надежных тестовых окружений. В этой статье автор рассмотрит настройку Mountebank на реальном примере.

Читать далее
Total votes 3: ↑3 and ↓0+3
Comments0

100 промптов для ChatGPT

Reading time10 min
Views40K

Не стоит ожидать, что в текущем виде ChatGPT способна проделать за вас работу, поскольку она еще слишком нова и наивна, хотя и учится и совершенствуется с каждым днем. При этом он вполне может помогать искать ошибки в коде и быстро сгенерировать простой код. Но для выполнения этих задач нужны правильные промпты, написать которые иногда не так просто, как кажется. В этой статье увидите, какие промпты можно использовать для работы с ChatGPT, а также в целом больше узнаете о том, с какими микрозадачами он может помочь.

Читать далее
Total votes 28: ↑19 and ↓9+10
Comments23

Yet Another Easyjson. Как я не устаю делать велосипеды, а главное зачем

Level of difficultyMedium
Reading time16 min
Views3.6K

Я люблю время от времени взять и переделать что-нибудь уже готовое. Цель не в том, чтобы сделать что-то лучше или доказать свою гениальность – я просто ищу опыт. Как получить опыт в разработке сложного инструмента, если ты берешь уже готовые фреймворки и пакеты и просто собираешь из них свое решение? Да, это быстро и часто довольно эффективно, но получаешь ли ты ценный опыт, узнаешь ли о вероятных подводных камнях и начнешь ли ты лучше понимать язык на котором программируешь? Конечно нет.


Сразу скажу: велосипедостроение в коммерческой разработке — зло. Создавать что-то, что уже существует и было отлажено многократно – это бессмысленно. И учитывая время, необходимое для выхода на рынок (Time To Market), это еще и опасно. Кроме того, новый код — это новые ошибки. Именно поэтому часто проще взять готовое и дополнить его до нужного уровня при работе в реальных продуктовых проектах.


Тем не менее, я противоречу сам себе, опровергая то, что сказал ранее. Я разработал на языке GO свой собственный easyjson в рамках именно продуктовой разработки, за что мне бесконечно стыдно. Если кто-то скажет, что я потратил деньги бизнес-заказчика в угоду своим амбициям, я не буду с ним спорить, но у меня были определенные причины, а главное теперь у меня есть интересный опыт. Об этом опыте я и расскажу.



Читать дальше →
Total votes 18: ↑16 and ↓2+14
Comments2

Tarantool: как избавиться от «зоопарка технологий» с помощью потоков событий

Reading time14 min
Views5K


Каждый проект рано или поздно обрастает разными технологиями, часть из которых может выполнять схожие или даже одинаковые функции. Наряду с развитием продукта это несет и скрытые трудности, в первую очередь для команды, которая должна поддерживать и развивать весь «зоопарк». 

Меня зовут Иван Банников, я ведущий разработчик VK Tech. В этом материале я расскажу об основных предпосылках разрастания используемого стека, а также на примере IoT-платформы, которую мы поддерживали, поделюсь опытом избавления от «зоопарка технологий» в области обработки сообщений.
Читать дальше →
Total votes 47: ↑46 and ↓1+45
Comments0

Bash Auto Completion в Linux

Level of difficultyEasy
Reading time5 min
Views15K

Пользователи взаимодействуют с Linux при помощи многочисленных команд, вводимых в командной строке. Учитывая разнообразие этих команд и их параметров, не так просто запомнить все наизусть.

Однако в Linux предусмотрена удобная функция автодополнения для Bash. Этот инструмент, с которым знакомятся на начальных этапах изучения Linux, значительно ускоряет и упрощает процесс ввода команд. Он автоматически дополняет имена файлов, каталогов или опции команд, когда вы вводите их в командной строке.

В данной статье мы подробно рассмотрим принцип работы автодополнения в Linux и покажем, как можно создать собственную систему автодополнения.

Читать далее
Total votes 33: ↑31 and ↓2+29
Comments6

Какой инопланетные астрономы увидели бы Землю

Reading time9 min
Views9.1K


Когда вы смотрите на какой-либо объект Вселенной, вы не видите его таким, какой он есть в момент наблюдения. Скорость света, несмотря на то, что это самая высокая скорость, с которой любой сигнал может распространяться по Вселенной, всё же конечна. Неважно, насколько близко или далеко находится объект — вы видите его только таким, каким он был определённое количество времени назад: в тот момент, когда наблюдаемый вам объект излучал (или отражал) свет. Тот факт, что свет должен преодолеть пространство от изучаемого объекта до наблюдателя, порождает пробел в знаниях об этом объекте, заполнить который можно только путём умозаключений.

Каждый наблюдатель во Вселенной, если только он не провёл большое количество времени, путешествуя со скоростью, близкой к скорости света (или не находился в чрезвычайно сильном гравитационном поле, например за горизонтом событий чёрной дыры), будет воспринимать «прямо сейчас» как один и тот же момент времени относительно Большого взрыва: с этого события прошло 13,8 миллиарда лет. Для близко расположенных объектов скорость света достаточно велика, чтобы разницей во времени между источником и наблюдателем в большинстве случаев можно было пренебречь. Но чем дальше мы смотрим, тем дальше назад во времени, и тем ближе к моменту Большого взрыва мы заглядываем.
Читать дальше →
Total votes 57: ↑53 and ↓4+49
Comments28

CLI инструменты, которые облегчат времяпровождение в терминале и сделают его приятнее

Reading time6 min
Views49K

Многие из вас каждый день работают в терминале, так давайте улучшим это времяпровождение вместе. Существует множество полезных инструментов CLI, которые могут сделать вашу жизнь в командной строке проще, быстрее и в целом веселее.

В этом посте описан мой топ-25 обязательных инструментов CLI, на которые я привык полагаться. Если тут нет вашего любимого - дайте мне знать в комментариях :)

Читать далее
Total votes 114: ↑107 and ↓7+100
Comments83

Английский, которому меня не учили

Reading time14 min
Views73K

Или максимы Английского языка, которые бы я хотел знать 20 лет назад.

Чем отличается хороший геймер от плохого? Хороший геймер сидит и изучает игру. Он знает каждый закуток. Он может без запинки назвать все характеристики всех юнитов в Star Craft. А самый крутой игрок знает все пропускные способности желтых, красных и синих конвейеров. А плохой игрок использует чит-коды или assistant apps. 

Можно сколько угодно сидеть и жаловаться о том, что правила сложны. А можно просто взять, изучить эти правила и уделать наисложнейшую игру.

Я не раз в своей жизни слышал, что Английский чрезвычайно сложен. Подобные заявления фактически являются чит-кодом. Вы просто сдаётесь и перестаёте пытаться. А зря. В английском языке есть очень много полезных и понятных вещей. 

В этой статье я хочу вам показать основные моменты, которые помогли мне хорошо овладеть языком. И надеюсь, что понимание этих моментов поможет и вам. 

Okay, let's go...
Total votes 135: ↑133 and ↓2+131
Comments174

Под капотом у компилятора Go: добавление нового оператора в Go — часть 1

Reading time11 min
Views9.4K

Это первая статья из серии из двух частей, в которой мы в форме туториала изучаем компилятор Go. Компилятор большой, и для его корректного описания потребовалась бы целая книга, поэтому идея этих постов заключается в том, чтобы вместо этого обеспечить быстрое погружение в тему. В будущем я планирую написать ряд более описательных статей о конкретных областях компилятора.

Мы собираемся изменить компилятор Go, добавив новую (условно) языковую фичу, и собрать модифицированный компилятор, чтобы ее опробовать.

Читать далее
Total votes 18: ↑15 and ↓3+12
Comments2

5 неочевидных способов улучшить иностранный язык с помощью ChatGPT

Reading time5 min
Views37K

Кто-то просит нашумевшего чат-бота сгенерировать код, кто-то — написать песню в стиле The Queen. Ну а я — как лингво-коуч и гик — решила упороться и посмотреть, поможет ли система OpenAI прокачать иностранный язык. Спойлер: очень даже.

Протестировала на себе несколько способов → Выделила 5 самых годных → Снабдила комментариями, как извлечь максимум. Дочитайте до 5-го, это мой любимый 🙃

Читать далее
Total votes 61: ↑57 and ↓4+53
Comments22

Разбираемся с Docker: как создаются образы

Reading time13 min
Views44K

От любого инструмента, который внедряем в проект, мы ждём стабильной работы. Docker не исключение. Чтобы иметь возможность оперативно выявлять потенциальные проблемы и избегать сбоев, необходимо понимать внутренние особенности технологии. Эта статья — сборник заметок, которые помогут разобраться, как создаются образы контейнеров. 

Читать далее
Total votes 35: ↑34 and ↓1+33
Comments3

Полезные ресурсы для погружения в Go: выбор сотрудников Selectel

Reading time4 min
Views17K

Попросили коллег порекомендовать ресурсы — подкасты, ютуб-каналы, книги, блоги и GitHub-репозитории — для изучения языка программирования Go. Сохраняйте подборку в закладки: пригодится и начинающим, и опытным специалистам. А также делитесь своими вариантами в комментариях.
Читать дальше →
Total votes 46: ↑45 and ↓1+44
Comments4

Как улучшить английский в документации

Reading time11 min
Views34K

Я работаю техническим писателем в компании documentat.io. Мы занимаемся заказной разработкой технической документации, в том числе на английском языке. Иногда я дорабатываю уже существующие документы или спецификации к API на английском. Как правило, такие документы написаны русскоязычными разработчиками, которые неплохо владеют английским. И всё же они часто допускают характерные грамматические, пунктуационные и стилистические ошибки.

Корень этих ошибок один — разные языковые механизмы. Нам бывает легко запутаться в употреблении временных форм, порядке слов или непонятно зачем придуманных артиклях. 

Поэтому в этой статье я постарался не просто дать рекомендации о том, как можно избежать распространённых ошибок, но и подсветить те отличительные черты английского языка, которые к этим ошибкам приводят.

Читать далее
Total votes 99: ↑98 and ↓1+97
Comments27

Как выйти из тупняка и родить идею

Reading time7 min
Views18K

Разработчики проводят огромное количество времени в тупняках. После многих лет работы разработчиком и менеджером я думаю, что тупняк это дефолтное состояние. Мы, разработчики, лишь иногда выходим из тупняка, решаем наконец поставленную задачу и почти сразу попадаем в следующий тупняк.

Читать далее
Total votes 47: ↑45 and ↓2+43
Comments10

Лучшие книги по Golang: что стоит почитать как начинающему, так и опытному разработчику

Reading time6 min
Views63K

Мы в Quadcode любим Golang и можем рассказать о языке и его преимуществах много интересного. Все это неспроста - не так давно мы переписали некоторые наши продукты или отдельные их модули именно на Go, чему радуемся до сих пор. Подробности самых интересных кейсов вскоре планируем раскрыть на Хабре, а пока что поделимся подборкой любимых книг, которые посвящены этому языку. Некоторые из них подходят для начинающих разработчиков, другие - для программистов с опытом. Объединяет все представленные в подборке книги одно - они могут оказаться ну очень полезными для тех, кто так или иначе связан с Go. Подборка - под катом, и, кстати, если вы уже читали какую-то из рекомендованных нами книг, расскажите о своих впечатлениях в комментариях. Поехали!

Да, кстати, еще одна ремарка - некоторые книги переведены на русский, некоторые - нет. Если перевода (пока, как хотелось бы надеяться) нет, то мы об этом скажем.

Читать далее
Total votes 9: ↑8 and ↓1+7
Comments15

Можно ли обойтись без фразовых глаголов в разговорном английском?

Reading time4 min
Views13K

Этим вопросом довольно часто задаются те, кто изучают фразовые глаголы в английском как часть разговорной речи на уровне intermediate, upper-intermediate и выше и пытаются употреблять их в своей речи. Причина этого вопроса вполне понятна – понимание и использование фразовых глаголов вызывает сложности: большинство этих глаголов имеют по крайней мере 4 значения, а некоторые и вовсе больше 10, значения частиц часто непонятны, нелогичны и толком доступно не объясняются в учебной литературе, а некоторые глаголы имеют аж две частицы и являются частью фразеологизмов. Гораздо проще найти простую короткую замену длинному фразовому глаголу: например, сказать eliminate ridiculous rules – устранить нелепые правила, вместо do away with ridiculous rules – покончить с нелепыми правилами. И вроде все хорошо, глагол употребили, слушатель выражение понял, кивнул головой и ничего критичного не сказал в ответ.

Однако на самом деле произошло вот что: избежав лишних сложностей, человек показал, что выбранные им слова звучат неестественно, то есть, что он неправильно использовал уровень формальности в разговорной речи, употребив вместо фразового глагола другой глагол, который используется в основном в письменном английском. Около 92% фразовых глаголов используются в устной английской речи и только 8% в академической, вот почему их необходимо использовать в первую очередь в разговоре. Конечно, глаголы без частиц тоже используются в общении, но часто их заменяют на фразовые глаголы по вышеуказанной причине. Проблема в том, что в русском языке формальная речь не так четко выражена и обособлена (хотя это тоже присутствует), как в английском, отсюда письменный язык больше приближен к разговорному.

Читать далее
Total votes 11: ↑10 and ↓1+9
Comments24

Проходим L6 интервью на System Design в FAANG

Reading time6 min
Views13K

Привет, из-за последних событий решил поделиться материалами по собеседованиям в зарубежные компании, которые сам собирал последние несколько лет. Описанное ниже - смесь из личного опыта, историй на различных форумах и анекдотов собранных через знакомых - поехали.

Читать далее
Total votes 19: ↑15 and ↓4+11
Comments6
1
23 ...

Information

Rating
Does not participate
Location
Нидерланды
Date of birth
Registered
Activity