Обновить
0
0
Vadim Toptunov@g0rd1as

Пользователь

Отправить сообщение

6 полезных ресурсов и сервисов для потенциальных эмигрантов в США, Германию и Канаду

Время на прочтение3 мин
Охват и читатели32K


С недавних пор я активно заинтересовался темой переезда за границу, и в связи с этим изучил существующие сейчас сервисы, которые оказывают помощь в переезде ИТ-специалистам. К моему удивлению, далеко не так много проектов помогают потенциальным иммигрантам. Пока что я отобрал шесть сайтов, которые показались мне интересными.
Читать дальше →

Взлом камер: векторы атак, инструменты поиска уязвимостей и защита от слежки

Время на прочтение6 мин
Охват и читатели56K
image

Камеры видеонаблюдения стали частью Интернета вещей и, как другие устройства с беспрепятственным доступом к сети, попали в фокус интереса хакеров. Миллионы IP-камер разных производителей открыты для злоумышленников.

Производители камер могут экономить на работе программистов и железе – покупатели получают дешевые устройства с ограниченными вычислительными ресурсами и огромными дырами в механизмах безопасности.

Прошивки массово-потребительских noname устройств не выдерживают никакой критики. Часто они никем не обновляются и не становятся защищеннее после смены дефолтного пароля. Более того, сам производитель может заложить бэкдор.

Далее рассмотрим основные направления атак на системы видеонаблюдения.

Управление памятью в Python

Время на прочтение10 мин
Охват и читатели18K
Всем привет! Вот и закончились длинные мартовские выходные. Первую послепраздничную публикацию мы хотим посвятить полюбившемуся многим курсу — «Разработчик Python», который стартует менее, чем через 2 недели. Поехали.

Содержание

  1. Память – пустая книга
  2. Управление памятью: от оборудования к программному обеспечению
  3. Базовая реализация Python
  4. Концепция глобальной блокировки интерпретатора (Global Interpreter Lock, GIL)
  5. Сборщик мусора
  6. Управление памятью в CPython:
    • Пулы
    • Блоки
    • Арены
  7. Заключение



Вы когда-нибудь задумывались как Python за кулисами обрабатывает ваши данные? Как ваши переменные хранятся в памяти? В какой момент они удаляются?
В этой статье мы углубимся во внутреннее устройство Python, чтобы понять, как происходит управление памятью.

Прочитав эту статью, вы:

  • Узнаете больше о низкоуровневых операциях, особенно касательно памяти.
  • Поймете, как Python абстрагирует низкоуровневые операции.
  • Узнаете об алгоритмах управления памятью в Python.

Знание внутреннего устройства Python даст лучшее понимание о принципах его поведении. Надеюсь, вы сможете взглянуть на Python с новой стороны. За кулисами происходит великое множество логических операций, чтобы ваша программа работала надлежащим образом.
Читать дальше →

Как делегировать простые отчеты роботу. Пишем бота на Python и Google BigQuery

Время на прочтение5 мин
Охват и читатели16K


Есть ли у вас задачи, которые повторяются изо дня в день, из недели в неделю? Например, написание отчетов. Вы запрашиваете данные, проводите анализ, визуализируете (делаете графики, диаграммы), а затем отправляете начальнику. Но что, если все это автоматизировать?

В этом туториале мы создадим бота для Telegram, который поможет автоматизировать отчетность. А самое классное — вся программа будет состоять всего из 50 строк кода! Если вы создаете бота для Telegram впервые, то стоит прочитать еще вот этот пост.
Читать дальше →

Несколько способов подделки PDF с цифровой подписью

Время на прочтение4 мин
Охват и читатели19K

Рис. 1. Процедура инкрементального сохранения, на которой основаны цифровые подписи PDF. По результатам тестирования, это самый эффективный способ подделки документов

Теоретически, цифровые подписи PDF надёжно удостоверяют автора документа. Но на практике обработку PDF обычно осуществляет проприетарный софт, который не совсем корректно выполняет проверку. Специалисты Рурского университета в Бохуме (Германия) описали несколько вариантов подделки PDF-документов с цифровой подписью, которые срабатывают в большинстве программ просмотра PDF и сервисов онлайновой проверки.

