Pull to refresh
20
0
Александр @Vendict

PHP-программист

Send message

Система учета на базе OCR системы

Reading time5 min
Views7.5K

Пролог


По ходу своей трудовой деятельности получил задачу придумать и реализовать систему учета рекламной информации. Учет заключался в проверке наличия нужной информации на нужном рекламном щите. Щит и полиграфия пронумерованы.
В качестве исходной информации для системы предлагалось использовать фото. После торговли согласования с дизайнерами было оговорено, что оба номера будут располагаться внутри одной рамки. Единственное, что рамка могла быть в любом месте щита.
Собственно на этом постановка задачи заканчивается и начинается повествование о реализации.
Задача решается в три действия:
  1. Нахождение нужного прямоугольника на изображении.
  2. Распознавание текста.
  3. Проверка правильности распознавания.

Читать дальше →
Total votes 23: ↑20 and ↓3+17
Comments15

Как рядовой пользователь воевал за соблюдение закона «О персональных данных»

Reading time8 min
Views17K
Сегодня, в блоге компании Pravo.ru появился любопытный топик о том, как надо вести себя компаниям, собравшимся открывать Интернет-ресурсы, которым придётся работать с персональными данными клиентов. Поэтому, по просьбам трудящихся, выложу свою историю со стороны рядового пользователя, который решил проверить свои права в деле.

Вообще не секрет, что многие технологические новинки до России доходят с изрядной задержкой. Это касается почти всего — от мобильных гаджетов и компьютерных игр до автомобилей. Причины таких задержек самые разные, но выражаются они не только в нехватке этих самых новинок, но и медленной реакции законодательства на изменения технического прогресса. Касательно темы поста, это выражается в законах, регламентирующих порядок обработки персональных данных пользователя. Заграницей, в государствах Западной Европы, Северной Америки и ряда других развитых стран мира законы в разной степени регулируют обработку данных с середины 80-х, начала 90-х годов, но в России подвижки по этому вопросу начались только на рубеже XX-XXI века, что вылилось в принятие федерального закона «О персональных данных». В чём его значение для рядового гражданина? Значение в том, что он способен защитить права и свободы человека при обработке его личных данных.
Читать дальше →
Total votes 102: ↑88 and ↓14+74
Comments50

Three.js — 3D в браузере своими руками или WebGL становится ближе

Reading time7 min
Views32K
Тема про three.js от mrdoob в свое время проскакивала на хабре, но детально еще не рассматривалась. В этой и(возможно) последующих статьях я постараюсь исправить это упущение. К сожалению, three.js не предоставляет никакой внятной документации, поэтому все знания по нему получены экспериментальным путем и ковырянием спеки WebGL, т.е. любые дополнения автору топика только приветствуются.

В этой статье мы создадим простенькое приложение, которое продемонстрирует базовые возможности этого движка, поработаем с камерой, светом и тенью, а также научим наши объекты перемещаться. В конце статьи ссылка на файлы демки и скриншот. Итак, к делу!
Читать дальше →
Total votes 40: ↑39 and ↓1+38
Comments22

Определение доступности GPS в Android

Reading time4 min
Views32K
Приветствую, хабрасообщество!

Эта статья, надеюсь, станет хорошим подспорьем начинающим в области программирования под Android. А может даже и матерые профи что-нибудь почерпнут.

Итак, понадобилось мне как-то определять, доступен ли в настоящее время GPS-фикс. Казалось бы, LBS (location-based service) — вещь перспективная и популярная, и Google, прекрасно это понимая, предоставит простой в обращении инструмент для их разработки. Ага, разбежался… Не так-то все и просто, поэтому приходится в определенной мере изощряться.

Читать дальше →
Total votes 34: ↑31 and ↓3+28
Comments15

Новая версия Менеджера устройств ONVIF

Reading time4 min
Views79K
Менеджер устройств ONVIF (ONVIF Device Manager — onvifdm) — открытая реализация клиента (приемной части) системы охранного видеонаблюдения на базе международного стандарта ONVIF. В состав приложения входит библиотека ONVIF, которая позволяет взаимодействовать с сетевыми устройствами, такими как IP-камеры, видеоэнкодеры, считыватели ключей, турникеты, датчики дыма. Менеджер устройств ONVIF и библиотека могут быть использованы при разработке коммерческого или любительского ПО, например, для удаленного наблюдения за коттеджем, определения длины очереди в магазине, фотографирования птиц.

Менеджер устройств ONVIF
Читать дальше →
Total votes 30: ↑27 and ↓3+24
Comments9

Node.js для начинающих

Reading time1 min
Views41K
NodeBeginner.ru — перевод на русский язык учебника по Node.js для начинающих «The Node Beginner Book» автора Manuel Kiessling.

