Я всю свою жизнь пользовался калькуляторами HP RPN, и мне жаль, что RPN-версии больше не производят. Они были упразднены в угоду стандартным инфиксным калькуляторам. Тем не менее я всегда хотел иметь HP15c, но вот никак не подворачивался случай его купить. Так что это моя первая попытка создать его самостоятельно.Читать полностью »
Рубрика «ruvds_перевод» - 28
15с, 16c или 41c – вам какой? Собираем собственный эмулятор калькулятора HP
2021-12-19 в 14:00, admin, рубрики: arduino uno, atmega328, diy или сделай сам, ruvds_перевод, Блог компании RUVDS.com, калькулятор hp, программирование микроконтроллеров, старое железо, Электроника для начинающихЯ всю свою жизнь пользовался калькуляторами HP RPN, и мне жаль, что RPN-версии больше не производят. Они были упразднены в угоду стандартным инфиксным калькуляторам. Тем не менее я всегда хотел иметь HP15c, но вот никак не подворачивался случай его купить. Так что это моя первая попытка создать его самостоятельно.Читать полностью »
Как работают коды Spotify?
2021-12-08 в 13:00, admin, рубрики: python, ruvds_перевод, Spotify, uri, Алгоритмы, Блог компании RUVDS.com, звук, реверс-инжиниринг, штрихкодКоды Spotify подобны QR-кодам. Их можно генерировать для того, чтобы делиться песнями, исполнителями, плейлистами и пользователями. Я решил разобраться в принципе их действия, в результате чего проделал извилистый путь по истории штрихкодов, патентам, сниффингу пакетов, коррекции ошибок и кодам Грея.Читать полностью »
Углубленное знакомство с пространствами имен Linux. Часть 2
2021-12-05 в 10:00, admin, рубрики: linux, namespaces, ruvds_перевод, Блог компании RUVDS.com, контейнеризация, Настройка Linux, Разработка под Linux, системное администрированиеВ предыдущей части мы разобрали, чем являются пространства имен, и какую роль они играют в современных системах, после чего познакомились с двумя их видами: PID и NET. Во второй и заключительной части материала мы изучим пространства имен USER, MNT, UTS, IPC и CGROUP, а в завершении объединим полученные знания, создав полностью изолированную среду для процесса.Читать полностью »
Cи в роли промежуточного языка
2021-11-25 в 13:00, admin, рубрики: C, c++, forth, ruvds_перевод, Блог компании RUVDS.com, отладкаИнтересный небольшой эксперимент по использованию Cи в качестве цели компиляции для получения портативности программы, ее оптимизации и функциональной совместимости. В ходе эксперимента мы также напишем саму программу, реализующую алгоритм Эвклида, выполним ее отладку и профилирование, а также попутно задействуем функцию «красивой» печати gdb. Читать полностью »
Новые возможности C#10: атрибут CallerArgumentExpression
2021-11-24 в 13:01, admin, рубрики: C#, c#10, CallerArgumentExpression, ruvds_перевод, Блог компании RUVDS.com, Программирование, разработкаCallerArgumentExpression
говорят уже много лет. Предполагалось, что он станет частью C# 8.0, но его внедрение в язык отложили. А в этом месяце он, наконец, появился — вместе с C# 10 и .NET 6.
Поиск проблемных промисов в JavaScript
2021-11-22 в 13:00, admin, рубрики: javascript, ruvds_перевод, Блог компании RUVDS.com, разработка, Разработка веб-сайтовАсинхронность означает возможность написания кода, который не подвержен обычным проблемам, связанным с потокобезопасностью, и поддерживает выполнение множества задач в «параллельном» режиме. Например — ожидание считывания файла не блокирует другие вычисления.
Но небольшие ошибки в асинхронном коде могут приводить к появлению неразрешённых промисов. То есть — к участкам кода, выполнение которых, однажды начавшись, никогда не завершается.
Мы столкнулись с этой проблемой, когда в пуле соединений нашей базы данных knex постоянно заканчивались доступные соединения, после чего происходил сбой сервиса. Обычно в рамках соединения выполняется запрос, после чего оно возвращается в пул и может быть использовано для выполнения другого запроса.
Эти соединения что-то захватывало.
Речь идёт о кодовой базе в миллионы строк кода, которой в течение нескольких лет занимались десятки программистов. Может — проблема заключается в неразрешённых промисах? Я решил исследовать этот вопрос.
Читать полностью »
Блокчейн на Python
2021-11-17 в 13:07, admin, рубрики: python, ruvds_перевод, Блог компании RUVDS.com, децентрализованные сети, разработкаЦель этого материала заключается в том, чтобы выявить отличия языков. Его можно считать Python-дополнением к исходной статье.
Несмотря на то, что исходная статья появилась на свет после того, как её автор ознакомился с примером блокчейн-разработки на Python, мне хотелось написать Python-код, который как можно более точно воспроизводит JavaScript-код из статьи. Это позволит сопоставить реализацию блокчейна на разных языках.
Я, кроме того, собираюсь сделать так, чтобы моя реализация блокчейна, как и в статье про JavaScript, тоже поместилась бы в 60 строк.
Читать полностью »
Printf("%s %s", внедрение, зависимостей)
2021-11-14 в 10:00, admin, рубрики: printf, ruvds_перевод, Блог компании RUVDS.com, Программирование, разработкаВ функциональном программировании смысл DI заключается в передаче функциям других функций.
Читать полностью »
Пошаговый запуск программы в Linux x86, или как добраться до main()?
2021-11-10 в 13:00, admin, рубрики: linux, ruvds_перевод, ассемблер, Блог компании RUVDS.com, отладка, отладка программ, Разработка под LinuxСтатья предназначена для тех, кто хочет понять процесс загрузки программ в Linux. В частности, здесь пойдет речь о динамической загрузке файлов ELF x86. На основе изложенной информации вы сможете лучше понять, как устранять проблемы, возникающие в программе еще до запуска main
. Читать полностью »