Category Archives: Development

Мови та засоби розробки інформаційних систем

Пошта починається не з вішалки RFC 822/2822

RFC 822 (англ.) Формат электронной почты, заменён RFC 2822

Електронна пошта //uk.wikipedia.org

 STANDARD FOR THE FORMAT OF ARPA INTERNET TEXT MESSAGES August 13, 1982 //datatracker.ietf.org/doc/html/rfc822

  Internet Message Format //datatracker.ietf.org/doc/html/rfc2822

Continue reading Пошта починається не з вішалки RFC 822/2822

Конспект JavaScript

Используется как встраиваемый язык для программного доступа к объектам приложений. Широко применяется в браузерах как язык сценариев на веб-страницах.

Языком JavaScript не владеет какая-либо компания или организация, что отличает его от ряда языков программирования, используемых в веб-разработке. Название «JavaScript» является зарегистрированным товарным знаком корпорации Oracle в США.

Continue reading Конспект JavaScript

Конспект застосування функцій у запитах MySQL та MariaDB

//

  • офіційний MySQL 8.0 Reference Manual > Data Manipulation Statements //dev.mysql.com
  • MariaDB: Complete list of SQL statements for data definition, data manipulation, etc. //mariadb.com
  • METANIT.COM MySQL Операции с данными //metanit.com

ГРАНДИОЗНЫЙ РЕФАКТОРИНГ!

Continue reading Конспект застосування функцій у запитах MySQL та MariaDB

Конспект веб-дизайну сіткової розкладки :grid

CSS Grid является мощным инструментом для создания гибких и сложных макетов веб-страниц. Он позволяет легко управлять распределением элементов в сетке и задавать сложные макеты с помощью стилей CSS.

Однако CSS Grid не предназначен для разметки таблиц с большим количеством данных, множеством строк и столбцов. Для этих целей следует использовать элементы <table>.

Continue reading Конспект веб-дизайну сіткової розкладки :grid

Конспект механізмів влади над часом у PHP та MySQL

Отсчет мирового времени ведется по усреднённому времени Гринвича с аббревиатурой GMT, которое после стандартизации именуется Всемирным координированным временем UTC.

Время UTC соответствует нулевому часовому поясу "00:00", от которого на восток отсчитываются часовые пояса до +14:00 и на запад до -11:00 (фактические используемые пояса).

Ниже изложены принципы и правила работа со временем в PHP и MySQL.

 The Current Epoch Unix Timestamp + Converter //www.unixtimestamp.com

Continue reading Конспект механізмів влади над часом у PHP та MySQL

Розгортання Google App Script до Web App

Якщо ви створюєте інтерфейс користувача для сценарію, ви можете опублікувати сценарій як веб-додаток. Наприклад, сценарій, який дозволяє користувачам планувати зустрічі з членами групи підтримки, найкраще представити у вигляді веб-програми, щоб користувачі могли отримати доступ до нього безпосередньо зі своїх браузерів.

Політика конфіденційності та Умови використання //policies.google.com/terms

 Google Workspace>Apps Script>Гиды>Веб-приложения //developers.google.com/apps-script/guides/web

Continue reading Розгортання Google App Script до Web App

Автоматизація щебетання з Twitter API

Слово "twit" обычно используется в значении "простофиля", "глупец" или "дурак", а также "упрек" или "нравоучение".

"Twitter" также может иметь другие значения:

  • Сокращенное название британской социальной газеты "The Daily Twitter", которая известна своими резкими и критическими комментариями о политических и общественных вопросах.
  • Название птицы - "twitter" - на английском языке, которая известна своими чирикающими звуками.
  • "Twitter" также может использоваться как глагол, означающий "бормотать" или "болтать" в несколько беспорядочный и бесцельный способ.

How to create a Twitter bot with v2 of the Twitter API //developer.twitter.com
Погружение в Twitter API //coderlessons.com (Feb 6, 2019)

Continue reading Автоматизація щебетання з Twitter API

Конспект формул Google Sheets

Веб-оболонка для роботи з електронними таблицями Google Sheets, що входить до складу безкоштовного пакету програмного забезпечення у межах служби Google Диск, дозволяє обробляти табличні дані за допомогою формул і функцій, що перевершують за можливостями Excel.

Google Sheets function list //support.google.com/docs/table/...

Талмуд по формулам в Google SpreadSheet //habr.com (9 Novt 2012)

Continue reading Конспект формул Google Sheets

Інтерактивні 3D моделі WebGL для JavaScript

WebGL (Web Graphics Library) - программная библиотека для языка JavaScript предназначенная для визуализации интерактивной трёхмерной графики и двухмерной графики в пределах совместимости веб-браузера без использования плагинов. WebGL приносит в веб трёхмерную графику, вводя API, который построен на основе OpenGL ES 2.0, что позволяет его использовать в элементах canvas HTML5 .

WebGL //developer.mozilla.org
WebGL Samples //webglsamples.org

Continue reading Інтерактивні 3D моделі WebGL для JavaScript

Конспект довідника функцій та методів Python

Довідник з мови Python //docs.python.org/uk/3/reference/index.html
Python Documentation contents //docs.python.org

Василь Бульдумак "Изучаем Python 3 на примерах"(авторский сайт с многочисленными публикациями) //python-scripts.com

Continue reading Конспект довідника функцій та методів Python

Ну хто сміливий проти мене з ChatGPT API?

ChatGPT - Generative Pre-trained Transformer генеративний попередньо навчений трансформер

