Pull to refresh
68
0

User

Send message

MVC на iPhone: «The Model» (Часть 1)

Reading time8 min
Views2.8K
CocoaTouch с самого начала создавалась с прицелом на парадигму MVC. Практически все шаблоны, представления и их контроллеры для пользователя уже готовы. Ключевые классы — "UIView" и "UIViewController". Во многих случаях метод "UIView" применим сам по себе — с добавлением элементов пользовательского интерфейса в общий "UIView" в редакторе IB. Для создания собственных функций добавляем подклассы к "UIViewController". Спецификаторы "IBOutlet" позволяют связывать элементы пользовательского интерфейса с представлением, обеспечивая к ним доступ.

А как быть с понятием «Model»? О нем информации я практически не нашел. В уроках по программированию с моделью предпочитают не работать, набирая код непосредственно в контроллерах.

Добившись, как мне показалось, неплохих результатов с реализацией, я предлагаю их здесь для обсуждения и оценки. Изложу вкратце. Я создаю класс "Singleton", расширяющий "NSObject" для моей модели. Потом посредством наблюдения за ключами/переменными узнаю об обновлениях. Это во многом напоминает "ModelLocator" из "Cairngorm", если кому-то приходилось работать с ним во "Flex".

Для начала создадим проект с парой представлений.
Читать дальше →
Total votes 23: ↑17 and ↓6+11
Comments3

Работа с базовой анимацией на iPhone

Reading time5 min
Views2K
Одна из привлекательных особенностей интерфейса Cocoa Touch — упрощенная работа с анимацией. В этом уроке я покажу пару простых примеров создания анимации для iPhone. Наша анимация будет выполнять две задачи: перемещать объект на экране и менять его размеры в зависимости от точки касания его пользователем.

Тем, кому еще не приходилось заниматься программированием на iPhone, полезно будет ознакомится с азами здесь, здесь и здесь. В качестве примера приведу также урок из серии Stanford iPhone Development (английский язык), где рассматривались основы анимации движения.

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



Что ж, приступим…
Читать дальше →
Total votes 45: ↑35 and ↓10+25
Comments6

Были получены исходники 3300 глобальных интернет-проектов

Reading time5 min
Views273K
Пару месяцев назад нами (2Товарища и Антон Исайкин) была обнаружена уязвимость, присущая в основном большим интернет-проектам (вроде Рамблера, Мейла, Яндекса, Оперы и пр.). Удалось получить доступ к файловым структурам известнейших сайтов (в общей сложности 3320 сайтов) и в ряде случаев их полные исходные коды.
Читать дальше →
Total votes 1226: ↑1190 and ↓36+1154
Comments909

Сервер на стероидах: FreeBSD, nginx, MySQL, PostgreSQL, PHP и многое другое

