Search
Write a publication
Pull to refresh
0
0
Владимир Волкских @Volkskih

User

Send message

vkontakte_api: ruby-адаптер для ВКонтакте API

Reading time7 min
Views28K
В начале этого года мне понадобилось работать с API ВКонтакте из rails-приложения. Увы, я не нашел сколько-нибудь устраивающего меня гема: где-то меня принуждали писать названия методов в camelCase (что в ruby-коде выглядит неестественно), где-то — обязательно проходить авторизацию через библиотеку (при том, что я использовал omniauth) и вообще везде для обращений к API использовался захардкоденный Net::HTTP, блокирующий реактор эвентмашины, на которую я тогда прицеливался. Также в плане документации почему-то все было очень грустно, и приходилось постоянно читать исходники.

Так появился на свет vkontakte_api. Рельсовый проект, послуживший поводом для написания данной библиотеки, уже успел почить — но гем живет и продолжает развиваться, в июле достигнув версии 1.0 (которая послужила поводом для значительных изменений). Используя faraday, библиотека поддерживает вызов любых методов API, загрузку файлов на сервера ВКонтакте и опциональную авторизацию, не принимая за программиста решения, упомянутые в предыдущем абзаце.

Посмотрим, как работать с API с помощью vkontakte_api. В качестве примера сгодится несложное веб-приложение, отображающее на странице ленту новостей (API-метод newsfeed.get), список друзей (friends.get) и групп (groups.get) пользователя, прошедшего OAuth2-авторизацию. А выглядеть это будет примерно так:


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

Роскомнадзор утвердил методику подсчета посетителей сайтов

Reading time1 min
Views25K
Роскомнадзор в рамках исполнения так называемого закона о блогерах утвердил методику определения количества посетителей сайтов или страниц сайтов в интернете. Методика утверждена «с целью исполнения нормы закона, согласно которой сайты или страницы сайтов с общедоступной информацией и с посещаемостью более 3 тыс. пользователей в сутки должны быть включены в соответствующий реестр, который ведет Роскомнадзор».
Читать дальше →

Роскомнадзор заблокировал 7 страниц GitHub

Reading time2 min
Views62K

Но некоторые россияне потеряют доступ к сайту полностью


На своей странице в Facebook представители Роскомнадзора сообщили о передаче операторам связи списка из «7 указателей страниц сайта» сервиса GitHub для блокировки. Скорее всего, речь идёт о конкретных URL.

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

Вероятно, под помощью имелось в виду привлечение блогами и СМИ внимания к предыдущему сообщению Роскомнадзора, в котором федеральная служба сетовала на то, что предупреждения были высланы, но администрация GitHub на них никак не отреагировала.
Читать дальше →

Криптографическая защита DNS-трафика

Reading time1 min
Views23K
Разработчики из OpenDNS выпустили маленькую утилиту DNSCrypt (technology preview), которую должен установить каждый. Эта программка шифрует трафик между вашей машиной и сервером OpenDNS, так что злоумышленник, будь то физическое лицо или государственная структура, не может прослушать, подменить или отфильтровать пакеты. В каком-то смысле DNSCrypt выполняет для DNS-трафика ту же функцию, что SSL для HTTP.

Скачать DNSCrypt можно здесь (пока только под Mac).

DNSCrypt на github: прокси, клиент под OS X.

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

Для шифрования здесь применяется эллиптическая криптография (Curve25519). Дизайн криптографической системы примерно такой же, какой описан на странице проекта DNSCurve. Первые отзывы экспертов о DNSCrypt пока осторожно восхищённые.

Github опять заблокирован

Reading time1 min
Views159K
Обычный вечер веб-разработчика не сулил ничего необычного. Нужно было всего лишь развернуть проект на виртуальной машине.

Но тут подкрался Роскомнадзор...
$ composer create-project symfony/framework-standard-edition xxx
Installing symfony/framework-standard-edition (v2.6.0)
<...>
  - Installing symfony/symfony (2.6.x-dev 09d1a15)
    Cloning 09d1a15efe18945bb97fac3adc74d56b3bfd42f4
    Failed to download symfony/symfony from source: Failed to clone git@github.com:symfony/symfony.git via git, https, ssh protocols, aborting.

- git://github.com/symfony/symfony.git
  fatal: unable to connect to github.com:
  github.com[0: 62.192.255.178]: errno=No route to host

image

Причём ещё и по требованию Роспотребнадзора. Интересно, при чём тут он?

Проект Gestalt – пишите на Ruby, Python и XAML прямо в HTML на стороне клиента

Reading time5 min
Views4.8K
imageGestalt – это open source фреймворк, который позволит вам включить в обыкновенный html-код страницы коды на Ruby или Pyhton и даже XAML-разметку. И все это будет работать на стороне клиента! Если вы хотите написать клиентский код подобный следующему,
<script language=«python»> или <script language=«ruby»>
то Gestalt сделан специально для вас. Быстрый старт и простейшую демонстрацию можно посмотреть по адресу http://www.visitmix.com/labs/gestalt/getstarted/.

