Как стать автором
Обновить
9
0
Александр Заславский @AlexZas20

Студент

Отправить сообщение

Веб-консоль для загрузчика U-Boot

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров11K

В данной статье я расскажу, как совместил U-Boot и TCP/IP стек LWIP, и c использованием LWIP написал веб-консоль на WebSocket, очень простой DHCP-сервер и HTTP-сервер. Код лежит на репозиториях U-Boot и LWIP.

Читать далее
Всего голосов 72: ↑72 и ↓0+72
Комментарии15

Пишем надстройку для Excel на .NET с помощью библиотеки Excel-DNA

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров4.9K

Excel-DNA - библиотека для .NET, с помощью которой можно написать и собрать полностью самодостаточный файл надстройки для Excel с расширением .xll
Этот файл достаточно положить в пользовательскую папку, без прав администратора, и просто включить в настройках Excel.

Такая надстройка будет иметь доступ к COM-модели Excel, C API Excel - позволяет взаимодействовать с интерфейсом программы и рабочими книгами. Сможет реализовать пользовательские формулы и добавить свое меню на интерфейсную ленту Ribbon UI.

В статье я расскажу как написать свою формулу для Excel на C#. Собрать и установить свою первую надстройку.

Читать далее
Всего голосов 12: ↑12 и ↓0+12
Комментарии13

Ломаем хаскелем Brainfuck

Уровень сложностиСложный
Время на прочтение28 мин
Количество просмотров10K

Немного о bfc


Brainfuck — очень глупый язык. Там есть лента из 30к ячеек, по байту каждая. Команды bfc это:


  • Передвижение по ленте влево и вправо (символы < и >)
  • Увеличение и уменьшение значения в ячейке (символы + и -)
  • Ввод и вывод текущей ячейки (символы . и ,)
  • И цикл while, который продолжается пока значение в текущей ячейке не ноль. [ и ] это начало и конец цикла соответственно

Программировать на bfc сложно. Но, как известно, любую проблему можно решить добавлением слоя абстракции (кроме проблемы большого количества абстракций).

Читать дальше →
Всего голосов 84: ↑84 и ↓0+84
Комментарии17

Метод персон на примере проектирования ПО для аренды шашлычных беседок

Уровень сложностиСредний
Время на прочтение15 мин
Количество просмотров3.5K

При проектировании программ кто-то использует методику Алана Купера, а кто-то считает всё это баловством. Те, кто пользуются, тоже используют её по-разному. Предлагаю посмотреть полусерьёзный пример такой проектной работы и подискутировать о том, работает это или нет.

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

Это же кто-то использует, да?
Всего голосов 6: ↑4 и ↓2+2
Комментарии2

Что не так с OpenAPI?

Уровень сложностиСложный
Время на прочтение7 мин
Количество просмотров35K

Как мы боролись с документированием API на наших проектах, и как мы немного сошли с ума

У вас на проекте порядок с документацией на API? Скорее всего нет. И в нашей компании порядка не было.

Не будем рассказывать, к каким печальным последствиям приводит ошибочная, устаревшая или вовсе отсутствующая API-документация. Почему же на большинстве проектов не удаётся решить такой, казалось бы, несложный вопрос?

Читать далее
Всего голосов 55: ↑47 и ↓8+50
Комментарии100

Создание DSL на Python с библиотекой textx

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров4.9K

Для описания объектов и процессов в терминах бизнес-логики, конфигурирования и определения структуры и логики в сложных системах популярным подходом является использование предметно-специфических языков (Domain Specific Language - DSL), которые реализуются либо через синтаксические особенности языка программирования (например, с использованием средств метапрограммирования, аннотаций/декораторов, переопределения операторов и создания инфиксных операторов, как например в Kotlin DSL) или с помощью применения специализированных инструментов разработки и компиляторов (например, Jetbrains MPS или парсеров общего назначения, таких как ANTLR или Bison). Но существует также подход реализации DSL, основанный на синтаксическом разборе и одновременной кодогенерации для создания исполняемого кода по описанию и в этой статье мы рассмотрим некоторые примеры использования библиотеки textx для создания DSL на Python.

