Как стать автором
Обновить
33
0
Андрей @CAJAX

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

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

Создаем свою инспекцию для IDEA

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

В статье показано, как быстро можно сделать свою полноценную инспекцию для IDEA для языка Java. В инспекции будем проверять, что переопределены методы equals, hashСode для классов, используемых в качестве ключа в HashMap. Писать будем на Kotlin.

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

Оцениваем работодателя на собеседовании. Как понять, что за компания перед тобой?

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

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

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

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

Как использовать GraphHopper для построения пешеходных маршрутов по собственным правилам

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

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

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

Далее речь пойдёт том, что делать в оставшемся 1% ситуаций, точнее о моём опыте использования GraphHopper, когда существующее решение не подходило. Требовалось учитывать дополнительные ограничения: строить пешеходные маршруты для людей с ограниченными возможностями. Не будет ни каких значимых особенностей реализации именно этой задачи. Максимально обобщённо.

Будет описано, как создать на основе библиотеки GraphHopper свой веб–сервис, который, по координатам начала и окончания пути, вернёт массив координат маршрута.

Пример приложения, со всеми необходимыми для запуска заглушками, можно найти в моём репозитории на GitHub.

Читать далее
Всего голосов 12: ↑11 и ↓1+17
Комментарии16

Почему большинство программистов оказываются посредственными техлидами

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


Познакомьтесь с Бобом


Боб — чрезвычайно амбициозный и активный разработчик.

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

Боб — квинтэссенция программиста, которой хотят стать многие из нас. Кто ещё заслуживает повышения, если не он? Поэтому Боба повышают до технического руководителя — должности, в которой, по мнению его начальства, он окажется ещё более ценным. И оно имеет все основания так думать. Но это ещё и значит, что ему придётся писать меньше кода и больше управлять ходом движения проекта в целом.
Читать дальше →
Всего голосов 34: ↑26 и ↓8+24
Комментарии22

Максимально оптимизированная веб-загрузка изображений в 2021 году

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

В этой статье я расскажу про 8 методик оптимизации загрузки изображений, которые уменьшают необходимую пропускную способность сети и нагрузку на процессор при выводе на экран. Приведу примеры аннотированного HTML, чтобы вам было легче воспроизвести. Какие-то методики уже давно известны, а какие-то появились относительно недавно. В идеале, ваш любимый механизм публикации веб-документов (например, CMS, генератор статичных сайтов или фреймворк для веб-приложений) должен всё это реализовывать из коробки.
Читать дальше →
Всего голосов 29: ↑29 и ↓0+29
Комментарии71

«Клинит» кисть и стреляет в руку у программистов — почему? Что с этим делать?

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

Кратко и по делу разберем основные принципы, чтобы помочь себе. А, исходя из них, вместе изучим реальную пользу методик и способов облегчения ситуации.

Как мы изучали вопрос и что делали?
Всего голосов 27: ↑23 и ↓4+28
Комментарии23

Как PHP/Python разработчиков в Lamoda учат писать на Go

Время на прочтение4 мин
Количество просмотров13K
Привет! Меня зовут Михаил Мохначев, я тимлид команды Core в Lamoda.

Наша команда занимается обеспечением работы сайта и системы приема заказов, что бы ни случилось. Мы очень активно используем язык Go — 95% трафика идет через сервисы, которые написаны на нем. Но также есть сервисы на РНР и Python.

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

Найти кандидата, чьи навыки идеально подходили бы под наш запрос, очень сложно. Go-разработчиков в принципе мало на рынке, а Go-разработчиков, хорошо знающих к тому же PHP/Python, еще меньше. Поэтому мы решили подойти к этой задаче по-другому: мы нанимаем РНР или Python-разработчиков, и сами учим их писать сервисы на Go по рецепту Lamoda.

image
Читать дальше →
Всего голосов 30: ↑22 и ↓8+20
Комментарии26

Рок-звёзды без премий: как Netflix хакнул систему мотивации сотрудников

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

В 1998 г. мало кому известный стартап под названием Netflix, только что запустивший собственный сайт, платил своим сотрудникам значительно меньше рынка: в фирму семейного типа шли не за большими и быстрыми деньгами.

Сегодня всё иначе. Netflix — крупнейшая международная IT-компания и крайне щедрый работодатель с необычной, даже по меркам Кремниевой долины, системой оплаты труда. В 2018 году стриминговый сервис стал самым популярным местом работы среди соискателей, опередив Google и Apple.

Мотивационные схемы — часть и продолжение корпоративной культуры Netflix. За прошедшие десятилетия она серьёзно эволюционировала и к 2010-ым окончательно выкристаллизовалась в стройную систему. Сначала — в виде опубликованного в Сети “Корпоративного справочника Netflix” из 127 слайдов, затем — как манифест Netflix Culture, а недавно — как книга с громким названием “Никаких правил” (No Rules Rules).

