Как стать автором
Обновить
1
0

Студент-разработчик

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

Почему вам стоит участвовать в хакатонах

Время на прочтение7 мин
Количество просмотров54K


Примерно полтора года назад я начал участвовать в хакатонах. За этот временной промежуток я успел принять участие в более чем 20 мероприятиях различного масштаба и тематик в Москве, Хельсинки, Берлине, Мюнхене, Амстердаме, Цюрихе и Париже. Во всех мероприятиях я занимался анализом данных в том или ином виде. Мне нравится приезжать в новые для себя города, налаживать новые контакты, придумывать свежие идеи, реализовывать старые задумки за короткий промежуток времени и адреналин во время выступления и оглашения результатов.

Данный пост — первый из трех постов на тематику хакатонов, в нем я расскажу, что такое хакатоны, почему вам стоит начать участвовать в хакатонах. Второй пост будет о темной стороне данных мероприятий — про то как организаторы делали ошибки при проведении, и к чему они привели. Третий пост будет посвящен ответам на вопросы про около-хакатонную тематику.
Читать дальше →
Всего голосов 51: ↑46 и ↓5+41
Комментарии10

Интеграция Python и C++

Время на прочтение3 мин
Количество просмотров56K
Всем доброго времени суток!

Недавно при прототипировании одной из частей разрабатываемого нами продукта возникла одна интересная задача: нужно было проверить склейку Python и C++. Связано это было с тем, что основной код был написан на плюсах, и необходимо было подключить внешнюю библиотеку Websockets, написанную на Python (на тот момент не было соответствующей библиотеки на C++). Схема взаимодействия при такой задаче достаточно простая. Из C++ вызывается функция подключения к серверу (на python), в качестве параметра передается его адрес. Соответственно, при получении сообщния Python передавает его обратно в метод C++.
Читать дальше →
Всего голосов 24: ↑23 и ↓1+22
Комментарии13

Cicada 3301: кого и куда должны были отобрать загадки таинственной «Цикады»? Часть 2

Уровень сложностиПростой
Время на прочтение14 мин
Количество просмотров48K

В первой части рассказа о том, как команда энтузиастов пыталась распутать загадки и шифры таинственной «Цикады 3301», мы дошли до момента, когда общедоступные послания 2012 года закончились. Маркус, Текк и немногие другие из тех, кто добрался до получения персонального письма с личными инструкциями, рассказали кое-что — но знаем о дальнейшем мы в основном с их слов.

Теперь попробуем проследить за тем, чем завершилось путешествие первой команды разгадывавших шифры «Цикады», что происходило в следующие годы с новыми циклами загадок, рассмотрим версии того, кто стоял за «Цикадой 3301» и зачем всё это делалось в принципе.
Читать дальше →
Всего голосов 80: ↑79 и ↓1+106
Комментарии23

9 упражнений для тех, кто весь день за компом

Время на прочтение4 мин
Количество просмотров81K

Эта статья посвящается всем разработчикам, тестировщикам, маркетологам и проджект-менеджерам, которые по 8 часов в день сидят за компьютером без движения. Наша работа — это монитор, мышка, клавиатура и не всегда удобное кресло. Здоровье от такой жизни страдает, зрение падает, а спина болит. С этим явно нужно что-то делать. Обычно в этом блоге мы рассказываем о разработке — но в этот раз сделаем исключение. Поговорим о том, как сохранить здоровье.

Читать далее
Всего голосов 62: ↑58 и ↓4+63
Комментарии27

Пример простой нейросети на С/C++

Время на прочтение8 мин
Количество просмотров119K
Всем привет.

Решил поделиться простым и ёмким на мой взгляд решением нейронной сети на С++.

Почему эта информация должна быть интересна?

Ответ: я старался в минимальном наборе запрограммировать работу многослойного перцептрона, да так, чтобы его можно было настраивать как душе угодно всего в нескольких строчках кода, а реализация основных алгоритмов работы на «С» позволит с лёгкостью переносить на «С» ориентированные языки(в прочем и на любые другие) без использования сторонних библиотек!

Прошу взглянуть на то, что из этого вышло


Про предназначение нейронных сетей я вам рассказывать не буду, надеюсь вас не забанили в google и вы сможете найти интересующую вас информацию(назначение, возможности, области применения и так далее).

Исходный код вы найдёте в конце статьи, а пока по порядку.