Reading time16 min
Views40K
Нравится мне эта картинка, у меня, вот никогда такие красивые графики в какти не получались =(

Введение


С момента написания мной предыдущей статьи по оптимизации этой связки прошло довольно много времени. Тот многострадальный Pentium 4 c 512Мб памяти, обслуживающий одновременно до тысячи человек на форуме и до 150,000 пиров на трекере уже давно покоится на какой-нить немецкой, свалке, а клуб сменил уже не один сервер. Всё сказанное в ней всё ещё остаётся актуальным, однако есть вещи которые стоит добавить.
Статья большая, так что будет поделена на логические блоки:

0. Зачем вообще что-то оптимизировать?
  
1. Оптимизация ОС (FreeBSD)
  1.1 Переход на 7.х 
  1.2 Переход на 7.2
  1.3 Переход на amd64
  1.4 Разгрузка сетевой подсистемы
  1.5 FreeBSD и большое кол-во файлов
  1.6 Softupdates, gjournal и mount options
  
2. Оптимизация фронтенда (nginx)
  2.1 Accept Filters
  2.2 Кеширование
  2.3 AIO
  
3. Оптимизация бэкенда
  3.1 APC
  3.1.1 APC locking
  3.1.2 APC hints
  3.1.3 APC fragmentation
  3.2 PHP 5.3
  
4. Оптимизация базы данных
  4.1 MySQL 
  4.1.1 Переход на 5.1
  4.1.2 Переход на InnoDB
  4.1.3 Встроеный кеш MySQL - Query Cache
  4.1.4 Индексы
  
4.2 PostgreSQL
  4.2.1 Индексы
  4.2.2 pgBouncer и другие.
  4.2.3 pgFouine
  
4.3 Разгрузка базы данных
  4.3.1 SphinxQL
  4.3.2 Не-RDBMS хранилище
  4.4 Кодировки
  4.5 Асинхронность
  
Приложение. Мелочи.
  1. SSHGuard или альтернатива.
  2. xtrabackup
  3. Перенос почты на другой хост
  4. Интеграция со сторонним ПО
  5. Мониторинг
  
 6. Минусы оптимизации

Кому что-нибудь из этого списка интересно, жмём сюда...
Total votes 375: ↑368 and ↓7+361
Comments105

Инструменты быстрого прототипирования

Reading time9 min
Views205K
Прототипы, как инструменты дизайна, находятся на подъёме, и вот почему. Я твёрдо верю, что прототипирование помогает нам в процессе создания качественных пользовательских интерфейсов. Мы работаем в мире богатых, обладающих динамикой интерфейсов пользователя как в сети, так и на наших устройствах. Интерфейсы, которые мы создаём, интерактивны, откликаются на воздействие пользователя и обладают эмоциями. Прототипы позволяют сформулировать чувства и функции дизайна так, как этого не могут сделать простые экранные формы. Но как выбрать лучший инструмент прототипирования для работы?
Много текста. Читать дальше
Total votes 63: ↑58 and ↓5+53
Comments52

Десять пальцев – и вперёд!

Reading time2 min
Views2.9K
Человек – это возможность, а жизнь – это творчество. Смысл жизни – в радости.
image
Около года, с молодыми и талантливыми программистами Евгением Алексеевичем Никитиным и Сергеем Андреевичем Захаровым, мы работали над созданием онлайн-версии «СОЛО на клавиатуре». Вёл проект замечательный (он умён, креативен, разносторонне одарён, энергичен, благороден и отзывчив) выпускник МГТУ им. Баумана Павел Вячеславович Померанцев.

Большую помощь нам оказал талантливый и оригинальный дизайнер Максим Алексеевич Дёмин.

Конечно, над проектом работали не только эти люди, но и наш исполнительный директор, тоже выпускник МГТУ им. Баумана, Максим Андреевич Меньшиков. Наши сотрудники Дмитрий Иванович Беспалов, Сергей Михайлович Крючков, Михаил Юрьевич Горшков, Владислав Владимирович Колодюк и другие.

Наша фирма – это почти тридцать человек. Коллектив у нас дружный, спаянный, работающий в круглосуточном режиме.

И вот наше детище – в Интернете.

school.ergosolo.ru
Читать дальше →
Total votes 224: ↑141 and ↓83+58
Comments388

Азбука WEB-разработчика

Reading time4 min
Views13K
Небольшой список, самых, на мой взгляд, полезных сайтов для любого WEB-разработчика, интересующегося сферой веб дизайна, верстки и программирования. Думаю каждый среди этого списка найдет для себя сайты, которые надолго войдут в его ленту RSS.

AA List Apart




A List Apart содержит лучшие советы и мнения от лидирующих умов индустрии.
Читать дальше →
Total votes 140: ↑132 and ↓8+124
Comments47

Хранение даты в mysql с учетом часового пояса

Reading time2 min
Views36K
image
Статья о том, как избежать путаницы с датами, хранимыми в mysql.
Эти путаницы возникают по двум причинам:
1. Разные территории нашей планеты имеют разный сдвиг времени.
2. Некоторые страны переходят на летнее время и обратно(карта со странами, переходящими на летнее время).

Многие решают эти проблемы по-разному. Кто-то делает сдвиг даты в SQL запросах, кто-то в php. Кто-то хранит даты в TIMESTAMP, кто-то в DATETIME. Я переискал много источников, но нигде не нашел верного решения данной проблемы на русском. В родной документации по mysql нашел информацию о том, как добиться корректной автоматической конвертации TIMESTAMP в локальное время, но тут тоже свои подводные камни.

Если в php настройка временной зоны делается просто, в mysql возникают сложности, особенно, если доступ к mysql серверу вам ограничен и там еще не установлены некоторые таблицы.
Читать дальше →
Total votes 13: ↑9 and ↓4+5
Comments8

Купи меня за 11 долларов

Reading time1 min
Views571
Циничные маркетологи из Symantec запустили онлайновый калькулятор, который с точностью до цента показывает ваш у текущую стоимость на чёрном рынке онлайновых личностей.



Специалисты Symantec напоминают, что в сфере киберпреступности сейчас крутится больше денег, чем в международной наркоторговле. В прошлом году в интернете одних американцев было продано 10 млн человек.

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

Калькулятор показывает реальную стоимость активов, а также их цену на чёрном рынке. Заодно вычисляется риск стать жертвой кражи.
Total votes 12: ↑9 and ↓3+6
Comments12

Где растут деньги (как мы зарабатываем на Клумбе)

Reading time6 min
Views59K
Как и большинство людей, я долгое время не представлял, что в интернете можно зарабатывать. Два года назад пришел работать в интернет-компанию, и удивился — можно. К сожалению, про зарабатывание денег на интернет-проектах очень мало пишут. Людей, которые действительно зарабатывают в нашем интернете, мало, а зарабатывающих не на баннерах — единицы, и все молчат, как партизаны.

А время идет, опыт накапливается, хочется им делиться. Расскажу, как мы учимся зарабатывать на нашей Клумбе.


Читать дальше →
Total votes 138: ↑121 and ↓17+104
Comments82

Список полезных инструментов для CSS разработчика

Reading time8 min
Views71K
Это не попытка создать список всех существующих инструментов для CSS разработки. Только некоторые, наиболее полезные были отобраны и размещены в соответствующих категориях.


Чтобы инструмент был по-настоящему полезен, у него должна быть хорошая документация и дружелюбный интерфейс. К сожалению, некоторые инструменты в списке не полностью попадают под данные критерии. Если кто-то знает лучшие альтернативы с более дружелюбным интерфейсом и большей функциональностью, пишите в комментариях.
Читать дальше →
Total votes 179: ↑170 and ↓9+161
Comments65

Разгоняем Wordpress до скорости света

Reading time7 min
Views140K
image
Скорость и отказоустойчивость – одни из тех факторов, что неизменно влияют на популярность вашего ресурса, ведь даже с лучшим в мире контентом медленно работающий сайт будет раздражать читателей и рано или поздно вы их потеряете. В этой статье мы будем оптимизировать самый популярный блоговый движок — Wordpress, работающий на PHP. А заодно рассмотрим несколько общих моментов в оптимизации сайтов.
Читать дальше →
Total votes 77: ↑63 and ↓14+49
Comments60

Серия скринкастов по VIM

Reading time1 min
Views5.7K
Если вы хотели начать работать с VIM, но вас что-то останавливало, то перед вами прекрасная возможность начать снова.

Ну а если вы уже продвинутый Vimmer то для вас тоже найдётся что посмотреть.
Total votes 67: ↑57 and ↓10+47
Comments29

Повышение работоспособности: как я просыпаюсь по утрам

Reading time2 min
Views29K
image В предыдущем посте я рассказывал о методах борьбы с проблемой «не могу заснуть». Тема оказалась востребованной, и я решил написать о своих методах борьбы с проблемой «не могу проснуться».

Думаю, саму проблему описывать не стоит: большинство людей знают, как трудно проснуться утром, и какие неприятные ощущения возникают при одной мысли о том, что нужно покинуть тёплую постель, в которой так хорошо и спокойно… Но вставать как-то нужно, иначе будут проблемы. Лично мне было очень тяжело вставать по утрам. Но приходилось себя заставлять, из-за чего весь оставшийся день настроение было на минусе, да и постоянно клонило в сон.

А потом я, не без помощи интернета, выработал свой способ просыпаться так, чтобы минимизировать неприятные ощущения. Итак, как я просыпаюсь по утрам…
Читать дальше →
Total votes 183: ↑155 and ↓28+127
Comments211

GTD за 2 минуты

Reading time3 min
Views73K
Часто встречали странные буквы GTD? Боитесь что это очередная секта?
Не бойтесь. Сейчас я все расскажу.

Что такое вообще это GTD?

Что возникает у вас в голове, когда вы слышите название GTD? Я тут поспрашивал знакомых, и нарисовалась забавная картина. Все, кого я знаю, представляют себе ГТД примерно так:

GTD украло человека

Даже как-то стыдно становится. Люди с высшим образованием, а воображают такую чушь.
Читать дальше →
Total votes 32: ↑24 and ↓8+16
Comments16

Миллион обезьян заменяются одним сайтом

Reading time1 min
Views509
Все знают, что миллион обезьян, если их их посадить за пишущие машинки, напишут любое литературное произведение. Просто, по теории вероятности.

Пора избавить бедных животных от этой участи — все может уже делать компьютер. Эра обезьяньего гуманизма наступила :)
Сайт Миллион обезьян имитирует действия длиннохвостой макаки при печатании текста.

