METANIT.COM – Telegram
METANIT.COM
5.92K subscribers
1.68K photos
81 videos
9 files
1.06K links
Канал о программировании и разработке сайта metanit.com
Download Telegram
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
🔥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/
😱25😢11🤡9😁5👍2😭2🤯1👀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
👍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
😁8👍6😭2
Доходы российских релокантов, работающих из-за границы, выросли на 14%
Доходы IT-специалистов, работающих из-за границы на российские компании, выросли за год до 26%. Большинство таких специалистов находятся в странах ближнего зарубежья, а пользуются их услугами в технологических и креативных сферах. Эксперты связывают рост зарплат у релокантов с компенсацией увеличения НДФЛ для нерезидентов РФ и общим ростом доходов в IT. При этом они признают, что, несмотря на это, многим компаниям все еще выгоднее нанять удаленного специалиста, чем оформить сотрудника в штат.
Наибольший рост среднемесячного дохода зафиксирован у программистов — рост на 15% (с 162,3 тыс. до 186,5 тыс. руб.) и веб-разработчиков — на 26% (с 223 тыс. до 280,3 тыс. руб.). Большинство специалистов работают на российский бизнес из стран ближнего зарубежья: Белоруссии, Казахстана, Узбекистана и в меньшей степени Сербии, а спрос на технических специалистов уровня Senior существенно превышает предложение
https://www.kommersant.ru/doc/7736689
🤔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
👍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, которым приходится все это разгребать.
😁21👍4😈4🤯1🤮1
Добавлена статья про Стек на основе макросов в программе на языке Си
https://metanit.com/c/tutorial/12.4.php
#c_ansi
👍113👏2
dotnet cli скоро позволит запускать скрипты на C# #dotnet #csharp
🔥393👏2🤨2
Вкратце базовые моменты языка Python для начинающих #python
15👏2🔥1
В руководство по JavaScript добавлена статья "Определение мобильного устройства в JavaScript"
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
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
🤔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
💘231🥰1👏1
В руководство по языку Python добавлена статья про Модуль secrets и генерацию безопасных паролей, токенов и случайных строк и чисел
https://metanit.com/python/tutorial/6.9.php
#python
👍11🔥2👏1