🐘🔧 Расширение pg_variables: мощная альтернатива временным таблицам в PostgreSQL
Расширение
🔸 Оно позволяет определять скалярные сессионные переменные, которые могут быть очень ценными для хранения идентификатора пользователя, от имени которого выполняется запрос, и его различных атрибутов.
🔸 Оно содержит функции для работы с переменными различных типов. Созданные переменные существуют в течение текущей пользовательской сессии.
🔸 По умолчанию эти переменные создаются без поддержки транзакций. Если переменная успешно создана, она остаётся доступной в течение всего сеанса, даже если происходят откаты транзакций.
Если вы хотите использовать переменную с поддержкой транзакций и точек сохранения, необходимо передать дополнительный флаг
Флаг
Если вызовы функций
👉 Читать подробнее в статье
Расширение
pg_variables
для PostgreSQL предлагает альтернативу временным таблицам для эффективной работы с промежуточными данными, но имеет свои преимущества и недостатки, требующие тщательного анализа перед внедрением:🔸 Оно позволяет определять скалярные сессионные переменные, которые могут быть очень ценными для хранения идентификатора пользователя, от имени которого выполняется запрос, и его различных атрибутов.
🔸 Оно содержит функции для работы с переменными различных типов. Созданные переменные существуют в течение текущей пользовательской сессии.
🔸 По умолчанию эти переменные создаются без поддержки транзакций. Если переменная успешно создана, она остаётся доступной в течение всего сеанса, даже если происходят откаты транзакций.
Если вы хотите использовать переменную с поддержкой транзакций и точек сохранения, необходимо передать дополнительный флаг
is_transactional
в последний параметр функции, которая создаёт переменную.Флаг
is_transactional
нужно указывать каждый раз, когда вы изменяете значение транзакционной переменной с помощью функций pgv_set()
и pgv_insert()
. В противном случае возникнет ошибка. Другим функциям передавать этот флаг не нужно.Если вызовы функций
pgv_free()
или pgv_remove()
откатываются, затронутые транзакционные переменные восстанавливаются. В отличие от них, нетранзакционные переменные удаляются безвозвратно.Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❗Вакансии «Библиотеки программиста» — ждем вас в команде!
Мы постоянно растем и развиваемся, поэтому создали отдельную страницу, на которой будут размещены наши актуальные вакансии. Сейчас мы ищем:
👉контент-менеджеров для ведения телеграм-каналов
Подробности тут
Мы предлагаем частичную занятость и полностью удаленный формат работы — можно совмещать с основной и находиться в любом месте🌴
Ждем ваших откликов 👾
Мы постоянно растем и развиваемся, поэтому создали отдельную страницу, на которой будут размещены наши актуальные вакансии. Сейчас мы ищем:
👉контент-менеджеров для ведения телеграм-каналов
Подробности тут
Мы предлагаем частичную занятость и полностью удаленный формат работы — можно совмещать с основной и находиться в любом месте🌴
Ждем ваших откликов 👾
Please open Telegram to view this post
VIEW IN TELEGRAM
🏗 3 основных шаблона событийно-ориентированной архитектуры
Знание данных шаблонов позволяет:
✔️ Создавать слабосвязанные системы, в которых сбой одного компонента не приводит к полному отказу всей системы, а составные части приложения легче масштабировать и модифицировать.
✔️ Эффективно управлять асинхронными операциями и обрабатывать непредсказуемые события в системе.
✔️ Разрабатывать отзывчивые и эффективные приложения, обрабатывающие данные в реальном времени.
✔️ Создавать высоконагруженные системы, в которых требуется быстрая реакция на события.
✔️ Эффективно использовать современные технологии, например потоковую обработку данных и бессерверные вычисления.
1️⃣ Шаблон конкурирующих потребителей используется для эффективного распределения большого количества асинхронных сообщений между несколькими потребителями. Ключевой момент в этом шаблоне — необходимость обработки каждого сообщения только одним потребителем. Разные инструменты и платформы решают эту задачу по-своему:
2️⃣ Шаблон повторных попыток сообщений используется для обработки ошибок при работе с очередями сообщений. Этот шаблон позволяет создать надежную систему обработки транзакций, способную справляться с временными сбоями и обеспечивающую контролируемый процесс для работы с проблемными транзакциями, например, при обработке платежей.
3️⃣ Шаблон асинхронного запроса-ответа позволяет создавать масштабируемые и устойчивые к сбоям системы, где сервисы могут взаимодействовать асинхронно, не блокируя друг друга и сохраняя способность корректно обрабатывать ответы даже при изменении состояния системы между запросом и ответом.
👉 Подробнее читайте в нашей статье
👉 Зеркало
Знание данных шаблонов позволяет:
Please open Telegram to view this post
VIEW IN TELEGRAM
👨💻 Подборка шпаргалок по работе с Git: на заметку разработчику
Об IOCCC (International Obfuscated C Code Contest)
Это ежегодный конкурс, где разработчики соревнуются в написании максимально запутанного и сложного для понимания кода на C, который при этом выполняет полезные функции🤯
К сожалению, конкурс закрыт и больше не проводится, но вы можете изучить работы победителей с 1984года в репозитории
Это ежегодный конкурс, где разработчики соревнуются в написании максимально запутанного и сложного для понимания кода на C, который при этом выполняет полезные функции
К сожалению, конкурс закрыт и больше не проводится, но вы можете изучить работы победителей с 1984года в репозитории
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
#инструменты
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🧑💻 Статьи для IT: как объяснять и распространять значимые идеи
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
This media is not supported in your browser
VIEW IN TELEGRAM
Нашли прикольный сайт с играми для кодеров
CodinGame — это платформа, где можно качать свои навыки в программировании и играть одновременно. Тут есть куча языков: Python, Java, C++ и другие.
Игры доступны бесплатно, разобраться несложно — присутствует туториал
CodinGame — это платформа, где можно качать свои навыки в программировании и играть одновременно. Тут есть куча языков: Python, Java, C++ и другие.
Игры доступны бесплатно, разобраться несложно — присутствует туториал
This media is not supported in your browser
VIEW IN TELEGRAM
🤖 Supermaven — один из самых быстрых ИИ-помощников для разработчика. Доступен в виде расширения для IDE от Jetbrains, VSCode или Neovim.
👉 Скачать
#инструменты
👉 Скачать
#инструменты
Начать с вводных занятий можно здесь, ответив всего на 4 вопроса – https://proglib.io/w/3077986f
Что будет на демо?
🔹Вводный урок от CPO курса;
🔹Лекции со всеми преподавателями МГУ по темам: теория множеств, непрерывность функции, основные формулы комбинаторики, матрицы и операции над ними, градиентный спуск;
🔹Практические задания и дополнительные материалы!
Please open Telegram to view this post
VIEW IN TELEGRAM
Telegram начнет передавать данные пользователей по запросам властей
В телеграм обновили Terms of Service and Privacy Policy, теперь те, кто нарушает правила сервиса, могут быть раскрыты соответствующим органам в ответ на обоснованные юридические запросы. Эти меры должны отпугнуть преступников
Также обновили Telegram search: с помощью AI он отсеивает весь проблемный контент
➡️ Ссылка на новость
В телеграм обновили Terms of Service and Privacy Policy, теперь те, кто нарушает правила сервиса, могут быть раскрыты соответствующим органам в ответ на обоснованные юридические запросы. Эти меры должны отпугнуть преступников
Также обновили Telegram search: с помощью AI он отсеивает весь проблемный контент
Please open Telegram to view this post
VIEW IN TELEGRAM
🔟🏩 ТОП-10 перспективных студий разработки: лучшие компании для вашего карьерного роста
Работа в аутсорсе — это как американские горки: пока одни видят в ней хаос и нестабильность, другие — возможность получить уникальный опыт и попробовать себя в разных ролях.
Однако устраиваться хоть в какую-нибудь студию, каких сейчас много — не лучшее решение, поскольку на старте бывают проблемы с финансированием и ни о какой стабильности не может быть и речи.
🔗 Читать статью
🔗 Зеркало
Работа в аутсорсе — это как американские горки: пока одни видят в ней хаос и нестабильность, другие — возможность получить уникальный опыт и попробовать себя в разных ролях.
Однако устраиваться хоть в какую-нибудь студию, каких сейчас много — не лучшее решение, поскольку на старте бывают проблемы с финансированием и ни о какой стабильности не может быть и речи.
🔗 Читать статью
🔗 Зеркало
💡 Зачем использовать distributed lock: на заметку разработчику
Распределённая блокировка (distributed locking) — это метод координации доступа к общим ресурсам между несколькими процессами или узлами в распределённой системе.
👉 Источник
#инфографика
Распределённая блокировка (distributed locking) — это метод координации доступа к общим ресурсам между несколькими процессами или узлами в распределённой системе.
👉 Источник
#инфографика
Please open Telegram to view this post
VIEW IN TELEGRAM