Evgenii Legotckoi
Evgenii Legotckoi14 вересня 2018 р. 03:35

Шаблони проектуванняШаблони проектування, що породжують - Будівельник

Builder, шаблоны проектирования, Строитель

Причини

  • Відділення побудови складного об'єкта з його уявлення, щоб той самий процес побудови міг створювати різні уявлення.
  • Розбирання складного уявлення, створення однієї мети з кількох варіацій.

Проблеми

Відділення алгоритму інтерпретації об'єкта (наприклад парсинг документа) від механізму збереження готового стану об'єкта. …

Читати
Evgenii Legotckoi
Evgenii Legotckoi13 вересня 2018 р. 08:03

PythonПриклад - Абстрактна фабрика на Python

abstract, factory, abc, python

Приклад абстрактної фабрики мовою програмування Python


"""
Предоставление интерфейса для создания семейств связанных или зависимых
объектов без указания их конкретных классов.
"""

import abc


class AbstractFactory(metaclass=abc.ABCMeta):
    """
    Объявление интерфейса для методов, которые создают объекты.
    """

    @abc.abstractmethod
    def create_product_a(self):
        pass

    @abc.abstractmethod …
Читати
Evgenii Legotckoi
Evgenii Legotckoi13 вересня 2018 р. 06:12

C++Приклад - Абстрактна фабрика C++

cpp, шаблоны проектирования, abstract, new

Обговорення. «Подумайте про створення об'єктів як про фабрику, яка породжує ці об'єкти».

Тут ми призначаємо обов'язки створення об'єктів фабричного об'єкту, а потім використовуємо функції успадкування та віртуальні члени для надання можливості «віртуального конструктора». Таким чином, існують два аспекти. Клієнт використовує …

Читати
Evgenii Legotckoi
Evgenii Legotckoi13 вересня 2018 р. 06:01

Шаблони проектуванняШаблони проектування, що породжують - Абстрактна фабрика

шаблоны проектирования, абстрактная, abstract, new, фабрика

Причини

  • Надання інтерфейсу для створення сімейств пов'язаних чи залежних об'єктів без зазначення їх конкретних класів.
  • Ієрархія, яка інкапсулює: безліч можливих «платформ» та побудова набору «продуктів».
  • Оператор new вважається шкідливим.

Проблеми

Якщо програма має бути портативною, їй необхідно інкапсулювати всі залежності …

Читати
Evgenii Legotckoi
Evgenii Legotckoi09 серпня 2018 р. 04:29

LinuxBash-скрипт для створення та завантаження дампу бази даних та медіафайлів з віддаленого сервера

Bash, rsync, Linux

