Язык Go

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

Читать далее Язык 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 предоставляет несколько средств решения проблем сетевого потока в своих библиотеках графов .

Читать далее Инструменты Google OR-Tools

Камера для домашней студии и стрима

2020 год стал поворотным в мировой истории во многих смыслах и проявлениях, и среди прочих проблем он создал взрывной спрос на веб-камеры, которые резко выросли в цене, но не в качестве, поэтому неожиданно сложилась такая ситуация, в которой в качестве веб-камеры стало разумней купить что-то другое. В моем конкретном случае мне понадобилась камера для организации домашней видео-студии для дистанционного обучения, и хотя задача того не очень требовала, я хотел чтобы качество ее решения не было посредственным. Так определился приоритет желаемого:

  • решение должно быть очень бюджетным (в пределах 200$)
  • запись голоса с достаточным качеством звука, с защитой от шумов и ветра
  • запись видео с разрешением не ниже HD и fps не хуже 25 без стробоскопа
  • поддержка режима веб-камеры для программного микширования под Windows 10
  • поддержка автономной записи видео в одном из стандартных форматов
  • поддержка режима стрима на YouTube, FB
  • длиннофокусный объектив около 100 мм (в пересчете на ленту 35 мм) или zoom в аналогичных пределах
  • возможность установки на штатив

Читать далее Камера для домашней студии и стрима

Классический взгляд на особенности Python

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

Настоящая публикация содержит конспект изучения языка Python разработчиком привыкшим к классическим языкам (Pascal, C++, Java). Изложение в публикации будет простым, наглядным и слегка вульгарным, как и сама идеология Python.

Читать далее Классический взгляд на особенности Python

Практика Нейросетей

Tensorflow

На текущий момент библиотека Tensorflow поддерживается в Python не выше 3.8 (это означает, что установить пакет для Python 3.9 не получится).

Sequential — последовательный

Dense — плотный, компактный

