Рубрика «source code»
Эволюция ПО в разработке игр на практике: 1981 — IBM PC, Софт и игра
2026-01-29 в 6:16, admin, рубрики: 1981, BASIC, basica, github, IBM PC, ms basic, source codeКак сделать правильную раскраску кода на «Хабре» и почему это так сложно
2019-11-19 в 8:35, admin, рубрики: highlight, idea, source code, Блог компании CUSTIS, хабрахабр
Несколько месяцев назад я опубликовал свой первый пост на «Хабре». Возможно, кто-то из вас заметит, что код в статье раскрашен необычным образом, а главное — раскрашен правильно, несмотря на то, что встроенный редактор текстов на сайте не поддерживает исходную разметку кода и часто подсвечивает его элементы некорректно. При этом код не вставлен картинкой, как делают некоторые совсем отчаявшиеся писатели.
В моем случае сохранить разметку было особенно важно, поскольку статья представляла собой описание работы над кодом. Чтобы решить проблему, я создал инструмент, позволяющий перенести подсветку кода в выбранной схеме из IDEA в статью на «Хабре». Я расскажу о процессе создания инструмента и об особенностях его использования.
Читать полностью »
PVS-Studio в гостях у Apache Hive
2019-08-15 в 7:12, admin, рубрики: Apache Hive, big data, bugs, devops, DevSecOps, errors, Hadoop, Hive, java, open source, pvs-studio, pvsstudio, SAST, source code, static code analysis, static code analyzer, баги, базы данных, Блог компании PVS-Studio, информационная безопасность, открытые проекты, ошибки, статический анализ кода
Последние десять лет движение open source является одним из ключевых факторов развития IT-отрасли и важной ее составной частью. Роль и место open source не только усиливается в виде роста количественных показателей, но происходит и изменение его качественного позиционирования на IT-рынке в целом. Не сидя сложа руки, бравая команда PVS-Studio активно способствует закреплению позиций open source проектов, находя затаившиеся баги в огромных толщах кодовых баз и предлагая для таких проектов бесплатные лицензии. Эта статья не исключение! Сегодня речь пойдет об Apache Hive! Отчет получен — есть на что посмотреть!
Читать полностью »
CodeRainbow: интерактивное изучение и документирование кода
2018-10-01 в 18:59, admin, рубрики: code, programming, source code, tools, я пиарюсь
Часто программистам приходится разбираться с чужим незнакомым кодом. Это может быть и изучение интересных проектов с открытым кодом, и необходимость по работе — в случае присоединения к новому проекту, при анализе большого объема legacy кода и т.д. Думаю, каждый из вас сталкивался с этим.
У меня в процессе такой работы всегда остро ощущалась необходимость некоего инструмента, специально заточенного для облегчения процесса быстрого погружения в большие объемы незнакомого кода. Со временем появлялись все новые интересные задумки в разных областях, и все они требовали изучения больших объемов чужого кода. Децентрализованные сети, криптовалюты, компиляторы, операционные системы — все это большие проекты, требующие изучения значительных объемов кода. В какой-то момент я решил: надо просто взять и сделать этот специальный инструмент. В этой статье я представляю вашему вниманию то, что получилось в результате.
Читать полностью »
Еще одна реализация регистронезависимого поиска по кириллическим символам в SQLite
2017-12-12 в 6:52, admin, рубрики: C, cyrillic, source code, sqlite, sqlite3Доброго времени суток, Хабровчане!
Проблема поиска по русским символам в SQLite давно уже стала притчей во языцех, причины ее появления довольно подробно описаны здесь. Впрочем, есть довольно распространенные решения данной проблемы, самым популярным из которых является подключение ICU, библиотеки, с помощью которой можно реализовать полноценный поиск по Unicode. Но мне хотелось более короткого в плане кода решения чтобы в результате поиск был:
- регистронезависимым;
- по русским и английским символам;
- игнорирование символа ё/Ё при поиске;
- быстрым;
- использовал встроенный NOCASE collation.
Декомпиляция RNC ProPack длиной в 5 лет
2017-10-02 в 12:40, admin, рубрики: C, dosbox debugger, motorola 68000, python, rnc, source code, исходники, реверс-инжинирингПриветствую, друзья!

В данном материале я расскажу Вам, как на протяжении нескольких лет занимался реверсом 46 КБ (кажется — всего то!) исполняемого файла от AmigaOS, узнал много нового для себя, испробовал множество разных технологий, и, в итоге, добился своего — превратил декомпилированный Motorola M68000 ассемблерный код в C-шный код, которым может воспользоваться любой желающий.
Сборка nginx: CentOS 6.8, документы и грабли
2016-11-12 в 14:15, admin, рубрики: centos 6, install, nginx, source codeНедолюбливаю пакеты redhat. Они небезопасны: любой пакет можно изучить заранее; они не дают должного контроля, в отличие от сборки, поэтому предпочитаю последнюю. Однако есть в пакетах и кое-что хорошее, о чём скажу ниже. Кажется, собрал из исходников сервер – «молодец», статья зачем?
Документация пока упускает существенные детали, а статьи с рекомендациями, как лучше, во-первых, разрознены и, как правило, не цельны, а во-вторых отсылают к далёким источникам, тогда как на самом деле всё под рукой. Я предлагаю решение. Вместе с тем, покажу несколько удобных, на мой взгляд, вспомогательных функций bash для сборки как таковой. Кроме того, сборочный скрипт будет «из коробки» прятать версию и имя сервера, делая это, конечно же, на уровне исходников, а не директивы server_tokens, так что не нужно никакой коммерческой подписки. Интересно?
Читать полностью »
Изучаем дерево исходников Windows 10: от телеметрии до open source
2016-03-22 в 9:38, admin, рубрики: open source, source code, windows, Блог компании Positive Technologies, реверс-инжиниринг
Насколько бы закрытым ни было программное обеспечение Microsoft, информации о своем внутреннем устройстве оно выдает предостаточно. К примеру, экспорт функций из библиотеки по именам дает представление о ее интерфейсах. В свободном доступе есть и отладочные символы, которые повсеместно используются для диагностики ошибок в ОС. Однако на руках у нас все равно имеются только скомпилированные бинарные модули. Становится интересно: а какими они были до компиляции? Давайте попробуем разобраться, как вытащить побольше информации об исходных кодах, не делая ничего незаконного.Читать полностью »
Моноширинные шрифты с программистскими лигатурами
2014-11-12 в 10:25, admin, рубрики: source code, исходный код, лигатуры, Программирование, редактор кода, типографика Программисты любят псевдографику. В любом языке полно составных знаков: ->, <=, ++, :=. По смыслу это один символ, но составленный из нескольких более простых. Мозгу требуются дополнительные усилия на то, чтобы считать и объединять такие конструкции на лету. Когда-нибудь, возможно, всех спасет Юникод, где символов хватит на сто языков вперед — если придумают удобный способ ввода и отомрет всё легаси. Но пока нам приходится читать и писать код в ASCII.
Казалось бы, дело швах. Но в апреле 2014 года Ian Tuomi придумал изящный выход: заменять часто встречающиеся последовательности лигатурами. Моноширинность при этом не ломается (если сделать ширину лигатуры кратной количеству символов, в нее входящих), код тоже не портится (лигатуры — чисто визуальная фича). Зато можно вместо -> нарисовать настоящую стрелочку. Это сильно облегчает мозгу сканирование и токенизацию кода: там, где по смыслу один символ, теперь и нарисован один символ. Самое главное, что это работает с любым, даже уже написанным кодом.
Читать полностью »

