Рубрика «Программирование» - 33
Создаем свой собственный язык программирования с использованием LLVM. Часть 1: Лексический и синтаксический анализ
2023-01-28 в 14:38, admin, рубрики: c++, LLVM, open source, Компиляторы, ПрограммированиеОсваиваем TypeScript: 21 лучшая практика при написании кода
2023-01-27 в 13:00, admin, рубрики: javascript, ruvds_перевод, TypeScript, Блог компании RUVDS.com, лучшие практики, Программирование, программирование для начинающихTypeScript является популярным открытым языком программирования, идеально подходящим для современной разработки. За счёт своей продвинутой системы типов он позволяет писать более надёжный, обслуживаемый и масштабируемый код. Однако, чтобы задействовать весь потенциал этого языка и создавать высококачественные проекты, важно понимать лучшие практики и следовать им.
В этой статье мы углубимся в мир TypeScript и изучим 21 лучшую практику, с помощью которых вы сможете повысить свой навык работы с этим языком. Эти практики охватывают широкий спектр тем и сопровождаются конкретными вариантами применения в реальных проектах. Независимо от того, являетесь ли вы начинающим либо опытным разработчиком на TS, эта статья даст вам ценное понимание и рекомендации, которые помогут писать более чистый и эффективный код.Читать полностью »
Хватит использовать [a-zа-яё]: правильная работа с символами и категориями Unicode в регулярных выражениях
2023-01-27 в 12:15, admin, рубрики: regex, regexp, Программирование, Разработка веб-сайтов, регулярное выражение, Регулярные выражения, Совершенный код, типографикаUnicode – это набор символов, целью которого является определение всех символов и глифов всех человеческих языков, живых и мертвых. Поскольку всё больше и больше программ должны поддерживать несколько языков или просто любой язык, юникод в последние годы приобретает всё большую популярность. Использование различных наборов символов для разных языков может быть слишком обременительным для программистов и пользователей.
К сожалению, юникод привносит свои требования и подводные камни, когда речь заходит о регулярных выражениях.
Поддержка юникод-совместимых регулярных выражений
«Кандидат сбежал в слезах»: 5 главных вопросов для собеседования на Python разработчика
2023-01-26 в 14:48, admin, рубрики: python, python3, Карьера в IT-индустрии, Программирование, сарказм, собеседование, собеседование вопросы, собеседования задачи, Совершенный код, управление персоналомВ июле и августе 1991 года я, с подачи Гвидо Ван Россума, проводил технические интервью на позицию Middle Python Backend developer. И, видимо, буду вынужден продолжать проводить, о чём ниже.
Задача формулировалась как «найти человека, который сможет задать и поддерживать высокий уровень профессионализма в применении языка Python». Под эту задачу я сформировал новый опросник вместо того, которым пользовался несколько дней — старый имел слишком жесткий закос под промышленное программирование.
И вот что я хочу сказать вам, коллеги: вы меня огорчаете.
Язык программирования Rave
2023-01-22 в 8:51, admin, рубрики: Rave, Ravelang, компилятор, Компиляторы, Программирование, Свой компилятор, свой язык программированияПриветствую всех читателей данной статьи.
Тут я постараюсь описать год усердной, тяжёлой работы на моим собственным компилятором языка программирования Rave.
Предыстория
Я уже много раз делал различные языки программирования - их создания стало для меня чем-то вроде хобби после учёбы.
Однако все мои языки программирования вплоть до Rave были не очень удачными - некоторые были слишком сложны в использовании, некоторые имели неудобный синтаксис и низкую скорость работы.
Игра «Жизнь» — как собрать произвольный шаблон всего из 15 глайдеров
2023-01-21 в 9:09, admin, рубрики: life, Игры и игровые консоли, исследование, комбинаторика, математика, Научно-популярное, ПрограммированиеВ сообществе игры «Жизнь», изобретённой Джоном Конвеем, отмечали знаковое достижение, совершённое 9 ноября 2022 года. Идея, на воплощение которой ушли годы – проект «обратный шестометатель» — наконец дошла до той стадии, когда в наличии имелись все компоненты для этой сущности, позволявшие достичь заявленной цели.
Цель проста. Выбираем любой шаблон, который можно собрать в «Жизни» - например, ТихоходкуЧитать полностью »
Строим OCR-ферму на базе айфонов для скрапинга мемов в Интернете
2023-01-20 в 9:45, admin, рубрики: DIY, diy или сделай сам, elasticsearch, hardware, ocr, postgres, Raspberry, Программирование, распознавание текстаКаждый, кто провел какое-то время в Интернете хорошо представляет насколько популярным стало использование мемов в онлайне. Находить новые мемы о последних событиях и делиться ими с друзьями, — это мое давнее времяпрепровождение.
Большинству мемов свойственна ироническая двойственность: чем более они нишевые, тем более забавными они кажутся. Некоторые из лучших мемов — это просто глупые шутки между моими друзьями или из невероятно нишевой индустрии информационной безопасности.
Подводные камни компараторов в С++
2023-01-18 в 10:54, admin, рубрики: c++, debug, qa, qa testing, testing, алгоритм, Алгоритмы, баг, Блог компании «Лаборатория Касперского», компаратор, математика, отладка, Программирование, разработка, тестирование, тестирование веб-приложений, тестирование по
Чаще всего при сортировке объектов пользовательских типов написание кода сравнения элементов коллекции не вызывает вопросов. Компаратор должен возвращать true, если первый аргумент меньше второго, то есть в отсортированном массиве первый аргумент должен идти перед вторым. Алгоритмы сначала вызывают компаратор для пары элементов x и y. Если компаратор вернул true, значит, элемент x меньше y и он должен идти в коллекции перед элементом y, если false, то компаратор вызывается повторно для пары y и x. Если компаратор опять вернул false, значит, элементы равны, иначе порядок определен.
Меня зовут Олег Игнатов, я — Development Team Lead в команде KICS (Kaspersky Industrial CyberSecurity) «Лаборатории Касперского». Мы защищаем промышленные инфраструктуры и сети от специализированных киберугроз. В этой статье расскажу о некоторых особенностях использования компараторов в С++, знание которых позволит не наступить на различные грабли и сэкономить время при разборе багов.
Читать полностью »
Два модема
2023-01-16 в 22:37, admin, рубрики: usb, баги, модем, Программирование, Разработка под LinuxВведение
В процессе разработки прошивок для маршрутизаторов на линуксах, время от времени попадаются "интересные" баги. Такие от которых через три дня хочется рвать волосы в самых неожиданных местах. Об одной из таких проблем и пойдёт речь дальше.
Завязка
Большинство наших маршрутизаторов имеют на борту LTE-модем. Некоторые — сразу два. Тут был как раз такой случай. Новые маршрутизаторы у нас появляются довольно часто, так что технология отработана: раз, проверили что всё включается, два, адаптировали device tree, три, отдаём тестировщикам для поиска всякого интересного.