Pull to refresh
24
0
Антон Зубарев @aszubarev

User

Send message

Тимлид, которого не любят

Level of difficultyEasy
Reading time5 min
Views22K

Есть у нас такая традиция – начальство не любить. А как быть, если начальство – ты сам? Хочется ж быть хорошим, всегда и для всех. Но получается так, увы, редко.

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

Читать далее
Total votes 25: ↑18 and ↓7+14
Comments23

Люди не понимают ООП

Level of difficultyMedium
Reading time15 min
Views116K

«ООП для меня означает лишь обмен сообщениями, локальные ограничения и защиту, сокрытие состояния процесса и крайне позднее привязывание», — Алан Кэй (человек, придумавший термин «объектно-ориентированное программирование»)1

Похоже, многим не нравится объектно-ориентированное программирование. Первое, что приходит в голову, когда слышишь эту трёхбуквенную аббревиатуру — это пример с автомобилем, наследование, геттеры, сеттеры и ObjectFactoryFactorySingleton.

Мне это всегда казалось довольно странным. Мне не только нравится ООП, я ещё и считаю, что часто это лучший/наиболее очевидный способ моделирования задачи. И ниже я расскажу, почему.
Читать дальше →
Total votes 126: ↑119 and ↓7+140
Comments461

Программисты всё вымирают и вымирают

Level of difficultyEasy
Reading time18 min
Views127K

Да вымереть не могут.

Откуда это всё пошло? Чем так условные «программисты» не угодили? И почему именно программисты?

Читать далее
Total votes 335: ↑323 and ↓12+373
Comments583

Event Loop. Мифы и реальность

Reading time19 min
Views17K

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

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

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

Что отличает 1% лучших менеджеров по продукту от 10% лучших?

Level of difficultyEasy
Reading time4 min
Views10K

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

10 лет назад я написал ответ на вопрос на Quora. С тех пор его посмотрели почти миллион раз. Сегодня многие менеджеры по продуктам знают меня по этому посту, или по другому, о "работе задом наперёд" - процессу разработки продуктов в Amazon.

Тогда, в 2012 году, я руководил несколькими продакт менеджерами в Amazon. С тех пор я руководил почти сотней менеджеров по продуктам в Amazon, Airbnb и прочих стартапах, а так же был старшим менеджером и директором по управлению продуктами. Мой опыт вырос. Кажется, сейчас самое время подумать, что я возможно упустил 10 лет назад и обновить мой пост о Топ 1% продактах.

Вот список навыков из моего прошлого поста, некоторыми из которых обладают 10% лучших менеджеров по продукту, но у 1% есть большинство из них. Я добавил кое-какие дополнительные комментарии в квадратных скобках.

Читать далее
Total votes 9: ↑5 and ↓4+3
Comments6

Вас просто стало слишком много

Level of difficultyEasy
Reading time6 min
Views131K

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

Читать далее
Total votes 163: ↑122 and ↓41+116
Comments703

Компилятор за выходные: лексер и парсер

Level of difficultyMedium
Reading time12 min
Views15K

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

Сегодня я публикую две статьи разом, поскольку по дороге меня довольно круто занесло, и получился небольшой спин-офф. Очень рекомендую к прочтению :)

Ну а тема этой статьи - автоматическое построение синтаксического дерева aka лексер и парсер.

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

Насколько безопасна сегодня авторизация через мессенджеры?

Level of difficultyMedium
Reading time4 min
Views3.5K

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

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

Про soft skills (пирамида Маслоу как помощник)

Level of difficultyEasy
Reading time9 min
Views17K

Особенности моей работы – введение предприятий в холдинг. Это подразумевает под собой БЫСТРОЕ вовлечение ВСЕХ сфер новоприобретенного предприятия в политику холдинга; повышение производительности и ассортимента, снижение затрат, ну и далее «со всеми остановками». Другими словами – всех «под одну гребенку», то есть все живут по правилам нового хозяина.

Причем все это надо делать быстро!!! То есть, годов и лет на эти телодвижения нет, в лучшем случае – месяцы. обычно - недели.

Читать далее
Total votes 17: ↑4 and ↓13-8
Comments21

Когда мы теряем мотивацию

Level of difficultyEasy
Reading time2 min
Views7.9K

Иногда, когда мы пишем код или работаем над любым другим проектами, в основном PET-проектами, мы теряем мотивацию. Но как избежать этого и работать как обычно?

Читать далее
Total votes 10: ↑7 and ↓3+4
Comments4

Аутентификация, авторизация пользователей и единый вход (SSO) с использованием Django

Level of difficultyEasy
Reading time24 min
Views12K

В этой статье исследую технологию SSO. Начинаю с разбора концепций аутентификации и авторизации. Рассматриваю как они работаю в контексте Django.

После прохожу путь от описания как работает SSO простыми словами, до разбора протоколов используемых в SSO.

В итоге делаю реализацию SSO с Django, объединять Django и Keycloak.

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

Коротко про алгоритмы и структуры данных

Level of difficultyEasy
Reading time3 min
Views24K

Привет, Хабр! Меня зовут Ричард, я работаю в команде kPHP в VK, занимаюсь разработкой kPHP, плагинов для IDE, а также другого инструментария, делая жизнь разработчиков проще. В своей работе мне приходится иметь дело с PSI деревьями, AST, самописными структурами данных и их модификациями, и даже QuickSelect (и более сложные алгоритмы) мне доводилось реализовывать. Хочу немного поговорить про один из краеугольных, пожалуй, камней в IT, а именно про «алгоритмы и структуры данных» — тема не теряет актуальности со времен появления Хабра. Заранее оговорюсь, мой пост на 90% состоит из личного опыта во время обучения, работы и преподавания.

