Не так давно шумели новости о активации in-app покупок бесплатно и даже без джейлбрейка. Идея проста, в систему устанавливаются ssl сертификаты и прописывается кастомный dns сервер, который запросы к серверам apple будет пересылать на сервер взломщиков. Сервер взломщиков будет подтверждать покупку и она успешно активируется на устройстве. После выхода этой новости паники было много и Apple даже пришлось что-то делать и рассказывать разработчикам, как защитить их приложение. На самом деле проблема была не нова, на джейлбрейкнутых устройствах уже давно можно было активировать in-app покупки бесплатно. Решение проблемы так же не ново, оно описано в документации Apple, но практической реализацией никто себя не утруждал. О моей версии такой защиты и пойдет речь ниже. Читать полностью »
Метка «ruby» - 17
Защита против универсальных взломов in-app покупок
2012-07-28 в 11:22, admin, рубрики: apple, heroku, in-app, iOS, ruby, разработка под iOS, метки: apple, heroku, in-app, iOS, rubyУправление каналами Nginx Push Module с использованием Ruby
2012-07-27 в 10:57, admin, рубрики: comet, nginx, ruby, Песочница, метки: comet, rubyПриветствую всех! Многие разработчики вкурсе про замечательный модуль Nginx Push Module для веб-сервера Nginx. Многие его опробовали, пощупали.
Задача модуля – позволить веб-серверу Nginx выступать в качестве Comet-сервера.
Материала по использованию данного модулю достаточно: хороша официальная страница проекта, описание Basic HTTP Push Relay Protocol, а также многие статьи, например Nginx & Comet: Low Latency Server Push. Однако, во многих руководствах рассматривают лишь базовую конфигурацию модуля с использованием одного общедоступного канала всеми клиентами. Несмотря на огромную полезность, модуль не предоставляет разработчикам гибкое управление каналами, их защиту.
В данной статье я напишу небольшой пример, демонстрирующий возможный способ управления каналами.
Читать полностью »
Rake + Albacore. Сборка .Net проекта с помощью Ruby
2012-07-26 в 15:01, admin, рубрики: .net, rake, ruby, Песочница, сборка проекта, метки: .net, rake, ruby, сборка проектаКогда речь заходит о сборке .Net проектов, первое, что приходит в голову, это утилита MSBuild + сопутствующие build-скрипты. Действительно, пока проект небольшой, ее возможностей вполне хватает. Но со временем количество кода растет, структура продукта становится все более сложной и запутанной, и начинаешь задумываться о поиске более гибкого решения.
В нашем случае, таким решением оказалась связка Rake+Albacore. Что же это такое? Rake — инструмент для автоматизации сборки програмного кода, написанный на Ruby. Про Rake на хабре уже была довольно детальная статья пользователя Lass_ua (за которую, кстати, ему большое человеческое спасибо), поэтому повторяться не буду. Скажу только, что мы выбрали его за исключительную гибкость, которую не могли получить от MSBuild скриптов. Она обусловлена тем, что весь процесс сборки описывается, по сути, программой на Ruby, что открывает перед нами море возможностей.
А вот про Albacore я, к своему удивлению, не нашел ни одной статьи, хотя это уже достаточно зрелый и известный проект
Читать полностью »
Темная цветовая схема для IntelliJ IDEA: продолжение и новости
2012-07-26 в 13:15, admin, рубрики: IDE, intellij idea, java, jetbrains, php, python, ruby, метки: IDE, intellij idea, java, jetbrains, PHP, python, rubyЭтот пост является продолжением этого. Тогда я разработал плагин, окрашивающий такие элементы интерфейса как деревья и списки в цвета выбранной схемы. С тех пор прошло уже почти 2 месяца и кое-что с тех пор изменилось.
1. Darcula
Главная новость: в JetBrains работают (в частности stalk) над стандартной темной схемой. Она будет подключаться через look and feel и будет называться Darcula. Она уже включена в исходники для Comunity Edition и попадет в новые EAPы.
- На данный момент она выглядит вот так:
- А вот тут можно посмотреть видео: www.screenr.com/asl8
Как я использовал gem gon в Групоне
2012-07-25 в 8:47, admin, рубрики: .net, mvc, ruby, ruby on rails, rubygems, sinatra, Блог компании «Evil Martians», метки: .net, mvc, ruby, ruby on rails, rubygems, sinatraНа днях я зарелизил новую версию своего gem Gon – 4.0.0 и решил привести пару примеров его возможностей и использования. Данная библиотека служит для упрощения работы с данными в MVC архитектуре. Она позволяет работать с данными контроллера из JS пропуская шаги перекидывания этих данных через вью. На сегодняшний день существуют реализации гона для RoR приложений, sinatra-like приложений (sinatra, padrino, etc.) и для .Net MVC.
Карта в админке
Передо мной стояла задача — реализовать разделение предложений в Групоне по территориальным областям, которые бы мог редактировать администратор. Предложения из областей показываются людям которые живут в этих областях с большим приоритетом нежели предложения из других областей.
Релиз RubyMine 4.5
2012-07-17 в 15:22, admin, рубрики: jetbrains, ruby, ruby on rails, rubymine, Блог компании JetBrains, метки: jetbrains, ruby, ruby on rails, rubymineКомпания JetBrains рада сообщить о выходе RubyMine 4.5 — новой версии интеллектуальной интегрированной среды разработки для Ruby on Rails, которую можно загрузить с нашего сайта
Мы искренне верим, что для создания хорошего продукта в первую очередь необходимо прислушиваться к сообществу разработчиков. В этой версии RubyMine мы постарались реализовать как можно больше нового функционала с учетом оставленных вами комментариев и отданных голосов.
Читать полностью »
Немного Rails трюков
2012-07-05 в 8:05, admin, рубрики: ruby, ruby on rails, tricks, метки: ruby, ruby on rails, tricks
Хочу поделиться в вами несколькими трюками, которые помогут сделать работу с Ruby on Rails лучше, быстрее, а также позволят вам много зарабатывать и более лучше одеваться.
Читать полностью »
Стипендия на Brainwashing Ruby on Rails и шанс работать на берегу океана
2012-07-02 в 9:07, admin, рубрики: aviasales, brainwashing, evil martians, ruby, ruby on rails, Блог компании «Evil Martians», метки: aviasales, brainwashing, evil martians, ruby, ruby on railsНе все работодатели инвестируют в кадры, а найти деньги на хорошие учебные курсы самостоятельно под силу не каждому разработчику. Решение есть — грант на Brainwashing Rails от проекта Aviasales. Отправьте анкету и станьте одним из 5 стипендиатов, а после курса пройдите собеседование в Aviasales и улетайте работать в Тайланд. И попрощайтесь с недальновидным работодателем.
CoffeeScript: Классы
2012-06-25 в 6:31, admin, рубрики: coffeescript, ECMAScript, javascript, ruby, web-разработка, Веб-разработка, классы, объекты, ооп, руководство, метки: coffeescript, ECMAScript, javascript, ruby, web-разработка, классы, объекты, ооп, руководство
В ECMAScript пока отсутствует понятие «класс», в классическом понимании этого термина, однако, в CoffeeScript такое понятие есть, поэтому сегодня мы рассмотрим этот вопрос.
Содержание:
1. Основные понятия
2. Члены класса
2.1. Метод constructor
2.2. Открытые члены класса
2.3. Закрытые члены класса
2.4. Защищенные члены класса
2.5. Статические члены класса
3. Наследование
4. Дополнительная литература
CoffeeScript: Методы для работы с объектами
2012-06-25 в 6:30, admin, рубрики: coffeescript, ECMAScript, javascript, ruby, web-разработка, Веб-разработка, классы, объекты, ооп, руководство, метки: coffeescript, ECMAScript, javascript, ruby, web-разработка, классы, объекты, ооп, руководство
В 5-й редакции ECMAScript для работы с объектами появилось много новых методов, однако их подробное описание и внутреннюю реализацию на русском языке (зачастую и на английском) найти не так просто. Именно по этой причине в этой статье будут подробно рассмотрены и описаны все методы объекта Object согласно 3-й и 5-й редакции ECMAScript спецификации.
Содержание
1. Object.create(proto [, properties ])
2. Object.defineProperty(object, property, descriptor)
3. Object.defineProperties(object, properties)
4. Object.getOwnPropertyDescriptor(object, properties)
5. Object.keys(object)
6. Object.getOwnPropertyNames(object)
7. Data descriptor
8. Accessor descriptor
9. Object.getPrototypeOf(object)
10. Object.preventExtensions(object)
11. Object.isExtensible(object)
12. Object.seal(object)
13. Object.isSealed(object)
14. Object.freeze(object)
15. Object.deepFreeze(object) (non-standard)
16. Object.prototype.hasOwnProperty(property)
17. Object.prototype.isPrototypeOf(object)
18. Object.prototype.propertyIsEnumerable(object)
19. Заключение
Читать полностью »