METANIT.COM – Telegram
METANIT.COM
5.99K subscribers
1.69K photos
81 videos
9 files
1.08K links
Канал о программировании и разработке сайта metanit.com
Download Telegram
Сервис ХабрКарьера подвел зарплатные итоги второго полугодия 2024 на основании 66 008 зарплат. Некоторые итоги:

Медианная зарплата IT-специалистов сейчас — 180 000 ₽, это на 19% больше, чем в первом полугодии 2024, когда медиана выросла на 8%.
Зарплаты ощутимо выросли как по городам, так и по специализациям. В регионах IT-специалистам сейчас платят в среднем 150 000 ₽, в Москве средняя зарплата — 221 000 ₽, а в Санкт-Петербурге — 184 000 ₽.
Ощутимее всего рост — в Нижнем Новгороде (+21%), Самаре (+18%), Красноярске (+17%) и Ростове-на-Дону (+15%).
Ощутимее всего выросли зарплаты специалистов по информационной безопасности (+21%) и тестировщиков (+20%).

По специализациям. Наиболее ощутимый рост зарплаты был у системных инженеров — на 39%, до 200 000 ₽. Заметно выросли зарплаты веб-разработчиков (+20%) — до 120 000 ₽ и фронтендеров (+18%) — до 200 000 ₽. Незначительно выросли зарплаты у ERP-программистов и программистов 1С (+2%). Не изменились зарплаты разработчиков баз данных.

Зарплаты в Objective-С продолжают оставаться самыми высокими, но во второй пол. 2024 медиана снизилась на 2% — до 350 000 ₽. 2-е место делят зарплаты в Elixir и Golang — 300 000 ₽. На 3-ем месте зарплаты Kotlin — 296 000 ₽.
На одну позицию выше поднялись зарплаты в Swift за счёт прироста на 7% и Ruby за счёт роста на 16%. Kotlin и Golang также поднялись выше с небольшим приростом в 2%. А вот оклады разработчиков в Scala снизились на 6% и потеряли третье место.

Если смотреть на динамику, то во втором полугодии 2024 года самый ощутимый рост зарплат был у разработчиков в Ruby — на 16%, до 290 000 ₽. У разработчиков Swift зарплаты выросли на 7%, до 295 000 ₽, а у разработчиков С — на 11%, до 200 000 ₽, хотя оклад в этом языке по-прежнему остается одним из самых низких среди представленных.
Незначительный рост зарплат был у разработчиков в Golang, Kotlin и Javanoscript (+2%).
Совсем не изменились зарплаты разработчиков на PHP.
Зарплаты снизились у программистов Scala — на 6%, до 270 000 ₽, Elixir — на 1%, до 300 000 ₽ и Oblective-C — на 2%, до 350 000 ₽.

По компаниям. Иннотех, Райффайзен Банк и VK по-прежнему входят в топ-5 компаний с самыми высокими зарплатами IT-специалистов, а Авито возглавляет рейтинг с медианной зарплатой в 360 000 ₽.
Зарплата в ИТ-Холдинге Т1 снизилась на 7% и спустилась с третьего места на шестое. А в пятерку компаний-лидеров по зарплате вошел Альфа-Банк с ростом на 10%, до 296 000 ₽.

https://habr.com/ru/specials/883242/
👍63🤡2
❤‍🔥12👎3
Наиболее распространенные в Data Science математические определения #math
🤯18👍4🫡4
Вкратце о семантическом версионировании
👍15
7 шаблонов проектирования многопоточности
Многопоточность — это вычислительная модель, которая позволяет одной программе (процессу) выполнять несколько потоков (действий) одновременно. Потоки совместно используют одни и те же ресурсы процесса (пространство памяти, открытые файлы и т. д.).
Хотя многопоточность открывает огромные возможности для повышения производительности и повышения отзывчивости приложений, она также создает такие сложности, как синхронизация, связь и потенциальные условия гонки.
Шаблоны проектирования многопоточности представляют собой многоразовые решения, позволяющие решать такие распространенные проблемы.

[1.] Модель «Производитель-Потребитель» (Producer-Consumer)
◾️ Этот шаблон включает два типа потоков: производители, которые генерируют данные, и потребители, которые обрабатывают эти данные.
◾️ Эти два типа потоков взаимодействуют через общую очередь, которая действует как буфер между ними.

Когда использовать?
◾️ Когда задачи можно разделить на отдельные этапы производства и потребления, и надо отвязать эти действия друг от друга для повышения параллелизма и эффективности.

[2.] Пул потоков (Thread Pool)
◾️ Поддерживает пул рабочих потоков, которые можно повторно использовать для выполнения задач.
◾️ Это позволяет избежать накладных расходов на создание и уничтожение потоков для каждой задачи.

Когда использовать?
◾️ Когда есть большое количество краткосрочных задач и надо управлять количеством потоков для лучшего использования ресурсов и производительности.

