Обновить

Разработка

Сначала показывать
Порог рейтинга

Новый поиск в Gramax!

Мы сделали быстрый офлайн-поиск по всей документации.
Открывается через Cmd/Ctrl+/, навигация стрелками, Enter – переход с подсветкой найденного фрагмента. Подхватывает опечатки и кривую раскладку.

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

---
Gramax – это база знаний с хранением контента в Git в Markdown-файлах и с визуальным редактором.
Подробнее о проекте: https://gram.ax/ru

Теги:
+1
Комментарии0

Мы иногда во внутреннем чате обмениваемся фрагментами кода с неочевидными ошибками, которые обнаруживаются с помощью PVS-Studio в каком-нибудь открытом проекте. Мол, кто быстро сообразит, что не так с кодом?

Вчера коллега поделился вот таким фрагментом кода из проекта SereneDB:

template <typename T>
struct NumericParameter : public Parameter {
  using ValueType = T;
  ....
  std::string name() const override {
    if constexpr (std::is_same_v<ValueType, int16_t>) {
      return "int16";
    } else if constexpr (std::is_same_v<ValueType, uint16_t>) {
      return "uint16";
    } else if constexpr (std::is_same_v<ValueType, int32_t>) {
      return "int32";
    } else if constexpr (std::is_same_v<ValueType, uint32_t>) {
      return "uint32";
    } else if constexpr (std::is_same_v<ValueType, int64_t>) {
      return "int64";
    } else if constexpr (std::is_same_v<ValueType, uint64_t>) {
      return "uint64";
    } else if constexpr (std::is_same_v<ValueType, size_t>) {
      return "size";
    } else if constexpr (std::is_same_v<ValueType, double>) {
      return "double";
    } else {
      static_assert("unsupported ValueType");
    }
  }
  ....
};

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

Попробуйте найти сами
Попробуйте найти сами

Ответ:

Анализатор PVS-Studio выдаёт предупреждение V591 Non-void function should return a value. parameters.h 222

На первый взгляд предупреждение странное и смахивает на ложное срабатывание, ведь не может быть, что функция закончила работу, не вернув значение с помощью оператора return. Если выбирается ветка else, то там static_assert, и код просто не должен скомпилироваться. Во всех остальных случаях есть return "что-то";.

Но есть нюанс!

Ещё раз посмотрите на эту строчку:

static_assert("unsupported ValueType");

static_assert используется неправильно: пропущен bool-constexpr. Вернее, строковый литерал неявно конвертируется в значение true, и static_assert никогда не прервёт компиляцию. В итоге else-ветка функции ничего не возвращает, и её поведение будет не определено для всех специализаций NumericParameter, кроме указанных ранее в цепочке if constexpr.

Правильный вариант:

static_assert(false, "unsupported ValueType");
Теги:
+13
Комментарии3

Функциональное программирование перевернуло фронтенд: почему JS возвращается к платформам?

Функциональное программирование перевернуло фронтенд-разработку, но теперь индустрия возвращается к платформенным подходам — почему и как это меняет JS-экосистему?

Статья «Как функциональное программирование изменило фронтенд и почему отрасль возвращается к платформе» разбирает эволюцию: от чистого FP к гибридным решениям, с примерами и выводами для фронтендеров.

Виктория Копылова делится своим анализом, основанным на современных наблюдениях и на тех статьях прошлого, где функциональное программирование воспринималось как путь к «правильному» фронтенду.

Теги:
0
Комментарии0

Представлен открытый проект Clipy (улучшенный аналог проектов cliply.space, yt-dlp CLI и 4K Video Downloader), который позволяет скачивать ролики с Youtube и сразу редактировать без потери качества. Решение качает контент в оригинальном качестве без перекодирования. Проект имеет встроенный видеоредактор — можно быстро обрезать, разделить видос или склеить. Всё работает локально на ПК. Полностью бесплатно и с открытым исходным кодом и удобным интерфейсом.

Теги:
+2
Комментарии2

A Micro-Manual for LISP.

