• Можно ли перевести растр в вектор?

    2ord
    @2ord
    Есть ли способ это сделать без потерь в деталях ?
    Векторизация - это процесс упрощения изображения, и, значит, без потерь невозможно.
    Данный кандидат на векторизацию, на мой взгляд, довольно далек от идеального. Не вижу даже смысла пытаться векторизовать его, ибо потерь будет много.
    8sDjETw.png
    Ответ написан
    Комментировать
  • Какие существуют способы управления инфраструктурой с Terraform помимо их CLI?

    2ord
    @2ord Автор вопроса
    Отвечу сам себе: для Go есть SDK terraform-exec, вызывающий Terraform CLI с необходимыми ключами и анализирующий вывод stdout, stderr.
    Ответ написан
    Комментировать
  • Почему растет iowait?

    2ord
    @2ord
    Вот что я нагуглил насчет
    postgres: writer process

    https://www.cybertec-postgresql.com/en/postgresql-...
    The writer a.k.a. background writer process

    Note that we assume that the high level concept of “checkpoints” together with the checkpointer process and its parameters are already familiar to you (as it’s way more impactful compared to the writers). When not, I’d recommend digging into Postgres documentation here.

    So to the writer. Introductory sentence in the documentation tells us:

    There is a separate server process called the background writer, whose function is to issue writes of “dirty” (new or modified) shared buffers. It writes shared buffers so server processes handling user queries seldom or never need to wait for a write to occur. However, the background writer does cause a net overall increase in I/O load, because while a repeatedly-dirtied page might otherwise be written only once per checkpoint interval, the background writer might write it several times as it is dirtied in the same interval. …

    In short – the writer moves some of the changed data (dirty buffers) already to the disk in the background, so that checkpoint process, happening at regular intervals, would have less work to do. All of this with the point that in the end user/application queries wouldn’t need to suffer too much when checkpointer kicks in with its heavy IO requirements, when there are lots of buffers to be processed or checkpoint_completion_target is set too small. All this is relevant of course only when we’re running a relatively busy database – for idling databases it wouldn’t be a problem at all.
    Ответ написан
    1 комментарий
  • Почему постоянно работает сервер mysql?

    2ord
    @2ord
    create_connection_mysql_db('localhost',
    а почему localhost?
    В Heroku нужно использовать сторонние addons для подключений к СУБД (mysql, postgresql и пр.). Они предоставляют connection string, который нужно использовать вместо localhost.
    Кроме того, как только в аккаунте для приложения будет добавлен addon mysql, то последний сам стартует, вне зависимости от того, есть ди к нему соединения или нет.

    На ваш код больно смотреть.
    Ответ написан
    6 комментариев
  • Информация для мозга во время перерывов между программированием в течение рабочего дня?

    2ord
    @2ord
    Можно почитать художественную литературу, современников и/или классиков. Можете взять что-то легкое, с юмором, чтобы не напрягаться от чтения. То есть, детектив, пожалуй, не стоит.
    Но только если не утомились глаза.
    Ответ написан
    Комментировать
  • Можно ли получить файл по URL в РНР? Нужно ли для этого писать модуль на другом языке?

    2ord
    @2ord
    Используйте микросервисную архитектуру. Тогда можно отправить URL в очередь сообщений, потребителем которой может являться программа на любом языке программирования: Go, Java, C#, ... что хочешь. Хоть язык Nim.
    При получении URL (в JSON) программа скачает документ, распарсит или что задумаешь. Результат поместит куда необходимо: в другую очередь, СУБД, файл или другое.
    В случае ошибки можно отправить JSON в очередь ошибок, которую может "прослушивать" программа на PHP или любая другая.
    Это асинхронная модель обработки данных.

    Альтернативный вариант, который часто используют в монолитном ПО - делают системный вызов внешнего процесса: gzip, ffmpeg, ... и получают вывод код ошибки и, если необходимо, stdout.
    В данном случае, синхронная модель обработки данных. Получение результата блокируется вызываемым процессом и пока он не завершится, PHP будет удерживать открытое HTTP соединение.
    Ответ написан
    2 комментария
  • Какие существуют визуальные обработчики данных?

    2ord
    @2ord
    По-моему, с файлом Экселя можно работать как с источником данных. То есть все трансформации можно тогда производить при помощи обычного SQL. Но это тогда сужает целевую аудиторию пользователей. А сам Эксель и есть визуальный обработчик данных со своими встроенными средствами. Более того, для автоматизации используется VBA.
    Нужно понимать, что визуализация - довольно ресурсоемкая в разработке, да и трудно придумать ее для всех случаев жизни.
    Но в простых случаях может быть весьма удобной.
    Хотите переизобрести свой Access?

    Но если очень хочется, то с точки зрения разработки я бы поместил всю логику трансформаций в виде набора DLL, подключаемых как в GUI, так и консольном приложении.
    Ответ написан
  • Как получить хеш из строки средствами Java?

    2ord
    @2ord
    K21ZG4GJpDjS26p1Ksn3U9JTJJr1Dt3ffwdEZLzjonMoN3AUHtxh
    - это хэш по основанию 62 (A-Z, a-z, 0-9). Как он был получен - не имею понятия. Был ли private key bitcoin получен путем простого вычисления хэша от строки - не знаю.
    При вычислении хэша от строки обычно берется алгоритм md5, sha-1, sha256 или другие, в зависимости от целей. На выходе получится массив битов фиксированной длины. Так вот, нужно преобразовать его в массив символов по основанию 62, где 0-61-е знаки будут представлены алфавитом A-Z, a-z, 0-9.
    Ответ написан
    4 комментария
  • Как установить Ruby 3.0.0. на подсистему ubuntu 20.04 в Windows?

    2ord
    @2ord
    pgadmin4 наверное был отмечен для установки. Для Ruby не нужен.
    Попробуйте просто запустить указанную команду. Если не гонитесь за последними версиями, то проще всего установить штатную версию дистрибутива.

    Дополнение:
    How to Prevent and Fix Package Dependency Errors i...
    Ответ написан
  • Как правильно использовать модули Go?

    2ord
    @2ord
    Если нужен пример как использовать локально, то можете посмотреть пример в репозиторие go-openvz-api. Это первая фиксация кода (commit), до использования go modules.
    Далее в истории фиксаций впоследствии перешел на go modules.

    main.go
    package main
    import "./package1"
    ...


    package1/file1.go
    package package1
    import (
      "fmt"
    )
    ...


    package1/file2.go
    package package1
    ...


    Если изначально применять схему именования пакета как для хранения на удаленных хранилищах, то можно сделать так:

    go mod init example.org/user/mypackage
    Это означает, что префикс при импорте в пакетах всегда будет начинаться с example.org/user/mypackage. Все что в поддиректориях проекта, при импорте должно быть указано как example.org/user/mypackage/название_подпапки (например, example.org/user/mypackage/package1).

    И важные дополнения, без которых ничего не будет работать:
    1. Проект должен располагаться вне пути GOPATH.
    2. Отредактировать go.mod, добавив строку
    replace example.org/user/mypackage => ./
    Эта инструкция укажет на локальную папку, находящуюся по тому же пути, где и корень проекта. Таким образом, go не будет искать на хостинге http: //example.org/user/mypackage

    Это сработает для Linux, где пути указаны косой чертой (точка в начале - текущая директория). В Windows используется обратная косая черта. Как в Go работают с путями в Windows - не знаю.

    То есть можно работать локально и никуда не закачивать код, будет все работать локально.
    И когда все же закачаете код на хранилище, поменяйте везде example.org/user/mypackage на истинное расположение репозитория, а строку с replace удалите с go.mod, иначе будет искать код только локально.

    Замечания:
    1. Не исключено, что название Modules.pack проблематично из-за точки внутри.
    2. . "Modules.pack/mod1"так неправильно. Точку вначале убрать
    Можно так:
    "./Modules.pack/mod1"
    или так:
    "example.org/user/Modules.pack/mod1"
    или так:
    "qqw example.org/user/Modules.pack/mod1" // а в самом коде ниже писать qqw вместо mod1


    Вместо go get использую go mod tidy.
    Сам с Go модулями не так давно работаю, но думаю что так надо.
    Ответ написан
    5 комментариев
  • Как добавить доп папки на heroku?

    2ord
    @2ord
    Есть различные хостинги изображений. Есть S3 и совместимые хранилища для хранения и раздачи файлов.
    Если изображений до десятка, то можно закинуть прямо в Git.
    Ответ написан
  • Как сделать проверку на наличие пользователя в базе данных?

    2ord
    @2ord
    Вместо
    SELECT COUNT(`id`) AS `count` FROM `users` WHERE `name` = '$name'

    оптимальнее
    SELECT 1 FROM `users` WHERE `name` = '$name' LiMIT 1
    Потому что пользователей считать не надо. Достаточно получить ненулевую выборку.
    Ну и, разумеется, добавить индекс по полю `name`.
    Ответ написан
  • Как узнать какие были изменения после установки программы linux?

    2ord
    @2ord
    Есть в Linux механизм inotify для отслеживания изменений в файлах и куча утилит. Конкретные не подскажу, нужно гуглить.
    Гуглите linux file monitoring process audit.
    Ответ написан
    Комментировать
  • Как массово удалить страницы в DokuWiki?

    2ord
    @2ord
    DokuWiki хранит страницы в текстовых файлах. Пройтись по нужным директориям скриптом не должно составить труда.
    Ответ написан
    Комментировать
  • Как перенести все файлы с одного сервера на другой если дали данные ftp и ssh?

    2ord
    @2ord
    Перенос файлов:
    rsync -avz откуда куда
    man rsync

    Подключение к терминалу для запуска команд - SSH.
    Ответ написан
    Комментировать
  • Golang. Самописный пакет не видим из основного модуля?

    2ord
    @2ord
    Или возьмите старую версию Go, как у "ютуберов", или же, наконец, начните использовать go modules.
    Ответ написан
    2 комментария
  • Какие методы использовать для распознавания включенного света в доме напротив на смартфоне андроид?

    2ord
    @2ord
    Для решения задачи советую прочитать литературу по цифровой обработке изображений. В ней описываются различные методы.
    Тег МАШИННОЕ ОБУЧЕНИЕ не имеет отношения к решению вышеупомянутой задачи.
    Определить где горит свет:
    Скадрировать изображение до контуров дома.
    Уменьшить резолюцию изображения до приемлемой, но не чрезмерно, чтобы не принять за шум. Так сокращается вычислительная работа.
    Возможно, выровнять освещение.
    Применить фильтр Гаусса или медианный.
    Превратить в ч/б изображение с некоторым порогом - получим белые пятна почти прямоугольной формы на черном фоне.
    Далее, object detection - для определения координат объектов.
    А все остальное - это работа с массивом координат.
    В магазине приложений для Android есть полно приложений для сканирования и обработки изображений, в том числе и для распознавания текста. Значит, вычислительно работа посильна и нечего беспокоиться.
    Ответ написан
    4 комментария
  • Самый простой формат реляционный базы данных?

    2ord
    @2ord
    CSV, XML как правило, поддерживаются при импорте во многих СУБД.
    Ответ написан
    1 комментарий
  • Все ключи базы данных Vedis?

    Комментировать