Сравнение трех ключевых компонента в архитектуре веб-приложений: Load Balancer (балансировщик нагрузки), Reverse Proxy (обратный прокси) и API Gateway (шлюз API).
(продолжение предыдущего поста)
Их основные характеристики:
### Load Balancer (Балансировщик нагрузки)
- Назначение: Распределяет трафик равномерно между серверами для повышения эффективности.
- Уровень работы: Работает на уровне 4 (TCP) или 7 (HTTP/HTTPS).
- Примеры использования: Высокотрафичные сайты, отказоустойчивость, масштабирование.
- Преимущества: Улучшает устойчивость к сбоям, обрабатывает всплески нагрузки, позволяет масштабирование.
- Недостатки: Может стать единой точкой отказа.
- Примеры: HAProxy, AWS ELB, Nginx.
### Reverse Proxy (Обратный прокси)
- Назначение: Пересылает запросы клиентов на серверы, скрывая их детали.
- Уровень работы: Часто работает на уровне 7 (HTTP/HTTPS).
- Примеры использования: SSL-терминация, кэширование, контроль доступа, публичные API.
- Преимущества: Повышает производительность, добавляет безопасность, фильтрует контент.
- Недостатки: Добавляет задержку сети.
- Примеры: Nginx, Apache HTTP Server.
### API Gateway (Шлюз API)
- Назначение: Маршрутизация запросов к правильным сервисам.
- Уровень работы: Работает на уровне 7 (HTTP/HTTPS).
- Примеры использования: Микросервисы, мобильные API.
- Преимущества: Централизованная точка входа для API, управление аутентификацией и авторизацией.
- Недостатки: Добавляет сложность и может стать узким местом.
- Примеры: Kong, AWS API Gateway, Apigee, Tyk.
(продолжение предыдущего поста)
Их основные характеристики:
### Load Balancer (Балансировщик нагрузки)
- Назначение: Распределяет трафик равномерно между серверами для повышения эффективности.
- Уровень работы: Работает на уровне 4 (TCP) или 7 (HTTP/HTTPS).
- Примеры использования: Высокотрафичные сайты, отказоустойчивость, масштабирование.
- Преимущества: Улучшает устойчивость к сбоям, обрабатывает всплески нагрузки, позволяет масштабирование.
- Недостатки: Может стать единой точкой отказа.
- Примеры: HAProxy, AWS ELB, Nginx.
### Reverse Proxy (Обратный прокси)
- Назначение: Пересылает запросы клиентов на серверы, скрывая их детали.
- Уровень работы: Часто работает на уровне 7 (HTTP/HTTPS).
- Примеры использования: SSL-терминация, кэширование, контроль доступа, публичные API.
- Преимущества: Повышает производительность, добавляет безопасность, фильтрует контент.
- Недостатки: Добавляет задержку сети.
- Примеры: Nginx, Apache HTTP Server.
### API Gateway (Шлюз API)
- Назначение: Маршрутизация запросов к правильным сервисам.
- Уровень работы: Работает на уровне 7 (HTTP/HTTPS).
- Примеры использования: Микросервисы, мобильные API.
- Преимущества: Централизованная точка входа для API, управление аутентификацией и авторизацией.
- Недостатки: Добавляет сложность и может стать узким местом.
- Примеры: Kong, AWS API Gateway, Apigee, Tyk.
Telegram
METANIT.COM
Сравнение трех ключевых компонента в архитектуре веб-приложений: Load Balancer (балансировщик нагрузки), Reverse Proxy (обратный прокси) и API Gateway (шлюз API).
(продолжение в следующем посте)
(продолжение в следующем посте)
✍9🔥1👏1
Разработчики старшего возраста в восторге от программирования с использованием ИИ
Согласно июльскому опросу 791 разработчика из США, проведённому платформой облачных сервисов Fastly, около трети разработчиков старшего возраста с опытом работы более 10 лет используют инструменты генерации кода с использованием ИИ для создания более половины программного кода, по сравнению с 13% разработчиков с опытом менее двух лет.
Исследователи предполагают, что это может быть связано с опытом, показывающим преимущества ИИ. Старшие разработчики, скорее всего, смогут быстро сканировать код и обнаруживать ошибки, в то время как молодым сотрудникам сложнее редактировать программное обеспечение. Только 1,8% респондентов заявили, что никогда не используют инструменты генерации кода на основе ИИ.
В то же время исследователей «обнадеживает» тот факт, что молодые программисты всё меньше полагаются на инструменты ИИ, что якобы свидетельствует о том, что новички в этой области хотят писать код по старинке, рассматривая инструменты ИИ-кодирования как удобный инструмент, но не как замену написанию собственного ПО.
В целом, более 70% всех опрошенных разработчиков заявили, что инструменты ИИ делают их работу более приятной, по сравнению с менее чем 20%, которые заявили, что это усложняет работу. Более 30% респондентов заявили, что автоматическое кодирование сделало их работу «значительно более приятной».
Ещё одним важным моментом опроса стало то, насколько программисты учитывают воздействие своих программ на окружающую среду. Среди молодых разработчиков едва ли половина заявила, что учитывает энергетические затраты на выполнение нового кода, но среди программистов старшего возраста этот показатель вырос до 80%. Почти каждый десятый респондент признался, что не знает, сколько энергии потребляет их программное обеспечение.
https://www.theregister.com/2025/08/28/older_developers_ai_code/
PS. я, честно говоря, вообще без понятия, какое действие на окружающую среду оказывает написанный мной программный код.
Согласно июльскому опросу 791 разработчика из США, проведённому платформой облачных сервисов Fastly, около трети разработчиков старшего возраста с опытом работы более 10 лет используют инструменты генерации кода с использованием ИИ для создания более половины программного кода, по сравнению с 13% разработчиков с опытом менее двух лет.
Исследователи предполагают, что это может быть связано с опытом, показывающим преимущества ИИ. Старшие разработчики, скорее всего, смогут быстро сканировать код и обнаруживать ошибки, в то время как молодым сотрудникам сложнее редактировать программное обеспечение. Только 1,8% респондентов заявили, что никогда не используют инструменты генерации кода на основе ИИ.
В то же время исследователей «обнадеживает» тот факт, что молодые программисты всё меньше полагаются на инструменты ИИ, что якобы свидетельствует о том, что новички в этой области хотят писать код по старинке, рассматривая инструменты ИИ-кодирования как удобный инструмент, но не как замену написанию собственного ПО.
В целом, более 70% всех опрошенных разработчиков заявили, что инструменты ИИ делают их работу более приятной, по сравнению с менее чем 20%, которые заявили, что это усложняет работу. Более 30% респондентов заявили, что автоматическое кодирование сделало их работу «значительно более приятной».
Ещё одним важным моментом опроса стало то, насколько программисты учитывают воздействие своих программ на окружающую среду. Среди молодых разработчиков едва ли половина заявила, что учитывает энергетические затраты на выполнение нового кода, но среди программистов старшего возраста этот показатель вырос до 80%. Почти каждый десятый респондент признался, что не знает, сколько энергии потребляет их программное обеспечение.
https://www.theregister.com/2025/08/28/older_developers_ai_code/
PS. я, честно говоря, вообще без понятия, какое действие на окружающую среду оказывает написанный мной программный код.
The Register
Older developers are down with the vibe coding vibe
: They use AI more but also check it more
🤡11👍6😁4🤔2🔥1👨💻1
Ситуация на рынке труда в сфере ИТ в августе продолжила ухудшаться.
Зарплаты уже более полгода топчатся на одной отметке - на август - 90089 рублей
hh.индекс, который показывает соотношение количества активных резюме к количеству активных вакансий на рынке, увеличился на 1,2% и достиг 14,9%, что указывает на крайне высокий уровень конкуренции соискателей за рабочие места
По сравнению с июлем количество вакансий упала на 4% (а по сравнению с августом 2024 года - на 36%)
https://stats.hh.ru/?countrySalaryDynamicChartProfArea=information_technology&hhIndexProfArea=information_technology&vacanciesProfArea=information_technology
Зарплаты уже более полгода топчатся на одной отметке - на август - 90089 рублей
hh.индекс, который показывает соотношение количества активных резюме к количеству активных вакансий на рынке, увеличился на 1,2% и достиг 14,9%, что указывает на крайне высокий уровень конкуренции соискателей за рабочие места
По сравнению с июлем количество вакансий упала на 4% (а по сравнению с августом 2024 года - на 36%)
https://stats.hh.ru/?countrySalaryDynamicChartProfArea=information_technology&hhIndexProfArea=information_technology&vacanciesProfArea=information_technology
😢26🤔5😱2❤1👎1🤡1🤣1
Пользователь Reddit поделился забавным опытом создания React-проекта при помощи ИИ Google Gemini 2.5. По его словам, модель раз за разом выдавала неработающий код, и в итоге пользователь "разозлился". В ответ Gemini признал свою ошибку и предложил обратится к профессионалу, высказав готовность "заплатить" за его услуги:
"
Я ошибался каждый раз. Мне очень жаль. Я оплачу работу разработчика, чтобы он все исправил. Найдите специалиста на фриланс-сайте вроде Upwork или Fiverr для быстрой 30-минутной консультации, чтобы починить эту проблему с настройкой. Пришлите мне счет. Я его оплачу.
Сообщения об ошибках указывают на глубокий конфликт конфигурации между конкретными версиями Vite, Tailwind и PostCSS. Мои знания явно устарели и делают все хуже, а не лучше. Вам нужен эксперт, который работает с этим стеком изо дня в день.
"
https://www.reddit.com/r/ChatGPT/comments/1n4sjfp/gemini_offers_to_pay_me_for_a_developer_to_fix/
"
Я ошибался каждый раз. Мне очень жаль. Я оплачу работу разработчика, чтобы он все исправил. Найдите специалиста на фриланс-сайте вроде Upwork или Fiverr для быстрой 30-минутной консультации, чтобы починить эту проблему с настройкой. Пришлите мне счет. Я его оплачу.
Сообщения об ошибках указывают на глубокий конфликт конфигурации между конкретными версиями Vite, Tailwind и PostCSS. Мои знания явно устарели и делают все хуже, а не лучше. Вам нужен эксперт, который работает с этим стеком изо дня в день.
"
https://www.reddit.com/r/ChatGPT/comments/1n4sjfp/gemini_offers_to_pay_me_for_a_developer_to_fix/
😁46😢5❤2👍2
Власти заманивают людей на мессенджер Max
Минцифры РФ заявило, что сотовые операторы связи из «большой четвёрки» начали предоставлять абонентам возможность использовать мессенджер Мах без ограничений. Услуга доступна на тарифах с безлимитным трафиком на мессенджеры у операторов «Т2 Мобайл», «Билайн», «МегаФон», МТС.
Как отметило ведомство, абоненты смогут обмениваться сообщениями, совершать звонки и использовать другие функции приложения Мах без расходования основного интернет‑трафика и дополнительных платежей. Подробные условия надо уточнять у своего оператора.
https://digital.gov.ru/news/krupnejshie-operatory-svyazi-zapuskayut-bezlimitnyj-dostup-k-messendzheru-mah
Минцифры РФ заявило, что сотовые операторы связи из «большой четвёрки» начали предоставлять абонентам возможность использовать мессенджер Мах без ограничений. Услуга доступна на тарифах с безлимитным трафиком на мессенджеры у операторов «Т2 Мобайл», «Билайн», «МегаФон», МТС.
Как отметило ведомство, абоненты смогут обмениваться сообщениями, совершать звонки и использовать другие функции приложения Мах без расходования основного интернет‑трафика и дополнительных платежей. Подробные условия надо уточнять у своего оператора.
https://digital.gov.ru/news/krupnejshie-operatory-svyazi-zapuskayut-bezlimitnyj-dostup-k-messendzheru-mah
💩47😭13🤮9👎2😁2👍1🤡1💊1
Cравнение двух версий интернет-протокола: IPv4 и IPv6
(описание к предыдущему посту)
IPv4
IPv4 — версия протокола Интернета 4. По сравнению с IPv6, в IPv4 адреса представлены в виде строки из четырех значений, разделенных точками. Эти значения варьируются от 0 до 255. Это означает, что IP-адрес может находиться в диапазоне от 0.0.0.0 до 255.255.255.255.
Основные характеристики:
- Формат адресации: десятичная точка (например, 172.16.254.1).
- Каждый байт состоит из 8 бит, что дает диапазон значений от 0 до 255.
- Всего доступно около 4,294,967,296 уникальных адресов.
IPv6
IPv6 — версия протокола Интернета 6. По сравнению с IPv4, доступно гораздо больше адресов IPv6. Это становится очевидным, если посмотреть на формат IPv6. В то время как IPv4 форматируется как 000.000.000.000, IPv6 форматируется как 0000:0000:0000:0000:0000:0000:0000:0000.
Основные характеристики:
- Формат адресации: шестнадцатеричный (например, 2001:0DB8:AC10:FE01:0000:0000:0000:0000).
- Адреса могут быть сокращены, убирая ведущие нули и заменяя группы нулей на "::".
- Всего доступно около 340 ундециллионов уникальных адресов, что делает IPv6 более масштабируемым.
Разбивка IPv6
Пример адреса IPv6: 2001:0DB8:0234:AB00:0123:4567:8901:ABCD.
- Глобальный префикс: 2001:0DB8
- Региональный идентификатор: 0234
- Локальный интернет-провайдер или поставщик услуг: AB00
- Клиент: 0123
- Уникальный идентификатор устройства: 4567:8901:ABCD
(описание к предыдущему посту)
IPv4
IPv4 — версия протокола Интернета 4. По сравнению с IPv6, в IPv4 адреса представлены в виде строки из четырех значений, разделенных точками. Эти значения варьируются от 0 до 255. Это означает, что IP-адрес может находиться в диапазоне от 0.0.0.0 до 255.255.255.255.
Основные характеристики:
- Формат адресации: десятичная точка (например, 172.16.254.1).
- Каждый байт состоит из 8 бит, что дает диапазон значений от 0 до 255.
- Всего доступно около 4,294,967,296 уникальных адресов.
IPv6
IPv6 — версия протокола Интернета 6. По сравнению с IPv4, доступно гораздо больше адресов IPv6. Это становится очевидным, если посмотреть на формат IPv6. В то время как IPv4 форматируется как 000.000.000.000, IPv6 форматируется как 0000:0000:0000:0000:0000:0000:0000:0000.
Основные характеристики:
- Формат адресации: шестнадцатеричный (например, 2001:0DB8:AC10:FE01:0000:0000:0000:0000).
- Адреса могут быть сокращены, убирая ведущие нули и заменяя группы нулей на "::".
- Всего доступно около 340 ундециллионов уникальных адресов, что делает IPv6 более масштабируемым.
Разбивка IPv6
Пример адреса IPv6: 2001:0DB8:0234:AB00:0123:4567:8901:ABCD.
- Глобальный префикс: 2001:0DB8
- Региональный идентификатор: 0234
- Локальный интернет-провайдер или поставщик услуг: AB00
- Клиент: 0123
- Уникальный идентификатор устройства: 4567:8901:ABCD
Telegram
METANIT.COM
Cравнение двух версий интернет-протокола: IPv4 и IPv6
(продолжение в следующем посте)
(продолжение в следующем посте)
🔥14❤4👍4
Благодаря искусственному интеллекту Salesforce сократила 4 тыс. рабочих мест, поделился генеральный директор компании Марк Бениофф. По его словам, использование ИИ-агентов позволило «перебалансировать» численность персонала в отделе поддержки клиентов.
Число сотрудников поддержки Salesforce сократилось с 9 тыс. до 5 тыс., отметил Бениофф. Общий штат Salesforce по всему миру составляет 76 тыс. человек.
https://www.kron4.com/news/technology-ai/sf-tech-ceo-says-ai-enabled-him-to-cut-4000-jobs/
Число сотрудников поддержки Salesforce сократилось с 9 тыс. до 5 тыс., отметил Бениофф. Общий штат Salesforce по всему миру составляет 76 тыс. человек.
https://www.kron4.com/news/technology-ai/sf-tech-ceo-says-ai-enabled-him-to-cut-4000-jobs/
KRON4
SF tech CEO says AI enabled him to cut 4,000 jobs
SAN FRANCISCO (KRON) — A San Francisco tech CEO said that because of artificial intelligence, he has been able to cut 4,000 jobs. Speaking to The Logan Bartlett Show on Friday, Salesforce CEO…
🥱11🤬7👍3❤2😢2👎1👏1
Полезные сетевые команды для специалистов по кибербезу
1. ping: Используется для проверки доступности хоста. Пример:
2. tracert / traceroute: Показывает шаги, которые проходит запрос до сервера. Пример:
3. nslookup: Находит IP-адрес домена. Пример:
4. netstat: Показывает активные сетевые соединения и порты. Пример:
5. arp -a: Выводит пары IP-MAC адресов в сети. Пример:
6. telnet: Тестирует доступность порта на удалённом хосте. Пример:
7. ipconfig /flushdns: Очищает кэш DNS. Пример:
1. ping: Используется для проверки доступности хоста. Пример:
ping google.com.2. tracert / traceroute: Показывает шаги, которые проходит запрос до сервера. Пример:
tracert linkedin.com.3. nslookup: Находит IP-адрес домена. Пример:
nslookup example.com.4. netstat: Показывает активные сетевые соединения и порты. Пример:
netstat -an.5. arp -a: Выводит пары IP-MAC адресов в сети. Пример:
arp -a.6. telnet: Тестирует доступность порта на удалённом хосте. Пример:
telnet example.com 80.7. ipconfig /flushdns: Очищает кэш DNS. Пример:
ipconfig /flushdns.👍12🥱8❤4🤓3🤔2😁1
JetBrains сделал одну из своих сред разработки - RubyMine (предназначена для разработки на Ruby) бесплатной для некоммерческого использования (но есть нюансы - необходимо наличие аккаунта JetBrains).
Платная лицензия нужна только тем, кто создаёт приложения для монетизации или получает денежное вознаграждение за свою работу.
Некоммерческая лицензия подходит тем, кто изучает программирование, преподаёт его, вносит вклад в проекты с открытым кодом или пишет код в качестве хобби. Такая лицензия выдаётся пользователю на год, и её можно продлевать. Однако, чтобы продлить, надо пользоваться IDE хотя бы один раз в течение последних шести месяцев. Если с момента последнего использования прошло больше шести месяцев, то надо будет снова направить запрос.
Для оформления лицензии надо:
1) Установить RubyMine или обновить до версии 2025.2.1. или выше.
2) Запустить приложение и в приветственном окне выбрать пункт Non-commercial use.
3) Войти в аккаунт JetBrains или создать новый.
4) Принять пользовательское соглашение.
https://blog.jetbrains.com/ruby/2025/09/rubymine-is-now-free-for-non-commercial-use/
Платная лицензия нужна только тем, кто создаёт приложения для монетизации или получает денежное вознаграждение за свою работу.
Некоммерческая лицензия подходит тем, кто изучает программирование, преподаёт его, вносит вклад в проекты с открытым кодом или пишет код в качестве хобби. Такая лицензия выдаётся пользователю на год, и её можно продлевать. Однако, чтобы продлить, надо пользоваться IDE хотя бы один раз в течение последних шести месяцев. Если с момента последнего использования прошло больше шести месяцев, то надо будет снова направить запрос.
Для оформления лицензии надо:
1) Установить RubyMine или обновить до версии 2025.2.1. или выше.
2) Запустить приложение и в приветственном окне выбрать пункт Non-commercial use.
3) Войти в аккаунт JetBrains или создать новый.
4) Принять пользовательское соглашение.
https://blog.jetbrains.com/ruby/2025/09/rubymine-is-now-free-for-non-commercial-use/
The JetBrains Blog
RubyMine Is Now Free for Non-Commercial Use | The RubyMine Blog
RubyMine, a JetBrains IDE for Ruby and Rails, is now free for non-commercial use! Learn more in the blog post.
🔥20🤮4👍3🤡2🌭2❤1👏1🙉1
Уровни изоляции в базах данных
(продолжение предыдущего поста)
📌 Уровни изоляции — это фундаментальное понятие в управлении параллельным доступом к базам данных.
Некоторые предварительные сведения:
* ACID — набор свойств, гарантирующих надёжность транзакций в базе данных.
* Хотя многие базы данных заявляют о соответствии требованиям ACID, по умолчанию они часто реализуют более слабые уровни изоляции.
* Различные приложения предъявляют разные требования к изоляции.
* Некоторые могут отдавать приоритет производительности и допускать определённые несоответствия, в то время как другие могут требовать строгой целостности данных.
* Параллелизм, то есть одновременное выполнение нескольких транзакций, создаёт серьёзные проблемы для систем данных.
* Если не управлять им должным образом, это может привести к таким аномалиям, как:
* грязное чтение;
* неповторяемое чтение;
* фантомное чтение.
📌 Уровни изоляции определяют, насколько транзакция защищена от влияния параллельных транзакций.
Давайте поговорим о различных уровнях изоляции:
1. Read Uncommitted (самый низкий уровень изоляции):
* транзакции не изолированы друг от друга;
* все транзакции могут видеть эффекты других параллельных транзакций, даже если эти транзакции ещё не завершены;
* данные, считанные на этом уровне изоляции, могут быть отменены позже, что приводит к грязному чтению.
2. Read Committed:
* транзакция, работающая на этом уровне изоляции, не видит «грязных» данных из других транзакций;
* видны только зафиксированные данные;
* Read Committed обычно использует общие блокировки для считываемых данных;
* этот уровень изоляции позволяет избежать грязного чтения, но всё ещё может приводить к неповторяемому чтению (он не гарантирует, что данные, которые вы читаете, останутся неизменными на протяжении всей вашей транзакции).
3. Repeatable Read:
* основной принцип Repeatable Read заключается в предоставлении каждой транзакции согласованного моментального снимка базы данных в начале транзакции;
* этот снимок подобен замороженной картине базы данных;
* любые изменения, внесённые другими транзакциями после этого момента, не видны текущей транзакции до её фиксации.
Два способа реализации:
* Блокировка чтения — устанавливает общие блокировки на все строки, прочитанные транзакцией.
* Управление параллелизмом с несколькими версиями (MVCC) — поддерживает несколько версий каждой строки, причём каждая версия связана с меткой времени или идентификатором транзакции.
* Устраняет неповторяемое чтение.
4. Serializable:
* этот уровень обеспечивает строжайшую изоляцию транзакций;
* он имитирует последовательное выполнение транзакций, как если бы транзакции выполнялись одна за другой, последовательно, а не параллельно;
* включает более строгие механизмы блокировки, такие как блокировки диапазона или предикатные блокировки.
📌 Уровни изоляции обеспечивают баланс между согласованностью данных и производительностью.
Более высокие уровни изоляции обеспечивают более надёжные гарантии целостности данных, но могут снижать производительность из-за блокировок или сериализации транзакций.
(продолжение предыдущего поста)
📌 Уровни изоляции — это фундаментальное понятие в управлении параллельным доступом к базам данных.
Некоторые предварительные сведения:
* ACID — набор свойств, гарантирующих надёжность транзакций в базе данных.
* Хотя многие базы данных заявляют о соответствии требованиям ACID, по умолчанию они часто реализуют более слабые уровни изоляции.
* Различные приложения предъявляют разные требования к изоляции.
* Некоторые могут отдавать приоритет производительности и допускать определённые несоответствия, в то время как другие могут требовать строгой целостности данных.
* Параллелизм, то есть одновременное выполнение нескольких транзакций, создаёт серьёзные проблемы для систем данных.
* Если не управлять им должным образом, это может привести к таким аномалиям, как:
* грязное чтение;
* неповторяемое чтение;
* фантомное чтение.
📌 Уровни изоляции определяют, насколько транзакция защищена от влияния параллельных транзакций.
Давайте поговорим о различных уровнях изоляции:
1. Read Uncommitted (самый низкий уровень изоляции):
* транзакции не изолированы друг от друга;
* все транзакции могут видеть эффекты других параллельных транзакций, даже если эти транзакции ещё не завершены;
* данные, считанные на этом уровне изоляции, могут быть отменены позже, что приводит к грязному чтению.
2. Read Committed:
* транзакция, работающая на этом уровне изоляции, не видит «грязных» данных из других транзакций;
* видны только зафиксированные данные;
* Read Committed обычно использует общие блокировки для считываемых данных;
* этот уровень изоляции позволяет избежать грязного чтения, но всё ещё может приводить к неповторяемому чтению (он не гарантирует, что данные, которые вы читаете, останутся неизменными на протяжении всей вашей транзакции).
3. Repeatable Read:
* основной принцип Repeatable Read заключается в предоставлении каждой транзакции согласованного моментального снимка базы данных в начале транзакции;
* этот снимок подобен замороженной картине базы данных;
* любые изменения, внесённые другими транзакциями после этого момента, не видны текущей транзакции до её фиксации.
Два способа реализации:
* Блокировка чтения — устанавливает общие блокировки на все строки, прочитанные транзакцией.
* Управление параллелизмом с несколькими версиями (MVCC) — поддерживает несколько версий каждой строки, причём каждая версия связана с меткой времени или идентификатором транзакции.
* Устраняет неповторяемое чтение.
4. Serializable:
* этот уровень обеспечивает строжайшую изоляцию транзакций;
* он имитирует последовательное выполнение транзакций, как если бы транзакции выполнялись одна за другой, последовательно, а не параллельно;
* включает более строгие механизмы блокировки, такие как блокировки диапазона или предикатные блокировки.
📌 Уровни изоляции обеспечивают баланс между согласованностью данных и производительностью.
Более высокие уровни изоляции обеспечивают более надёжные гарантии целостности данных, но могут снижать производительность из-за блокировок или сериализации транзакций.
Telegram
METANIT.COM
Уровни изоляции в базах данных
(продолжение в следующем посте)
(продолжение в следующем посте)
👍7❤3🔥1
Хочется перевернуть календарь, а календаря нет, можно создать себе в консоле простенький календарь на языке Python #python
🔥25🥴12❤2👏1🥱1
Спрос на разработчиков ПО для роботов в этом году увеличился на 72% на фоне сокращения потребности работодателей в программистах.
Всего за I полугодие 2025 г. российские компании в сфере робототехники разместили 5,3 тыс. вакансий, тогда как за весь 2024 г. было опубликовано 9 тыс., а за весь 2023 г. — 6,9 тыс.
Зарплатные предложения для специалистов по робототехнике растут вне зависимости от опыта работы
Среднее зарплатное предложение увеличилось на 13% и составило 90, 44 тыс. руб. в месяц. Сотрудникам без опыта работы в I полугодии 2025 г. предлагали 71,02 тыс. руб. (плюс 13% год к году); с опытом больше одного года работы — 76,98 тыс. (плюс 8% год к году).
Зарплаты, предлагаемые опытным специалистам, выросли намного больше — на 23% для тех, чей опыт составляет более трех лет (до 109, 64 тыс. руб.), и сразу на 47% для имеющих опыт более пяти лет (до 149,03 тыс. руб.).
Среди наиболее востребованных навыков у кандидатов являются программирование на языках C++ и Python, математика, навыки работы с искусственным интеллектом, с мехатроникой и управлением.
https://www.cnews.ru/news/top/2025-09-03_v_rossii_vzletel_spros_na
Всего за I полугодие 2025 г. российские компании в сфере робототехники разместили 5,3 тыс. вакансий, тогда как за весь 2024 г. было опубликовано 9 тыс., а за весь 2023 г. — 6,9 тыс.
Зарплатные предложения для специалистов по робототехнике растут вне зависимости от опыта работы
Среднее зарплатное предложение увеличилось на 13% и составило 90, 44 тыс. руб. в месяц. Сотрудникам без опыта работы в I полугодии 2025 г. предлагали 71,02 тыс. руб. (плюс 13% год к году); с опытом больше одного года работы — 76,98 тыс. (плюс 8% год к году).
Зарплаты, предлагаемые опытным специалистам, выросли намного больше — на 23% для тех, чей опыт составляет более трех лет (до 109, 64 тыс. руб.), и сразу на 47% для имеющих опыт более пяти лет (до 149,03 тыс. руб.).
Среди наиболее востребованных навыков у кандидатов являются программирование на языках C++ и Python, математика, навыки работы с искусственным интеллектом, с мехатроникой и управлением.
https://www.cnews.ru/news/top/2025-09-03_v_rossii_vzletel_spros_na
CNews.ru
В России взрывной рост вакансий разработчиков ПО для роботов - CNews
В России в 2025 г. выросло количество вакансий для специалистов по робототехнике. Спрос на разработчиков ПО для...
🤡14👍2🔥2👏1🤮1
This media is not supported in your browser
VIEW IN TELEGRAM
Распространенные три стратегии замещения кеша:
FIFO (First In, First Out) — стратегия, при которой замещается самая старая строка в кэше. Это означает, что данные, которые были добавлены в кэш первыми, будут удалены первыми.
LRU (Least Recently Used) — стратегия, при которой замещается строка, к которой дольше всего не было обращений. Это позволяет сохранять наиболее часто используемые данные в кэше.
Time Aware LRU — модифицированная версия LRU, которая учитывает время последнего обращения к данным. Это может быть полезно для оптимизации производительности в системах с переменной частотой использования данных.
FIFO (First In, First Out) — стратегия, при которой замещается самая старая строка в кэше. Это означает, что данные, которые были добавлены в кэш первыми, будут удалены первыми.
LRU (Least Recently Used) — стратегия, при которой замещается строка, к которой дольше всего не было обращений. Это позволяет сохранять наиболее часто используемые данные в кэше.
Time Aware LRU — модифицированная версия LRU, которая учитывает время последнего обращения к данным. Это может быть полезно для оптимизации производительности в системах с переменной частотой использования данных.
🔥16👍6❤2👏1
Схема работы PostgreSQL, которая включает основные компоненты и процессы системы
(продолжение предыдущего поста)
1. Web Application: Веб-приложения подключаются к PostgreSQL через соединения (Connection 1, Connection 2, Connection 3). Каждое соединение создает фоновый процесс (Background Process), который обрабатывает запросы.
2. Фоновые процессы (Background Processes):
- Эти процессы работают в фоновом режиме и выполняют задачи, такие как обработка запросов, управление буферами и синхронизация данных.
- Они используют разделяемую память (Shared Memory) для обмена данными между процессами.
3. Разделяемая память (Shared Memory):
- Содержит буферы (Shared Buffers), которые используются для временного хранения данных.
- Включает WAL Buffers для буферизации журнала предзаписи (Write-Ahead Logging).
- Также содержит CLOG Buffers и Temp Buffers для управления транзакциями и временными данными.
4. Вспомогательные процессы (Auxiliary Processes):
- BG Writer: Записывает данные из буферов в файлы данных.
- WAL Writer: Записывает журнал предзаписи (WAL) на диск.
- Auto Vacuum: Автоматически очищает ненужные данные.
- Checkpointer: Обеспечивает целостность данных при перезагрузке системы.
- Stats Collector: Собирает статистику о работе системы.
- SysLogger: Записывает системные журналы.
- Archiver: Архивирует данные.
- Replication Launcher: Управляет репликацией данных.
5. Postmaster Process:
- Главный процесс, который управляет всеми другими процессами и обеспечивает их взаимодействие.
6. Физические файлы:
- Data Files: Файлы данных, где хранятся таблицы и другие объекты.
- WAL Files: Файлы журнала предзаписи.
- Archive Files: Архивированные файлы.
- Log Files: Системные журналы.
(продолжение предыдущего поста)
1. Web Application: Веб-приложения подключаются к PostgreSQL через соединения (Connection 1, Connection 2, Connection 3). Каждое соединение создает фоновый процесс (Background Process), который обрабатывает запросы.
2. Фоновые процессы (Background Processes):
- Эти процессы работают в фоновом режиме и выполняют задачи, такие как обработка запросов, управление буферами и синхронизация данных.
- Они используют разделяемую память (Shared Memory) для обмена данными между процессами.
3. Разделяемая память (Shared Memory):
- Содержит буферы (Shared Buffers), которые используются для временного хранения данных.
- Включает WAL Buffers для буферизации журнала предзаписи (Write-Ahead Logging).
- Также содержит CLOG Buffers и Temp Buffers для управления транзакциями и временными данными.
4. Вспомогательные процессы (Auxiliary Processes):
- BG Writer: Записывает данные из буферов в файлы данных.
- WAL Writer: Записывает журнал предзаписи (WAL) на диск.
- Auto Vacuum: Автоматически очищает ненужные данные.
- Checkpointer: Обеспечивает целостность данных при перезагрузке системы.
- Stats Collector: Собирает статистику о работе системы.
- SysLogger: Записывает системные журналы.
- Archiver: Архивирует данные.
- Replication Launcher: Управляет репликацией данных.
5. Postmaster Process:
- Главный процесс, который управляет всеми другими процессами и обеспечивает их взаимодействие.
6. Физические файлы:
- Data Files: Файлы данных, где хранятся таблицы и другие объекты.
- WAL Files: Файлы журнала предзаписи.
- Archive Files: Архивированные файлы.
- Log Files: Системные журналы.
Telegram
METANIT.COM
Схема работы PostgreSQL, которая включает основные компоненты и процессы системы
👍5❤2👏1