Как стать автором
Обновить
18
0
Сергей Сусиков @Angerslave

Пользователь

Отправить сообщение

Как проходят архитектурные секции собеседования в Яндексе: практика дизайна распределённых систем

Время на прочтение 25 мин
Количество просмотров 122K
Привет, меня зовут Костя Кардаманов, я работаю в отделе технологий разработки Яндекса. Обычно такой же фразой я приветствую и кандидатов на собеседовании. А сегодня я хотел бы рассказать вам, как и зачем мы проводим интервью по дизайну систем с бэкенд-разработчиками. Сразу скажу: для фронтендеров, мобильных разработчиков и ML-инженеров подобный тип собеседований применим слабо, так что эти специальности мы здесь обсуждать не будем.

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

Что такое дизайн информационных систем


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

Опытный читатель может сказать — в мире полно платных и бесплатных решений, из которых я могу собрать систему как из деталей конструктора, зачем мне понимать устройство этих деталей?
Читать дальше →
Всего голосов 94: ↑92 и ↓2 +90
Комментарии 37

Выделяем ДНК банана в домашних условиях

Время на прочтение 5 мин
Количество просмотров 64K

В анонсах мероприятий, которые проходят в Leader-ID, можно встретить неожиданные вещи. К примеру — мастер-класс по выделению молекул ДНК, для которого достаточно «оборудования» и «реагентов», присутствующих на любой кухне. Этот эксперимент можно провести вместе с детьми — погрузить их, так сказать, в мир биологии и химии.

Читать далее
Всего голосов 128: ↑128 и ↓0 +128
Комментарии 78

История GoldenEye 007

Время на прочтение 8 мин
Количество просмотров 6.2K

Геймеры смирились с этим ещё в девяностые. Платформеры, шутеры от первого лица, и любой из жанров игр, основанных на фильме — будет ужасным. Но вышла GoldenEye 007 и всё изменила.


image


Игру выпустили через два года после проката фильма в кинотеатрах, всего за несколько месяцев до выхода следующей части бондианы — «Завтра не умрёт никогда». И даже команда, ответственная за проект, особого успеха не ожидала. Затем картридж разошёлся ошеломляющим тиражом в 8 миллионов копий, попав в тройку самых продаваемых игр на 64-битной консоли Nintendo. В дальнейшем, GoldenEye 007 неизменно присутствовала в списках «Лучших игр».


Примечательно, что для большинства разработчиков, GoldenEye стал первым серьёзным проектом. Тим и Крис Стамперы, руководители Rare, постоянно напоминали команде, что «это не университетский проект» и затягивать с разработкой не стоит (на игру ушло более трёх лет). Однако, поскольку большая часть коллектива были новичками в этом бизнесе, означало, что они не будут ограничены представлениями о том, что возможно, а что нет. Придумав хорошую идею — они пытаются её реализовать.

Читать дальше →
Всего голосов 22: ↑22 и ↓0 +22
Комментарии 7

Делаем из Power Mac G4 универсальный и дешевый ретро-компьютер

Время на прочтение 7 мин
Количество просмотров 22K
Ретрогейминг на ПК. С чем в первую очередь это ассоциируется? Конечно же с этими огромными кинескопными мониторами и неизменно стоящими рядом системниками на которых в подавляющем большинстве стояла какая-нибудь Windows 98. Но существовал особый пласт компьютеров от фирмы Apple, которые в странах бывшего СНГ видели единицы, а уж про игры на них вообще не стоит и заикаться. Так что, давайте разбираться, возможен ли ретрогейминг на старом компьютере от Apple.
Сразу хочу предупредить, что это своего рода эксперимент, а не руководство к эксплуатации. Да, библиотека игр на Mac поскуднее будет, но она немальнькая. И в Mac Os есть свои приколы и баги, но не будем об этом.
Всего голосов 47: ↑46 и ↓1 +45
Комментарии 20

