Подборка материалов · Junior

109 статей для Junior Fullstack-разработчика: большая подборка

Материалы для первого полного веб-приложения: интерфейс, JavaScript, серверная логика, SQL, REST API, Git, тестирование, Docker и безопасность.

109 статей · 10 тем · материалы на русском языке

Как работает веб и HTTP

  1. Установка базового программного обеспечения

    Чтобы подготовить рабочую среду разработчика.

  2. Работа с файлами

    Чтобы правильно организовать файлы проекта.

  3. Веб-страницы, веб-сайты, веб серверы и поисковики

    Чтобы понять связь страниц, сайтов и серверов.

  4. Публикация вашего веб-сайта

    Чтобы разместить готовый сайт в интернете.

  5. Как работает Веб

    Чтобы понять обмен данными браузера и сервера.

  6. Что выбрать новичку для домашнего веб-сервера: Nginx, Caddy или Apache

    Чтобы понимать обмен данными между браузером и сервером.

  7. Шаблон backend сервера на Golang — часть 1 (HTTP сервер)

    Чтобы понимать обмен данными между браузером и сервером.

  8. Мосты цифрового мира: клиент-сервер, сервер-сервер

    Чтобы понимать обмен данными между браузером и сервером.

  9. Слабо поднять такой крошечный контейнер? Создаем контейнеризованный HTTP-сервер на 6kB

    Чтобы одинаково запускать приложение в любой среде.

  10. Пример HTTP-сервера на PHP с использованием файберов

    Чтобы понимать обмен данными между браузером и сервером.

  11. Трехэтажные C++ные шаблоны в реализации встраиваемого асинхронного HTTP-сервера с человеческим лицом

    Чтобы выполнять долгие операции без зависания.

  12. HTTP/1 и HTTP/2 сервера на nodejs

    Чтобы понимать обмен данными между браузером и сервером.

HTML, CSS и интерфейсы

  1. Основы HTML

    Чтобы правильно разметить структуру страницы.

  2. Начало работы с HTML

    Чтобы правильно разметить структуру страницы.

  3. Что внутри "head"? Метаданные в HTML

    Чтобы настроить заголовок и данные страницы.

  4. Основы редактирования текста в HTML

    Чтобы семантически оформить текст на странице.

  5. Продвинутое форматирование текста

    Чтобы сделать содержание понятным браузеру.

  6. Структура документа и веб-сайта

    Чтобы сделать содержание понятным браузеру.

  7. Основы CSS

    Чтобы управлять внешним видом страницы.

  8. Как работает CSS

    Чтобы управлять внешним видом страницы.

  9. Начало работы с CSS

    Чтобы управлять внешним видом страницы.

  10. Селекторы CSS

    Чтобы точно выбирать элементы для стилизации.

  11. Селекторы атрибута

    Чтобы точно выбирать элементы для стилизации.

  12. Псевдоклассы, псевдоэлементы

    Чтобы точно выбирать элементы для стилизации.

JavaScript, TypeScript и компоненты

  1. Основы JavaScript

    Чтобы добавить странице логику и интерактивность.

  2. Что такое JavaScript?

    Чтобы добавить странице логику и интерактивность.

  3. Первое погружение в JavaScript

    Чтобы добавить странице логику и интерактивность.

  4. Переменные — место хранения необходимой информации

    Чтобы хранить и изменять данные в коде.

  5. Базовая математика в JavaScript — числа и операторы

    Чтобы выполнять вычисления в JavaScript.

  6. Работа с текстом — строки в JavaScript

    Чтобы обрабатывать текстовые данные в коде.

  7. Полезные методы для строк

    Чтобы обрабатывать текстовые данные в коде.

  8. Массивы

    Чтобы хранить и обрабатывать наборы данных.

  9. Принятие решений в вашем коде — условные конструкции

    Чтобы выполнять код по заданным условиям.

  10. Зацикливание кода

    Чтобы повторять операции без дублирования кода.

  11. Основы Reactjs: отображение и передача данных

    Чтобы собирать интерфейс из переиспользуемых компонентов.

  12. Знакомство с TypeScript: базовая типизация и ключевые возможности

    Чтобы находить ошибки типов до запуска.

