Как стать автором
Обновить
1
0
sraider @sraider

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

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

Иллюзия чистоты: влияет ли минерализация воды на её качество, и чем нам поможет TDS-метр?

Время на прочтение9 мин
Количество просмотров100K
В 90-е было модно закупаться измерителями уровня нитратов. Пищевые красители, консерванты — ерунда, а вот арбуз на нитраты проверить необходимо. Увы, эта история оказалась профанацией. Зато теперь из каждого youtube-утюга рассказывают про измерители качества воды — TDS-метры. На волне общего детокса и стремления к ЗОЖ многим хочется приобрести волшебную палочку, которая обеспечит здоровый образ жизни и вечную молодость, указав, что пить, а что не пить.

Соблазн определить качество воды «здесь и сейчас» симпатичным гаджетом, напоминающим электронный градусник, очень высок. Хайп вокруг TDS-метров продолжает множиться, ведь они обещают заменить лабораторию, посчитать растворенныe примеси и решить, «пить или не пить?».

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



Что не так в истории с TDS-метрами и стандартами питьевой воды, можно ли доверять TDS-метру и пить «одобренную» им жидкость — ниже разбираемся подробно и с использованием устрашающих терминов.
Всего голосов 25: ↑24 и ↓1+23
Комментарии70

Делаем код-ревью правильно

Уровень сложностиСредний
Время на прочтение12 мин
Количество просмотров21K

В начале своей карьеры я как-то работал над одним заказом, создавая платформу сентимент-анализа для социальных сетей. В то время Twitter ещё был Twitter’ом. Наша команда состояла из семи человек, среди которых я был джуниором. Мы были молоды и полны энтузиазма. Наш девиз можно было описать как: «Мы гибкие, быстрые и всё ломаем!». Да, мы действительно гордились своей скоростью. Код-ревью? Я вас умоляю. Мы считали эту практику бюрократическим пережитком корпоративного мира.

И что вы думаете? Через несколько месяцев наша база кода стала подобна минному полю. Причём баги нас волновали меньше всего, хотя их была уйма. Реальная проблема заключалась в том, что никто не мог понять код, написанный другими. У нас во многих местах дублировалась логика, и в модулях использовались разные стили кода. Всё было очень печально.

Тогда до нас дошло! Нужно взять всё под контроль. Код-ревью реально помогают сохранять код читаемым, обслуживаемым и масштабируемым.

Итак, в двух словах: если вы не проводите код-ревью, или делаете их «для галочки», то обрекаете себя на боль, пусть не сразу, но в конечном итоге однозначно. Это можно сравнить с возведением дома на фундаменте из песка. Какое-то время он, может, и простоит, но явно недолго. А в мире стартапов второго шанса у вас может уже не быть.
Читать дальше →
Всего голосов 74: ↑72 и ↓2+70
Комментарии26

Как организовать систему оплаты в компаниях, занимающихся разработкой

Уровень сложностиСредний
Время на прочтение16 мин
Количество просмотров6.4K

Любая программная компания рано или поздно сталкивается с проблемой должностей. Некоторые организации довольствуются «плоской» системой, но в отсутствие системы должностей возникают теневые иерархии, что на самом деле хуже. Должности дают чёткую демаркацию ожиданий от конкретного сотрудника. Например, гораздо проще возложить на ведущего разработчика ответственность за техническое руководство, если эта роль чётко определена. Без определений должностей наверх будут подниматься самые громкие, а тихие и вдумчивые останутся незамеченными.

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

Не платите за то, сколько людей под руководством или сколько строк кода они написали. Платите им за генерируемые результаты.

Эта философия сильна и наделяет свободой. Неважно, если вы сотрудник, вносящий индивидуальный вклад (individual contributor, IC), занимаетесь техническим руководством или управлением командой. Важно то, насколько ваш вклад влияет на прибыль бизнеса.

В этом посте предлагается многоуровневая система, которую можно применять к IC, техническим руководителям и руководителям команд.
Читать дальше →
Всего голосов 50: ↑46 и ↓4+42
Комментарии7

Полезные материалы для С++ разработчика: о новом стандарте, висячих ссылках и технических собеседованиях

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров9.5K

