Как стать автором
Обновить
5
0
Антонина Листопадова @AntoninaList

Frontend

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

Улучшаем карму: раскручиваем гайки на Хабре

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

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

Большинство предложений разбивались о какие-то специфические особенности Хабра и ситуации, которые изначально не брались в расчёт. Иногда присутствовало здоровое зерно логики. Встречались и чрезмерно сложные фантазии. Мы читали каждый такой пост и комментарии к нему, мотали на ус, делали какие-то расчёты, но всё же не спешили вносить изменения. В функцию, которая может и не идеально, но всё же 15 лет проработала основой пользовательской регуляции.

Но сегодня мы анонсируем два изменения в механизме кармы.

Читать далее
Всего голосов 413: ↑398 и ↓15+470
Комментарии1058

Как тимлиду найти идеального кандидата, и что делать с неидеальными

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

Привет, Хабр!

На связи Андрей Рыжкин, CTO AGIMA. В нашей компании более 30 команд разработки, и у каждой свой тимлид (или несколько). Людей много, а значит, их нужно нанимать, развивать, мотивировать, а иногда – расставаться с ними. Работа с людьми на мой взгляд – это одна из важнейших и при этом самых сложных функций тимлида или технического руководителя. Эта статья – об одном из аспектов этой работы: о том, как искать и нанимать разработчиков. В основе материала мой контент для курса «Руководитель команды разработки», а также мой опыт за весь карьерный путь от разработчика до CTO.

Читать далее
Всего голосов 18: ↑17 и ↓1+22
Комментарии23

Как мы переезжали на новую версию GitLab и внедряли LFS. А потом чинили бэкапы

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

Исторически мы использовали GitLab 8, который работал на хосте Mac на VirtualBox. Потом конфигурация перестала устраивать, поэтому в локальной сети завели отдельную полноценную Ubuntu-машину. Заодно и GitLab обновили до версии 11.2.1-ee.

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

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

Что такое функциональное программирование?

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

Эта статья является переводом материала «What is functional programming?».

В этой статье Владимир Хориков попытается ответить на вопрос: что такое функциональное программирование?

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

Математические функции не являются методами в программном смысле. Хотя мы иногда используем слова «метод» и «функция» как синонимы, с точки зрения функционального программирования это разные понятия. Математическую функцию лучше всего рассматривать как канал (pipe), преобразующий любое значение, которое мы передаем, в другое значение

Читать далее
Всего голосов 24: ↑19 и ↓5+22
Комментарии108

Побочные эффекты вакцинации: что правда, а что нет

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

Иллюстрация из мультфильма «Про бегемота, который боялся прививок», Союзмультфильм, 1966. Режиссёр Л. Амальрик, Художники-постановщики: Н. Привалова и Т. Сазонова.

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

Риски вакцинации несоизмеримы с рисками смерти и тяжелых осложнений covid-2019. Официально в России на конец июля зарегистрировано 154 тыс смертей на 6,140 млн заболевших, это соответствует летальности 2,5% (цифры по избыточной смертности намного печальнее). Эпидемия не остановится пока не сформируется коллективный иммунитет, но у нас есть выбор между минимальными рисками, связанными с вакцинацией, и высокими рисками covid-2019.

Длительность иммунитета
Всего голосов 106: ↑73 и ↓33+67
Комментарии1468

Дайджест свежих материалов из мира фронтенда за последнюю неделю №479 (26 — 31 июля 2021)

Время на прочтение2 мин
Количество просмотров7.5K
Предлагаем вашему вниманию подборку с ссылками на новые материалы из области фронтенда и около него.

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

Вакансия здорового человека в небольших и средних компаниях

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

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

Крупные vs маленькие и средние

У крупных компаний отделов, проектов и планов столько, что людей не хватает постоянно. И нанимают они зачастую не в определенный отдел, а в компанию в целом. Отсюда растут ноги у абстрактных вакансий и многоэтапных собеседований. Сейчас не будем углубляться в это.

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

Широкая воронка найма

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

Такую позицию я не разделяю. И как программист (тимлид немного тоже программист), я вижу, какие вакансии мне регулярно присылают рекрутеры, и понимаю, откуда эти сотни в цифрах воронки найма.

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

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

Читать далее
Всего голосов 19: ↑17 и ↓2+22
Комментарии21

«Фух, сейчас наберу людей и выдохну», или Сказка о наивном руководителе

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

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

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

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

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

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

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