Начнём разбор


1) Архитектура и технические подробности


многослойный перцептрон с возможностью конфигурации любого количества слоев с заданной шириной. Ниже представлен

пример конфигурации
myNeuero.cpp

    inputNeurons = 100; 	//ширина входного слоя
    outputNeurons =2;    	//ширина выходного слоя
    nlCount = 4;			//количество слоёв ( по факту их 3, указываемое число намеренно увеличено на 1
    list = (nnLay*) malloc((nlCount)*sizeof(nnLay));

    inputs = (float*) malloc((inputNeurons)*sizeof(float));
    targets = (float*) malloc((outputNeurons)*sizeof(float));

    list[0].setIO(100,20);  //установка ширины INPUTS/OUTPUTS для каждого слоя
    list[1].setIO(20,6);	//  -//-
    list[2].setIO(6,3);     //  -//-
    list[3].setIO(3,2);     //  -//- выходной слой


Обратите внимание, что установка ширины входа и выхода для каждого слоя выполняется по определённому правилу — вход текущего слоя = выходу предыдущего. Исключением является входной слой.

Таким образом, вы имеете возможность настраивать любую конфигурацию вручную или по заданному правилу перед компиляцией или после компиляции считывать данные из source файлов.
Читать дальше →
Всего голосов 39: ↑23 и ↓16+7
Комментарии27

Time-based атаки во вредоносном ПО и противодействие им

Время на прочтение23 мин
Количество просмотров3.1K

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

• бита гипервизора в регистре ECX инструкции CPUID(1);

• имени гипервизора в результате выполнения инструкции CPUID(0x40000000);

• имени текущего пользователя или компьютера по списку;

• MAC-адресов сетевых адаптеров, присутствующих в системе;

• количества ядер процессора, общего объема оперативной памяти, размера жесткого диска, разрешения экрана;

• наличия файлов, путей реестра, сервисов, драйверов и процессов, специфичных для виртуальных сред;

• времени, прошедшего с момента последнего запуска системы.

Детальнее о техниках обхода песочниц в таргетированных атаках — в другой нашей статье. А сегодня поговорим о более продвинутых временных атаках, использующих особенности работы гипервизора для детектирования виртуального окружения.

Подробнее
Всего голосов 7: ↑6 и ↓1+6
Комментарии1

Исследование вредоносного трафика

Время на прочтение4 мин
Количество просмотров37K

Статья расскажет о способах разбора и детектирования вредоносного сетевого взаимодействия в сети. Информация предоставляется для ознакомления. Здесь будут рассмотрены основные инструменты для анализа сетевого трафика и рассмотрены источники примеров для практики.

Читать далее
Всего голосов 7: ↑6 и ↓1+9
Комментарии3

Вирусы на серверах компании — как это бывает?

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров7.1K

Всем привет! В свободное от не-работы время я CTO собственной компании (DigitalWand), и как следствие – чем мне только ни приходится заниматься! И вот недавно один из наших клиентов посетовал на проблемы в своей внутренней кухне: мол, вирус положил внутренние сервисы, включая git и площадки для разработки. И тут мне вспомнилась собственная аналогичная проблема, которая произошла год тому назад. Вот эту страшилку и хотел бы рассказать. Думаю, будет полезна как начинающим сисадминам и девопсам, так и вообще людям, которые каким-то боком с линуксовыми серверами связаны, но серьёзного пороха ещё не нюхали.

Уже боюсь!
Всего голосов 11: ↑11 и ↓0+11
Комментарии16

7 полезных советов по защите резервных копий от вирусов-шифровальщиков

Время на прочтение5 мин
Количество просмотров39K
Сегодня поговорим о проблеме вирусов-шифровальщиков (ransomware). Эти программы предназначены для вытягивания денег из обладателей зараженных компьютеров, поэтому их еще называют «программы-вымогатели».

Проблема вирусов-шифровальщиков затрагивает уже не только отдельно взятые персональные компьютеры, но доходит до уровня дата-центров. Для атак на инфраструктуру компаний применяются, например, Locky, TeslaCrypt и CryptoLocker. Зачастую вирусы используют уязвимости веб-браузеров или их плагинов, а также непредусмотрительно открытые вложения сообщений электронной почты. Проникнув в инфраструктуру, программа-вымогатель начинает быстрое распространение и шифрование данных.

