Секционный доклад
Экскурс в мир WEB разработки
Дмитрий Лаабе
Генеральный директор и основатель рекрутинговой компании IT-Доминанта
Технический директор и программист
портала Айти-Событие
Россия. Санкт-Петербург
http://it-sobytie.ru/events/3120
Введение курса "Как создать сайт с нуля за 1 день". Рассматриваются вопросы общей схемы работы по созданию сайта, различные способы решения возникающих проблем (вопрос выбора CMS, проектирования / реализации дизайна), а также реализация первых шагов: установка web-сервера, СУБД MySQL, PHP.
Рано или поздно возникает необходимость в собственных инструментах по разным причинам: либо не хватает готовых, либо есть какая-то особенность в проекте. Разработка инструментов, работающих в браузере, является непростой задачей. Самое сложное — чтобы они умели работать удаленно, вне страницы. Это многих пугает — нужно много сделать и во многом разобраться. Но если большая часть проблем уже решена, и можно сосредоточиться лишь на основной функции инструмента? Что если такие инструменты смогут работать в произвольном WebView, будь оно встроено в браузер, редактор или другое приложение на любом устройстве? Доклад про удалённые инструменты: какие есть сложности и как их обойти, как перестать бояться и начать делать инструменты под свои задачи и технологический стек.
2015-12-12 | AzovDevMeetup 2015 | Enterprise приложения на PHP | Павел КрынецкийJSC “Arcadia Inc”
Краткий экскурс в историю развития PHP как языка программирования с момента зарождения и до наших дней, попытка проследить расширение сферы применения языка и выявить причины, этому способствовавшие, обзор возможностей современного PHP как языка программирования и как стэка технологий для создания мощных программных решений корпоративного уровня.
Доклад будет интересен как начинающим программистам, так и разработчикам с опытом, ещё не освоившим PHP.
Автор доклада: Павел Крынецкий — PHP/Java разработчик, компания Аркадия. Участвовал в разработке веб-проектов корпоративного сектора различной сложности для как для российских, так и зарубежных заказчиков. Профессиональный опыт в IT-индустрии > 7 лет.
Почему WordPress является выбором номер один для веб-студий и их клиентов? Презентация посвящена развенчанию самых частых мифов о WordPress, которые живут в головах заказчиков, разработчиков и руководителей студий.
http://2014.russia.wordcamp.org
Создание сайтов: как всё устроено и первые шаги.Александр Лысяк
Введение курса "Как создать сайт с нуля за 1 день". Рассматриваются вопросы общей схемы работы по созданию сайта, различные способы решения возникающих проблем (вопрос выбора CMS, проектирования / реализации дизайна), а также реализация первых шагов: установка web-сервера, СУБД MySQL, PHP.
Mind map от «Полмиллиона юзеров в онлайне без падений: оптимизация высокона...Sergey Xek
см. http://www.slideshare.net/rybaxek/serverside-api
Полмиллиона юзеров в онлайне без падений: оптимизация высоконагруженного server-side API десктопного приложения. Сергей Аверин, Badoo.
Доклад рассказывает о реально примененных способах оптимизации производительности API компании Badoo для собственных десктоп-приложений: как специфика «много постоянных соединений/однотипные запросы/большая нагрузка» повлияла на стратегию оптимизации производительности.
Что было сделано:
• Планирование архитектуры изначально (fault-tolerance, адаптивные апдейты и тайм-ауты, отказ от попыток восстановления после ошибок для единичных команд).
• Переехали с redis на handlersocket.
• Rate-limiting запросов к демонам.
• Синхронизация записей.
• Асинхронность.
• Записи при достижении порога изменения параметров.
• Профилирование кода, анализ потребления CPU, времени ответа.
• Статистика, статистика и еще раз статистика.
• Pconnect.
Доклад будет интересен:
• системным архитекторам,
• server-side разработчикам.
Устройство фреймворка symfony 2 (http://frontend-dev.ru)Александр Егурцов
Презентация к вебинару об устройстве фреймворка symfony 2.
Видеозапись вебинара находится в моём блоге по адресу http://frontend-dev.ru/2012/12/12/symfony2-основы
Ігор Карпиленко — PHPStorm for drupal developerLEDC 2016
Розгляд та аналіз інфструментів PHPStorm для drupal розробника: QA tools, Xdebug, Issue Tracking System, Drush, інструменти для роботи з Vagrant, Docker і базами даних. Корисні плагіни.
Секционный доклад
Экскурс в мир WEB разработки
Дмитрий Лаабе
Генеральный директор и основатель рекрутинговой компании IT-Доминанта
Технический директор и программист
портала Айти-Событие
Россия. Санкт-Петербург
http://it-sobytie.ru/events/3120
Введение курса "Как создать сайт с нуля за 1 день". Рассматриваются вопросы общей схемы работы по созданию сайта, различные способы решения возникающих проблем (вопрос выбора CMS, проектирования / реализации дизайна), а также реализация первых шагов: установка web-сервера, СУБД MySQL, PHP.
Рано или поздно возникает необходимость в собственных инструментах по разным причинам: либо не хватает готовых, либо есть какая-то особенность в проекте. Разработка инструментов, работающих в браузере, является непростой задачей. Самое сложное — чтобы они умели работать удаленно, вне страницы. Это многих пугает — нужно много сделать и во многом разобраться. Но если большая часть проблем уже решена, и можно сосредоточиться лишь на основной функции инструмента? Что если такие инструменты смогут работать в произвольном WebView, будь оно встроено в браузер, редактор или другое приложение на любом устройстве? Доклад про удалённые инструменты: какие есть сложности и как их обойти, как перестать бояться и начать делать инструменты под свои задачи и технологический стек.
2015-12-12 | AzovDevMeetup 2015 | Enterprise приложения на PHP | Павел КрынецкийJSC “Arcadia Inc”
Краткий экскурс в историю развития PHP как языка программирования с момента зарождения и до наших дней, попытка проследить расширение сферы применения языка и выявить причины, этому способствовавшие, обзор возможностей современного PHP как языка программирования и как стэка технологий для создания мощных программных решений корпоративного уровня.
Доклад будет интересен как начинающим программистам, так и разработчикам с опытом, ещё не освоившим PHP.
Автор доклада: Павел Крынецкий — PHP/Java разработчик, компания Аркадия. Участвовал в разработке веб-проектов корпоративного сектора различной сложности для как для российских, так и зарубежных заказчиков. Профессиональный опыт в IT-индустрии > 7 лет.
Почему WordPress является выбором номер один для веб-студий и их клиентов? Презентация посвящена развенчанию самых частых мифов о WordPress, которые живут в головах заказчиков, разработчиков и руководителей студий.
http://2014.russia.wordcamp.org
Создание сайтов: как всё устроено и первые шаги.Александр Лысяк
Введение курса "Как создать сайт с нуля за 1 день". Рассматриваются вопросы общей схемы работы по созданию сайта, различные способы решения возникающих проблем (вопрос выбора CMS, проектирования / реализации дизайна), а также реализация первых шагов: установка web-сервера, СУБД MySQL, PHP.
Mind map от «Полмиллиона юзеров в онлайне без падений: оптимизация высокона...Sergey Xek
см. http://www.slideshare.net/rybaxek/serverside-api
Полмиллиона юзеров в онлайне без падений: оптимизация высоконагруженного server-side API десктопного приложения. Сергей Аверин, Badoo.
Доклад рассказывает о реально примененных способах оптимизации производительности API компании Badoo для собственных десктоп-приложений: как специфика «много постоянных соединений/однотипные запросы/большая нагрузка» повлияла на стратегию оптимизации производительности.
Что было сделано:
• Планирование архитектуры изначально (fault-tolerance, адаптивные апдейты и тайм-ауты, отказ от попыток восстановления после ошибок для единичных команд).
• Переехали с redis на handlersocket.
• Rate-limiting запросов к демонам.
• Синхронизация записей.
• Асинхронность.
• Записи при достижении порога изменения параметров.
• Профилирование кода, анализ потребления CPU, времени ответа.
• Статистика, статистика и еще раз статистика.
• Pconnect.
Доклад будет интересен:
• системным архитекторам,
• server-side разработчикам.
Устройство фреймворка symfony 2 (http://frontend-dev.ru)Александр Егурцов
Презентация к вебинару об устройстве фреймворка symfony 2.
Видеозапись вебинара находится в моём блоге по адресу http://frontend-dev.ru/2012/12/12/symfony2-основы
Ігор Карпиленко — PHPStorm for drupal developerLEDC 2016
Розгляд та аналіз інфструментів PHPStorm для drupal розробника: QA tools, Xdebug, Issue Tracking System, Drush, інструменти для роботи з Vagrant, Docker і базами даних. Корисні плагіни.
2. ЧТО ТАКОЕ ФРЕЙМВОРК?
Фреймворк - готовая модель в IT, заготовка, шаблон для программной платформы, на основе которого
можно дописать собственный код.
Проще говоря, фреймворк — это как готовая скелетная структура для программ. Это как готовый домик
без внутренней отделки. Ты можешь добавлять свои комнаты и мебель, но основу уже придумали за тебя.
К примеру, всю работу с базой данных на себя берет фреймворк, а разработчику лишь необходимо сказать,
какие данные и где хочется хранить. Фреймворк обеспечивает уже готовые инструменты и правила для
создания, редактирования и извлечения информации из базы данных
3. FRONTEND VS. BACKEND
Прежде чем мы погрузимся в более глубокое изучение фреймворков, имеет
смысл предварительно рассмотреть различия между Frontend и Backend.
Простыми словами,
Frontend — это визуальный маг, создающий волшебство непосредственно
перед глазами пользователей. Он создает милые кнопки, уютные формы и
удивительные анимации, которые делают веб-страницы красочными и
привлекательными.
Backend, с другой стороны, — это тихий гений, работающий в тени. Он
отвечает за все то, что происходит за кулисами. Он управляет базами
данных, обрабатывает запросы пользователей и обеспечивает безопасность.
Таким образом, Frontend и Backend как два хорошо согласованных партнера
создают гармонию в веб-разработке.
4. СОВРЕМЕННЫЕ FRONTEND И BACKEND ФРЕЙМВОРКИ
Backend фреймворки Frontend фреймворки
Django (Python) React
Symfony (PHP) Vue
Spring (Java) Angular
Laravel (PHP) jQuery
ASP.NET (C#) Emberjs
Express.js (JS) Meteor.js
5. BACKEND ФРЕЙМВОРКИ. SYMFONY
Symfony — это набор компонентов PHP, веб-фреймворк для приложений,
философия и сообщество, все вместе гармонично взаимодействующие:
Фреймворк Symfony — ведущий фреймворк на PHP для создания веб-
сайтов и веб-приложений. Построен на основе компонентов Symfony
Компоненты Symfony — набор независимых и повторно используемых
компонентов, на основе которых создаются лучшие приложения на PHP,
такие как Drupal, Prestashop и Laravel
Сообщество Symfony — группа более чем 600 000 разработчиков из более
чем 120 стран, все они стремятся помочь PHP преодолеть невозможное
6. КОМПОНЕНТЫ SYMFONY FRAMEWORK
Symfony
HttpFoundation
Обработка HTTP-
запросов и
создание HTTP-
ответов
Routing
Управление
маршрутизацией
Form
Создание и
обработка веб-
форм
Security
Обеспечение
аутентификации,
авторизации и
защиты
приложения
HttpKernel
Основа обработки
запросов и
создания ответов
Twig
Шаблонизатор
для создания
шаблонов
Doctrine
Инструменты для
работы с базой
данных
7. ПАКЕТНЫЙ МЕНЕДЖЕР PHP — COMPOSER
Composer – пакетный менеджер PHP. Этот инструмент позволяет
вам указать библиотеки и пакеты (зависимости), от которых
зависит ваш проект, и автоматически управлять процессом их
установки и обновления.
Установить composer:
https://getcomposer.org/download/
Установка пакетов
$ composer require <package>
Обновление пакетов
$ composer update
8. УСТАНОВКА SYMFONY #1
Технические требования для установки:
>= PHP 8.1
Установленный Composer
Установка Symfony CLI – инструмента для разработки и запуска вашего приложения Symfony локально
https://github.com/symfony-cli/symfony-cli
Подробный гайд установки Symfony:
https://symfony.com/doc/current/setup.html
9. УСТАНОВКА SYMFONY #2
УСТАНОВКА SYMFONY С ПОМОЩЬЮ CLI
Установка Symfony с помощью утилиты `symfony`
# установка традиционного web-приложения
$ symfony new my_project_directory --version="6.3.*" --webapp
# установка symfony, если вы разрабатываете микросервис, API, или консольное приложение
$ symfony new my_project_directory --version="6.3.*“
Установка Symfony с помощью composer
$ composer create-project symfony/skeleton:"6.3.*" my_project_directory
$ cd my_project_directory
$ composer require webapp
11. СТРУКТУРА ДИРЕКТОРИЙ
bin/: Исполняемые файлы
config/: Конфигурационные файлы
packages/: Конфигурации различных пакетов
routes.yaml: Определение маршрутов
services.yaml: Конфигурация сервисов
framework.yaml: Конфигурация фреймворка
public/: Веб-доступные файлы
src/: Исходный код проекта
Controller/: Контроллеры
Entity/: Классы сущностей (для работы с БД)
Form/: Классы форм Symfony
Repository/: Репозитории для работы с базой данных
Service/: Сервисы
templates/: Шаблоны представлений
tests/: Тесты
translations/: Переводы
var/: Временные данные (кэш, логи и т.д.)
vendor/: Зависимости (установленные пакеты)
... (другие файлы и директории)