Search
Write a publication
Pull to refresh
0
0
Алексей Мирошниченко @skl1f

User

Send message

Проверка SSD на выносливость: запись 1 петабайта

Reading time2 min
Views151K


Компьютерное издание The Tech Report в августе прошлого года начало тестирование SSD-накопителей. Цель — проверить, сколько циклов перезаписи выдержит каждый из шести экземпляров. Эксперимент продолжается до сих пор: после записи 1 петабайта в живых остались три накопителя.
Читать дальше →

Спидран по 13 уязвимостям на сайтах. Основные понятия, и средства защиты

Reading time8 min
Views71K
Недавно по работе собирал своего рода лекцию по веб-безопасности, ознакомился с известным рейтингом уявзимостей OWASP 2013 года, но с удивлением обнаружил, что корректной инфы на русском языке крайне мало, или её практически нет.

Это, собственно, и стало поводом написать такую статью, в которой тезисно будут описаны основные уязвимости, причины, примеры и решения.

Некоторые из предоставленных в списке уязвимостей уже расписаны и не раз — известный факт, но без них список был бы неполным. Поэтому сразу дам небольшое содержание поста:

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

Маленький сетевой одноплатный компьютер за 20 USD

Reading time2 min
Views42K
Ну вот, наконец-то, у меня в руках первый полноценно работающий экземпляр нашего одноплатного компьютера.

Полгода разработки, два месяца ожидания (пока изготовят первых 20 экземпляров и доставят в Москву), неделя непрерывного секса (чтобы запустить)… И вот оно — наше маленькое чудо!

image

Это не «самый маленький в мире компьютер». И не самый дешевый. И уж конечно не самый мощный. Но он достаточно маленький, довольно дешевый и не такой уж медленный. Чип Qualcom Atheros AR9331, 64 Мб DDR2, 16 Мб NOR flash. WiFi, один гигабитный Ethernet и до пяти 100мбитных, USB, UART, SPI, I2S, 20+ GPIO, OpenWrt на борту — что еще нужно для счастья? Зажечь в первый раз светодиод по команде со смартфона — ни к этому ли мы все стремимся?

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

Первые подробности — под катом.
Читать дальше →

Hexapod-робот под управлением ROS

Reading time10 min
Views141K


Робот гексапод — это платформа, использующая для передвижения шесть ног. После просмотра множества видео в интернете, стало ясно, что очень интересно наблюдать за передвижением подобных роботов. И тут возникло желание сделать что-то похожее, но с одноплатным компьютером BeagleBone Black (далее BBB) на борту, потому что подобных проектов еще не было. Информацию о таких роботах было найти непросто, особенно, что касается программной составляющей. Некоторое время было непонятно с чего начинать, но вскоре было решено начать с изготовления конструктива робота — шасси и электронной составляющей, а затем заняться программированием того, что получилось.
Читать дальше →

Django tips & tricks

Reading time9 min
Views52K
Приветствую!

В этом посте — небольшие советы по работе с Django, которые могут пригодиться начинающим разработчикам. Как я хотел бы знать это в начале моего пути освоения Django!..
Рассматривать эти советы следует с долей критицизма. Буду рад, если вы найдёте неточности / лучшее решение, или предложите свои «фишки» для django, которых нет в документации.

Итак, начнём издалека, а уж потом перейдём к деталям.

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

Декомпиляция Java приложений

Reading time3 min
Views205K
Декомпиляция — процесс воссоздания исходного кода декомпилятором
Недавно я задался вопросом: Какой декомпилятор лучше?
Начал мучить Google, экспериментировать. В итоге нашел отличное решение. Как декомпильнуть любую программу и получить рабочие «исходники»? Об этом в сабже.
Читать дальше →

Когда AES(☢) = ☠ — криптобинарный фокус

Reading time2 min
Views36K


Специалиста по реверс-инжинирингу Анжа Альбертини (Ange Albertini) из компании Corkami в шутку спросили: можно ли сгенерировать картинку JPEG, которая после обработки шифром AES опять превратится в валидный JPEG. Анж принял вызов, а по результатам исследования опубликовал презентацию с объяснением, как это делается с разными форматами.
Читать дальше →

Derby 0.6 — FAQ

Reading time1 min
Views6.9K
image
В последнее время, ввиду отсутствия нормальной документации по derby версии 0.6, мне стали часто по почте и через различные сервисы задавать вопросы.

Чтобы информация накапливалась, я завел для этого отдельный репозиторий — derby-faq. Сейчас там пара десятков вопросов с подробными ответами и примерами кода. Предлагаю всем поучаствовать в его развитии.
Читать дальше →

DevConf 2014: Пишем функциональное, надежное и быстрое веб-приложение на Go

Reading time2 min
Views9.3K

Дмитрий Вьюков, разработчик, Google работающий над ядром языка Go выступит докладчиком на DevConf 2014

Поддержите Дмитрия, чтоб доклад вошел в программу конференции DevConf 2014