С горем пополам он закрыл одну позицию, потом вторую. Но закрыл как? Закрыл имеется в виду нашел человека и согласовал дату выхода.

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

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

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

Читать далее
Всего голосов 8: ↑2 и ↓6-3
Комментарии5

О курсах, дипломах, паттернах и других вопросах при найме разработчиков

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

Привет всем заинтересовавшимся! Меня зовут Константин, я заместитель директора по разработке в компании «ВИСТ» (входит в ГК «Цифра»). Недавно я столкнулся с несколькими противоречивыми мнениями о проведении собеседований и подборе персонала в ИТ. В этом посте я хотел бы поделиться своим подходом к этому процессу, основанным на личном опыте участия в собеседованиях по обе стороны стола и собственных шишках, оставшихся на память от граблей, на которые я успел наступить. Не берусь никого учить и утверждать, что мой взгляд единственно верный. Всегда готов выслушать противоположное мнение — пишите в комментариях. 

Читать далее
Всего голосов 5: ↑2 и ↓3+1
Комментарии15

Антикоммуникации

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

Удивительно, но некоторые разработчики до сих пор считают, что коммуникации в работе не нужны или даже вредны. «Наша задача кодить, а не болтать». Конечно это эффективнее некуда, сидеть три часа и пытаться самостоятельно разобраться, как работает соседний сервис, вместо того чтобы просто спросить у коллеги и получить ответ за 15 минут. Или додумывать за ПО спорные моменты в задаче, а потом выкинуть 90 % работы и переделать заново после первого демо. Или не услышать или не понять критику на обсуждении технического решения, а потом переделывать, костылить, велосипедить и получать критические ошибки и блокеры в середине спринта. Или начать сразу разрешать инцидент, не рассказав про него владельцу продукта и бизнесу, и получить тонны негативной обратной связи от клиентов и бизнеса. Или внезапно узнать, что можно было бы обойтись меньшей кровью, ничего не разрабатывая, а решив проблему административными методами.

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

Читать далее
Всего голосов 46: ↑37 и ↓9+38
Комментарии34

Лучшие практики написания комментариев к коду

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

Известный профессор МТИ Гарольд Абельсон сказал: «Программы нужно писать для того, чтобы их читали люди, и лишь случайно — чтобы их исполняли машины». Хотя он намеренно преуменьшил важность исполнения кода, однако подчёркивает, что у программ две важные аудитории. Компиляторы и интерпретаторы игнорируют комментарии и с одинаковой лёгкостью воспринимают все синтаксически корректные программы. У людей всё иначе. Одни программы нам воспринимать легче, чем другие, и мы ищем комментарии, которые помогут нам разобраться.

Есть множество источников информации, помогающих программистам писать более качественный код — книги, сайты, статические анализаторы. Но гораздо меньше источников посвящено повышению качества комментариев. Легко измерить их количество в программе, но качество оценить сложно, и два этих параметра не обязательно взаимосвязаны. Плохой комментарий хуже отсутствия комментария. Вот несколько правил, которые помогут вам найти золотую середину.
Читать дальше →
Всего голосов 21: ↑18 и ↓3+28
Комментарии6

Копнём поглубже: сравниваем популярные алгоритмы оптимизации с менее известными

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


Привет, Хабр! Меня зовут Мария Белялова, и я занимаюсь data science в мобильном фоторедакторе Prequel.

Эта статья открывает наш цикл материалов со сравнением алгоритмов оптимизации для обучения нейросетей. Помимо классических методов, которые давно зарекомендовали себя, мы рассмотрим и менее известные методы, и совсем новые: например, алгоритм MADGRAD, разработанный в Facebook в этом году. В первой статье мы сравним поведение алгоритмов на тестовых функциях, во второй — посмотрим, как они ведут себя на игрушечной задаче по распознаванию цифр из датасета MNIST, а в третьей — проверим эти алгоритмы в бою на реальной задаче из продакшена.
Читать дальше →
Всего голосов 15: ↑15 и ↓0+15
Комментарии10

Agile: используем человеческую мотивацию

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

Agile строится на многих идеях (Кайзден, Lean, канбан и т.д). Но одним из наиболее важных аспектов является совокупность исследований человеческой мотивации. В этой статье я рассмотрел некоторые их этих идей и подчеркнул, что очень легко применять Agile, но упускать из виду эти мотивационные факторы.