У процесі розробки сайту на Django (https://evileg.com/knowledge/django/) довелося почати розбиратися з Bash скриптами, щоб автоматизувати рутинні завдання. Наприклад, створення та завантаження дампа бази даних із сайту, а також резервування медіа файлів.

Будемо вважати, що Ви вже маєте доступ до сервера …

Читати
Evgenii Legotckoi
Evgenii Legotckoi07 серпня 2018 р. 03:10

LinuxПідрахунок кількості комітів для авторів у Git

Git, Fun, Linux

Задля розваги.

Чим можуть мірятися програмісти? Звичайно, своїми комітами, хоч би їхньою кількістю в Git репозиторії.

Для цього можна використовувати команду git shortlog, яка підсумовує виведення git log, надаючи більш короткий висновок.

Опції

Ця команда має кілька опцій, але використовуємо …

Читати
Evgenii Legotckoi
Evgenii Legotckoi06 серпня 2018 р. 02:52

C++Ідіома RAII і принцип структурованого програмування, що функція повинна мати одну точку входу і одну точку виходу

template, lambda, C++11

Світ програмування на C++ в нових стандартах дозволяє нам витворювати різні речі, завдяки яким можна спокійно відмовлятися від деяких старих тверджень або принципів, або просто гнучко підходити до цих принципів.

Хотілося б викласти свій погляд на роботу ідіоми RAII і …

Читати
Evgenii Legotckoi
Evgenii Legotckoi03 серпня 2018 р. 04:05

QtПрофілювання використання пам'яті в Linux за допомогою Qt Creator 4.7

Profiling, Qt, Профилирование

Аналізатор продуктивності

Ви могли б чути про Аналізатор Продуктивності (названий “CPU Usage Analyzer” (Аналізатор використання центрального процесора (ЦП)) у Qt Creator 4.6 і раніше). Йдеться про профільування програм з використанням чудового інструменту «perf» у Linux. Ви можете використовувати його локально …

Читати
Arrow
Arrow31 липня 2018 р. 04:57

PostgreSQLРобота з тригерними функціями в PostgreSQL

PostgreSQL, Триггерные функции, База данных

У процесі розробки одного додатка для обліку норм часу виникла потреба у створенні зведеної таблиці з вибіркою даних із вже існуючої.

Як база даних використовувалася PostgreSQL.

Вихідна таблиця “base_table” спрощено має такий вигляд:

Поля таблиці мають такі типи:

  • id - …
Читати
Evgenii Legotckoi
Evgenii Legotckoi31 липня 2018 р. 02:56

DjangoEVILEG з відкритим кодом

ESNF-ICO, ESNF-DOC, ESNF-C, ESNF, ESNF-LD, Django, EVILEG

Сталося, мабуть, те, чого хотіли б багато користувачів ресурсу EVILEG серед Web-розробників.

Було прийнято рішення відкрити вихідні джерела EVILEG, тим більше що вже неодноразово я отримував прохання показати вихідні джерела ресурсу і навіть пропозиції про посильне поліпшення програмного коду сайту. …

Читати
OI
  • Ora Iro
  • 24 грудня 2024 р. 06:38

C++ - Тест 001. Первая программа и типы данных

  • Результат:40бали,
  • Рейтинг балів-8
AD

C++ - Тест 004. Указатели, Массивы и Циклы

  • Результат:50бали,
  • Рейтинг балів-4
m
  • molni99
  • 26 жовтня 2024 р. 01:37

C++ - Тест 004. Указатели, Массивы и Циклы

  • Результат:80бали,
  • Рейтинг балів4
Останні коментарі
ИМ
Игорь Максимов22 листопада 2024 р. 11:51
Django - Підручник 017. Налаштуйте сторінку входу до Django Добрый вечер Евгений! Я сделал себе авторизацию аналогичную вашей, все работает, кроме возврата к предидущей странице. Редеректит всегда на главную, хотя в логах сервера вижу запросы на правильн…
Evgenii Legotckoi
Evgenii Legotckoi31 жовтня 2024 р. 14:37
Django - Урок 064. Як написати розширення для Python Markdown Добрый день. Да, можно. Либо через такие же плагины, либо с постобработкой через python библиотеку Beautiful Soup
A
ALO1ZE19 жовтня 2024 р. 08:19
Читалка файлів fb3 на Qt Creator Подскажите как это запустить? Я не шарю в программировании и кодинге. Скачал и установаил Qt, но куча ошибок выдается и не запустить. А очень надо fb3 переконвертировать в html
ИМ
Игорь Максимов05 жовтня 2024 р. 07:51
Django - Урок 064. Як написати розширення для Python Markdown Приветствую Евгений! У меня вопрос. Можно ли вставлять свои классы в разметку редактора markdown? Допустим имея стандартную разметку: <ul> <li></li> <li></l…
d
dblas505 липня 2024 р. 11:02
QML - Урок 016. База даних SQLite та робота з нею в QML Qt Здравствуйте, возникает такая проблема (я новичок): ApplicationWindow неизвестный элемент. (М300) для TextField и Button аналогично. Могу предположить, что из-за более новой верси…
Тепер обговоріть на форумі
Evgenii Legotckoi
Evgenii Legotckoi24 червня 2024 р. 15:11
добавить qlineseries в функции Я тут. Работы оень много. Отправил его в бан.
t
tonypeachey115 листопада 2024 р. 06:04
google domain [url=https://google.com/]domain[/url] domain [http://www.example.com link title]
NSProject
NSProject04 червня 2022 р. 03:49
Всё ещё разбираюсь с кешем. В следствии прочтения данной статьи. Я принял для себя решение сделать кеширование свойств менеджера модели LikeDislike. И так как установка evileg_core для меня не была возможна, ибо он писался…
9
9Anonim25 жовтня 2024 р. 09:10
Машина тьюринга // Начальное состояние 0 0, ,<,1 // Переход в состояние 1 при пустом символе 0,0,>,0 // Остаемся в состоянии 0, двигаясь вправо при встрече 0 0,1,>…

Слідкуйте за нами в соціальних мережах