В программе еще 2 доклада по Go:
  • Go на Google App Engine — просто, надёжно, быстро и недорого.
  • Go: аналитика Рунета в реальном времени
Предлагаем Вашему вниманию интервью с автором доклада
Читать дальше →

LibreSSL: очищенная версия OpenSSL (проект OpenBSD)

Reading time2 min
Views31K
Участники проекта OpenBSD, разработавшие одноименную операционную систему, а также различные инструменты, такие как OpenSSH, OpenBGPD, OpenNTPD и OpenSMTPD, запустили проект LibreSSL. Это очищенная от лишнего кода, более простая версия OpenSSL.

Тео де Раадт (Theo de Raadt), основатель и руководитель проектов OpenBSD и OpenSSH, сказал, что им уже удалось избавиться примерно от 90 000 строк кода на C и 150 000 строк содержимого в целом. Удалена поддержка MacOS, Netware, OS/2, VMS и Windows, поскольку всё это мало кому нужно.
Читать дальше →

Высоконагруженные сайты и приложения на Python / Django (29 проектов)

Reading time9 min
Views136K
Наша компания довольно давно занимается разработкой больших веб-приложений на Python / Django. В рунете крайне мало информации об этом замечательном языке программирования и фремворке на его основе. Мы решили исправить эту ошибку и рассказать о популярных высоконагруженных сайтах на этой технологии, а также дать много интересных технических подробностей. Для удобства сравнения сайтов между собой мы приводим еще и немного статистики к каждому из проектов. В целом сайтов на Python / Django, конечно, очень много в мире, мы охватим только наиболее интересные по нашему мнению.

