😎 Написание простой 16-битной виртуальной машины менее чем за 125 строк кода на C
Руководство предназначено для начинающих изучать C, которые хотят попрактиковаться в программировании и в процессе получить ценные знания о низкоуровневом программировании и о том, как виртуальные машины работают «под капотом».
К концу статьи у нас будет рабочая виртуальная машина на основе регистров, способная интерпретировать и выполнять ограниченный набор инструкций ASM, а также несколько бонусных программ для проверки работоспособности.
👉 Ссылка
Руководство предназначено для начинающих изучать C, которые хотят попрактиковаться в программировании и в процессе получить ценные знания о низкоуровневом программировании и о том, как виртуальные машины работают «под капотом».
К концу статьи у нас будет рабочая виртуальная машина на основе регистров, способная интерпретировать и выполнять ограниченный набор инструкций ASM, а также несколько бонусных программ для проверки работоспособности.
👉 Ссылка
Forwarded from Антон Клеймёнов
😎 Как использовать модули в C++?
D C++ 20 появилась новая конструкция языка под названием модули. Ускорение компиляции и упрощение управление зависимостями можно назвать основными причинами введения их в стандарт.
❗️ Для того чтобы воспользоваться модульной магией нужно добавить export module вначале файла и тогда он станет модулем
❗️ Подключается же модуль с помощью ключевого слова import
D C++ 20 появилась новая конструкция языка под названием модули. Ускорение компиляции и упрощение управление зависимостями можно назвать основными причинами введения их в стандарт.
❗️ Для того чтобы воспользоваться модульной магией нужно добавить export module вначале файла и тогда он станет модулем
// Файл math.ixx
export module math;
export int add(int a, int b) {
return a + b;
}
export int subtract(int a, int b) {
return a - b;
}
❗️ Подключается же модуль с помощью ключевого слова import
// main.cpp
import math; // Подключаем модуль
#include <iostream>
int main() {
std::cout << "5 + 3 = " << add(5, 3) << std::endl;
std::cout << "5 - 3 = " << subtract(5, 3) << std::endl;
return 0;
}
Forwarded from Азбука айтишника
💣 Токсичный разработчик: гений или бомба замедленного действия?
Токсичный разработчик — это специалист, с которым крайне некомфортно работать. Разбираемся в статье — как к нему относиться:
🔗 Ссылка
Токсичный разработчик — это специалист, с которым крайне некомфортно работать. Разбираемся в статье — как к нему относиться:
🔗 Ссылка
⚙️ Подпишись на нашу еженедельную email-рассылку, чтобы быть в курсе последних открытий и тенденций в мире бэкенда.
В еженедельных письмах ты найдешь:
● Языки программирования и фреймворки для бэкенда
● Архитектура и проектирование серверных приложений
● Базы данных и управление данными
● Безопасность и защита данных
● Облачные технологии и DevOps
● API и интеграции
● Тестирование и отладка
● Инструменты и утилиты для бэкенд-разработчиков
● Лучшие практики и паттерны проектирования
👉Подписаться👈
В еженедельных письмах ты найдешь:
● Языки программирования и фреймворки для бэкенда
● Архитектура и проектирование серверных приложений
● Базы данных и управление данными
● Безопасность и защита данных
● Облачные технологии и DevOps
● API и интеграции
● Тестирование и отладка
● Инструменты и утилиты для бэкенд-разработчиков
● Лучшие практики и паттерны проектирования
👉Подписаться👈
🥳 The Arcade Learning Environment
Arcade Learning Environment (ALE) — это простая платформа, которая позволяет исследователям и любителям разрабатывать ИИ-агентов для игр Atari 2600. Она построена на основе эмулятора Atari 2600 Stella и отделяет детали эмуляции от разработки агентов. На этом видео показано более 50 игр, которые в настоящее время поддерживаются в ALE.
👉 GitHub
Arcade Learning Environment (ALE) — это простая платформа, которая позволяет исследователям и любителям разрабатывать ИИ-агентов для игр Atari 2600. Она построена на основе эмулятора Atari 2600 Stella и отделяет детали эмуляции от разработки агентов. На этом видео показано более 50 игр, которые в настоящее время поддерживаются в ALE.
👉 GitHub
Forwarded from Библиотека питониста | Python, Django, Flask
🔀 Асинхронность — не баг, а фича: 4 паттерна, которые спасут ваш распределённый сервис
Представь, что ты отправляешь сообщение в мессенджере, а оно доходит с задержкой в минуту. Бесит? А теперь представь, что у тебя сервис с миллионами пользователей, и каждое их действие должно мгновенно отражаться везде. Звучит как кошмар? Спокойно, есть четыре проверенных способа решить эту головоломку, и они реально работают.
👉 Читать статью
Представь, что ты отправляешь сообщение в мессенджере, а оно доходит с задержкой в минуту. Бесит? А теперь представь, что у тебя сервис с миллионами пользователей, и каждое их действие должно мгновенно отражаться везде. Звучит как кошмар? Спокойно, есть четыре проверенных способа решить эту головоломку, и они реально работают.
👉 Читать статью
Forwarded from Библиотека дата-сайентиста | Data Science, Machine learning, анализ данных, машинное обучение
🟢 Зелёные флаги на собеседовании: 11 признаков того, что работодатель — норм
В этой статье мы расскажем, какие сигналы на собеседовании говорят о том, что вы попали в отличную команду, и вам точно стоит сказать работодателю: «Да!»
👉 Читать
В этой статье мы расскажем, какие сигналы на собеседовании говорят о том, что вы попали в отличную команду, и вам точно стоит сказать работодателю: «Да!»
👉 Читать
В этом вебинаре обсуждаются грамматические конструкции в С++ и как они работают.
Рассказывают о разных видах парсеров и о том, почему С++ сложно парсить.
Также делятся некоторыми хитростями, позволяющими избежать чрезмерного замедления.
Приятного просмотра и чистого кода :)
👉 Видео
Рассказывают о разных видах парсеров и о том, почему С++ сложно парсить.
Также делятся некоторыми хитростями, позволяющими избежать чрезмерного замедления.
Приятного просмотра и чистого кода :)
👉 Видео
🧑💻 Статьи для IT: как объяснять и распространять значимые идеи
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
Программисты C++
Pustota Lab, компания по разработке блокчейн-инфраструктуры, ищет разработчиков для расширения нашей экосистемы.
Детали позиции:
▪️Должность: Senior
▪️Зарплата: от 250,000 ₽ net
▪️Местоположение: Полностью удаленно
▪️Контакт: [Telegram](https://yangx.top/Q4domains)
Требуемые навыки:
▪️Основные языки: C/C++, современный C++ (версии 14-23)
▪️ Дополнительные языки: Веб-технологии (HTML, JavaScript, Node.js, CSS) — приветствуются, но не обязательны
▪️ Технологии для разработки кошелька: Обязательное знание Qt и опыт разработки приложений с его использованием
Дополнительные навыки:
▪️ Знание объектно-ориентированного программирования и шаблонов C++
▪️ Умение создавать и отлаживать многопоточные приложения
▪️Опыт работы с проектами на CMake
▪️ Знание сетевых технологий (сетевые протоколы, адресация, настройка сетевых интерфейсов)
▪️Понимание механизма toolchain и кросс-компиляции
▪️Знание теории баз данных
▪️ Умение интегрировать сторонние библиотеки или API
▪️ Уверенное владение Git
Pustota Lab, компания по разработке блокчейн-инфраструктуры, ищет разработчиков для расширения нашей экосистемы.
Детали позиции:
▪️Должность: Senior
▪️Зарплата: от 250,000 ₽ net
▪️Местоположение: Полностью удаленно
▪️Контакт: [Telegram](https://yangx.top/Q4domains)
Требуемые навыки:
▪️Основные языки: C/C++, современный C++ (версии 14-23)
▪️ Дополнительные языки: Веб-технологии (HTML, JavaScript, Node.js, CSS) — приветствуются, но не обязательны
▪️ Технологии для разработки кошелька: Обязательное знание Qt и опыт разработки приложений с его использованием
Дополнительные навыки:
▪️ Знание объектно-ориентированного программирования и шаблонов C++
▪️ Умение создавать и отлаживать многопоточные приложения
▪️Опыт работы с проектами на CMake
▪️ Знание сетевых технологий (сетевые протоколы, адресация, настройка сетевых интерфейсов)
▪️Понимание механизма toolchain и кросс-компиляции
▪️Знание теории баз данных
▪️ Умение интегрировать сторонние библиотеки или API
▪️ Уверенное владение Git
Привет, друзья! 👋
Мы готовим статью о том, как эффективно изучать программирование, и хотим услышать ваше мнение! 🤓💻 Поделитесь своим опытом, и самые полезные советы войдут в нашу публикацию.
Какой совет вы бы дали начинающим программистам? 💡
Поделитесь своими мыслями в комментариях!
Мы готовим статью о том, как эффективно изучать программирование, и хотим услышать ваше мнение! 🤓💻 Поделитесь своим опытом, и самые полезные советы войдут в нашу публикацию.
Какой совет вы бы дали начинающим программистам? 💡
Поделитесь своими мыслями в комментариях!
Какой метод обучения программированию оказался для вас наиболее эффективным? 🚀
Anonymous Quiz
9%
Онлайн-курсы
27%
Самообучение по книгам
46%
Практика на реальных проектах
14%
Обучение с наставником
4%
Другое (напишите в комментариях)