Flyweight - спільні легкі об'єкти
Економить пам'ять, повторно використовуючи спільні екземпляри замість тисяч однакових. Розділення стану на внутрішній і зовнішній на прикладі кешу довідників.
Почніть вводити, щоб шукати по статтях, вакансіях, компаніях, проєктах, ресурсах, пакетах, подіях і користувачах.
Proxy ставить посередника з тим самим інтерфейсом перед реальним об'єктом, щоб контролювати доступ до нього.
Інколи перед зверненням до об'єкта треба додати кешування, перевірку прав, лінива ініціалізацію чи мережевий виклик - але вшивати це в сам об'єкт або розкидати по клієнтах не хочеться.
Проксі реалізує той самий інтерфейс, що й реальний об'єкт, додає свою логіку і за потреби делегує виклик далі. Бізнес-логіка працює з одним інтерфейсом (RatesProvider), не знаючи, чи звертається вона до реального API, чи до кешу.
interface RatesProvider
{
public function latest(): array;
}
class ApiRatesProvider implements RatesProvider
{
public function latest(): array
{
return ['USD' => 41.2, 'EUR' => 44.7];
}
}
class CachedRatesProxy implements RatesProvider
{
public function __construct(private RatesProvider $provider) {}
public function latest(): array
{
return cache()->remember('rates', 300, function () {
return $this->provider->latest();
});
}
}
12 / 12
Економить пам'ять, повторно використовуючи спільні екземпляри замість тисяч однакових. Розділення стану на внутрішній і зовнішній на прикладі кешу довідників.
Надає простий інтерфейс до складної підсистеми. Як фасади Laravel ховають контейнер за коротким викликом і де межа, за якою фасад стає God Object.
Працюємо як e-commerce, маємо спеціалізовану платформу з багатомільйонним товарним асортиментом. Backend: PHP 7.4, Yii/Yii2, Nginx, MySQL, SphinxSearch, Redis, RabbitMQ. Frontend: native JS, jQuery, Angular. Сьогодні dok.ua - найбільший інтернет-магазин запчастин та автотоварів в Україні. Вже 10 років, як ми успішно працюємо над створенням кращого сервісу для клієнтів та над його покращенням. Продовжуємо зростати, допомагаємо ЗСУ💪, віримо в Україну та хочемо розвивати український продукт з найкращими фахівцями. Наші продукти: Спеціалізована платформа** з багатомільйонним товарним асортиментом, яка обслуговує більше ста тисяч відвідувачів на добу; Внутрішня ERP-система** власної розробки, що дозволяє безперервно оновлювати будь-яку інформацію про товари і автоматизувати бізнес-процеси внутрішніх служб компанії на всіх етапах роботи з клієнтськими замовленнями. Досвід та технології, які нам важливі: 5+ років комерційної практики на позиції PHP Backend Developer Впевнене знання ООП, принципів SOLID, DRY, KISS PHP 7/8 Робота за MVC-патерном Yii/Yii2 - комерційна практика від 3-х років щонайменше з одним із фреймворків Laravel/Symfony/Lumen - робота з фреймворком від 2-х років Написання REST API та інтеграцій зі сторонніми сервісами Побудова мікросервісної архітектури на практиці Docker MySQL/MariaDB/PostgreSQL, оптимізація SQL-запитів Проведення або супровід навантажувального тестування (Apache Benchmark, JMeter або аналоги) Redis RabbitMQ Manticore Search (SphinxSearch) Розуміння Scrum/Kanban, робота за однією з методологій від 1 року Git, Jira, Confluence Буде плюсом: Розуміння принципів роботи з AWS та dedicated-серверами Знайомство з message brokers, окрім RabbitMQ (Kafka тощо) Знання інших мов програмування (Go, Python) Робота Elasticsearch Практика роботи з Supervisor Знайомство з системами моніторингу та логування (Grafana, Prometheus, ELK/Sentry) Бекграунд у сфері e-commerce/ERP/WMS Kubernetes Напрями задач: Робота над архітектурою систем Оптимізація коду та продуктивності Участь у переході на мікросервісну архітектуру Створення нового функціоналу в ERP та CRM системах: автоматизація роботи служб компанії, розробка інструментів управління існуючим онлайн-проєктом Інтеграція внутрішньої системи із системою складського обліку (WMS), її подальший розвиток і підтримка Розвиток та підтримка операційної частини бізнесу і внутрішніх систем управління Обов'язки: Написання якісного коду в рамках високонавантаженого проєкту Участь у проєктуванні технічних рішень та рев'ю архітектурних пропозицій команди Участь у плануванні та оцінці задач (estimation) разом з командою Проведення code review, менторство мідл/джуніор розробників Взаємодія з product owner/бізнес-аналітиками для уточнення вимог Інтеграція платіжних систем, служб доставки, аналітичних та маркетингових сервісів (тригерні e-mail/SMS розсилки, Google APIs тощо) Умови: Дружня команда; Цікаві задачі; Своєчасна зп; 2 місяці full time гібридний графік, після 2 місяців remote. Робота в офісі дозволить вам швидше освоїти нашу адмінку, яка є доволі складною, познайомитися з командою та вибудувати ефективну взаємодію; Адаптивний графік роботи (пн.-пт. з 9.00 / 10.00 до 18.00 / 19.00); Медичне страхування; Придбання товарів компанії по спеціальним умовам; Соціальні гарантії, передбачені законодавством (відпустка 24 календарних дні); Офіс в Святошинському районі (район Кільцевої дороги, 10 хв від м. Житомирська/Академмістечко).
We are looking for an experienced Senior PHP Developer to join our team and help build scalable, high-quality products. In this role, you will actively contribute to architectural decisions, drive technical initiatives, and collaborate closely with the team to deliver reliable and maintainable solutions. Requirements 5+ years of professional experience in software development. Expert-level knowledge of PHP 8.x and modern development practices. 5+ years of experience with Laravel or Symfony, including a deep understanding of framework internals. Strong experience with MySQL or MariaDB, including query optimization, schema design, and database normalization. Solid understanding of REST API design principles. Proficiency with Git, including branching strategies, code reviews, and release workflows. Experience with PHPUnit and defining testing strategies. Hands-on experience with Docker and containerized production environments. Strong knowledge of caching strategies and performance optimization techniques. Experience setting up and maintaining CI/CD pipelines (GitHub preferred). Solid understanding of Composer and dependency management. Comfortable working in Linux/CLI environments. Strong understanding of web application security best practices. Soft Skills Ability to independently design and architect solutions. Strong problem-solving mindset with a focus on maintainability and scalability. Confidence to challenge requirements and propose better alternatives. Ability to translate business needs into effective technical solutions. Experience leading technical initiatives or small teams. Strong written communication skills and experience working in asynchronous environments. Nice to Have Experience in the fintech or financial services domain. Frontend development experience with Vue.js or React. Experience with cloud platforms, preferably Azure. Previous experience conducting technical interviews or participating in hiring processes. What You'll Do Design and develop scalable, high-performance applications and APIs. Participate in architectural decisions and contribute to technical strategy. Collaborate with cross-functional teams to deliver business value. Drive best practices in code quality, testing, security, and performance. Mentor team members and contribute to continuous improvement initiatives. If you enjoy solving complex technical challenges, taking ownership of architecture and technical decisions, and building products that scale, we'd love to hear from you.
Привіт! Ми - KRONAS, перша українська компанія на ринку меблевих комплектуючих і фурнітури з майже 30-річною історією та міжнародним досвідом. Наша команда - це понад 500 професіоналів, які створюють комфортні умови праці та постійно розвиваються разом із компанією. Ми запрошуємо тебе на позицію Junior Back-end розробника у Києві. Що ти робитимеш у нас: Розроблятимеш і підтримуватимеш серверну частину наших внутрішніх і зовнішніх систем. Працюватимеш над оптимізацією продуктивності та надійності бекенду. Співпрацюватимеш з командою розробників, аналітиків і тестувальників для реалізації нових функцій і покращень. Брати участь у проєктуванні архітектури застосунків та впровадженні сучасних технологій. Вирішуватимеш технічні задачі, що підтримують масштабування бізнесу KRONAS і покращують користувацький досвід. Кого ми шукаємо: Розробника з досвідом роботи на позиції Junior Back-end не менше 1 років. Для позиції нам важливо, щоб ти знав та вмів використовувати знання з математики та геометрії Досвід з docker, REST Api, php. Того, хто вміє працювати в команді, відкритий до спільного пошуку рішень та прагне розвиватися. Освіта не є визначальною - цінуємо твої навички, досвід і бажання вчитися. Що пропонуємо ми: Роботу в стабільній і шанованій компанії з майже 30-річною історією та міжнародним досвідом. Ринкову та своєчасну заробітну плату з перспективою зростання залежно від твоїх результатів. Графік роботи: Гібрид/ офіс/ віддалено. Понеділок-п'ятниця з 9:00 до 18:00 Дружню, підтримуючу атмосферу і сильну корпоративну культуру, де цінують кожного співробітника. Можливості для професійного зростання і навчання - ми адаптуємо і розвиваємо таланти. Соціальні гарантії, корпоративні бонуси, знижки на продукцію компанії. Участь у розвитку інноваційних проєктів, які підтримують бізнес KRONAS та роблять життя клієнтів кращим. Приєднуйся до команди KRONAS - компанії, де цінують людей, підтримують прагнення до розвитку і створюють комфортне робоче середовище. Надсилай нам своє резюме та стань частиною нашої сім'ї вже сьогодні!
Bagisto — це платформа для електронної комерції, побудована на Laravel. Вона надає готове рішення для створення та управління інтернет-магазинами з підтримкою каталогу товарів, замовлень, платежів та клієнтів.