* внимание, исполняющая среда запускается не мгновенно, при самой первой загрузке стоит подождать пару секунд и все заработает

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

Ruby|Python в браузере, сделай сам

Reading time3 min
Views6.4K

Зачем?

sidebar_gestaltКлиентскую часть в веб-приложениях принято создавать на JavaScript. Я считаю, что большинство разработчиков с огромным удовольствием бы отошли от этого правила и воспользовались своим любимым server-side языком. Ну что же, команда MIX Online предоставила любителям динамических языков такую возможность, подробнее об этом можно прочитать в “Проект Gestalt – пишите на Ruby, Python и XAML прямо в HTML на стороне клиента”. Ниже я предлагаю создать нечто подобное, но уже своими силами.
Читать дальше →

Установка последних RedMine + Apache + nginx

Reading time26 min
Views49K
Redmine logo

Приведу кратко основное по RedMine:
  • ведение нескольких проектов;
  • система отслеживания ошибок;
  • диаграммы Ганта;
  • настраиваемые произвольные поля для инцидентов, временных затрат, проектов и пользователей;
  • лёгкая интеграция с системами управления версиями (SVN, Git, Mercurial);


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

Что мне нравится в Redmine

Reading time4 min
Views131K
В недавней статье об инструментах управления проектами был задан вопрос о различиях Trac и Redmine. Ниже перевод довольно субъективной, но вполне аргументированной статьи о различиях между этими системами.

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

Nexus 5 + JavaScript + 48 часов = сенсорная поверхность?

Reading time6 min
Views67K
Несколько недель назад в Минске проходил хакатон WTH.BY, в котором я решил принять участие. Его основной идеей было то, что это хакатон для разработчиков. Мы могли делать все, что угодно, лишь бы нам это было весело и интересно. Никаких монетизаций, инвестиций и менторов. Всё весело и круто!

Идей для реализации у меня было много, но все они не дотягивали до какого-то «Вау!». Именно поэтому накануне мероприятия я пролистывал старые статьи хабра из раздела DIY и наткнулся на статью "Опыт создания multitouch стола". Это было то, что вызвало тот самый отсутствующий «Вау!» и я решил сделать отдаленный аналог из того, чтобы под рукой.

Под рукой у меня оказалось стекло формата примерно А3, обычная бумага, маркер, мобильный телефон и ноутбук. Я быстро нашел себе сообщника Егора и началась активная работа.

Картинки нет. И счастья нет. И денег тоже нет. И дальше будет только хуже.
Что было дальше?

История успеха Open Source во Франции: общая стоимость владения компьютерным парком национальной жандармерии упала на 40%

Reading time2 min
Views33K
Во Франции на высоком уровне — результаты представлял лично министр внутренних дел Стефан Дюмон (Stéphane Dumond) — рассказали об эксперименте по переходу на свободное программное обеспечение на компьютерах жандармерии (Gendarmerie nationale), которая выполняет функции внутренних войск и военной полиции в государстве.

Ещё в 2004 году в ведомстве начал обсуждаться вопрос, что делать для того, чтобы "… предоставить всем пользователям доступ к внутренней компьютерной сети, значительно расширить использование стандартных инструментов для повышения производительности офиса". В итоге было принято волевое решение и на 90 000 компьютеров был установлен Open Office, формат ODF был принят для внутриведомственной переписки, а 20 000 лицензий на старый офисный пакет оказались не продлёнными.
Узнать подробности

Криптографические решения. От криптопровайдеров до браузерных плагинов

Reading time11 min
Views57K
Производители средств криптографической защиты информации (СКЗИ) предлагают различные механизмы для интеграции криптосредств в информационные системы. Существуют решения, ориентированные на поддержку систем с Web-интерфейсом, мобильных и десктопных приложений, серверных компонентов. СКЗИ интегрируются в приложения Microsoft и в продукты Open Source, обеспечивают поддержку различных прикладных протоколов и форматов электронной подписи.

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

В данном материале сделана попытка классифицировать средства криптографической защиты информации.
  • Рассмотрены в основном СКЗИ, использующиеся на клиентских местах для защиты клиент-серверных соединений по протоколу TLS, для организации ЭЦП, шифрования передаваемых данных;
  • Не рассматриваются СКЗИ, применяемые для создания VPN и шифрования файловой системы, хранимых данных, а так же УЦ;
  • Отдельно выделены аппаратные криптографические устройства.

Классификация построена на основе:
  • технологий интеграции (CryptoAPI, Active-X, NPAPI и др.), которые поддерживают СКЗИ для встраивания в приложения и прикладные системы;
  • интерфейсов, которые предоставляют СКЗИ для встраивания в приложения и прикладные системы.

Кроме того, показаны способы интеграции СКЗИ с Web-приложениями и возможность его использования на мобильных платформах

Общая схема классификации приведена в таблице:
Криптопровайдеры Нативные библиотеки (openssl-style, PKCS#11, NSS, собственные интерфейсы) Локальные прокси Браузерные плагины Облачная подпись Браузеры с российской криптографией
Почтовые клиенты с российской криптографией Российская криптография в фреймворках, платформах, интерпретаторах Настольные криптографические приложения Криптография в BIOS UEFI Сервис-провайдеры ЭЦП Эмуляторы доверенной среды
Аппаратные средства

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

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

Авторизация на портале Госуслуг с помощью Рутокен ЭЦП

Reading time4 min
Views78K
Одному из сотрудников нашей компании понадобилось зарегистрироваться на портале Госуслуг. Как известно, на портале сейчас есть возможность входить в личный кабинет по логину/паролю, либо по электронной подписи. Вариант с логином/паролем был отброшен в силу профессиональной паранойи, и поехал сотрудник в УЦ Ростелекома — оператора системы — получать сертификат. В УЦ ему в качестве носителя электронной подписи/аппаратного СКЗИ не предложили Рутокен ЭЦП. В силу корпоративного патриотизма сотрудник решил не форсировать события, а попробовать-таки зайти на Госуслуги, используя для электронной подписи Рутокен ЭЦП.
Что из этого получилось, описано под катом.



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

Рутокен ЭЦП и Open Source

Reading time3 min
Views31K


Мне нравится современный Open Source. Нравится не как идея, а с вполне прагматической точки зрения. Фактом является то, что компания любого масштаба может использовать Open Source приложения в своей информационной системе и получить в результате кроссплатформенные, удобные и бесплатные решения практически любых проблем.

Мы прилагаем много усилий, чтобы «подружить» Рутокен ЭЦП и различные приложения Open Source. Для этой цели мы добавили поддержку российских криптоалгоритмов (ГОСТ 28147-89, ГОСТ Р 34-11.94 и ГОСТ Р 34-10.2001) и устройств Рутокен и Рутокен ЭЦП в проект OpenSC, а также разработали свою собственную кроссплатформенную библиотеку PKCS#11, работающую на операционных системах Microsoft Windows, GNU/Linux, Mac OS X, FreeBSD и др.

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

10 уроков о том, как повысить продуктивность, которые я усвоил, работая по 90 часов в неделю целый месяц

Reading time8 min
Views199K
image

Сколько часов в неделю вы тратите на работу? Около 40, не так ли? А как вы думаете, что будет, если работать 90 часов в неделю?

Автор сайта a Year of Productivity Chris Bailey решил провести такой эксперимент. К чему это привело? Читайте о 10 уроках, которые он извлек, в нашем переводе его статьи.
Читать дальше →

Лицензия для вашего open-source проекта

Reading time98 min
Views191K
В этой статье я хочу немного поговорить об авторском праве и свободных лицензиях на ПО. Текст является результатом самостоятельного выбора лицензий и их применения к своим проектам.

Статья будет полезна тем, кто хочет:

— в общих чертах понять, что такое авторское право (но лучше обратиться к юристу);
— подобрать свободную лицензию для своего проекта;
— разобраться, что нужно писать в шапке файла исходного кода.
Читать дальше →

Мой open source велосипед

Reading time4 min
Views18K
“Воин не бросит начатое.”
Мастер Шифу, м.ф. Кунг-фу Панда


Можно рассматривать этот топик не как технический, а как художественный. Тут не будет кусков кода, диаграмм классов и прочей ерунды. Будет история одного java open source проекта, который я разрабатываю уже около года.

Начало


Все началось, когда я был на четвертом курсе одного провинциального российского университета. С семестра, о котором ходили легенды на моей специальности, как о “семестре-убийце“ с его 55-ю лабораторными работами по графике, компиляторам и вычислительной математике (далее ВМ).
Читать дальше →

Распознавание речи от Яндекса. Под капотом у Yandex.SpeechKit

Reading time10 min
Views147K
imageНа Yet another Conference 2013 мы представили разработчикам нашу новую библиотеку Yandex SpeechKit. Это публичный API для распознавания речи, который могут использовать разработчики под Android и iOS. Скачать SpeechKit, а также ознакомиться с документацией, можно здесь.

Yandex SpeechKit позволяет напрямую обращаться к тому бэкэнду, который успешно применяется в мобильных приложениях Яндекса. Мы достаточно долго развивали эту систему и сейчас правильно распознаем 94% слов в Навигаторе и Мобильных Картах, а также 84% слов в Мобильном Браузере. При этом на распознавание уходит чуть больше секунды. Это уже весьма достойное качество, и мы активно работаем над его улучшением.

image

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

Как устроено распознавание речи в Яндексе

ReactOS вышла на Kickstarter (но об этом никто не знает)

Reading time2 min
Views52K
image

Мало кто знает, но ReactOS таки запустила сбор средств на Кикстартере (на свой коммерческий дистрибутив под названием «Thorium Core»), причём произошло это уже 2 недели назад (23 декабря 2013 года). Заявленная цель сборов — $120,000. На момент написания этой статьи, 50 человек пожертвовали деньги на общую сумму $11,121 (около 9%). Кампания продлится 2 месяца; дата окончания сборов — 21 февраля 2014 года.
Подробности

Information

Rating
Does not participate
Location
Тверь, Тверская обл., Россия
Registered
Activity