пятница, 25 ноября 2016 г.
Бесплатные технические книги в электронном виде
Коллекция ссылок на бесплатные (не ворованные) технические книги собрана на ресурсе devfreebooks.github.io. Там есть книги по различным языкам разработки, фреймворкам, протоколам. Некоторые книги доступны для скачивания, а некоторые только для чтения онлайн.
Posted by
Kirill V. Lyadvinsky
обновлено:
2016-11-25T05:28:13Z
Labels:
books
,
favourites
понедельник, 8 августа 2016 г.
Польза архитектуры для создания безопасных продуктов

Завтра (9 августа 2016) выступаю в Летней школе CTF с лекцией о пользе архитектурных артефактов для создания безопасных решений. Пока выяснял как туда лучше доехать выяснил интересный факт из жизни Подмосковья:
- Маршрут Зеленоград — Университет Дубна: около 140 км на автомобиле и примерно 5 часов на общественном транспорте.
- Маршрут Зеленоград — Мариинский театр: около 680 км на автомобиле и примерно 5 часов на общественном транспорте.
Видео доклада:
Posted by
Kirill V. Lyadvinsky
обновлено:
2022-05-12T06:39:16Z
Labels:
архитектура
,
доклады
,
разное
понедельник, 1 августа 2016 г.
Создаем и публикуем модуль Python

В прошлый раз я описал шаги по освоению Питона для разработчика С++. Теперь, разобравшись с основами, можно начинать создавать свои первые проекты. Как и в других языках для этой цели разработчики используют какой-либо фреймворк, который зачастую определяет структуру программы, но этот путь может быть опишу в другой раз. Сегодня посмотрим на структуру типичного пакета Python.
Posted by
Kirill V. Lyadvinsky
обновлено:
2022-11-11T13:01:54Z
Labels:
Cplusplus
,
firststeps
,
programming
,
python
,
SETUP
,
tutorial
понедельник, 6 июня 2016 г.
Мой путь из C++ в Python

Posted by
Kirill V. Lyadvinsky
обновлено:
2022-05-12T06:41:06Z
Labels:
Cplusplus
,
firststeps
,
programming
,
python
,
tutorial
вторник, 17 мая 2016 г.
hex dump

Постоянные пользователи Vim наверняка слышали об утилите xxd. Она позволяет вывести дамп указанного файла. Выглядит это следующим образом:
$ xxd -l 64 db.sqlite3 0000000: 5351 4c69 7465 2066 6f72 6d61 7420 3300 SQLite format 3. 0000010: 0400 0101 0040 2020 0000 0013 0000 0024 .....@ .......$ 0000020: 0000 0000 0000 0000 0000 0017 0000 0004 ................ 0000030: 0000 0000 0000 0000 0000 0001 0000 0000 ................Параметр -l 64 указывает, что нужно вывести только первые 64 байта. Есть еще один любопытный параметр (-i), который позволяет сгенерировать код, и его можно сразу вставлять в C или C++ файл:
$ xxd -i -l 64 db.sqlite3 unsigned char db_sqlite3[] = { 0x53, 0x51, 0x4c, 0x69, 0x74, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x20, 0x33, 0x00, 0x04, 0x00, 0x01, 0x01, 0x00, 0x40, 0x20, 0x20, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00 }; unsigned int db_sqlite3_len = 64;Параметров для генерации кода для других языков не предусмотрено. Но это поправимо. Например, мне понадобилось вставить код в модульные тесты на Python 3. Помог в этом потоковый редактор sed:
$ xxd -l 64 -g 1 -u db.sqlite3 | sed -e 's/.\+: /b"\\x/g' -e 's/ .*/"/g' -e 's/ /\\x/g' b"\x53\x51\x4C\x69\x74\x65\x20\x66\x6F\x72\x6D\x61\x74\x20\x33\x00" b"\x04\x00\x01\x01\x00\x40\x20\x20\x00\x00\x00\x13\x00\x00\x00\x24" b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x17\x00\x00\x00\x04" b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00"И кстати, вскоре я поделюсь опытом как быстро начать писать программы на Python.
Книги по теме:
Posted by
Kirill V. Lyadvinsky
обновлено:
2022-05-12T06:42:05Z
вторник, 5 апреля 2016 г.
В Visual Studio добавилась поддержка сборки под Linux

