🤖🎮 GPT-4 играет в Minecraft и самообучается: сингулярность, в результате которой ИИ сам сделает себя умнее людей
В этой статье речь пойдет об эксперименте Voyager, в котором группа исследователей дала GPT-4 поиграть в Minecraft. Нейросеть сама учила себя играть, обучалась разным действиям вроде «срубить дерево» или «убить паука» и добавляла скиллы в свою библиотеку. Проще говоря, GPT-4 теперь пишет код, проверяет его и совершенствует. Именно с такого начинается так называемая сингулярность, в результате которой ИИ сам сделает себя умнее людей. Сингулярность Майнкрафта.
🔗 Основной сайт
🔗 Зеркало
В этой статье речь пойдет об эксперименте Voyager, в котором группа исследователей дала GPT-4 поиграть в Minecraft. Нейросеть сама учила себя играть, обучалась разным действиям вроде «срубить дерево» или «убить паука» и добавляла скиллы в свою библиотеку. Проще говоря, GPT-4 теперь пишет код, проверяет его и совершенствует. Именно с такого начинается так называемая сингулярность, в результате которой ИИ сам сделает себя умнее людей. Сингулярность Майнкрафта.
🔗 Основной сайт
🔗 Зеркало
🎬25 фильмов и сериалов о видеоиграх
Не знаете, чем себя занять вечером пятницы? Тогда мы вам поможем 💪
Забирайте пачку фильмов и сериалов о геймдеве, видеоиграх и разрабах.
👉Выбрать, что смотреть
Не знаете, чем себя занять вечером пятницы? Тогда мы вам поможем 💪
Забирайте пачку фильмов и сериалов о геймдеве, видеоиграх и разрабах.
👉Выбрать, что смотреть
Стандартные атрибуты в C и C++, Тимур Думлер, ACCU 2023
Этот доклад представляет собой подробный обзор стандартных атрибутов, доступных в настоящее время в языках программирования C и C++.
Смотреть доклад
Этот доклад представляет собой подробный обзор стандартных атрибутов, доступных в настоящее время в языках программирования C и C++.
Смотреть доклад
Pure Virtual C++ 2023: санитайзер для адресов continue_on_error на VC++
Ошибки безопасности памяти C++ продолжают вызывать серьезную озабоченность. В этом докладе описывается continue_on_error — новая технология, реализованная в среде выполнения Address Sanitizer. Компилятор и новая среда выполнения позволяют разработчику находить четко определенный набор (возможно, скрытых) ошибок безопасности памяти, не имеют ложных срабатываний и легко добавляются к существующим тестовым активам. Это создает новую проверенную сборку для C и C++.
Смотреть видео
Ошибки безопасности памяти C++ продолжают вызывать серьезную озабоченность. В этом докладе описывается continue_on_error — новая технология, реализованная в среде выполнения Address Sanitizer. Компилятор и новая среда выполнения позволяют разработчику находить четко определенный набор (возможно, скрытых) ошибок безопасности памяти, не имеют ложных срабатываний и легко добавляются к существующим тестовым активам. Это создает новую проверенную сборку для C и C++.
Смотреть видео
100 дней — день 1
Автор статьи запускает челендж — он будет решать одну или несколько задач с leetcode/gfg в день и публиковать то, что узнал. На данный момент он уже пропустил один день. 😃 Но в восьми статьях, которые успели выйти, содержится много полезных решений.
Читать статью
Автор статьи запускает челендж — он будет решать одну или несколько задач с leetcode/gfg в день и публиковать то, что узнал. На данный момент он уже пропустил один день. 😃 Но в восьми статьях, которые успели выйти, содержится много полезных решений.
Читать статью
Вывод double, также известный как самая сложная задача в компьютерных науках
Несколько лет назад я обнаружил этот вопрос на StackOverflow: как напечатать double с полной точностью, используя cout? Я был потрясен, увидев, насколько неправильными были большинство ответов, поэтому тогда я ответил сам. Недавно я снова наткнулся на него и решил написать этот пост в блоге, объясняя проблемы с некоторыми из лучших ответов.
Читать пост
Несколько лет назад я обнаружил этот вопрос на StackOverflow: как напечатать double с полной точностью, используя cout? Я был потрясен, увидев, насколько неправильными были большинство ответов, поэтому тогда я ответил сам. Недавно я снова наткнулся на него и решил написать этот пост в блоге, объясняя проблемы с некоторыми из лучших ответов.
Читать пост
🤖 Нейронки кодят за вас: 28 AI-сервисов в помощь разработчику
Расскажем о самых полезных новинках, которые помогут написать, отладить и протестировать код, а также ускорят процесс изучения нового стека и подготовку к собеседованию.
🔗 Основной сайт
🔗 Зеркало
Расскажем о самых полезных новинках, которые помогут написать, отладить и протестировать код, а также ускорят процесс изучения нового стека и подготовку к собеседованию.
🔗 Основной сайт
🔗 Зеркало
Что такое хеш-функция? Объясните на примере
Хеш-функция - это функция, которая принимает на вход некоторые данные и возвращает фиксированный размер выходных данных, называемый хешем. Такие функции широко используются в C++ для решения задач с поиском и индексированием данных. Они позволяют быстро находить элементы в массивах или хранилищах данных.
Рассмотрим применение на примере кода выше:
Мы создаем объект хеш-функции для строки и используем его для вычисления хеша для строки "Hello, world!". Результатом выполнения программы будет вывод на экран хеш-значения для этой строки.
#вопросы_с_собеседований
Хеш-функция - это функция, которая принимает на вход некоторые данные и возвращает фиксированный размер выходных данных, называемый хешем. Такие функции широко используются в C++ для решения задач с поиском и индексированием данных. Они позволяют быстро находить элементы в массивах или хранилищах данных.
Рассмотрим применение на примере кода выше:
Мы создаем объект хеш-функции для строки и используем его для вычисления хеша для строки "Hello, world!". Результатом выполнения программы будет вывод на экран хеш-значения для этой строки.
#вопросы_с_собеседований
⚖️ 4 основных алгоритма сравнения Git Diff: когда и какой алгоритм использовать
Обзор четырех алгоритмов git diff: Майерса, минимальный, «терпения» и гистограммный. Также приводятся наглядные примеры, чтобы можно было сравнить результат применения каждого алгоритма самостоятельно.
🔗 Основной сайт
🔗 Зеркало
Обзор четырех алгоритмов git diff: Майерса, минимальный, «терпения» и гистограммный. Также приводятся наглядные примеры, чтобы можно было сравнить результат применения каждого алгоритма самостоятельно.
🔗 Основной сайт
🔗 Зеркало
Задача
Для каждого из чисел второй последовательности найдите ближайшее к нему в первой.
В первой строке входных данных содержатся числа N и K (). Во второй строке задаются N чисел первого массива, отсортированного по неубыванию, а в третьей строке – K чисел второго массива. Каждое число в обоих массивах по модулю не превосходит 2⋅10**9.
Для каждого из K чисел выведите в отдельную строку число из первого массива, наиболее близкое к данному. Если таких несколько, выведите меньшее из них.
#код
Для каждого из чисел второй последовательности найдите ближайшее к нему в первой.
В первой строке входных данных содержатся числа N и K (). Во второй строке задаются N чисел первого массива, отсортированного по неубыванию, а в третьей строке – K чисел второго массива. Каждое число в обоих массивах по модулю не превосходит 2⋅10**9.
Для каждого из K чисел выведите в отдельную строку число из первого массива, наиболее близкое к данному. Если таких несколько, выведите меньшее из них.
#код
C++23: две дополнительные noexcept функции
в C++23 есть 125 изменений/исправлений/новых функций, и они постепенно освещаются в этом блоге.
Читать статью
в C++23 есть 125 изменений/исправлений/новых функций, и они постепенно освещаются в этом блоге.
Читать статью
Удаление всех вхождений элемента в массив
В этом методе сдвиньте нецелевой элемент в левую сторону.
🔨 Проверьте, является ли текущий элемент целевым элементом или нет.
🔨 Если это целевой элемент, увеличьте переменную cnt.
🔨 После этого элемента все нецелевые элементы сдвинутся влево с промежутком (n-cnt).
Временная сложность: O(n)
Сложность пространства: O(1)
На картинке приведена программа на C ++ для удаления всех вхождений элемента из массива с использованием оптимизированного подхода.
#код
В этом методе сдвиньте нецелевой элемент в левую сторону.
🔨 Проверьте, является ли текущий элемент целевым элементом или нет.
🔨 Если это целевой элемент, увеличьте переменную cnt.
🔨 После этого элемента все нецелевые элементы сдвинутся влево с промежутком (n-cnt).
Временная сложность: O(n)
Сложность пространства: O(1)
На картинке приведена программа на C ++ для удаления всех вхождений элемента из массива с использованием оптимизированного подхода.
#код
Изменение порядка параметров типа шаблона C++ для удобства использования и вывод типа из будущего
Небольшой полезный пост от Реймонда Чена.
Читать пост
Небольшой полезный пост от Реймонда Чена.
Читать пост
Получить текущее время и дату в C++
Начиная с C++11, стандартным решением для получения текущего времени и даты в C++ является использование библиотеки chrono.
Мы можем получить текущее время с помощью std::chrono::system_clock::now() от hrono.h хедера и преобразовать его в std::time_t тип (время от эпохи).
Затем преобразовать std::time_t на местное календарное время std::ctime в Www Mmm dd hh:mm:ss yyyy формате, как показано на картинке.
#код
Начиная с C++11, стандартным решением для получения текущего времени и даты в C++ является использование библиотеки chrono.
Мы можем получить текущее время с помощью std::chrono::system_clock::now() от hrono.h хедера и преобразовать его в std::time_t тип (время от эпохи).
Затем преобразовать std::time_t на местное календарное время std::ctime в Www Mmm dd hh:mm:ss yyyy формате, как показано на картинке.
#код
Метод map::max_size()
map::max_size() — это встроенная функция C++ STL, которая возвращает максимальное количество элементов, которые может содержать контейнер map.
#код
map::max_size() — это встроенная функция C++ STL, которая возвращает максимальное количество элементов, которые может содержать контейнер map.
#код
Собеседование Middle C++
Запись собеседования на позицию мидла с фидбэком. Видео длится почти час, интервьюер успел задать интересные вопросы на разные темы — и про сериализацию, и про мув семантику.
Смотреть видео
Запись собеседования на позицию мидла с фидбэком. Видео длится почти час, интервьюер успел задать интересные вопросы на разные темы — и про сериализацию, и про мув семантику.
Смотреть видео
Просмотр все файлов в папке с помощью C++
Для того, чтобы просмотреть все файлы в папке с помощью C++, можно использовать функцию
В данном примере мы получаем текущую директорию с помощью функции
Для того, чтобы просмотреть все файлы в папке с помощью C++, можно использовать функцию
std::filesystem::directory_iterator()
. Данная функция позволяет перебирать все файлы в указанной директории.В данном примере мы получаем текущую директорию с помощью функции
fs::current_path()
, а затем проходим по всем файлам в этой директории с помощью цикла for
. Внутри цикла мы выводим путь к каждому файлу с помощью метода entry.path()
.#вопросы_с_собеседований
Как запретить наследовать класс?
Чтобы запретить наследование класса в C++, вы можете объявить класс как final.
Ключевое слово final указывает компилятору, что класс не может быть использован в качестве базового класса для других классов. Если попытаться наследовать от класса, объявленного как final, компилятор выдаст ошибку.
class Base final {
// ...
};
class Derived : public Base {
// ...
};
// Ошибка компиляции: класс Base объявлен как final
Как запретить наследовать класс?
Чтобы запретить наследование класса в C++, вы можете объявить класс как final.
Ключевое слово final указывает компилятору, что класс не может быть использован в качестве базового класса для других классов. Если попытаться наследовать от класса, объявленного как final, компилятор выдаст ошибку.
class Base final {
// ...
};
class Derived : public Base {
// ...
};
// Ошибка компиляции: класс Base объявлен как final
Функция isprint()
В C++ isprint() — это предопределенная функция, используемая для обработки строк и символов. cstring — это заголовочный файл, необходимый для строковых функций, а cctype — заголовочный файл, необходимый для символьных функций.
Эта функция используется для проверки того, содержит ли аргумент какие-либо печатные символы.
Подробнее можно почитать здесь.
#код
В C++ isprint() — это предопределенная функция, используемая для обработки строк и символов. cstring — это заголовочный файл, необходимый для строковых функций, а cctype — заголовочный файл, необходимый для символьных функций.
Эта функция используется для проверки того, содержит ли аргумент какие-либо печатные символы.
Подробнее можно почитать здесь.
#код
Возможности Rust, которые нужны в C++ — Дэвид Санкель — CppNow
По многим оценкам, Rust — один из самых быстрорастущих языков программирования. Хотя этому росту способствует множество факторов, в этом докладе автор сосредоточился на тех аспектах Rust, которые делают его особенно привлекательным в качестве языка системного программирования. Это касается инструментов, сообщества, стратегии и, конечно же, функций.
Смотреть доклад
По многим оценкам, Rust — один из самых быстрорастущих языков программирования. Хотя этому росту способствует множество факторов, в этом докладе автор сосредоточился на тех аспектах Rust, которые делают его особенно привлекательным в качестве языка системного программирования. Это касается инструментов, сообщества, стратегии и, конечно же, функций.
Смотреть доклад
Алгоритм is_sorted_until
Используется для определения первого несортированного элемента в диапазоне [first, last). Он возвращает итератор к первому несортированному элементу в диапазоне, поэтому все элементы между первым и возвращенным итератором сортируются.
Его также можно использовать для подсчета общего количества отсортированных элементов в диапазоне. Он определяется внутри файла заголовка. Если весь диапазон отсортирован, он вернет итератор, указывающий на последний.
#код
Используется для определения первого несортированного элемента в диапазоне [first, last). Он возвращает итератор к первому несортированному элементу в диапазоне, поэтому все элементы между первым и возвращенным итератором сортируются.
Его также можно использовать для подсчета общего количества отсортированных элементов в диапазоне. Он определяется внутри файла заголовка. Если весь диапазон отсортирован, он вернет итератор, указывающий на последний.
#код