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

Backend Engineer

Send message

Как вести технический блог?

Reading time16 min
Views21K


Я работаю в коммерческой разработке с 2011 года. С конца 2012 занимаюсь разработкой под iOS. Свою первую техническую статью я написал на Хабре в начале 2017 года про подход к локализации мобильных приложений. Потом выпустил ещё несколько статей по iOS-разработке на Хабре и в конце 2017 года я перешёл в новую компанию и решил вести блог про solution architecture https://medium.com/@nvashanin, где начал описывать общие концепты, обязанности архитектора, его скилл-сет и т.д. К лету 2020 года количество просмотров моих статей перевалило за 800 тысяч, а количество времени, которое люди потратили на прочтение — больше 6 млн минут, или около 12 лет чистого времени. Флагманская статья была переведена другими людьми на разные языки: например, польский или испанский.

В статье я расскажу про свой путь к техническому блогу — от идеи до регулярных публикаций. Расскажу, о чём можно писать, как писать и как оформлять статьи, а также о том, как на них заработать. Мне, например, удалось купить себе часы на деньги, которые принёс блог. Статья подойдёт тем, кто только задумывается о написании статей, а также будет полезна и тем, кто уже активно пишет.
Читать дальше →

Внутренние коммуникации в режиме самоизоляции: почему “удаленка” не равна работе из дома

Reading time9 min
Views5.6K
В ситуации жестких карантинных мер современный мир оказался впервые, но большинство команд в IT и диджитал-сферах успело оперативно перейти на “удаленку”, сохранив процессы. Кажется, что в целом вынужденная самоизоляция не застала врасплох сферу разработки. Многие уже существовали в условиях, близких к цифровому офису: тасктрекеры, общение в чатах, хранение информации в веб-системах и облачных хранилищах. Оставалось только перенести командные и межкомандные встречи в онлайн-пространство. Но чем дольше мы работаем в режиме самоизоляции, тем отчетливее видны изменения, которые постепенно происходят во внутренних командных коммуникациях. И с этими изменениями нужно быть готовыми работать.


Читать дальше →

Эх, айти, куда ж ты котишься? 

Reading time20 min
Views71K
Ну что, Хабр, прошло полгода какого-то очень неприятного 2020, до конца десятилетия ещё чуть-чуть — и уже сегодня я могу сказать: это десятилетие прежде всего стало золотым веком IT-сферы. Накопленный опыт, новые эксперименты и крутое железо сделали своё дело. Казалось, что айти стало новым рок-н-роллом, но как-то быстро оно приблизилось к тому, чтобы стать новой попсой. Все хотят в айти, неважно кем: менеджерами всего и по всему, переводчиками, деврелами, пиарщиками, копирайтерами, ну и собственно программистами, тестировщиками, инженерами. А отрасль тем временем сильно видоизменяется. Предлагаю вам поговорить о нас, о нашем айти и о том, куда всё катится. 

Читать дальше →

Что нужно знать об архитектуре ClickHouse, чтобы его эффективно использовать. Алексей Зателепин (2018г)

Reading time19 min
Views25K

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


Будут затронуты следующие темы:


  • Как ClickHouse хранит данные на диске и выполняет запрос, почему такой способ хранения позволяет на несколько порядков ускорить аналитические запросы, но плохо подходит для OLTP и key-value нагрузки.
  • Как устроена репликация и шардирование, как добиться линейного масштабирования и что делать с eventual consistency.
  • Как диагностировать проблемы на production-кластере ClickHouse.

Восходящая сортировка кучей

Reading time5 min
Views9.4K

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

Как интернет-магазину встроить услуги доставки Почтой в свои бизнес-процессы

Reading time6 min
Views6.7K
Почта помогает интернет-магазинам автоматизировать большую часть процессов, связанных с логистикой. Нам можно поручить доставку посылок, печать и отправку писем, хранение, сбор и упаковку заказов.

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

SOLID == ООП?

Reading time5 min
Views22K

Наверное я не ошибусь, если скажу, что чаще всего на собеседованиях спрашивают о SOLID принципах. Технологии, языки и фреймворки разные, но принципы написания кода в целом похожи: SOLID, KISS, DRY, YAGNI, GRASP и подобные стоит знать всем.


В современной индустрии уже много десятков лет доминирует парадигма ООП и у многих разработчиков складывается впечатление, что она лучшая или и того хуже — единственная. На эту тему есть прекрасное видео Why Isn't Functional Programming the Norm? про развитие языков/парадигм и корни их популярности.


SOLID изначально были описаны Робертом Мартином для ООП и многими воспринимаются как относящиеся только к ООП, даже википедия говорит нам об этом, давайте же рассмотрим так ли эти принципы привязаны к ООП?

Читать дальше →

Как реализовать свою идею и не сойти с ума на самоизоляции

Reading time7 min
Views8.5K
Во время тотальной самоизоляции разработчики стали ещё активнее интересоваться онлайн-ивентами, где можно поучиться и попробовать силы в конкурсах. На этой волне мы запустили грантово-образовательный проект для нашего комьюнити. Не мелочась, заложили призовой фонд в 15 миллионов рублей. В этой статье расскажем, почему конкурс не сбавляет оборотов даже сейчас, когда никто уже не сидит дома, что ждёт VK Fresh Code дальше и какие приложения победили в первом этапе.

image
Читать дальше →