Читать далее
Total votes 45: ↑26 and ↓19+22
Comments14

Книга «System Design. Машинное обучение. Подготовка к сложному интервью»

Reading time10 min
Views11K
image Привет, Хаброжители!

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

Также она поможет всем, кто интересуется проектированием систем МО, будь то новички или опытные инженеры.

Что внутри?
  • О чем на самом деле спрашивают на собеседовании по System Design в МО и почему (инсайдерская информация!).
  • 7 основных шагов для решения любой задачи МО, предлагаемой на собеседовании.
  • 10 вопросов из реальных собеседований по System Design в МО с подробным разбором ответов.
  • 211 диаграмм, которые наглядно объясняют, как работают различные системы.
Читать дальше →
Total votes 17: ↑17 and ↓0+17
Comments7

Особенности партиционирования в PostgreSQL и Apache Hive

Reading time11 min
Views7.2K

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

В данной статье рассмотрены некоторые особенности использования языка SQL в реляционных СУБД и Apache Hive. Кроме того, проведен сравнительный обзор возможностей и подходов, а также применение партиционирования на практике.

Материал будет полезен специалистам младших и средних грейдов, которые используют в своей практике SQL, но имеют мало опыта в Hive или Postgres.

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

Четыре метрики, изменившие мой проект

Reading time9 min
Views18K

Привет, Хабр! Я Федор Щудло, team lead и fullstack-разработчик. Всего я в разработке 15 лет, из них 11 в роли team lead.

Три года назад я сменил работу и занялся проектом, состояние которого можно описать кратко: ему 25 лет.

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

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

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

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

Читать далее
Total votes 41: ↑38 and ↓3+40
Comments14

Сказ о том, как я за год решил более 600 leetcode задач

Level of difficultyEasy
Reading time7 min
Views85K

Всем салют!

Хочу рассказать вам историю о том, как я начинал с уровня — «не могу решить даже 1 easy задачу из 10» до уровня — «могу решить каждую вторую medium задачу» и прошел несколько coding сессий в таких компаниях как Meta, Booking, Careem, Avito...

Читать далее
Total votes 121: ↑112 and ↓9+129
Comments407

Как получить повышение. Взгляд глазами руководителя

Level of difficultyEasy
Reading time8 min
Views67K
Новый год — это не только праздник/отдых/премии и вот это вот все, нужное подчеркнуть; это еще и старт нового промоушен-периода, когда вы можете претендовать на повышение грейда или увеличение зарплаты.

В моем отделе (B2В Product Design, хотя это сейчас неважно) 25 человек. Непосредственно я руковожу не линейными сотрудниками, а тимлидами команд, но суть в том, что по каждому из коллег в мои задачи входит распределение премий, повышение зарплат и назначение новых грейдов.

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

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


(Моя любимая команда. И тут, кстати, не все))
Читать дальше →
Total votes 130: ↑58 and ↓72-9
Comments294

Ключевой навык успешной карьеры в ИТ или 8 заблуждений на проектах

Level of difficultyEasy
Reading time7 min
Views31K

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

Этот главный навык пригодится всем в индустрии — программистам, лидам, продуктологам, тестерам, менеджменту и всем остальным.

Имя ему этому навыку — здравый смысл.

Да, вот так просто, но на самом деле все совсем не просто, и я сейчас это объясню.

Читать далее
Total votes 55: ↑51 and ↓4+53
Comments61

Мой опыт взаимодействия с SheetsAPI от Google

Reading time23 min
Views11K

Разбираем интересный кейс использования Google Sheets API и Google Drive API на Python - подписываемся на изменения в Google-таблице и ведем по ним таблицу в СУБД PostgreSQL.

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

Читать далее
Total votes 4: ↑2 and ↓2+1
Comments0

Отслеживаем состояние своего портфеля у брокера «Тинькофф Инвестиции» через Google Таблицы

Reading time4 min
Views46K
Наверняка многие ведут учет сделок и следят за состоянием своего портфеля в Google-таблицах или в Excel. Раньше мне приходилось вручную вносить информацию о каждом купленном или проданном инструменте и это отнимало значительную часть моего времени. Тогда мне захотелось автоматизировать этот процесс и я начал искать способы реализации данной идеи.

Я обнаружил статью пользователя ErhoSen. Из неё я узнал, что брокер «Тинькофф Инвестиции» предлагает своим клиентам API для взаимодействия с брокерским счетом с индивидуально-инвестиционным счетом (ИИС). С его помощью можно получить список акций, валютных пар, узнать стоимость бумаги по тикеру, просмотреть список операций по счету, получить информацию о своем портфеле и т.д. Однако, мне не хватило существующего функционала скрипта и я решил дописать его, добавив туда свои функции.

Получение токена


Работа с API происходит через токен. Процесс получения токена описан в документации на GitHub’е. Для его получения нужно:

  1. Перейти на сайт Тинькоффа и выполнить вход в свой аккаунт.
  2. Убедиться, что функция «Подтверждение сделок кодом» отключена.
  3. Пролистать вниз страницы до пункта токен для OpenAPI и нажать на «Токен для торговли»
  4. Скопировать и сохранить токен. Он отображается только один раз, но можно выпускать неограниченное количество токенов.

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

Вставьте свой токен в ячейку B1 в листе «Настройки».

Важно! После вставки токена не удаляйте и не переименовывайте лист “Настройки”. Если в ячейке B3 появится текущий курс доллара — поздравляем, все готово к работе.
Читать дальше →
Total votes 13: ↑9 and ↓4+8
Comments19

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Works in
Date of birth
Registered
Activity

Specialization

Backend Developer, Software Architect
Lead
Git
SQL
Docker
Python
Django
RabbitMQ
Kubernetes
Database
Designing application architecture
Creating project architecture