model = Sequential()
model.add(Dense(2, input_dim=2,

Заметки

  • Что такое нейрон смещения
  • Tensorflow (далее — TF) — довольно молодой фреймворк для глубокого машинного обучения, разрабатываемый в Google Brain. Долгое время фреймворк разрабатывался в закрытом режиме под названием DistBelief, но после глобального рефакторинга 9 ноября 2015 года был выпущен в open source.

Источники

  • Нейронные сети для начинающих. Часть 2 Arnis71@habr.com (Feb 2017)
  • Рекуррентная нейронная сеть //ru.wikipedia.org
  •  Рекуррентные нейронные сети (RNN) с Keras //habr.com (Feb 2020)
  • Обзор топологий глубоких сверточных нейронных сетей //habr.com (Oct 2016)
  • Тензорный процессор Google //ru.wikipedia.org
  • Python: Библиотека глубокого обучения Tensorflow //habr.com (Apr 2017)
  • Python: Библиотеки для глубокого обучения: Keras //habr.com (Apr 2017)
  • Python: Введение в RNN Рекуррентные Нейронные Сети для начинающих //python-scripts.com (2020)
  • Бесплатные тензорные процессоры от Google в облаке Colaboratory //habr.com (Oct 2018)
  • Бенчмарк нового тензорного процессора Google для глубинного обучения //habr.com (Feb 2018)
  • A general reinforcement learning algorithm that masters chess, shogi, and Go through self-play (Общий алгоритм обучения шахматам с подкреплением и самообучением) //science.sciencemag.org
  • Сбер выложил русскоязычную модель GPT-3 Large с 760 миллионами параметров в открытый доступ oulenspiegel@habr.com (Oct 2020)
    • //github.com/sberbank-ai/ruGPT3_demos
    • //github.com/sberbank-ai/ru-gpts

План настройки персональной системы Windows 10

Число нововведений Windows 10 растет с такой скоростью, что уже не просто упомнить об всем, о чем нужно не забыть в ходе ее настройки для безопасной эксплуатации. Ниже приведен план конкретных шагов:

Читать далее План настройки персональной системы Windows 10

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

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

Читать далее Применение .htaccess

Бытовые гальванические элементы

Черновик публикации о бытовых гальванических (химических) источниках, проще говоря батарейках и аккумуляторах.

Читать далее Бытовые гальванические элементы

Скрипты Linux (Ubuntu)

Интерфейс командной строки (англ. Command Line Interface, CLI)

Во время загрузки Ubuntu запускаются семь полноэкранных консолей, у каждой свой независимый сеанс, с первой по шестую с интерфейсом командной строки, в седьмой запускается графический режим. Пользователь во время загрузки видит только графический режим.
Переключиться на одну из виртуальных консолей можно нажав сочетание клавиш:

Ctrl+Alt+F1 — первая виртуальная консоль;
Ctrl+Alt+F2 — вторая виртуальная консоль;
Ctrl+Alt+F3 — третья виртуальная консоль;
Ctrl+Alt+F4 — четвертая виртуальная консоль;
Ctrl+Alt+F5 — пятая виртуальная консоль;
Ctrl+Alt+F6 — шестая виртуальная консоль;
Ctrl+Alt+F7 — седьмая виртуальная консоль, возврат в графический режим.

В Unity:
Главное меню → Набрать в поисковой строке слово Терминал
или нажать комбинацию клавиш: Ctrl+Alt+T

В Gnome Fallback
Приложения → Стандартные → Терминал

В Xfce (Xubuntu):
Главное меню → Приложения → Система → Терминал

В KDE (Kubuntu):
Главное меню → Приложения → Система → Терминал

В LXDE (Lubuntu):
Главное меню → Системные → LXTerminal

///

/

Источники:

Lubuntu: установка и настройка

Первый сезон сериала Mr.Robot произвел на меня не бесспорное, но положительное впечатление, и главное — я решил исполнить свое старое намерение и получить практический опыт использования Linux. Итак, я снял с полки старенький Compaq nx6110

  • gpu: Intel 910GML (XGA 1024x768x24)
  • cpu: Intel Pentium M 1.73GHz (x32 x1 ядро x1 поток)
  • ram: DDR 256MB + 1GB
  • hdd: Hitachi Travelstar 60GB IDE 4200rpm 2MB

Спойлер: результат превзошел мои ожидания! Cтаричок Compaq теперь выполняет мои рабочие задачи не хуже, чем в разы более мощный ASUS под Win10.
Читать далее Lubuntu: установка и настройка

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

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

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

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

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

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

Читать далее На Клиенте управляемой формы 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
Читать далее Лицензирование и ключи 1С:Предприятие 8.x

Производительность интерпретации кода 1С:Предприятие 8.х

///

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

Браузер Google Chrome

Браузер Google Chrome содержит в основе свободный браузер Chromium и движок Blink (до апреля 2013 года использовался WebKit).

Читать далее Браузер Google Chrome

Подключение автомобильной Мультимедия Системы(ММС)

При подключение современного мультимедия центра (MMC) в автомобиле может возникнуть ряд вопросов, на которые не просто найти краткий, ясный и вразумительный ответ.
Публикация описывает вопросы возникшие конкретно при подключении реплики Pioneeir 1801 в LADA Калина 2 Кросс, тем не менее, многие объяснения имеют общеприменительный характер и будут полезны в других аналогичных случаях.

Читать далее Подключение автомобильной Мультимедия Системы(ММС)

Смазки

Силиконовое масло

Силиконовое масло ПМС-400 15 мл REXANT предназначено для смазывания малонагруженных деталей в механизмах трения и качения в приборах, бытовой и оргтехнике.

Масло ПМС (полиметилсилоксаны) — прозрачная, бесцветная, химически инертная и коррозионностойкая жидкость. В отличие от минеральных или синтетических масел, данная жидкость обладает превосходными электроизоляционными, антиадгезионными и пеногасящими свойствами.
Полиметилсилоксановые жидкости используются для смазывания резиновых уплотнений, обработки высоковольтных проводов, в производстве для пресс-форм РТИ и пластмасс, в паяльных ваннах для защиты расплавленного припоя от окисления и в других местах, где необходимо создать отличное разделяющее действие, легко образуя пленки на самых разных поверхностях (металл-пластик, пластик-резина и т.п.).

Характеристики:
Вязкость (в сантистоксах): 400
Рабочий температурный диапазон: –50…+200 °C

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

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

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

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

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

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

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

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

Фактически Реестр является не единым объектом, а динамическим набором кустов, каждый из которых находится в специальном файле:
Читать далее Программная работа с Реестром 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

Читать далее Плагин Crayon Syntax Highlighter

Регулярные выражения

Формальный язык поиска и осуществления манипуляций с подстроками в тексте, основанный на использовании метасимволов

Читать далее Регулярные выражения

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

Сериализация данных для хранения и передачи на сайтах с кодом на PHP выполняется в особом внутреннем формате строки вида: a:3:{i:1;a:0:{}i:2;a:2:{s:5:»title»;s:67:»(C) 2019.Реформация Компьютерных Систем»;s:8:»nav_menu»;i:2;}s:12:»_multiwidget»;i:1;}

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

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

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

Реформация Компьютерных Систем