static int ParseNumber(const char* tx)
{
....
else if (strlen(tx) >= 4 && (strncmp(tx, "%eps", 4) == 0
|| strncmp(tx, "+%pi", 4) == 0 || strncmp(tx, "-%pi", 4) == 0
|| strncmp(tx, "+Inf", 4) == 0 || strncmp(tx, "-Inf", 4) == 0
|| strncmp(tx, "+Nan", 4) == 0 || strncmp(tx, "-Nan", 4) == 0
|| strncmp(tx, "%nan", 4) == 0 || strncmp(tx, "%inf", 4) == 0
))
{
return 4;
}
else if (strlen(tx) >= 3
&& (strncmp(tx, "+%e", 3) == 0
|| strncmp(tx, "-%e", 3) == 0
|| strncmp(tx, "%pi", 3) == 0 // <=
|| strncmp(tx, "Nan", 3) == 0
|| strncmp(tx, "Inf", 3) == 0
|| strncmp(tx, "%pi", 3) == 0)) // <=
{
return 3;
}
....
}
Пользователь
Petya и другие. ESET раскрывает детали кибератак на корпоративные сети

Использование Python и Excel для обработки и анализа данных. Часть 2: библиотеки для работы с данными
Как читать и редактировать Excel файлы при помощи openpyxl
ПЕРЕВОД
Оригинал статьи — www.datacamp.com/community/tutorials/python-excel-tutorial
Автор — Karlijn Willems
Эта библиотека пригодится, если вы хотите читать и редактировать файлы .xlsx, xlsm, xltx и xltm.
Установите openpyxl using pip. Общие рекомендации по установке этой библиотеки — сделать это в виртуальной среде Python без системных библиотек. Вы можете использовать виртуальную среду для создания изолированных сред Python: она создает папку, содержащую все необходимые файлы, для использования библиотек, которые потребуются для Python.
Перейдите в директорию, в которой находится ваш проект, и повторно активируйте виртуальную среду venv. Затем перейдите к установке openpyxl с помощью pip, чтобы убедиться, что вы можете читать и записывать с ним файлы:
Использование Python и Excel для обработки и анализа данных. Часть 1: импорт данных и настройка среды
Как при помощи запекания энтузиасты восстанавливают магнитные ленты

В 80-х и 90-х годах прошлого века системы резервного копирования на магнитной ленте были очень популярны из-за их относительно большой емкости и доступной цены. В то время многие были уверены, что лента с резервной копией, которая хранится где-то в дальнем углу шкафа, будет в приличном состоянии даже спустя годы, и ее можно будет прочитать.
Сейчас технологии ушли далеко вперед, о магнитной ленте уже многие забыли, но информация, которая на них хранится, может представлять определенный интерес. Поэтому находятся энтузиасты, которые ищут способы эту информацию считать.
Команда Strand Games, которая в этом году была основана соучредителем Magnetic Scrolls Хью Стирсом и поклонником интерактивной фантастики Стефаном Мейером, в этом году взялась за восстановление игрового кода Magnetic Scrolls, чтобы оживить текстовые квесты и создать новые инструменты проектирования игр жанра Interactive Fiction с открытым исходным кодом. Компания уже выпустила восстановленную версию первой игры Magnetic Scrolls 1985 года The Pawn.
Энергия, связывающая всё воедино
Когда ученикам начинают преподавать физику, в этот тип энергии включается то, что учителя называют «потенциальной энергией». Но поскольку слово «потенциальная» в английском [и русском] языках означает не то же самое, что в физике, и поскольку то, каким образом преподносят эту концепцию, сильно отличается от современной физической точки зрения, я предпочитаю использовать для этой энергии другое название – чтобы она не связывалась с имеющимися у читателя представлениями, правильными или неправильными.
Настройка отступов в VIM
Магия SSH
Оглавление:
1) Local TCP forwarding
2) Remote TCP forwarding
3) TCP forwarding chain через несколько узлов
4) TCP forwarding ssh-соединения
5) SSH VPN Tunnel
6) Коротко о беспарольном доступе
7) Спасибо (ссылки)
Интернет-контрразведка в действии: создаем персональную систему менеджмента информационной безопасности
В предыдущих статьях мы рассматривали разведывательные способы добывания информации о человеке в интернете, но ни разу не затронули тему защиты от подобных действий со стороны наших недоброжелателей. Теперь время пришло, и мы это сделаем. Перед погружением в сегодняшнюю тему небольшой дисклеймер:
Все события и участники являются вымышленными. Любые совпадения случайны. Автор не несет ответственности за любые негативные последствия в случае внедрения рассматриваемых контрмер, в том числе физические травмы, полученные в результате неконтролируемого приступа ревности, возникшего у вашей второй половинки. Помните: усиление мер защиты может привлечь ненужное внимание и вызвать подозрения.
Как «пробить» человека в Интернет: используем операторы Google и логику
В очередной статье нашего цикла публикаций, посвященного интернет-разведке, рассмотрим, как операторы продвинутого поиска Google (advanced search operators) позволяют быстро находить необходимую информацию о конкретном человеке.
В комментариях к первой нашей статье, читатели просили побольше практических примеров и скриншотов, поэтому в этой статье практики и графики будем много. Для демонстрации возможностей «продвинутого» поиска Google в качестве целей были выбраны личные аккаунты автора. Сделано это, чтобы никого не обидеть излишним интересом к его частной жизни. Хочу сразу предупредить, что никогда не задавался целью скрыть свое присутствие в интернете, поэтому описанные методы подойдут для сбора данных об обычных людях, и могут быть не очень эффективны для деанонимизации фэйковых аккаунтов, созданных для разовых акций. Интересующимся читателям предлагаю повторить приведенные примеры запросов в отношении своих аккаунтов и оценить насколько легко собирать информацию по ним.
Что в имени тебе моем: как качественно «пробить» человека в сети Интернет?
Советы и подсказки по bash
1. Потеря истории команд
Если открыть окно терминала и ввести несколько команд, а после открыть второе окно, то история команд bash во втором окне не будет содержать команд из первого. К тому же, если закрыть первый терминал, а затем второй, то история команд из первого терминала будет перезаписана вторым. Вдвойне неприятно!
Так происходит из-за того, что история команд записывается только при закрытии терминала, а не после каждой команды. Это можно исправить.
15 малоизвестных команд Linux
Aptly — создание собственного репозитория
Софт предназначен для работы на торговых точках, которые распределены географически.
Изначально ПО предоставлялось клиентам как набор deb пакетов под разные дистрибутивы и архитектуры со списком пакетов, которые нужно установить как зависимости до инсталляции этих deb файлов.
Хочу рассказать, каким был путь эволюции от распространения файлов через ftp до создания репозитория и запуска системы управления конфигурациями и начала внедрения в работу сервера непрерывной интеграции.
Юникод для чайников