Documentation //platform.openai.com/docs
API reference //platform.openai.com

Pricing: Simple and flexible. Only pay for what you use //openai.com/pricing

Спіймати робота: сервіси для перевірки текстів на штучний інтелект //wordfactory.ua

Continue reading Ну хто сміливий проти мене з ChatGPT API?

Генерація PDF у бібліотеці TCPDF

Проект TCPDF  возник в 2002 году и в настоящее время является одним из самых активных в мире проектов с открытым исходным кодом. Текущая версия 8.0.x находится в разработке и не готова к использованию, при этом найти предыдущую версии не просто но возможно.

Официальный сайт проекта TCPDF //tcpdf.org
Содержит описание, документацию и много примеров к версиям до 6.x.

Download TCPDF 6.3.2 https://sourceforge.net/projects/tcpdf/files/latest/download

Новая версия еще не готова и находится на //github.com/tecnickcom/tc-lib-pdf

Continue reading Генерація PDF у бібліотеці TCPDF

Діаграми та графіка онлайн у Google Chart API

Google Chart API генерує графічну діаграму за запитом GET або POST. Тип діаграми дані та інші параметри діаграми задаються в URL GET-запиту і зміст POST-запроса.

API може генерувати безліч видів діаграм, від кругових або лінійних діаграм до QR-кодів та формул.

https://developers.google.com/chart/image/docs/chart_params?hl=ru#chart-type-cht-[all-except-dynamic-icons]

Continue reading Діаграми та графіка онлайн у Google Chart API

Генерація PDF у сімействі бібліотек FPDF

FPDF — це клас PHP, який дозволяє створювати файли PDF за допомогою чистого PHP, тобто без використання бібліотеки PDFlib.
F на початку імені проекта FPDF означає Free: ви можете використовувати його для будь-якого використання та змінювати відповідно до своїх потреб.

  • Офіційний сайт проекту // //www.fpdf.org
    • tFPDF modified version of FPDF that adds UTF-8 support

Споріднений проект: mPDF is a PHP library which generates PDF files from UTF-8 encoded HTML

+ PDFB Library - Barcodes in Dynamic PDFs https://chir.ag/projects/pdfb/

Continue reading Генерація PDF у сімействі бібліотек FPDF

Конспект виразів структурованих запитів діалектів MySQL та MariaDB

//

  • офіційний MySQL 8.0 Reference Manual > Data Manipulation Statements //dev.mysql.com
  • MariaDB: Complete list of SQL statements for data definition, data manipulation, etc. //mariadb.com

ГРАНДИОЗНЫЙ РЕФАКТОРИНГ!

#temporary-table

Continue reading Конспект виразів структурованих запитів діалектів MySQL та MariaDB

Кошерна ідентифікація UUID чи GUID

universally unique identifier UUID ( - универсальный уникальный идентификатор) — стандарт идентификации, используемый в создании программного обеспечения, стандартизированный Open Software Foundation (OSF) как часть DCE — среды распределённых вычислений. Основное назначение UUID — это позволить распределённым системам уникально идентифицировать информацию без центра координации. Таким образом, любой может создать UUID и использовать его для идентификации чего-либо с приемлемым уровнем уверенности, что данный идентификатор непреднамеренно никогда не будет использован для чего-то ещё. Поэтому информация, помеченная с помощью UUID, может быть помещена позже в общую базу данных, без необходимости разрешения конфликта имен. Наиболее распространённым использованием данного стандарта является Globally Unique Identifier (GUID) фирмы Microsoft.
//ru.wikipedia.org/wiki/UUID   Continue reading Кошерна ідентифікація UUID чи GUID

Скан-коди клавіатури

Скан-код (англ. scan code) — в IBM-сумісних комп'ютерах код, наданий кожній клавіші, за допомогою якого драйвер клавіатури розпізнає, яка клавіша була натиснута. При натисканні будь-якої клавіші контролер клавіатури розпізнає клавішу та надсилає її скан-код у порт 60h. При відпусканні клавіші контролер клавіатури застарілого формату IBM PC/XT посилає в той же порт скан-код, збільшений на 80h, а нового формату IBM PC/AT - два байти: F0h і скан-код (скан-коди клавіатури AT також відрізняються від XT див. таблицю). Деякі клавіші генерують не один, а кілька скан-кодів (так, праві Alt, Ctrl, ⮨ Enter, обидві  Win, а також ≣ Menu, Insert, Delete, Page Up, Page Down, Home, End, стрілки та всі ACPI- і мультимедіа-клавіші генерують два скан-код, перший з яких - E0, клавіша PrtScr генерує 4 скан-коду, а клавіша Pause - навіть 6 скан-кодів). Кожен байт, записаний у порт 60h, генерує апаратне переривання int 09h.

Скан-коди жорстко прив'язані до кожної клавіші на апаратному рівні і не залежать від стану індикаторів ⇪ Caps Lock, Num Lock і Scroll Lock, ні від стану керуючих клавіш. Continue reading Скан-коди клавіатури

Методи Telegram Bot API та структури даних

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

Continue reading Методи Telegram Bot API та структури даних

Конспект jQuery + Promise + Axios

jQuery это JavaScript Библиотека сфокусированная на управлении DOM , вызовах AJAX , и событиях обработки.

//developer.mozilla.org
jQuery API Documentation //api.jquery.com
AJAX: Шпаргалка по AJAX на jQuery //habr.com
jQuery справочник //basicweb.ru

