Evgenii Legotckoi
Evgenii Legotckoi14 сентября 2018 г. 3:35

Шаблоны проектированияПорождающие шаблоны проектирования - Строитель

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

Причины

  • Отделение построения сложного объекта от его представления, чтобы тот же процесс построения мог создавать разные представления.
  • Разборка сложного представления, создание одной цели из нескольких вариаций.

Проблематика

Отделение алгоритма интерпретации объекта (например, парсинг документа) от механизма сохранения готового состояния объекта. …

Читать
Evgenii Legotckoi
Evgenii Legotckoi13 сентября 2018 г. 8:03

PythonПример - Абстрактная фабрика на Python

abstract, factory, abc, python

Пример абстрактной фабрики на языке программирования Python


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

import abc


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

    @abc.abstractmethod
    def create_product_a(self):
        pass …
Читать
Evgenii Legotckoi
Evgenii Legotckoi13 сентября 2018 г. 6:12

C++Пример - Абстрактная фабрика на C++

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

Обсуждение. «Подумайте о создании объектов как о фабрике, которая порождает эти самые объекты».

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

Читать
Evgenii Legotckoi
Evgenii Legotckoi13 сентября 2018 г. 6:01

Шаблоны проектированияПорождающие шаблоны проектирования - Абстрактная фабрика

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

Причины

  • Предоставление интерфейса для создания семейств связанных или зависимых объектов без указания их конкретных классов.
  • Иерархия, которая инкапсулирует: множество возможных «платформ» и построение набора «продуктов».
  • Оператор new считается вредным.

Проблематика

Если приложение должно быть портативным, ему необходимо инкапсулировать все зависимости …

Читать
Evgenii Legotckoi
Evgenii Legotckoi9 августа 2018 г. 4:29

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

Bash, rsync, Linux

В процессе разработки сайта на Django пришлось начать разбираться с Bash скриптами, чтобы автоматизировать рутинные задачи. Например, создание и скачивание дампа базы данных с сайта, а также резервирования медиа файлов.

Будем считать, что что Вы уже имеет доступ к серверу …

Читать
Evgenii Legotckoi
Evgenii Legotckoi7 августа 2018 г. 3:10

LinuxПодсчёт количества коммитов по авторам в Git

Git, Fun, Linux

Just for fun.

Чем могут меряться программисты? Конечно, своими коммитами, хотя бы их количеством в Git репозитории.

Для этого можно использовать команду git shortlog, которая суммирует вывод git log, предоставляя более краткий вывод.

Опции

У данной команды есть несколько опций, …

Читать
Evgenii Legotckoi
Evgenii Legotckoi6 августа 2018 г. 2:52

C++Идиома RAII и утверждение из структурного программирования, что функция должна иметь одну точку входа и одну точку выхода

template, lambda, C++11

Мир программирования на C++ в новых стандартах позволяет нам вытворять самые разные вещи, благодаря которым можно спокойно отказываться от некоторых старых утверждений или принципов, либо просто гибко подходить к этим принципам.

Хотелось бы изложить свой взгляд на работу идиомы RAII …

Читать
Evgenii Legotckoi
Evgenii Legotckoi3 августа 2018 г. 4:05

QtПрофилирование использования памяти в Linux с помощью Qt Creator 4.7

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

Анализатор производительности

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

Читать
Arrow
Arrow31 июля 2018 г. 4:57

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

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

В процессе разработки одного приложения для учёта норм времени возникла необходимость в создании сводной таблицы с выборкой данных из уже имеющейся.

В качестве базы данных использовалась PostgreSQL.

Исходная таблица “ base_table ” упрощенно имеет следующий вид:

Поля таблицы имеют следующие …

Читать
Evgenii Legotckoi
Evgenii Legotckoi31 июля 2018 г. 2:56

DjangoОткрытие исходников EVILEG

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

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

Было принято решение открыть исходники EVILEG, тем более что уже неоднократно я получал просьбы показать исходники ресурса и даже предложения о посильном улучшении программного кода сайта.

Таким образом, …

Читать
AD

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

  • Результат:50баллов,
  • Очки рейтинга-4
m
  • molni99
  • 25 октября 2024 г. 22:37

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

  • Результат:80баллов,
  • Очки рейтинга4
m
  • molni99
  • 25 октября 2024 г. 22:29

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

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

Следите за нами в социальных сетях