[3.] Future и Promise (промисы)
◾️ Представляет результат асинхронной операции.
◾️ Промис — это объек, содержащий конечный результат, а future предоставляет способ доступа к этому результату, когда он станет доступен.

Когда использовать?
◾️ При работе с длительными операциями, которые необходимо выполнять одновременно, не блокируя основной поток.


[4.] Монитор (Monitor Object)
◾️ Предоставляет механизм синхронизации доступа к общим ресурсам.
◾️ Позволяет только одному потоку выполнять критическую секцию кода одновременно, предотвращая возникновение состояний гонки.

Когда использовать?
◾️ Когда вам необходимо защитить общие данные или ресурсы от одновременного доступа и обеспечить безопасность потоков.


[5.] Блокировка чтения-записи (Read-Write Lock)
◾️ Позволяет нескольким потокам одновременно читать данные из общего ресурса, но позволяет записывать данные в него только одному потоку одновременно.

Когда использовать?
◾️ Если у вас есть общий ресурс, где операции чтения выполняются чаще, чем записи, и вы хотите оптимизировать его для одновременного чтения.


[6.] Барьер (Barrier)
◾️ Синхронизирует группу потоков для ожидания в общей точке перед продолжением работы.

Когда использовать?
◾️ Когда у вас есть параллельные задачи, которые необходимо выполнить на определенном этапе, прежде чем перейти к следующему этапу.

[7.] Активный объект (Active Object)
◾️ Разделяет выполнение метода и вызов метода для параллельных систем.
◾️ Он включает в себя объект с собственным потоком управления и планировщик для постановки в очередь и выполнения запросов.

Когда использовать?
◾️ Когда надо инкапсулировать управление потоками и логику планирования в объекте, предоставляя более понятный интерфейс для параллельных операций.
👍11👨‍💻31👏1
Процесс загрузки Linux
🔥9👍5👏1
Исследование состояния Rust 2024: большинство разработчиков Rust беспокоятся о будущем языка, отмечают его недостаточное распространение, сложность и слабую поддержку.

В рамках опроса State of Rust за 2024 год было опрошено около 10000 разработчиков на Rust на тему состояния экосистемы. И как показал опрос, что использование Rust не растет так, как ожидалось, несмотря на его преимущества в плане безопасности и несмотря на рекомендации известных организаций, включая правительство США и компании, включая Microsoft, в основном по соображениям безопасности.

Только 38,2% (из программистов) и 45,5% (из организаций) заявили, что используют Rust более менее на постоянной основе. Хотя эти цифры выросли с 2023 года, они также показывают, что многие респонденты пока не могут в полной мере использовать Rust для работы.

На вопрос о том, что их больше всего беспокоит в будущем Rust, 45,5% указали «недостаточное использование в технологической отрасли», что выше 42,5% в прошлом году, что немного больше 45,2%, которые назвали сложность проблемой. Другие существенные опасения включают в себя слишком слабую поддержку разработчиков и сопровождающих Rust, а также проблемы управления проектом. Только 18,6% заявили, что их «ничего не беспокоит», хотя это небольшое улучшение по сравнению с 17,8% в 2023 году.
Таким образом, сложность языка и недостаточная поддержка сдерживают распространение языка Rust.

Rust подходит для системного программирования, но, судя по опросу, он также популярен для общего использования. Самая большая категория использования — серверные приложения (53,4%), за которыми следуют распределенные системы (25,3%) и приложения облачных вычислений (24,3%).
Разработчики Rust в основном используют Linux (73,7 процента). Далее идут macOS (32,4 процента) и Windows (29,8 процента), хотя 13,3 процента разработчиков на Windows используют WSL (подсистема для Linux).
#rust
https://devclass.com/2025/02/18/state-of-rust-survey-2024-most-rust-developers-worry-about-the-future-of-the-language/
🤔6💊2
Шпаргалка по классам в JavaScript #javanoscript #js
👍6
.NET 10 увеличил производительность IEnumerable в 8 раз
В .NET 9 стоимость цикла по массиву через IEnumerable составляла 83% по сравнению с прямой итерацией массива, тогда как в .NET 10 стоимость составляла всего 10%
#dotnet #csharp
👍16😱13🙏2🔥1
Ключевые алгоритмы для анализа AI

🔹 Анализ текста — извлечение информации из текстовых данных
🔹 Регрессия — прогнозирование непрерывных значений
🔹 Классификация — разбиение на классы при принятии решений
🔹 Обнаружение аномалий — выявление редких закономерностей
🔹 Рекомендательные системы — прогнозирование предпочтений пользователей
🔹 Классификация изображений — распознавание объектов с использованием глубокого обучения
🔹 Кластеризация — группировка схожих точек данных
🤝4👍2👏1🤯1
Команды по управлению дисками в Linux #linux
👍8