JavaScript и jQuery»3.10. Введение в jQuery //html5book.ru

Continue reading Конспект jQuery + Promise + Axios

ФАК Хау Ту Дизайн Веб Пейдж HTML/CSS/JS

Веб дизайн реализуется триединством языков сущностей:

  • - сущность содержания и структуры
  • - сущность формы
  • - сущность активности

 

Continue reading ФАК Хау Ту Дизайн Веб Пейдж HTML/CSS/JS

Инструменты разработчика DevTools

Набор инструментов для веб-разработчиков DevTools встроен непосредственно в браузер Google Chrome. DevTools позволяют редактировать загруженную страницу налету и оперативно диагностировать проблемы.

Официальная документация Chrome разработчиков //developer.chrome.com
DevTools для «чайников» //habr.com

https://www.lucidchart.com/techblog/2018/04/17/time-saving-chrome-devtools-shortcuts/

Continue reading Инструменты разработчика DevTools

Застосування Notepad++

Notepad++ (NPP) - редактор початкових текстів для мов програмування та розмітки; легкий, швидкий, розширюваний, професійний та вільний; реалізує підсвічування синтаксису, розмітки, а також мов опису апаратури VHDL і Verilog. Початковий код NPP відкритий та базується на компоненті Scintilla, написаний на C++ з використанням STL, а також Windows API, і поширюється під ліцензією GNU General Public License. Базова функціональність програми може бути розширена як за рахунок плагінів, так і сторонніх модулів, таких як компілятори та препроцесори. Підтримує понад 100 форматів файлів.

Official site //notepad-plus-plus.org/
Official Community //community.notepad-plus-plus.org
Official GitHub repository //github.com/notepad-plus-plus

Fan User Manual (is built collaboratively) //npp-user-manual.org

Continue reading Застосування Notepad++

Ядерная физика WordPress

// Понимание устройства ядра WordPress

Continue reading Ядерная физика WordPress

1С Табличный документ

Табличный документ — общий объект встроенного языка, используется для создания выходных документов — первичных документов и отчетов, является мощным интерактивным средством отображения информации и может использоваться как сам по себе. По своей сути табличный документ напоминает электронные таблицы — он состоит из строк и столбцов, в которых размещаются данные, однако его возможности гораздо шире.

Табличный документ //v8.1c.ru
Основы формирования табличного документа на основе макета //its.1c.ru

Continue reading 1С Табличный документ

Плагин Form Maker by 10Web

Плагин Form Maker by 10Web чрезвычайно популярен.
Доступен в четырех тарифных планах:

  • Free $0 - ограничен одностраничным формами до 7 элементов из 20 типов
  • Basic $30 - 1 сайт, без экспорта/импорта форм в формате XML
  • Pro $60 - 5 сайтов, без калькулятора
  • Plugin Bundle $100 - 30 сайтов, все +10 опций, +15 плагинов в придачу

Form Maker by 10Web в официальном репозитории //wordpress.org
Mobile-Friendly Drag & Drop Form Builder //10web.io

Continue reading Плагин Form Maker by 10Web

О формах оформления форм

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

Continue reading О формах оформления форм

Конспект каскадных таблиц стилей CSS

дальнейшее содержание публикации - черновик!

Selectors Level 4
W3C Working Draft, 11 November 2022 //www.w3.org/TR/selectors

Continue reading Конспект каскадных таблиц стилей CSS

Конспект застосування JavaScript у документі HTML

Используется как встраиваемый язык для программного доступа к объектам приложений. Широко применяется в браузерах как язык сценариев на веб-страницах.

Языком JavaScript не владеет какая-либо компания или организация, что отличает его от ряда языков программирования, используемых в веб-разработке. Название «JavaScript» является зарегистрированным товарным знаком корпорации Oracle в США.

Continue reading Конспект застосування JavaScript у документі HTML

Конспект PHP

PHP - Hypertext Preprocessor (первоначально PHP/FI - Personal Home Page / Form Interpreter), а позже названный Personal Home Page Tools. Это скриптовый язык общего назначения, использует большое число синтаксических заимствований из C, интенсивно применяется для разработки серверной части веб-приложений. В настоящее время поддерживается подавляющим большинством хостинг-провайдеров и является одним из лидеров среди языков, применяющихся для создания динамических веб-сайтов.

  • Official site of PHP (english) //www.php.net
  •  PHP учебник - уроки для начинающих с нуля //html5css.ru
  • PHP Tutorial //www.w3schools.com
  • Портал энтузиастов PHP //www.php.su
  • PHP5 ДЛЯ WEB РАЗРАБОТЧИКА //php5.kiev.ua/php7/
  • Packagist is the main Composer repository. It aggregates public PHP packages installable with Composer //packagist.org
  • Xdebug is an extension for PHP, and provides a range of features to improve the PHP development experience //xdebug.org
  • 23 лучших редактора и IDE для PHP //freelance.today
  • Программирование PHP в Ubuntu: Как пользоваться Atom - Losst //losst.ru

Конспект ниже не является учебником с последовательным изложением PHP для новичков. Мой конспект - это набор заметок для программистов со стажем.

Continue reading Конспект PHP

Бот для Telegram

Боти Telegram — це спеціальні облікові записи, призначені для автоматичного оброблення та надсилання повідомлень у системі миттєвих повідомлень Telegram.