Языки и серверные фреймворки

  1. Экономика выбора: Python, Java, Go при разных RPS. Деньги или скорость?

    Чтобы выбрать стек и реализовать серверную логику.

  2. Руководство для начинающих по серверной веб-разработке с Node.js

    Чтобы выбрать стек и реализовать серверную логику.

  3. 9 лет в монолите на Node.JS

    Чтобы выбрать стек и реализовать серверную логику.

  4. Как устроены память и Garbage Collector в CPython: разбор для Python backend interview

    Чтобы выбрать стек и реализовать серверную логику.

  5. Дорожная карта Java backend-разработчика: c Junior до Middle

    Чтобы выбрать стек и реализовать серверную логику.

  6. Апгрейд и рефакторинг PHP-проектов — теперь это просто с Rector

    Чтобы выбрать стек и реализовать серверную логику.

  7. Практическое руководство по разработке бэкенд-сервиса на Python

    Чтобы выбрать стек и реализовать серверную логику.

  8. 5 неочевидных возможностей FastAPI: упрощаем работу с бэкендом на Python

    Чтобы выбрать стек и реализовать серверную логику.

  9. Фреймворк Swoole на PHP для начинающих

    Чтобы выбрать стек и реализовать серверную логику.

  10. О Web-Backend разработке для начинающих

    Чтобы выбрать стек и реализовать серверную логику.

  11. От C до Go. Как Golang объединил лучшие черты своих предшественников

    Чтобы выбрать стек и реализовать серверную логику.

  12. Архитектура современных корпоративных Node.js-приложений

    Чтобы выбрать стек и реализовать серверную логику.

SQL и базы данных

  1. Выбор индексов в базах данных для highload‑систем

    Чтобы получать и изменять данные запросами.

  2. Погружаемся в базы данных и SQL: полезные материалы и инструменты от сотрудников Selectel

    Чтобы получать и изменять данные запросами.

  3. Сравнение SQL- и NoSQL-баз данных

    Чтобы получать и изменять данные запросами.

  4. «Postgres. Первое знакомство» (11-е издание) надёжный проводник в мир PostgreSQL

    Чтобы получать и изменять данные запросами.

  5. B-Tree индекс и его производные в PostgreSQL

    Чтобы получать и изменять данные запросами.

  6. Больше разработчиков должны знать это о базах данных

    Чтобы получать и изменять данные запросами.

  7. Здоровье индексов в PostgreSQL глазами Java-разработчика

    Чтобы получать и изменять данные запросами.

  8. TimescaleDB против всех: как база данных справляется с рядом сложных задач

    Чтобы получать и изменять данные запросами.

  9. Погружение в индексы PostgreSQL

    Чтобы получать и изменять данные запросами.

  10. Self-modifying SQL: динамическое изменение SQL-кода в процессе выполнения

    Чтобы получать и изменять данные запросами.

  11. Виды баз данных. Большой обзор типов СУБД

    Чтобы получать и изменять данные запросами.

  12. Распространённые ошибки изменения схемы базы данных PostgreSQL (Николай Самохвалов)

    Чтобы получать и изменять данные запросами.

REST API и обмен данными

  1. JSON:API 一 это не JSON API

    Чтобы передавать структурированные данные между системами.

  2. Валидация тела ответа с помощью JSON-Schema

    Чтобы передавать структурированные данные между системами.

  3. REST API на котиках

    Чтобы проектировать понятные и стабильные API.

  4. Принципы построения REST JSON API

    Чтобы передавать структурированные данные между системами.

  5. Проектирование REST API: спорные вопросы с проектов и собеседований на системного аналитика (и не только)

    Чтобы проектировать понятные и стабильные API.

  6. JSON API – работаем по спецификации

    Чтобы передавать структурированные данные между системами.

  7. Безопасность REST API от А до ПИ

    Чтобы проектировать понятные и стабильные API.

  8. Как проектировать качественные API

    Чтобы проектировать понятные и стабильные API.

  9. Создание RESTful API с помощью Django и Django REST Framework

    Чтобы проектировать понятные и стабильные API.

  10. Полный набор gRPC, RESTful JSON API, WS и Swagger из одного proto файла. От введения до нюансов и тонкостей grpc-gateway

    Чтобы передавать структурированные данные между системами.

  11. Json api сервис на aiohttp: middleware и валидация

    Чтобы передавать структурированные данные между системами.

  12. Как написать свою первую спецификацию на REST API. С какими ошибками может столкнуться аналитик и как их избежать?

    Чтобы проектировать понятные и стабильные API.

