Здесь содержатся черновики уроков и некоторые задания. Оглавление:
- Алгоритм обработки данных форм
- Что такое хороший код
- Задачи с собеседований
- Задача про список студентов
- Добавление комментариев в схему базы данных
- Базы данных и SQL
- Нормализация баз данных
- Паттерны работы с базой данных
- Как хранить в БД древовидные структуры
- Особенности свойства margin на элементах с float
- Путь HTML/CSS
- Тестирование и отладка верстки под ИЕ
- Способы позиционирования элементов в CSS
- Алгоритм автоматического определения ширины shrink-to-fit в CSS
- Работа с аякс-запросами
- Изучаем MVC на примере игры «Сапер»
- Как правильно подставлять значения в JS код
- Задачка на создание SPA приложения
- Автозагрузка, неймспейсы и PSR-4
- Сравнение и сортировка строк в PHP
- Работа с датой и временем в PHP
- Инкапсуляция в ООП
- Как использовать исключения в PHP
- Интерфейсы в ООП
- Функции работы с UTF-8 строками в PHP
- Шаблоны в PHP
- Как безопасно загружать файлы пользователей на сервер
- Как безопасно хранить пароли
- SQL-инъекция (внедрение SQL кода) и способы борьбы с ней
- Уязвимость XSRF
- Уязвимость XSS в PHP-скриптах и как ее избежать
- Установка Апача с PHP
- Как начать пользоваться командной строкой
- Установка и настройка PHP
- Настраиваем веб-сервер для работы с PHP из браузера
- Как устроены компьютерные сети, что такое NAT
- Как работают транзакции в MySQL, что такое MVCC
- Варианты архитектуры программ-серверов (много процессов, много потоков, асинхронный код)
- Автоматизированное тестирование
- Задачи, помогающие проверить и закрепить знание Яваскрипта на нужном для разработки сайтов уровне
- Как установить и настроить Sphinx, как подключиться к нему из php-кода
- Задача на написание клона игры Арканоид для браузера на JS, с подробными комментариями. Эта задача научит использовать канвас, а также даст представление об устройстве простых игр.
- Задача написать файлообменник. Как всегда, с подробными комментариями, почти что урок по написанию файлообменников, по безопасной загрузке файлов, по получению информации об аудио- и видео-файлах и их конвертированию.
- Как автоматически отформатировать PHP код с помощью IDE или сайта
- Задача сделать сайт для проведения тестов знаний Testhub. Эта задача не для совсем начинающих, а для тех, кто уже делал более простые задачи вроде студентов или файлообменника. Она позволит освоить какой-нибудь серьезный фреймворк (например, Symfony), ORM, делать сложные формы, использовать автоматические тесты. Она содержит подробные комментарии и по сложности близка к реальным задачам.
- Задача сделать калькулятор для вычисления выражений с приоритетом операторов и скобками. Эта задача с комментариями позволит узнать про лексический и синтаксический анализ, дерево выражения (AST) и как это можно использовать для вычисления математических выражений.
- Красивые URL - как можно организовать адреса страниц (URL) на сайте, чтобы это выглядело логично и было удобно.
Вопросы/советы/замечания — шлите на [email protected]
Если вы обнаружили какие-то ошибки или опечатки, вы можете написать о них на почту, либо сделать пулл-реквест с исправлением. Заранее спасибо!
Эти статьи написаны с помощью разметки markdown (она позволяет оформлять текст, добавлять заголовки, ссылки, блоки с кодом, картинки). Если вы с ней не знакомы, но вам интересно, как это сделано, просто откройте статью и нажмите кнопку Raw, чтобы увидеть исходный текст с разметкой.
Оглавление генерируется скриптом /util/create-readme.php
.
Есть автоматизированный скрипт, который умеет обходить все статьи, находит в них ссылки и проверяет, что они работают: https://github.com/codedokode/pasta-link-checker
Еще я использую набор скриптов, которые ищут опечатки в статьях с помощью программы hunspell: https://github.com/codedokode/pasta-spellcheck