Кастомные декораторы для NestJS: от простого к сложному

Время на прочтение 7 мин
Количество просмотров 19K

image


Введение


NestJS — стремительно набирающий популярность фрeймворк, построенный на идеях IoC/DI, модульного дизайна и декораторов. Благодаря последним, Nest имеет лаконичный и выразительный синтаксис, что повышает удобство разработки.


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


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

Читать дальше →
Всего голосов 29: ↑29 и ↓0 +29
Комментарии 4

Собираем недорогой 9.7" E-Ink дисплей для отображения чего угодно

Время на прочтение 2 мин
Количество просмотров 71K
Всем привет. Давно хотел собрать большой E-Ink дисплей, который можно поставить на стол и отображать на нем полезную информацию (погоду, календарь и т.д.) В этой статье расскажу, как можно собрать такое устройство на базе ESP32 и дисплея от Kindle DX значительно дешевле, чем Waveshare.


Читать дальше →
Всего голосов 135: ↑132 и ↓3 +129
Комментарии 202

Хакинтош на Powermac G5 или как собрать себе рабочую станцию

Время на прочтение 11 мин
Количество просмотров 28K

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



Стоит сказать, что тогда я уже как два года баловался своими сборками хакинтоша, и только пару лет назад сказал себе что с этим все, завязываю. Да и оригинальное устройство от Apple у меня уже было. О боги, я прошел наверно все круги ада, чтобы завести Mac OS X на не нативном железе, и даже оставлял руководства на профильных сайтах. Но одно достижение мной покорено не было. Собрать все в корпусе G5...

Читать дальше →
Всего голосов 30: ↑28 и ↓2 +26
Комментарии 35

Вычисляем по IP: как бороться со спамом в социальной сети

Время на прочтение 19 мин
Количество просмотров 40K
Спам в социальных сетях и мессенджерах — это боль. Боль и для честных пользователей, и для разработчиков. Как с ней борются в Badoo, рассказал Михаил Овчинников на Highload++, далее текстовая версия этого доклада.


О спикере: Михаил Овчинников работает в Badoo и последние пять лет занимается антиспамом.

В Badoo зарегистрировано 390 миллионов пользователей (данные на октябрь 2017). Если сравнивать размер аудитории сервиса с населением России, то можно сказать, что в нашей стране по статистике каждых 100 млн человек охраняет 500 тысяч полицейских, а в Badoo каждые 100 млн пользователей защищает от спама всего один сотрудник Антиспама. Но даже такое небольшое количество программистов способно защитить пользователей от разных неприятностей в интернете.
Всего голосов 76: ↑72 и ↓4 +68
Комментарии 50

Микросервисы: размер имеет значение, даже если у вас Kubernetes

Время на прочтение 7 мин
Количество просмотров 30K
19 сентября в Москве состоялся первый тематический митап HUG (Highload++ User Group), который был посвящён микросервисам. На нём прозвучал доклад «Эксплуатация микросервисов: размер имеет значение, даже если у вас Kubernetes», в котором мы поделились обширным опытом компании «Флант» в области эксплуатации проектов с микросервисной архитектурой. В первую очередь он будет полезен всем разработчикам, задумывающимся о применении этого подхода в своём настоящем или будущем проекте.



Представляем видео с докладом (50 минут, гораздо информативнее статьи), а также основную выжимку из него в текстовом виде.

NB: Видео и презентация доступны также в конце этой публикации.
Всего голосов 40: ↑39 и ↓1 +38
Комментарии 23

Топливо для ИИ: подборка открытых датасетов для машинного обучения

Время на прочтение 6 мин
Количество просмотров 80K


Связанные проекты сообщества Open Data (проект Linked Open Data Cloud). Многие датасеты на этой диаграмме могут включать в себя данные, защищенные авторским правом, и они не упоминаются в данной статье