Учебник предназначен для разработчиков с опытом работы с каким-либо объектно-ориентированным языком, немного знакомых с JavaScript и полных новичков в Node.js. Оригинал ещё находится в процессе написания, законченно около 90%. Перевод будет соответственно обновляться.
Total votes 74: ↑69 and ↓5+64
Comments31

Создаём модульное приложение

Reading time3 min
Views7.5K
Вы захотели сделать браузер с плагинами, программу с темами, игру с аддонами или какое-то другое модульное приложение для Android? Но как это сделать? Я расскажу, как сделать простое приложение, которое будет получать текст от модулей.
Читать дальше →
Total votes 12: ↑8 and ↓4+4
Comments11

Использование Pastebin для хранения украденных данных

Reading time3 min
Views31K
Pastebin – популярный сайт для хранения и общего использования текста. Хотя по большей части он используется для распространения легитимных данных, судя по всему его часто используют в качестве репозитория для украденной информации (детали конфигурации сетей, аутентификационные записи). Различные хакерские группировки и индивидуальные хакеры распространяют с помощью этого сервиса свою добычу. За последние недели в этом особо отличилась группировка LulzSec.

Что популярно на Pastebin

Чтобы узнать, какая информация доступна на Pastebin, посмотрим на страницу Trending Pastes Page:
  • листинги адресов подсетей, принадлежащих различным организациям;
  • дампы скомпрометированных аккаунтов Facebook вместе с адресами электронной почты и паролями;
  • базы данных пользователей скомпрометированных веб-сайтов, включая адреса электронной почты, привилегии доступа и хэши паролей;
  • результаты экспорта таблиц пользователей из скомпрометированных баз данных, включая логины и пароли.

Читать дальше →
Total votes 37: ↑31 and ↓6+25
Comments7

Добавь мультфильм в «Ну, погоди!»

Reading time1 min
Views1.5K
image
Всем кто так и не увидел мультика после 1000 очков, предоставляется второй шанс. Исходники приложения «Ну, погоди!» под iOS теперь доступны любому желающему на github.
Читать дальше →
Total votes 46: ↑43 and ↓3+40
Comments14

Защита идентификатора сессий в PHP

Reading time3 min
Views50K
Безопасность веб-сайтов основывается на управлении сессиями. Когда пользователь подключается к безопасному сайту, он предоставляет учетные данные, как правило, в форме имени пользователя и пароля. Веб-сервер не имеет представления о том, какой пользователь уже вошел в систему и как он переходит от страницы к странице. Механизм сессий позволяет пользователям не вводить пароль каждый раз, когда они хотят выполнить новое действие или перейти к новой странице.

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

После аутентификации пользователя, веб-сервер предоставляет ему идентификатор сессии. Этот идентификатор хранится в браузере и подставляется всякий раз, когда нужна проверка подлинности. Это позволяет избежать повторяющихся процессов ввода логина/пароля. Все это происходит в фоновом режиме и не доставляет дискомфорта пользователю. Представьте, если бы вы вводили имя и пароль каждый раз, когда просматривали новую страницу!

В данной статье я постараюсь изложить все известные мне способы защиты идентификатора сессии в PHP.

Итак, поехали.
Читать дальше →
Total votes 25: ↑12 and ↓13-1
Comments23

Cheerick. История одного стартапа. По-честному

Reading time3 min
Views1.3K
imageПривет, Хабр!

Мы – Cheerick.ru, первый Российский сервис микро-услуг. Мы хотим рассказать о пройденном нашей командой пути, наделанных ошибках и полученных результатах, а также услышать мнение хабражителей о стартапе и получить справедливую критику.

Идея придумать идею

Наверное начиналось всё у нас как обычно. Как у всех. Вначале — идея создать своё дело — не работать на дядю. Плюсы такого подхода очевидны, но и ответственность больше.
Для программиста есть два пути в IT-отрасли в качестве бизнесмена:
  1. Работать на заказ. Т.е. самому открыть компанию, которая занимается разработкой ПО, самому искать заказчиков, команду и т.п.
  2. Делать какой-то свой проект-стартап (фрэймворк, библиотеку, сайт и т.д.), который затем продавать или на нём зарабатывать.

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

Второй путь – путь более рискованный. Вероятность, что идея приживется и будет приносить прибыль низка, средства вложенные в проект вернутся совсем не скоро, однако сумма возможной прибыли больше.
Читать дальше →
Total votes 35: ↑18 and ↓17+1
Comments42

Алгоритм быстрого нахождения похожих изображений

Reading time8 min
Views61K

Введение


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

Базовый Алгоритм


Мера схожести изображений