В этой статье мы рассказали самую интересную часть из этой книги: как именно устроена система мотивации в Netflix и что нужно делать компании, чтобы рок-звезды в ней выкладывались по полной?

И почему отказ от премий сотрудникам стал фактором роста компании?
Читать дальше →
Всего голосов 111: ↑104 и ↓7+129
Комментарии142

Как root-права и альтернативные прошивки делают ваш android смартфон уязвимым

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

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

Часто для этого рекомендуется получение прав суперпользователя в системе (root-права), удаление системных приложений от Google и от производителя устройства, или даже полная замена стандартной ОС на альтернативные сборки, чаще всего LineageOS (бывший CyanogenMod). При этом первым шагом в этом процессе всегда будет так называемая "разблокировка загрузчика". Во время её выполнения устройство несколько раз покажет нам страшные предупреждения о том, что теперь оно станет более уязвимо для злоумышленников, но мы смело нажимаем "подтвердить" и шьём root или самую свежую сборку кастомной прошивки, не задумываясь о том какие проблемы создаёт нам незаблокированный загрузчик. 

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

Интересующихся приглашаю под кат.

Читать далее
Всего голосов 98: ↑94 и ↓4+119
Комментарии210

Как написать «нанимающее» резюме для разработчика

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

Привратники

Ваше резюме будут читать 3 типа людей:

HR или рекрутер

Первый человек, который видит ваше резюме, и скорее всего не технарь. У него есть только один вопрос:

Надо ли показать резюме этого человека техническому специалисту?

Как он это определяет? Для этого ему надо понять, есть ли у этого кандидата нужные навыки. Но HR не является программистом, поэтому ваш разговор может закончиться так:

Простите, но вы нам не подходите. Нам нужен человек с опытом JavaScript, а я вижу что вы программировали только на Angular JS и jQuery.

Читать далее
Всего голосов 14: ↑11 и ↓3+10
Комментарии11

Zynq. Передача данных между процессорным модулем и программируемой логикой

Время на прочтение19 мин
Количество просмотров20K
Как и обещал в предыдущей статье (Что такое Zynq? Краткий обзор), поговорим о передаче данных между процессорным модулем и программируемой логикой. В предыдущей статье упоминалось четыре способа передачи данных, в статье будут рассмотрены два способа, которые нашли большее применение. Подробности под катом. Осторожно, много картинок!
Читать дальше →
Всего голосов 15: ↑14 и ↓1+21
Комментарии13

Уязвимости в реализации межпроцессного взаимодействия в Android-приложениях

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

Последние 6 лет я работаю экспертом по информационной безопасности в Одноклассниках и отвечаю за безопасность приложений.


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



Но сначала пара слов о том, как появился этот доклад.


Наверное, вы уже заметили, что на каждом Heisenbug есть как минимум один доклад про безопасность, например про XSS или поиск уязвимостей в веб-приложениях. Тема мобильной безопасности осталась не охвачена, хотя мы живем в 2020 году, и аудитория мобильных приложений уже давно превысила аудиторию веба. Мне хотелось выбрать тему из мира мобильной безопасности — достаточно конкретную, чтобы выдержать формат технического доклада, но при этом достаточно распространенную.

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

Фильтр Калмана — это легко

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


Много людей, в первый раз сталкивающихся в работе с датчиками, склонны считать, что получаемые показания — это точные значения. Некоторые вспоминают, что в показаниях всегда есть погрешности и ошибки. Чтобы ошибки в измерениях не приводили к ошибкам в функционировании системы в целом, данные датчиков необходимо обрабатывать. На ум сразу приходит словосочетание “фильтр Калмана”. Но слава этого “страшного” алгоритма, малопонятные формулы и разнообразие используемых обозначений отпугивают разработчиков. Постараемся разобраться с ним на практическом примере.
Читать дальше →
Всего голосов 50: ↑48 и ↓2+69
Комментарии34

Охотничьи зоонозы: когда утка опасней ружья

