Skip to content

bulatik205/how-start

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 

Repository files navigation

С чего начать путь в айти?

⚠️ Тут будет роадмап. Я не даю волшебную таблетку. Я даю вектор

Header

Фундамент: Как вообще работает компьютер?

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

Header

База, без которой дальше будет магия (а нам магия не нужна):

1. Программа — это просто список инструкций Ты даешь компьютеру команды: "возьми это число", "сложи с тем", "покажи на экране". Компьютер — тупой, но очень быстрый исполнитель. Он делает ровно то, что ты написал. Если программа работает не так — это ты ошибся, а не компьютер злится.

2. Два главных языка в твоей жизни

  • Человеческий язык (Python, PHP, JavaScript): То, на чем пишешь ты. Это удобно и понятно, но компьютер этого не понимает.
  • Язык железа (0 и 1): Ток есть — 1, тока нет — 0. Компьютер говорит только на этом языке.
  • Переводчик: Чтобы твой текст стал понятен процессору, нужен переводчик. Есть два типа:
    • Компилятор: Переводит всю книгу целиком и отдает готовый файл (.exe). Так работают C++, Go, Rust.
    • Интерпретатор: Переводит и сразу выполняет строчку за строчкой. Так работают Python, PHP, JavaScript.

3. Самая главная программа — Операционная система (Windows, macOS, Linux) Представь, что компьютер — это многоквартирный дом.

  • Железо (процессор, память, диск) — это кирпичи, трубы и батареи.
  • Операционная система — это управляющая компания. Она следит, чтобы твоя программа (квартира) получила свою память (комнаты), чтобы процессор (отопление) работал и чтобы программы не дрались друг с другом за ресурсы.

Пока хватит. Остальное (типы данных, массивы, синтаксис) придет в процессе. Главное — усвой: код — это приказы, а компьютер — солдат, который их выполняет.

Header

Знать языки - НЕ ЗНАЧИТ быть разработчиком.

Header

Знать язык НЕ ЗНАЧИТ быть разработчиком. Языки — это просто инструменты. Ты можешь знать весь синтаксис Python наизусть, но разработчиком ты станешь только тогда, когда:

  1. Умеешь делать проекты без Гугла и нейронок (хотя бы маленькие, но свои).
  2. Читаешь чужой код и понимаешь, что там происходит.
  3. Пишешь документацию к своему коду, чтобы другие (и ты через полгода) его поняли.
  4. Решаешь проблемы. Твоя главная задача — автоматизировать рутину или починить сломанное. Писание кода — лишь способ это сделать.
  5. Думаешь об архитектуре. Как соединить все части программы, чтобы она не развалилась при первой же нагрузке?

Это не весь список, но это — основа.

Header

Теперь, когда большая часть испугалась

Header

Все не так страшно. Начать с малого: пойми что ты хочешь?

  • Быстрый старт: Хочешь быстрее войти в профессию и видеть результат? Обрати внимание на тестирование (QA) или фронтенд.
  • Сайты (Веб): HTML (структура), CSS (стили), JS (интерактив). Потом можно углубиться в Node.JS и стать полноценным разработчиком.
  • Мобильные приложения (Android): Kotlin — современный стандарт. Java — для поддержки старого кода (легаси).
  • Мобильные приложения (IOS): Swift — современный стандарт. Objective-C — легаси.
  • Приложения (Windows): C# — основной язык платформы .NET.
  • Интернет вещей (IOT): Arduino + C++.
  • Телеграм-боты / Скрипты: Python — идеален.
  • Бекенд (Серверная часть): Go (быстрый и современный), Java (мощный и надежный), PHP (много легаси, но много и работы), Python, Node.JS.
  • Игры: C# (Unity), C++ (Unreal Engine).

Header

Первый редактор кода

Header

Выбор среды разработки зависит от твоего пути:

