Привет, меня зовут Иван.
- Уверенными знаниями языка PHP 7+ и PHP 8+;
- Знаниями и опытом применения стандартов PSR;
- Владением Composer, Linux системой, Git, Docker;
- Уверенными знаниями HTML, CSS, JS, сетевого слоя, SQL, архитектуры MVC, принципов SOLID и паттернов;
- Знаниями принципов безопасности работы приложений и пользовательских данных;
- Опытом эффективного построения REST API, оптимизации кода и нахождения оптимальных и эффективных способов решения задач.
- Филоссофия Java - по моему мнению, эта книга луше всех объясняет объекты.
- Код. Тайный язык информатики — научно-популярная книга американского программиста Чарльза Петцольда, в которой рассказывается, как персональные компьютеры работают на аппаратном и программном уровне.
- Грокаем алгоритмы. Алгоритмы - это всего лишь пошаговые инструкции решения задач, и большинство таких задач уже были кем-то решены, протестированы и проверены.
- Автоматное программирование — это парадигма программирования, при использовании которой программа или её фрагмент осмысливается как модель какого-либо формального автомата.
- Цель. Процесс непрерывного совершенствования. Голдратт Элияху рассказывает о том, как научиться управлять тем, что происходит, как понимать это. Книга построена в формате производственного романа, но главное в ней не сюжет, а методология и советы. Просто в таком контексте информация усваивается лучше и без труда.
Реализовать на symfony (5 или 6 версия) API для CRUD операций над пользователем. Таблица пользователей содежит следующие поля: id, email, name, age, sex, birthday, phone, created_at, updated_at. При реализации необходимо сделать валидацию для всех передаваемых полей. Код оформить по PSR стандартам. По выполнению задания:
- написать инструкцию по разворачиванию проекта
- залить код на github
- будет плюсом докеризация приложения
- наличие сервисного слоя обязательно
Модуль расчета стоимости доставки
Требуется спроектировать модуль расчета стоимости доставки. Есть две службы доставки:
- «Быстрая доставка»:
base_url: string
@var sourceKladr string //кладр откуда везем
@var targetKladr string //кладр куда везем
@var weight float //вес отправления в кг
@return json
{
'price': float //стоимость
'period': int //количество дней начиная с сегодняшнего, но после 18.00
заявки не принимаются.
'error': string
}
- «Медленная доставка»: имеет базовую стоимость 150р
base_url: string
@var sourceKladr string //кладр откуда везем
@var targetKladr string //кладр куда везем
@var weight float //вес отправления в кг
@return json
{
'coefficient': float //коэффициент (конечная цена есть произведение
базовой стоимости и коэффициента)
'date': string //дата доставки в формате 2017-10-20
'error': string
}
Задача в том, чтобы получить для набора отправлений стоимость и сроки доставки в контексте списка транспортных компаний и одной выбранной. Формат полученных от транспортных компаний данных должен быть приведен к единому виду
(
{
'price': float //стоимость
'date': string //дата доставки в формате 2017-10-20
'error': string
}
)
.
Message_queues (сообщения очереди) Laravel
Система по приему заявок на создание/регистрацию пользователей от любых систем по протоколу HTTP. Система должна состоять из двух основных модулей. Задача первого модуля - принимать заявки на создание пользователей и передавать их на асинхронное исполнение второму модулю через встроенный брокер очередей Laravel и отвечать инициатору создания в синхронном режиме только после того как пользователь будет создан. Задача второго модуля - принимать сообщения-заявки из очереди - и создавать пользователя в реляционной БД.
Custom_mvc_php (без ООП) чистый PHP
Приложение построенное по принципам MVC-архитектуры, без использования ООП. На этой системе я изучал принципы организации кода, сходные с фреймворками и састемами управления контента, но в упрощенном виде.
Реализованы следующие функции:
- полноценный роутинг;
- отдельные шаблоны для вывода контента;
- контроллеры;
- REST API;
- Docker.
Игры разума (без ООП) чистый PHP
Программа из четырех логических игр, построенных на элементарной арифметической логике. (вычислить выражение, четное или нет число, наименьший общий делитель, недостающее число прогрессии). У всех игр сходная логика, за небольшим исключением.
Был применен подход единственной ответственности (из принципов SOLID). Где, общая логика вычислений вынесена в ядро (движок игры), в который передаются данные из разных игр на обработку.
Проект является курсовым, по результатам прохождения основ программирования.
Функции высшего порядка (собственная реализация) PHP
Функции высшего порядка являются основными и не заменимыми в большенестве программ. Для детального понимания механизма работы этих функций, были сделаны собственные реализации.
- array_filter
- array_map
- array_reduce
Durk-Light-site-colorscheme (переключатель тем) JS
Работает с псевдоэлементом "checked" (который прописан в CSS). Состояние "checked" хранится в "localStorage" браузера. В зависимости от значения кнопки подключается дневной или ночной стиль оформления.
Программа, которая выводит на экран числа от 1 до 100. При этом вместо чисел, кратных трем, программа должна выводить слово «Fizz», а вместо чисел, кратных пяти — слово «Buzz». Если число кратно и 3, и 5, то программа должна выводить слово «FizzBuzz».
Roman-and-arabic-calc (первый в моей жизни код) JS
Калькулятор, который умеет вычислять как Арабские, так и Римские цифры. Это первая программа, которую я попытался реализовать. Код очень плох, но я им горжусь.
Мой блог: program-mister.ru