6 лучших алгоритмов балансировки нагрузки:
1. Round Robin
Распределяет запросы последовательно по серверам в списке. Просто, предсказуемо и хорошо работает, когда серверы примерно равны по мощности.
→ Лучше всего подходит для: равномерных рабочих нагрузок, равномерно подобранных серверов
2. Round Robin с весами (Weighted Round Robin)
Назначает "веса" серверам на основе их мощности. Более мощные серверы получают пропорционально большую долю запросов.
→ Лучше всего подходит для: серверов с различной емкостью
3. Наименьшее кол-во подключений (Least Connection)
Направляет новый трафик на сервер с наименьшим количеством активных подключений. Идеально подходит для приложений, где длительность подключения значительно варьируется.
→ Лучше всего подходит для: приложений с отслеживанием состояния, долговременных соединений
4. Хеш IP/URL
Гарантирует, что определенный клиент (на основе его IP-адреса) или определенный URL-путь постоянно попадают на один и тот же сервер.
→ Лучше всего подходит для: сохранения сеанса / закрепления сеансов
5. Наименьшее время отклика
Отправляет запросы на сервер с самым быстрым временем ответа + наименьшим количеством активных подключений.
→ Лучше всего подходит для: систем, чувствительных к задержкам
6. Ресурсо-ориентированный
Учитывает метрики работоспособности сервера в реальном времени, такие как загрузка ЦП, использование памяти и ввод-вывод. Направляет трафик на наименее загруженный сервер.
→ Лучше всего подходит для: критических приложений, сред с переменными нагрузками
1. Round Robin
Распределяет запросы последовательно по серверам в списке. Просто, предсказуемо и хорошо работает, когда серверы примерно равны по мощности.
→ Лучше всего подходит для: равномерных рабочих нагрузок, равномерно подобранных серверов
2. Round Robin с весами (Weighted Round Robin)
Назначает "веса" серверам на основе их мощности. Более мощные серверы получают пропорционально большую долю запросов.
→ Лучше всего подходит для: серверов с различной емкостью
3. Наименьшее кол-во подключений (Least Connection)
Направляет новый трафик на сервер с наименьшим количеством активных подключений. Идеально подходит для приложений, где длительность подключения значительно варьируется.
→ Лучше всего подходит для: приложений с отслеживанием состояния, долговременных соединений
4. Хеш IP/URL
Гарантирует, что определенный клиент (на основе его IP-адреса) или определенный URL-путь постоянно попадают на один и тот же сервер.
→ Лучше всего подходит для: сохранения сеанса / закрепления сеансов
5. Наименьшее время отклика
Отправляет запросы на сервер с самым быстрым временем ответа + наименьшим количеством активных подключений.
→ Лучше всего подходит для: систем, чувствительных к задержкам
6. Ресурсо-ориентированный
Учитывает метрики работоспособности сервера в реальном времени, такие как загрузка ЦП, использование памяти и ввод-вывод. Направляет трафик на наименее загруженный сервер.
→ Лучше всего подходит для: критических приложений, сред с переменными нагрузками
👍4👏2❤1🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
(Иллюстрация к предыдущему посту - 6 наиболее распространенных алгоритмов балансировки нагрузки)
👍11🔥3👏2
Microsoft добавит в SQL Server 2025 (пока в состоянии Preview) поддержку регулярных выражений
Регулярные выражения предлагают несколько преимуществ при использовании в запросах SQL:
Гибкость в сопоставлении с шаблонами: регулярные выражения позволяют выполнять сложное и гибкое сопоставление с шаблонами, что упрощает поиск определенных текстовых шаблонов в больших наборах данных.
Эффективность в обработке данных: функции Regex могут эффективно обрабатывать и преобразовывать текстовые данные, уменьшая необходимость в нескольких строковых функциях и упрощая запросы.
Улучшенная проверка данных: регулярные выражения можно использовать для проверки форматов данных, гарантируя, что данные соответствуют определенным шаблонам, таким как адреса электронной почты, номера телефонов и почтовые индексы.
Улучшенное извлечение данных: функции Regex могут извлекать определенные части текстовых данных, что упрощает извлечение ценной информации из неструктурированных данных.
Стандартизация и очистка: Regex может помочь стандартизировать и очистить данные, удаляя нежелательные символы, пробелы и дубликаты.
Функция REGEXP_LIKE проверяет, соответствует ли строка шаблону. Пример:
SELECT [Name], Email
FROM Employees
WHERE REGEXP_LIKE(Email, '[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}$');
Функция REGEXP_COUNT подсчитывает количество появлений шаблона в строке. Она полезна для анализа текстовых данных и выявления шаблонов.
SELECT REGEXP_SUBSTR(Email, '@(.+)$', 1, 1,'c',1) AS Domain, COUNT(*) AS Valid_email_count
FROM Employees
WHERE REGEXP_COUNT(Email, '^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$') > 0
GROUP BY REGEXP_SUBSTR(Email, '@(.+)$', 1, 1,'c',1);
Функция REGEXP_INSTR находит позицию шаблона в строке. Она полезна для поиска определенных подстрок в текстовых данных.
SELECT Name, Email, REGEXP_INSTR(Email, '@') AS Position_of_@ FROM Employees;
Функция REGEXP_REPLACE возвращает измененную строку, замененную «строкой замены», где найдено вхождение шаблона регулярного выражения. Вы можете использовать ее для изменения или преобразования текстовых данных на основе шаблона регулярного выражения.
SELECT sensitive_info,
REGEXP_REPLACE(sensitive_info, '(\d{3}-\d{2}-\d{4}|\d{4}-\d{4}-\d{4}-\d{4})', '***-**-****') AS redacted_info
FROM personal_data;
Функция REGEXP_SUBSTR извлекает часть строки, которая соответствует шаблону. Она полезна для извлечения определенной информации из текстовых данных.
SELECT Name, Email, REGEXP_SUBSTR(Email, '@(.+)$', 1, 1, 'i', 1) AS Domain
FROM Employees
WHERE REGEXP_LIKE(Email, '^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$');
Функция REGEXP_MATCHES находит все совпадения шаблона в строке и возвращает их в табличном формате (т. е. в виде строк и столбцов). Она полезна для извлечения нескольких вхождений шаблона. Обычно она используется для поиска всех вхождений шаблона или для извлечения частей строки с использованием групп захвата, особенно когда вы ожидаете несколько совпадений на вход.
SELECT *
FROM REGEXP_MATCHES('Name: John Doe; Email: john.doe@example.com; Phone: 123-456-7890', '(\w+):\s*([^;]+)');
Функция REGEXP_SPLIT_TO_TABLE разбивает строку на основе шаблона в качестве разделителя и возвращает фрагменты в виде строк в таблице. Она полезна для разбиения строк со списком элементов или разбиения текста на слова или предложения.
SELECT *
FROM REGEXP_SPLIT_TO_TABLE('Name: John Doe; Email: john.doe@example.com; Phone: 123-456-7890', '; ');
https://devblogs.microsoft.com/azure-sql/unlocking-the-power-of-regex-in-sql-server/
#sql #database
Регулярные выражения предлагают несколько преимуществ при использовании в запросах SQL:
Гибкость в сопоставлении с шаблонами: регулярные выражения позволяют выполнять сложное и гибкое сопоставление с шаблонами, что упрощает поиск определенных текстовых шаблонов в больших наборах данных.
Эффективность в обработке данных: функции Regex могут эффективно обрабатывать и преобразовывать текстовые данные, уменьшая необходимость в нескольких строковых функциях и упрощая запросы.
Улучшенная проверка данных: регулярные выражения можно использовать для проверки форматов данных, гарантируя, что данные соответствуют определенным шаблонам, таким как адреса электронной почты, номера телефонов и почтовые индексы.
Улучшенное извлечение данных: функции Regex могут извлекать определенные части текстовых данных, что упрощает извлечение ценной информации из неструктурированных данных.
Стандартизация и очистка: Regex может помочь стандартизировать и очистить данные, удаляя нежелательные символы, пробелы и дубликаты.
Функция REGEXP_LIKE проверяет, соответствует ли строка шаблону. Пример:
SELECT [Name], Email
FROM Employees
WHERE REGEXP_LIKE(Email, '[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}$');
Функция REGEXP_COUNT подсчитывает количество появлений шаблона в строке. Она полезна для анализа текстовых данных и выявления шаблонов.
SELECT REGEXP_SUBSTR(Email, '@(.+)$', 1, 1,'c',1) AS Domain, COUNT(*) AS Valid_email_count
FROM Employees
WHERE REGEXP_COUNT(Email, '^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$') > 0
GROUP BY REGEXP_SUBSTR(Email, '@(.+)$', 1, 1,'c',1);
Функция REGEXP_INSTR находит позицию шаблона в строке. Она полезна для поиска определенных подстрок в текстовых данных.
SELECT Name, Email, REGEXP_INSTR(Email, '@') AS Position_of_@ FROM Employees;
Функция REGEXP_REPLACE возвращает измененную строку, замененную «строкой замены», где найдено вхождение шаблона регулярного выражения. Вы можете использовать ее для изменения или преобразования текстовых данных на основе шаблона регулярного выражения.
SELECT sensitive_info,
REGEXP_REPLACE(sensitive_info, '(\d{3}-\d{2}-\d{4}|\d{4}-\d{4}-\d{4}-\d{4})', '***-**-****') AS redacted_info
FROM personal_data;
Функция REGEXP_SUBSTR извлекает часть строки, которая соответствует шаблону. Она полезна для извлечения определенной информации из текстовых данных.
SELECT Name, Email, REGEXP_SUBSTR(Email, '@(.+)$', 1, 1, 'i', 1) AS Domain
FROM Employees
WHERE REGEXP_LIKE(Email, '^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$');
Функция REGEXP_MATCHES находит все совпадения шаблона в строке и возвращает их в табличном формате (т. е. в виде строк и столбцов). Она полезна для извлечения нескольких вхождений шаблона. Обычно она используется для поиска всех вхождений шаблона или для извлечения частей строки с использованием групп захвата, особенно когда вы ожидаете несколько совпадений на вход.
SELECT *
FROM REGEXP_MATCHES('Name: John Doe; Email: john.doe@example.com; Phone: 123-456-7890', '(\w+):\s*([^;]+)');
Функция REGEXP_SPLIT_TO_TABLE разбивает строку на основе шаблона в качестве разделителя и возвращает фрагменты в виде строк в таблице. Она полезна для разбиения строк со списком элементов или разбиения текста на слова или предложения.
SELECT *
FROM REGEXP_SPLIT_TO_TABLE('Name: John Doe; Email: john.doe@example.com; Phone: 123-456-7890', '; ');
https://devblogs.microsoft.com/azure-sql/unlocking-the-power-of-regex-in-sql-server/
#sql #database
Microsoft News
Unlocking the Power of Regex in SQL Server
Regular expressions, or regex, are powerful tools for text manipulation and pattern matching. They are incredibly useful in various scenarios, such as data validation, extraction, and transformation. SQL Server 2025 introduces native support for regex functions…
🔥14👍2🥱2👏1
Инженер-программист с 20-летним стажем не может найти работу из-за искусственного интеллекта
В апреле 2024 года Шон К., инженер-программист с двадцатилетним стажем, потерял работу. Больше года он живёт в трейлере и работает в DoorDash, а поиски работы в IT-сфере результата не дают. По мнению Шона, причина заключается в замене специалистов-людей искусственным интеллектом и в ИИ-агентах, которые используются на первых этапах собеседования.
Он уже терял работу во время финансового кризиса 2008 года и в начале пандемии COVID-19. В обоих случаях ему удавалось быстро найти новые места. Однако в этот раз ситуация кардинально отличается.
«Попасть на собеседование кажется чудом. Я подозреваю, что моё резюме отфильтровывается какой-то незрелой службой поиска кандидатов на основе искусственного интеллекта из-за недостатка гиперспецифичных ИИ-терминов», — считает он. В интервью изданию он подчеркнул, что чувствует себя «невидимым» и что боты отфильтровывают его ещё до того, как в цепочку собеседования попадает человек.
По мнению Шона, проблемы с поиском работы заключаются ещё и в том, что компании предпочитают передавать работу нейросетям, отказываясь от найма живых людей. По его словам, несмотря на богатый опыт работы и диплом в области компьютерных наук, из 800 откликов на вакансию только десять привели к собеседованиям.
Сейчас Шон К. вынужден искать другие способы заработка. Ему пришлось оставить дом и переехать в трейлер. Он занимается доставкой заказов DoorDash и продаёт вещи на eBay. Всё это приносит ему несколько сотен долларов в месяц.
По данным Layoffs.fyi, в 2024 году более 150 000 IT-работников потеряли свои места, а с начала 2025 года это число превысило 50 000.
https://habr.com/ru/news/911022/
В апреле 2024 года Шон К., инженер-программист с двадцатилетним стажем, потерял работу. Больше года он живёт в трейлере и работает в DoorDash, а поиски работы в IT-сфере результата не дают. По мнению Шона, причина заключается в замене специалистов-людей искусственным интеллектом и в ИИ-агентах, которые используются на первых этапах собеседования.
Он уже терял работу во время финансового кризиса 2008 года и в начале пандемии COVID-19. В обоих случаях ему удавалось быстро найти новые места. Однако в этот раз ситуация кардинально отличается.
«Попасть на собеседование кажется чудом. Я подозреваю, что моё резюме отфильтровывается какой-то незрелой службой поиска кандидатов на основе искусственного интеллекта из-за недостатка гиперспецифичных ИИ-терминов», — считает он. В интервью изданию он подчеркнул, что чувствует себя «невидимым» и что боты отфильтровывают его ещё до того, как в цепочку собеседования попадает человек.
По мнению Шона, проблемы с поиском работы заключаются ещё и в том, что компании предпочитают передавать работу нейросетям, отказываясь от найма живых людей. По его словам, несмотря на богатый опыт работы и диплом в области компьютерных наук, из 800 откликов на вакансию только десять привели к собеседованиям.
Сейчас Шон К. вынужден искать другие способы заработка. Ему пришлось оставить дом и переехать в трейлер. Он занимается доставкой заказов DoorDash и продаёт вещи на eBay. Всё это приносит ему несколько сотен долларов в месяц.
По данным Layoffs.fyi, в 2024 году более 150 000 IT-работников потеряли свои места, а с начала 2025 года это число превысило 50 000.
https://habr.com/ru/news/911022/
Хабр
Fortune: инженер-программист с 20-летним стажем не может найти работу из-за искусственного интеллекта
В апреле 2024 года Шон К., инженер-программист с двадцатилетним стажем, потерял работу. Больше года он живёт в трейлере и работает в DoorDash, а поиски работы в IT-сфере результата не дают. По мнению...
😱25😢11🤡9😁5👍2😭2🤯1👀1
Добавил ряд новых мобильных приложений.
Так, в RuStore добавлено Руководство по языку JavaScript
https://www.rustore.ru/catalog/app/com.metanit.javanoscript_tutorial_full
Кроме того, и в Google Play добавлены ограниченные аналоги приложений, ранее добавленных в RuStore:
Руководство по языку Python
https://play.google.com/store/apps/details?id=com.metanit.python_tutorial
Руководство по языку C# и .NET
https://play.google.com/store/apps/details?id=com.metanit.sharp_tutorial
Руководство по языку Kotlin
https://play.google.com/store/apps/details?id=com.metanit.kotlin_tutorial
Руководство по языку C++
https://play.google.com/store/apps/details?id=com.metanit.cpp_tutorial
Так, в RuStore добавлено Руководство по языку JavaScript
https://www.rustore.ru/catalog/app/com.metanit.javanoscript_tutorial_full
Кроме того, и в Google Play добавлены ограниченные аналоги приложений, ранее добавленных в RuStore:
Руководство по языку Python
https://play.google.com/store/apps/details?id=com.metanit.python_tutorial
Руководство по языку C# и .NET
https://play.google.com/store/apps/details?id=com.metanit.sharp_tutorial
Руководство по языку Kotlin
https://play.google.com/store/apps/details?id=com.metanit.kotlin_tutorial
Руководство по языку C++
https://play.google.com/store/apps/details?id=com.metanit.cpp_tutorial
RuStore
Руководство по языку JavaScript в каталоге RuStore
🚀 Руководство по языку JavaScript — Руководство по языку программирования JavaScript 📱 Скачайте за 699 рублей на смартфон, ТВ или планшет. Официальная версия (1.0) в RuStore — до 1 тыс установок, рейтинг 0,0★. Безопасно для 0+.
👍28🥰8🔥7🤪2🤨1
Google выпустил новые версии языка Dart - Dart 3.8 и фреймворка Flutter - Flutter 3.32.
Dart 3.8 включает множество улучшений и исправлений ошибок. Основные обновления включают усовершенствования форматтера Dart для более качественного форматирования кода, особенно для сложных выражений и операторов, учитывающих null. В релизе появилась поддержка операторов распространения с учетом null (...?), что упрощает работу с nullable-коллекциями, улучшено сопоставление шаблонов для более лаконичного и выразительного кода, а также повышена эргономичность для разработчиков. Dart 3.8 также улучшает производительность и стабильность, устраняя проблемы, выявленные в предыдущих версиях. обновление до Dart 3.8 рекомендуется, особенно для разработчиков Flutter, так как оно улучшает процесс разработки мобильных и веб-приложений.
https://medium.com/dartlang/announcing-dart-3-8-724eaaec9f47
Основные нововведения Flutter 3.32 включают поддержку горячей перезагрузки (hot reload) для веб-приложений, что ускоряет разработку, улучшенные элементы дизайна Cupertino для большей аутентичности нативного интерфейса iOS, а также новые возможности интеграции искусственного интеллекта с Firebase. В обновлении также улучшена производительность, добавлена прямая интероперабельность с нативными платформами и устранены некоторые критические ошибки. Flutter 3.32 включает 1024 коммита, демонстрируя значительные улучшения для разработчиков мобильных и веб-приложений. Рекомендуется обновиться до этой версии для использования всех новых функций и повышения стабильности.
https://medium.com/flutter/whats-new-in-flutter-3-32-40c1086bab6e
#dart #flutter
Dart 3.8 включает множество улучшений и исправлений ошибок. Основные обновления включают усовершенствования форматтера Dart для более качественного форматирования кода, особенно для сложных выражений и операторов, учитывающих null. В релизе появилась поддержка операторов распространения с учетом null (...?), что упрощает работу с nullable-коллекциями, улучшено сопоставление шаблонов для более лаконичного и выразительного кода, а также повышена эргономичность для разработчиков. Dart 3.8 также улучшает производительность и стабильность, устраняя проблемы, выявленные в предыдущих версиях. обновление до Dart 3.8 рекомендуется, особенно для разработчиков Flutter, так как оно улучшает процесс разработки мобильных и веб-приложений.
https://medium.com/dartlang/announcing-dart-3-8-724eaaec9f47
Основные нововведения Flutter 3.32 включают поддержку горячей перезагрузки (hot reload) для веб-приложений, что ускоряет разработку, улучшенные элементы дизайна Cupertino для большей аутентичности нативного интерфейса iOS, а также новые возможности интеграции искусственного интеллекта с Firebase. В обновлении также улучшена производительность, добавлена прямая интероперабельность с нативными платформами и устранены некоторые критические ошибки. Flutter 3.32 включает 1024 коммита, демонстрируя значительные улучшения для разработчиков мобильных и веб-приложений. Рекомендуется обновиться до этой версии для использования всех новых функций и повышения стабильности.
https://medium.com/flutter/whats-new-in-flutter-3-32-40c1086bab6e
#dart #flutter
Medium
Announcing Dart 3.8
This release brings formatter updates, null-aware elements for collections, new cross-platform development capabilities, a better way to…
👍7🥰1👏1
Нейросетевые чат-боты помогают сотрудникам сэкономить всего 25 минут рабочего времени, а 17% сотрудников жалуются, что у них появились новые задачи, за которые им недоплачивают.
Национальное бюро экономических исследований США (National Bureau of Economic Research, NBER) изучило, как компании используют нейросетевых чат-ботов. опросили 25 тыс. сотрудников из 7 тыс. компаний Дании. Опрашивали представителей 11 профессии, которым СМИ пророчат массовые сокращения из-за прихода нейросетей: бухгалтеров, программистов, специалистов по найму, юристов, журналистов, учителей, маркетологов и других. Данию выбрали из-за того, что в ней схожие с США процессы найма и показатели внедрения чат-ботов, при этом более прозрачная отчётность.
Причем опрашивали сотрудников компаний, а не руководителей. Выяснилось, что:
- Без активного поощрения со стороны работодателя нейросетями пользуется 47% сотрудников, при поощрении — 83%.
- Около 30% работников прошли корпоративное обучение по использованию нейросетей.
- Большинство сотрудников отмечает, что благодаря нейросетям стали чуть более продуктивными. Если смотреть на цифры, то в среднем удаётся сэкономить до 25 минут рабочего времени в день.
- 17% сотрудников отмечают, что из-за освободившегося времени их нагрузили новыми задачами.
- 80% работников используют сэкономленное время для того, чтобы закрывать другие рабочие задачи. Только 10% опрошенных начали использовать это время для отдыха.
- Сотрудники успевают делать чуть больше, но руководители компаний не поднимают зарплаты.
Исследователи подчёркивают, что внедрение нейросетей практически никак не отражается на продуктивности и зарплатах. Даже те, кто научился выкраивать несколько часов, перекладывая задачи на чат-ботов, за хорошую работу получают новые задачи, а не прибавку к окладу. В итоге чат-боты не облегчают работу и не дают возможности больше зарабатывать за счёт освободившегося времени.
https://www.nber.org/papers/w33777
Национальное бюро экономических исследований США (National Bureau of Economic Research, NBER) изучило, как компании используют нейросетевых чат-ботов. опросили 25 тыс. сотрудников из 7 тыс. компаний Дании. Опрашивали представителей 11 профессии, которым СМИ пророчат массовые сокращения из-за прихода нейросетей: бухгалтеров, программистов, специалистов по найму, юристов, журналистов, учителей, маркетологов и других. Данию выбрали из-за того, что в ней схожие с США процессы найма и показатели внедрения чат-ботов, при этом более прозрачная отчётность.
Причем опрашивали сотрудников компаний, а не руководителей. Выяснилось, что:
- Без активного поощрения со стороны работодателя нейросетями пользуется 47% сотрудников, при поощрении — 83%.
- Около 30% работников прошли корпоративное обучение по использованию нейросетей.
- Большинство сотрудников отмечает, что благодаря нейросетям стали чуть более продуктивными. Если смотреть на цифры, то в среднем удаётся сэкономить до 25 минут рабочего времени в день.
- 17% сотрудников отмечают, что из-за освободившегося времени их нагрузили новыми задачами.
- 80% работников используют сэкономленное время для того, чтобы закрывать другие рабочие задачи. Только 10% опрошенных начали использовать это время для отдыха.
- Сотрудники успевают делать чуть больше, но руководители компаний не поднимают зарплаты.
Исследователи подчёркивают, что внедрение нейросетей практически никак не отражается на продуктивности и зарплатах. Даже те, кто научился выкраивать несколько часов, перекладывая задачи на чат-ботов, за хорошую работу получают новые задачи, а не прибавку к окладу. В итоге чат-боты не облегчают работу и не дают возможности больше зарабатывать за счёт освободившегося времени.
https://www.nber.org/papers/w33777
NBER
Large Language Models, Small Labor Market Effects
We examine the labor market effects of AI chatbots using two large-scale adoption surveys (late 2023 and 2024) covering 11 exposed occupations (25,000 workers, 7,000 workplaces), linked to matched employer-employee data in Denmark. AI chatbots are now widespread—most…
😁8👍6😭2
Доходы российских релокантов, работающих из-за границы, выросли на 14%
Доходы IT-специалистов, работающих из-за границы на российские компании, выросли за год до 26%. Большинство таких специалистов находятся в странах ближнего зарубежья, а пользуются их услугами в технологических и креативных сферах. Эксперты связывают рост зарплат у релокантов с компенсацией увеличения НДФЛ для нерезидентов РФ и общим ростом доходов в IT. При этом они признают, что, несмотря на это, многим компаниям все еще выгоднее нанять удаленного специалиста, чем оформить сотрудника в штат.
Наибольший рост среднемесячного дохода зафиксирован у программистов — рост на 15% (с 162,3 тыс. до 186,5 тыс. руб.) и веб-разработчиков — на 26% (с 223 тыс. до 280,3 тыс. руб.). Большинство специалистов работают на российский бизнес из стран ближнего зарубежья: Белоруссии, Казахстана, Узбекистана и в меньшей степени Сербии, а спрос на технических специалистов уровня Senior существенно превышает предложение
https://www.kommersant.ru/doc/7736689
Доходы IT-специалистов, работающих из-за границы на российские компании, выросли за год до 26%. Большинство таких специалистов находятся в странах ближнего зарубежья, а пользуются их услугами в технологических и креативных сферах. Эксперты связывают рост зарплат у релокантов с компенсацией увеличения НДФЛ для нерезидентов РФ и общим ростом доходов в IT. При этом они признают, что, несмотря на это, многим компаниям все еще выгоднее нанять удаленного специалиста, чем оформить сотрудника в штат.
Наибольший рост среднемесячного дохода зафиксирован у программистов — рост на 15% (с 162,3 тыс. до 186,5 тыс. руб.) и веб-разработчиков — на 26% (с 223 тыс. до 280,3 тыс. руб.). Большинство специалистов работают на российский бизнес из стран ближнего зарубежья: Белоруссии, Казахстана, Узбекистана и в меньшей степени Сербии, а спрос на технических специалистов уровня Senior существенно превышает предложение
https://www.kommersant.ru/doc/7736689
Коммерсантъ
Дорогие соотечественники
Доходы российских релокантов, работающих из-за границы, выросли на 14%
🤔4👍2🤮2👏1
Вышел новый выпуск среды разработки NetBeans - Apache NetBeans 26, которая предоставляет поддержку языков программирования Java SE, Java EE, PHP, C/C++, JavaScript, Rust и Groovy и доступна для Linux, Windows и macOS.
Основные изменения в новой версии:
- Расширены возможности, связанные с использованием серверов LSP (Language Server Protocol) и применением плагина для VSCode. Улучшен LSP-клиент для C/C++.
- Улучшена поддержка систем сборки Ant, Gradle и Maven. Gradle Tooling API обновлён до версии 8.14.
- Для языка Java добавлена поддержка тестов hotspot из OpenJDK. Улучшена поддержка шаблонов Swing. Расширены возможности, связанные с генерацией документации apidoc. Встроенный в NetBeans Java-компилятор nb-javac (модифицированный javac) обновлён до версии JDK 24. Встроенная версия Apache Tomcat обновлена до версии 9.0.102.
- Для языка PHP улучшено отображение и автодополнение конструкторов
- Улучшена поддержка платформы Jakarta EE 11. Для Tomcat, TomEE и GlassFish добавлена поддержка возможностей будущего релиза Java SE 25.
- Для web-проектов добавлена поддержка единиц измерения CSS: cqw (1% от ширины), cqh (1% от высоты), cqi (1% от inline-размера), cqb (1% от размера блока), cqmin (наименьшее значение cqi или cqb) и cqmax (наибольшее значение cqi или cqb). Реализована подсветка синтаксиса файлов, связанных с JavaScript-фреймворком Vue. Для JavaScript добавлена поддержка методов генератора async и улучшена обработка ключевого слова const.
- Улучшена интеграция Git
- Добавлена поддержка включения и отключения панелей предпросмотра результатов поиска, рефакторинга и закладок. В многооконном режиме работы редактора кода улучшено изменение фокуса ввода при закрытии последнего окна.
https://github.com/apache/netbeans/releases/tag/26
Основные изменения в новой версии:
- Расширены возможности, связанные с использованием серверов LSP (Language Server Protocol) и применением плагина для VSCode. Улучшен LSP-клиент для C/C++.
- Улучшена поддержка систем сборки Ant, Gradle и Maven. Gradle Tooling API обновлён до версии 8.14.
- Для языка Java добавлена поддержка тестов hotspot из OpenJDK. Улучшена поддержка шаблонов Swing. Расширены возможности, связанные с генерацией документации apidoc. Встроенный в NetBeans Java-компилятор nb-javac (модифицированный javac) обновлён до версии JDK 24. Встроенная версия Apache Tomcat обновлена до версии 9.0.102.
- Для языка PHP улучшено отображение и автодополнение конструкторов
- Улучшена поддержка платформы Jakarta EE 11. Для Tomcat, TomEE и GlassFish добавлена поддержка возможностей будущего релиза Java SE 25.
- Для web-проектов добавлена поддержка единиц измерения CSS: cqw (1% от ширины), cqh (1% от высоты), cqi (1% от inline-размера), cqb (1% от размера блока), cqmin (наименьшее значение cqi или cqb) и cqmax (наибольшее значение cqi или cqb). Реализована подсветка синтаксиса файлов, связанных с JavaScript-фреймворком Vue. Для JavaScript добавлена поддержка методов генератора async и улучшена обработка ключевого слова const.
- Улучшена интеграция Git
- Добавлена поддержка включения и отключения панелей предпросмотра результатов поиска, рефакторинга и закладок. В многооконном режиме работы редактора кода улучшено изменение фокуса ввода при закрытии последнего окна.
https://github.com/apache/netbeans/releases/tag/26
GitHub
Release Apache NetBeans 26 · apache/netbeans
NotePlatform users: -DTopSecurityManager.disable=[true|false] is now a no-op and can be removed. If you are migrating from a version earlier than 25, -Djava.security.manager=allow can be also remov...
👍4🔥1👏1
На Reddit (https://old.reddit.com/r/ExperiencedDevs/comments/1krttqo/my_new_hobby_watching_ai_slowly_drive_microsoft/) обнаружили, что ИИ‑агент Copilot на GitHub медленно сводит с ума сотрудников Microsoft в их же собственных репозиториях. Это особенно видно в комментариях к PR, где люди‑программисты пытаются безуспешно понять, что ИИ хочет добиться.
ИИ‑агент от Microsoft, предназначенный для анализа репозиториев и внесения правок, недавно был развернут для открытых PR в репозитории среды выполнения .NET (dotnet). Но оказалось, что ИИ, мягко говоря, не очень хорош и скорее мешает.
Вот несколько примеров:
https://github.com/dotnet/runtime/pull/115762
https://github.com/dotnet/runtime/pull/115743
https://github.com/dotnet/runtime/pull/115733
https://github.com/dotnet/runtime/pull/115732
Некоторым уже стало жаль сотрудников Microsoft, которым приходится все это разгребать.
ИИ‑агент от Microsoft, предназначенный для анализа репозиториев и внесения правок, недавно был развернут для открытых PR в репозитории среды выполнения .NET (dotnet). Но оказалось, что ИИ, мягко говоря, не очень хорош и скорее мешает.
Вот несколько примеров:
https://github.com/dotnet/runtime/pull/115762
https://github.com/dotnet/runtime/pull/115743
https://github.com/dotnet/runtime/pull/115733
https://github.com/dotnet/runtime/pull/115732
Некоторым уже стало жаль сотрудников Microsoft, которым приходится все это разгребать.
Reddit
From the ExperiencedDevs community on Reddit: My new hobby: watching AI slowly drive Microsoft employees insane
Explore this post and more from the ExperiencedDevs community
😁21👍4😈4🤯1🤮1
Добавлена статья про Стек на основе макросов в программе на языке Си
https://metanit.com/c/tutorial/12.4.php
#c_ansi
https://metanit.com/c/tutorial/12.4.php
#c_ansi
👍11❤3👏2
В руководство по ASP NET Core добавлена статья про Статические файлы и MapStaticAssets
https://metanit.com/sharp/aspnet6/5.3.php
#aspnet #aspnetcore #dotnet #csharp
https://metanit.com/sharp/aspnet6/5.3.php
#aspnet #aspnetcore #dotnet #csharp
Metanit
ASP.NET Core и C# | Статические файлы и MapStaticAssets
Работа со статическими файлами в ASP.NET Core и C# и middleware MapStaticAssets, оптимизация отправки статических ресурсов по умолчанию
👍15❤5👏1
В руководство по JavaScript добавлена статья "Определение мобильного устройства в JavaScript"
https://metanit.com/web/javanoscript/15.2.php
#js #javanoscript
https://metanit.com/web/javanoscript/15.2.php
#js #javanoscript
👍10🥰7👏2
Языку Java исполняется 30 лет - именно 23 мая 1995 года вышла первая версия Java. Спустя год вышла также первая версия JDK - комплекта инструментов для разработчиков для Java. Выход первой версии языка Java (1.0) в 1995 году, разработанного компанией Sun Microsystems, стал знаковым событием для индустрии разработки программного обеспечения. Его значение заключается в нескольких ключевых аспектах:
- Платформонезависимость: Java ввела концепцию «пиши один раз, запускай везде» (Write Once, Run Anywhere, WORA). Благодаря виртуальной машине Java (JVM) программы, написанные на Java, могли выполняться на любой платформе с установленной JVM, что упростило кроссплатформенную разработку и снизило зависимость от конкретных операционных систем.
- Объектно-ориентированный подход: Java популяризировала объектно-ориентированное программирование (ООП), предоставляя простой, но мощный синтаксис, вдохновленный C++, но с устранением сложных элементов, таких как указатели. Это сделало язык доступным для широкого круга разработчиков.
- Надежность и безопасность: Java была спроектирована с упором на надежность и безопасность. Автоматическое управление памятью (сборка мусора), строгая типизация и встроенные механизмы безопасности (например, песочница для апплетов) сделали язык подходящим для создания надежных и защищенных приложений.
- Широкое применение: Java быстро завоевала популярность для разработки различных типов приложений:
1)Веб-апплеты: Первоначально Java активно использовалась для создания интерактивных веб-приложений (апплетов), что было новшеством для веба того времени.
2)Серверные приложения: Со временем Java стала стандартом для серверных приложений благодаря платформам, таким как Java EE.
3)Мобильные и встраиваемые системы: Появление Java ME расширило применение языка в мобильных устройствах и встраиваемых системах.
- Экосистема и сообщество: Выход Java сопровождался созданием мощной экосистемы, включая стандартные библиотеки (Java API), инструменты разработки (JDK) и активное сообщество. Это способствовало быстрому распространению языка и его адаптации в различных отраслях.
- Влияние на другие языки и технологии: Java оказала влияние на развитие других языков программирования (например, C#) и технологий, задав стандарты для современных языков, таких как управление памятью и кроссплатформенность.
- Корпоративное использование: Java стала основой для корпоративных приложений, особенно в банковской, финансовой и телекоммуникационной сферах, благодаря своей масштабируемости и надежности.
В долгосрочной перспективе Java заложила фундамент для современной разработки программного обеспечения, став одним из самых популярных языков программирования, который до сих пор активно используется (например, в экосистеме Android, серверных приложениях и больших данных). Ее выход изменил подход к разработке, сделав акцент на переносимость, безопасность и универсальность.
#java
- Платформонезависимость: Java ввела концепцию «пиши один раз, запускай везде» (Write Once, Run Anywhere, WORA). Благодаря виртуальной машине Java (JVM) программы, написанные на Java, могли выполняться на любой платформе с установленной JVM, что упростило кроссплатформенную разработку и снизило зависимость от конкретных операционных систем.
- Объектно-ориентированный подход: Java популяризировала объектно-ориентированное программирование (ООП), предоставляя простой, но мощный синтаксис, вдохновленный C++, но с устранением сложных элементов, таких как указатели. Это сделало язык доступным для широкого круга разработчиков.
- Надежность и безопасность: Java была спроектирована с упором на надежность и безопасность. Автоматическое управление памятью (сборка мусора), строгая типизация и встроенные механизмы безопасности (например, песочница для апплетов) сделали язык подходящим для создания надежных и защищенных приложений.
- Широкое применение: Java быстро завоевала популярность для разработки различных типов приложений:
1)Веб-апплеты: Первоначально Java активно использовалась для создания интерактивных веб-приложений (апплетов), что было новшеством для веба того времени.
2)Серверные приложения: Со временем Java стала стандартом для серверных приложений благодаря платформам, таким как Java EE.
3)Мобильные и встраиваемые системы: Появление Java ME расширило применение языка в мобильных устройствах и встраиваемых системах.
- Экосистема и сообщество: Выход Java сопровождался созданием мощной экосистемы, включая стандартные библиотеки (Java API), инструменты разработки (JDK) и активное сообщество. Это способствовало быстрому распространению языка и его адаптации в различных отраслях.
- Влияние на другие языки и технологии: Java оказала влияние на развитие других языков программирования (например, C#) и технологий, задав стандарты для современных языков, таких как управление памятью и кроссплатформенность.
- Корпоративное использование: Java стала основой для корпоративных приложений, особенно в банковской, финансовой и телекоммуникационной сферах, благодаря своей масштабируемости и надежности.
В долгосрочной перспективе Java заложила фундамент для современной разработки программного обеспечения, став одним из самых популярных языков программирования, который до сих пор активно используется (например, в экосистеме Android, серверных приложениях и больших данных). Ее выход изменил подход к разработке, сделав акцент на переносимость, безопасность и универсальность.
#java
❤27👍5❤🔥2
Microsoft выпустил предварительную версию нативного порта TypeScript на Go. Доступно на npm и среди расширений VS Code
Команды для установки и использования:
npm install -D @typenoscript/native-preview
npx tsgo --версия
https://devblogs.microsoft.com/typenoscript/announcing-typenoscript-native-previews/
#typenoscript
Команды для установки и использования:
npm install -D @typenoscript/native-preview
npx tsgo --версия
https://devblogs.microsoft.com/typenoscript/announcing-typenoscript-native-previews/
#typenoscript
Microsoft News
Announcing TypeScript Native Previews
Previews of the native TypeScript port are now available on npm and for VS Code through the Visual Studio Marketplace!
🤔5🔥2👏1😁1
Microsoft выпустил общедоступную предварительную версию Schema Designer в рамках расширения для MSSQL для проектирования баз данных внутри VS Code.
Schema Designer предлагает следующие возможности:
- Визуализация структуры базы данных с помощью интерактивных диаграмм.
- Создание или редактирование таблиц, внешних ключей, первичных ключей и ограничений.
- Поиск, перетаскивание, фильтрация, масштабирование, использование мини-карты и автоматическое упорядочивание диаграмм для эффективной навигации и настройки.
- Экспорт своих схем диаграмм, чтобы поделиться ими с командой или включить в документацию.
- Автоматическое создание и просмотр доступных только для чтения скриптов T-SQL, представляющих изменения схемы.
- Просмотр и применение изменений к базе данных с помощью функции «Опубликовать изменения».
https://devblogs.microsoft.com/azure-sql/vs-code-mssql-schema-designer/
#sql #sqlserver
Schema Designer предлагает следующие возможности:
- Визуализация структуры базы данных с помощью интерактивных диаграмм.
- Создание или редактирование таблиц, внешних ключей, первичных ключей и ограничений.
- Поиск, перетаскивание, фильтрация, масштабирование, использование мини-карты и автоматическое упорядочивание диаграмм для эффективной навигации и настройки.
- Экспорт своих схем диаграмм, чтобы поделиться ими с командой или включить в документацию.
- Автоматическое создание и просмотр доступных только для чтения скриптов T-SQL, представляющих изменения схемы.
- Просмотр и применение изменений к базе данных с помощью функции «Опубликовать изменения».
https://devblogs.microsoft.com/azure-sql/vs-code-mssql-schema-designer/
#sql #sqlserver
💘23❤1🥰1👏1