Как стать автором
Обновить
39
0
Иван @VanDamM

Software Development Engineer

Отправить сообщение

Очередная реализация ActiveRecord на Objective-C

Время на прочтение9 мин
Количество просмотров4K
Хочу поделиться очередной реализацией паттерна ActiveRecord на Objective-C, а конкретно для iOS.

Когда только начинал использовать CoreData в iOS разработке, то уже тогда появлялись мысли о том, что это взаимодействие можно как-то упростить. Спустя некоторое время я познакомился с ActiveRecord из RubyOnRails, и тогда я понял чего мне не хватает.
Немного поискав на гитхабе нашел массу реализаций, но по разным причинам они мне не понравились. Одни написаны для CoreData, а мне она не нравится, в других нужно создавать таблицы руками, или писать raw sql-запросы. А в каких-то код был до неприличия ужасен, я и сам порой пишу не очень чисто, но огромный забор из вложенных if/switch/if/switch это чересчур.
В конце концов решил написать свой велосипед, без CoreData и без SQL для пользователя.
Главной причиной этой разработки был, есть и, надеюсь, будет — интерес к разработке.

Вот что из этого всего вышло.
А под катом небольшое описание возможностей и реализации (на самом деле много текста и кусков кода, резюме в самом конце статьи).
Читать дальше →

Как вывести Paypal в России? Как открыть виртуальный счёт в США?

Время на прочтение3 мин
Количество просмотров82K
В один прекрасный день я задался вопросом — как выводить деньги из Paypal в Россию? Есть фишка — прямой вывод денег из Paypal для тех, кто не имеет счёта в Америке закрыт, т.е. не имея bank account в Америке, вы никак не сможете вывести деньги напрямую.

Однако мне было действительно жалко терять большой процент на комиссиях обменников (бешеные накрутки), поэтому я искал выход.

Ниже привожу инструкцию из 8 пунктов.
Читать дальше →

14 способов стать успешным СЕО стартапа

Время на прочтение6 мин
Количество просмотров26K
image

От переводчика. Автор этой публикации — CEO компании OnSwipe, и бывший СЕО компаний Publictivity.com и Miami Merchants.

Все думают, что быть СЕО стартапа – это гламурная, полная веселья работа.
Я называю это «гламурным мышлением». Речь идёт о жизни стартаперов, которую описывают в прессе. Вы знаете, какие статьи я имею ввиду. Те, которые говорят о том, как легко зарабатывать, как много пользователей компании привлекают, и о том, как это круто — быть СЕО. Очень редко вы услышите, насколько хреново быть CEO, что далеко не каждый стартапер может быть предпринимателем. Оказалось, что основателю проекта для того, чтобы стать успешным СЕО необходимо следовать ряду правил.
Читать дальше →

Ограничение количества запросов — Raterlimiter

Время на прочтение5 мин
Количество просмотров11K
Если вы опасаетесь, что ваш веб-сервис могут заDOSить нерадивые пользователи, или у вас просто слабенький сервер, то вы уже задумывались над ограничением количества запросов от каждого пользователя. По-хорошему — это только один из необходимых эшелонов обороны. Конечно, от серьёзной атаки такое ограничение не убережёт, но с точки зрения цена/качество вполне подходящее

Недавно я начал активно заниматься Эрлангом. Ну и, как обычно, для закрепления материала реализовал несложный веб-сервис на Mochiweb. Mochiweb — вполне достойный фреймворк для создания веб-приложений, но возможности лимитировать количество запросов от одного клиента я не нашёл. Вот и сделал это самостоятельно.

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

Задача

Итак, имеем Erlang/OTP, Mochiweb, rebar. Хочется считать количество запросов от конкретного пользователя и отдавать ему 413 код ошибки, если запросы идут слишком часто. Клиент идентифицируется своим IP адресом. Тем самым, который отдает mochiweb_request:get(peer).

Задача не такая сложная, но, возможно, готовое решение сэкономит кому-то время.
Читать дальше →

AntiSMS — быстрое и эффективное лечение блокировщиков

Время на прочтение4 мин
Количество просмотров5.9K
Приветствую, друзья!

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

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

Особенно утилита поможет сисадминам и инженерам, занимающимся настройкой клиентских компьютеров. Когда заблокированные компьютеры приносят пачками, быстрое лечение будет экономить вам массу времени и сил. Следуя лёгкой инструкции вы сможете эффективно убрать любой блокировщик, параллельно исправив массу неисправностей в операционной системе.
Уже хочу!

Простая настройка .htaccess для production

Время на прочтение2 мин
Количество просмотров20K
Иногда, когда сайты хостятся на shared-хостинге или работа идет только с Apache, нужно сделать максимальную оптимизацию работы сервера и сайта соответсвенно. В статье приводятся несколько настроек, которые позволят вашему сайту работать лучше.

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

