Для приготовления CRUD нам понадобится 1C, Python и ... PostgreSQL. Сначала нужно включить REST OData в 1C.
Программист
О производительности Javascript. Рейтинг Techempower
![](https://habrastorage.org/r/w1560/getpro/habr/upload_files/65f/b76/2d3/65fb762d3128243464cb6293f58c003e.png)
Почему Javascript входит в топ-2 techempower?
Недавно на github был задан этот вопрос, вызванный появлением новой платформы javascript, близкой к вершине промежуточного рейтинга Techempower. Эта платформа Just(js) является тем, над чем я работаю в качестве пет-проекта уже некоторое время. Здесь я попытаюсь дать краткий ответ на вопрос, а в ближайшие недели дам дополнительные подробности об этом и о самой платформе.
Рецепты Nginx: локализация страниц об ошибках
Для приготовления локализации страниц об ошибках нам понадобится сам nginx и его плагины error_page_inherit и include_server. Конечно, такую локализацию можно сделать и без этих плагинов, но у неё будет несколько недостатков. Во-первых, если в каком-то локейшене задаётся своя страница об ошибке, то все страницы об ошибках из предыдущих уровней не наследуются для этого уровня. Эту проблему решает первый плагин, позволяя наследовать страницы сообщений об ошибках. А, во-вторых, для каждого сервера придётся вручную включать локейшен обработки страницы об ошибке. И эту проблему как раз решает второй плагин, позволяя наследовать подключение файлов из главной конфигурации во все сервера.
Рецепты Nginx: авторизация через auth0
Для приготовления авторизации через auth0 нам понадобится сам nginx и его плагины encrypted-session, headers-more, auth_request, set-misc, echo, json, evaluate и jwt. Можно также воспользоваться готовым образом.
Рецепты PostgreSQL: отправка писем с отчётом о доставке
Для приготовления отправки электронных писем с отчётом о доставке (а точнее с подтверждением о принятии или отклонении писем почтовым сервером получаетеля) нам понадобится сам postgres и его плагины планировщик асинхронных задач и cURL, а также локальный почтовый сервер, gawk и его плагин. Можно также воспользоваться docker-compose.
Рецепты nginx: виджет Государственного Адресного Реестра
![](https://habrastorage.org/getpro/habr/upload_files/f11/d3c/1ea/f11d3c1eacfd7de6eb6a2df10e301ce7.gif)
Для приготовления виджета Государственного Адресного Реестра, кроме базы, нам также понадобится nginx и его плагины postgres и json. Можно воспользоваться готовым образом.
В базе была определена большая функция gar_select от json и возвращающая json. Вот как раз она и нужна для использования через nginx.
Рецепты PostgreSQL: загрузка Государственного Адресного Реестра
Для приготовления загрузки Государственного Адресного Реестра в PostgreSQL нам понадобится сам PostgreSQL, bash, sh, curl, wget, xml2csv, jq, или можно воспользоваться готовым образом.
ОСТОРОЖНО! Может потребоваться много дискового пространства! Терабайта должно хватить, может, даже пол-терабайта хватит.
Рецепты github shell action
Для приготовления github shell action нам понадобится github
В гитхабе действия можно написать тремя способами:
1. на JavaScript
2. в docker контейнере
3. в интерпретаторе shell
Я выбрал последний и самый непопулярный способ, потому, что скрипты в интерпретаторе shell можно использовать не только в действиях гитхаба, но и нетрудно преобразовать, например, в сборочные линии гитлаба.
К сожалению, полномочий встроенного ключа github_token не всегда хватает для выполнения необходимых действий,
Рецепты PostgreSQL: асинхронные уведомления в… реплике!?
Для приготовления асинхронных уведомлений listen/notify в реплике нам понадобится postgres. Как говорится в документации:
Транзакции, запущенные в режиме горячего резерва, никогда не получают ID транзакции и не могут быть записаны в журнал предзаписи. Поэтому при попытке выполнить следующие действия возникнут ошибки:
LISTEN, NOTIFY
Рецепты uWSGI: преобразование документов с использованием LibreOffice
Рецепты PostgreSQL: шаблонизатор mustach
Зачем нужен шаблонизатор в базе? Ну, во-первых, если шаблонизатор в базе, то и сами шаблоны тоже должны быть в базе. А зачем нужно хранить шаблоны в базе? Да потому, что шаблоны, как и данные, тоже могут зависеть от времени. Например, пусть в базе есть счета (это данные). Очевидно, что они зависят от времени: в этом месяце сумма одна, в следующем — другая, потом — третья и т.д. Но и шаблон счёта тоже может зависеть от времени: в этом году один, а в следующем уже другой (как это было с введением 20% ). Поэтому удобнее сами шаблоны тоже хранить в базе. Ну а шаблонизатор в базе удобен тем, что можно тут же в базе шаблонизировать, потом (тут же в базе) преобразовать в pdf и (тут же в базе) отправить на email. И всё это можно сделать асинхронно с помощью планировщика.
Рецепты PostgreSQL: получение типов колонок за один запрос
Рецепты Python: преобразование из HTML и URL в PDF и PS
Рецепты PostgreSQL: преобразование из HTML и URL в PDF и PS
Рецепты Nginx: преобразование из HTML и URL в PDF и PS
Рецепты PostgreSQL: cURL: get, post и… email
Рецепты PostgreSQL: планировщик асинхронных задач
Рецепты Nginx: асинхронные уведомления из PostgreSQL в websocket
Information
- Rating
- Does not participate
- Location
- Тюмень, Тюменская обл. и Ханты-Мансийский АО, Россия
- Date of birth
- Registered
- Activity