Небольшая таблица известных проектов (на основе данных http://builtwith.com/), кликабельно:
Читать дальше →

2048 на Erlang

Reading time15 min
Views22K
imageНаверное на неделю игры 2048 на хабре уже не успеваю, но статья не столько о игре сколько о websocket сервере на Erlang. Небольшая предыстория. Когда начал играть в 2048, то просто не мог прекратить. В ущерб работе и семье. Поэтому принял решение, что играть за меня должен бот. Но загвоздка в том, что игра клиентская, из-за чего не ведется глобальный рейтинг и не так удобно играть без браузера. Поэтому я и решил сделать серверную часть, где был бы рейтинг. И где мог бы играть мой бот без браузера.
Читать дальше →

Собираем и анализируем логи с помощью Lumberjack+Logstash+Elasticsearch+RabbitMQ

Reading time9 min
Views44K
Добрый день.

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

Поэтому, когда случаются проблемы и надо найти ошибку в логах какого-нибудь сервиса, все зависит от того, насколько силен админ и насколько программисты знают, что искать. А еще от того, отработал ли logrotate и не грохнул ли он старые данные…

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

Почему? Maxifier представляет собой SaaS-продукт с клиентами в США, Бразилии, в нескольких странах Европы и в Японии, так что у нас около сотни серверов, раскиданных по всему миру. Для оперативной работы нам необходимо иметь удобный доступ к логам наших приложений и быстрый поиск ошибок в них в случае проблем на сторонних сервисах/api, появления некорректных данных т.д. Кстати, похожей системой сборки логов пользуются The Guardian (одни из наших клиентов).

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

MongoDB от теории к практике. Руководство по установке кластера mongoDB

Reading time9 min
Views90K
     Доброго времени суток, уважаемые читатели. В этом посте я хотел бы описать несколько примеров развертки mongoDB, отличия между ними, принципы их работы. Однако больше всего хотелось бы поделиться с вами практическом опытом шардирования mongoDB. Если бы этот пост имел план, он бы выглядел скорее всего так:

  1. Вступление. Кратко о масштабировании
  2. Некоторые примеры развертки mongoDB и их описание
  3. Шардинг mongoDB

    Пункты 1 и 2 — теоретические, а номер 3 претендует на практическое руководство по поднятию кластера mongoDB и больше всего подойдет тем, кто столкнулся с этим в первый раз.
Читать дальше →

Квадрокоптер на базе AeroQuad Open Source project

Reading time3 min
Views74K
image

Добрый день!
Хотелось бы немного рассказать о проекте AeroQuad Open Source и о своем опыте сборки квадрокоптера.

Проект AeroQuad поддерживает:
1. В перспективе возможность подключения gps, полета по путевым точкам, которые можно загрузить через AeroQuad Configurator.
2. Стабилизация камеры. Для компенсации движений квадрокоптера можно использовать 3 сервопривода.
3. On-Screen-Display. Наложение графики на видеопоток.
4. Помимо подключения гироскопа акселерометра и магнитометра есть возможность подключения других датчиков, таких как ультразвуковой дальномер и барометр.

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

Быстрый отладчик от Mozilla с записью и воспроизведением

Reading time2 min
Views10K
Mozilla выпустила инструмент, который наверняка многим облегчит жизнь: это фреймворк RR под Linux для записи и последующего воспроизведения хода выполнения программы. Воспроизведение происходит абсолютно детерминированно, то есть с теми же регистрами и адресами памяти — и неизменно с тем же сбоем (если он был). Другими словами, можно бесконечно гонять тесты, а как только появится баг — не спеша его изучить в офлайне, прокрутив запись сколько угодно раз. Записываются все деревья процессов и потоков.

RR создан для точного воспроизведения багов, которые проявляют себя непредсказуемо. В таких случаях при отладке стандартными средствами нет смысла запускать программу снова: не факт, что баг опять проявится. Эта проблема постоянно портит жизнь разработчикам. Вот почему в Mozilla решили создать такой фреймворк.
Читать дальше →

Методы сокрытия информации

Reading time8 min
Views36K
Информация на жестком диске может быть скрыта несколькими методами. Мы будем говорить о них, начиная с простых и переходя к сложным. Статья для тех, кто прячет, а не находит. Поэтому методы сокрытия лишь обозначены. Кому потребуется более подробная информация по тому или иному методу — тот ее найдет и, главное, привнесет свой неповторимый аромат за счет смешения приправ. А конкретные рецепты были бы полезны тем, кто ищет, а не прячет.

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

«ZeroMQ».Глава 2: Знакомство с сокетами

Reading time17 min
Views30K
Всем привет!
Продолжаю вольный перевод книги «ZeroMQ.Use ZeroMQ and learn how to apply different message patterns». Заранее прошу прощения, что так долго не публиковал продолжение, но как говорится: «Лень вперед нас родилась...». Ну что же, лирику в сторону, продолжим.

Содержание


После того, как мы рассмотрели основные структуры ZeroMQ в предыдущей главе, в этой мы рассмотрим сокеты, а именно:
  • паттерн клиент-сервер(publish-subscribe)
  • паттерн pipeline

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

Основы Fibre Channel

Reading time11 min
Views185K
Продолжаю вещать на тему прояснения основных представлений об FC SAN. В комментариях к первому посту меня попрекнули тем, что копнул недостаточно глубоко. В частности — мало сказал о непосредственно FC и ничего о BB credits, IP и multipathing. Multipathing и IP — темы для отдельных публикаций, а про FC, пожалуй, продолжу. Или начну, как посмотреть.

Для начала, небольшое терминологическое отступление (навеянное опять же комментарием к предыдущему посту).

Fibre or Fiber?: Изначально технология Fibre Channel предполагала поддержку только волоконно-оптических линий (fiber optic). Однако, когда добавилась поддержка меди, было принято решение название в принципе сохранить, но для отсылки на стандарт использовать британское слово Fibre. Американское Fiber сохраняется преимущественно для отсылки на оптоволокно.
Оригинал
Fibre Channel was originally designed to support fiber optic cabling only. When copper support was added, the committee decided to keep the name in principle, but to use the UK English spelling (Fibre) when referring to the standard. The US English spelling (Fiber) is retained when referring generically to fiber optics and cabling.
IBM Redbook «Introduction to SAN and System Networking»

Начало


По аналогии с сетевой моделью OSI, Fibre Channel состоит из пяти уровней. Каждый уровень обеспечивает определённый набор функций.


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

О SAN (Storage Area Network) на пальцах

Reading time5 min
Views214K
image

В деле познания SAN столкнулся с определённым препятствием — труднодоступностью базовой информации. В вопросе изучения прочих инфраструктурных продуктов, с которыми доводилось сталкиваться, проще — есть пробные версии ПО, возможность установить их на вирутальной машине, есть куча учебников, референс гайдов и блогов по теме. Cisco и Microsoft клепают очень качественные учебники, MS вдобавок худо-бедно причесал свою адскую чердачную кладовку под названием technet, даже по VMware есть книга, пусть и одна (и даже на русском языке!), причём с КПД около 100%. Уже и по самим устройствам хранения данных можно получить информацию с семинаров, маркетинговых мероприятий и документов, форумов. По сети же хранения — тишина и мёртвые с косами стоять. Я нашёл два учебника, но купить не решился. Это "Storage Area Networks For Dummies" (есть и такое, оказывается. Очень любознательные англоговорящие «чайники» в целевой аудитории, видимо) за полторы тысячи рублей и "Distributed Storage Networks: Architecture, Protocols and Management" — выглядит более надёжно, но 8200р при скидке 40%. Вместе с этой книгой Ozon рекомендует также книгу «Искусство кирпичной кладки».

Что посоветовать человеку, который решит с нуля изучить хотя бы теорию организации сети хранения данных, я не знаю. Как показала практика, даже дорогостоящие курсы могут дать на выходе ноль. Люди, применительно к SAN делятся на три категории: те, кто вообще не знает что это, кто знает, что такое явление просто есть и те, кто на вопрос «зачем в сети хранения делать две и более фабрики» смотрят с таким недоумением, будто их спросили что-то вроде «зачем квадрату четыре угла?».

Попробую восполнить пробел, которого не хватало мне — описать базу и описать просто. Рассматривать буду SAN на базе её классического протокола — Fibre Channel.
Читать дальше →

Information

Rating
Does not participate
Location
Украина
Date of birth
Registered
Activity