Pull to refresh
6
0
Игорь @peacecoder85

Backend Engineer

Send message

Как построить WaitGroup на основе 32-разрядного целого числа

Reading time7 min
Views2.7K
image

В Go есть приятная утилита для синхронизации, именуемая WaitGroup, которую могут ожидать одна или несколько горутин. Это требуется для конкурентного завершения задач. В других языках обычно действует следующее соглашение по завершению задач: нужно объединять потоки, выполняющие работу. В Go горутины не имеют ни значений, ни дескрипторов, поэтому WaitGroup применяется вместо объединений. Собирание WaitGroup на основе типичных портируемых примитивов – путаное дело, в которое вовлечены конструкторы и деструкторы; также в процессе этой работы приходится управлять временами жизни. Однако, как минимум, под Linux и под Windows, можно построить WaitGroup из целого числа (инициализируемого в значении), во многом как при создании 32-разрядной очереди и 32-разрядного барьера.
Читать дальше →

О важности владения кодом

Level of difficultyEasy
Reading time9 min
Views18K

Наткнулся на данную статью случайно, когда находился в очередном поиске ответа на вопрос "Как же так?!" в интернете. Автор данной статьи занимается мобильной разработкой, но тем не менее его наблюдения и выводы касательно владения кодом разительно перекликаются с моими:

Однажды я работал в одной компании, где девизом команды разработки была фраза «Ты владеешь тем, что пишешь». Это отлично мотивирует нести ответственность за любой написанный код. Но сказать проще чем сделать.

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

Читать далее

Как ChatGPT за меня тестовое задание для собеседования писал

Reading time6 min
Views66K

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

И мне вдруг подумалось, а как хайповый chatGPT мог бы справиться с таким полуреальным, но вполне полезным для меня, заданием?

Читать далее

Про аудирование, или Из чего состоит знание иностранного языка

Reading time10 min
Views26K

В изучении языка есть стандартные этапы отчаяния:
- «Мне поможет только погружение в языковую среду»;
- «Что-то идёт не так, нужен какой-то особый подход» [после малорезультативного «погружения»].

На самом деле это один и тот же этап: в какой-то момент застрявшая в голове рекламная демагогия неизбежно начинает конфликтовать с реальностью.

9 из 10 жалуются: я плохо воспринимаю речь на слух… что делать… У рекламщиков ответ уже готов: «Улучшить восприятие на слух? — Приходите! Поможем!» Заканчивается всё очередным разочарованием и ещё более глубокой убеждённостью в «уникальности» своего случая. В общем, давайте разберёмся, из чего состоит аудирование.

Во-первых, не надо слишком буквально понимать знакомых, которые, якобы, хорошо разбирают речь носителей на слух. Если ты не рос в Англии, у тебя ВСЕГДА будут проблемы с восприятием речи британца. Помните, как вы хорошо понимали носителя, пока он говорит с вами, но мгновенно переставали его понимать, когда он начинал говорить с другим носителем. Как так?

Реальные живые носители произносят не совсем те слова, которые мы читаем в субтитрах. Ни в одном словаре нет слова forya (ударение на первый слог), хотя оно и распространённое (в субтитрах пишут for you). Не менее распространено слово whaddaya (в субтитрах будет what do you). То же самое в скоростной русской речи: вместо «он говорит» в реальной жизни мы обычно используем слово «онгрьт» с невнятными «н» и «т». Очсомневаюсь, что оно есть в словаре. Носитель расшифровывает «онгрьт» через 3 канала одновременно:

Читать далее

Лучшие школы программирования в 2024 (голосование)

Reading time8 min
Views224K

Вы интересуетесь программированием, но не знаете, с чего начать? Сейчас с этим сложности не возникают. В интернете можно найти курсы программирования и приобрести ценные знания, которые будут закреплены на практике. Вариантов очень много. Поэтому предлагаем Вашему вниманию ТОП-15 лучших сайтов, которые больше всего нравятся пользователям. 

Читать далее

Как понять, зачем люди устраиваются к вам работать и почему они увольняются

Reading time8 min
Views4.8K

Привет! Я Дмитрий Шувалов, руководитель компании УМ. Наша компания входит в экосистему AGIMA и занимается исследованиями клиентского опыта. Одна из наших сильных стороны — этнография труда. Моя коллега Ольга Пинчук координирует это направление и недавно написала статью об этом для журнала «СоциоДиггер». В ней она подробно описывает методы и задачи этого подхода, а также объясняет, почему крупный бизнес проявляют к нему интерес. А еще одна из задач текста — объяснить отличие корпоративной этнографии от маркетинговых исследований и аналитики.

Читать далее

Языки программирования как зеркало IT-столпотворения. Часть II

Level of difficultyEasy
Reading time6 min
Views5.1K

В предыдущей статье мы подробно рассказали о первых попытках человечества запатентовать языки программирования и о первых созданных ЭВМ. В этой речь пойдет о современности. 

Читать далее

Разбираемся в нюансах создания оператора на golang

Reading time11 min
Views10K

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

Читать далее

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

Reading time14 min
Views80K

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

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

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

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

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

Okay, let's go...

Трейсинг в Go — это просто

Reading time13 min
Views28K

