Пользователь
Отображение 3D-графики на STM32F407
Демонстрационная картинка
Простая самодельная VGA видеокарта
STM32F103C8T6 — первые шаги. Продолжаем делать осциллограф
Шахматы как динамическая система
Предисловие
Существует такой тип людей, для которых исследования и создание сложных и функциональных систем — высшая степень удовольствия. К такому типу можно отнести и меня. Любой целостный объект, обладающий единством всей своей структуры, материального, социального и абстрактного миров обладает системностью: человек, семья (да и любой социальный институт), биосфера, химические вещества и пр. Системность присутствует даже в неявных вещах.
Очень давно, благодаря энтузиазму моего деда, я научился играть в шахматы. Вообще, шахматы — это одна из самых древних синтетических системных моделей, представленных в оболочке настольной игры. В данной статье будет произведен системный анализ шахмат, как детерминированной (предопределенной) системы, а именно: исследование структуры связанных шахматных фигур, интегративного свойства всех фигур и отдельных «изолированных» структур и уровня доминирования на доске как отдельных фигур, так и отдельного цвета (белых или черных).
Знай сложности алгоритмов
Бесплатная трансляция DevOops 2019 и C++ Russia 2019 Piter
29-30 октября, то есть уже завтра, состоится конференция DevOops 2019. Это два дня докладов про CloudNative, облачные технологии, observability и monitoring, configuration management и security, и так далее.
Сразу следом за ней, 31 октября — 1 ноября, состоится конференция C++ Russia 2019 Piter. Это очередные два дня хардкорных технических докладов, посвященных C++: concurrency, производительности, архитектуре, инфраструктуре и решению хитрых необычных задач.
Из тридцатки докладов на каждой из конференций вы сможете совершенно бесплатно посмотреть на YouTube доклады первого дня, проводящиеся в первом зале — 6 штук. В той же онлайн-трансляции будут онлайн-интервью между докладами.
Начало трансляции:
- DevOops: 29 октября, 9:45 утра по московскому времени,
- C++ Russia: 31 октября, 9:45 утра по московскому времени.
После короткого 15-минутного вступления вы сможете вместе со всеми посмотреть открытие, которое плавно перейдёт в просмотр докладов, а закончится всё ближе к 7 часам вечера. Открывать ссылку именно в 9:45 необязательно — ссылка будет работать весь день, поэтому можно открывать её только на наиболее важных докладах.
Ссылка на сайт трансляции — под катом. Там же есть краткое описание докладов и обсуждение пары вещей, которых на трансляции (даже если купили онлайн-билет) всё-таки не будет.
Спецификатор constexpr в C++11 и в C++14
constexpr
. С помощью него можно создавать переменные, функции и даже объекты, которые будут рассчитаны на этапе компиляции. Это удобно, ведь раньше для таких целей приходилось использовать шаблоны. Но тут все не так просто. У тех, кто не так хорошо знаком с constexpr
, может сложиться впечатление, что теперь не будет никаких проблем с расчетами на этапе компиляции. Но на constexpr
-выражения наложены серьезные ограничения.В первой части будет рассказано про
constexpr
, о том, какие будут изменения в стандарте C++14, а во второй части будет пример использования constexpr
: библиотека, которая считает результат математического выражения в строке.С помощью нее можно будет написать следующий код:
constexpr auto x = "(4^2-9)/8+2/3"_solve;
std::cout << "Answer is " << x;
И ответ в виде дроби будет получен на этапе компиляции:
Answer is 37/24
Сразу предупреждаю, код этой библиотеки сложно понять.
Кому эта тема интересна, добро пожаловать под кат!
История постройки гусеничного робота
Моя история погружения в изучение робототехники и создание робота с помощью 3d принтера. Ошибки, с которыми я столкнулся и что хотел-бы получить в итоге
Алексей Савватеев: Как бороться с коррупцией при помощи математики (Нобелевская премия по экономике за 2016 год)
Номинация: За проработку теории контрактов в неоклассической экономике. Неоклассическое направление подразумевает рациональность экономических агентов, широко использует теорию экономического равновесия и теорию игр.
Оливер Харт и Бенгт Хольмстрём.
Контракт. Что это такое? Я работодатель, у меня несколько сотрудников, я говорю им как будет устроена их зарплата. В каких случаях и что они будут получать. Эти случаи могут включать и поведение их коллег.
Приведу пять примеров. Три из них иллюстрируют, как попытка вмешательства привела к ухудшению ситуации.
Способ организации коллективного изучения теории в ходе семестра
Всем привет! Год назад я написал статью про то, как я организовывал университетский курс по обработке сигналов. Судя по отзывам, в статье много интересных идей, но она большая и тяжелочитаемая. И я давно хотел разбить её на более маленькие и написать их понятнее.
Но писать одно и то же два раза как-то не получается. Вдобавок, в этом году дали о себе знать существенные проблемы в организации этого курса. Поэтому я решил написать несколько статей про каждую из идей в отдельности, порассуждать о плюсах и минусах.
Это первая статья — про способ организовать студентов так, чтобы они активно изучали теорию в ходе семестра, а не в последние дни перед экзаменом.
Вся правда об ОСРВ. Статья #29. Прерывания в Nucleus SE
Современный детский технический кружок VS советские СЮТы
Как правильно задавать вопросы, если ты начинающий айтишник
Последние пару лет очень много занимаюсь с людьми, которые только начинают свою карьеру в ИТ. Поскольку и сами вопросы, и манера их задавать у многих людей похожи, я решил собрать свой опыт и рекомендации в одном месте.
Давным-давно я прочитал статью 2004-го года авторства Эрика Рэймонда, и всегда в карьере неукоснительно ей следовал. Она довольно большая, и заточена скорее под системных администраторов. Мне же приходится помогать людям, зачастую вообще не имеющим опыта в разработке, стать джуниорами и начать свою карьеру.
Тем, кто уже стал, или еще только мечтает стать начинающим разработчиком, я могу дать следующие рекомендации:
- Изучайте проблему самостоятельно
- Сначала сообщайте цель, потом озвучивайте проблему
- Пишите грамотно и по существу
- Задавайте вопросы по адресу и делитесь решением
- Уважайте чужое время
- Смотрите шире
А теперь подробнее.
Простой сервер на Qt/C++
В этой статье мы рассмотрим:
— Создание tcp сервера.
— Подключение нескольких клиентов к серверу параллельно.
— Отключение клиентов (отключение сокетов).
— Получение и отправку данных.
Исходники: https://github.com/valualit/QTcpServer01
Клиент-серверный чат, используя сокеты Qt/C++
Предисловие
Статья ориентирована в основном на новичков. Целью ее написания является быстрое и максимально подробное описание сокетов, для начального понимания сети и сокетов. В свое время искал подобную, но нужны были подробные примеры. В стандартном примере fortune server/client, который идет с qt очень плохо показывают возможности сокетов.
Итак, сервер умеет:
- «Слушать» произвольный адрес, порт
- Авторизовать клиента по имени
- Отправлять общие, приватные, серверные сообщения
- Отправлять список пользователей
Для понимания это будут Гуи-приложения:
В qt существуют классы QTcpSocket и QTcpServer для работы с сокетами. Используя сигналы и слоты, с ними можно работать в неблокирующем (асинхронном режиме). Это значит, если подключение к серверу занимает заметное количество времени, гуи не блокируется, а продолжает обрабатывать события, а когда произойдет подключение (либо ошибка), вызовется определенный слот (в текущем случае подключенный к сигналу connected()).
Работа с сокетами в Qt
Введение
Как-то несколько лет назад, на одном из форумов, я нашел такую замечательную фразу — «Каждый уважающий себя программист в жизни должен написать свой чат-клиент». Тогда мои знания не позволяли сделать это. Я просто улыбнулся и прошел мимо этой фразы. Но вот совсем недавно я столкнулся именно с данной проблемой — нужно было написать свой чат. Ну а так как последнее время мой интерес был направлен на изучение и разработку Qt-приложений, на чем будет сделан он, решилось само собой.
Как разрабатываются и производятся процессоры: основы архитектуры компьютеров
Мы воспринимаем центральный процессор как «мозг» компьютера, но что это значит на самом деле? Что именно происходит внутри миллиардов транзисторов, благодаря которым работает компьютер? В нашей новой мини-серии из четырёх статей мы рассмотрим процесс создания архитектуры компьютерного оборудования и расскажем о принципах его работы.
В этой серии мы расскажем о компьютерной архитектуре, проектировании процессорных плат, VLSI (very-large-scale integration), производстве чипов и тенденциях будущего в области вычислительной техники. Если вам было интересно разобраться в подробностях работы процессоров, то начинать изучение лучше с этой серии статей.
Мы начнём с очень высокоуровневого объяснения того, чем занимается процессор и как строительные блоки соединяются в функционирующую конструкцию. В том числе мы рассмотрим процессорные ядра, иерархию памяти, предсказание ветвлений и другое. Во-первых, нам нужно дать простое определение тому, что делает ЦП. Простейшее объяснение: процессор следует набору инструкций для выполнения определённой операции над множеством входящих данных. Например, это может быть считывание значения из памяти, затем прибавление его к другому значению, и наконец сохранение результата в память по другому адресу. Это может быть и нечто более сложное, например, деление двух чисел, если результат предыдущего вычисления больше нуля.
Программы, например, операционная система или игра, сами по себе являются последовательностями инструкций, которые должен выполнять ЦП. Эти инструкции загружаются из памяти и в простом процессоре выполняются одна за другой, пока программа не завершится. Разработчики программного обеспечения пишут программы на высокоуровневых языках, например, на C++ или на Python, но процессор не может их понимать. Он понимает только единицы и нули, поэтому нам нужно каким-то образом представить код в этом формате.
Создаём датчик контроля качества воздуха на InfluxDB, Grafana, Docker и Raspberry Pi
От 5 до 7 и ведерко кофе
Проблемы, так или иначе связанные со сном, обсуждают на ТВ и в YouTube, на форумах и в пабликах. Говорят об этом и у нас в Plarium Krasnodar. Хотя утренняя очередь к кофемашинам заменяет тысячи слов.
Мы решили провести мини-исследование и рассказать вам, как обстоят дела со сном у игроделов. Также под катом вы найдете выжимку из лекции, которую подготовил один из наших сотрудников: что нужно, чтобы выспаться, «скорая помощь» при недосыпе и другие советы.
Информация
- В рейтинге
- Не участвует
- Зарегистрирован
- Активность