Search
Write a publication
Pull to refresh
0
0
Send message

Дверной замок. RFID

Reading time5 min
Views161K

Вступление


Доброго времени суток! Параллельно моей предыдущей статье я работал еще над одним «проектом». Собственно у меня завалялось пару китайских RFID читалок. Вот таких:

Фото RC522



До этого, перебирая ящик с инструментами, я нашел новенький, но никому не нужный замок.

Видео работы устройства



На видео есть еще одна Arduino — она нужна только для питания Arduino Pro Mini. В конечной схеме её конечно нет, просто блок питания на 5В я еще не приобрел. Под катом очень много фотографий!
Читать дальше →

Окружение для разработки на aiorest (asyncio) + angular.js

Reading time4 min
Views6.3K
В этой статье мы соберём вместе aiorest + jinja2 + angular.js + gulp.js + bower.js + nginx. В результате мы получим:
  • авто-перезапуск сервера при изменении python-кода и jinja-шаблонов
  • сборка, минификация и автоматическая пересборка при изменении клиентского js-кода
Начнём с главного — как пользоваться, а затем я подробнее опишу некоторые моменты реализации. Если вам легче читать код — вот ссылка на репу.

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

Получение пароля коммутаторов D-Link на примере DGS-1500

Reading time1 min
Views30K
Как известно, SNMP — чрезвычайно полезный протокол.

Однако, если не настраивать коммутаторы D-Link (в нашем случае — позволять работать с комьюнити public), он может стать причиной уязвимости.

Блуждая в поисках OID для значения загруженности процессора наткнулся на интересную ветку.

Попробуйте. Справедливо для DGS-1500 и, скорее всего, некоторых других моделей D-Link.

snmpwalk -v2c -c public 192.168.0.1 1.3.6.1.4.1.171.10.126.4.1.1.7.0

Генерация ID для шардинга в MySQL

Reading time5 min
Views26K
Тема шардинга довольно обширная как с точки зрения программиста, так и с точки зрения администратора БД. Я сейчас хочу коснуться только вопросов генерации уникального ID сущности и алгоритмов выбора шарда.
Читать дальше →

Nokia Lumia в руках профессиональных фотографов

Reading time7 min
Views41K
Тема мобильной фотографии всегда вызывает массу споров, в особенности, когда речь заходит о профессиональной съемке, а точнее о возможности замены цифровой фотокамеры смартфоном с развитыми фотовозможностями.

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



В этом году в разных уголках этого мира данный тезис подтвердили с Lumia наперевес три известных фотографа. В рамках этого поста мы постараемся немного рассказать о каждом проекте, а главное — поделиться с вам результатами их съемок.
Читать дальше →

Разработка векторного редактора на JavaScript (сложности и идеи)

Reading time4 min
Views18K

Предыстория:


Имя большой опыт в разработке веб-сайтов (около 15 лет) и являясь программистом, я очень не люблю рутинную работу, стараюсь ее либо избегать, либо каким-то образом оптимизировать. Другими словами, если мне в какой-то момент необходимо заниматься наполнением контентом сайта (да, знаю, не царское дело программисту наполнять сайт, но случаи разные бывают), то я предпочту потратить пару часов на написание парсера входящих данных, чем часа 4 вколачивать эти данные вручную. И давно меня терзала проблема отсутствия удобного редактора для создания карт изображения. Конечно, можно нарисовать карту в Corel Draw или подобном, выгрузить в SVG и по быстрому переконвертировать в нужный формат, но меня давно интересовала возможность создания некоего редактора, который позволит, не загружая сторонние программы, прямо на сайте, по-быстрому загрузить изображение и выделить на нем нужную карту. Например, есть некое изображение здания, на котором необходимо выделить контур этажа и привязать к нему какие-то JavaScript-события или просто ссылку, вот как здесь:


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

3 новых JavaScript API, которые вам стоит узнать

Reading time4 min
Views28K
Перевод статьи «3 New JavaScript APIs You May Want to Follow», Aurelio De Rosa из портала SitePoint.

Если вы постоянный читатель SitePoint, и возможно, читаете мои заметки, то вы знаете, что я написал множество статей о новых HTML5 и JavaScript API. До сих пор я писал заметки об API, которые вы можете использовать прямо сейчас, в том числе с использованием полифилов.

Сегодня я решил нарушить это правило и описать вам несколько API на ранней стадии разработки. Эти технологии настолько свежи, что 2 из 3 были представлены всего несколько дней назад. Поэтому они пока не могут быть использованы. Однако, если вам интересно, что они позволят сделать, вы можете почитать спецификации и написать, что бы вы хотели в них улучшить.