Читать далее
Всего голосов 7: ↑4 и ↓3+1
Комментарии19

Психи на работе

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

Привет, Хабр! Меня зовут Андрей Ревяшко, я СТО сети Эльдорадо. Мы регулярно встречаемся с командой и обсуждаем различные окологиковские темы. Совсем недавно мы говорили про психотипы членов команды разработки и их влияние на общий результат. Поделюсь этим материалом и с вами. Уверен, что часть из вас точно возьмет его на вооружение.

Читать далее
Всего голосов 59: ↑33 и ↓26+11
Комментарии94

Лекция: тайм-менеджмент и ловушки в управлении временем

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

Одной из интересных и полезных традиций нашей компании является проведение лекций. И они проводятся не только по темам из области технологий и программирования, но и по так называемым soft skills. Недавно наш пунктуальный и системный project менеджер Антон Белоусов делился приемами, которые помогают эффективно выстраивать день и не сбиваться с ритма. Спешим поделиться основными тезисами из его выступления.

Читать далее
Всего голосов 2: ↑1 и ↓10
Комментарии2

Памятка и туториал по HTTP-заголовкам, связанным с безопасностью веб-приложений

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


Доброго времени суток, друзья!


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


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


В практической части мы реализуем простое Express-приложение, развернем его на Heroku и оценим безопасность с помощью WebPageTest и Security Headers. Также, учитывая большую популярность сервисов для генерации статических сайтов, мы настроим и развернем приложение с аналогичным функционалом на Netlify.


Исходный код приложений находится здесь.


Демо Heroku-приложения можно посмотреть здесь, а Netlify-приложения — здесь.


Основными источниками истины при подготовке настоящей статьи для меня послужили следующие ресурсы:


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

Конфликт в команде: как сократить потери, извлечь выгоду и остаться в живых. Часть 1

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

Привет, Хабр!

Меня зовут Татьяна, я Team Coach R&D компании Plesk, и большую часть конфликтных ситуаций в командах мы проживаем и решаем с тимлидами вместе. 

Периодически конфликты возникают даже в самых сплочённых командах. И если они не решаются естественно и конструктивно, то создают издержки, снижают продуктивность всей команды, демотивируют и разрушают доверие. 

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

На TeamLead Conf 2021 я поделилась преградами, которые мы преодолели, сделанными ошибками, выработанным подходом и рецептами, которые сработали. Неожиданно доклад попал в ТОП-3. Можно совместить чтение и прослушивание видео с выступления.

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

Читать далее
Всего голосов 26: ↑23 и ↓3+32
Комментарии27

CSS: системные цвета, шрифты и кое-что ещё

Время на прочтение4 мин
Количество просмотров9.3K
Думаю, все мы, в целом, знакомы с таким способом описания CSS-цветов:

color: OldLace;
background: rebeccapurple;

Полагаю, их обычно называют «именованными цветами».



Но конкретные цвета, одни и те же в любой ситуации, к которым можно обращаться по именам, это — далеко не единственный вид особых CSS-цветов. Есть ещё одна разновидность подобных цветов. Их имена связаны с цветами уже не так однозначно. Речь идёт о так называемых «системных цветах». Джим Нильсен опубликовал потрясающий материал на эту тему. Вот, что он пишет:

Мне нужна возможность выразить следующее: «Эй, браузер! Используй для выпадающего списка тот же тёмный цвет (или тот же светлый цвет, если страница оформлена с помощью светлой темы), который ты применяешь для фонового цвета документа». Мне нужен доступ к чему-то наподобие переменной, которая указывает именно на тот «тёмный», который использует браузер.
Всего голосов 26: ↑26 и ↓0+26
Комментарии4

Что такое качество кода и зачем его измерять

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

Измеримость и определение качества кода это вечная тема в мире программирования. Думаю все специалисты которые уже имеют опыт с большими проектами с многолетней историей не сомневаются в необходимости поддерживать код в качественном состоянии. Но не всегда достаточно времени для того чтобы выяснить какие характеристики важны именно в этом проекте. В этой статье не будет описано как нужно писать и оформлять код и нужны ли пробелы вокруг скобок. Сегодня я постараюсь выделить самые важные аспекты которым стоит уделять внимание и на что они могут повлиять, а какие допустимые пределы и как за ними следить решать Вам.
Читать дальше →
Всего голосов 23: ↑17 и ↓6+11
Комментарии6

Информация

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