Логіка дій бота описується скриптом, що знаходиться на довільному web-сервері за межами системи Telegram. Для скрипту може використовуватись будь-яка мова, яка здатна виконати вимоги Telegram Bot API: PHP, Python, JavaScript та інші.

Публікація визначає лише ключові моменти всіх рівнів створення бота. Докладніше опис API зроблено у публікації Методи Telegram Bot API та структури даних
Continue reading Бот для Telegram

Установка 1С в Linux

localhost2005, огромная благодарность за вашу инструкцию. Всё работает.
Проверял файловую базу в качестве вёб-сервера на kUbuntu и Ubuntu 20.04.4 LTS. Собрал всё в кучу. Надеюсь будет полезно таким же новичкам.
Нужно скачать Клиент 1С:Предприятия (64-bit) для DEB-based Linux-систем и Cервер 1С:Предприятия (64-bit) для DEB-based Linux-систем. Для работы толстого клиента 1С нужно установить минимум 3 пакета: client, common, server. Устанавливаем 1С.
Код:

Лечение:

Continue reading Установка 1С в Linux

Автоматизация в Windows GUI сценариями AutoIt

AutoIt v3 - универсальный BASIC-подобный скриптовый язык сценариев, для которого доступен бесплатный интерпретатор и компилятор.

 Официальный сайт //www.autoitscript.com

 ISN AutoIt Studio //www.isnetwork.at

 Русское сообщество AutoIT //autoit-script.ru

 AutoIt //ru.wikipedia.org


Continue reading Автоматизация в Windows GUI сценариями AutoIt

Скрипти Google Apps Script у документах, таблицях та презентаціях

Google Apps Script

Обзор скриптов Google Apps //developers.google.com/apps-script/overview
Расширение Google Таблиц, Расширение Google Таблиц //developers.google.com/apps-script/guides/sheets
Краткое руководство по приложению Google Apps Script Chat //developers.google.com/apps-script/quickstart/chat-app
Google Apps Script //en.wikipedia.org

Continue reading Скрипти Google Apps Script у документах, таблицях та презентаціях

Диаграммы на дашборде 1С:Предприятие 8.x

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

  • тип реквизита Диаграмма - содержит набор данных и все параметры его графического представления
  • элементы формы ПолеФормы

В свою очередь объект типа Диаграмма включает большое число свойств и коллекций других общих типов, и типов специфичных для диаграммы.


Continue reading Диаграммы на дашборде 1С:Предприятие 8.x

Страница 404 в WordPress

Ошибка 404 была хорошо известна еще до появления WordPress. Она возникает с том случае, если web-сервеh не находит страницу соответствующую url, поэтому вынужден возвратить вместо нее специальную страницу с ошибкой 404.

Если сайт управляется WordPress, то в базовой настройке, не найдя нужной страницы, WordPress передает эту ошибку web-серверу, который действует по уже описанному выше сценарию.

Существуют wp-плагины, которые обрабатывают ситуацию ненайденной страницы своими силами и не сообщают об этом web-серверу, однако можно обойтись без них.
Continue reading Страница 404 в WordPress

Инструмент автоматизации OneScript

OneScript - проект Андрея Овсянкина (EvilBeaver) из Нижний Новгород. Альтернативные названия: 1Script или 1Скрипт. Это - независимая кросс-платформенная реализация виртуальной машины, выполняющая скрипты на языке 1С:Предприятие 8.  Поддерживает Windows, Linux (Debian и CentOS). В качестве среды разработки (IDE) использует VCCode или среду разработки Перфолента.NET. Авторы сообщают, чти OneScript работает в 2 раза быстрее оригинального машины 1С.

///

 

 

Источники

Масштабируемая векторная графика в разметке SVG

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

Практическое изучение и работа с SVG выявляет много пробелов и неясных моментов в документации. Большое количество инструментов для работы с SVG также оставляют без внимания ряд важных нюансов, которые я нашел целесообразным описать и снабдить иллюстрациями и пояснениями.

  • SVG
    • Файла SVG картинки
    • SVG в составе HTML
  • Структура
  • Элементы SVG
    • Контейнер и система координат
      • Пример с разбором
    • Дополнительная система координат
    • Линия
    • Прямоугольник
    • Окружность и эллипс
    • Полилиния и полигон
    • Траектория
    • Текст
  • Стили
  • Анимация
  • JavaScript
  • SVGZ
  • Источники

Scalable Vector Graphics (SVG) 2
(Candidate Recommendation 04 October 2018) //www.w3.org/TR/SVG/

Can I use: сведения о поддержке SVG в браузерах //caniuse.com
SVG (Русский) //runebook.dev/ru/docs/svg

 Free SVG Editor Tool //pixelied.com
BOXY SVG / SCALABLE VECTOR GRAPHICS EDITOR (no Free) //boxy-svg.com/app/

Continue reading Масштабируемая векторная графика в разметке SVG

Интерфейс конфигуратора 1С:Предприятие 8.x

Конструктор формы

Эффективность разработки форм и модулей в 1С:Конфигуратор существенно увеличивается при правильном использовании всех средств управления и визуализации конструктора с применением комбинаций горячих клавиш.

Ctrl+Пробел - вызов контекстной подсказки.
Continue reading Интерфейс конфигуратора 1С:Предприятие 8.x

Интерфейс приложения 1С:Предприятие 8.3

Концепция интерфейса приложения находится в постоянном развитии, что вызывает постоянные вопросы. В очередной раз интерфейс приложения кардинально поменялся в версии 8.3.15. В результате в заголовок приложения переместились ключевые управляющие элементы Continue reading Интерфейс приложения 1С:Предприятие 8.3

