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

Backend Engineer

Send message

Golang RPC и все-все-все…

Reading time6 min
Views11K

Disclaimer: this is not another one gRPC hate article... Oh, wait...

Начнем издалека - знаете, всегда было интересно, а почему, собственно, для golang существует такое большое разнообразие библиотек, для каких-то часто используемых сущностей, как-то - роутеры http (fasthttprouter забыли, как подсказали в коментах) или cache?

С выбором RPC вроде все просто, gRPC - наше всё (вы, кстати, в курсе, что g здесь - это не Google внезапно). Но не тут-то было...

Все просто без ума от Мэри gRPC (нет).

Читать далее

От абстрактной идеи к готовой механике: как гейм-дизайнеру составить ТЗ для программиста

Reading time6 min
Views6.6K

Когда идея игровой механики возникает в голове гейм-дизайнера, она существует в виде абстрактной задумки, у которой нет конкретного воплощения. И чтобы реализовать ее в реальности, он должен как-то объяснить программисту, в чем ее суть — гейм-дизайнеру нужно понятно и однозначно описать свою затею, чтобы разработчик воплотил ее в виде работающей механики.

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

Читать далее

Что я узнал за пять лет проведения аудитов кода

Reading time7 min
Views15K
Когда я работал в PKC, моя команда вела около тридцати аудитов кода. Многие из них предназначались для стартапов, которые вышли на серию А или B – именно на этом этапе основатели обычно обзаводились деньгами, отвлекались от тотальной сосредоточенности на выходе на рынок и осознавали, что неплохо бы поплотнее заняться вопросами безопасности.

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

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

Почему технические собеседования — пустая трата времени

Reading time5 min
Views14K

Летом 22 года я прошел ряд неприятных (и неудачных) технических собеседований. Я столкнулся с компаниями, которые:

меняли описание вакансии после собеседования;

отказывали, потому что у меня не было навыков, которые они НЕ упоминали в вакансии;

требовали пройти несколько раундов технического собеседования для внештатной работы;

проводили «техническое собеседование», не задав ни одного технического вопроса;

давали на дом тестовое задание по кодингу весом в ~30 часов работы.

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

Познать всю боль автора

Средние highload паттерны на Go

Reading time20 min
Views13K

Привет, Хабр! Меня зовут Агаджанян Давид и ранее я опубликовал статью «простые highload паттерны на Go», в которой были рассмотрены простые подходы увеличения пропускной способности отдельно взятого экземпляра приложения без хардкора. Мне импонируют простые подходы, так как over engineering подходы требуются в исключительных проектах, и то чаще всего только в отдельно взятых подсистемах, в остальном можно воспользоваться давно известными лучшими практиками.

Читать далее

Невыжившие в IT

Reading time7 min
Views205K

Этот текст я пишу из лучших побуждений, безо всякой иронии, снобизма и насмешки. Хочу сберечь время и нервы тем, кто поддался на «войти в айти» и прямо сейчас учится сортировать массивы, парсить строки и верит в «да-да, этим ты и будешь заниматься на работе».

Есть такое понятие – ошибка выжившего. Грубо говоря, о явлении, тенденции или событии судят по людям, которые прошли его успешно – выжили. Совершенно игнорируя информацию о тех, кто успеха не достиг. В результате случайная удача интерпретируется как устойчивая вероятность. Если интересна мат.часть – почитайте Нассима Талеба или Даниэля Канемана. Их книги существенно дешевле курсов по ИТ.

Я опишу типичные ошибки тех, кто не выжил. И, соответственно, не вошёл в ИТ. Всё из опыта личных наблюдений.

Да, если «тут всё неправда», «а вот мой друг Коля успешно…» или «а у меня получилось» - прекрасно, текст не про вас и не для вас. Вы и ваш друг Коля – выжившие.

Читать далее

Ускоряем разработку

Reading time6 min
Views10K

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

Обязан ли разработчик развиваться?

Reading time5 min
Views59K

Мир IT довольно токсичен. Нас окружает успешный успех — он захлёстывает и сбивает нас с ног каждый раз, когда мы смотрим на публичных людей в нашей отрасли. Один — ворочает «маленьким кластером на тысячу машин», другой — уже три пет-проекта запустил за утро субботы, этот — за день подготовился к собеседованиям и лениво перебирает оферы из топовых компаний.

Из каждого утюга раздаются возгласы, что разработчик должен развиваться день и ночь, ведь у нас такая профессия! Каждый должен обладать солидным профилем на гитхабе, для чего, придя домой после дня работы, обязан контрибутить в опенсорс-проекты. Впрочем, отдохнуть тоже можно — например, запустив в перерыве свой пет-проект и поучаствовав в хакатоне. Ночью можно совсем расслабиться и понабивать себе профиль в литкоде, а во время походов в туалет — прочитать пару статей.

Но действительно ли всё это надо? Разработчик в самом деле обязан проводить всё своё свободное время за написанием кода? А обязан ли разработчик постоянно развиваться?

Читать далее

Полифилы JavaScript: что это и зачем они нужны?

Reading time4 min
Views21K

Всем привет, я — Кирилл Мыльников, frontend разработчик компании Usetech.

Сегодня хочу рассказать о полифилах JavaScript: что это и зачем они нужны? На практике мы реализуем несколько полифилов: map, forEach, filter, reduce. 

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

Итак, начнём с определения полифила, а затем перейдём к методам.

Читать далее

Мои собеседования (Golang developer)

Reading time5 min
Views21K

Привет, меня зовут Олег, я разработчик со стажем почти 10 лет.

Разработкой начал заниматься ещё со старшей школы, изучал C/C++ (очень пригодилось при написании скриптов в injection для ультимы онлайн). Профессионально начал работать разработчиком приблизительно с 2014, основной язык до 2020 года был C# с примесью C++. Сначала разрабатывал и поддерживал некоторые проекты в банковской сфере, потом резко поменял предметную область и ушёл писать софт для автоматизации работы одного строительного девелопера. На начальных этапах это было огромное легаси на C# от бывшего архитектора, решившего стать программистом, с кучей багов и неочевидных решений, пришлось много переписывать.

Со временем появились задачи, которые не были привязаны к языку и технологиям в принципе (изначально писал, по сути, плагины к CAD-приложениям), и я попробовал Golang, а вместе с ним и микросервисы, NoSQL, gRPC и прочие модные штуки. Побывал в шкуре админа-девопса, так как новые сервисы я запускал и поддерживал сам.

Некоторое время назад наткнулся на пост про собеседования и решил рассказать Хабру про свой опыт. Возможно, кому-то он окажется полезным.

Читать далее

Программирование — это про общение

Reading time9 min
Views11K

Когда выгорание по внутренним (и внешним) причинам достигает максимума, когда тошнит от одного воспоминания о том как выглядит IDE, когда мнится что в седло большой разработки больше не вернутся никогда, но, при всём при этом, вносить свой вклад в развитие индустрии хочется - остаётся одно.

Сменить угол обзора.

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

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

Давайте поговорим об этом

Дата-центры Google. Как устроена самая технологичная сеть серверов, разбросанная по всему миру?

Reading time21 min
Views38K

Серверы в морских контейнерах, туалетная вода для охлаждения, ледяные батареи, почта на магнитной ленте, аллигаторы в пруду и 500 кг выбросов CO2 в секунду.

Google был основан в 1998 году Ларри Пейджем и Сергеем Брином. Последний родился в Москве в семье советских евреев-математиков и выпускников МГУ, впоследствии переехавших в США.

За годы из обычной поисковой системы, размещенной внутри небольшого системного блока с корпусом из Lego, Гугл превратился в целую экосистему дата-центров, разбросанных по всему миру.

