Вчера завершился Региональный этап Всероссийской олимпиады школьников. Я участвовал в нем и выбрал для этого язык Java. Основной причиной, почему я решил писать олимпиаду именно на Java заключался в том, что на тот момент я довольно хорошо ее знал и понимал то, как в ней реализовано большинство основных структур данных и функций. Также IntellijIDEA очень сильно способствовала плодотворному кодингу, в ситуациях, когда время является решающим фактором. Да, среды разработки от JetBrains есть и для многих других языков, но среди этих языков нет тех, что обычно используются в спортивном программировании, не считая Python, но использовать здесь его я побаивался из-за того, что этот язык известен прожорливостью.
Однако наш друг, носящий имя индонезийского острова, оказался в некоторых ситуациях еще медленнее, чем прожорливый змей. Читать дальше →
Добрый день, Хабрасообщество! Как и большинству айтишников, мне нравится создавать что-то новое, классное, нечто способное как-то повлиять на мир или хотя бы принести небольшую пользу другим людям. Надеюсь, что описываемый далее инструмент для тестирования онлайн систем с ВебСокетами как раз такая вещь.
В данной статье я рассматриваю процесс написания простого драйвера PCI устройства под OC Linux. Будет кратко изучено устройство программной модели PCI, написание собственно драйвера, тестовой пользовательской программы и запуск всей этой системы.
В качестве подопытного выступит интерфейс датчиков перемещения ЛИР940/941. Это устройство, отечественного производства, обеспечивает подключение до 4 энкодеров с помощью последовательного протокола SSI поверх физического интерфейса RS-422.
29 января технический комитет организации CNCF (Cloud Native Computing Foundation), стоящей за Kubernetes, Prometheus и другими Open Source-продуктами из мира контейнеров и cloud native, объявил о принятии проекта Rook в свои ряды. Отличный повод познакомиться поближе с этим «оркестровщиком систем распределённого хранения данных в Kubernetes». Читать дальше ->
Новгородский мальчик Онфим из XIII века превратил кору в носитель персональных данных, собрав набор из изображения человека и его имени.
Представьте, что вы нашли трёх друзей, которые родились с вами в один и тот же день. У вас одинаковая дата рождения, одинаковый пол, и вы можете определёнными усилиями сменить имена в рамках закона. В итоге получится четверо одинаковых людей. Будет ли набор «Ф. И. О. + дата рождения + пол» персональными данными?
Ответ, как это ни странно, — да.
При этом под персональными данными понимается такой набор информации, который так или иначе позволяет идентифицировать физическое лицо — субъекта персональных данных. То есть однозначно указывает на конкретного человека.
Ранее в законодательном определении содержалось указание на конкретные примеры, которые каждый в отдельности или в совокупности с другой информацией составляли персональные данные. В текущей же редакции ст. 3 Федерального закона № 152-ФЗ примеров персональных данных не приводится, т. к. законодатель сделал упор на «духе закона», прямо оговорив, что к таким данным относится «любая информация, относящаяся к прямо или косвенно определённому или определяемому физическому лицу», отдав решение этого вопроса на откуп судебной практике.
Поэтому давайте разбирать на примерах, что есть ПДн, а что — нет.
Сегодня я расскажу вам о приложении, которое создавалось в «Аркадии» для удобства бронирования переговорных комнат.
Есть два основных сценария использования этого приложения:
1. Поиск свободной комнаты
Ежедневно в компании проходит множество митингов, переговорки бронируют менеджеры, разработчики и сотрудники HR-отдела. Поиск комнаты для митинга может быть довольно долгим и рутинным занятием. Чтобы понять, какая из комнат свободна в данный момент, необходимо зайти в календарь Outlook (или открыть дверь, отвлекая внимание участников проходящего совещания), просмотреть полное расписание по комнатам, найти свободный слот времени и создать appointment. За это время кто-то из сотрудников может забронировать комнату, и тогда необходимо начинать поиск заново. Гораздо удобнее сделать бронирование нажатием одной кнопки при помощи приложения, заранее получив подсказки о статусе комнат.
2. Ad hoc бронирование
Довольно часто возникает ситуация, когда нужно собраться минут на 15, чтобы коротко обсудить текущие задачи по проекту. В этом случае нет смысла занимать комнату на целый час, да может и не быть свободных слотов на выбранное время. Но если остаётся хотя бы 10 минут до следующего митинга, приложение позволит забронировать комнату, и для короткого митинга этого может быть вполне достаточно. Также иногда возникает ситуация, когда комната была забронирована на долгий срок, например, 2 часа, но митинг завершился раньше. В этом случае по завершении митинга можно нажать на кнопку отмены и освободить комнату. Читать дальше ->
Давайте посмотрим правде в глаза, прошедший год был ужасным для кибербезопасности, с огромным количеством фишинговых атак, вирусов-вымогателей и т.д. Интересно, будет ли 2018 год лучше?
Многие эксперты мирового уровня прогнозируют увеличение количества атак. Они считают, что будут разработаны новые, сложные методы с более разрушительными последствиями.
В сети есть сотни прогнозов в сфере ИТ безопасности, мы сузили круг и собрали для вас топ-5. Читать дальше →
2015 год — настоящее время: расширение на прибыльные конкурентные рынки
Для многих SaaS-компаний сегодняшний бизнес Atlassian выглядит как «конечная цель»: вырасти в огромную работающую на мировом рынке публичную компанию со сложным набором интегрированных продуктов для самых разных команд.
Но Atlassian понимает, что успех — это не точка на графике, а непрерывная линия: если вы успешны, но не можете поддерживать рост и уверенное присутствие на своих рынках, вас вышвырнут. Поэтому сегодня цель компании — не просто создать лучший в своем классе набор инструментов для разработчиков, а скорее сделать так, чтобы организации целиком, вместе со всеми отделами, использовали соответствующие продукты из семейства Atlassian.
С одной стороны, Atlassian работает над тем, чтобы ее решениями могли пользоваться самые разные отделы организаций. С другой стороны, компании нужно каким-то образом сохранить актуальность для небольших команд, поскольку для них многие приносящие компании доход продукты становятся излишне сложными. Однако вместо того, чтобы тратить время на разработку «облегченных» версий собственных решений, Atlassian идет опробованным путем: приобретает продукты с более простой функциональностью, интегрирует их и пополняет таким образом свое семейство.
Давайте подробнее рассмотрим, каким образом приобретения и интеграция за последние несколько лет помогли компании расширить продуктовую воронку и выйти на более прибыльные конкурентные рынки.
Чем занимается техническая поддержка, и насколько эффективно она работает? — чем дальше в своей работе я отдалялся от задач техподдержки, тем сильнее беспокоил меня этот вопрос, пока в 2013 году я окончательно не осознал, что совершенно не представляю, чем занимаются эти “бездельники”. Нет, я не сомневался, что парни в технической поддержке ответственно относятся к своей работе (и это подтверждали отзывы клиентов), но вот повышается ли качество наших услуг со временем или уменьшается, какие задачи возникают в технической поддержке и в каких количествах, кто делает львиную долю работы — этого я не понимал. Моим попыткам разобраться в положении дел в техподдержке и посвящена данная статья. Но для начала небольшой экскурс в историю: Читать дальше ->
Основным компонентом системы, который обрабатывает сырые данные с «пауков», выполняет обогащение данных, их индексацию и последующий поиск является система обработки сообщений, т.к. только подобные системы могут адекватно реагировать на пиковые нагрузки входных данных, недостачу некоторых видов ресурсов и могут быть легко горизонтально масштабируемы.
Когда анализировалось будущее использование системы, обрабатывающей запросы или входящие данные, были выделены следующие требования:
Низкая задержка (latency) обработки сообщения;
Возможность получения данных из разных источников (БД, message middleware);
Возможность обработки данных на нескольких узлах;
Отказоустойчивость к ситуациям выхода из строя узлов;
Поддержка уровня гарантированной обработки сообщения «at-least-once»;
Наличие интерфейса для мониторинга состояния кластера и для управления им (хотя бы частично).
В качестве итогового решения был выбран фреймворк Apache Storm. Для поклонников Apache Spark: с учётом широкой распространённости этого фреймворка (с использованием Spark Streaming или сейчас Spark Structured Streaming), всё дальнейшее повествование будет строиться в сравнении с функционалом Apache Spark. Читать дальше ->
Это статья о первых программных синтезаторах, которые были когда-то реализованы на самых обычных персональных компьютерах. Кроме того, это еще и набор уроков по реализации простых методов звукового синтеза в историческом контексте.
Новость Судьба зловреда Exobot, с помощью которого злоумышленники добывали данные банковских карт пользователей еще с 2013 года, сложилась интереснее, чем у большинства подобных троянов — но весьма проблематично для экспертов безопасности. Авторы бота охотно сдавали его в аренду на любой срок, причем сервис оказался столь успешен коммерчески, что появилась даже вторая версия, переработанная практически с нуля. Что характерно, заказчики могли по своему желанию модифицировать троян с помощью контрольной панели, выбирая нужные им функции. Практически фабрика клонов со спецификациями на любой вкус.
А в прошедшем декабре организаторы этого центра клонирования во всеуслышание заявили, что собираются продать исходный код ограниченному кругу покупателей. Якобы они уже срубили с Exobot достаточно и выходят из бизнеса. Заявление звучит не очень логично, но может быть отчасти правдой: если им удалось сорвать большой куш, теперь добыча и собственная свобода перевешивают возможные выгоды. Но скорее всего, операторы Exobot постарались таким образом замаскировать желание уйти в тень и скрыться от пристального внимания. Как бы то ни было, после первых же продаж неприятности не заставили себя ждать: зловред пошел в серию. Читать дальше ->
С выхода первой статьи на Хабре описывающей решении Mobility Express уже прошло более 2-х лет. И что странно, больше эту тему не трогали. Читать дальше →
Статья, которую вы сейчас читаете, вовсе не ответ на вышеозвученный пост. Это будет скорее попытка показать что уже сейчас иногда делается, и что вообще можно сделать в области информационной безопасности, если немного отойти от общепринятых канонов при защите систем.
И чтобы расставить все точки над E, — я вовсе не пытаюсь оценить или как-то обелить "ответственные" лица, что с одной, что с другой стороны.
Я скорее просто попробую объяснить другой (возможно новый для некоторых читателей) концептуальный подход на примерах, в том числе и касающихся той статьи.
Кстати, то что в ней не всё или скорей всего возможно не совсем всё правда, "реальному хакеру" видно невооруженным глазом.
Например прочитав "Утащил базу весом 5 Гб… сколько времени это качалось. Вы думаете, кто-то заметил?" я лишь усмехнулся и продолжил чтение (ибо ИМХО некоторое преувеличение допускается в такого рода статьях).
Хотя автор и сам признал что он немного лгунишка апдейтом в конце статьи.
конечно же, никакой базы у меня нет, на протяжении 3-х дней я эмулировал скачивание ...
Теперь почему это очевидно/вероятно (даже не принимая другие типовые ограничения во внимание):
В первой части были рассмотрены: структура, топология, функции активации и обучающее множество. В этой части попробую объяснить как происходит обучение сверточной нейронной сети.
Обучение сверточной нейронной сети
На начальном этапе нейронная сеть является необученной (ненастроенной). В общем смысле под обучением понимают последовательное предъявление образа на вход нейросети, из обучающего набора, затем полученный ответ сравнивается с желаемым выходом, в нашем случае это 1 – образ представляет лицо, минус 1 – образ представляет фон (не лицо), полученная разница между ожидаемым ответом и полученным является результат функции ошибки (дельта ошибки). Затем эту дельту ошибки необходимо распространить на все связанные нейроны сети. Читать дальше ->
Создание файловой системы, установка и клонирование Debian и Ubuntu с помощью скриптов radish.
1. Назначение и возможности скриптов radish
Обычно установка системы Linux производится путём запуска какой-либо программы-установщика, поставляемой разработчиками дистрибутива. Это производится либо непосредственно на компьютере, на котором производится установка, либо в какой-либо изолированной среде, например, используя виртуализацию. Описываемые ниже процедуры следуют этим принципам только в самом минимально необходимом виде. При создании образа системы какие-либо установщики сводятся к генератору минимальной системы debootstrap и интерфейсу менеджера пакетов apt (оба поверх менеджера пакетов dpkg), а вместо виртуализации используется chroot.
Установка образа диска на устройство производится минимальным скриптом, который вообще никак не использует установщик или менеджер пакетов, тем не менее создавая конфигурацию, полностью управляемую менеджером пакетов в образе диска — все установленные компоненты, включая загрузчик и ядро, могут обновляться и заменяться теми же действиями менеджера пакетов, которые бы использовались на системе, установленной стандартным установщиком дистрибутива.
Скрипты находятся на сервере Github и доступны по ссылке.
В первой части было рассказано про возможности блокчейна, структуру и ЭЦП, в этой части будет рассказано про: проверку подписи, майнинг и примерную организацию сети. Отмечу, что не являюсь специалистом по распределенным системам (организация сети может быть не верной).
Одноранговая сеть (P2P)
Одноранговая (равноправная) сеть – это сеть, основанная на равноправии участников. Часто в такой сети отсутствуют выделенные серверы, а каждый узел (peer) является как клиентом, так и выполняет функции сервера. В отличие от архитектуры клиент-сервера, такая организация позволяет сохранять работоспособность сети при любом количестве и любом сочетании доступных узлов. Участники сети называются пиры. Читать дальше ->
Форма для печенья от Кристиана (Christian Quest)[1]
Карты
Исследовательская группа GIScience из Гейдельбергского университета сообщает о новой версии OSMlanduse.org. Пробелы в данных OSM (только для Германии), теперь заполнены данными извлечёнными из спутниковых снимков, полученных использованием методов машинного обучения.
Сайт TravelTime предоставляет две интересные карты, основанные на различных источниках, на данных OSM: RadiusMap, который сравнивает простой «радиус доступности» вокруг точки с временем проезда (изохроны) и карту времени только для путешествия, которая включает в себя ходьбу, поездку на велосипеде, автомобиле и на общественном транспорте.
Работаю ассистентом в вузе (как хобби), решил написать несколько лабораторных для студентов по дисциплине «распределенные системы». В первой части будет рассказано про возможности, структуру и ЭЦП, а во второй части про: проверку подписи, майнинг и примерную организацию сети. Отмечу, что не являюсь специалистом по распределенным системам (организация сети может быть не верной). Читать дальше ->