LISP имеет удивительный по простоте синтаксис. Это делает его одним из самых популярных кандидатов для программирования своего интерпретатора.

Такой интерпретатор — замечательный пример пет-проекта, который расширит кругозор и познакомит с элегантностью LISP. Быть может, разожжёт интерес к Clojure и Scheme.

Отличной подмогой для проекта будет работа Джона Маккарти. В своём микро-руководстве он описал базовые блоки для построения минимального интерпретатора.

Маккарти формулирует основу LISP всего в десятке правил и пяти основных аббревиатурах, сопровождая этот набор дополнительными примерами.

И это описание занимает всего две страницы! Фантастика!

Статья на сайте ACM: https://dl.acm.org/doi/pdf/10.1145/960118.808386

Теги:
+1
Комментарии0

Поиск по значению

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

Функция VLOOKUP (ВПР) появилась в 1985 году в самой первой версии Excel и занимала третье место по популярности среди пользователей (после SUM и AVERAGE). За это время она морально устарела, поэтому в 2020 году разработчики Excel добавили новую функцию XLOOKUP. В 2022 году она появилась и в Google Sheets.

Чем же XLOOKUP лучше, чем VLOOKUP?

Напомню, VLOOKUP принимает на вход четыре параметра:

  1. искомое значение;

  2. ссылку на таблицу (поиск идёт по первому столбцу);

  3. номер столбца с результатами;

  4. тип поиска: точный или приблизительный.

Во-первых, VLOOKUP закладывается на структуру исходной таблицы. Если завтра порядок столбцов поменяется, формула может сломаться. Придётся руками обновлять номер столбца с результатами. XLOOKUP принимает на вход два диапазона и спокойно переживает перемещение любого из них:

=VLOOKUP("needle";A:Z;2;0)
=XLOOKUP("needle";A:A;B:B)

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

=XLOOKUP("needle";B:B;A:A)

В-третьих, при неудачном поиске VLOOKUP возвращает #N/A. Если вместо ошибки хочется выводить что-то другое (например, пустое значение), приходится дополнительно вызывать функцию IFNA. В XLOOKUP можно четвёртым аргументом передать значение, которое будет выводиться при неудачном поиске:

=IFNA(VLOOKUP("needle";A:Z;2;0);"not found")
=XLOOKUP("needle";A:A;B:B;"not found")

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

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

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

Единственный минус XLOOKUP: функция недоступна в Excel 2019 и более ранних версиях. Да и по-русски называется ПРОСМОТРХ, где Х — это «икс», а не «ха». К вопросу, почему я избегаю русскоязычные названия функций.

Теги:
+1
Комментарии0

Если ты — Automation QA и хочешь перейти в мир обеспечения качества AI-приложений*, как это сделала я, то мой путь может послужить небольшой дорожной картой.

*не путать с использованием AI-инструментов для тестирования классических приложений

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

Вот как я восполняла пробелы в знаниях:

Временные затраты
Около 7 месяцев изучения теории и параллельно более года практического опыта. Этот год я провела, участвуя в стартап-проектах (в основном в роли QA Lead), что дало мне «безопасную песочницу» для применения знаний в области ML на реальных практических задачах.

Переход на Python
Java — отличный язык, но в экосистеме ML/AI «лингва франка» — это Python. Библиотеки для работы с моделями, статистикой, метриками и трансформерами здесь есть на любой вкус и цвет. Так что, если ты Java QA, стоит сменить Java на Python.

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

Этот бесплатный англоязычный курс был действительно отличным, интересным и захватывающим — спасибо, Dr. Raj Abhijit Dandekar!

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

Кроме того, я изучила множество других материалов (например) и, конечно, много общалась с «железным другом» Gemini. :)

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

оригинальные посты выходят в Linkedin (англ.)

Теги:
+1
Комментарии0

Закинул в LLM: у меня такое ощущение, что про всё нытьё, которое сейчас раздаётся с обеих сторон HR-ширмы, можно сказать довольно кратко — «когда нужно было бить тревогу, максимум, что вы делали — играли в базворд/булщит-бинго»

«…

— Да. Формула точная.

