image

Баркемп (англ. BarCamp) — міжнародна мережа конференцій, яка створюється її учасниками. Конференції відкриті для всіх, проходять у форматі доповідей, тренінгів, презентацій, обговорень. Весь матеріал надається самими учасниками. © — Wiki

Подібні заходи в Magento відбуваються на регулярній основі. І в подальшому також будуть висвітлюватися тут.
Вашій увазі представляються відео доповідей з березневого івенту.

Більше під хабракатом

Читати далі →

image
Частини 1 і 2: посилання
У першій частині ми поговорили про різних стратегіях обробки помилок і про те, коли їх рекомендується застосовувати. Зокрема, я розповів, що передумови функцій повинні перевірятися з допомогою налагоджувальних тверджень (debug assertions), тобто тільки в режимі налагодження.
Для перевірки умови бібліотека З надає макрос
assert()
, але тільки якщо не визначено
NDEBUG
. Однак, як і у випадку з багатьма іншими речами, це просте, але іноді неефективне рішення. Головна проблема, з якою я зіткнувся, — глобальність рішення: у вас є твердження або скрізь, або ніде. Погано це тому, що ви не зможете вимкнути затвердження в бібліотеці, залишивши їх тільки у власному коді. Тому багато авторів бібліотек самостійно пишуть макроси тверджень, раз за разом.
Читати далі →



Існує дві основні стратегії: обробка виправних помилок (виключення, коди повернення помилково, функції-обробники) і невиправних (
assert()
,
abort()
). В яких випадках яку стратегію краще використовувати?

Читати далі →

Введення
Добрий день, панове! Я учень 11 класу і розробкою займаюся тільки від того, що не хочу готуватися до ЄДІ. Хочеться відзначити, що стаття не призначена для новачків у програмуванні. Ідею програми можна описати трьома словами — побачив, запам'ятав, повторив. Перед гравцем з'являється квадратне поле з певним кількість зафарбованих елементів. Через деякий час поле очищається. Треба вибрати які елементи були зафарбовані. У міру проходження рівнів гри поле стає все більше і запам'ятовувати доводиться все більше.

Читати далі →

Помер MVC для фронтенда?


В цій статті хочу поділитися перекладом цікавих роздумів на тему минулого і сьогодення в архітектурі фронтенда.

У той час як все більше і більше фронтенд-розробників переймають підходи до односпрямованої архітектурою, виникає питання — чи є майбутнє у класичного MVC? Щоб зрозуміти, як ми дійшли до такого питання, давайте трохи проаналізуємо еволюцію архітектури фронтенда.

Читати далі →

Чому VIPER це поганий вибір для вашого наступного програми

Цей пост є вільним перекладом статті Why VIPER is a bad choice for your next application by Sergey Petrov
За останній рік про VIPER писали всі, кому не лінь. Ця архітектура реально надихає розробників. Але більшість статей, насправді, досить упереджені. Вони лише показують крутизну цього архітектурного патерну, замовчуючи про його негативні сторони. Адже проблем у нього не менше (а може навіть і більше) ніж у інших. І в цій статті я постараюся пояснити, чому VIPER зовсім не такий хороший, як про нього говорять, і чому він не підійде для більшості ваших додатків.

Читати далі →

Структура "Feature Folders" ASP.NET Core MVC



Перша версія ASP.NET MVC з'явилася ще в 2009 році, а перший перезапуск платформи (ASP.NET Core) почав поставлятися з минулого літа. Протягом цього часу структура проекту за замовчуванням залишилася майже незмінною: папки для контролерів, уявлень (views) і часто для моделей (або, можливо, ViewModels). Такий підхід називається Tech folders. Після створення нового проекту ASP.NET Core MVC організаційна структура папок має наступний вигляд:


У чому проблема зі структурою папок за замовчуванням?
Великі веб-додатки вимагають кращої організації ніж маленькі. Коли є великий проект, організаційна структура папок, що використовується за умовчанням в ASP.NET MVC (і Core MVC), перестає працювати на вас.

Читати далі →

Архітектура микросервисов



На жаль, у мене немає досвіду роботи з микросервисами, але близько року тому я дуже активно цікавився цією темою і вивчив всі джерела інформації, які зміг знайти. Я переглянув кілька виступів на конференціях, прочитав кілька статей дуже авторитетних і досвідчених фахівців на зразок Мартіна Фаулера, Фреда і Джорджа, Едріана Кокрофта та Кріса Річардсона, щоб якомога більше дізнатися про микросервисах. Ця стаття — результат моїх вишукувань.

Читати далі →

Чиста архітектура в Python: покрокова демонстрація. Частина 5


Зміст
REST-шар (частина1)
Git tag:Step12

Настав завершальний етап нашого пригоди за чистою архітектурою. Ми створили моделі предметної області, сериализаторы, сценарії та сховищі. Але поки відсутній інтерфейс, який склеює всі разом: отримує параметри виклику від користувача, ініціалізує сценарій зі сховищем, виконує сценарій, який отримує моделі предметної області з сховища, і перетворює їх у стандартний формат. Цей шар може бути представлений за допомогою безлічі інтерфейсів і технологій. Наприклад, за допомогою інтерфейсу командного рядка (CLI): отримувати параметри за допомогою ключів командного рядка і повертати результат у вигляді тексту на консолі. Але та ж базова система може бути використана і для web-сторінки, яка отримує параметри виклику з набору віджетів, виконує описані вище кроки, і розбирає повернені дані у форматі JSON для відображення результату на тій же сторінці.

незалежно від обраної технології для взаємодії з користувачем, збору вхідних даних та надання вихідних результатів, нам необхідно взаємодіяти з нещодавно створеної чистої архітектурою. Тому зараз ми створимо шар для винесення назовні API для роботи з HTTP. Реалізовано це за допомогою сервера, який надає набір HTTP-адрес (кінцевих точок API), при зверненні до яких повертаються деякі дані. Такий шар зазвичай називають REST-шар, тому що, як правило, семантика адрес схожа з рекомендаціями REST.
Читати далі →

Чиста архітектура в Python: покрокова демонстрація. Частина 4


Зміст
Сценарії (частина 3)
Git tag:Step09

Наша реалізація відповідей і запитів, нарешті, завершена. І тепер ми можемо реалізувати останню версію нашого сценарії. Сценарій коректно повертає об'єкт
<font color="#900">ResponseSuccess</font>
, але досі не перевіряє коректність вхідного запиту.

Давайте змінимо тест у файлі
<font color="#900">tests/use_cases/test_storageroom_list_use_case.py</font>
і додамо ще 2 тіста. Отриманий набір тестів (після фікстури
<font color="#900">domain_storagerooms</font>
) виглядає наступним чином:

Читати далі →