Каждый может проверить, сколько раз нужно будет обновить страницу (а каких-то десять лет назад пришлось бы замучить с десяток животных), чтобы найти свое имя в случайной последовательности букв. Особенно, если его зовут, например, Максимилиан или Райнгольд.

И теперь представьте, сколько времени понадобилось бы для того, чтобы сгенерировать в случайном порядке хотя бы стишок типа:

«Уронили мишку на пол,
Оторвали мишке лапу.
Все равно его не брошу,
Потому что он хороший»

ЗЫ. Just for fun

ЗЗЫ. Этот текст сгенерирован обезьяной за 6 лет, 8 месяцев, 24 дня, 6 часов, 19 минут, 44 секунды.

ЗЗЗЫ. Это безумство является прямым продолжением безумства с числом "ПИ", если кто помнит :)
Total votes 95: ↑62 and ↓33+29
Comments95

Сверхплавное передвижение объектов

Reading time2 min
Views7K
Иногда у веб-разработчиков возникает задача, которая требует плавного движения объекта по экрану. Это может быть строка загрузки, какой-то спрайт (например, машинки на клавогонках) или что-то ещё. Проблема возникает, когда сдвиг даже на одну точку кажется слишком резким и портит общее ощущение от происходящего. Как этого избежать? Использовать приёмы антиалиасинга.