Время на прочтение19 мин
Количество просмотров35K
Представьте такую картину. Вы сезелень, гордый и своенравный, со своими планами на жизнь, женой-уткой, парой яичек там, парой сям (о которых жена не знает), и двумя своими под хвостом. Ваша жизнь это полеты, небо, пруды, бабульки, батоны и климат. Летом вы в Москве весело крякаете среди засранных лужиц, любуясь бордюрами, подбираете недоеденные жвачки, жрете на спор хот-доги в парках, охотитесь за рожками из-под мороженного и путаетесь в использованных тканевых масках. Осенью вы летите в Турцию через страны Восточной Европы. В Стамбуле гораздо теплее, чем в Москве, там можно нарезать круги вокруг донерных, летать среди окрестных холмов, нюхая запахи кебабов. У вас от такой жизни нет-нет, да и понос, паразиты, клещи, иногда вы кашляете птичьим гриппом на надоедливых туристов с детьми. Ну а что поделать — глобализация. Короче, вы виду не подаете, но в душе сами знаете, что вы птица уже давно помоечная, а никакая не гордая перелетная гусиная. И ладно вы тут, в центральной части России, а не за Уралом. Те вообще в Китай летают.

image
Читать дальше →
Всего голосов 94: ↑88 и ↓6+119
Комментарии62

10 современных раскладок в одну строку CSS-кода

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

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

Читать далее
Всего голосов 34: ↑33 и ↓1+39
Комментарии12

Программирование устройств на основе модуля ESP32

Время на прочтение26 мин
Количество просмотров214K
Микроконтроллер — это интегральная схема, способная выполнять программы. Сегодня на рынке представлено множество таких моделей от самых разных производителей. Цены на эти устройства продолжают падать. Однокристальные чипы находят широкое применение в самых разнообразных сферах: от измерительных приборов до изделий развлечений и всевозможной домашней техники. В отличие от персональных компьютеров микроконтроллер сочетает в одном кристалле функции процессора и периферийных устройств, содержит оперативную память и постоянное запоминающее устройство в для хранения кода и данных, однако обладает значительно мешьшими вычислительными ресурсами. ESP32 — это микроконтроллер, разработанный компанией Espressif Systems. ESP32 представляет собой систему на кристалле с интегрированным Wi-Fi и Bluetooth контроллерами. В серии ESP32 используется ядро Tensilica Xtensa LX6. Платы с ESP32 обладают хорошей вычислительной способностью, развитой периферией и при этом весьма популярны ввиду низкой цены в диапазоне 7$ – 14$: Aliexpress, Amazon.

image
Читать дальше →
Всего голосов 25: ↑23 и ↓2+28
Комментарии5

Пишем движок полнотекстового поиска на Go

Время на прочтение8 мин
Количество просмотров19K
Полнотекстовый поиск — один из тех инструментов, которые мы используем практически каждый день, когда ищем какую-то информацию в интернете. Full-Text Search (FTS) — это метод поиска текста в коллекции документов. Документ может ссылаться на веб-страницу, газетную статью, сообщение электронной почты или любой структурированный текст.

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

Примечание: самым известным движком полнотекстового поиска является Lucene (а также Elasticsearch и Solr, построенные на его основе).
Читать дальше →
Всего голосов 36: ↑35 и ↓1+45
Комментарии23

Вставка реальных объектов в Unity с помощью Meshroom

Время на прочтение10 мин
Количество просмотров14K
image

Из этой статьи вы узнаете, как использовать фотограмметрию для фотосканирования и вставки объектов реального мира в проекты Unity при помощи Meshroom.

В контексте 3d-моделей фотограмметрия — это процесс создания 3D-моделей из отсканированных объектов.

Вам нужны реалистичные 3D-модели для идеи игры, но у вас ограничен бюджет? Хотите создать сверхреалистичное игровое окружение? Если да, то продолжайте чтение!

Используя фотограмметрию, мы берём входящие данные, то есть фотографии, и пропускаем их через конвейер или набор обрабатывающих их методов. Данные из этих процессов или выходной информации участвуют в создании готовой 3D-модели.
Читать дальше →
Всего голосов 8: ↑8 и ↓0+8
Комментарии2

Кто такие шизоиды, где они обитают, и почему вам может быть полезно о них узнать

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

Основные стереотипы о шизоидах в одной картинке

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

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

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

Большая часть литературы, посвящённой шизоидам, имеет клиническую направленность и описывает достаточно тяжёлые случаи шизоидизации, а в рамках этого текста я хотел бы рассказать о здоровых шизоидах, коих среди нас присутствует достаточно для того, чтобы их особенности имели значение в контексте трудовых отношений, управления и маркетинга.
Читать дальше →
Всего голосов 126: ↑119 и ↓7+156
Комментарии351

Интернет превращается в телевидение (не весь)

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


С каждым днём в интернете нам всё больше «рекомендуют» и всё меньше дают выбирать самим. Создаётся всё больше вещей которые облегчают просмотр контента и вместе с тем дают меньше свободы выбора.
Читать дальше →
Всего голосов 27: ↑26 и ↓1+38
Комментарии38

Информация

В рейтинге
5 423-й
Откуда
Paris, Paris, Франция
Дата рождения
Зарегистрирован
Активность