Pull to refresh
23
0
Георгий @RekGRpth

Программист

Send message

О производительности Javascript. Рейтинг Techempower

Reading time16 min
Views13K

Почему Javascript входит в топ-2 techempower?

Недавно на github был задан этот вопрос, вызванный появлением новой платформы javascript, близкой к вершине промежуточного рейтинга Techempower. Эта платформа Just(js) является тем, над чем я работаю в качестве пет-проекта уже некоторое время. Здесь я попытаюсь дать краткий ответ на вопрос, а в ближайшие недели дам дополнительные подробности об этом и о самой платформе.

Читать далее

Рецепты Nginx: локализация страниц об ошибках

Reading time3 min
Views5.3K

Для приготовления локализации страниц об ошибках нам понадобится сам nginx и его плагины error_page_inherit и include_server. Конечно, такую локализацию можно сделать и без этих плагинов, но у неё будет несколько недостатков. Во-первых, если в каком-то локейшене задаётся своя страница об ошибке, то все страницы об ошибках из предыдущих уровней не наследуются для этого уровня. Эту проблему решает первый плагин, позволяя наследовать страницы сообщений об ошибках. А, во-вторых, для каждого сервера придётся вручную включать локейшен обработки страницы об ошибке. И эту проблему как раз решает второй плагин, позволяя наследовать подключение файлов из главной конфигурации во все сервера.

Итак

Рецепты Nginx: авторизация через auth0

Reading time3 min
Views9.1K

Для приготовления авторизации через auth0 нам понадобится сам nginx и его плагины encrypted-session, headers-more, auth_request, set-misc, echo, json, evaluate и jwt. Можно также воспользоваться готовым образом.

Для начала

Рецепты PostgreSQL: отправка писем с отчётом о доставке

Reading time5 min
Views7.2K

Для приготовления отправки электронных писем с отчётом о доставке (а точнее с подтверждением о принятии или отклонении писем почтовым сервером получаетеля) нам понадобится сам postgres и его плагины планировщик асинхронных задач и cURL, а также локальный почтовый сервер, gawk и его плагин. Можно также воспользоваться docker-compose.

Итак

Рецепты nginx: виджет Государственного Адресного Реестра

Reading time9 min
Views3.1K

Для приготовления виджета Государственного Адресного Реестра, кроме базы, нам также понадобится nginx и его плагины postgres и json. Можно воспользоваться готовым образом.

В базе была определена большая функция gar_select от json и возвращающая json. Вот как раз она и нужна для использования через nginx.

Итак

Рецепты PostgreSQL: виджет Государственного Адресного Реестра

Reading time8 min
Views3.6K

Для приготовления виджета Государственного Адресного Реестра сначала нужно его (ГАР) загрузить. При инициализации базы были созданы не только таблицы для загрузки в них ГАР, но также и таблица и функции для виджета. В этой статье остановимся на них подробнее.

Итак

Рецепты PostgreSQL: загрузка Государственного Адресного Реестра

Reading time6 min
Views4.9K

Для приготовления загрузки Государственного Адресного Реестра в PostgreSQL нам понадобится сам PostgreSQL, bash, sh, curl, wget, xml2csv, jq, или можно воспользоваться готовым образом.

ОСТОРОЖНО! Может потребоваться много дискового пространства! Терабайта должно хватить, может, даже пол-терабайта хватит.

Первым делом

Рецепты github shell action

Reading time6 min
Views3.9K

Для приготовления github shell action нам понадобится github

В гитхабе действия можно написать тремя способами:

1. на JavaScript

2. в docker контейнере

3. в интерпретаторе shell

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

К сожалению, полномочий встроенного ключа github_token не всегда хватает для выполнения необходимых действий,

поэтому

Рецепты PostgreSQL: асинхронные уведомления в… реплике!?

Reading time16 min
Views1.8K

Для приготовления асинхронных уведомлений listen/notify в реплике нам понадобится postgres. Как говорится в документации:

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

LISTEN, NOTIFY

Поэтому

Рецепты uWSGI: преобразование документов с использованием LibreOffice

