Умный программист
Здесь все про программирование Пригласительная ссылка: @umnyiprogrammist Сотрудничество: @bogdan_lapenko ЗАЯВКИ ПРИНИМАЮТСЯ МОМЕНТАЛЬНО
Больше41 237
Подписчики
-3324 часа
-2467 дней
-1 15730 дней
- Подписчики
- Просмотры постов
- ER - коэффициент вовлеченности
Загрузка данных...
Прирост подписчиков
Загрузка данных...
Фото недоступно
Borgo — новый язык программирования, который пытается быть более выразительным, чем Go, но менее сложным, чем Rust. Он комбинирует лучшие черты Go и Rust, восполняя недостатки каждого из языков. Проект развивает Marco Sampellegrini, автор книги The Simple Haskell Handbook и разработчик системы непрерывной интеграции Quad CI
В Borgo используется статическая типизация, аналогичные Go типы и синтаксис, похожий на Rust. Указание точек с запятой в конце строк в коде на Borgo не является обязательным. Код на языке Borgo компилируется в представление на Go, которое полностью совместимо с существующими пакетами для Go. Код компилятора написан на Rust и распространяется под лицензией ISC
1 30850
Фото недоступно
Тестирование API. Postman — полный курс автоматизации
Чему вы научитесь:
— Автоматизированному тестированию
— Postman
— WEB
— HTTP
— HTTPS
— API
— Тестированию
— API Testing
— Тестированию API
Скачать курс
2 290350
Способы поиска дубликатов в списке в Java
Дубликаты в списках могут быть проблемой при обработке данных в Java. Рассмотрим несколько способов, как можно найти дубликаты c использованием стандартных решений Java
1. Использование
Set
, один из самых простых способов
List<Integer> list = Arrays.asList(1, 2, 3, 4, 5, 2, 3);
Set<Integer> set = new HashSet<>();
List<Integer> duplicates = new ArrayList<>();
for (Integer element : list) {
if (!set.add(element)) {
duplicates.add(element);
}
}
System.out.println("Дубликаты: " + duplicates);
2. Использование Map
. Считаем количество встреч каждого элемента и затем ищем элементы с количеством больше 1
List<Integer> list = Arrays.asList(1, 2, 3, 4, 5, 2, 3);
Map<Integer, Integer> countMap = new HashMap<>();
List<Integer> duplicates = new ArrayList<>();
for (Integer element : list) {
countMap.put(element, countMap.getOrDefault(element, 0) + 1);
}
for (Map.Entry<Integer, Integer> entry : countMap.entrySet()) {
if (entry.getValue() > 1) {
duplicates.add(entry.getKey());
}
}
System.out.println("Дубликаты: " + duplicates);
3. Использование Stream API
List<Integer> list = Arrays.asList(1, 2, 3, 4, 5, 2, 3);
List<Integer> duplicates = list.stream()
.collect(Collectors.groupingBy(Function.identity(), Collectors.counting()))
.entrySet().stream()
.filter(entry -> entry.getValue() > 1)
.map(Map.Entry::getKey)
.collect(Collectors.toList());
System.out.println("Дубликаты: " + duplicates);
4. Использование Collections.frequency
List<Integer> list = Arrays.asList(1, 2, 3, 4, 5, 2, 3);
List<Integer> duplicates = list.stream()
.filter(i -> Collections.frequency(list, i) > 1)
.distinct()
.collect(Collectors.toList());
System.out.println("Дубликаты: " + duplicates);
2 36370
Фото недоступно
Объектно-ориентированный Python, 4-е издание
Авторы: Стивен Лотт, Дасти Филлипс
Год: 2024
Количество страниц: 704
Глубоко погрузитесь в различные аспекты объектно-ориентированного программирования на Python, паттерны проектирования, приемы манипулирования данными и вопросы тестирования сложных объектно-ориентированных систем. Обсуждение всех понятий подкрепляется примерами, написанными специально для этого издания, и практическими упражнениями в конце каждой главы. Код всех примеров совместим с синтаксисом Python 3.9+ и дополнен аннотациями типов для упрощения изучения
Скачать книгу
2 430170
GitHub Copilot теперь поддерживает пользовательские расширения. Их могут создавать как компании, так и независимые разработчики, а устанавливать расширения можно из магазина GitHub Marketplace
Расширения представляют собой кастомных чат-ботов, оптимизированных для решения конкретных задач. Они уже знают контекст и свою роль, что ускоряет работу с ними. Пользователю не надо отправлять уточняющий запрос перед основным вопросом. Это, по словам инженеров GitHub Copilot, значительно ускоряет работу. Функция похожа на кастомные чат-боты GPTs от OpenAI
2 59890
Microsoft и Qualcomm выпустят Snapdragon Dev Kit для создания приложений на Copilot+ для PC, работающих с чипами Snapdragon X. Он оснащён 12-ядерным процессором Oryon 3,8 ГГц и двухъядерным ускорением до 4,4 ГГц, 32 ГБ LPDDR5x, 512 ГБ M2, системной архитектурой 80 Вт и обеспечивает поддержку до трёх внешних дисплеев
Также анонсировали новый механизм эмуляции «Prism». Он поможет создать код для эмулируемых приложений x86/x64, которые будут работать на чипах на базе Arm. Этот движок поможет эмулируемым приложениям работать быстрее на любом устройстве под управлением Windows Arm
2 92530
Firefox начал собирать поисковые данные пользователей
Сбор и изучение запросов, как утверждается в компании, нужны для того, чтобы «расставить приоритеты для правильных функций в зависимости от варианта использования», но фанаты Mozilla уже подняли волну недовольства в соцсетях. Разработчики утверждают, что изменения улучшат пользовательский опыт
3 29640
Какая функция SQL используется для получения каждой части строки, которая встречается перед указанным вами разделителем?Anonymous voting
- COUNT()
- CHAR_LENGTH()
- SUBSTRING_INDEX()
- CONCAT()
3 51910