Привет, Хабр! Принесли материалы с недавнего митапа по С++ — сохраняйте в закладки, чтобы посмотреть на новогодних каникулах. Что интересного ждет в подборке? 

Дискуссия о технических собеседованиях, из которой вы узнаете, какие красные флаги кандидатов отмечает Константин Владимиров, как Елена Степанова относится к алгоритмическим задачам и почему Илья Шишкову важны софткиллы. 

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

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

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

Какие вопросы я задаю на собеседовании QA Junior+

Уровень сложностиПростой
Время на прочтение15 мин
Количество просмотров40K

Привет Хабр! Меня зовут Иван, сегодня поговорим о вопросах на собеседованиях Джуну+ (от 6 месяцев работы) и узнаем как ответить на них не как ChatGPT. Я как инженер по ручному и автоматизированному тестированию провожу собеседования на роль Junior+ QA (с дальнейшим ростом в автоматизаторы). Делюсь своим списком вопросов и ответов, которые я ожидаю услышать.

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

База для Junior QA

1. Что такое тестирование?

Сравнение ожидаемого результата с фактическим результатом ПО. Тестирование это не поиск багов!

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

Подготовиться к собесу
Всего голосов 19: ↑17 и ↓2+15
Комментарии16

Свой Mail Server на Docker за 10 минут

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

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

Предпосылки, что и зачем описал тут: статья

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

Блокировка Trello и Jira? Ничего страшного, поднимаем свой сервер

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров24K

Redmine и Plane — опенсорсные альтернативы Jira на своём хостинге

Компания Atlassian в рассылке для пользователей предупредила, что все аккаунты в России и Беларуси будут принудительно отключены. Клиентам дают 30 дней на перенос своих данных.

Из опыта прошлых блокировок других сервисов, самый надёжный вариант в таком случае — поднять собственный сервер с аналогичной системой (но опенсорсной и бесплатной), чтобы ни от кого не зависеть.
Читать дальше →
Всего голосов 43: ↑43 и ↓0+43
Комментарии16

Упрощаем себе работу: плагины VS Code, актуальные в 2023 году

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

VS Code сам по себе не обладает большим количеством функций и возможностей. Но это можно легко исправить при помощи плагинов, которые доступны в магазине расширений VS Code. Под катом — несколько плагинов, которые могут пригодиться разработчикам. Здесь есть многое — от управления проектами до «нескучных обоев», т. е. изменений в дизайне. Что же, поехали!

Читать далее
Всего голосов 45: ↑34 и ↓11+23
Комментарии24

Из чего складывается стоимость разработки проекта в веб-студии и как на ней сэкономить?

Уровень сложностиПростой
Время на прочтение10 мин
Количество просмотров6.2K

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

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

Читать далее
Всего голосов 13: ↑9 и ↓4+5
Комментарии23

Словарик айтишника или Что? Где? Куда? Часть 1

Время на прочтение8 мин
Количество просмотров208K
«Привет! Добро пожаловать! Спасибо, что приняла наш оффер. Пойдем знакомиться с твоей командой. У них как раз сейчас дейли. Ты вышла под конец спринта, поэтому пока работы для тебя не запланировали. Как стендап закончится, можешь почитать спеки, командные окиары и просмотреть бэклог на следующий спринт. По всем вопросам обращайся к своему пио
Это бессмыслица какая-то или деловой язык? Попробуем разобраться.
image
Читать дальше →
Всего голосов 41: ↑29 и ↓12+17
Комментарии157

Как React 18 улучшает производительность приложения

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров9.7K


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


Начнем с повторения основ "долгих (долго выполняющихся) задач" (long tasks) и соответствующих метрик производительности.

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

Как мемоизация влияет на производительность React-приложения

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

Почему необдуманное ковровое покрытие проекта мемоизацией хуже, чем её полное отсутствие? Мемоизация не дешёвая! Она замедляет TTI проекта, поэтому её необдуманное использование может навредить. Давайте разберём пять принципов оптимизации и посмотрим, когда от мемоизации будет реальный профит, а когда от её использования лучше воздержаться.