При сравнении похожих изображений первым встает вопрос: что считать мерой схожести изображений? Очевидно, что это величина имеет значение обратное различию изображений друг от друга. Следственно нужно выбрать некую метрику, характеризующую различие изображений друг от друга. Тогда схожими изображениями будут считаться изображения, отличие между которыми меньше некоторого порога. Для изображений с одинаковыми габаритами, обычно такой мерой различия служит среднеквадратическое отклонение пикселей одного изображения от другого. Хотя конечно, нам ни что не мешает выбрать другую метрику, например усредненную абсолютную разность пикселей изображений друг от друга.
Читать дальше →
Total votes 57: ↑55 and ↓2+53
Comments20

Парсер формул с помощью метода рекурсивного спуска

Reading time6 min
Views77K


Доброго времени суток, уважаемые Хабровчане!

Хочу поделится с вами реализацией алгоритма «Метод рекурсивного спуска» на примере написания парсера формул с поддержкой переменных и функций на языке Java

Эта статья в (скорее всего, во всяком случае я надеюсь :) ) будет интересна для новичков, или кому-то применить как фундамент для своего решения данной задачи.
Кому интересно — прошу под кат
Читать дальше →
Total votes 80: ↑62 and ↓18+44
Comments25

Wuala — революция облачного хранения!

Reading time2 min
Views5.5K
Я был ужасно удивлён, почему на хабре нет ни одной статьи про Wuala.
Если коротко — это аналог Dropbox, но с некоторыми удивительными отличиями.
По умолчанию пользователю дается всего 1 гигабайт облачного пространства, но его бесплатно можно расширить если у вас есть свободное место, которым вы готовы поделиться с другими.
Постараюсь не затягивать статью, но первый блин, как известно, комом!
Читать дальше →
Total votes 110: ↑88 and ↓22+66
Comments116

Свойства CSS, влияющие на рендеринг шрифта

Reading time2 min
Views74K
Когда дело доходит до рендеринга шрифта на Вебе, дизайнер может сделать не слишком многое. То, как шрифт выглядит на экране, по большей части зависит от операционных систем, браузеров, дизайна гарнитур, шрифтовых файлов и от того, дополнены ли эти файлы инструкциями для самых неожиданных сценариев рендеринга. Но иногда свойства CSS могут повлиять на то, как выглядит шрифт.



Читать дальше →
Total votes 60: ↑53 and ↓7+46
Comments48

Главное – хвост! или Отказ от регистрации 2

Reading time4 min
Views1.4K
Заметка «Отказ от регистрации» взбудоражила мой ум и я часа 2 не мог уснуть (или это была чашка кофе на ночь?..)

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

Решение пришло как раз перед сном, а реализацию сделал сегодня утром. Остался доволен.

Но, обо всём по порядку.

Читать дальше →
Total votes 82: ↑63 and ↓19+44
Comments137

Опытные мелочи-4, или «Померяемся бэкапами?»

Reading time6 min
Views32K
image Продолжение «опытных мелочей». Предыдущие части: раз, два, три.

Сегодня я расскажу о принципах делания бэкапа, которые выстроились в результате проб и ошибок, и не раз спасали ситуацию в самый, казалось бы, неожиданный момент.
Читать дальше →
Total votes 63: ↑59 and ↓4+55
Comments47

Знакомство с межпроцессным взаимодействием на Linux

Reading time11 min
Views207K
Межпроцессное взаимодействие (Inter-process communication (IPC)) — это набор методов для обмена данными между потоками процессов. Процессы могут быть запущены как на одном и том же компьютере, так и на разных, соединенных сетью. IPC бывают нескольких типов: «сигнал», «сокет», «семафор», «файл», «сообщение»…

В данной статье я хочу рассмотреть всего 3 типа IPC:
  1. именованный канал
  2. разделенная память
  3. семафор
Отступление: данная статья является учебной и расчитана на людей, только еще вступающих на путь системного программирования. Ее главный замысел — познакомиться с различными способами взаимодействия между процессами на POSIX-совместимой ОС.
Читать дальше →
Total votes 79: ↑78 and ↓1+77
Comments22

Генерация приглашений, похожих на инвайты сайта habrahabr

Reading time5 min
Views11K
Скрипт генерирует приглашения для регистрации на сайте в виде картинки 51x51 пикселей формата PNG, написан на PHP, в качестве базы данных использует MySQL. Сделан ради интереса, будет интересен только новичкам.
подробнее
Total votes 92: ↑63 and ↓29+34
Comments66

Статья-размышление про вход на сайт без пароля

Reading time6 min
Views7.3K
На Хабре уже не раз и не два публиковались статьи о необходимости разрешить пользователю войти через Google/Twitter/Facebook и т.д. Собственно говоря, прогрессивное человечество давно решило, что требовать от пользователя придумывать логины и пароли — вчерашний день. В данной статье я хочу обсудить возникающие проблемы и способы их решения.
Читать дальше →
Total votes 61: ↑52 and ↓9+43
Comments68

Information

Rating
Does not participate
Location
Орел, Орловская обл., Россия
Date of birth
Registered
Activity