Важной составляющей стратегии защиты данных всегда было наличие резервных копий, из которых можно выполнить восстановление. Рассмотрим же несколько рекомендаций от моего коллеги Rick Vanover относительно того, как как уберечь СХД резервных копий от шифровальщиков (вне зависимости от того, используете вы решения Veeam или других производителей). Итак, добро пожаловать под кат.


Читать дальше →
Всего голосов 16: ↑14 и ↓2+12
Комментарии49

Что делать, если к вам попал Android со сломанным сенсорным дисплеем

Время на прочтение4 мин
Количество просмотров290K
image

В один прекрасный день ко мне в руки попал Nexus 4. В наших краях это редкость, поэтому хотелось бы использовать его как основной телефон. К сожалению, тач у него разбит. Одна из болячек всех современных смартфонов. Ну, решено было восстанавливать. Купил тач на ebay. Теперь ждать слоупочту россии месяцок-другой. Захотелось узнать о девайсе побольше, поработать с ним, пока посылка едет. Заодно проверить, всё ли работает. А то, может, камера или динамики тоже покрошились. В данной статье рассмотрим захват управления девайсом, если сломан тач.
Читать дальше →
Всего голосов 65: ↑57 и ↓8+49
Комментарии53

Персона. Деннис Ритчи — создатель языка С и ОС UNIX

Время на прочтение8 мин
Количество просмотров38K


Деннис Ритчи – создатель языка программирования Cи. Он вместе с Кеном Томпсоном разработал Cи для создания операционной системы UNIX. «У Ньютона есть фраза о стоящих на плечах гигантов», – говорит Брайан Керниган. «Мы все стоим на плечах Денниса».

«Практически все в веб создано на основе – Cи и UNIX», – рассказал изданию Wired Роб Пайк (Rob Pike), легенда программирования. – «На языке Cи написаны браузеры. На ядре UNIX работает почти весь Интернет, и оно также написано на языке Си. Веб серверы – написаны на языке C. А если не на нем, то на Java или C++. А эти языки производные от Си. Python и Ruby также базируются на Cи. Я ручаюсь за то, что все сетевое оборудование работает на программах, написанных на С. Действительно трудно переоценить то, что, сколько всего в современной информационной экономике основано на работе Денниса».

«Недаром же Windows, когда-то написали на Cи, – добавляет он. А UNIX лежит и в основе настольной операционной системе Apple, Mac OS X и IOS. Эти системы установлены в iPhone и iPad».
Читать дальше →
Всего голосов 51: ↑50 и ↓1+49
Комментарии28

Что такое UEFI, и чем он отличается от BIOS?

Время на прочтение5 мин
Количество просмотров962K
image

Новые компьютеры используют прошивку UEFI вместо традиционного BIOS. Обе эти программы – примеры ПО низкого уровня, запускающегося при старте компьютера перед тем, как загрузится операционная система. UEFI – более новое решение, он поддерживает жёсткие диски большего объёма, быстрее грузится, более безопасен – и, что очень удобно, обладает графическим интерфейсом и поддерживает мышь.

Некоторые новые компьютеры, поставляемые с UEFI, по-прежнему называют его «BIOS», чтобы не запутать пользователя, привычного к традиционным PC BIOS. Но, даже встретив его упоминание, знайте, что ваш новый компьютер, скорее всего, будет оснащён UEFI, а не BIOS.
Читать дальше →
Всего голосов 36: ↑25 и ↓11+14
Комментарии145

VoIP + Cisco Packet Tracer

Время на прочтение5 мин
Количество просмотров73K


Работая с программой Cisco Packet Tracer, часто замечал в ней различные телефонные устройства, а также ПО на клиентских устройствах, при помощи которого, можно организовывать телефонные звонки. В связи с этим, возникла идея смакетировать сеть, состоящую из всех устройств данного симулятора (cisco packet tracer 6.2), которые могут звонить и принимать звонки. При написании данной статьи, возник вопрос: «Можно ли подготовиться к экзамену CCNA Voice, при помощи данной программы?». И на этот вопрос, я постараюсь ответить в данной статье.
Читать дальше →
Всего голосов 11: ↑11 и ↓0+11
Комментарии2

CISCO – Mikrotik — FLEXVPN

Время на прочтение9 мин
Количество просмотров16K

