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

Небезопасный Rust сложнее C - 1


Для некоторых из вас содержание этой статьи окажется знакомым, особенно, если вы писали встраиваемый или unsafe код на Rust. Но я этого не делал, поэтому решил, что будет полезным задокументировать свой опыт максимально подробно. Так что предлагаю сразу перейти к делу.

В прошлом году я написал программу Photohash для индексации своего NAS и поиска дубликатов фото без использования хэширования, независимого от поворота изображения, и перцептивного хэширования. Чтобы полноценно задействовать все ядра процессора и диски, эта программа распределяет работу между воркерами, отвечающими за вычисления и ввод-вывод. Происходит это распределение по каналам, представляющим синхронизированные очереди задач. Читать полностью »

Знаете ли вы, в чём разница между 'Y' и 'y' символами в паттерне даты в Java? В этой статье мы рассмотрим, как неправильное форматирование даты может привести к ошибке, а также расскажем вам про нашу новую диагностику V6122 для языка Java, которая убережёт вас от внезапных путешествий во времени.

YYYY? yyyy! - 1

Вступление

Сдув пыль с нашего большого блокнота под названием "TODO", мы наткнулись на один очень интересный кейс. Потенциальную проблему нам описали в комментарии к статье.

Читать полностью »
Вот так терминал выглядит "в комплект (е" - справа STM32F103 c Бейсиком

Вот так терминал выглядит "в комплект (е" - справа STM32F103 c Бейсиком

Совсем коротенький рассказ - о довольно бесполезной но забавной штуковине, извините :)

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

Rust без прикрас: где мы ошибаемся - 1

Привет, исследователи Rust! Сегодня хочу поделиться своим опытом (не всегда радужным) работы с Rust. Да, язык классный, безопасный, быстрый — все мы это знаем. Но, как и в любом инструменте, здесь есть свои подводные камни, на которые я благополучно наступал.

Начнем с первой проблемы — злоупотребление unwrap() и expect().

Злоупотребление unwrap() и expect()

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

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

Базу данных какого рода можно собрать в Linux

В Linux доминируют текстовые файлы. В Linux есть экосистема и множество надёжных инструментов,  при помощи которых текстовые файлы удобно сцеплять — и очень многого добиться, оперируя такими файлами.

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

Разбор dos-подобной операционной системы. OzonOS - 1

Встретил на Хабре очередную статью об написании "простой операционной системы с нуля" и решил поделится своими потугами на эту тему.

Немного предыстории

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

Австралия, Лорд-Хау — самый странный часовой пояс - 1


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

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

Так что я предлагаю другой подход. В этой статье я покажу вам несколько странных часовых поясов, можно даже сказать самых странных — так как страннее, пожалуй, уже некуда.Читать полностью »

Давайте вернёмся в историческое прошлое и посмотрим на события периода с 1970 по 1976 годы глазами создателей языка логического программирования Prolog: Алана Колмероэ, Роберта Ковальски и Дэвида Уоррена.

Фото (слева-направо): Алан Колмероэ, Дэвид Уоррен, Роберт Ковальски.

Фото (слева-направо): Алан Колмероэ, Дэвид Уоррен, Роберт Ковальски.

Алан

Алан Колмероэ (Читать полностью »


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