Защита от всех атак обеспечивается только в единственной программе, да и та работает под Linux.
Читать дальше →

История типизации на примере одного большого проекта

Время на прочтение5 мин
Охват и читатели6K
Всем привет! Сегодня я расскажу вам историю развития типизации на примере одного из проектов в Ostrovok.ru.



Эта история началась задолго до хайпа о typing в python3.5, более того, она началась внутри проекта, написанного еще на python2.7.

2013 год: совсем недавно был релиз python3.3, мигрировать на новую версию смысла не было, так как каких-то конкретных фичей она не добавляла, а боли и страдания при переходе принесла бы очень много.

Я занимался проектом Partners в Ostrovok.ru – этот сервис отвечал за все, что связано с партнерскими интеграциями, бронированиями, статистикой, личным кабинетом. У нас использовались как внутренние API для других микросервисов компании, так и внешнее API для наших партнеров.
Читать дальше →

Разбор задач. Бинпоиск_1

Время на прочтение3 мин
Охват и читатели36K

Здравствуйте, уважаемые хабровчане. Серия статей содержит разбор задач, которые дают в 8 классе на уроках информатики в Челябинском физико-математическом лицее №31. Немного истории… Наш лицей — одно из сильнейших учебных заведений России, который в рейтинге по конкурентоспособности выпускников занимает 5 место, уступив школам Москвы и Санкт-Петербурга. Ученики регулярно побеждают на олимпиадах всероссийского и международного уровня.
Данная статья лишена теории, она содержит только способы решения задач. Подробно про бинпоиск описано здесь.
Так вот, перейдем к задачам. Эти задачи подразумевают собой использование бинарного поиска, в том числе бинпоиска по ответам. Как мы знаем бинпоиск — это алгоритм поиска объектов по заданному признаку в множестве объектов. Применяем для отсортированных по возрастанию/убыванию списков. Всего 4 задачи, 2 из которых направлены на применение "алгоритма без изюминок".

Читать дальше →

Лаборатория хакера: Ч1. LibSSH auth bypass

Время на прочтение4 мин
Охват и читатели13K
Я начинаю цикл статей, посвященных разбору задач сервиса pentesterlab. К сожалению, у меня нет Про-версии курса, поэтому я ограничен только списком свободных задач. Каждый кейс — система, содержащая уязвимость, которой необходимо воспользоваться для достижения определенной цели.

Читать дальше →

Руководство по развертыванию моделей машинного обучения в рабочей среде в качестве API с помощью Flask

Время на прочтение13 мин
Охват и читатели30K
Друзья, в конце марта мы запускаем новый поток по курсу «Data Scientist». И прямо сейчас начинаем делиться с вами полезным материалом по курсу.

Введение

Вспоминая ранний опыт своего увлечения машинным обучением (ML) могу сказать, что много усилий уходило на построение действительно хорошей модели. Я советовался с экспертами в этой области, чтобы понять, как улучшить свою модель, думал о необходимых функциях, пытался убедиться, что все предлагаемые ими советы учтены. Но все же я столкнулся с проблемой.

Как же внедрить модель в реальный проект? Идей на этот счет у меня не было. Вся литература, которую я изучал до этого момента, фокусировалась только на улучшении моделей. Я не видел следующего шага в их развитии.



Именно поэтому я сейчас пишу это руководство. Мне хочется, чтобы вы столкнулись с той проблемой, с которой столкнулся я в свое время, но смогли достаточно быстро ее решить. К концу этой статьи я покажу вам как реализовать модель машинного обучения используя фреймворк Flask на Python.
Читать дальше →

Математика для Data Scientist: необходимые разделы

Время на прочтение3 мин
Охват и читатели101K
Математика — это краеугольный камень Data Science. Хотя некоторые теоремы, аксиомы и формулы кажутся слишком абстрактными и далекими от практики, на самом деле без них невозможно по-настоящему глубоко анализировать и систематизировать огромные массивы данных.

Для специалиста Data Science важны следующие направления математики:

  • статистика;
  • теория вероятностей;
  • математический анализ;
  • линейная алгебра.

