В Positive Technologies начались массовые сокращения ИТ-шников
По сообщениям сотрудников Positive Technologies, с конца 2024 г. года в компании идут массовые увольнения. ИТ-шникам предлагают уйти по собственному желанию, несогласным выплачивают оклады. Кулуарно происходящее объясняют недостижением показателей. При этом по итогам 2023 г. выручка компании достигла 22,2 млрд руб.
Увольнения касаются разработчиков, программистов, тестировщиков и других специалистов. «В первую очередь убирают мидлов, и тех, чьи проекты закрываются или объединяются», - пояснили сотрудники.
https://www.cnews.ru/news/top/2025-02-02_v_krupnoj_ib-kompanii_s_milliardnoj
По сообщениям сотрудников Positive Technologies, с конца 2024 г. года в компании идут массовые увольнения. ИТ-шникам предлагают уйти по собственному желанию, несогласным выплачивают оклады. Кулуарно происходящее объясняют недостижением показателей. При этом по итогам 2023 г. выручка компании достигла 22,2 млрд руб.
Увольнения касаются разработчиков, программистов, тестировщиков и других специалистов. «В первую очередь убирают мидлов, и тех, чьи проекты закрываются или объединяются», - пояснили сотрудники.
https://www.cnews.ru/news/top/2025-02-02_v_krupnoj_ib-kompanii_s_milliardnoj
CNews.ru
В Positive Technologies начались массовые сокращения ИТ-шников - CNews
По сообщениям сотрудников Positive Technologies, с конца 2024 г. года в компании идут массовые увольнения. ИТ-шникам предлагают уйти по собственному желанию, несогласным выплачивают оклады. Кулуарно...
😱5👍3
Советы по повышению производительности интерфейса:
1 - Сжатие
Сжимайте файлы и минимизируйте размер данных перед передачей, чтобы снизить нагрузку на сеть
2 - Выборочный рендеринг
Отображайте только видимые элементы для оптимизации производительности рендеринга. Например, в динамическом списке отображайте только видимые элементы
3 — Модульная архитектура с разделением кода
Разделите большие файлы на несколько меньших файлов для эффективной загрузки
4 - Загрузка на основе приоритета
Отдайте приоритет важным ресурсам и контенту в области видимости
5 - Предварительная загрузка
Для повышения скорости загрузки извлекайте ресурсы, до того, как они будут запрошены
6 - Tree Shaking (удаление неиспользуемого кода)
Оптимизируйте набор файлов JS, удалив не используемый код
7 - Предварительная выборка
Заранее извлекайте или кэшируйте ресурсы, которые понадобятся позже
8 - Динамический импорт
Динамическая загрузка модулей на основе действий пользователя для оптимизации начального времени загрузки
1 - Сжатие
Сжимайте файлы и минимизируйте размер данных перед передачей, чтобы снизить нагрузку на сеть
2 - Выборочный рендеринг
Отображайте только видимые элементы для оптимизации производительности рендеринга. Например, в динамическом списке отображайте только видимые элементы
3 — Модульная архитектура с разделением кода
Разделите большие файлы на несколько меньших файлов для эффективной загрузки
4 - Загрузка на основе приоритета
Отдайте приоритет важным ресурсам и контенту в области видимости
5 - Предварительная загрузка
Для повышения скорости загрузки извлекайте ресурсы, до того, как они будут запрошены
6 - Tree Shaking (удаление неиспользуемого кода)
Оптимизируйте набор файлов JS, удалив не используемый код
7 - Предварительная выборка
Заранее извлекайте или кэшируйте ресурсы, которые понадобятся позже
8 - Динамический импорт
Динамическая загрузка модулей на основе действий пользователя для оптимизации начального времени загрузки
👍4🥰1👏1
План запроса — это последовательность шагов для доступа к данным в базе данных SQL. Каждый SQL-запрос, отправляемый в базу данных, преобразуется в план запроса.
Процесс выглядит примерно следующим образом:
• Анализ SQL
• Оптимизация SQL
• Выходной план запроса
Важнейшим компонентом этого процесса является оптимизатор запросов. Он отвечает за поиск в возможном пространстве плана запроса и нахождение оптимального плана запроса.
В оптимизаторе запросов, основанном на стоимости, каждый план запроса имеет соответствующую стоимость. Лучший план запроса — это тот, который имеет наименьшую стоимость.
Еще одна оптимизация, которую выполняют SQL-движки, — кэширование часто используемых планов запросов. Важно писать запросы так, чтобы их можно было кэшировать. Например, запрос с параметрами можно кэшировать, а план запроса использовать повторно.
#sql
Процесс выглядит примерно следующим образом:
• Анализ SQL
• Оптимизация SQL
• Выходной план запроса
Важнейшим компонентом этого процесса является оптимизатор запросов. Он отвечает за поиск в возможном пространстве плана запроса и нахождение оптимального плана запроса.
В оптимизаторе запросов, основанном на стоимости, каждый план запроса имеет соответствующую стоимость. Лучший план запроса — это тот, который имеет наименьшую стоимость.
Еще одна оптимизация, которую выполняют SQL-движки, — кэширование часто используемых планов запросов. Важно писать запросы так, чтобы их можно было кэшировать. Например, запрос с параметрами можно кэшировать, а план запроса использовать повторно.
#sql
👍14❤2🔥2
Наиболее применяемые команды Git для повседневного использования #git
🙏13👏4🔥3
5 распространенных стратегий кэширования:
1. 𝐑𝐞𝐚𝐝 𝐓𝐡𝐫𝐨𝐮𝐠𝐡 : Приложение всегда сначала запрашивает кэш. Если данные отсутствуют в кэше, кэш сам извлекает их из базы данных и сохраняет для будущих запросов
2. 𝐂𝐚𝐜𝐡𝐞 𝐀𝐬𝐢𝐝𝐞 ( 𝐋𝐚𝐳𝐲 𝐋𝐨𝐚𝐝𝐢𝐧𝐠): Приложение сначала проверяет кэш. Если данные не найдены в кэше, извлекает данные из БД и сохраняет в кэше для последующих запросов.
3. 𝐖𝐫𝐢𝐭𝐞 𝐓𝐡𝐫𝐨𝐮𝐠𝐡 : Каждая операция записи сначала сохраняется в кэше, а затем немедленно записывается в БД
4. 𝐖𝐫𝐢𝐭𝐞 𝐀𝐫𝐨𝐮𝐧𝐝 : Приложение напрямую пишет в базу данных, минуя кэш. Кэш обновляется только при запросе на чтение.
5. 𝐖𝐫𝐢𝐭𝐞 𝐁𝐚𝐜𝐤 : Данные сначала записываются в кэш, а кэш асинхронно обновляет БД в фоновом режиме
Какую стратегию использовать?
- Если чтения происходят чаще → Read-Through / Cache-Aside
- Если записи должны быть последовательными → Write-Through
- Если надо минимизировать ненужное кэширование → Write-Around
- Если нужна сверхбыстрая запись → Write-Back
1. 𝐑𝐞𝐚𝐝 𝐓𝐡𝐫𝐨𝐮𝐠𝐡 : Приложение всегда сначала запрашивает кэш. Если данные отсутствуют в кэше, кэш сам извлекает их из базы данных и сохраняет для будущих запросов
2. 𝐂𝐚𝐜𝐡𝐞 𝐀𝐬𝐢𝐝𝐞 ( 𝐋𝐚𝐳𝐲 𝐋𝐨𝐚𝐝𝐢𝐧𝐠): Приложение сначала проверяет кэш. Если данные не найдены в кэше, извлекает данные из БД и сохраняет в кэше для последующих запросов.
3. 𝐖𝐫𝐢𝐭𝐞 𝐓𝐡𝐫𝐨𝐮𝐠𝐡 : Каждая операция записи сначала сохраняется в кэше, а затем немедленно записывается в БД
4. 𝐖𝐫𝐢𝐭𝐞 𝐀𝐫𝐨𝐮𝐧𝐝 : Приложение напрямую пишет в базу данных, минуя кэш. Кэш обновляется только при запросе на чтение.
5. 𝐖𝐫𝐢𝐭𝐞 𝐁𝐚𝐜𝐤 : Данные сначала записываются в кэш, а кэш асинхронно обновляет БД в фоновом режиме
Какую стратегию использовать?
- Если чтения происходят чаще → Read-Through / Cache-Aside
- Если записи должны быть последовательными → Write-Through
- Если надо минимизировать ненужное кэширование → Write-Around
- Если нужна сверхбыстрая запись → Write-Back
👍5🔥1👏1
8 концепций языка Python, которые могут запутать/сбить с толку разработчика #python
👍7🥰1👏1🤮1
Компания Azul опубликовал свой отчет о состоянии Java за 2025 год. Отчет основан на ответах 2039 специалистов Java из компаний всех размеров
Согласно отчету, довольно много респондентов до сих пор используют древние версии Java. Так, Java 8, вышедшая в 2014 году, до сих пор применяется 23%, хотя в прошлом году этот показатель составлял 40%. Наиболее используемой версией является Java 17 LTS (выпущенная в 2021 году), за которой следует Java 21 LTS 2023 года.
Уязвимость Log4Shell в популярной библиотеке журналирования Log4j, обнаруженная в 2021 году, продолжает оставаться проблемой: 49 процентов респондентов заявили, что они по-прежнему сталкиваются с уязвимостями безопасности Log4j.
Spring Boot остается самой популярной средой микросервисов, но не намного. В 2023 году Spring Boot пользовался 61 процентом использования, но в текущем опросе он составил 42%, немного опережая Micronaut с 39%.
https://devclass.com/2025/01/30/state-of-java-report-shows-strong-migration-from-java-8-rise-of-apache-spark/
Согласно отчету, довольно много респондентов до сих пор используют древние версии Java. Так, Java 8, вышедшая в 2014 году, до сих пор применяется 23%, хотя в прошлом году этот показатель составлял 40%. Наиболее используемой версией является Java 17 LTS (выпущенная в 2021 году), за которой следует Java 21 LTS 2023 года.
Уязвимость Log4Shell в популярной библиотеке журналирования Log4j, обнаруженная в 2021 году, продолжает оставаться проблемой: 49 процентов респондентов заявили, что они по-прежнему сталкиваются с уязвимостями безопасности Log4j.
Spring Boot остается самой популярной средой микросервисов, но не намного. В 2023 году Spring Boot пользовался 61 процентом использования, но в текущем опросе он составил 42%, немного опережая Micronaut с 39%.
https://devclass.com/2025/01/30/state-of-java-report-shows-strong-migration-from-java-8-rise-of-apache-spark/
👍2🔥1👏1
Теорема CAP базируется на трех понятиях:
Согласованность (Consistency): все клиенты видят одни и те же данные одновременно, независимо от того, к какому узлу они подключаются
Доступность (Availability): любой клиент, запрашивающий данные, получает ответ, даже если некоторые из узлов не работают
Устойчивость к разделению (Partition Tolerance): система продолжает работать, несмотря на разделение связей между узлами
Причем теорема CAP утверждает, что в распределенных системах одновременно могут быть достигнуты только два из этих трех свойств одновременно. Учитывая, что обычно разделение сети неизбежно, часто приходится выбирать между согласованностью и доступностью. Соответствено проектирование системы предполагает балансировку компромиссов.
Согласованность (Consistency): все клиенты видят одни и те же данные одновременно, независимо от того, к какому узлу они подключаются
Доступность (Availability): любой клиент, запрашивающий данные, получает ответ, даже если некоторые из узлов не работают
Устойчивость к разделению (Partition Tolerance): система продолжает работать, несмотря на разделение связей между узлами
Причем теорема CAP утверждает, что в распределенных системах одновременно могут быть достигнуты только два из этих трех свойств одновременно. Учитывая, что обычно разделение сети неизбежно, часто приходится выбирать между согласованностью и доступностью. Соответствено проектирование системы предполагает балансировку компромиссов.
👍10❤1🔥1