Конспект мови гіпертекстової розмітки HTML

HTML: мова розмітки гіпертексту //webdoky.org
HTML Справочник всех тегов онлайн и примеры //html5css.ru
HTML с нуля ⚡ Лучший HTML учебник для начинающих и чайников //html5css.ru
Веб-технологии для разработчиков/HTML/Справка по HTML //developer.mozilla.org
Дока HTML //doka.guide
PLAYGROUND //developer.mozilla.org/en-US/play

дальнейшее содержание публикации является черновиком!
Continue reading Конспект мови гіпертекстової розмітки HTML

Клиническая хирургия 1С:Управление торговлей 8 редакция 11

Публикация содержит описания элементов конфигурации 1С:Управление торговлей 8 редакция 11, которые полезно и/или важно знать для понимания нюансов и внесения собственных доработок.

Continue reading Клиническая хирургия 1С:Управление торговлей 8 редакция 11

Оперируем бинарными файлами в 1С:Предприятие 8.x

из публикации:
https://open-budget.ru/public/275315/

ActiveX "SAPI.spFileStream"

Пример: Чтение и запись бинарных файлов в 1С при помощи SAPI (Speech API)
http://forum330.com/forum/86/all

Документация: SpFileStream Interface (SAPI 5.3)
https://docs.microsoft.com/en-us/previous-versions/windows/desktop/ms722561(v=vs.85)?redirectedfrom=MSDN

Файловые базы *.1CD. Физическая структура. Восстановление.
https://infostart.ru/1c/articles/187832/

+про БСП
https://open-budget.ru/bsp-biblioteka-standartnykh-podsistem

+Нейросеть
https://open-budget.ru/public/640325/

+раздел математика 1С
https://open-budget.ru/matematika-i-algoritmy/page/5

Язык Go

Go или Golang — компилируемый, строго типизированный, многопоточный язык программирования высокого уровня, разрабатываемый в с 2007 года. Язык представляет существенно переработанную и расширенную смесь C++ и Pascal, дополненную синтаксическим сахаром Python, но исключающим излишние, неэффективные и рискованных вольности.

Continue reading Язык Go

Инструменты Google OR-Tools