Мы сделали небольшой пример (а затем и ещё один с зацикленным фоном), в котором можно посмотреть, как выглядит плавный сдвиг с субпиксельной точностью и антиалиасингом, и как выглядит тот же сдвиг без этого эффекта.

Как это сделано?
Читать дальше →
Total votes 217: ↑212 and ↓5+207
Comments103

Верстка на HTML5

Reading time3 min
Views65K
html5

Несмотря на то, что стандарт HTML5 официально не утвержден, использовать его можно уже сейчас. Большинство браузеров уже понимают новые структурные элементы и для его использования достаточно добавить новый doctype.
Читать дальше →
Total votes 112: ↑102 and ↓10+92
Comments122

Инвест-фонд Шаркит: подводим итоги о полученных заявках

Reading time1 min
Views606
И так, идет третья неделя работы Шаркита. На данный момент мы получили 140 заявок, из них отклонили 126, в процессе обсуждения находится 14. Две заявки уже на финишной прямой получения инвестиций. В этом посте хотелось бы сделать небольшой общий обзор всех заявок, который, полагаю, будет интересн Хабрасообществу. А на people.sharkit.ru мы начали выкладывать реальные заявки и комментировать причину отказа.

Читать дальше →
Total votes 51: ↑29 and ↓22+7
Comments27

«Фотография на паспорт»

Reading time4 min
Views27K
На сайте журнала Vanity Fair есть интересная коллекция фотографий, называется Actors Acting. Автор — фотограф Говард Шац. Идея серии проста и понятна — Шац дает актеру (известному, или не очень известному) «установки»/ситуации и просит изобразить подобающую моменту мимику.
Получается сценка в одной фотографии.

Главный наш дизайнер — Оля Землякова, организовала с коллегами под эту идею фотофлешмоб «Фотография на паспорт». Я просто не могу не поделиться результатами )))

Катя Яткевич


Катя Яткевич

(слева направо, сверху вниз)
  1. На выпуском вечере вашей дочери ее симпатичная подружка, на которую вы тайком все время пялитесь, сказала вам: «мистер Лефоквиц, ну вам никак не можем быть 58 лет, вы слишком клевый»
  2. Вам четыре года и вы только что выпустили из клетки семейного попугайчика. (см. п. 8)
  3. ??
  4. Вы шестилетняя девочка, впервые пришедшая в цирк. Вы потрясены громом пушки и видом одетый в сверкающий серебристый костюм акробатки, которой из этой пушки только что выстрелили.
  5. Вы первая в истории США женщина-министр обороны. Вы встречаетесь с Председателем комитета объединенных начальников штабов, который днем ранее в эфире CNN назвал вас <очень милой барышней
  6. Вы только что увидели, что женщина рядом с вами распахнула свой плащ, а под ним ничего не
  7. После долгих переговоров, бесчисленных телефонных звонков и бесконечных репетиций ваш агент звонит вам чтобы сказать, что роль ваша
  8. Вам четыре года и вы пропускаете мимо ушей упреки мамы, расстроенной исчезновением попугайчика
  9. Вы 17-летний привратник у служебного входа в Метрополитан Опера. Вы смотрите, как из театра выходит ваша любимая оперная дива со своей свитой.

Читать дальше →
Total votes 232: ↑177 and ↓55+122
Comments188

Information

Rating
Does not participate
Location
Рига, Латвия, Латвия
Registered
Activity