Читать далее
Всего голосов 13: ↑13 и ↓0+13
Комментарии1

Домашний NAS сервер

Время на прочтение6 мин
Количество просмотров55K

Домашний NAS сервер на 10 жестких дисков для личного использования на базе Linux

Когда имеется большой объем файлов, который необходимо хранить на одном домашнем сервере с низким энергопотреблением, малыми габаритами, невысоким тепловыделением и бесперебойным питанием, а также с большим количеством жестких дисков...

Читать далее
Всего голосов 113: ↑108 и ↓5+129
Комментарии94

Стенгазета на Rust с E-Ink и ChatGPT

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров5.9K

Самодельная автоматически обновляющаяся газета на E-Ink с использованием Rust и ChatGPT — как вам такой DIY?

Читать далее
Всего голосов 30: ↑30 и ↓0+30
Комментарии12

Безграничные возможности FFmpeg на примерах

Уровень сложностиПростой
Время на прочтение12 мин
Количество просмотров53K

FFmpeg — швейцарский нож для мультимедиа. Совершенно незаменимая программа, которую использует в повседневной жизни почти каждый, даже не зная об этом. Например, вы сняли видео и заливаете на видеохостинг — оно перекодируется и публикуется уже в другом разрешении/формате/размере. Как вы думаете, какая программа выполнила транскодирование? Вполне возможно, что под капотом на сервере работает FFmpeg.

FFmpeg объединяет более 300 видео/аудио/графических кодеков, декордеров, муксеров, демуксеров и фильтров. Благодаря ему вы можете написать собственный видеоплеер в тысячу строчек кода, не разбираясь с кишочками видеообработки.

Это «движок» почти всех современных инструментов для обработки/сжатия/редактирования видео. Они просто предлагают графический интерфейс с кнопками, а ffmpeg делает реальную работу.
Читать дальше →
Всего голосов 101: ↑98 и ↓3+127
Комментарии84

Реверс-инжиниринг искусного двоичного сложения в нейросети

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров4K


Много внимания в последнее время уделяют крупным нейронным сетям с миллиардами параметров, и это не случайно. Комбинируя множество параметров с мощными архитектурами, такими как трансформеры и диффузия, нейросети способны достичь удивительных высот. Под катом — к старту нашего флагманского курса по Data Science — разберём, как именно работает маленькая нейросеть-сумматор. Возможно, это удивит вас.

Читать дальше →
Всего голосов 15: ↑11 и ↓4+9
Комментарии11

Чем заменить телевизор

Время на прочтение6 мин
Количество просмотров19K

После определенных событий, произошедших за последние несколько месяцев, начал задумываться о замене телевидения себе и своим близким. Очевидно самый простой вариант это покупка ТВ приставки с Android на борту, однако взглянув на цены и предлагаемое железо, идея отпала.

Читать далее
Всего голосов 24: ↑20 и ↓4+20
Комментарии79

Хостинг размером с монетку. Самые маленькие компьютеры 2022 года

Время на прочтение7 мин
Количество просмотров27K

Раньше компьютер занимал комнату, потом шкаф, потом коробку на столе. Сегодня не проблема взять одноплатник с кредитки и собрать ПК произвольной конфигурации: это будет маршрутизатор или NAS, сервер для управления IoT или хранения файлов.

Несколько лет назад на рынке появились сантиметровые «кубики» типа NanoPi и VoCore. Миниатюрный компьютер под Linux (c WiFi, Ethernet и карточкой microSD) можно установить в любом месте дома или офиса — его почти никто не заметит.
Читать дальше →
Всего голосов 39: ↑36 и ↓3+46
Комментарии51

Виртуальный COM-порт на STM32 или как управлять контроллером через USB не привлекая внимания санитаров

Время на прочтение24 мин
Количество просмотров28K

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