В данной документации рассматривается пример рабочей конфигурации соединения роутера CISCO с роутером Mikrotik через GRE туннель с IPSec шифрованием в транспортном режиме. В построении IPsec будет использоваться IKEv2 и аутентификация по сертификатам, выпущенных ISE-B2B. Внутри туннеля будет поднят протокол динамической маршрутизации OSPF для обмена маршрутами о сетях, которые находятся за пирами.

Читать далее
Всего голосов 3: ↑3 и ↓0+3
Комментарии10

Termux шаг за шагом (Часть 1)

Время на прочтение6 мин
Количество просмотров772K


При первом знакомстве Termux, а я далеко не линуксоид, вызвал в моей голове две мысли: «Круть несусветная!» и «Как им пользоваться?». Порывшись в инетах, я не нашел ни одной статьи в полной мере позволяющей начать пользоваться Termux'ом так чтобы это приносило больше удовольствия чем гемора. Будем это исправлять.
Читать дальше →
Всего голосов 32: ↑23 и ↓9+14
Комментарии27

Основы Unity + Mirror

Время на прочтение16 мин
Количество просмотров52K

UPD. Актуализировал на момент 26.11.2022.

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

Читать далее
Всего голосов 17: ↑17 и ↓0+17
Комментарии5

Регулярные выражения (regexp) — основы

Время на прочтение21 мин
Количество просмотров998K

Регулярные выражения (их еще называют regexp, или regex) — это механизм для поиска и замены текста. В строке, файле, нескольких файлах... Их используют разработчики в коде приложения, тестировщики в автотестах, да просто при работе в командной строке!

Чем это лучше простого поиска? Тем, что позволяет задать шаблон.

Например, на вход приходит дата рождения в формате ДД.ММ.ГГГГГ. Вам надо передать ее дальше, но уже в формате ГГГГ-ММ-ДД. Как это сделать с помощью простого поиска? Вы же не знаете заранее, какая именно дата будет.

Читать далее
Всего голосов 50: ↑42 и ↓8+43
Комментарии77

Начинающему QA: полезные функции снифферов на примере Charles Proxy

Время на прочтение8 мин
Количество просмотров84K

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

В этой статье я расскажу об основных функциях снифферов, которые могут быть полезны QA. Попробую не вдаваться в теорию, а сфокусироваться на практике. Наиболее популярными представителями анализаторов трафика сейчас являются WhireShark, Fiddler и Charles Proxy. Об удобстве интерфейсов и функционале каждого из них можно рассуждать долго, учитывая все плюсы и минусы. Но здесь я отдал предпочтение Charles, поскольку сам им активно пользуюсь. Буду рассказывать на его примере.

Читать далее
Всего голосов 2: ↑2 и ↓0+2
Комментарии2

XSS: атака и защита с точки зрения C# программирования

Время на прочтение10 мин
Количество просмотров17K

XSS, или межсайтовый скриптинг, является одной из самых часто встречающихся уязвимостей в веб-приложениях. Она уже долгое время входит в OWASP Top 10 – список самых критичных угроз безопасности веб-приложений. Давайте вместе разберемся, как в вашем браузере может выполниться скрипт, полученный со стороннего сайта, и к чему это может привести (спойлер: например, к краже cookie). Заодно поговорим о том, что необходимо предпринять, чтобы обезопаситься от XSS.

Читать далее
Всего голосов 7: ↑5 и ↓2+5
Комментарии10

Эксплуатация уязвимостей eXternal Entity XML (XXE)

Время на прочтение8 мин
Количество просмотров38K

В ходе работ по тестированию на проникновение мы можем столкнуться с уязвимостью, которая позволяет нам выполнять атаки XML eXternal Entity (XXE) Injection. XXE Инъекция — это тип атаки на приложение, которое анализирует ввод XML. Хотя это относительно эзотерическая уязвимость по сравнению с другими векторными атаками веб-приложений, например, Cross-Site Request Forgery (CSRF), мы максимально используем эту уязвимость, когда она появляется, поскольку она может привести к извлечению конфиденциальных данных и даже к удаленному исполнению кода (RCE). В статье мы рассмотрим настройку уязвимого PHP-сервера, эксплуатируя уязвимость вручную, а затем перейдем к удобному инструменту под названием XXEInjector, чтобы автоматизировать этот процесс.
Читать дальше →
Всего голосов 28: ↑26 и ↓2+24
Комментарии3

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность

Специализация

Software Developer
Intern
Git
C++
Visual Studio
Software development