Темы
Программирование и 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, что вопрос закрыт.