Дайджест интересных новостей и материалов из мира айти за последнюю неделю №8 (26 мая — 1 июня 2012)

Время на прочтение5 мин
Количество просмотров20K
Предлагаем вашему вниманию очередную подборку с ссылками на новости, интересные материалы и полезные ресурсы.


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

Облегченная разработка WP7 приложений при помощи Caliburn.Micro framework (ч.1)

Время на прочтение10 мин
Количество просмотров8.2K


Здравствуйте!

Как можно догадаться из названия, эта статья будет просвещенна framework'у Caliburn.Micro. Я постараюсь показать, что полезного может дать использование этого framework’а разработчику под платформу WP7, какие задачи он решает, его достоинства и недостатки.

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

Если вам интересна эта тема, то добро пожаловать под кат.
Читать дальше →

Карманный перехват и восстановление файлов из трафика

Время на прочтение2 мин
Количество просмотров26K
Про MiTM на айфонах и андроидах уже были соответствующие посты.
К упомянутым инструментам добавился еще один, так сказать специализированный.

Была создана консольная версия снифера Intercepter-NG и она же портирована под unix-like
операционные системы, включая IOS и Android.

image

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

Мое «второе» приложение для iOS

Время на прочтение5 мин
Количество просмотров17K
Решив попытаться программировать для iOS я пересмотрел кучу ресурсов в поисках документации, описаний, уроков, но чаще всего попадались либо уроки на тему «Создание первого приложения Hello World», либо какие-то узкоспециализорованные статьи для решения конкретных задач. Поэтому начав кое как разбираться в этой системе я решил написать статью для новичков о создании чуть более сложного, чем Hello world приложения. Это приложение состоит из двух видовых панелей и одного Toolbar с кнопкой, по нажатии которой эти самые панели будут меняться местами. Для создания использован Xcode 4.1
Читать дальше →

Руководство Apple «Как стать разработчиком под iOS»

Время на прочтение1 мин
Количество просмотров38K
Компания Apple приглашает новичков начать разработку своих приложений под iOS, и в помощь опубликовала руководство "Start Developing iOS Apps Today", где указаны все необходимые действия на каждом этапе, даются советы по выбору языка программирования, дизайну интерфейса приложения и максимизации прибыли в App Store.



Руководство очень лаконичное, всего несколько строчек на каждой странице, но содержит все необходимые ссылки для более подробного изучения темы. Очевидно, оно предназначено для тех, кто ещё никогда не программировал под iOS.

Что нам несет обновление Titanium SDK до версии 2.0

Время на прочтение5 мин
Количество просмотров2.9K
Приветствую всех приверженцев и почитателей кроссплатформенной разработки мобильных приложений с помощью фреймворка Titanium. 16 апреля 2012 года компания Appcelerator анонсировала обновление Titanium Mobile SDK до версии 2.0.1 вкупе с обновлением Titanium Studio все до той же версии 2.0.1. Чуть больше подробностей под катом.

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

AppStori — Kickstarter для мобильных приложений

Время на прочтение2 мин
Количество просмотров8.6K
Мобильные разработчики, ищущие «народного» финансирования своих проектов, обрели новую возможность получения денег — открылся сервис AppStori, альтернатива Kickstarter для мобильных приложений.



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

Главное отличие AppStori от коллег это совместная работа. По словам со-основателя AppStori Арье Абекассиса, это выгодно отличает сервис для мобильных разработчиков от других многоцелевых крауд-фандинговых платформ, типа Kickstarter или Indiegogo.
Читать дальше →

Сколько ежедневных закачек требуется приложению, чтобы попасть в Топ на App Store?

Время на прочтение2 мин
Количество просмотров12K
Сложно переоценить влияние топа в iTunes на расстановку сил среди разработчиков мобильных приложений. В конце концов, Топ 25 является, пожалуй, наиважнейшим механизмом поиска новых приложений для пользователей iOS. Но сколько закачек в день нужно, чтобы попасть в Топ 25, спрашивает TechCrunch?

Отвечает компания Distimo, занимающаяся анализом магазинов мобильных приложений, опубликовала интересные данные, которые могут ответить на этот вопрос. Если говорить об американском магазине iTunes, то данная цифра составляется примерно 38 400 ежедневных закачек для бесплатных приложений iPhone и 3 530 – для платных. Чтобы занять место в одной из категорий топ 25, нужно, разумеется, значительно меньше закачек. Неудивительно, что наибольшую конкуренцию можно наблюдать в категории игр. Бесплатное приложение должно иметь 25 300 закачек ежедневно, чтобы попасть в игровой топ 25, платное — 2 280.

Если говорить о бесплатных приложениях, то немалая конкуренция также существует в категориях «развлечения» (6 700 ежедневных закачек), «социальные сети» (5 800), «стиль жизни» (3 900) и «музыка» (3 900). Интересно, что в рейтинге платных приложений категория приложений для обработки фото находится сразу за играми и развлечениями. Тем не менее, платным фото-приложениям необходимо всего 270 ежедневных закачек, чтобы войти в топ 25 в категории.

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

Американская мечта, или Полгода в топе. Въ Умѣ

Время на прочтение5 мин
Количество просмотров3.6K

Вместо предисловия


Прошло уже полгода с момента выхода первой версии нашего приложения «В уме». За эти шесть месяцев в жизни изменилось очень многое, но из Top 10 категории Education мы так и не выпали. Раньше меня это немного удивляло, но в конечном счете свыкся.

Со времени первой заметки об этом уникальном опыте также прошло полгода. К выходу очередной (но не последней) версии приложения приурочим это скромное продолжение истории.
Читать дальше →

DOOM Classic и Wolfenstein 3D в исходниках

Время на прочтение1 мин
Количество просмотров12K


id Software — компания известная скорее всего всем посетителям Хабрахабра, ведь они стоят за такими монстрами, как: Dangerous Dave, Commander Keen, Wolfenstein, Doom, Heretic, HeXen и т.д. Некоторое время назад, выступая на QuakeCon'е, Джон Кармак обещал выпустить исходные коды Doom 3, но пока что этого не произошло.

Зато сегодня ZeniMax — компания. которой теперь принадлежит id Software (а так же Bethesda), выпустила обновления для Doom Classic и Wolfenstein 3D для iPhone, добавив в них поддержку Retina Display и универсальность (теперь в них можно играть, как на iPhone, так и на iPad), а так же, как это обычно принято в обновлениях, исправив некоторое количество ошибок.

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

Ссылки в iTunes Store на Doom Classic [$6.99] и Wolfenstein 3D [$1.99].
Ссылки на исходные коды Doom Classic и Wolfenstein 3D.

UPDATE 1: В исходных кодах содержится, собственно, только код; нет звуков и графики.
UPDATE 2: Судя по второму комментарию, даже в id Software работают люди, которым свойственно писать странный код.

Мгновенное изменение языка приложения

Время на прочтение9 мин
Количество просмотров33K
Мне бы хотелось рассказать об интересном опыте, приобретенном в процессе разработки бесплатного пока что конвертера валют, моего второго приложения в категории Finance. Первое, Money iQ, было написано во время работы в небольшой компании и даже успело побывать на 1м месте российского App Store. Небольшую dev story о создании приложения я опубликую чуть позже и в другом блоге, если будет интересно, а в этой статье мне хотелось бы остановиться на такой проблеме как мгновенное изменение языка внутри приложения.

Собственно, проблема.


Наверное, многим приходилось сталкиваться с мультиязычными приложениями. Я говорю не только о приложениях под iOS, а вообще о приложениях, поддерживающих несколько языков. Во из них в сеттингах есть пункт «Language/Язык/Idioma», позволяющий установить язык, нужный пользователю.

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

Три ключевых принципа ПО, которые вы должны понимать

Время на прочтение13 мин
Количество просмотров240K

Разрабатывая приложения, мы постоянно сталкиваемся с новыми подходами, языками и концептами. И постоянно мы мечемся в сомнениях «смогу ли я быть на волне, оставаться конкурентоспособным, учитывая все изменения и тренды?». Давайте задумаемся на мгновение, вспомнив фразу из моего любимого фильма «Касабланка» — в любви законов новых нет — так создан свет.

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

Javascript: ООП, прототипы, замыкания, «класс» Timer.js

Время на прочтение19 мин
Количество просмотров97K
Здравствуйте программисты начинающие, законченные, а также все сочувствующие. Как известно, ничто не познается так хорошо, как на собственном опыте. Главное, чтобы опыт был полезный. И в продолжении этой простой мысли я хочу предложить заняться несколькими полезными делами сразу:
  • Побеседовать на тему «ООП с человеческим лицом».
  • Разобраться с прототипами в javascript, коротко и сердито!
  • Вспомнить, что «замыкание» это не только ценный мех… удар током.
  • Написать на javascript класс Timer — этакий планировщик событий для запуска анимаций, событий, любых функций.
  • Весело провести время!

Предупреждение! Если вы не ждете от статьи ничего веселого… то ошибаетесь. Людям с пониженным чувством юмора читать… еще более рекомендуется! Ну-с, приступим…
Читать дальше →

Информация

В рейтинге
Не участвует
Откуда
Якутск, Саха (Якутия), Россия
Дата рождения
Зарегистрирован
Активность