Давайте же, без лишних церемоний, начнем!
Читать дальше →

10 самых распространённых ошибок при программировании на JavaScript

Reading time10 min
Views156K


Сегодня JavaScript лежит в основе большинства современных веб-приложений. При этом за последние годы появилось большое количество JavaScript-библиотек и фреймворков для разработчиков Single Page Application (SPA), графики, анимации и даже серверных платформ. Для веб-разработки JavaScript используется повсеместно, и поэтому качество кода обретает всё большее значение.

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

Microsoft советует воздержаться от установки обновления MS14-045

Reading time1 min
Views67K
Компания Microsoft рекомендует отказаться от установки обновления MS14-045 (KB2982791), которое вышло на этой неделе в рамках patch tuesday. После установки этого обновления компьютер пользователя может оказаться неработоспособным, в частности, функционирование Windows может происходить с BSOD или «синим экраном смерти», который не позволит нормально загрузить компьютер. Пользователям, которые установили данное обновление и столкнулись с проблемой, компания предлагает инструкции по ее решению. Так ли иначе, обновление было удалено с сервера обновлений и ссылка на него также удалена с веб-сайта Microsoft.



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

Автоматическое определение пола по имени

Reading time3 min
Views24K
Продолжая рассказывать о технологиях, которые используются в нашем сервисе email-маркетинга Pechkin-mail.ru, мы просто обязаны упомянуть об автоматическом определении пола подписчика по имени. Еще в 2007 году, разрабатывая сервис sms-рассылок, мы очень хотели реализовать возможность автоматического подставления окончаний в прилагательные “Уважаемый”, “Дорогой” и так далее. Обычно такая подстановка осуществляется на основании дополнительного поля в адресной базе клиента. Однако, как нам кажется, это полный отстой.
На это есть 3 причины:
  1. заставлять подписчика задавать свой пол глупо (чем больше полей в форме, тем ниже вероятность ее заполнения)
  2. определять вручную — долго, а значит дорого
  3. от ошибок человек не застрахован ровно так же, как и машина.


Но мы не лингвисты, поэтому реализовать такой модуль было бы слишком сложно для нас, да и функция “не первой необходимости”. Но недавно, работая над склонениями текстов бесконечных актов, договоров и прочих юридических документов, мы вспомнили об используемом нами уже 2 года сервисе Морфер. Это прекрасный лингвистический сервис, специализирующийся на русском языке и позволяющий склонять по падежам слова, целые предложения, числительные, а также получать текст из цифр. В общем, потрясающая разработка всего одного человека — Сергея Слепова.
Подробнее о реализации функции определения пола на нашем сервисе

Простой Jquery скрипт для редактирования HTML5 текста и сохранения с помощью ajax

Reading time4 min
Views25K
Очень часто в процессе редактирования контента сайта необходимо (а также очень удобно) видеть готовый результат на странице браузера. Используя свойство тегов HTML5 — contenteditable, Jquery, Ajax и PHP создадим простой редактор текста HTML5 сайта.

Наш редактор будет обладать следующими свойствами:
— при клике мышкой на тексте предназначенном для редактирования этот текст сразу можно редактировать;
— при нажатии клавиши Escape после редактирования текста, все изменения в текущий текст отменяются;
— при потере фокуса, либо клике для редактирования другого текста, измененный текст отправляется на сервер, выводится сообщение о статусе отправки и ответа сервера.
Читать дальше →

Приватный чат на node.js — что может быть проще?

Reading time3 min
Views22K
Привет, друзья!

Дело было вечером, делать было нечего… Разбирая пример чата в Socket.IO, заинтересовала возможности без особых ухищрений сделать чат приватным. Идея не новая, и достаточна простая — выбираешь свой пол и возраст, указываешь желаемый пол и возраст собеседника, и, поехали! Своего рода рулетка.
Читать дальше →

Как не остаться голодным или безлимитный проход в столовую

Reading time2 min
Views115K

Всем привет.

Хочу поделиться одной ситуационной проблемой, которая возникла в ходе моего пребывания на проходящем в Калининградской области международном форуме и ее решением в стиле голодного IT'шника.

Пост будет о том, как удалось обойти лимит на одну порцию, установленный в столовой.
Как не остаться голодным?

Обновление HTML5 Web Designer от Google

Reading time1 min
Views36K