Конспект
черновик.
  • OR-Tools
    • About OR-Tools //developers.google.com
      программное обеспечение с открытым исходным кодом для комбинаторной оптимизации , которое стремится найти лучшее решение проблемы из очень большого набора возможных решений.
    • Constraint Optimization / Оптимизация ограниченийОптимизация ограничений или программирование ограничений (CP) - это название, данное для определения возможных решений из очень большого набора кандидатов, где проблема может быть смоделирована в терминах произвольных ограничений. Проблемы КП возникают во многих научных и инженерных дисциплинах. Слово «программирование» является немного неправильным, подобно тому, как «компьютер» когда-то означал «человек, который вычисляет». Здесь «программирование» относится к составлению плана, а не к программированию на компьютерном языке.CP основан на осуществимости (поиск допустимого решения), а не на оптимизации (поиск оптимального решения), и фокусируется на ограничениях и переменных, а не на целевой функции. Фактически, проблема CP может даже не иметь целевой функции - цель может просто заключаться в том, чтобы сузить широкий набор возможных решений до более управляемого подмножества путем добавления ограничений к проблеме.Примером проблемы, которая хорошо подходит для CP, является планирование сотрудников . Проблема возникает, когда компаниям, которые работают непрерывно, например, фабрикам, необходимо составлять еженедельные расписания для своих сотрудников. Вот очень простой пример: компания работает три 8-часовые смены в день и распределяет трех из четырех своих сотрудников на разные смены каждый день, а четвертой дает выходной. Даже в таком маленьком случае количество возможных расписаний огромно: каждый день их 4! = 4 · 3 · 2 · 1 = 24 возможных назначения сотрудников, поэтому количество возможных недельных расписаний составляет 24 7, что превышает 4,5 миллиарда. Обычно существуют и другие ограничения, которые сокращают количество возможных решений - например, каждый сотрудник работает хотя бы минимальное количество дней в неделю. Метод CP отслеживает, какие решения остаются возможными при добавлении новых ограничений, что делает его мощным инструментом для решения больших реальных задач планирования.

      В следующем разделе описывается решатель CP-SAT, основной решатель OR-Tools для программирования ограничений. SAT означает "satisfiability" выполнимость : решатель использует методы для решения задач SAT наряду с методами CP.

      Вот несколько примеров задач планирования, которые хорошо подходят для решателя CP-SAT:

      Расписание сотрудников
      Проблема магазина вакансий
      У CP есть широко распространенное и очень активное сообщество по всему миру со специализированными научными журналами, конференциями и арсеналом различных методов решения. CP успешно применяется при планировании, составлении графиков и многих других областях с неоднородными ограничениями.

    • Linear Optimization / Линейная оптимизацияЛинейная оптимизация (или линейное программирование ) - это название, данное вычислению наилучшего решения проблемы, моделируемой как набор линейных отношений. Эти проблемы возникают во многих научных и инженерных дисциплинах. (Слово «программирование» является немного неправильным, подобно тому, как «компьютер» когда-то означало «человека, который занимается вычислениями». Здесь «программирование» относится к составлению плана, а не к программированию на компьютерном языке.)В качестве хорошего руководства по линейной оптимизации мы рекомендуем кулинарную книгу моделирования Mosek .Google предоставляет два способа решения задач линейной оптимизации: библиотеку с открытым исходным кодом Glop и службу линейной оптимизации в скрипте Google Apps.

      Glop - это собственный линейный решатель Google, доступный в виде открытого исходного кода . Вы можете получить доступ к Glop через оболочку линейного решателя OR-Tools , которая является оболочкой для Glop, а также нескольких других сторонних решателей линейной оптимизации. Чтобы узнать, как решить простую линейную задачу с помощью Glop на всех поддерживаемых языках, см. Начало работы с OR-Tools .
      Служба линейной оптимизации в Google Apps Script позволяет разработчикам выполнять вызовы функций для решения задач линейной оптимизации. Он полагается на Glop для чисто задач линейной оптимизации, где все переменные могут принимать действительные значения. Если какие-либо переменные должны быть целыми числами, служба использует SCIP от Zuse-Institut Berlin.
      Только первый вариант требует установки OR-Tools.

    • Vehicle Routing / Маршрутизация транспортных средствОдним из наиболее важных приложений оптимизации является маршрутизация транспортных средств , цель которого состоит в том, чтобы найти лучшие маршруты для парка транспортных средств, посещающих набор местоположений. Обычно «лучший» означает маршруты с наименьшей общей протяженностью или стоимостью. Вот несколько примеров проблем с маршрутизацией:Компания по доставке посылок хочет назначить водителям маршруты для доставки.
      Компания кабельного телевидения хочет назначить маршруты для технических специалистов, чтобы они могли звонить в бытовые службы.
      Компания по обмену поездками хочет назначить водителям маршруты для посадки и высадки пассажиров.Более общая версия TSP - это проблема маршрутизации транспортных средств (VRP), в которой есть несколько транспортных средств. В большинстве случаев у VRP есть ограничения: например, транспортные средства могут быть рассчитаны на максимальный вес или объем предметов, которые они могут перевозить, или водителям может потребоваться посетить места в течение определенных временных окон, запрошенных клиентами. OR-Tools может решить многие типы VRP, включая следующие:

      Задача коммивояжера , классическая задача маршрута, в которой используется только одно транспортное средство.
      Проблема маршрутизации транспортных средств , обобщение TSP с несколькими транспортными средствами.
      VRP с ограничениями вместимости , в которых автомобили имеют максимальную вместимость для предметов, которые они могут перевозить.
      VRP с временными окнами , в которых автомобили должны посещать локации в определенные промежутки времени.
      VRP с ограниченными ресурсами , такими как пространство или персонал для погрузки и разгрузки транспортных средств в депо (отправная точка для маршрутов).
      VRP с прерванными посещениями , когда транспортные средства не обязаны посещать все места, но должны платить штраф за каждое прерванное посещение.

    • Network Flows / Сетевые потокиМногие задачи информатики можно представить в виде графа, состоящего из узлов и связей между ними. Примерами являются проблемы сетевого потока , которые связаны с транспортировкой товаров или материалов по сети, такой как железнодорожная система. Вы можете представить сетевой поток графом, узлами которого являются города, а дугами - железнодорожные линии между ними. (Их называют потоками, потому что их свойства аналогичны свойствам воды, протекающей по сети труб.)Ключевым ограничением сетевых потоков является то, что каждая дуга имеет пропускную способность - максимальное количество, которое может быть перенесено по дуге за фиксированный период времени. Задача максимального потока состоит в том, чтобы определить максимальный общий объем, который может быть транспортирован по всем дугам в сети с учетом ограничений пропускной способности.OR-Tools предоставляет несколько средств решения проблем сетевого потока в своих библиотеках графов .

Continue reading Инструменты Google OR-Tools

Конспект Python


Высокоуровневый язык программирования общего назначения Python ориентирован на повышение производительности разработчика и читаемости кода; синтаксис ядра минималистичен; поддерживает структурное, обобщенное, объектно-ориентированное, функциональное и аспектно-ориентированное программирование. Основные архитектурные черты — динамическая типизация, автоматическое управление памятью, полная интроспекция, механизм обработки исключений, поддержка многопоточных вычислений, высокоуровневые структуры данных. Поддерживается разбиение программ на модули, которые, в свою очередь, могут объединяться в пакеты.
Настоящая публикация содержит конспект изучения языка Python разработчиком привыкшим к классическим языкам (Pascal, C++, Java). Изложение в публикации будет простым, наглядным и слегка вульгарным, как и сама идеология Python.

Continue reading Конспект Python

Применение .htaccess и .htpasswd

Конфигурационный файл доступа .htaccess используется web-сервером для первоначальной оценки поступившего клиентского запроса, который может быть обработан, или отвергнут, или перенаправлен, в соответствиями с директивами конфигурации.

Continue reading Применение .htaccess и .htpasswd

Плагин alx ip statistic / Статистика по IP

Нехитрый, но полезный плагин сохраняет в логе ip-адреса, время, идентификаторы браузеров, логины и пароли попыток авторизаций на странице входа, а также просмотр любых публикаций в которой использован шорткод . Именно с этим плагином обещание "я тебя по ip вычислю!" приближается к реальности...

/// Continue reading Плагин alx ip statistic / Статистика по IP

На Клиенте управляемой формы 1С:Предприятие 8.3