Если вы прямо сейчас не делаете свой ИИ, то другие будут делать его вместо вас для себя. Ничто более не мешает вам создать систему на основе машинного обучения. Есть открытая библиотека глубинного обучения TensorFlow, большое количество алгоритмов для обучения в библиотеке Torch, фреймворк для реализации распределенной обработки неструктурированных и слабоструктурированных данных Spark и множество других инструментов, облегчающих работу.


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


Мы разобрались в этом вопросе и собрали данные по датасетам, удовлетворяющим критериям открытости, востребованности, скорости работы и близости к реальным задачам.

Читать дальше →
Всего голосов 65: ↑65 и ↓0 +65
Комментарии 10

О структуре и масштабировании сложных приложений для Node.JS

Время на прочтение 7 мин
Количество просмотров 20K
Структура программных проектов – это важно. От решений, принятых в самом начале работы, зависит то, какой будет эта работа в течение всего жизненного цикла продукта.



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

Вот основные темы, которые мы здесь раскроем:

  • Разработка хорошо масштабируемых приложений, которые легко поддерживать.
  • Качественное разделение конфигурационных данных и основного кода приложения.
  • Использование в Node.js-приложениях процессов различных типов.

Здесь мы, иллюстрируя различные концепции, будем пользоваться приложением-примером, полный код которого можно найти на GitHub.
Читать дальше →
Всего голосов 28: ↑22 и ↓6 +16
Комментарии 5

Коллекции иконок? Легко! Тысячи иконок в сетах.

Время на прочтение 2 мин
Количество просмотров 39K
В продолжении поста "Ресурсы по поиску качественных иконок" представляю свою коллекцию сайтов, на которых вы найдёте очень(!) много качественных наборов иконок. Все сайты проверены руками, следовательно открываются и скачиваются легко.
Читать дальше →
Всего голосов 159: ↑135.5 и ↓23.5 +112
Комментарии 36

11 порталов для выбора Иконок

Время на прочтение 1 мин
Количество просмотров 5.4K
Коллекция ссылок больших порталов и поисковиков, для выбора всевозможных Иконок(Icons) разного типа. Практически на всех есть широкий выбор размеров.

В этой коллекции я уверен что вы найдете что вам нужно ;)

Ну интересное так точно!!!

1. http://www.iconspedia.com
Читать дальше →
Всего голосов 100: ↑99 и ↓1 +98
Комментарии 32

Пару слов о программировании и непрограммистах

Время на прочтение 4 мин
Количество просмотров 2.8K
А также о тех, кто хочет научиться этому искусству. Очень субьективно.

Я горжусь своей профессией, но очень не люблю говорить людям мало сведущим в программировании и в ИТ в частности, кем я работаю.
Люди сходятся во мнении, что программист — это тот, кто связан с компьютерами. На этом сходства заканчиваются. Один думает, что я печатаю бумажки в Ворде, другой то, что ремонтирую компьютеры и прочую периферию. Я это не придумываю. Вот случай произошедший как-то в нашем замечательном военкомате. Узнав род деятельности, прапорщик обрадовался:
— О, а у нас принтер не печатает!
— Какой принтер?
— Ну такой, с лентой.
Читать дальше →
Всего голосов 163: ↑159 и ↓4 +155
Комментарии 200

Азбука хорошего разработчика. Книжки для чтения

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

Паттерны проектирования

Википедия — там, в принципе, на хорошем уровне все описано и приведены примеры на разных языках.
Базовая книга – классика:
«Приемы объектно-ориентированного проектирования. Паттерны проектирования» — читал книгу давно, и раза 3. Вам того же советую. Даст возможность понимать большое количество терминов, произносимых другими разработчиками.

Рефакторинг

«Рефакторинг. Улучшение существующего кода» — вероятно, эта книга сделала революцию в написании кода. Читается быстро и интересно. Методы рефакторинга должны отложиться в голове до конца жизни. Ваш код отныне будет лучше. В книге есть упоминание про юнит тестинг.
Читать дальше →
Всего голосов 73: ↑72 и ↓1 +71
Комментарии 66

