Pull to refresh
1
0
sraider @sraider

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

Send message

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

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

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

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



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

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

Level of difficultyMedium
Reading time12 min
Views21K

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

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

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

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

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

Level of difficultyMedium
Reading time16 min
Views6.5K

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

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

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

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

В этом посте предлагается многоуровневая система, которую можно применять к IC, техническим руководителям и руководителям команд.
Читать дальше →
Total votes 34: ↑30 and ↓4+42
Comments7

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

Level of difficultyEasy
Reading time2 min
Views9.6K

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

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

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

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

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

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

Level of difficultyEasy
Reading time15 min
Views41K

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

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

База для Junior QA

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

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

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

Подготовиться к собесу
Total votes 16: ↑14 and ↓2+15
Comments16

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

Reading time5 min
Views41K

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

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

Читать далее
Total votes 12: ↑8 and ↓4+7
Comments14

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

Level of difficultyEasy
Reading time5 min
Views24K

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

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

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

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

Reading time3 min
Views33K

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

Читать далее
Total votes 34: ↑23 and ↓11+23
Comments24

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

Level of difficultyEasy
Reading time10 min
Views6.4K

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

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

Читать далее
Total votes 10: ↑6 and ↓4+5
Comments23

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

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

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

Level of difficultyMedium
Reading time11 min
Views9.9K


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


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

Читать дальше →
Total votes 5: ↑4 and ↓1+6
Comments7

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

Reading time11 min
Views8.1K

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

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

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

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

Reading time5 min
Views14K

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


Читать дальше →
Total votes 28: ↑11 and ↓17+12
Comments73

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

Reading time6 min
Views40K

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

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

Читать далее
Total votes 10: ↑3 and ↓70
Comments2

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

Level of difficultyEasy
Reading time8 min
Views17K

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

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

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

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

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

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

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

Читать далее
Total votes 16: ↑9 and ↓7+4
Comments19

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

Level of difficultyMedium
Reading time13 min
Views13K


Последние несколько месяцев открыли золотую эру веб 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 и другим технологиям, связанным с разработкой веб-приложений.

Читать дальше →
Total votes 10: ↑10 and ↓0+10
Comments3

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

Level of difficultyEasy
Reading time4 min
Views78K

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

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

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

Читать далее
Total votes 156: ↑135 and ↓21+136
Comments283

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

Level of difficultyMedium
Reading time3 min
Views19K

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

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

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

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

RabbitMQ tutorial 1 — Hello World

Reading time6 min
Views540K


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

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

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

Reading time4 min
Views219K

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

Читать дальше →
Total votes 14: ↑13 and ↓1+18
Comments6
1
23 ...

Information

Rating
Does not participate
Location
Россия
Registered
Activity