Шаблони проектування → Шаблони проектування, що породжують - Будівельник
Builder, шаблоны проектирования, Строитель
Причини
- Відділення побудови складного об'єкта з його уявлення, щоб той самий процес побудови міг створювати різні уявлення.
- Розбирання складного уявлення, створення однієї мети з кількох варіацій.
Проблеми
Відділення алгоритму інтерпретації об'єкта (наприклад парсинг документа) від механізму збереження готового стану об'єкта. …
ЧитатиPython → Приклад - Абстрактна фабрика на Python
abstract, factory, abc, python
Приклад абстрактної фабрики мовою програмування Python
Читати""" Предоставление интерфейса для создания семейств связанных или зависимых объектов без указания их конкретных классов. """ import abc class AbstractFactory(metaclass=abc.ABCMeta): """ Объявление интерфейса для методов, которые создают объекты. """ @abc.abstractmethod def create_product_a(self): pass @abc.abstractmethod …
C++ → Приклад - Абстрактна фабрика C++
cpp, шаблоны проектирования, abstract, new
Обговорення. «Подумайте про створення об'єктів як про фабрику, яка породжує ці об'єкти».
Тут ми призначаємо обов'язки створення об'єктів фабричного об'єкту, а потім використовуємо функції успадкування та віртуальні члени для надання можливості «віртуального конструктора». Таким чином, існують два аспекти. Клієнт використовує …
ЧитатиШаблони проектування → Шаблони проектування, що породжують - Абстрактна фабрика
шаблоны проектирования, абстрактная, abstract, new, фабрика
Причини
- Надання інтерфейсу для створення сімейств пов'язаних чи залежних об'єктів без зазначення їх конкретних класів.
- Ієрархія, яка інкапсулює: безліч можливих «платформ» та побудова набору «продуктів».
- Оператор new вважається шкідливим.
Проблеми
Якщо програма має бути портативною, їй необхідно інкапсулювати всі залежності …
ЧитатиLinux → Bash-скрипт для створення та завантаження дампу бази даних та медіафайлів з віддаленого сервера
У процесі розробки сайту на Django (https://evileg.com/knowledge/django/) довелося почати розбиратися з Bash скриптами, щоб автоматизувати рутинні завдання. Наприклад, створення та завантаження дампа бази даних із сайту, а також резервування медіа файлів.
Будемо вважати, що Ви вже маєте доступ до сервера …
ЧитатиLinux → Підрахунок кількості комітів для авторів у Git
Задля розваги.
Чим можуть мірятися програмісти? Звичайно, своїми комітами, хоч би їхньою кількістю в Git репозиторії.
Для цього можна використовувати команду git shortlog, яка підсумовує виведення git log, надаючи більш короткий висновок.
Опції
Ця команда має кілька опцій, але використовуємо …
ЧитатиC++ → Ідіома RAII і принцип структурованого програмування, що функція повинна мати одну точку входу і одну точку виходу
Світ програмування на C++ в нових стандартах дозволяє нам витворювати різні речі, завдяки яким можна спокійно відмовлятися від деяких старих тверджень або принципів, або просто гнучко підходити до цих принципів.
Хотілося б викласти свій погляд на роботу ідіоми RAII і …
ЧитатиQt → Профілювання використання пам'яті в Linux за допомогою Qt Creator 4.7
Аналізатор продуктивності
Ви могли б чути про Аналізатор Продуктивності (названий “CPU Usage Analyzer” (Аналізатор використання центрального процесора (ЦП)) у Qt Creator 4.6 і раніше). Йдеться про профільування програм з використанням чудового інструменту «perf» у Linux. Ви можете використовувати його локально …
ЧитатиPostgreSQL → Робота з тригерними функціями в PostgreSQL
PostgreSQL, Триггерные функции, База данных
У процесі розробки одного додатка для обліку норм часу виникла потреба у створенні зведеної таблиці з вибіркою даних із вже існуючої.
Як база даних використовувалася PostgreSQL.
Вихідна таблиця “base_table” спрощено має такий вигляд:
Поля таблиці мають такі типи:
- id - …
Django → EVILEG з відкритим кодом
ESNF-ICO, ESNF-DOC, ESNF-C, ESNF, ESNF-LD, Django, EVILEG
Сталося, мабуть, те, чого хотіли б багато користувачів ресурсу EVILEG серед Web-розробників.
Було прийнято рішення відкрити вихідні джерела EVILEG, тим більше що вже неодноразово я отримував прохання показати вихідні джерела ресурсу і навіть пропозиції про посильне поліпшення програмного коду сайту. …
Читати- Ora Iro
- 24 грудня 2024 р. 06:38
C++ - Тест 001. Первая программа и типы данных
- Результат:40бали,
- Рейтинг балів-8
- Akiv Doros
- 11 листопада 2024 р. 14:58
C++ - Тест 004. Указатели, Массивы и Циклы
- Результат:50бали,
- Рейтинг балів-4
- molni99
- 26 жовтня 2024 р. 01:37
C++ - Тест 004. Указатели, Массивы и Циклы
- Результат:80бали,
- Рейтинг балів4