По данным сервиса Хабр.Карьера медианная зарплата IT-специалистов сейчас — 182 700 ₽, это лишь на 2% больше, чем во втором полугодии 2024, — тогда рост составил 19%.
Зарплаты разработчиков в Objective-С продолжают оставаться самыми высокими в этом исследовании и сохраняют рост. В первой половине 2025 медиана выросла на 7%, до 380 000 ₽. Второе место удерживают зарплаты в Elixir — 325 000 ₽ с приростом на 8%, на третьем месте зарплаты разработчиков в Golang — 309 000 ₽ с ростом на 3%.
Ощутимый рост зарплат — у разработчиков Elixir (+8%) до 325 000 ₽, Objective-C (+7%) до 380 000 ₽, JavaScript (+6%) до 217 000 ₽ и Python (+5%) до 212 000 ₽.
Также зарплаты выросли у разработчиков Golang и C# — на 3%, до 309 000 ₽ и 230 000 ₽ соответственно. Несущественно приросли зарплаты в Java, PHP (+2%) и Scala (+1%).
На 3% снизились зарплаты в Swift (до 292 000 ₽) и C++ (до 211 000 ₽). Самое больое падение - в C — на 7%, до 187 000 ₽
https://habr.com/ru/specials/936618/
Зарплаты разработчиков в Objective-С продолжают оставаться самыми высокими в этом исследовании и сохраняют рост. В первой половине 2025 медиана выросла на 7%, до 380 000 ₽. Второе место удерживают зарплаты в Elixir — 325 000 ₽ с приростом на 8%, на третьем месте зарплаты разработчиков в Golang — 309 000 ₽ с ростом на 3%.
Ощутимый рост зарплат — у разработчиков Elixir (+8%) до 325 000 ₽, Objective-C (+7%) до 380 000 ₽, JavaScript (+6%) до 217 000 ₽ и Python (+5%) до 212 000 ₽.
Также зарплаты выросли у разработчиков Golang и C# — на 3%, до 309 000 ₽ и 230 000 ₽ соответственно. Несущественно приросли зарплаты в Java, PHP (+2%) и Scala (+1%).
На 3% снизились зарплаты в Swift (до 292 000 ₽) и C++ (до 211 000 ₽). Самое больое падение - в C — на 7%, до 187 000 ₽
https://habr.com/ru/specials/936618/
🆒13🖕8❤2🥰1
Врачи моментально теряют навык диагностики, когда начинают использовать нейросети. После отказа от ИИ показатели падают ниже исходных
Когда врачи используют технологию распознавания изображений на основе ИИ для обнаружения и удаления предраковых новообразований, частота обнаружения выше - использование ИИ приводит к повышению частоты обнаружения аденом на 12,5%. Что вроде как хорошо
Но если убрать ИИ, частота обнаружения аденом падает ниже изначального уровня.
«Постоянное использование ИИ может снизить частоту обнаружения аденом при стандартной колоноскопии без ИИ, что свидетельствует о негативном влиянии на поведение эндоскопистов», — заключает исследование.
Еще в 2019 году Европейское общество гастроинтестинальной эндоскопии (ESGE) в своих рекомендациях по использованию ИИ предупреждало о риске «деквалификации».
В июне исследователи Массачусетского технологического института опубликовали аналогичное исследование, в котором было обнаружено, что использование чат-ботов LLM связано с более низкой активностью мозга.
Ученые из Университета Пердью утверждают, что аналогичная ситуация наблюдается и у проектировщиков, которые полагаются на ИИ: «Наши результаты свидетельствуют о том, что, хотя автоматизация на основе ИИ воспринимается как средство повышения эффективности, чрезмерное делегирование полномочий может непреднамеренно препятствовать развитию навыков», — заключают они.
Учёный-компьютерщик Арвинд Нараянан из Принстонского университета недавно заявил, что деквалификация разработчиков в результате развития искусственного интеллекта вызывает беспокойство: «если начинающий разработчик слишком полагается на вайб-кодинг вибраций и, следовательно, вообще не может программировать самостоятельно, ни на каком языке, и не понимает принципов программирования, это определённо проблема».
https://www.theregister.com/2025/08/13/doctors_risk_being_deskilled_by_rely_on_ai/
Когда врачи используют технологию распознавания изображений на основе ИИ для обнаружения и удаления предраковых новообразований, частота обнаружения выше - использование ИИ приводит к повышению частоты обнаружения аденом на 12,5%. Что вроде как хорошо
Но если убрать ИИ, частота обнаружения аденом падает ниже изначального уровня.
«Постоянное использование ИИ может снизить частоту обнаружения аденом при стандартной колоноскопии без ИИ, что свидетельствует о негативном влиянии на поведение эндоскопистов», — заключает исследование.
Еще в 2019 году Европейское общество гастроинтестинальной эндоскопии (ESGE) в своих рекомендациях по использованию ИИ предупреждало о риске «деквалификации».
В июне исследователи Массачусетского технологического института опубликовали аналогичное исследование, в котором было обнаружено, что использование чат-ботов LLM связано с более низкой активностью мозга.
Ученые из Университета Пердью утверждают, что аналогичная ситуация наблюдается и у проектировщиков, которые полагаются на ИИ: «Наши результаты свидетельствуют о том, что, хотя автоматизация на основе ИИ воспринимается как средство повышения эффективности, чрезмерное делегирование полномочий может непреднамеренно препятствовать развитию навыков», — заключают они.
Учёный-компьютерщик Арвинд Нараянан из Принстонского университета недавно заявил, что деквалификация разработчиков в результате развития искусственного интеллекта вызывает беспокойство: «если начинающий разработчик слишком полагается на вайб-кодинг вибраций и, следовательно, вообще не может программировать самостоятельно, ни на каком языке, и не понимает принципов программирования, это определённо проблема».
https://www.theregister.com/2025/08/13/doctors_risk_being_deskilled_by_rely_on_ai/
The Register
Doctors get dopey if they rely too much on AI, study suggests
: A tool can become a crutch
👍15🤯7🙏4❤1
Шаблоны проектирования для архитектуры микросервисов
(описание в следующем посте)
(описание в следующем посте)
Шаблоны проектирования для архитектуры микросервисов:
(описание к предыдущему посту)
1. Шаблоны декомпозиции:
- Decompose by Business Capability (Декомпозиция по бизнес-возможностям).
- Decompose by Subdomain (Декомпозиция по поддоменам).
- Decompose by Transactions (Декомпозиция по транзакциям).
- Strangler Pattern (Шаблон strangler).
- Bulkhead Pattern (Шаблон bulkhead).
- Sidecar Pattern (Шаблон sidecar).
2. Шаблоны интеграции:
- API Gateway (Шлюз API).
- Aggregator Pattern (Шаблон агрегатора).
- Proxy Pattern (Шаблон прокси).
- Gateway Routing Pattern (Шаблон маршрутизации шлюза).
- Chained Microservice Pattern (Шаблон цепочек микросервисов).
- Branch Pattern (Шаблон ветвления).
- Client-side UI Composition Pattern (Шаблон композиции пользовательского интерфейса на стороне клиента).
3. Шаблоны базы данных:
- Database Per Service (База данных на сервис).
- Shared Database per Service (Общая база данных на сервис).
- CQRS (Command Query Responsibility Segregation).
- Event Sourcing (Обработка событий).
- Saga Pattern (Шаблон saga).
4. Шаблоны наблюдаемости:
- Log Aggregation (Агрегация логов).
- Performance Metrics (Метрики производительности).
- Distributed Tracing (Распределенное отслеживание).
- Health Check (Проверка работоспособности).
5. Шаблоны сквозного применения:
- External Configuration (Внешняя конфигурация).
- Service Discovery Pattern (Шаблон обнаружения сервисов).
- Circuit Breaker Pattern (Шаблон предохранителя).
- Blue-Green Deployment Pattern (Шаблон сине-зеленого развертывания).
(описание к предыдущему посту)
1. Шаблоны декомпозиции:
- Decompose by Business Capability (Декомпозиция по бизнес-возможностям).
- Decompose by Subdomain (Декомпозиция по поддоменам).
- Decompose by Transactions (Декомпозиция по транзакциям).
- Strangler Pattern (Шаблон strangler).
- Bulkhead Pattern (Шаблон bulkhead).
- Sidecar Pattern (Шаблон sidecar).
2. Шаблоны интеграции:
- API Gateway (Шлюз API).
- Aggregator Pattern (Шаблон агрегатора).
- Proxy Pattern (Шаблон прокси).
- Gateway Routing Pattern (Шаблон маршрутизации шлюза).
- Chained Microservice Pattern (Шаблон цепочек микросервисов).
- Branch Pattern (Шаблон ветвления).
- Client-side UI Composition Pattern (Шаблон композиции пользовательского интерфейса на стороне клиента).
3. Шаблоны базы данных:
- Database Per Service (База данных на сервис).
- Shared Database per Service (Общая база данных на сервис).
- CQRS (Command Query Responsibility Segregation).
- Event Sourcing (Обработка событий).
- Saga Pattern (Шаблон saga).
4. Шаблоны наблюдаемости:
- Log Aggregation (Агрегация логов).
- Performance Metrics (Метрики производительности).
- Distributed Tracing (Распределенное отслеживание).
- Health Check (Проверка работоспособности).
5. Шаблоны сквозного применения:
- External Configuration (Внешняя конфигурация).
- Service Discovery Pattern (Шаблон обнаружения сервисов).
- Circuit Breaker Pattern (Шаблон предохранителя).
- Blue-Green Deployment Pattern (Шаблон сине-зеленого развертывания).
Telegram
METANIT.COM
Шаблоны проектирования для архитектуры микросервисов
🔥5❤3👏1
This media is not supported in your browser
VIEW IN TELEGRAM
В то время, как одни советуют не идти в программирование и разработку, так как ИИ якобы отберет рабочие места у разработчиков и сделает их труд не нужным,
известный исследователь в области ML/AI а также автор многочисленных курсов по этой теме - Andrew Yan-Tak Ng (изветсный как AndrewYNg) объясняет, почему нам нужно больше программистов, а не меньше.
“A fresh college grad on top of AI can outperform a full-stack engineer with 10 yrs of experience that is still doing things as they were back in 2022.”
«Недавний выпускник колледжа, освоивший ИИ, может превзойти инженера полного цикла с 10-летним опытом, который все еще работает так же, как и в 2022 году».
известный исследователь в области ML/AI а также автор многочисленных курсов по этой теме - Andrew Yan-Tak Ng (изветсный как AndrewYNg) объясняет, почему нам нужно больше программистов, а не меньше.
“A fresh college grad on top of AI can outperform a full-stack engineer with 10 yrs of experience that is still doing things as they were back in 2022.”
«Недавний выпускник колледжа, освоивший ИИ, может превзойти инженера полного цикла с 10-летним опытом, который все еще работает так же, как и в 2022 году».
🤣22🤡13😁3❤2👏1
Сравнение времени выполнения вложенных циклов для различных языков программирования.
Исходники для всех языков - https://github.com/bddicken/languages/tree/main/loops
Исходники для всех языков - https://github.com/bddicken/languages/tree/main/loops
😱20😁9😭4👎3👏1
В руководство по языку Python добавил статью про функцию zip
https://metanit.com/python/tutorial/3.9.php
#python
https://metanit.com/python/tutorial/3.9.php
#python
👍8🔥2😱2🤮2👏1🎉1
Microsoft выпустила новое предупреждение для пользователей Windows, которые хотят установить браузер Google Chrome, призывая их пользоваться более безопасным способом просмотра веб-страниц и предлагая Edge в качестве безопасной альтернативы.
Теперь при попытке установить браузер Chrome появляется сообщение:
«Microsoft Edge работает на той же технологии, что и Chrome, но при этом пользуется доверием Microsoft».
https://wccftech.com/microsoft-issues-bold-warning-stop-using-google-chrome-on-windows-and-switch-to-edge/
PS. На месте Microsoft я бы не был уверен, что доверие Microsoft - это плюс.
Теперь при попытке установить браузер Chrome появляется сообщение:
«Microsoft Edge работает на той же технологии, что и Chrome, но при этом пользуется доверием Microsoft».
https://wccftech.com/microsoft-issues-bold-warning-stop-using-google-chrome-on-windows-and-switch-to-edge/
PS. На месте Microsoft я бы не был уверен, что доверие Microsoft - это плюс.
😁55🤡13🤣9🤪2😎2😭1
Консольный тетрис на PHP
Под впечатлением от фильма "Тетрис", энтузиаст решил написать эту игру на РНР, чтобы попрактиковаться в работе с терминалом.
Исходник - https://gist.github.com/al3rez/e43f4bc86e50a79fca14529d4f2f2b8c
#php
Под впечатлением от фильма "Тетрис", энтузиаст решил написать эту игру на РНР, чтобы попрактиковаться в работе с терминалом.
Исходник - https://gist.github.com/al3rez/e43f4bc86e50a79fca14529d4f2f2b8c
#php
Gist
I made a 30fps CLI Tetris game in PHP after watching the Tetris movie
I made a 30fps CLI Tetris game in PHP after watching the Tetris movie - tetris.php
👍8😁5😨2🔥1👏1
Предсказуемые обращения к памяти значительно быстрее
Загрузка данных из памяти часто занимает несколько наносекунд. Пока процессор ожидает данные, он может простаивать, не выполняя полезную работу. Аппаратные блоки предварительной выборки современных процессоров предсказывают доступ к памяти, загружая данные в кэш заранее, что оптимизирует производительность. Их эффективность зависит от шаблона обращений: последовательные чтения выигрывают от эффективной предзагрузки, в отличие от случайных запросов.
Для примера на скриншоте приведены 5 примеров доступа к элементам большого массива 32-разрядных целых чисел размером 64 Мбайта (в программе на Go)
1) Последовательный доступ (Seq): считываются каждые 8 элементов подряд.
2) Случайный доступ (Random): считываются каждые 8 элементов в произвольном порядке.
3) Обратный доступ (Backward): считываются каждые 8 элементов с конца массива.
4) Перемежающийся доступ (Interleaved): считываются каждые 8 элементов, начиная с первого, третьего, второго и далее.
5) "Перепрыгивающий" доступ (Bouncing): считываются каждые 8 элементов, начиная с первого, последнего, второго, предпоследнего и так далее.
Можно увидеть, что случайный доступ работает гораздо медленнее, чем остальные варианты, что наглядно демонстрирует, насколько хорошо процессоры умеют предсказывать обращение к данным и что следует учитывать при работе с данными
Загрузка данных из памяти часто занимает несколько наносекунд. Пока процессор ожидает данные, он может простаивать, не выполняя полезную работу. Аппаратные блоки предварительной выборки современных процессоров предсказывают доступ к памяти, загружая данные в кэш заранее, что оптимизирует производительность. Их эффективность зависит от шаблона обращений: последовательные чтения выигрывают от эффективной предзагрузки, в отличие от случайных запросов.
Для примера на скриншоте приведены 5 примеров доступа к элементам большого массива 32-разрядных целых чисел размером 64 Мбайта (в программе на Go)
1) Последовательный доступ (Seq): считываются каждые 8 элементов подряд.
2) Случайный доступ (Random): считываются каждые 8 элементов в произвольном порядке.
3) Обратный доступ (Backward): считываются каждые 8 элементов с конца массива.
4) Перемежающийся доступ (Interleaved): считываются каждые 8 элементов, начиная с первого, третьего, второго и далее.
5) "Перепрыгивающий" доступ (Bouncing): считываются каждые 8 элементов, начиная с первого, последнего, второго, предпоследнего и так далее.
Можно увидеть, что случайный доступ работает гораздо медленнее, чем остальные варианты, что наглядно демонстрирует, насколько хорошо процессоры умеют предсказывать обращение к данным и что следует учитывать при работе с данными
Telegram
METANIT.COM
👍11🤔4🤓1
Схемы маршрутизации
(описание к предыдущему посту)
Broadcast (широковещание)
Использует одноадресную связь, где один отправитель передает пакет всем узлам в сегменте сети. Сеть реплицирует пакет по мере необходимости для достижения каждого устройства в подсети. Часто используется в локальных сетях для таких задач, как запросы ARP или обнаружение DHCP.
Unicast (одноадресная передача)
Использует одноадресную связь между отправителем и одним конкретным получателем. Каждый пакет отправляется непосредственно одному уникальному получателю, идентифицированному по его адресу. Используется в повседневных задачах, таких как посещение веб-сайта или отправка электронной почты одному человеку.
Anycast
Использует одноадресную связь с одним или несколькими получателями. Отправитель отправляет пакет одному получателю, выбранному из группы, которая разделяет один и тот же адрес. Сеть доставляет его ближайшему или наиболее оптимальному узлу на основе стоимости маршрутизации или предпочтений. Используется в DNS и CDN-сервисах для повышения скорости и надежности за счет достижения ближайшего сервера.
Multicast (многоадресная передача)
Использует одноадресную связь с одним или несколькими получателями. Отправитель передает один пакет множеству получателей, которые присоединились к определенной многоадресной группе. Только заинтересованные узлы получают сообщение. Полезно в потоковой передаче (например, IPTV), где только заинтересованные устройства получают данные. Также используется в маршрутных протоколах, таких как OSPF (использует 224.0.0.5 для маршрутизаторов OSPF), EIGRP (использует 224.0.0.10 для всех маршрутизаторов EIGRP), PIM (использует 224.0.0.13 для маршрутизаторов PIM).
(описание к предыдущему посту)
Broadcast (широковещание)
Использует одноадресную связь, где один отправитель передает пакет всем узлам в сегменте сети. Сеть реплицирует пакет по мере необходимости для достижения каждого устройства в подсети. Часто используется в локальных сетях для таких задач, как запросы ARP или обнаружение DHCP.
Unicast (одноадресная передача)
Использует одноадресную связь между отправителем и одним конкретным получателем. Каждый пакет отправляется непосредственно одному уникальному получателю, идентифицированному по его адресу. Используется в повседневных задачах, таких как посещение веб-сайта или отправка электронной почты одному человеку.
Anycast
Использует одноадресную связь с одним или несколькими получателями. Отправитель отправляет пакет одному получателю, выбранному из группы, которая разделяет один и тот же адрес. Сеть доставляет его ближайшему или наиболее оптимальному узлу на основе стоимости маршрутизации или предпочтений. Используется в DNS и CDN-сервисах для повышения скорости и надежности за счет достижения ближайшего сервера.
Multicast (многоадресная передача)
Использует одноадресную связь с одним или несколькими получателями. Отправитель передает один пакет множеству получателей, которые присоединились к определенной многоадресной группе. Только заинтересованные узлы получают сообщение. Полезно в потоковой передаче (например, IPTV), где только заинтересованные устройства получают данные. Также используется в маршрутных протоколах, таких как OSPF (использует 224.0.0.5 для маршрутизаторов OSPF), EIGRP (использует 224.0.0.10 для всех маршрутизаторов EIGRP), PIM (использует 224.0.0.13 для маршрутизаторов PIM).
Telegram
METANIT.COM
Схемы маршрутизации
👍8🔥4❤3
This media is not supported in your browser
VIEW IN TELEGRAM
Дерево процессов в Windows, запускаемых при старте системы #windows
✍29👍11🔥6❤3🙏1🫡1