Дуализм управляемой формы состоит в том, что с одной стороны она должна безопасно управлять данными, а с другой стороны должна их эффективно визуализировать. Поскольку каждая их этих задач требует особую среду для эффективного выполнения, то концептуально управляемая форма как бы перемещается между двумя своими состояниями НаСервере и НаКлиенте, и в каждом из этих состояний меняются ее качества и доступные ей средства платформы.

Эта публикация посвящена особенностям работы управляемой формы в состоянии НаКлиенте.

Continue reading На Клиенте управляемой формы 1С:Предприятие 8.3

Лицензирование и ключи 1С:Предприятие 8.x

Текущая:
Сетевой HASP4 ORGL8 10, получило клиентское приложение
Информационная база:
Локальный HASP4 ORGL8 50
Локальный HASP4 ORGL8 1
Локальный HASP4 ORGL8 10
  •  Маркировка ключей 1С 13 ноября 2010 //blogs.klerk.ru
  •  Ключи защиты 1С Предприятие 8.1. Особенности использования. Автор: Уваров А.С. 10.02.2010 //interface31.ru

Обсуждение //forum.infostart.ru
Continue reading Лицензирование и ключи 1С:Предприятие 8.x

Произвольная графика в форме 1С:Предприятие 8.x

Растровая PNG иллюстрация 482x387x32 (размер: 21KB сжатый)

Интерактивное отображение произвольной 2D графики в форме приложения 1С:Предприятие можно реализовать в стандартном поле управляемой формы с установленным видом Поле HTML документа, которое предназначено для отображения изображений описанных языками HTML, XML и их расширениями SVG или VML. Формирование изображения в релизах до релиза 8.3.14 выполняется встроенным в платформу 1С браузером MS Internet Explorer, чьи версия, функциональность и опции отличаются от IE установленного в системе.

Масштабируемая векторная SVG иллюстрация (размер: 4.6KB несжатый)