Сводится к следующему тезису:

Системные проблемы накапливались годами, но вместо сигнализации обе стороны занимались оптимизацией риторики.

Расклад по ролям:

  • HR / менеджмент
    — инфляция тайтлов
    — подмена ответственности формулировками
    — «лидерство», «ownership», «impact» без механизмов
    — KPI по ощущению, а не по эффекту

  • Инженеры / кандидаты
    — игра в то же бинго, но с другой стороны
    — прокачка CV под ключевые слова
    — согласие на размытые роли ради компенсации / бренда
    — молчаливое принятие, пока рынок рос

Когда нужно было:

  • фиксировать границы ответственности,

  • называть архитектурный и операционный долг,

  • резать фальшивые роли и ожидания,

вместо этого:

  • шлифовали формулировки,

  • учились «правильно себя продавать»,

  • подменяли разговор о системе разговором о нарративах.

Текущее «нытьё» — это расплата за годы семантического арбитража, где все делали вид, что слова = реальность.

Коротко:
не рынок «сломался» — его долго приучали игнорировать сигналы, если они не помещаются в презентацию.

…»

Теги:
-2
Комментарии5

CEO Shopify рассказал, как навайбкодил себе ПО для анализа МРТ. Тобиас Литке не захотел, чтобы его МРТ‑снимки с флешки обрабатывал коммерческий Windows‑софт. Поэтому с помощью Claude Литке за минуту собрал собственный инструмент для анализа изображений. Получилось быстро, бесплатно и с точной подсветкой проблемных зон. Промпт Литке тоже выложил:

This is a USB Stick of my MRI. Find all reports, find all images, use imagemagick to convert them into something useful, and get everything into a structured directory in the ./output folder that's worth retaining. Then, make an index.html that's a full exploration tool for the results. Use /frontend-skills and /generate-image skills if necessary.

Теги:
+2
Комментарии6

UPD по статье "Соискатель получил отказ в работе от Авито после фидбэка из Яндекса"

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

Пока очередной менеджер из синей компании (дочки голубой медиа компании) говорит о своих результатах и разоблачении сотрудников в стиле сотрудника Яндекса из предыдущей истории https://www.youtube.com/watch?v=vfadzhbXvdg, я посмотрела 2 полезных документа.

  1. ПОЛИТИКА КОНФИДЕНЦИАЛЬНОСТИ ДЛЯ КАНДИДАТОВ | ПОЛИТИКА КОНФИДЕНЦИАЛЬНОСТИ ДЛЯ КАНДИДАТОВ Яндекса

  2. Правила деловой и корпоративной этики группы компаний Яндекса

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

Кстати, на сайте с деловой и корп. этикой есть горячая линия, которая открыта в виде специальной формы, через которую можно отправить запрос: https://yandex.hotline.b1.ru

Запрос попадает в Б1 (ранее Эрнст энд Янг), который выступает, видимо, в роли аудитора публичной компании Яндекс.

Советую всем перечитать документы, которые вы подписывали при трудоустройстве и с которыми были ознакомлены :)

Теги:
+1
Комментарии0

Услышал про Apidog. Кажется, Postman больше не единственный вариант

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

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

Вчера разговорился с коллегой из команды, и он упомянул Apidog. Говорит, перешёл полгода назад и не жалеет. Сегодня решил посмотреть сам. Вот первые впечатления.

Что это такое

Apidog позиционируется как all-in-one платформа: дизайн API, документация, mock-сервер, тестирование и дебаг в одном месте. По сути, Postman + Swagger + Mock + автотесты без переключения между инструментами.

Что зацепило

Визуальный редактор для создания спецификаций. Рисуешь схему, она автоматически превращается в OpenAPI. Не нужно писать YAML руками.

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

Автотесты с визуальными assertions. Можно добавлять проверки без кода, просто кликая. Есть data-driven тестирование, интеграция с CI/CD.

Командная работа в реальном времени. Версионирование API, ветки как в Git, ролевой доступ.

Импорт коллекций из Postman. Миграция не с нуля.

Что смущает

