Рубрика «Программирование» - 40

Статья Хилла Уейна, автора почтовой рассылки «Компьютерные штучки», которая посвящена формальным методам и применению математики в программировании, истории и культуре программного обеспечения, философии и теории программирования, а также всяким экзотическим штукам и нишевым темам. В общем, рекомендуем.

В прошлом выпуске рассылки Уейн игрался с языком программирования J, который работает как арифметический калькулятор в консоли, и пошутил по ходу дела:

Я столько времени трачу на интерактивные вычисления, что даже не мог оторваться от этих функций… Может, мне просто хорошенько освоить Excel?

Пошутив про офисную программу, Хилл Уейн решил действительно посмотреть на неё поближе… и был поражён увиденным: «Это как найти сундук с сокровищами у себя на чердаке», — пишет он. И перечисляет некоторые новые функции современного Excel, о которых мало кто знает.
Читать полностью »

Lavritech V7.1 Lite: младший брат Wirenboard на ESP32 - 1

В своём блоге я рассмотрел десятки контроллеров разных компаний, среди которых Kincony, Norvi, RobotDyn, LILYGO и т. д., всё это замечательные изделия, но есть у них одна общая черта — все они созданы зарубежными производителями. Само по себе это неплохо, но хотелось бы уже познакомиться с чем-то, созданным нашими IT-умельцами.

На самом деле, в России разрабатывается и производится множество различных и весьма интересных контроллеров, сегодня мы познакомимся с одним из них — это контроллер Lavritech V7.1 Lite на основе ESP32, созданный для рынка DIY автоматизации. То есть как раз того направления, которое интересно мне и постоянным читателям моего блога.

Lavritech V7.1 Lite интересен ещё и тем, что совместим с блоками популярной экосистемы контроллеров Wirenboard и имеет необычную модульную архитектуру, что резко выделяет его на фоне ранее рассмотренных «обычных» контроллеров. По сути, это «младший брат Wirenboard» на ESP32 с архитектурой а-ля IBM PC, но только в мире контроллеров.

Ну и ещё одна отличная новость: для того, чтобы узнать об этом чуде инженерной мысли, вам достаточно просто нажать на кнопку «Читать дальше», что я и предлагаю вам незамедлительно сделать (уже завидую).

Итак, приступим…
Читать полностью »

О чём тут не будет: напоминания базовых конструкций языка и основных моментов о том, как с ними работать; подробного разбора, как работают исключения (писали тут и тут); как грамотно спроектировать ваш класс/программу, чтобы не наломать дров в будущем с гарантией исключений (разве что совсем чуть-чуть, хотя я сам и не очень-то тук-тук).

О чём будет: разные способы обработки ошибок в C++, несколько советов от сообщества и немного заметок о различных жизненных (и не очень) ситуациях.

Текущее состояние дел

Читать полностью »

Вводная часть

Сегодня мы хотим рассказать о Pingora, новом HTTP-прокси, который мы создали своими силами, используя Rust, и который обслуживает более 1 триллиона запросов в день, повышает нашу производительность и предоставляет множество новых возможностей для клиентов Cloudflare, требуя при этом лишь треть ресурсов процессора и памяти от объема ресурсов нашей предыдущей инфраструктуры прокси.

Читать полностью »

Команда Rust рада сообщить о новой версии языка — 1.64.0. Rust — это язык программирования, позволяющий каждому создавать надёжное и эффективное программное обеспечение.

Если у вас есть предыдущая версия Rust, установленная через rustup, то для обновления до версии 1.64.0 вам достаточно выполнить команду:

rustup update stable

Если у вас ещё нет rustup, то можете установить его со страницы на нашем веб-сайте, а также ознакомиться с подробным описанием выпуска 1.64.0 на GitHub.

Если вы хотите помочь нам протестировать будущие выпуски, вы можете использовать beta (rustup default beta) или nightly (rustup default nightly) канал. Пожалуйста, сообщайте обо всех встреченных вами ошибках.

Читать полностью »

Откуда появляются новые Биткоины

Биткоин имеет ограниченное предложение и еще не все монеты находятся в циркуляции. Единственный способ создать новые монеты, это майнинг — механизм добавления данных в блокчейн.

Протокол Биткоина фиксирует максимальное предложение монеты в количестве 21.000.000 BTC. Об этом говорит код, приведенный ниже. Переменная MAX_MONEY является константой, которая равна 21.000.000, умноженному на COIN. COIN равен количеству Сатоши в 1 Биткоине, т.е. Читать полностью »

И так, формулировка задачи следующая: есть база данных, в ней хранится информация о дорогах, включая координаты, нужно реализовать построение маршрутов из начальной точки к конечной.

Как хранить сеть дорог в БД для построения маршрута? - 1

Построение маршрутов - задача распространенная, и, как для каждой распространённой задачи, для неё давно существуют реализации. Мне нравится GraphHopperЧитать полностью »

Всем привет! Мы небольшой командой уже несколько лет разрабатываем 2D стратегию Norland — симулятор средневекового королевства.

Игра двухмерная, разрабатывается на Game Maker Studio 2 и во время работы я столкнулся с множеством задач а-ля «должно быть красиво». Где-то пришлось придумать свой велосипед, где-то повезло наткнуться на описание решения похожих задач.

В свое время меня очень вдохновила статьяЧитать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js