В сентябре прошлого года компания Google выпустила Web Designer — бесплатную программу под Windows, Mac и Linux, с помощью которой можно разрабатывать интерактивные HTML5-приложения, сайты и баннеры. С тех пор программа несколько раз обновлялась, но вчерашний апдейт является самым значительным.
Читать дальше →

Почему мы выбрали MongoDB

Reading time13 min
Views40K
Эта статья появилась на свет после прочтения материала «Почему вы никогда не должны использовать MongoDB». Ниже — история о том, как мы постепенно отказались от MySQL и пришли к использованию MongoDB в качестве основного хранилища данных.



Началось все где-то в 2008 году, когда было принято решение писать вторую версию нашего сайта. Уже какое-то время нам хотелось создать мультиязычную версию базы данных по играм, околоигровым компаниям, персонажам и т.п., так как существующее решение, как нам казалось, морально устарело.

Первым делом были сформулированы:
Требования

Взломать мобильную онлайн игру? Легко!.

Reading time24 min
Views661K
Привет, хабр! Сегодня я расскажу вам о том, с чем вы можете столкнуться, если вдруг решите залезть в дебри чужого приложения на Android (в данном случае, онлайн игры). Приключения с просмотром Java-классов в .dex, изучение оп-кодов Dalvik и даже программирование в двоичном коде. Но обо всем по порядку.

Под катом трафик на ~800кб, 293 из которых – скриншоты кода (!)
Господи, кто же сохраняет код скриншотами

Бесплатная расшифровка файлов CryptoLocker

Reading time1 min
Views67K


Вредоносная программа CryptoLocker относится к разряду так называемых «вымогателей». Она шифрует файлы на жёстком диске и требует оплаты «выкупа», прежде чем скачает с сервера секретный ключ для расшифровки файлов. Однако, со вчерашнего дня пользователи могут обойтись без оплаты: антивирусные компании FireEye и Fox-IT совместными усилиями запустили сервис DecryptCryptoLocker для бесплатной расшифровки файлов, которые зашифрованы CryptoLocker.
Читать дальше →

Сессии в PHP — подводный камушек при асинхронных запросах

Reading time1 min
Views20K
Небольшая предыстория.

У меня есть хобби-проект трекер.ру
Алгоритм такой: пользователь вводит поисковый запрос, этот запрос «на лету» ищет торренты на сторонних трекерах (рутор, рутрекер, tfile и тд).
Для параллельного поиска идет одновременно несколько аякс запросов, которые должны обработаться асинхронно.
Однако, запросы выполнялись синхронно. Если какой-то трекер долго не отдавал ответ, то остальные запросы подвисали и ждали ответа от подвисшего трекера. Общее время выполнение запросов равнялось сумме всех запросов. Хотя, по моим планам общее время должно было равняться самому долгому запросу.
Долго ломал голову, почему так. Грешил на HTTP pipelining. Но, причина оказалась намного банальней. Все дело в сессиях. Дело в том, что сессии в php консистентны и php не даст обратиться другому процессу к уже занятой сессии.
Потыкать и полюбоваться результатом

Социальная инженерия на практике: «физический доступ» на закрытую конференцию Кевина Митника

Reading time8 min
Views125K
«Физический доступ — это проникновение в здание интересующей вас компании. Мне это никогда не нравилось. Слишком рискованно. Пишу об этом — и меня уже пробивает холодный пот.» Кевин Митник, «Призрак в Сети. Мемуары величайшего хакера»



Еще в студенческое время, когда проводились олимпиады и конференции по информационной безопасности меня бесило то, что не принимались методы и работы, включающие в себя социальную инженерию (СИ). Как так! Ведь легендарный уже в те времена Митник говорит, что 99% взлома происходит с использованием СИ.

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

Под катом отрывок из книги Митника про физический доступ и история про проникновение на конференцию Митника в Москве 2013.
Читать дальше →

Dalek.js — простое функциональное тестирование веб-приложений

Reading time2 min
Views23K
Вы знаете, что такое Selenium и/или PhantomJS? И с чем их едят? Тогда, возможно, вам будет интересен проект Dalek.js — кроссбраузерная утилита для тестирования веб-приложений.

Dalek.js позволяет писать тесты, которые ходят по веб-страничкам, щелкают ссылки, заполняют формы, отправляют данные и делают скриншоты. То же самое и даже больше делают тесты, написанные с использованием Selenium'а или Phantom.js, в чем подвох?

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

Information

Rating
Does not participate
Date of birth
Registered
Activity