пятница, 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
Этот текст кратко поясняет как мне удалось быстро начать писать программы на Python. Все, что описывается, основывается на личном опыте и ощущениях, и поэтому может не описывать тот самый единственно верный путь. Тем не менее, изложенная информация агрегирует знания, которые пришлось собрать, чтобы создавать собственные проекты на Python. Для начала не огромные высокопроизводительные системы, но и на C++ вы тоже не сразу стали выдавать шедевры. Если у кто-то посчитает, что тут не хватает важных вещей, о который обязательно нужно сказать, то в комментариях можно это отметить.
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
)