Китайские корни. Для кого-то это плюс (активная разработка, быстрые релизы), для кого-то минус (вопросы безопасности данных).

Ещё один инструмент в зоопарк. Bruno, Insomnia, Hoppscotch, теперь Apidog. Выбор это хорошо, но и головная боль при стандартизации в команде.

Бесплатный тариф щедрый, но всё равно есть ограничения для больших команд.

Пока не тестировал глубоко

Это именно первые впечатления после пары часов изучения. Не готов сказать «бросайте Postman», но точно буду пробовать на реальных задачах.

Интересно послушать тех, кто уже работает с Apidog на постоянной основе. Какие подводные камни? Стоит ли переходить с Postman или это из серии «работает — не трогай»?

Ссылки по теме на Хабре

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

📄 Отказаться от Postman, перейти на Bruno и жить счастливо — в комментариях есть отзыв про Apidog от человека, который перешёл

📄 Лучшие open-source инструменты для тестирования API в 2025 году — обзор альтернатив

📄 Как выбрать инструмент для тестирования API — сравнение Postman, Insomnia и других

📄 API Тестирование без Postman — разбор Hoppscotch

Теги:
0
Комментарии2

Итоги пинбола «Запусти ИТ-завод»

В июле и декабре мы запустили ИТ-пинбол для тех, кто хочет проверить свою ловкость, а также узнать интересные факты об ИТ-проектах в промышленности. За время проекта игру прошли 6 500 игроков, которые завершили – внимание – 18 790 игр! Вот это мы понимаем – азарт!

Уверены, вы открыли для себя много нового в мире промышленности.

Поздравляем счастливчиков:

1 место (Sony WH-1000XM5): @sokolovps
2 место (Sony WH-1000XM4): @ru_secops
3 место (AirPods 4): @SplinterVS
Рюкзаки уходят к: @07Rish04, @vitaly8807 и @Lebedeva82

Мы уже написали вам в личные сообщения.

Кроме того, все участники получают почётное звание «Стальной айтишник» и ачивку в профиль за прохождение.

Розыгрыш окончен, но игра доступна! Ставьте свои новые рекорды, и до встречи в новых активностях.

Теги:
+2
Комментарии0

Ближайшие события

С новым рабочим годом, Хабр
Мы в SSP SOFT опять расширяем команду и ждем ваши резюме

Кто мы? Занимаемся заказной разработкой ПО и предоставляем крупным клиентам выделенные команды на ИТ-аутсорсинг.

В 2025 году SSP SOFT вошел в число лидеров найма ИТ-специалистов на российском рынке за год мы наняли 179 сотрудников!
И главное в 2026 году найм продолжается.

У нас новый московский офис в 2025 году у самой Красной площади! А еще есть вакансии в офис в Томске и на удаленку из любой точки России.

Открытые вакансии в SSP SOFT: это реальные проекты, дружная команда и атмосфера, где работать — продуктивно, без выноса мозга и микро-менеджмента. В январе 2026 ищем гуру, кто готов в новое профессиональное будущее вместе с нами.