От “стартапа” до тысяч серверов в десятке ЦОД. Как мы гнались за ростом Linux инфраструктуры

Reading time6 min
Views9.5K
Если ваша IT инфраструктура растёт слишком быстро, вы рано или поздно столкнётесь с выбором – линейно увеличивать людские ресурсы на её поддержку или начинать автоматизацию. До какого-то момента мы жили в первой парадигме, а потом начался долгий путь к Infrastructure-as-Code.


Читать дальше →

Нет Cookies, нет проблем — использование ETag для отслеживания пользователей

Reading time6 min
Views43K
Работая старшим консультантом по дижитал-аналитике в ведущем международном аналитическом агентстве, с огромным интересом наблюдаю за нынешним крестовым походом современных веб-браузеров против технологии cookie.

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


Для наглядности я создал демо-сайт. Вот он.

Нажмите на каждую из трёх кнопок Page → На всех трёх один и тот же идентификатор.
Закройте окно браузера и снова откройте сайт → Идентификатор не поменялся.
Выключите компьютер и зайдите на эту веб-страницу завтра → Идентификатор всё тот же.
Проверьте ваши куки → Демо-сайт не записывает куки и не считывает их.
Проверьте URL → Сомнительные строки запроса отсутствуют.

Итак, как именно я могу хранить идентификатор и узнавать, что вы с определённого устройства возвращаетесь на сайт, при этом без входа в систему и без использования куки?
Читать дальше →

6 лучших практик для безопасного управления Git-репозиториями

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



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

Хеш-таблицы

Reading time9 min
Views289K

Предисловие


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


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


image

Читать дальше →

Почему так сложно воспринимать критику?

Reading time5 min
Views20K


Автор статьи: Елена Ленсу (Психотерапевт).
Специализации: организационное консультирование, долговременная терапия, работа с травмой, сексология.

Бизнес консультант, ex.HRD Pravo.Tech и Rocket10. Автор статей и преподаватель онлайн-курса «IT-Recruiter» в OTUS.

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

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

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

Зачем в npm 7 оставили поддержку package-lock.json?

Reading time9 min
Views11K
Мне, с того момента, как мы объявили о том, что в npm 7 будут поддерживаться файлы yarn.lock, несколько раз задавали один и тот же вопрос. Он звучал так: «Зачем тогда оставлять поддержку package-lock.json? Почему бы не использовать только yarn.lock?».



Краткий ответ на этот вопрос выглядит так: «Потому что yarn.lock не полностью удовлетворяет нуждам npm. Если полагаться исключительно на него, это ухудшит возможности npm по формированию оптимальных схем установки пакетов и возможности по добавлению в проект нового функционала». Ответ более подробный представлен в данном материале.
Читать дальше →

Soft skills для разработчиков: зачем и как развивать?

Reading time4 min
Views33K
Спрос на IT-специалистов растет с каждым днем, вместе с этим увеличивается конкуренция. Для построения карьеры в хорошей компании уже недостаточно только профессиональный навыков (hard skills). Работодатели стали также обращать внимание и на так называемые “мягкие” навыки — soft skills. Это навыки, которые не связаны с профессией, а относятся больше к личностным качествам (коммуникабельность, креативность, эмпатия и тд). О том, действительно ли это так важно, какие навыки требуются и как их развивать — поговорим сегодня.

image

Почему soft skills стали необходимы?


Все мы знаем “известный” образ программиста: интроверт, в бабушкином свитере, растянутых штанах и очках. Конечно, в момент зарождения профессии (и появления этого стереотипа) ни о каких soft skills речи не шло, потому что, если ты умел писать код, то был уже крут! Сейчас сфера IT и сама профессия существенно изменилась.

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

Что делать, если в вашей команде появился «эффективный» менеджер?

Reading time12 min
Views186K

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


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


Читать дальше →

Бюджетный DI на антипаттернах

Reading time15 min
Views13K

image


Согласитесь, приятно бывает после утомительного трудового дня отточенным движением руки решительно закрыть рабочий workspace в Xcode, чтобы, облегченно вздохнув, открыть другой workspace — со своим домашним проектом.


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


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

Читать дальше →

15 распространённых мифов о программировании

Reading time6 min
Views16K

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



Читать дальше →

Я перегорел, уже как 2 года

Level of difficultyEasy
Reading time3 min
Views48K


Сложно такое осознать, я думал, меня настигнет эта участь несколько позже, когда мне будет хотя бы 30+ и я буду каким-нибудь крутым разрабом в известной компании, но мне 26 и я в NoName конторе.

Я долго пытался понять, почему все именно так и кажется пазл сложился. Хочу выговориться. Обычно, цель моих постов — рассказать на какие грабли я наступил, чтобы уберечь читателя, но видимо не в этот раз.
Читать дальше →

Будущее дата-центров

Reading time22 min
Views7.7K
Учитывая, что к 2025 году ожидается 175 зеттабайт данных, дата-центры будут продолжать играть чрезвычайно важную роль в приеме, исчислении, хранении и управлении информации.

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

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

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

image

Местоположение

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

По некоторым оценкам, мировой рынок строительства ЦОД к 2025 г. может составить до $57млрд. Это достаточно большой вызов, так, как гигант коммерческой недвижимости CBRE запустил целое подразделение, специализирующееся именно на дата-центрах

Карта центров обработки данных

image
Читать дальше →

Information

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

Specialization

Backend Developer
Senior
From 4,000 $