Направление Рекомендуемая IDE
Веб (HTML/CSS/JS) VSCode
Веб (PHP) VSCode / PHPStorm
Android Android Studio
IOS XCode (только Mac)
Windows (.NET, C#) Visual Studio
IOT (Arduino) Arduino IDE
Python PyCharm (Community бесплатно)
Java IntelliJ IDEA (Community бесплатно)
Go GoLand / VSCode

Header

Базовые правила

Header

  1. Не знаешь - гугли. Не надо делать костыли и гадать. В этом и смысл обучения
  2. С ошибками драться до конца.
  3. Все реально. Если ты где-то видел, значит это 100% реально.
  4. Иди до сути, а не до работоспособности. Оно может работать, но если ты не знаешь как это работает - это туманная зона.

Header

Типы данных

Header

Основные типы:

  1. Числа: int (целые) и float (дробные).
  2. Строки: str / string — текст в кавычках.
  3. Логические: bool — только true или false.
  4. Символы: char — один символ (в Python отдельно нет).
  5. Null/None: специальное значение "ничего".
  6. Массивы/Списки: array, list, [] — набор элементов.
    • Обычный массив: [1, 2, 3, 4, 5]
    • Ассоциативный массив (ключ-значение):
      • PHP: ["user" => ["id" => 10, "name" => "Jhon"]]
      • Python: {"user": {"id": 10, "name": "Jhon"}}
      • JavaScript: {user: {id: 10, name: "Jhon"}}

⚠️ В разных языках синтаксис разный.

В PHP используются "[]" и "=>"

$array = [
    "user" => [
        "id" => 10,
        "username" => "Jhon",
        "admin" => true 
    ]
];

В Python - "{}" или "[]" и ":" в зависимости от типа массива

arrayClassic = [1, 2, 3]
arrayHash = {
    "user": {
        "id": 10,
        "username": "Jhon",
        "admin": true 
    }
}

В JS - "{}" или "[]" и ":" в зависимости от типа массива

let array = {
    user: {
        id: 10,
        username: "Jhon",
        admin: true 
    }
};

⚠️ Индексы. Это условная ячейка массива. Исторически сложилось, что индексы считают с 0.

[
   {
       "id": 10,
       "username": "Jhon",
       "admin": true
   },
   {
       "id": 11,
       "username": "Maria",
       "admin": false
   }
]

Чтобы получить данные Jhon'a, обращаемся к первому элементу массива:

array[0]

И получаем:

{
    "id": 10,
    "username": "Jhon",
    "admin": true
}

Header

Что дальше?

Header

Я как веб разработчик могу дать план только по веб-разработке. Я не хочу и не буду врать и составлять фальшивые roadmap для других языков.

Мой личный план обучения веб-разработке (PHP + вёрстка).

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


📅 Неделя 1: Погружение в среду

  • Познакомься с интерфейсом своей IDE (среда разработки)
  • Пойми: язык программирования — это просто набор инструкций для компьютера
  • Усвой базу: прочитай выше сказанное**
  • Установи PHP версии 8.0 или выше (нам важна строгая типизация)
  • Скачай и настрой MAMP
  • Главное: разберись, зачем нужен локальный сервер

📅 Неделя 2: Первый шаг в коде

  • Создай файл index.php
  • Объяви первую переменную
  • Выведи её на экран через echo или print_r
  • Запомни правило:
    • echo — для строк и чисел
    • print_r — чтобы заглянуть внутрь массивов (echo массив не выведет)
  • Узнай: файлы index открываются по умолчанию (можно писать myapp/ вместо myapp/index.php)
  • Изучи структуру MAMP:
    • htdocs — твои проекты
    • bin/php — все установленные версии PHP
    • logs — логи. Туда попадают все, что было логнуто через error_log()
    • Остальные папки - пока не нужны

📅 Неделя 3: База HTML — структура документа

  • Основные теги: <html>, <head> (служебная информация), <body> (то, что видит пользователь)
  • Эксперимент: что будет, если положить <title> в <body>?
  • Вывод текста: заголовки <h1>...<h6> и абзацы <p>

📅 Неделя 4: Строительные блоки

  • Контейнеры: <div> и <span> (мимолётно, учится очень быстро)
  • Семантические теги: <header>, <footer>, <nav>
  • Списки: <ul>, <li>
  • Практика: каждый день верстай шапку и подвал сайта

📅 Неделя 5: Интерактив — формы

  • Теги: <input>, <button>
  • Атрибуты: type, minlength, maxlength, required, value
  • Задача: собери простую форму для ввода данных

📅 Неделя 6: Оформление — CSS

  • Базовые свойства: font-size, font-weight, color, background-color, height, width
  • Пойми, как работает вложенность тегов в HTML и как это влияет на стили

📅 Неделя 7: Святая святых — Flexbox

  • Flexbox — это база
  • Научись центрировать элементы (горизонтально и вертикально)
  • Свойства: display: flex, justify-content, align-items, flex-direction
  • Практика: закрепляй вёрсткой каждый день

📅 Неделя 8: Картинки, видео и анимация

  • Теги: <img>, <video>
  • Стили для медиафайлов
  • Простая анимация: transition: all 0.3s ease
  • Посмотри в F12 разницу между ease, linear и ease-in-out
  • Псевдоклассы: :hover, :active

📅 Неделя 9-10: Боевая задача

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

📅 Неделя 11: Настоящий PHP — переменные и условия

  • Типы данных: string, int, float, array - все перечисленное выше теперь на практике
  • Погугли мимолетно decimal (пригодится для MySQL)
  • Вывод HTML через echo: echo "<h1>Привет</h1>";
  • Условия: if, else

📅 Неделя 12: Важная теория + SCSS

  • PHP — интерпретируемый язык: выполняется на сервере, собирает страницу и только потом отдаёт готовый HTML
  • Познакомься с SCSS/Sass (вложенность правил сильно упрощает жизнь)
  • Научись подключать к проекту готовый CSS из SCSS

📅 Неделя 13-14: Циклы и функции

  • Циклы: foreach (самый ходовой), for, while
  • Функции: объявление, аргументы
  • Ключевые слова: return, break, continue
  • Конструкция: switch case

📅 Неделя 15-16: Тренировка

  • Создай мини-проект, используя всё пройденное (вёрстка + циклы + функции)

📅 Неделя 17-18: Работа с запросами

  • Суперглобальные массивы: $_GET, $_POST, $_SERVER
  • Учись обрабатывать данные из форм

📅 Неделя 19-21: Знакомство с базой данных

  • Открой localhost/phpmyadmin5/ (идёт в комплекте с MAMP)
  • Изучи интерфейс — это твой визуальный помощник
  • SQL-команды (CRUD): INSERT INTO, SELECT, UPDATE, DELETE
  • Создание таблиц и типы данных
  • Пойми, зачем нужна колонка id с авто-инкрементом (она есть в 99.99% таблиц)
  • Вспомни математику: инкремент и декремент

📅 Неделя 22-24: Безопасное подключение к БД

  • Учи PDO (PHP Data Objects)
  • Пойми: PDO — это не магия, а класс для безопасной работы с БД
  • Напиши базовый конфиг подключения к БД
  • Конструкция: $stmt = $pdo->prepare("..."); и $stmt->execute([...]);
  • Важно: пойми, что такое подготовленные запросы (prepared statements)
  • Демо: покажи, как взламывают сайт через name"; TRUNCATE users; -- и как защититься

📅 Неделя 25-26: Финальный проект

  • Создай свой простой форум
  • Никто не ждёт Stack Overflow. Напиши форум, можно даже без комментариев и лайков. Цель — закрепить все изученное
  • Доступ к постам, например, через ?/posts/index.php?id=10 (или просто /post?id=10)

🎯 Итог

Через полгода ты:

  • Понимаешь, как работает веб
  • Умеешь верстать на HTML/CSS (Flexbox, SCSS)
  • Знаешь основы PHP и работу с формами
  • Подключаешься к БД через PDO и пишешь безопасные запросы
  • Создаёшь полноценные проекты

Главное — практика и умение гуглить. Вперёд! 🚀

About

No description or website provided.

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors