Nginx → Генерация уникального идентификатора пользователя средствами Nginx из песочницы
Приветствую Вас, хабрачитатели!
Расскажу об одной задачке, которая встала передо мной, и как я ее решил.
Сразу оговорюсь — часовой поиск в G и в Я удовлетворяющего результата не принес, но за следующий час было реализовано собственное решение.
Все это пока не более чем эксперимент — есть белые пятна как в идеи, так и в реализации, на данном этапе нужно понять жить или не жить.
Суть задачи сводилась к тому, что мне требовалось уникально идентифицировать посетителя в независимости от природы и вероисповедания компонентов системы (Web-проект). Причем сделать это максимально просто, быстро и без большого оверхеда по быстродействию.
Важно заметить, что авторизация пользователя по логину/паролю или еще как не производится.
В качестве веб-сервера и первичного балансировщика нагрузки у меня имеется Nginx.
В моей системе для php используетcя php-fpm через fastcgi, так же через fastcgi работает c++ сервер бизнес логики.
Расскажу об одной задачке, которая встала передо мной, и как я ее решил.
Сразу оговорюсь — часовой поиск в G и в Я удовлетворяющего результата не принес, но за следующий час было реализовано собственное решение.
Все это пока не более чем эксперимент — есть белые пятна как в идеи, так и в реализации, на данном этапе нужно понять жить или не жить.
Суть задачи сводилась к тому, что мне требовалось уникально идентифицировать посетителя в независимости от природы и вероисповедания компонентов системы (Web-проект). Причем сделать это максимально просто, быстро и без большого оверхеда по быстродействию.
Важно заметить, что авторизация пользователя по логину/паролю или еще как не производится.
В качестве веб-сервера и первичного балансировщика нагрузки у меня имеется Nginx.
В моей системе для php используетcя php-fpm через fastcgi, так же через fastcgi работает c++ сервер бизнес логики.
Информационная безопасность → Электронная подпись в браузере с помощью OpenSSL и СКЗИ Рутокен ЭЦП
Потребность в решениях, помогающих реализовать электронную подпись в «браузере», возрастает. Главные требования к таким решениям — поддержка российких криптоалгоритмов, обеспечение безопасности ключа и нормальное usability. В данном топике мы напишем браузерный криптографический java-апплет, в который интегрирован OpenSSL ГОСТ c модулем поддержки Рутокен ЭЦП. Этот апплет не требует установки какого-либо клиентского софта (кроме java-машины, конечно) и позволяет подписывать файлы через браузер в формате PKCS#7 с ипользованием аппаратной реализации российских криптографических стандартов на «борту» USB-токена Рутокен ЭЦП. Для демонстрации в топике будет дан пример HTML-страницы, использующей данный апплет. На странице можно сгенерить ключ внутри токена, создать заявку PKCS#10 на сертификат для этого ключа, получить тестовый сертификат, записать его на токен, подписать файл.
Архитектура решения представлена на рисунке:
Архитектура решения представлена на рисунке:
Lisp → Пишем веб-сервер на Common Lisp часть вторая
В прошлой статье мы начали разработку нашего веб-сервера. Продолжим c файлом util.lisp. В этом пакете будут находится все наши вспомогательные функции для обработки запросов. Для начала обьявим переменную *line*, она нам понадобится в дальнейшем.
Lisp → Пишем веб-сервер на Common Lisp часть первая
Не так давно я взялся за изучение Common Lisp. Как может показаться, изучение нового языка программирования — дело весьма не простое, тем более если он совсем непохож на все те языки, с которыми приходилось сталкиваться ранее. Поэтому я решил начать с книги Land Of Lisp. Книга весьма неплохая, с интересными картинками и очень хорошо подходит для начинающих. В одной из глав было описание создания веб-сервера на Common Lisp. Я решил слегка развить эту тему, и в итоге у меня получилось не совсем то, что было описано в этой главе, а весьма интересный веб-сервер. Исходные коды можно посмотреть тут.
Для его написания нам понадобится Linux с установленными emacs, sbcl, slime и quicklisp. Описывать, как это всё устанавливать, настраивать и как этим пользоваться, я не стану — в интернете есть множество статей об этом. Весь наш веб-сервер будет находиться в одном пакете, называемом myweb. Создайте у себя папку с данным названием, и в ней создайте две папки log и web. Папка log будет содержать лог-файл веб-сервера. В папке web будут лежать html-страницы и изображения, которые веб-сервер будет отдавать клиентам. Весь веб-сервер состоит из семи файлов.
Для его написания нам понадобится Linux с установленными emacs, sbcl, slime и quicklisp. Описывать, как это всё устанавливать, настраивать и как этим пользоваться, я не стану — в интернете есть множество статей об этом. Весь наш веб-сервер будет находиться в одном пакете, называемом myweb. Создайте у себя папку с данным названием, и в ней создайте две папки log и web. Папка log будет содержать лог-файл веб-сервера. В папке web будут лежать html-страницы и изображения, которые веб-сервер будет отдавать клиентам. Весь веб-сервер состоит из семи файлов.
Веб-разработка → Dart — путь к мировому господству за 24 час… месяца

Выводы данной статьи сделаны на основе попавшей несколько месяцев назад в публичный доступ внутренней переписки Google, а так же доступной статистике по рынку браузеров и мобильных устройств.
Сразу после анонса Dart получил просто шквал критики: скудность синтаксиса, непонятная позиция и переспективы на рынке, слабо развитые средства разработки. Разве это когда-нибудь станет языком #1 для Web и вытеснет JavaScript? Знаете, станет, и вот почему…
1. Chrome уже обогнал Firefox в некоторых странах(UK), через полгода обгонит суммарно, а потом вытеснит совсем: к сожалению новый цикл разработки не пошёл Firefox на пользу: плагины не успевают обновлятся, жалуются на схему как системные администраторы, так и разработчики, а стабильность и прожорливость ресурсов — пока на старом уровне. Internet Explorer так же продолжает терять рынок. В ближайшем будущем на десктопе будет доминирование IE & WebKit(Chrome & Safari).

На мобильных устройствах, которые растут куда быстрее, WebKit уже #1 с практически полным покрытием рынка смартфонов и таблеток: Android/iOS/BlackBerry/Bada/WebOS/Symbian. Именно здесь сейчас протекают самые интересные инновации пользовательских интерфейсов.
Но, как мы помним, в основной ветке WebKit используется не V8 от Google, а JavaScriptCore/SquirellFish. Я думаю, что Google попытаются перенести V8 в проект WebKit — таким образом Google может получить ~50% рынка десктопов и 90% рынка мобильных устройств, которые из коробки смогут поддерживать Dart.
Обработка изображений → Боремся с цветопередачей фотографий в интернете
Так или иначе практически у всех есть знакомые фотографы, и я уверен на все 100%, что хотябы один из них жаловался на проблему цветопередачи загружаемых фотографий на популярные сервисы. На деле решение этой проблемы довольно простое.
Вопросы безопасности в веб-технологиях → Шифрование/дешифрование данных на стороне клиента в web-ориентированных системах из песочницы
В наши дни всё больше программ переводятся в так называемый «web-ориентированный» вид, то есть используется принцип клиент-сервер, что позволяет хранить данные удалённо и получать к ним доступ через тонкий клиент (браузер).
Одновременно с удобством использования остро встаёт вопрос о защищённости этих данных. Конфиденциальная информация может стать доступна другим людям несколькими путями. Во-первых, к пользователю могут быть применены физические меры для выпытывания. Во-вторых, при передаче данные могут быть перехвачены различными снифферами. И, в-третьих, на сервер могут быть произведены хакерские атаки, что позволит злоумышленникам похитить информацию, либо недобросовестный администратор сервера воспользуется ею в личных целях.
Некоторое время назад у меня возникла задача разработать прототип программы шифрования/дешифрования данных на стороне клиента в web-ориентированных системах.
Одновременно с удобством использования остро встаёт вопрос о защищённости этих данных. Конфиденциальная информация может стать доступна другим людям несколькими путями. Во-первых, к пользователю могут быть применены физические меры для выпытывания. Во-вторых, при передаче данные могут быть перехвачены различными снифферами. И, в-третьих, на сервер могут быть произведены хакерские атаки, что позволит злоумышленникам похитить информацию, либо недобросовестный администратор сервера воспользуется ею в личных целях.
Задача
Некоторое время назад у меня возникла задача разработать прототип программы шифрования/дешифрования данных на стороне клиента в web-ориентированных системах.
Персональные блоги → Конференция JavaDay в Воронеже, 29 октября