В предыдущей статье «Data Science: книги для начального уровня» специалисты Plarium Krasnodar рекомендовали литературу по программированию на Python, а также по визуализации результатов и machine learning. В этой статье они предлагают подборку материалов и книг по математике, полезных в Data Science.


Читать дальше →

Как управлять конфликтами в команде

Время на прочтение6 мин
Охват и читатели19K
Мы разные, и у нас часто возникают конфликты – маленькие и серьезные. Плохая новость: избежать конфликтов на работе не получится. Хорошая: конфликтами можно управлять. Умение договариваться и доносить свои мысли людям на их языке – очень полезный навык. Он помогает экономить силы и достигать своих целей.

Какие конфликты бывают в компаниях? Как распознавать конфликты и управлять ими? Разбираемся вместе со Светланой Гончар, консультантом по организационному развитию бизнеса с опытом работы в IT больше 16 лет.


Читать дальше →

Об оценке и управлении разработкой программных продуктов

Время на прочтение13 мин
Охват и читатели17K
image

В институте учат алгоритмам, структурам данных, ООП. В хорошем случае могут рассказать о паттернах проектирования или многопоточном программировании. А вот про то, чтобы рассказывали как правильно оценивать трудозатраты, я не слышал.

Между тем, этот навык необходим любому программисту ежедневно. Работы всегда больше, чем можно выполнить. Оценка помогает правильно расставить приоритеты, а от каких-то задач вообще отказаться. Не говоря уже о таких бытовых вопросах как бюджетирование и планирование. Неверные оценки, наоборот, создают кучу проблем: заниженные — конфликтные ситуации, переработки и дыры в бюджетах, завышенные — отмены проектов или поиски других исполнителей.

Справедливости ради следует заметить, что в разработке гораздо более распространены заниженные оценки. Почему? Кто-то считает, что программисты слишком оптимистичны по своей натуре. Я добавлю к этому еще одну причину: быть хорошим программистом и быть хорошим оценщиком — не одно и тоже. Чтобы стать хорошим программистом одного желания не достаточно. Нужны знания и практика. С чего вдруг с оценкой будет по другому?

В статье я расскажу о том, как менялось мое отношение к оценке задач и как сейчас оцениваются проекты в нашей компании. А начну я с того, как оценивать не надо. Если про то как «не надо» вы уже знаете, переходите сразу ко второй части статьи.
Читать дальше →

Простейшая командная строка на NASM и QEMU

Время на прочтение9 мин
Охват и читатели25K

image


Итак, сразу к делу. Писать будем под Linux, на NASM и с использованием QEMU. Установить это легко, так что пропустим этот шаг.


Подразумевается, что читатель знаком с синтаксисом NASM хотя бы на базовом уровне (впрочем, ничего особо сложного здесь не будет) и понимает, что такое регистры.

Читать дальше →

Web Security Testing Starter Kit

Время на прочтение12 мин
Охват и читатели24K
Всем привет!

Меня зовут Андрей. Уже 10 лет я занимаюсь поиском уязвимостей в различных веб-сервисах. и готов поделиться своими знаниями с вами. В мае прошлого года я выступал с докладом про это на конференции Heisenbug, а теперь готов поделиться своими знаниями еще и здесь, на просторах Хабра. Итак, начнем.

Однажды я нашел уязвимость на серверах небезызвестной компании Facebook. Ребята забыли обновить ImageMagick (библиотеку по обработке изображений) и поплатились за это:) Этим примером я хотел показать, что все мы люди, и все можем допускать ошибки, неважно, в каких компаниях и на каких должностях мы работаем. Проблема только в том, что эти ошибки могут приводить к разного рода рискам.
Чем сложнее у вас приложение/сайт/инструмент, тем больше вероятность того, что что-то может пойти не так.
Проверять на уязвимости нужно. Глупо не делать этого совсем.
Читать дальше →

Основы PowerShell: определение конца строки с определенным символом

Время на прочтение1 мин
Охват и читатели8.3K

Знаете ли вы, что можно определить, заканчивается ли строка определенным символом или начинается с него в PowerShell? Томас Рейнер (Thomas Rayner) ранее поделился на CANITPRO.NET, как это легко сделать с помощью регулярных выражений (regular expressions) или, проще говоря, Regex.