Привет, Хабр! Меня зовут Нугзар Гагулия. У меня 10 лет коммерческого опыта в компаниях различного масштаба, в том числе в Яндекс и Альфа-банк. Я выступаю на Google I/O и Google Dev Fest, пишу статьи на Хабре, контрибьючу и менторю. Эта статья написана по мотивам моего доклада для FrontendConf 2022. Чтобы найти и задать вопросы об этой и других статьях, меня легко можно найти по нику NookieGrey в соцсетях и Телеграм. Я с удовольствием на них отвечу.

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

Как мы отобрали 2-х кандидатов из 500 без рекрутера. Кейс поиска junior-разработчиков

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

Как провести оценку 500+ кандидатов и soft skills в отсутствии рекрутера, когда времени на личные интервью нет совсем, а сотрудники “нужны вчера”.
Время чтения: 5 минут


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

QA-инженер: кто это и какие навыки требуются в 2023 году

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

Роль инженера по обеспечению качества (Quality Assurance Engineer), также известного как QA-инженер, является уникальной, но не всегда полностью понятной. Это связано с множеством мифов и стереотипов, связанных с этой должностью.

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

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

Как я нанял личного ассистента и высвободил себе несколько часов в день

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров17K

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

Привет! Меня зовут Паша Молянов, я руковожу диджитал-агентством и участвую в паре проектов в роли директора по маркетингу.

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

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

По сути, растрачивая рабочее время на рутину, я мешаю своей компании развиваться.

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

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

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

Новинки CSS и UI: I/O 2023

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров13K


Последние несколько месяцев открыли золотую эру веб UI (User Interface — пользовательский интерфейс).


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


  • запросы контейнера (container queries);
  • запросы стиля (style queries);
  • селектор :has();
  • микросинтаксис nth-of;
  • text-wrap: balance;
  • initial-letter;
  • динамические единицы измерения области просмотра (viewport);
  • цветовые пространства с широкой гаммой;
  • color-mix();
  • вложенность селекторов (nesting);
  • каскадные слои (cascade layers);
  • стили с ограниченной областью видимости (scoped styles);
  • тригонометрические функции;
  • индивидуальные свойства трансформации;
  • popover;
  • позиционирование якоря (anchor positioning);
  • selectmenu;
  • дискретные свойства переходов;
  • анимации, управляемые прокруткой (scroll-driven animations);
  • переходы отображения (view transitions).

Руководства, шпаргалки, вопросы и другие материалы по JavaScript, TypeScript, React, Next.js, Node.js, Express, Prisma, GraphQL, Docker и другим технологиям, связанным с разработкой веб-приложений.

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

Как заставить программистов пахать? 5 неочевидных советов

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров78K

Для начало придется забыть слово заставить. Задача помочь сотрудникам полюбить зарабатывать вам деньги.

Меня зовут Слава. Я создал и развалил сеть ночных клубов, прошел 300 собеседований на маркетолога, проработал как подрядчик и сотрудник в более 50 компаниях. Сейчас занимаюсь системным маркетингом.

Там, где я работал, были разные системы управления, но всегда работал один и тот же принцип.

Читать далее
Всего голосов 178: ↑157 и ↓21+136
Комментарии283

UI-библиотеки для React

Уровень сложностиСредний
Время на прочтение3 мин
Количество просмотров18K

Современные фреймворки для разработки веб-приложений породили за собой разработку библиотек для них. Одним из самых популярных представителей является React. 

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

Мы собрали пул UI-библиотек для React-проектов.

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

RabbitMQ tutorial 1 — Hello World

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


RabbitMQ позволяет взаимодействовать различным программам при помощи протокола AMQP. RabbitMQ является отличным решением для построения SOA (сервис-ориентированной архитектуры) и распределением отложенных ресурсоемких задач.

Под катом перевод первого из шести уроков официального сайта. Примеры на python, но его знание вовсе не обязательно. Аналогичные примеру программы можно воспроизвести практически на любом популярном ЯП. [так выглядят комментарии переводчика, т.е. меня]
Читать дальше →
Всего голосов 57: ↑51 и ↓6+45
Комментарии58

RabbitMQ. Часть 1. Introduction. Erlang, AMQP

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

Добрый день, Хабр! Хочу поделиться учебником-справочником знаний, которые мне удалось собрать по RabbitMQ и сжать в короткие рекомендации и выводы.

Читать дальше →
Всего голосов 20: ↑19 и ↓1+18
Комментарии6
1
23 ...

Информация

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