Читать далее

Мой топ самых полезных софт-скиллов для ИТ-специалиста

Reading time5 min
Views34K

Привет, Хабр! Меня зовут Людмила, и я рекрутер с опытом в ИТ-отрасли более 10 лет.

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

Читать далее

Новости из мира Go: вредоносное ПО, зарплаты разработчиков, книги и новые релизы

Reading time6 min
Views5.3K

И снова здравствуйте! В прошлый раз мы говорили о разных интересных новинках в Data Science, ну а сегодня обсудим новости Golang и всего, что связано с этим языком программирования. Рассмотрим не все новости за последние несколько месяцев, поскольку их много, а только за лето 2022 года. Если вдруг вам покажется, что мы пропустили нечто важное, — пишите в комментариях, обсудим.

Читать далее

Превращаем старый телефон на Android в веб-сервер

Reading time4 min
Views51K

Есть ли у вас старый телефон на Android? Наверняка есть! В мире накопилось безумное количество всевозможного электронного мусора, и в среднем гражданин развитой страны меняет телефон каждую пару лет, поэтому старые телефоны, вероятно, один из самых распространённых видов электронных отходов.

У меня залежался собиравший пыль старый Motorola G5 Cedric, поэтому я решил сделать с ним что-нибудь, и теперь на нём работает веб-сервер Puma с простым веб-приложением на Sinatra.

Читать далее

Разработчики: не перерабатывайте

Reading time3 min
Views34K

Старайтесь изо всех сил, чтобы произвести впечатление на своего начальника.

Думайте, что команда Вас уважает за Вашу работу, когда команда токсична.

Создайте иллюзию, что продвигаетесь вперед и Вас замечают.

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

И Вы сгорите, не продвинувшись вперед.

Читать далее

Все люди — НПС в компьютерной игре?

Reading time7 min
Views16K

Упомянув, несколько лет назад, в опубликованной на Хабре юмористической статье «12 способов» о том, что значительная часть населения Земли является НПС (от англ. Non-Player Character) я не собирался возвращаться к этой теме. Но идея оказалась прилипчивой — раз возникнув, она постоянно всплывала в сознании, когда я общался со знакомыми или читал новостные сайты. И не у одного меня — подобных теорий, с небольшими вариациями, известно огромное множество.

Широко известный эзотерик Георгий Гурджиев еще в начале прошлого века утверждал, что «Люди, суть не что иное, как машины, спящие автоматы, подчиняющиеся законам механики, не способные ни к каким осознанным действиям». Писатель фантаст Роберт Дж. Сойер описал в романе «Квантовая ночь» не отличимое от нашего общество, в котором большая часть населения являются подобием «философских зомби» — не осознающими себя личностями без внутреннего монолога. Что-то подобное можно найти у этолога Анатолия Прототопова — в его терминах, речь идет о высокопримативных и низкопримативных особях.

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

Читать далее

Убийство разработки – опыт Тиньков Страхование

Reading time6 min
Views57K

Вечером зашел на Хабр, отсортировал лучшие по суткам, наткнулся на статью «Как убить разработку в три шага и на четвертый навсегда похоронить».

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

Автор статьи – irintus (имя изменено), в подробностях рассказала, зачем и как она убила процесс разработки, куда и какие зонды вставила, но забыла написать, чего этим добивалась. Давайте я это исправлю.

Читать далее

Как я нахожу парковочное место за 5 секунд

Reading time5 min
Views116K

Большой размер придомовой парковки не гарантирует, что вы легко и быстро найдете парковочное место, а чаще даже наоборот, при заезде на парковку может начаться приступ депрессии от того, что объехал парковку, потратил время, но в итоге место не нашёл. Как можно добавить в жизни чуть-чуть больше определённости, я опишу ниже.

Читать далее

Information

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

Specialization

Backend Developer
Senior
From 4,000 $