Git, Linux и командная строка

  1. Git для новичков (часть 1)

    Чтобы контролировать изменения и работать в команде.

  2. Git для новичков (часть 2)

    Чтобы контролировать изменения и работать в команде.

  3. Git для самых маленьких. От первой команды до настройки SSH

    Чтобы контролировать изменения и работать в команде.

  4. Git для новичков: ветки, коммиты и первый pull request

    Чтобы контролировать изменения и работать в команде.

  5. Гайд по Git для начинающих: основные команды, работа с ветками и типичные ошибки

    Чтобы контролировать изменения и работать в команде.

  6. 15 базовых советов по Git для эффективной работы каждый день

    Чтобы контролировать изменения и работать в команде.

  7. Linux: Файлы, навигация и поиск

    Чтобы контролировать изменения и работать в команде.

  8. Linux: Процессы

    Чтобы контролировать изменения и работать в команде.

  9. Linux для начинающих: WSL — это читерство. Как Microsoft дал нам Linux без головной боли

    Чтобы контролировать изменения и работать в команде.

  10. Bash-скрипты, часть 3: параметры и ключи командной строки

    Чтобы контролировать изменения и работать в команде.

  11. Linux для начинающих: WSL — это читерство. Как Microsoft дал нам Linux без головной боли. Часть 2

    Чтобы контролировать изменения и работать в команде.

  12. SSH с высоты птичьего полёта, или разгребаем кучи ключей

    Чтобы контролировать изменения и работать в команде.

Тестирование и отладка

  1. Что пошло не так? Устранение ошибок JavaScript

    Чтобы быстрее находить причины ошибок в браузере.

  2. Отладка JavaScript в Chrome DevTools для начинающих фронтендеров

    Чтобы быстрее находить причины ошибок в браузере.

  3. Chrome DevTools: Хитрости при отладке

    Чтобы быстрее находить причины ошибок в браузере.

  4. Как эффективно использовать Chrome DevTools для QA: подборка интересных возможностей

    Чтобы быстрее находить причины ошибок в браузере.

  5. Мне этот Chrome DevTools теперь абсолютно понятен

    Чтобы быстрее находить причины ошибок в браузере.

  6. Экипировка Бонда: полезные инструменты DevTools

    Чтобы быстрее находить причины ошибок в браузере.

  7. Как писать юнит-тесты, если совсем не хочется

    Чтобы находить ошибки до выпуска продукта.

  8. Как упростить себе жизнь: удобные юнит-тесты с JUnit и AssertJ

    Чтобы находить ошибки до выпуска продукта.

  9. От Jest к Vitest на backend тестах: как мы мигрировали тестовый фреймворк для ускорения CI и повышения стабильности

    Чтобы находить ошибки до выпуска продукта.

  10. Как провести нагрузочное тестирование правильно. Часть 1: как думать о тестировании производительности

    Чтобы находить ошибки до выпуска продукта.

  11. Как перестать беспокоиться и начать внедрять интеграционные тесты

    Чтобы находить ошибки до выпуска продукта.

  12. Гайд по автотестам, часть 2. Юнит-тесты

    Чтобы находить ошибки до выпуска продукта.

Docker и безопасность

  1. Основы Docker: контейнеризация, Dockerfile и Docker Compose. Часть 2

    Чтобы одинаково запускать приложение в любой среде.

  2. Docker изнутри: исчерпывающее руководство. Механизмы контейнеризации + примеры, эксперименты и реализация

    Чтобы одинаково запускать приложение в любой среде.

  3. Docker Fundamentals: что внутри compose.yaml и как там всё устроено

    Чтобы одинаково запускать приложение в любой среде.

  4. Docker Compose: Фичи, которые ускорят вашу разработку

    Чтобы одинаково запускать приложение в любой среде.

  5. Управление временем контейнера с помощью docker-compose и faketime

    Чтобы одинаково запускать приложение в любой среде.

  6. Пишем простой docker-compose.yml для контейнеризации приложения (React, Spring Boot, PostgreSQL, pgAdmin)

    Чтобы одинаково запускать приложение в любой среде.

  7. Азбука безопасности в Kubernetes: аутентификация, авторизация, аудит

    Чтобы одинаково запускать приложение в любой среде.

  8. Пишем gRPC сервис на Go — сервис авторизации

    Чтобы одинаково запускать приложение в любой среде.

  9. Простой сервис аутентификации и авторизации по JWT на основе фильтров SpringSecurity

    Чтобы одинаково запускать приложение в любой среде.

  10. Как правильно хешировать пароли в высоконагруженных сервисах. Опыт Яндекса

    Чтобы одинаково запускать приложение в любой среде.

  11. SmartFlow: «В начале был пароль…» или новая аутентификация VK ID

    Чтобы одинаково запускать приложение в любой среде.

  12. Соль и перец в безопасности паролей

    Чтобы одинаково запускать приложение в любой среде.

Организация работы

  1. Декомпозиция целей и задач

    Чтобы превращать цели в понятные задачи.

Все подборки для Fullstack-разработчика →