В эпоху быстрорастущих приложений важно иметь возможность контролировать состояние системы в любой момент времени. Одними из требований для достижения этого являются логи и метрики, которые помогают нам следить за многими параметрами, такими как количество запросов в секунду (RPS), потребление памяти, cache git и т.д. Однако, есть ещё один полезный инструмент - трейсинг. В этой статье мы ознакомимся со стандартом OpenTelemetry в языке Go и инструментом Jaeger

Читать далее

Как запоминать иностранные слова

Reading time3 min
Views26K

На факультете иностранных языков (!) в досмартфоновую эпоху меня называли «ходячий словарь», хотя память вроде средняя. Поделюсь тактиками, которые я использовал.

Люди запоминают информацию по-разному, и преподаватели тут особо не помогут. Никаких универсальных методик запоминания не существует, каждый должен изучить работу своей памяти самостоятельно. В целом наша способность запоминать опирается на 2 столпа:

эмоции (у него сложная фамилия, но я запомнил легко: она забавно звучит);

ассоциативные связи (у него сложная фамилия, но я запомнил легко: у друга была похожая).

Эмоции

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

Читать далее

Декораторы, о которых вам не расскажут

Reading time11 min
Views31K

От переводчика: мне понравился подход к объяснению декораторов, описанный в этой статье, а так как других вариантов перевода я не нашёл, я решил поделиться этим с аудиторией Хабра. Надеюсь что этот текст будет полезен как новичкам, так и опытным программистам.

Если вы программируете на языке Python, вы должны были слышать о декораторах, однако существует много людей, которые либо не знакомы с ними, либо, что еще хуже, знакомы с ними (использовали так или иначе), но так и не поняли их суть.

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

Читать далее

Тренд на low-code/no-code: как разработка без кода влияет на рынок, и почему она не заменит опытных программистов

Reading time7 min
Views10K

В России мы наблюдаем скепсис со стороны классической разработки и недостаточный уровень знания о low-code/no-code среди тех, кому он мог бы потенциально облегчить работу. Тем временем рынок инструментов для создания сайтов, приложений и сервисов без кода или с минимальным его написанием кратно растёт. Собрали мнения, чем привлекает low-code/no-code разработка, и прогнозы по её востребованности в ближайшее время.

Читать далее

На технических собеседованиях даже нормальные люди звереют

Reading time5 min
Views105K
В Сети опубликованы сотни постов о том, что собеседования в IT никуда не годятся, что на них расспрашивают о каких-то частностях или задают вопросы о том, что твердо знает только вчерашний выпускник университета (классический пример – сортировка с помощью двоичного дерева). Все эти выпады справедливы, но я хочу добавить еще один от себя: от собеседований звереют даже нормальные люди.

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

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

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

Golang-дайджест № 24 (1 – 31 декабря  2022)

Reading time3 min
Views4.2K

Свежая подборка новостей и материалов.

Интересное в этом выпуске

Go на стороне зла, 3D-графика в Go, руководство по сборщику мусора Go, Под капотом у компилятора Go, Видео и Подкасты.

Читать далее

English Tenses — моё представление времён в английском языке

Reading time3 min
Views12K

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

Сразу хочу отметить, что я не являюсь педагогом и у меня вообще нет никакого ни лингвистического, ни педагогического образования. Данной статьей я просто хочу поделиться своей диаграммой по изучению времен, возможно кому-то она будет полезной и поможет в понимании времен и того, как и когда использовать, то или иное время. Данная диаграмма будет поверхностной и не будет углубляться во все подробности языка (и так она получилась огромной), она не охватывает все многообразие времен и конструкций в английском. Уровень данной диаграммы А2-В1.

И сразу начну с диаграммы:

Читать далее

Мозг. Как он работает

Reading time8 min
Views19K

Хочу поделиться в блоге ЛАНИТ впечатлениями о книге нейробиолога, профессора Стенфордского университета Дэвида Иглмена «Живой мозг. Удивительные факты о нейропластичности и возможностях мозга» (Москва, «Манн, Иванов и Фербер», 2022). Книга читается легко, она не содержит «страшных» медицинских терминов, которые могли бы отпугнуть читателя, и в то же время достаточно убедительно разъясняет природу мышления и причину довольно сложных случаев отклонений от нормального развития мозга.

Читать далее

Обзор чат-бота ChatGPT: что это, возможности и примеры использования

Reading time4 min
Views264K

ChatGPT от OpenAI, запущенный 30 ноября 2022 года, произвел настоящий фурор в IT-сообществе, поразив многих точностью ответов на специальные вопросы. Посмотрим, как можно использовать этого чат-бота, в том числе в сочетании с другими программными продуктами.

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

Читать далее

В очередь, ...! Как управлять состоянием системы через события

Reading time11 min
Views11K

Существует множество разных подходов к построению архитектуры серверных приложений. В данной статье рассмотрим Event-driven архитектуру (она же событийно-ориентированная). Рассмотрим основные принципы, как перейти от связей Компонент А <-> Компонент В, к связям через события Компонент А -> Событие А -> Компонент Б и зачем это нужно?

Читать далее

Как я стал тимлидом

Reading time14 min
Views6.1K

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

Читать далее

Information

Rating
7,885-th
Location
Одесса, Одесская обл., Украина
Date of birth
Registered
Activity

Specialization

Backend Developer
Senior
From 4,000 $