Итак, в Visual Studio теперь можно компилировать и отлаживать проекты под Linux. Можно было бы подумать, что это первоапрельская шутка, но нет — новость была выложена 30 марта. Кроме того, я уже попробовал — это реально работает.
Visual Studio использует доступ по ssh на удаленную машину с Linux. Туда автоматически копируются необходимые исходные файлы, которые потом там же и компилируются. При необходимости запускается gdbserver для организации удаленной отладки. Все это делается незаметно и не требует ручной настройки. Надо учитывать, что это самая первая версия и для продакшена пока не годится.
На первый взгляд видятся следующие недостатки:
- Копирование файлов на удаленную машину не выглядит безопасным. Канал конечно защищен, но вот сама удаленная машина может контролироваться потенциальным нарушителем.
- Копирование большого проекта может занять продолжительное время.
- На удаленной машине элементарно может не быть места для всех сорсов и объектных файлов.
Также пока не реализовано отображение стандартного вывода в Output в самой Visual Studio. То есть, программа удаленно работает и что-то пишет в консоль, но прочитать это нельзя. Но этот недостаток скоро исправят, так как он уже есть в бэклоге команды разработки.
Подробнее: https://blogs.msdn.microsoft.com/vcblog/2016/03/30/visual-c-for-linux-development/
Posted by
Kirill V. Lyadvinsky
обновлено:
2022-11-11T13:02:11Z
Labels:
Linux
,
programming
,
VisualStudio
,
Windows
воскресенье, 3 апреля 2016 г.
Сценарии как развитие идеи сторимаппинга

Директор небольшой брокерской фирмы Юрий сидел в офисе, который он арендовал в модном коворкинге вместе со своими немногочисленными сотрудниками. Компания последнее время показывала очень хорошие результаты. Престижное экономическое образование позволило самостоятельно построить успешную компанию, а вот как обезопасить основной капитал – базу клиентов – от участившихся хакерских атак собственными силами Юрий не знал. Своим сотрудникам Юрий доверял, но они часто работали из дома, из кафе, да и местный администратор Илья не вызывал доверия, наверное из-за бороды и черной футболки.
Posted by
Kirill V. Lyadvinsky
обновлено:
2022-11-11T13:02:24Z
Labels:
аналитика
,
бизнес-анализ
,
продукт
,
сценарии
,
требования
,
Agile
понедельник, 28 марта 2016 г.
Использование UTF-8 в исходных кодах

Некоторые время назад возникла задача проверить совместимость компиляторов с исходными файлами в представлении UTF-8 с маркером и без него. Маркер BOM был придуман для индикации порядка байт в машинных словах. Несмотря на то, что UTF-8 — это байтовый поток и такой маркер не имеет большого смысла в его первоначальном понимании, многие утилиты корректно работают только при наличии маркера в файле. Для обозначения UTF-8 в начало файла вставляется последовательность EF16, BB16, BF16. Файлы в кодировке UTF-8 без маркера неотличимы от ASCII файлов, если используются только 7-битные символы.
В результате эксперимента исследовались файлы в вариантах Unicode (UTF-8 with signature) – Codepage 65001 и Unicode (UTF-8 without signature) – Codepage 65001 для Visual Studio 2013, Visual Studio 2008 и Visual Studio 2014 CTP2. Для полноты сравнения в системе Linux была проведена аналогичная проверка с компилятором GNU C++ 4.7.2. В качестве редактора в Linux использовался vi с опциями set [no]bomb для получения файлов с маркером и без него.
Posted by
Kirill V. Lyadvinsky
обновлено:
2022-05-12T06:44:38Z
Labels:
C++0x
,
Cplusplus
,
gcc
,
localization
,
programming
,
utf8
,
VisualStudio
вторник, 16 февраля 2016 г.
Как получить финансирование для ваших проектов

Коллеги из компании «Инфотекс» рассказали, что открывается конкурс научно-технических проектов в рамках программы поддержки исследователей в области информационной безопасности, криптографии и телекоммуникаций «ИнфоТеКС Академия 2016».
Программа предоставляет возможность получить поддержку интересного научного проекта, а также предлагает ряд перспективных тем для исследований и разработки. К участию в программе приглашаются студенты, аспиранты, отдельные разработчики, а также научные коллективы.
Размер вознаграждения за выполненный проект — до 500 тысяч рублей, что немало даже с текущим курсом доллара.
Заявки на участие принимаются онлайн до 31 марта 2016 года включительно. Подробнее о конкурсе можно почитать на сайте Академии.
Posted by
Kirill V. Lyadvinsky
обновлено:
2022-11-11T13:02:39Z
Labels:
вакансии
,
объявление
,
работа
,
разное
,
infotecs
среда, 27 января 2016 г.
git через корпоративный прокси

Есть вы находитесь за корпоративным прокси, то, возможно, сталкивались с проблемой ограничения доступа во внешнюю сеть по некоторым протоколам. Да что некоторым — часто режут все, кроме HTTP(S). Это создает проблему при выкачивании исходников проектов с GitHub, Bitbucket и других площадок. Собственно, сам проект можно выкачать указывая в пути https:// адрес вместо git://. Но с внешними модулями проекта так не пройдет. Тут остается править все пути в .gitmodules, что плохо, так как будет постоянно возникать вопрос слияния при обновлении этого файла на сервере.
Но есть и другой способ. Можно сказать git, чтобы он автоматически подменял при чтении конфига все вхождения git:// на https://. Для этого достаточно ввести в консоли следующую команду:
$ git config --global url."https://github.com/".insteadOf git://github.com/
Posted by
Kirill V. Lyadvinsky
обновлено:
2022-11-11T13:02:47Z
Подписаться на:
Сообщения
(
Atom
)