В данной статье в сжатом виде собрана статистика, которая будет интересна тем, кто создает и продает свои iPhone приложения в AppStore.
Xaker @Xaker
Пользователь
MVC на iPhone: «The Model» (Часть 1)
8 мин
2.9KПеревод
CocoaTouch с самого начала создавалась с прицелом на парадигму MVC. Практически все шаблоны, представления и их контроллеры для пользователя уже готовы. Ключевые классы — "UIView" и "UIViewController". Во многих случаях метод "UIView" применим сам по себе — с добавлением элементов пользовательского интерфейса в общий "UIView" в редакторе IB. Для создания собственных функций добавляем подклассы к "UIViewController". Спецификаторы "IBOutlet" позволяют связывать элементы пользовательского интерфейса с представлением, обеспечивая к ним доступ.
А как быть с понятием «Model»? О нем информации я практически не нашел. В уроках по программированию с моделью предпочитают не работать, набирая код непосредственно в контроллерах.
Добившись, как мне показалось, неплохих результатов с реализацией, я предлагаю их здесь для обсуждения и оценки. Изложу вкратце. Я создаю класс "Singleton", расширяющий "NSObject" для моей модели. Потом посредством наблюдения за ключами/переменными узнаю об обновлениях. Это во многом напоминает "ModelLocator" из "Cairngorm", если кому-то приходилось работать с ним во "Flex".
Для начала создадим проект с парой представлений.
А как быть с понятием «Model»? О нем информации я практически не нашел. В уроках по программированию с моделью предпочитают не работать, набирая код непосредственно в контроллерах.
Добившись, как мне показалось, неплохих результатов с реализацией, я предлагаю их здесь для обсуждения и оценки. Изложу вкратце. Я создаю класс "Singleton", расширяющий "NSObject" для моей модели. Потом посредством наблюдения за ключами/переменными узнаю об обновлениях. Это во многом напоминает "ModelLocator" из "Cairngorm", если кому-то приходилось работать с ним во "Flex".
Для начала создадим проект с парой представлений.
+11
Были получены исходники 3300 глобальных интернет-проектов
5 мин
276KПару месяцев назад нами (2Товарища и Антон Исайкин) была обнаружена уязвимость, присущая в основном большим интернет-проектам (вроде Рамблера, Мейла, Яндекса, Оперы и пр.). Удалось получить доступ к файловым структурам известнейших сайтов (в общей сложности 3320 сайтов) и в ряде случаев их полные исходные коды.
+1154
Работа с базовой анимацией на iPhone
5 мин
2.1KПеревод
Одна из привлекательных особенностей интерфейса Cocoa Touch — упрощенная работа с анимацией. В этом уроке я покажу пару простых примеров создания анимации для iPhone. Наша анимация будет выполнять две задачи: перемещать объект на экране и менять его размеры в зависимости от точки касания его пользователем.
Тем, кому еще не приходилось заниматься программированием на iPhone, полезно будет ознакомится с азами здесь, здесь и здесь. В качестве примера приведу также урок из серии Stanford iPhone Development (английский язык), где рассматривались основы анимации движения.
Ниже выложено короткое видео приложения, которое нам предстоит создать. Как уже упоминалось выше, с ним можно делать две вещи. Один щелчок будет перемещать внутреннее представление к точке касания. При двойном касании представление будет перемещаться с изменением размеров. Ориентируясь на точки касания, приложение создавать прямоугольник с фреймом для представления.
Что ж, приступим…
Тем, кому еще не приходилось заниматься программированием на iPhone, полезно будет ознакомится с азами здесь, здесь и здесь. В качестве примера приведу также урок из серии Stanford iPhone Development (английский язык), где рассматривались основы анимации движения.
Ниже выложено короткое видео приложения, которое нам предстоит создать. Как уже упоминалось выше, с ним можно делать две вещи. Один щелчок будет перемещать внутреннее представление к точке касания. При двойном касании представление будет перемещаться с изменением размеров. Ориентируясь на точки касания, приложение создавать прямоугольник с фреймом для представления.
Что ж, приступим…
+25
Бесплатная регистрация доменного имени
6 мин
132KЗдравствуйте, возможно уже не первый раз поднимается подобная тема и многие из нас знают о существование такового рода халявы. В этой статье я хотел бы более подробно рассказать о самой процедуре регистрации.
+5
Видео урок по пайке мелочевки
1 мин
33KСнял тут пару пробных роликов по пайке простейшей мелочевки. Думаю будет полезно тем кто хочет примкнуть к паяющей братии, но при виде разной мелочевки впадает в ступор «как же ЭТО паять?» На самом деле все просто :)
Для начала выводные компоненты:
Затем резисторы:
А напоследок микросхемы:
О том как сделать печатную плату в домашних условиях уже было сказано и показано
Если заинтересовала тема и хочется узнать большего, то добро пожаловать на easyelectronics.ru
Для начала выводные компоненты:
Затем резисторы:
А напоследок микросхемы:
О том как сделать печатную плату в домашних условиях уже было сказано и показано
Если заинтересовала тема и хочется узнать большего, то добро пожаловать на easyelectronics.ru
+175
парсим сайты легко и непринуждённо вместе с phpQuery
3 мин
112KПривет хабр, думаю у некоторых из вас возникала потребность стянуть что нибудь нужное с какова нибудь сайта. Но писать тонны функций, чтобы вытащить фразу, это очень муторно, долго и не продуктивно.
Представляю вашему вниманию phpQuery. Это php вариант известного javascript фраемворка — jQuery.
Автор постарался на славу и портировал почти всё что нам нужно.
Давайте посмотрим что она умеет.
Представляю вашему вниманию phpQuery. Это php вариант известного javascript фраемворка — jQuery.
Автор постарался на славу и портировал почти всё что нам нужно.
- Selectors
- Attributes
- Traversing
- Manipulation
- Ajax
- Events
- Utilities
- Plugin ports
Давайте посмотрим что она умеет.
+34
USB мышь своими руками из акселерометра и программатора USBAsp
2 мин
20KСобственно получилась у меня почти такая вот мышь, как на фото. (ну совсем почти =) )
За основу я взял свой старый программатор USBAsp для AVR микроконтроллеров и акселерометр ADXL322JCP.
Данный акселерометр выбран по следующим причинам:
— измеряет ускорение до 2g
— был в наличии в магазине
— был одним из самых дешевых ( точнее самым дешевым )
Из-за малого диапазона измеряемых ускорений, этот акселерометр позволяет определить в каком положении находится чип.
Ну и соответственно получается что-то типа измерения угла наклона. На какой градус нагнул мышь, с такой скоростью курсор и помчится. (по крайней мере у меня) :) Он может просто отклоняться по наклону. Как у мыши на рисунке.
+79
Веб-аналитика: анализируй это! Часть 4. От статистики к аналитике
3 мин
8.5KПрошу простить за большую паузу между выпусками рассылки: мне нужно было время на подготовку к проведению большого тренинга и разгребание новых материалов. Что ж, много времени прошло, многое изменилось — даже слово “Интернет” теперь нужно писать с большой буквы! Больше такого не повторится, так что продолжим наше путешествие. Напомню адреса прошлых выпусков:
Часть 1. Вступление.
Часть 2. Сбор данных.
Часть 3. Базовые метрики.
Перед тем, как перейти к описанию метрик и технологий анализа, хочу еще раз напомнить о том, зачем мы тратим на это своё время.
Часть 1. Вступление.
Часть 2. Сбор данных.
Часть 3. Базовые метрики.
Перед тем, как перейти к описанию метрик и технологий анализа, хочу еще раз напомнить о том, зачем мы тратим на это своё время.
+21
Анализ рынка ноутбуков с помощью Python
8 мин
5.6KВведение
В этой статье я расскажу о состоянии на сегодняшнем российском рынке ноутбуков. Всю аналитику мы будем проводить с помощью кода на python. Думаю она будет полезна как тем, кто ищет ноутбук, так и тем, кто хочет потренироваться написанию на python.
Начнём
Для анализа нам необходим набор данных, к сожалению я не смог обнаружить веб-сервисы у российских он-лайн магазинов ноутбуков, поэтому мне пришлось скачать прайс-лист одного из них (я не стану называть его) и вытащить из него цены и основные параметры (по-моему мнению таковыми являются: частота процессора, диагональ монитора, объем оперативной памяти, размер жесткого диска и объем памяти на видео-карточке). Далее я провёл некоторый анализ по следующим вопросам:
+71
Opera Unite для разработчиков
9 мин
897А не написать ли нам какой-нибудь сервис под Опера Юнайт? Здесь я расскажу об особенностях программирования под новинку от Оперы на примере своего сервиса "Stream media". Официальная документация пока что неполная и содержит много ошибок, и в этой статье мы попытаемся их обойти.
Далее, будем вникать в технологию постепенно. Желательно, чтобы Вы уже прочли мануал по созданию первого приложения, поскольку некоторые очевидные факты здесь опускаются.
Далее, будем вникать в технологию постепенно. Желательно, чтобы Вы уже прочли мануал по созданию первого приложения, поскольку некоторые очевидные факты здесь опускаются.
+48
Чеклист запуска сайта
3 мин
25KЭтот чеклист будет полезен всем, кто запускает сайты или следит за этим увлекательным процессом. Ничего не пропустите!
+112
+31
Атаки на беспроводные сети. Часть 2
3 мин
20KЭто продолжение предыдущей статьи, об атаках на беспроводные точки доступа с WEP-защитой.
Во второй части цикла статей о безопасности беспроводных сетей мы рассмотрим некоторые нетрадиционные атаки на WEP.
Во второй части цикла статей о безопасности беспроводных сетей мы рассмотрим некоторые нетрадиционные атаки на WEP.
+48
Атака на Twitter: шаг за шагом
2 мин
1.4KМайкл Аррингтон уже довольно близко познакомился с 21-летним французским хакером Hacker Croll. Как известно, именно этот парень взломал Twitter и передал Майклу 300+ страниц служебной документации, которую тот постепенно публикует в онлайне. Эти ребята стали настоящими друзьями и общаются в онлайне каждый день. Кстати, если кто не знает, Майкл Аррингтон по образованию — юрист, так что он наверняка знает, что делает, и не боится судебных исков (возможно, с Twitter'ом уже согласовали, что можно публиковать, а что нет).
Из последних сообщений на TechCrunch мы можем узнать всё о Hacker Croll (HC), в том числе где он работал раньше в своей Франции и чем занимается сейчас (как раз ищет новую работу), когда начал интересоваться хакингом, с чего начинал, почему взломал Twitter и (самое интересное) — в деталях — как именно был осуществлён взлом. С этого момента подробнее.
Из последних сообщений на TechCrunch мы можем узнать всё о Hacker Croll (HC), в том числе где он работал раньше в своей Франции и чем занимается сейчас (как раз ищет новую работу), когда начал интересоваться хакингом, с чего начинал, почему взломал Twitter и (самое интересное) — в деталях — как именно был осуществлён взлом. С этого момента подробнее.
+53
Redis — высокопроизводительное хранилище данных
2 мин
102KБодрый день, хаброчеловеки!
Redis — это высокопроизводительное нереляционное распределённое хранилище данных. В отличие от Memcached, который может в любой момент удалить ваши данные, вытесняя старые записи новыми, Redis хранит информацию постоянно, таким образом он похож на MemcacheDB.
API для работы с Memcached (MemcacheDB) позволяет хранить массивы, но эти массивы будут сериализованы и сохранены как строки, таким образом атомарные операции над такими массивами не возможны.
Redis позволяет хранить как строки, так и массивы, к которым можно применять атомарные операции pop / push, делать выборки из таких массивов, выполнять сортировку элементов, получать объединения и пересечения массивов.
110000 запросов SET в секунду, 81000 запросов GET в секунду на Linux-сервере начального уровня (тесты).
Высокая скорость работы Redis обеспечивается тем, что данные хранятся в оперативной памяти и сохраняются на диск либо через равные промежутки времени, либо при превышении определённого количества не сохранённых запросов. Из этого вытекает, что используя Redis, вы можете потерять результаты нескольких последних запросов, что вполне приемлимо для большинства веб-приложений, учитывая, что обращение к Redis по скорости сравнимо с обращением к оперативной памяти. Тем не менее, потерь можно избежать через избыточность — Redis поддерживает неблокирующую master-slave репликацию.
Redis, как и Memcached, может работать как распределённое хранилище на многих физических серверах. Такой функционал реализуется в клиентских библиотеках, и к сожалению, «из коробки» этот функционал реализован пока только в Ruby API, однако это не мешает вам хешировать ключ самостоятельно и получать ID сервера, к которому с этим ключом обращаться.
API доступно для следующих языков:
API для PHP доступно как в виде модуля, написанного на C, так и в виде PHP5 класса, который общается с Redis-сервером через сокеты, таким образом не требуется устанавливать модуль.
Кроме того существует PHP5 класс от отечественного разрабочика (с именем, заслуживающим доверия. Я серьёзно.) — IMemcacheClient. (Спасибо DYPA за наводку)
Разработка ведётся очень активно, комиты происходят почти каждый день, сейчас доступна версия Redis 0.900 (1.0 release candidate 1), которая очень скоро станет версией 1.0
В ближайшем будущем авторы обещают внедрить разные интересные фичи, в том числе и сжатие данных.
Redis — написан на ANSI C и работает на большинстве POSIX-систем (Linux, MacOS X). Это бесплатное открытое ПО под BSD лицензией =)
Up: Rediska — удобный PHP-клиент для key-value базы Redis. Оф.сайт.
Что такое Redis?
Redis — это высокопроизводительное нереляционное распределённое хранилище данных. В отличие от Memcached, который может в любой момент удалить ваши данные, вытесняя старые записи новыми, Redis хранит информацию постоянно, таким образом он похож на MemcacheDB.
Чем Redis отличается от существующих решений?
API для работы с Memcached (MemcacheDB) позволяет хранить массивы, но эти массивы будут сериализованы и сохранены как строки, таким образом атомарные операции над такими массивами не возможны.
Redis позволяет хранить как строки, так и массивы, к которым можно применять атомарные операции pop / push, делать выборки из таких массивов, выполнять сортировку элементов, получать объединения и пересечения массивов.
Производительность
110000 запросов SET в секунду, 81000 запросов GET в секунду на Linux-сервере начального уровня (тесты).
Высокая скорость работы Redis обеспечивается тем, что данные хранятся в оперативной памяти и сохраняются на диск либо через равные промежутки времени, либо при превышении определённого количества не сохранённых запросов. Из этого вытекает, что используя Redis, вы можете потерять результаты нескольких последних запросов, что вполне приемлимо для большинства веб-приложений, учитывая, что обращение к Redis по скорости сравнимо с обращением к оперативной памяти. Тем не менее, потерь можно избежать через избыточность — Redis поддерживает неблокирующую master-slave репликацию.
Sharding
Redis, как и Memcached, может работать как распределённое хранилище на многих физических серверах. Такой функционал реализуется в клиентских библиотеках, и к сожалению, «из коробки» этот функционал реализован пока только в Ruby API, однако это не мешает вам хешировать ключ самостоятельно и получать ID сервера, к которому с этим ключом обращаться.
API
API доступно для следующих языков:
- Ruby
- Python
- PHP
- Erlang
- Tcl
- Perl
- Lua
- Java
API для PHP доступно как в виде модуля, написанного на C, так и в виде PHP5 класса, который общается с Redis-сервером через сокеты, таким образом не требуется устанавливать модуль.
Кроме того существует PHP5 класс от отечественного разрабочика (с именем, заслуживающим доверия. Я серьёзно.) — IMemcacheClient. (Спасибо DYPA за наводку)
Перспективы развития
Разработка ведётся очень активно, комиты происходят почти каждый день, сейчас доступна версия Redis 0.900 (1.0 release candidate 1), которая очень скоро станет версией 1.0
В ближайшем будущем авторы обещают внедрить разные интересные фичи, в том числе и сжатие данных.
Лицензия и поддерживаемые платформы
Redis — написан на ANSI C и работает на большинстве POSIX-систем (Linux, MacOS X). Это бесплатное открытое ПО под BSD лицензией =)
Up: Rediska — удобный PHP-клиент для key-value базы Redis. Оф.сайт.
+71
Как рисовать перекрашиваемые иконки
2 мин
7.1KЧто такое перекрашиваемая иконка? Это такая картинка, которой легко поменять цвет, то есть её перекрасить. Есть несколько способов этого добиться. Я расскажу о простой технологии, которую мы использовали когда делали проект Иконза (по такой же технологии сделаны машинки для Автокадабры). По сути, это веб-приложение, которое позволяет пользователю менять цвет иконок, а потом генерирует необходимые графические файлы.
Например, мы хотим нарисовать перекрашиваемую иконку фолдера. Берем любимый векторный редактор и рисуем.
Например, мы хотим нарисовать перекрашиваемую иконку фолдера. Берем любимый векторный редактор и рисуем.
+89
7 творческих принципов Pixar от John Lasseter
4 мин
2.6KПеревод
Данный текст подготовил и перевел Евгений aka jeje. Если текст вам понравился, то благодарите Евгения, сам он опубликовать перевод не может из-за ограничений кармы.
Если вы хотите написать книгу, сделать дизайн мебели или мультфильма — Никогда не начинайте с одной идеей, их должно быть три.
«Причина проста. Если продюсер приходит ко мне с предложением о новом проекте, он вынашивает эту конкретную идею долгое время. Это ограничивает его. Мой ответ всегда: «Приходи ко мне, когда будешь иметь три идеи, и это не значит, что одна хорошая, а две остальных плохих. Я хочу три действительно прекрасных идеи, из которых ты не можешь решить, какая же лучше. Будь готов обосновать все три задумки. Затем мы решим, какую идею ты будешь развивать далее.»
«Проблема у творческих людей всегда одна – они чаще всего фокусируют все свое внимание на одной идее. И выходит так, что они ограничивают свой выбор с самого начала проекта. Каждый творческий человек должен это попробовать. Вы будете удивлены, как это требование внезапно заставит вас думать о других вещах, которые вы даже не рассматривали до того. Из-за этой отстраненности вы вдруг найдете новые перспективы. И поверьте мне, существует всегда, как минимум, три хороших идеи»
1.Никогда не начинайте с одной идеей
Если вы хотите написать книгу, сделать дизайн мебели или мультфильма — Никогда не начинайте с одной идеей, их должно быть три.
«Причина проста. Если продюсер приходит ко мне с предложением о новом проекте, он вынашивает эту конкретную идею долгое время. Это ограничивает его. Мой ответ всегда: «Приходи ко мне, когда будешь иметь три идеи, и это не значит, что одна хорошая, а две остальных плохих. Я хочу три действительно прекрасных идеи, из которых ты не можешь решить, какая же лучше. Будь готов обосновать все три задумки. Затем мы решим, какую идею ты будешь развивать далее.»
«Проблема у творческих людей всегда одна – они чаще всего фокусируют все свое внимание на одной идее. И выходит так, что они ограничивают свой выбор с самого начала проекта. Каждый творческий человек должен это попробовать. Вы будете удивлены, как это требование внезапно заставит вас думать о других вещах, которые вы даже не рассматривали до того. Из-за этой отстраненности вы вдруг найдете новые перспективы. И поверьте мне, существует всегда, как минимум, три хороших идеи»
+75
Футболка Viva La Distribución!
1 мин
830В ходе последних событий в мире свободного распространения информации возникла идея вот такого принта на футболку для всех, так сказать, солидарных с движением:
Если кому-то кроме меня захочется сделать себе такую, милости прошу за исходниками:
1) В .eps на Народе;
2) В .ai там же, на всякий.
p.s. Предложения по возможному улучшению также приветствуются)
Если кому-то кроме меня захочется сделать себе такую, милости прошу за исходниками:
1) В .eps на Народе;
2) В .ai там же, на всякий.
p.s. Предложения по возможному улучшению также приветствуются)
+14
Jabber WebCam Bot
4 мин
2.4KЭта идея пришла мне как-то случайно. Получить снимок с вэб камеры, которая находится дома, находясь на работе или в другом городе и при этом не расшаривать камеру через вэб… И не коннектиться по ssh… Забавно… Что, если получить его одним запросом в джаббере! Звучит бредово, но я занялся реализацией этого бреда!
+67
Информация
- В рейтинге
- Не участвует
- Откуда
- Ямайка
- Зарегистрирован
- Активность