Современный бэк-офис IT-компании

Время на прочтение 11 мин
Количество просмотров 53K
В одной из дискуссий недавно, я перечислил основные системы, делающие работу ИТ-компании цивилизованной. Список получился весьма обширный, и я решил оформить его как самостоятельную статью.

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

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

Краткий спойлер содержимого: VCS, репозиторий исходного кода, code-review, build-сервера, CI, таск-трекер, вики, корпоративный блог, функциональное тестирование, репозиторий для пакетов, система управления конфигурацией, бэкапы, почта/jabber.

Картинка с фрагментом обсуждаемой инфраструктуры:


Читать дальше →
Всего голосов 56: ↑50 и ↓6 +44
Комментарии 29

Геймификация студии с помощью подручных средств

Время на прочтение 7 мин
Количество просмотров 30K
Сам термин «геймификация», вы, наверняка, слышали — он в последнее время снова стал модным. Означает примерно следующее: перенос игровых механик на неигровые процессы. Отчего последние (по задумке) становятся увлекательнее и охотнее воспринимаются теми, кто в них вовлечен.

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

image
Читать дальше →
Всего голосов 76: ↑67 и ↓9 +58
Комментарии 13

Договор на разработку сайта: так, а не иначе

Время на прочтение 29 мин
Количество просмотров 152K
Присылает нам заказчик (Газпром) свою версию договора.
Понимаем — нашу они не подпишут,
вносим реквизиты и отправляем обратно.
Пропадают на две недели… возвращают протокол разногласий к договору.


Последняя неделя выдалась жаркой на переговоры с юристами заказчиков. Проекты я не веду, но так уж получилось, что все договора проходят через меня. Соответственно, я участвую в их согласовании.
Читать дальше →
Всего голосов 135: ↑129 и ↓6 +123
Комментарии 78

Вся правда о модели Пропасти: Ранние рынки и как быть, если вы совершили ошибку

Время на прочтение 9 мин
Количество просмотров 30K

Модель пропасти


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

Сейчас, куда не посмотри, все стали учёные: литературой запаслись, интернеты читают. Кого не спроси, и о кривой принятия технологии знают, и вообще всё им понятно: «… да-да, знаем! Есть Новаторы, Ранние последователи, есть рынок ранний, а есть поздний, отщепенцы и увальни — ну куда без них? Да-да, между рынками, ранним и основным, есть пропасть, которую нужно перепрыгнуть!» Знают. Прыгают. Только, бывает, пикируют. А всё почему? Потому что аннотацию прочли, а содержимое не осилили. Поэтому я написал эту заметку. Речь пойдёт о том, что важные вещи, которые нужно знать о модели Пропасти, не всегда лежат на поверхности.
image

Сразу оговорюсь — модель работает только при инновациях, прерывающих привычный образ жизни. Если это улучшения линейные, и никак не меняют ваш привычный образ жизни — модель гарантированно не сработает.
Читать дальше →
Всего голосов 45: ↑44 и ↓1 +43
Комментарии 5

N+1 полезных книг о бизнесе

Время на прочтение 9 мин
Количество просмотров 229K
В топике блиц-обзор книг, которые будут полезны IT-специалистам, бизнесменам и тем, кто собирается открыть своё дело. Рядом с каждой — короткие пояснения, почему и зачем стоит прочесть.

Отобраны лучшие 10% из примерно 200 прочитанных книг о маркетинге, продажах и всем связанном — самые «пробивные» вещи, которые помогут вам не тратить время на всякий шлак, а сразу начать с главного.

В конце — суммация книг, которые хабровчане рекомендуют в комментариях помимо основного списка.

Читать дальше →
Всего голосов 148: ↑137 и ↓11 +126
Комментарии 131

Информация

В рейтинге
Не участвует
Откуда
Омская обл., Россия
Дата рождения
Зарегистрирован
Активность