JavaRush
Акция
Университет
Java FullStack
Python FullStack
AI Native Developer
new
Web FullStack
Обучение
Курсы
Задачи
Опросы
Игры
Помощь
График пинков
Стажировка
Сообщество
Пользователи
Форум
Чат
Статьи
Истории успеха
Активности
Отзывы
Подписки
Светлая тема

Лекции

  • Отзывы
  • О нас
  • CS50
Начать
Начать обучение
Начать обучение
  • Мое обучение
  • Курсы
  • Университет
  • Карта квестов
  • Лекции
  • argc/argv — базовый разбор аргументов

    C++ SELF
    67 уровень,0 лекция
    Разбираем, как в C++ получать аргументы командной строки через argc/ argv, почему argv[i] — это C-строка, а не std::string, как безопасно проверять границы ( i + 1 < argc), и как реализовать простейший парсер флагов ( "--help", "-h"), опций ( "--name" "Alice" и "--name=Alice") и позиционных аргументов.
    Открыта
  • UX CLI: --help, дефолты, коды выхода

    C++ SELF
    67 уровень,1 лекция
    Разбираем, как превратить консольную утилиту в понятный контракт: поддержка --help и ранний выход, дефолтные значения для параметров, корректные сообщения об ошибках в std::cerr, а также политика кодов выхода ( 0 — успех, 2 — ошибка аргументов) через enum class ExitCode. Собираем каркас утилиты FocusTimer с функциями print_usage, parse_args и безопасным парсингом чисел через std::from_chars.
    Открыта
  • Интерактивный vs «одна команда = один запуск»

    C++ SELF
    67 уровень,2 лекция
    Разбираем два режима CLI-утилит: one-shot (запуск с аргументами, одно действие и выход) и interactive (мини- REPL с циклом команд). Поговорим про UX и автоматизацию: чистый stdout, ошибки через stderr, коды возврата return 0/ return != 0, и покажем архитектурный приём «тонкий main» на учебном приложении TaskPad с общими функциями парсинга и исполнения команд.
    Открыта
  • Логирование: уровни info/warn/error, единый формат

    C++ SELF
    67 уровень,3 лекция
    Разбираем дисциплину логирования в CLI-программах на C++: почему «результат» должен идти в std::cout, а диагностика — в std::cerr; как выбрать минимально полезные уровни ( info/ warn/ error), зафиксировать единый формат [LEVEL] message и вынести его в одну функцию log(). Также строим связку enum class + switch для преобразования уровня в текст и используем std::ostringstream, когда сообщение удобнее собрать через поток.
    Открыта
  • std::source_location: добавляем file:line в логи

    C++ SELF
    67 уровень,4 лекция
    Разбираем, как в C++20/23 использовать std::source_location, чтобы логи сразу показывали место события в формате file:line (и при желании — function_name()). Поймём ключевой нюанс: почему current() должен быть значением по умолчанию параметра, встроим локацию в минимальный логгер, сделаем удобные обёртки log_info/ log_warn/ log_error без потери контекста и разберём типичные ошибки.
    Открыта
Обучение
  • Курсы программирования
  • Регистрация
  • Курс Java
  • Помощь по задачам
  • Цены
Сообщество
  • Пользователи
  • Статьи
  • Форум
  • Чат
  • Истории успеха
  • Активности
Компания
  • О нас
  • Контакты
  • Отзывы
  • FAQ
  • Поддержка
JavaRushJavaRush — это интерактивный онлайн-курс по изучению Java-программирования c нуля. Он содержит 1200 практических задач с проверкой решения в один клик, необходимый минимум теории по основам Java и мотивирующие фишки, которые помогут пройти курс до конца: игры, опросы, интересные проекты и статьи об эффективном обучении и карьере Java‑девелопера.
Подписывайтесь
Язык интерфейса
Русский
English Українська
"Программистами не рождаются" © 2026 JavaRush
MastercardVisa
"Программистами не рождаются" © 2026 JavaRush