Начиная с релиза 8.3.14 в платформу встроен кроссплатформенный движок WebKit с поддержкой HTML5, OpenGL, SVG и т.д. (подробней работа WebKit в составе платформы описана на //habr.com)

Приведенные ниже заметки описывают средства динамического синтеза графики для отображения в управляемых формах 1С и разработки алгоритмов интерактивного взаимодействия с этой графикой в форме.
Continue reading Произвольная графика в форме 1С:Предприятие 8.x

Кодирование и конвертирование данных в 1С:Предприятие 8.x

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

Continue reading Кодирование и конвертирование данных в 1С:Предприятие 8.x

Программная работа с Реестром Windows

Реестром Windows называют хранилище параметров самой системы Windows, ее штатных и сторонних компонентов, а также пользователей системы. Хранилище реестра представляется как иерархия кустов и разделов, содержащих значения параметров нескольких типов.

Фактически Реестр является не единым объектом, а динамическим набором кустов, каждый из которых находится в специальном файле:
Continue reading Программная работа с Реестром Windows

Плагин Crayon Syntax Highlighter

A Syntax Highlighter built in PHP and jQuery that supports customizable languages and themes.
It can highlight from a URL, or WordPress post text. Crayon makes it easy to manage Language files and define
custom language elements with regular expressions.
It also supports some neat features like:

  • Официальная страница WP (не поддерживается с 2017 года) https://ru.wordpress.org/plugins/crayon-syntax-highlighter/
  • Неофициальная поддержка https://github.com/Crunchify/crayon-syntax-highlighter/releases

Continue reading Плагин Crayon Syntax Highlighter

Регулярні вирази

«Пионеры, идите в жопу!»

Регуля́рные выраже́ния (regular expressions) — формальный язык для анализа и обработки текста по шаблону, состоящему из обычных символов, спецсимволов, метасимволов и квантификаторов.

Continue reading Регулярні вирази

Сериализация и десериализация в формате PHP для 1С:Предприятие 8.х

В PHP 4 и старше предусмотрена функция serialize(mixed $value): string,  которая генерирует пригодное для хранения строковое представление любой переменной. Строковое представление используется для хранения или передачи значений PHP между скриптами без потери их типа и структуры. Обратная операция получения переменной из строкового представления реализует функция unserialize() .

Строковое представление сериализации - это особый внутренний формат вида:

Для использования таких данных за пределами среды PHP необходимо выполнять десериализацию таких данных, а для сохранения сериализацию.

В настоящей публикации описан формат сериализации и приведены коды функций для 1С:Предприятие 8.

Continue reading Сериализация и десериализация в формате PHP для 1С:Предприятие 8.х

Операции с данными Visual Form Builder из приложения 1С:Предприятие 8.3

Для сайта на движке WordPress существует плагин Visual Form Builder, который позволяет создавать шаблоны произвольных форм для публикации их на страницах сайта, где пользователи могут заполнить их данными для каких-либо практических целей и сохранить их в базе данных сайта.

Штатный инструмент экспорта данных заполненных форм плагина Visual Form Builder предлагает ручную настройку сеанса экспорта и выгрузку в файл в формате CSV или XLS для дальнейшей обработки и загрузки его, например, в 1С:Предприятие. Поскольку этот путь требует участия человека, он не может выполняться автоматически, а кроме того, в цепочке конвертирования данных из-за неоднозначности форматов иногда возникают ошибки.

Тем временем существует возможность получения данных заполненных форм непосредственно из базы данных сайта, которая выполняет минимальное число преобразований и может был полностью автоматизирована. Более того, существует возможность автоматического экспорта шаблона анкеты 1С:Предприятие в шаблон формы Visual Form Builder .

Continue reading Операции с данными Visual Form Builder из приложения 1С:Предприятие 8.3

Структура данных WordPress

Все сведения о настройках внешнего вида и содержании сайта WordPress хранит в реляционной базе данных. Поддерживается только MySQL версии 5.0.15 или выше, или любая версия MariaDB. Обычно WordPress и плагины взаимодействует с этой базой данных самостоятельно, и конечному пользователю не нужно сильно беспокоиться о ее структуре. Однако, для разработки собственного плагина или иного взаимодействия с содержимым сайта важно точно знать, как WordPress хранит свои данные. Зная структуру данных и обладая доступом к DB можно получить и/или изменить любые сведения, содержания, структуры и представления непосредственно в таблицах, не используя консоль WordPress и даже без авторизации на самом сайте.

Официально Описание Структуры Базы Данных предыдущей версии WordPress 4.4 доступно на //codex.wordpress.org, где также есть ссылка на описание еще более ранних версий WordPress 1.5, 2.0, 2.2, 2.3, 2.5, 2.7, 2.8, 2.9 и 3.3.

Ниже в публикации описана структура данных WordPress 5.2.4 актуальная на 10 октября 2019 года.

Continue reading Структура данных WordPress

Управление базой MySQL из 1С:Предприятие 8.3

MySQL в качестве системы управления базой данных доминирует в интернет-проектах. Приложение 1С:Предприятие может устанавливать соединения с серверами MySQL для обмена данными в обоих направлениях. Это может использоваться например:

  • для публикации сведений в интернет;
  • для получения сведений  из интернет;
  • для обмена данными с другими приложениями 1С через общее интернет-хранилище.

Continue reading Управление базой MySQL из 1С:Предприятие 8.3

Обработчики событий 1С:Предприятие 8.3


Особенностью обработки событий среде 1С:Предприятия 8 является то, что имя процедуры-обработчика в одних случаях должно совпадать с именем события, а в других случаях может от него отличаться.
Процедуры-обработчики событий //its.1c.ru

Continue reading Обработчики событий 1С:Предприятие 8.3

Система управления контентом WordPress

 Официальный сайт поддержки //ru.wordpress.org

  • Актуальная версия 7.4, экспериментальная 8.0
    Официальный архив релизов для загрузки //wordpress.org/download/releases/
  • PHP версии 5.6 или выше
    PHP Compatibility and WordPress Versions //make.wordpress.org
  • MySQL версии 5.0 или выше
  • модуль Apache mod_rewrite (для «красивых» адресов, называемых постоянными ссылками).

Неофициальные источники:

  • WordPress для всех //wpkupi.ru
  • Безопасность Вордпресс. Полное руководство //techbear.ru
  • Hostenko //hostenko.com
  •  WordPress glossary – как использовать wp термины правильно //wp-digest.com

Press for more Words

Разработка модулей на платформе 1С:Предприятие 8.3


Для описания всех алгоритмов управления данными в конфигурации приложения 1С предусмотрено 11 видов программных модулей, 3 раздела, 7 опций, 5 директив компиляции и инструкции препроцессора. Ниже кратко и конспективно они объяснены, изложены принципы внутренней организации модулей и их взаимодействие между собой, приведены примеры. Текст еще не завершен и многие нюансы еще уточняются и будут дополняться.

Автоконспект в процессе разработки

Разработка Управляемых форм 1С:Предприятие 8.3

Управляемые формы - это интерфейсная часть Управляемого приложения, предназначенная главным образом для отображения на Клиенте данных, которые находятся на Сервере, поэтому эти данные, когда ими оперируют в форме на Клиенте несколько отличаются от того, как ими оперируют на Сервере.Управляемое приложение пришло на смену Обычному приложению, в котором программный код исполнялся в однородной среде, контролирующей одновременно интерфейс и данные приложения, что не позволяло реализовать эффективную удаленную и распределенную работу большого числа пользователей одновременно.

Эта публикация посвящена нюансам программного управления клиентским интерфейсом на управляемых формах.

Автоконспект в процессе разработки

Применение ПВХ в 1С:Предприятие 8.x

Планы Видов Характеристик позволяют реализовать комплекс !!!Каждый декларированный вид характеристик автоматически создает одноименный тип характеристик, который не отражается в основном дереве объектов Конфигуратора, но доступен для выбора в дереве типов в ветке Характеристика в реквизитах Конфигуратора предназначенных для выбора типов.

Автоконспект в процессе разработки

Элементы БСП

Библиотека «1С:Библиотека стандартных подсистем» (БСП) предоставляет разработчику набор универсальных функциональных подсистем, готовые разделы для пользовательской документации и технологию для разработки прикладных решений. БСП упрощает и ускоряет разработку и интеграцию прикладных решений благодаря стандартизации и унификации, которые уже реализованы в:

  • 1С:Управление торговлей, редакция 11
  • 1С:Управление нашей фирмой 8
  • 1С:Документооборот 8...
  • 1С:Библиотека стандартных подсистем //v8.1c.ru
  • ИТС. Библиотека стандартных подсистем 3.1.4. Документация //its.1c.ru
  • ИТС. Главная. Инструкции по разработке на 1С Библиотека стандартных подсистем 3.0.1. Документация //its.1c.ru 
  •  ИТС. Типовая конфигурация. Библиотека стандартных подсистем, редакция 3.0. Версия 3.1.1 //its.1c.ru

Continue reading Элементы БСП