Темы

Программирование и IT

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

Общий каркас для любого направления#

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

Вторая общая часть — привычки разработчика: хранить код в репозитории Git,
делать небольшие осмысленные коммиты, писать тесты к своим функциям, читать
официальную документацию раньше, чем пересказы в блогах. Эти навыки нужны
и тестировщику, и аналитику, и инженеру машинного обучения.

Как пользоваться статьями раздела#

Каждая статья — отдельный план: что поставить на компьютер, первые
программы, этапы по неделям и месяцам, идеи проектов и способы
самопроверки. Если ты ещё не выбрал направление, начни с общей статьи о
программировании с нуля: в ней описано, как выбрать первый язык. SQL и
основы Linux пригодятся почти в любой IT-профессии, поэтому их удобно
осваивать параллельно с основным направлением.

  • Программирование и IT Как стать аналитиком данных с нуля

    Аналитик данных отвечает на вопросы бизнеса цифрами — почему упали продажи, какой вариант страницы лучше, где теряются клиенты. Инструменты у профессии простые и хорошо описаны в открытом доступе — электронные таблицы, SQL, Python и немного статистики. Ниже — в каком порядке их осваивать и как собрать портфолио из собственных исследований.

  • Программирование и IT Как создать репозиторий с нуля

    Репозиторий — это папка проекта плюс скрытая папка `.git`, в которой хранится вся история. Создаётся одной командой, но между ней и первым осмысленным коммитом есть несколько шагов, которые потом трудно переделать: имя ветки, список игнорируемых файлов, привязка к серверу.

  • Программирование и IT Как отменить коммит

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

  • Программирование и IT Как научиться программировать с нуля

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

  • Программирование и IT Как изучить SQL с нуля

    SQL — язык запросов к реляционным базам данных. Он нужен разработчикам, аналитикам, тестировщикам и менеджерам, которые хотят сами доставать цифры. Базовые запросы осваиваются за несколько недель, уверенная работа со сложными отчётами — за два-три месяца практики. Ниже — порядок тем и способы тренироваться на настоящей базе.

  • Программирование и IT Как изучить Python с нуля

    Python хорош для первого знакомства с программированием: код читается почти как текст, а стандартная библиотека закрывает большинство бытовых задач. Этот план ведёт от установки интерпретатора до собственных скриптов, покрытых тестами, — примерно за четыре месяца при занятиях около часа в день.

  • Программирование и IT Как изучить машинное обучение с нуля

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

  • Программирование и IT Как изучить Linux с нуля

    Linux работает на большинстве серверов, в контейнерах и на множестве устройств, поэтому командная строка нужна разработчику, тестировщику, аналитику и системному администратору. Осваивать систему удобнее всего не чтением списков команд, а ежедневной работой в терминале и решением небольших практических задач. Ниже — последовательность тем на два-три месяца.

  • Программирование и IT Как изучить JavaScript с нуля

    JavaScript — язык, который исполняется в каждом браузере, а через Node.js ещё и на сервере. У него низкий порог входа — код можно запустить прямо в консоли браузера, — но много неочевидных мест, от приведения типов до асинхронности. План ниже рассчитан на три-четыре месяца и предполагает, что ты уже знаешь основы HTML и CSS или изучаешь их параллельно.

  • Программирование и IT Как изучить Java с нуля

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

  • Программирование и IT Как изучить HTML и CSS с нуля

    HTML описывает, из чего состоит страница, CSS — как она выглядит. Это не языки программирования в строгом смысле, но без них не обходится ни один сайт, и с них удобно начинать путь во фронтенд. Базу вёрстки можно освоить за два-три месяца, если с первой недели собирать настоящие страницы, а не только читать справочник.

  • Программирование и IT Файл .gitignore

    В проекте всегда есть файлы, которым в репозитории не место — кэш, папки сборки, настройки редактора, локальные пароли. Список таких файлов держат в .gitignore, и git перестаёт предлагать их к добавлению.

  • Программирование и IT git stash

    Заначка — временная полка для незаконченных правок. Ты кладёшь туда всё, что наработал, получаешь чистую рабочую копию, делаешь срочное дело и возвращаешь отложенное обратно. Полка общая на весь репозиторий и устроена как стопка: последнее положенное лежит сверху.

  • Программирование и IT git reset

    Команда двигает указатель текущей ветки на другой коммит. Насколько сильно при этом пострадает твоя работа, решает один флаг: `--soft` не трогает ничего кроме истории, `--mixed` очищает индекс, `--hard` переписывает файлы на диске. Третий режим — единственная команда git, которая уничтожает несохранённое безвозвратно.

  • Программирование и IT git rebase

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

  • Программирование и IT git push

    Пока ты не выполнил git push, твои коммиты существуют только на твоём диске. Команда отправляет их в удалённый репозиторий и сдвигает там указатель ветки — поэтому она же чаще всего и отказывает, если кто-то успел отправить своё раньше.

  • Программирование и IT git pull

    Команда git pull приносит из удалённого репозитория чужие коммиты и сразу вливает их в твою текущую ветку. Это две операции подряд, и почти все трудности с pull растут из второй — из того, каким способом он соединяет истории.

  • Программирование и IT git merge

    Слияние переносит работу из одной ветки в другую. Команда git merge берёт указанную ветку и соединяет её историю с текущей — иногда просто сдвигая указатель, иногда создавая отдельный коммит, а иногда останавливаясь и прося помощи.

  • Программирование и IT git log

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

  • Программирование и IT Как разрешить конфликт слияния

    Конфликт — не поломка, а вопрос. Git сливает изменения автоматически, пока они в разных местах файла; когда две ветки правят одни и те же строки, выбрать правильный вариант может только человек. Задача — прочитать оба варианта, собрать из них рабочий код и сказать git, что вопрос закрыт.