В этой статье я разберу монаду ContT, и покажу как вернуть return и другие control-flow операторы из императивных языков программирования, которых мне так нехватало, когда я начинал изучать хаскель.
Читать далееПривет, читатель! Это моя первая статья на Хабре. Прошу строго не судить.
Хочу рассказать свою историю. Меня зовут Марк, мне 14 (2009г). В свои 14 я зарабатываю сам и занимаюсь делом моей мечты.
Читать далееДля программирования FPGA нужна среда проектирования. Например, при использовании микросхем ПЛИС Altera/Intel мы используем САПР Intel Quartus Prime Software. Возможно, основная ценность технологии ПЛИС даже не сами микросхемы, а программное обеспечение, которое позволяет разместить Verilog HDL / VHDL проект по логическим блокам и развести связи между ними используя заданные временные ограничения.
Возможно ли использование open source инструментов для FPGA проектирования?
Я расскажу о своем опыте использования Yosys oss-cad-suite для платы Марсоход3GW-2 на базе ПЛИС китайской компании Gowin GW1NR-LV9QN88PC6/I5. Фото платы показано выше в начале статьи.
Читать далееДоступен Firefox 125. В последний момент перед выпуском была обнаружена критическая ошибка, поэтому релизом назначена версия 125.0.1.
( читать дальше... )
В статье рассматривается Continuous Deployment для БД с бесшовными релизами за счёт обратно-совместимых обновлений и автоматизации проверок совместимости с помощью подхода DB-First.
Читать далееПривет! Я Кирилл, фронтенд-разработчик в «Северстали» и выпускник курсов «Веб-разработчик» и «React-разработчик». Последние три года я проходил много собеседований, делал пометки о вопросах и задачах, чтобы поработать над ошибками.
Сейчас я собеседую других людей и вижу, что они допускают похожие ошибки. Хочу поделиться советами на основе своих наблюдений, как составлять резюме и проходить интервью, чтобы увеличить шансы на успех.
Читать далееСердце фреймворка Flutter (который для разработчиков часто представляется только в виде набора классов на языке Dart) написано на языке С и компилируется в двоичный артефакт, известный как Flutter Engine, подключаемый к приложению и используемый из Dart-классов через механизм нативного связывания (аннотации @pragma('vm:entry-point') для вызовов из Flutter Engine в Dart, @Native и external для обращения к C++ коду во Flutter Engine из Dart).
Но в действительности Flutter Engine не имеет никакого платформо-специфического кода (при этом собран под целевую аппаратную архитектуру) и не знает, как работает платформенный event loop, как создавать потоки, на какой поверхности выполнять отрисовку сцены и не может получать информацию о действиях пользователя (касание экрана, перемещение указателя мыши, нажатие клавиш) и системных событиях. Такое архитектурное решение было сделано для того, чтобы иметь возможность запускать Flutter-приложения потенциально на любом устройстве с экраном (даже светодиодной панелью). В этой статье мы поговорим про Flutter Embedder, его роль в запуске приложения и привязке к системным event loop, а также рассмотрим сборку простого embedder для публикации Flutter приложения как VNC-сервера.
Читать далееНедавно я столкнулся с тем, что потребовалось распечатать большое количество строительных смет, но в последний момент оказалось, что номер договора в них указан неверно, потому что в начале месяца он поменялся.
Так появилась задача однотипной замены номера договора и его даты в каждом из *.xlsx файлов, которые были расположены в папках, названных по адресу объекта. Таких папок было множество и некоторые ещё имели вложенные подкаталоги.
Ручной способ, который состоит из использования сочетания клавиш Ctrl + H хоть и позволял сделать замену во всей книге Microsoft Excel сразу, но подразумевал что придётся открыть каждый файл по отдельности, нажимать несколько раз (под замену не только номер, но и дата) сочетания клавиш для замены, сохранять книгу Экселя, закрывать книгу, открывать новую книгу. В общем совершать множество механических действий.
Я конечно же стал думать, как можно наиболее простым для себя способом сделать это множество автозамен. Выбор сразу пал на VBA - Visual Basic для приложений. Ведь при помощи VBA можно заставить Эксель делать то, чего он не умеет по умолчанию.
Так что в этой статье хочу показать пошаговое руководство по быстрой и массовой автозамене любых данных во множестве файлах Excel с помощью сценария VBA.
VBA Excel автозаменаВ программировании микроконтроллеров часто возникает задача найти угол между векторами.
Это всяческие встраиваемые системы, где есть подвижные, вращающиеся детали: PTZ камеры, поворотные платформы для радаров, турели, ветрогенераторы, солнечные панели, SDR обработка и прочее.
В данном тексте я приведу простое и понятное решение задачи вычисления угла между векторами на языке программирования Си.
29 мая 2023 года детектор LIGO Livingston наблюдал загадочный сигнал, названный GW230529. Он возник в результате слияния нейтронной звезды с неизвестным компактным объектом, скорее всего, необычайно лёгкой чёрной дырой. Имея массу, лишь в несколько раз превышающую массу нашего Солнца, объект попадает в «зазор меньшей массы» между самыми тяжёлыми нейтронными звёздами и самыми лёгкими чёрными дырами. Исследователи из Института гравитационной физики имени Макса Планка способствовали открытию благодаря точным моделям волновых форм, новым методам анализа данных и сложной технологии детекторов. Хотя это событие было замечено только благодаря гравитационным волнам, оно даёт основания ожидать, что в будущем больше подобных событий будет наблюдаться и с помощью электромагнитных волн.
Около 30 лет исследователи спорили о том, существуют ли объекты, масса которых попадает в «зазор» между массой самых тяжёлых нейтронных звёзд и массой самых лёгких чёрных дыр. Теперь учёные впервые обнаружили объект, чья масса попадает прямо в этот зазор, который считался практически пустым. «Это очень захватывающее время для исследований гравитационных волн, поскольку мы погружаемся в области, которые обещают изменить наше теоретическое понимание астрофизических явлений, в которых доминирует гравитация», — говорит Алессандра Буонанно, директор Института гравитационной физики Макса Планка в Потсдамском научном парке.
Читать далее