29 октября 2011, Институт менеджмента, маркетинга и финансов, 2-й корпус.
29 октября компания DataArt совместно в компанией Oracle проводит конференцию для Java-разработчиков JavaDay Воронеж.
Для Воронежа такая конференция станет уникальным событием. Она будет полезна Java-программистам и желающим ими стать, руководителям IT-компаний и IT-подразделений, студентам и преподавателям, всем, кому не безразличны технологии свободного ПО.
Генеральный спонсор – Oracle
Организатор – DataArt
Персональные блоги → Hacby’11 web&mobile 8-9 октября 2011 в Минске
Приглашаем web- и mobile-фанатиков, дизайнеров, системных инженеров и всех, кто связан с информационными технологиями, принять участие в хакатоне Hacby’11 web&mobile, который состоится в Минске 8-9 октября.
Задача – за 24 часа создать любой web-проект или мобильное приложение. Что же вы можете и, вероятно, будете делать в эти 24 часа? Девелопить, дизайнить, кодить, инженерить, завязывать знакомства, общаться и, конечно же, идти к реализации своей мечты. Должна же быть у человека реализованная мечта!
Что ждет победителя? Всеобщий почет и обожание! Женщины и мужчины (кому кто нравится) будут бросаться к вам в объятия. В качестве небольшого бонуса проект-победитель, выбранный по результатам голосования самими же участниками, получает $1k. Также небольшой приз в размере $0.5k, получит лучший проект, реализованный на Ruby on Rails или созданный с применением cloud-технологий.
По завершении хакатона всех ждет Afterparty на открытом воздухе с пивом и барбекю.
Место проведения – Hostel JAZZ (ул.Мозырьская, 37 А).
Предварительная запись обязательна. Заявки на участие принимаются до 13.00 7 октября 2011.
Организаторы:
Компания Altoros Development при поддержке Belarus Open Source Lab, Meetup By, Belarus Java User Group и Belarus Ruby on Rails User Group.
Подробная информация о мероприятии и контакты – на сайте http://hackathon.by/
Задача – за 24 часа создать любой web-проект или мобильное приложение. Что же вы можете и, вероятно, будете делать в эти 24 часа? Девелопить, дизайнить, кодить, инженерить, завязывать знакомства, общаться и, конечно же, идти к реализации своей мечты. Должна же быть у человека реализованная мечта!
Что ждет победителя? Всеобщий почет и обожание! Женщины и мужчины (кому кто нравится) будут бросаться к вам в объятия. В качестве небольшого бонуса проект-победитель, выбранный по результатам голосования самими же участниками, получает $1k. Также небольшой приз в размере $0.5k, получит лучший проект, реализованный на Ruby on Rails или созданный с применением cloud-технологий.
По завершении хакатона всех ждет Afterparty на открытом воздухе с пивом и барбекю.
Место проведения – Hostel JAZZ (ул.Мозырьская, 37 А).
Предварительная запись обязательна. Заявки на участие принимаются до 13.00 7 октября 2011.
Организаторы:
Компания Altoros Development при поддержке Belarus Open Source Lab, Meetup By, Belarus Java User Group и Belarus Ruby on Rails User Group.
Подробная информация о мероприятии и контакты – на сайте http://hackathon.by/