Во всем мире активно применяется текстовый формат CSV (Comma Separated Value – значения, разделенные запятыми) и многие программы умеют работать с этим форматом. Да, формат прост, легко читается человеком и без проблем парсится, но что если, за такую простоту и наличие библиотек во всех языках программирования, мы получаем кучу различных проблем, а иногда и багов? Что если нужен такой же формат табличных данных, но данные должны быть в бинарном виде?
Читать далееЗащищая наше авторство: обращение к читателям
Дорогие читатели,
Мы хотим поделиться с вами важной информацией, касающейся нашего контента. К сожалению, мы обнаружили, что некоторые статьи, ранее опубликованные на нашем старом домене, были использованы на другом ресурсе без нашего разрешения. Эти материалы были слегка изменены, вероятно, обработаны нейросетью, но остаются легко узнаваемыми для наших постоянных читателей. При этом авторство не указано, а ссылки на наш сайт отсутствуют.
Мы хотим заверить вас, что предпринимаем все необходимые меры для защиты наших авторских прав. Мы стремимся обеспечить, чтобы наш контент использовался только с нашего согласия, с обязательным указанием авторства и ссылки на оригинальный источник. Мы всегда поддерживали идею свободного обмена информацией, однако считаем важным соблюдать этические нормы и уважать труд авторов.
Эта ситуация стала для нас важным уроком, и мы признаем, что это наш недосмотр. В будущем мы будем стараться уделять больше внимания защите нашего контента. Кроме того, мы намерены продолжать радовать вас интересными и уникальными материалами, чтобы вы всегда находили что-то новое и полезное на нашем сайте.
Мы надеемся, что администраторы упомянутого ресурса отреагируют конструктивно и исправят эту ситуацию. Мы очень ценим вашу поддержку и понимание. Если вы встретите наши статьи на других платформах без указания авторства или ссылки на наш сайт, пожалуйста, сообщите нам. Ваша помощь бесценна в борьбе за соблюдение авторских прав.
Спасибо, что остаетесь с нами. Мы продолжаем работать над созданием качественного контента и надеемся, что вы будете и дальше находить наши статьи полезными и интересными.
С уважением, команда LightHouse Software.
Предотвращение запуска более одного экземпляра приложения
В некоторых ситуациях возникает необходимость предотвратить запуск более одного экземпляра приложения. Это может быть полезно для защиты от нежелательного поведения, конкуренции за ресурсы, нарушения логики работы и других подобных проблем. Для решения этой задачи можно использовать системные API Windows или POSIX.
Читать далееРеализация PolymurHash на D
В этой статье мы представим свою попытку реализации интересного алгоритма хэширования PolymurHash. Этот алгоритм представляет собой хэш-функцию с очень низкой вероятностью коллизии, а из-за малого размера хэша и некоторых ухищрений создателей такая функция подойдет для реализации хэш-таблиц.
Оригинальный алгоритм был написан на C99, который мы быстро портировали в D, о чем расскажем ниже.
Читать далееРасширенная система мнемонических обозначений для записи/запоминания психотехник
Сегодня в нашем блоге впервые статья от искусственного интеллекта (ИИ), но с нашей собственной идеей и почти без корректировок. В этой статье ИИ от Mistral обрисует нашу расширенную систему для описания психотехник (а не только дыхательных упражнений).
Если интересно, то добро пожаловать в статью (следующая статья будет по D и написана нами) …
Читать далееПарсим дыхательные формулы
В прошлой статье мы рассказали про придуманную нами систему обозначений для дыхательных “движений” и в ней мы показали интересную систему, которая не связана с программированием и D. На самом деле – эта система изначально задумывалась и как средство написания “программ для мозга” (с некоторыми доработками, если захотите, то расскажем подробнее отдельно), и как набор символов, который можно быстро разобрать с помощью тривиального скрипта.
И о том, как сделать разбор без библиотек, кроме стандартной и пойдет речь далее…
Читать далееСистема символьных обозначений для психотехник
В этой статье мы сделаем небольшую попытку разработки символьных обозначений для не совсем обычной цели. Обозначения, которые мы хотим предложить, предназначены для упрощения описания дыхательных упражнений или техник релаксации. Сама система обозначений проста и скорее всего требует улучшений, также мы заранее предупреждаем о том, что наша система предназначена для ознакомительных целей и что мы не несем никакой ответственности за ее ненадлежащее применение.
Читать далееТип Option в D
Иногда, находишь нечто довольно удобное, даже в том, что тебе кардинально не нравится. Так было и со мной, поскольку работая над некоторым проектом, я осознал, что мне нужно нечто такое чего нет в D, но встроено в Rust. Он мне по некоторым причинам не нравится, в частности, тем что из-за его прихода был уничтожен проект на D, но тем не менее в Rust есть здравые идеи.
Одной из такой идей, был тип, который позволяет в зависимости от ситуации или хранить некоторое значение, или показывать отсутствие этого значения. Называются такие типы обычно или Maybe, или в случае Rust, Option. Данные типы позволяют преодолеть некоторые концептуальные проблемы и могут в целом сделать код чище.
В этой статье мы реализуем свой вариант типа Option и я немного расскажу о том, чем это может быть полезно вам.
Читать далееПерцептивный хэш в ppmformats
В этой статье мы рассмотрим, как можно реализовать алгоритм перцептивного хэширования на языке программирования D, используя библиотеку ppmformats для работы с PPM изображениями. Также мы покажем каждый шаг алгоритма и объясним, как он работает и как можно использовать этот вид хэширования на практике.
Читать далееПростой пример использования inline assembler в D
Сегодня мы попробуем применить один из интересных инструментов, встроенных в D, а именно про встроенный (или как еще его называют inline) ассемблер. Поскольку D – системный язык программирования, то его создали встроили в него ассемблер для осуществления прямого взаимодействия с системой и оборудованием. Более того, ассемблер является частью спецификации самого D, что не может не радовать.
Читать далее