1️⃣ Fullstack разработчика (C# + React) (https://vk.cc/cT6vMP)
2️⃣ Python Разработчика (ML Engineer) (https://vk.cc/cT6vNp)
3️⃣ Программиста 1С (https://vk.cc/cT6vNR)
4️⃣ Fullstack-разработчика (Java+Go/React) (https://vk.cc/cT6vOl)

Что вас ждет в SSP SOFT:
✅ Рост: Центр компетенций для максимального апгрейда скиллов.
✅ Свобода геолокации: Возможность работать удаленно, гибрид или офис.
✅ Баланс: Работаем, чтобы жить, а не наоборот.

🎁 Приятные бонусы: ивенты для всей команды, ДМС для штата, обучение и бенефиты.

Подробности о вакансиях читайте на нашей странице ХХ.ру, но туда откликаться необязательно. Ждем резюме в ЛС нашему HR Lead Алине (https://t.me/AONikitina). Не забудьте добавить «секретную фразу» в сопроводительное письмо, «Увидел(а) вакансию на Хабре».

Желаем всем успешной карьеры в 2026 году 🚀)

Теги:
+5
Комментарии0

Представлен открытый проект Mimesis: The Fake Data Generator для генерации фейковых данный для проектов, пентеста, хакинга или анонимности в сети, включая ФИО, email, адреса проживания, телефоны, локации, смена стран и адаптирование данных в соответствие с задачами. Полезно также для создания файлов JSON и XML произвольной структуры, а также анонимизации данных. Устанавливается за один клик, имеет простой и понятный интерфейс.

Теги:
0
Комментарии0

Оптимизируем яндекс‑карты

Если вы, как и я, пользуетесь яндекс-картами в браузере на десктопе и каждый раз вздрагиваете, когда при движении курсора по экрану всплывают окошки с описанием объектов, то вам помогут следующие волшебные строки в фильтре uBlock:

yandex.ru##.search-business-snippet-view__content
yandex.ru##.card-header-media-view__list

При явном клике на объект он продолжит открываться слева как и раньше.

Теги:
+4
Комментарии1

Функция date меняет поведение в PHP 8.x

При переносе Legacy-проекта с PHP 7.4 на 8.4 столкнулся с недокументированной проблемой изменения поведения функции date при передаче в качестве параметра timestamp значения NULL Один и тот же код даст разный результат:

echo date("Y-m-d H:i:s", null);

// PHP 7.4 и ниже 1970-01-01 00:00:00

// PHP 8.0 и выше 2026-01-14 08:11:56

В примере NULL передается в явном виде, но в рабочем коде он вполне может прилетать из БД или других переменных, поэтому потенциальная ошибка может остаться незамеченной. Вообще, по принципам ООП, явное всегда лучше неявного, да и сам я сторонник использования \DateTime. В этом случае, результат кода:

$date = new \DateTime(null);

echo $date->format("Y-m-d H:i:s");

был бы одинаковый, а с версии 8.1 вы бы начали получать предупреждение

Deprecated: DateTime::__construct(): Passing null to parameter #1 ($datetime)
of type string is deprecated
2026-01-14 08:22:10

Я бы рекомендовал перед миграцией версий PHP в Legacy-проектах либо учитывать эту особенность поведения функции date и убедиться, что NULL не приходит в параметр timestamp, либо сразу сделать рефакторинг на \DateTime, чтобы в принципе избежать таких проблем.

Теги:
+4
Комментарии0

Cloud vs Local: где сегодня реально генерируют изображения и видео

Генерация изображений в "облаке" и локально
Генерация изображений в "облаке" и локально

За последний год генерация изображений и видео стала для многих повседневным инструментом - как в дизайне и маркетинге, так и в разработке, создании ивентов и выставок.

При этом индустрия явно разделилась на два подхода:

  • Облачные сервисы (Veo 3.1, Runway ML, Midjorney, Kling AI) - быстрый старт, минимальный порог входа, подписки, кредиты и токены, высокая стабильность.

  • Локальная генерация (ComfyUI, InvokeAI, Forge и др.) - полный контроль над пайплайном, моделями (Flux 2, Z-Image, Wan 2.2, LTX 2), VRAM и качеством, но ценой времени на настройку и поддержку.

На практике всё чаще видно, что это не «противостояние», а разные инструменты под разные задачи:

  • быстрые концепты и презентации - чаще в облаке;

  • сложные пайплайны, кастомные модели, LoRA, видео и эксперименты - локально;

  • многие используют оба подхода параллельно.

Интересно посмотреть на реальную картину в сообществе.

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

Теги:
-1
Комментарии8

Kotlin и Hyperskill: как я искал курс и что получил в итоге.

Когда я решил изучать Kotlin, ожидал, что найти хороший курс будет просто: язык популярный, используется в Android и бэкенде, вокруг много материалов. Искал менторов и упирался в людей которые знаю java и вроде как используют в работе Kotlin. Это одновременно пугало и заинтересовывало, я решил поступить как мне казалось правильным, найти готовый курс  — особенно если хочется не “смотреть видео”, а именно учиться через практику и задачи.

Я перепробовал разные форматы обучения (платные и бесплатные), поэтому в этот раз подход был простой: найти платформу, где есть структурированная программа и много практики. В итоге я добрался до Hyperskill (hyperskill.org). Это не реклама — просто личный опыт, кому-то он может сэкономить время.

Как я пришёл к ресурсу.

Изначально искал курсы по Kotlin на привычных площадках. На Stepik в тот момент не нашёл того, что мне подходило по структуре (возможно, сейчас ситуация лучше). Видео-курсы на крупных “известных сайтах” сознательно не рассматривал: мне удобнее формат “прочитал → сделал → получил проверку”.

Дальше — обычный путь через поисковик и сравнение нескольких платформ. Из того, что выглядело цельно и практично, больше всего зацепил Hyperskill. Отдельно сыграло роль то, что платформа связана с JetBra…. (то есть ребята явно понимают, как устроена экосистема вокруг Kotlin и IDE).После регистрации быстро становится понятно: платформа активно ведёт к подписке.Раньше в сети встречались статьи про возможность оформить бесплатную подписку на полгода, но это устаревшая информация — сейчас такой опции нет (по крайней мере, в том виде, в каком её описывают старые гайды).

При этом у Hyperskill есть бесплатный режим, и я проходил курс именно так.

Что я проходил: Introduction to Kotlin.

На платформе несколько треков по Kotlin, я начал с Introduction to Kotlin. По ощущениям, это “введение с практикой”:

  • около 9 учебных проектов

  • порядка 60–70 тем

  • внутри тем — задачи/тренажёры с автоматической проверкой

В целом структура понравилась: материал подаётся дозировано, и почти сразу закрепляется практикой. Похожая на Степик.

Система “кристаллов” и лимиты.

Самая спорная часть бесплатного режима — ограничения на попытки.

У Hyperskill есть внутренняя валюта (“кристаллы”): ошибаешься в заданиях — кристаллы списываются. Когда кристаллы заканчиваются, обучение может блокироваться на 12–24 часа. Да, кристаллы можно зарабатывать активностью и выполнением некоторых задач, но при активном обучении и регулярных ошибках (что нормально) этого может не хватать.

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

Проекты: что внутри и зачем это полезно.

Сильная сторона Hyperskill — проекты. Они не выглядят как “игрушки ради галочки”, а позволяют постепенно потрогать основные конструкции языка.

Из того, что запомнилось:

  • “Сапёр”

  • “Крестики-нолики”

  • “Чат-бот”

  • “Кофемашина”

Например, в проекте “кофемашина” уже нормально используются циклы, классы и базовые элементы ООП. В таком формате проще понять, “зачем оно нужно”, чем на изолированных задачках.

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

Проверка решений: не всегда понятно, почему “не принято”

Ещё один недостаток — качество обратной связи в тестах. Иногда тесты “падают” так, что ты видишь только факт ошибки, но не понимаешь причину: что именно ожидалось, на каком кейсе сломалось, где расхождение.Часть проектов проверяется через IntelliJ IDEA, и здесь иногда всплывают технические нюансы: несовпадение версий, необходимость обновить IDE или компилятор, странные падения на конкретном проекте.

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

Итоги:

  • бесплатный режим может раздражать лимитами на ошибки (кристаллы и блокировки)

  • часть контента (включая проекты) закрыта подпиской

  • обратная связь тестов местами недостаточно информативная

    Если готовы, то вперед!

Теги:
+1
Комментарии0

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

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

Во-первых, незаменимость часто преувеличивается (особенно с учетом ИИ, который и разберется, и нарисует, и расскажет всё, что важно знать). На практике обычно через 3-4 месяца уже никто и не вспоминает о Васе, который где-то там всё знал. А чаще скорее просто ругают его за странные решения, переписывая запутанные куски с нуля.

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

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

Короче, будьте бдительны. Нужно всегда быть готовым менять работу. Незаменимых не бывает.

Cross-пост из tg-канала Cross Join

Теги:
+3
Комментарии0
1
23 ...