Читать дальше →

Учимся всегда и везде! Подкасты для разработчиков на английском языке

Время на прочтение10 мин
Охват и читатели24K


Народная мудрость гласит, что учиться никогда не поздно. А в такой стремительно развивающейся отрасли, как ИТ, это просто жизненно необходимо. У большинства из нас учёба ассоциируется с лекциями в институте или с курсами повышения квалификации, где всегда нужно личное присутствие слушателя. Конечно, есть ещё и системы дистанционного обучения, но они тоже требуют постоянного сидения за компьютером.

А как быть если у вас между делами выдалось свободное время, и вы хотите узнать что-то новое? Здесь вас выручат подкасты. Их можно слушать всегда и везде, дома, на работе, в дороге и даже управляя автомобилем. Вы можете получать свежую информацию там, где вам удобно, главное, иметь под рукой смартфон или планшет, настроенный на нужный канал.

В этой статье мы собрали для вас внушительную и весьма интересную подборку англоязычных подкастов по ИТ-тематике, в которой постарались охватить все сферы деятельности, начиная от программирования и заканчивая машинным обучением, веб-дизайном и искусственным интеллектом.

Наша подборка русскоязычных подкастов: https://habr.com/ru/company/mailru/blog/437428/

Читать дальше →

Как исследователи обнаруживают открытые базы данных MongoDB и Elasticsearch

Время на прочтение3 мин
Охват и читатели15K

Какое-то время назад среди исследователей безопасности было очень «модно» находить неправильно сконфигурированные облачные хранилища AWS с разного рода конфиденциальной информацией. Я тогда даже опубликовал небольшую заметку про то, как обнаруживают открытые облачные хранилища Amazon S3.


Однако, время идет и акцент в исследовательских изысканиях сместился на поиск оставленных в открытом доступе баз данных. Более половины известных случаев крупных утечек данных за прошлый год — это утечки из открытых баз (обзор утечек за 2018 год тут и тут).



Сегодня попробуем разобраться как такие БД обнаруживаются исследователями безопасности…

Читать дальше →

Я просканировал всю Австрию и нашёл…

Время на прочтение3 мин
Охват и читатели29K

...IP-камеры, принтеры, АСУ ТП и многое другое


Отказ от ответственности: статья — результат нескольких недель работы. О самых больших проблемах я сообщил владельцам серверов, если смог их найти, а о других — в Cert.at. Кроме того, я не пытался войти ни на какое устройство/сервис/сайт, требующие пароль.

Прежде всего: как получить все IP-адреса целой страны?

Это очень просто. IP-адреса не «генерируются» страной, а назначаются центральным органом. Это означает, что существуют списки всех IP-адресов по странам.

Любой желающий может скачать такой список. Введите grep Austria IP2LOCATION-LITE-DB1.CSV > austria.csv и запустите простой скрипт для преобразования IP-адресов в удобный формат.
Читать дальше →

Практическая стеганография

Время на прочтение6 мин
Охват и читатели10K

Применение принципов стеганографии для решения реальных задач


Собственно, термин “стеганография” давно не вызывает вопросы, и в общем случае понятно, что речь идет о способах передачи скрытых данных внутри других, не скрытых. Правда, когда начинаются рассуждения про применимость этих способов, обычно предлагаются различные варианты сокрытия информации от неких злодеев, которые хотят ее (эту информацию) выявить и употребить. В этой статье предлагается посмотреть на стеганографию чуть шире, хотя, несомненно, задача «скрыть и не дать воспользоваться» — самая очевидная.
Читать дальше →

Электронная почта, взгляд изнутри

Время на прочтение112 мин
Охват и читатели14K
Работаю я системным администратором в одной фирме. И вот произошла интересная ситуация с отправкой к нам на электронную почту некоторой информации. Дабы не углубляться в подробности с реальной ситуацией (дело касается тендерных предложений, где огромное количество условий), приведу свой пример.
Читать дальше →

Информация

В рейтинге
Не участвует
Откуда
Нижний Новгород, Нижегородская обл., Россия
Дата рождения
Зарегистрирован
Активность