Сам я не очень люблю заголовки вроде «Покемоны в собственном соку для чайников\кастрюль\сковородок», но это кажется именно тот случай — говорить будем о базовых вещах, работа с которыми довольно часто приводить к купе набитых шишек и уйме потерянного времени вокруг вопроса — «Почему же оно не работает?». Если вы до сих пор боитесь и\или не понимаете Юникода — прошу под кат.
О стандартах документации

Существует тьма статей на тему «как писать документацию», но если вы решили взяться за неё в первый раз, то в новой для вас области не сразу понятно, дело ли пишет автор, или отсебятину выдумывает.
Для того чтобы сформировать своё мнение без перелопачивания статей, можно пойти двумя путями: довериться некому авторитету или посмотреть в стандарты – уж там-то с наибольшей вероятностью проблему обдумали со всех сторон.
Ведется массовая атака криптором Wana decrypt0r 2.0
В настоящий момент можно наблюдать масштабную атаку трояном-декриптором "Wana decrypt0r 2.0"
Атака наблюдается в разных сетях совершенно никак не связанных между ссобой.
A ransomware spreading in the lab at the university (отсюда)
Некоторые компании советуют своим пользователям выключить свои компьютеры и ждать дальшейших инструкций.
Продвинутый Gulp и Browserify: интересные трюки
Однако все то, что было в статье, было по крайней мере малоизвестно, а половина ее была вообще уникальна, как я уверен, и каждый из этих советов может ощутимо облегчить работу с gulp, поэтому мне действительно было бы жаль, если этот материал безвозвратно пропал бы.
Поэтому я постарался убрать все упоминания проекта и повторно публикую (с доработками и правками) статью, которую по сути никто еще не видел. Если вы фанат grunt — почитайте хотя бы вторую часть: то, что вы не любите gulp, не значит, что вы не любите browserify.
Краткое содержание:
- Простой способ обработки ошибок;
- Универсальная структура для хранения исходных файлов;
- Объединение нескольких потоков (например, скомпилированный coffee и js) в один;
- Создание потока из текста;
- создание собственных плагинов для Browserify;
- создание плагинов из плагинов Gulp для Browserify.
Gulp.watch: ловим ошибки правильно
watch
, при котором запускается специальный демон для автоматической пересборки файлов сразу после их сохранения. Также он есть и gulp.js, но с некоторыми особенностями, делающими работу с ним немного сложней. Работа gulp.js основана на обработке файлов как потоков данных (streams). И ошибки в потоках не всегда можно перехватить, а когда ошибка случается, то будет выброшено неперехваченное исключение и процесс завершится.Чтобы этого не происходило, и watcher мог игнорировать отдельные ошибки и запускаться снова и снова при сохранении файлов, в gulp нужно сделать несколько дополнительных настроек, о которых и расскажется в этой статье.
Масштабируемые JavaScript приложения
Пришло время ответить на данный вопрос. Я немного затянул т.к. хотел рассказать доклад на одноименную тему на Я.Субботнике. Доклад был очень коротким многие важные моменты пришлось выкинуть. Статья — более-менее полная версия.
Эта статья о том, как сделать крупное веб-приложение расширяемым и поддерживаемым: архитектура, подходы, правила.
Information
- Rating
- Does not participate
- Location
- Санкт-Петербург, Санкт-Петербург и область, Россия
- Date of birth
- Registered
- Activity