Reading time2 min
Views1.9K
Для приготовления преобразования документов нам понадобится LibreOffice, uwsgi-python, pylokit и webob. Можно также воспользоваться готовым образом. Но это только для запуска uWSGI-сервера, а для подключения к uWSGI-серверу будем использовать nginx.
Читать дальше →

Рецепты PostgreSQL: шаблонизатор mustach

Reading time3 min
Views2K
Для приготовления шаблонизатора mustach нам понадобится postgres и mustach. Можно также воспользоваться готовым образом.

Зачем нужен шаблонизатор в базе? Ну, во-первых, если шаблонизатор в базе, то и сами шаблоны тоже должны быть в базе. А зачем нужно хранить шаблоны в базе? Да потому, что шаблоны, как и данные, тоже могут зависеть от времени. Например, пусть в базе есть счета (это данные). Очевидно, что они зависят от времени: в этом месяце сумма одна, в следующем — другая, потом — третья и т.д. Но и шаблон счёта тоже может зависеть от времени: в этом году один, а в следующем уже другой (как это было с введением 20% ). Поэтому удобнее сами шаблоны тоже хранить в базе. Ну а шаблонизатор в базе удобен тем, что можно тут же в базе шаблонизировать, потом (тут же в базе) преобразовать в pdf и (тут же в базе) отправить на email. И всё это можно сделать асинхронно с помощью планировщика.
Читать дальше →

Рецепты Python: преобразование из HTML и URL в PDF и PS

Reading time2 min
Views11K
Для приготовления преобразования из HTML и URL в PDF и PS нам понадобится сам python, генератор htmldoc и плагин pyhtmldoc. (Я дал ссылки на свои форки, т.к. делал некоторые изменения, которые пока не удалось пропихнуть в оригинальный репозитории. Можно также воспользоваться готовым образом.)
Читать дальше →

Рецепты PostgreSQL: преобразование из HTML и URL в PDF и PS

Reading time4 min
Views4.4K
Для приготовления преобразования из HTML и URL в PDF и PS нам понадобится сам postgres, генератор htmldoc и расширение pg_htmldoc. (Я дал ссылки на свои форки, т.к. делал некоторые изменения, которые пока не удалось пропихнуть в оригинальный репозитории. Можно также воспользоваться готовым образом.)
Читать дальше →

Рецепты Nginx: преобразование из HTML и URL в PDF и PS

Reading time1 min
Views5.7K
Для приготовления преобразования из HTML и URL в PDF и PS нам понадобится сам nginx, генератор htmldoc и плагин ngx_http_htmldoc_module. (Я дал ссылки на свои форки, т.к. делал некоторые изменения, которые пока не удалось пропихнуть в оригинальный репозитории. Можно также воспользоваться готовым образом.)
Читать дальше →

Рецепты PostgreSQL: cURL: get, post и… email

Reading time3 min
Views15K
Для приготовления cURL в PostgreSQL нам понадобится сам postgres и его расширение pg_curl. (Я дал ссылки на свой форк postgres, т.к. делал некоторые изменения, которые пока не удалось пропихнуть в оригинальный репозиторий. Можно также воспользоваться готовым образом.)
Читать дальше →

Рецепты PostgreSQL: планировщик асинхронных задач

Reading time3 min
Views11K
Для приготовления планировщика асинхронных задач нам понадобится сам postgres и его расширение pg_task. (Я дал ссылки на свой форк postgres, т.к. делал некоторые изменения, которые пока не удалось пропихнуть в оригинальный репозиторий. Можно также воспользоваться готовым образом.)
Читать дальше →

Рецепты Nginx: асинхронные уведомления из PostgreSQL в websocket

Reading time2 min
Views5.5K
Для приготовления асинхронных уведомлений из PostgreSQL в websocket нам понадобится сам nginx и его плагины postgres, push-stream, set-misc. (Я дал ссылки на свои форки, т.к. делал некоторые изменения, которые пока не удалось пропихнуть в оригинальные репозитории. Можно также воспользоваться готовым образом.)
Читать дальше →
1

Information

Rating
Does not participate
Location
Тюмень, Тюменская обл. и Ханты-Мансийский АО, Россия
Date of birth
Registered
Activity

Specialization

Backend Developer, Database Developer
PostgreSQL
Nginx
Docker
Python