как же оно всё-таки работает
Всего голосов 28: ↑26 и ↓2+34
Комментарии9

Химия вместо гадания: перекись водорода из кофейной гущи

Время на прочтение12 мин
Количество просмотров5.2K


Не будет преувеличением, если сказать, что фактически у каждого в аптечке есть перекись водорода. Любой порез или царапина часто следовали одной и той же схеме обработки: перекись, зеленка, пластырь. Кто в детстве любил и умел находить приключения на одно место, а потому получал травмы разной степени тяжести, прекрасно помнит пощипывание и вспенивание перекиси на «вавке» и возмущенные причитания родителей. Помимо первой помощи H2O2 применяется и в косметологии, и в пищевой промышленности, и даже при разработке электроники. Проблема в том, что современные методы получения столь полезного вещества крайне сложны и затратны. Посему ученые из Токийского университета (Япония) предложили использовать то, что также частенько встречается в каждом доме, а именно кофе и чай. Как именно эти напитки помогают в синтезе H2O2, при чем тут бактерии, и насколько новый метод эффективен? Ответы на эти вопросы мы найдем в докладе ученых. Поехали.
Читать дальше →
Всего голосов 18: ↑18 и ↓0+18
Комментарии3

Принципы домашнего танкостроения

Уровень сложностиПростой
Время на прочтение33 мин
Количество просмотров37K

Хотели бы свой дистанционно управляемый танк? В этой статье я расскажу про общие принципы танкостроения из доступных материалов.

Читать далее
Всего голосов 79: ↑78 и ↓1+95
Комментарии49

Создание своей эргономичной клавиатуры, часть 3: оживляем её

Время на прочтение13 мин
Количество просмотров15K

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

лудим, паяем, прошиваем
Всего голосов 27: ↑27 и ↓0+27
Комментарии33

Как создать редактор кода для 40+ языков с помощью React

Время на прочтение16 мин
Количество просмотров9.3K

Подробностями разработки онлайн-платформы выполнения и компиляции кода более чем на 40 языках делимся к старту курса по Frontend-разработке. Автор этого материала — основатель TailwindMasterKit.

Читать далее
Всего голосов 8: ↑5 и ↓3+3
Комментарии3

boop! Необычные эффекты по ховеру или введение в React-Spring

Время на прочтение13 мин
Количество просмотров8.5K

Анимация при наведении – прекрасный способ сделать приложение динамичным и отзывчивым. Это мелочь, но именно такие детали в итоге могут сделать продукт классным.

По результатам неофициального опроса в Twitter poll было решено назвать этот эффект «boop». В этом уроке для intermediate-пользователей React мы разберём, как его реализовать.

Boop!
Всего голосов 8: ↑8 и ↓0+8
Комментарии1

(Само)Убийственная концентрация. Почему проваливаются планы на гиперэффективность

Время на прочтение8 мин
Количество просмотров8.6K

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

Почему так? Откуда дискомфорт и как неправильная концентрация может убить желание повышать свою эффективность – порассуждаем в данной статье.

Читать далее
Всего голосов 15: ↑13 и ↓2+12
Комментарии7

USB over IP для личного использования: организовываем клиент-серверный комплекс на Linux и Windows

Время на прочтение7 мин
Количество просмотров59K

Привет, Хабр! В прошлой статье мы рассмотрели историю и принцип работы технологии USB over IP, узнали, как ее применяют на базе готового аппаратного решения.

Для личного использования, однако, аппаратное решение скорее не подойдет: нужно приобретать дорогостоящее оборудование, что нецелесообразно. Поэтому под катом рассказываю, как организовать клиент-серверный комплекс USB over IP на современных ОС и автоматизировать этот процесс.
Читать дальше →
Всего голосов 65: ↑65 и ↓0+65
Комментарии12
1

Информация

В рейтинге
Не участвует
Откуда
Рига, Латвия, Латвия
Дата рождения
Зарегистрирован
Активность