вторник, 28 апреля 2015 г.

Стена


Стена

Список интересных фильмов

Фильмы , которые сильно влияют на мировоззрение и мироощущение :

1. Достучаться до небес
2. Пока не сыграл в ящик
3. Куда приводят мечты
4. В погоне за счастьем
5. Дневник Нимфоманки
6. Необратимость
7. Эффект бабочки
8. Игры разума
9. Гордость и предубеждение
10. Зеленая миля
11. Семь жизней
12. Адвокат дьявола
13. Области тьмы
14. Запах женщины
15. Всегда говори «Да»
16. Список Шиндлера
17. Мечтатели
18. Форрест Гамп
19. Револьвер
20. Бойцовский клуб
21. Нокдаун
22. Господин Никто

Список мотивирующих фильмов :

1. Гладиатор
2. Никогда не сдавайся
3. Бойцовский Клуб
4. Дьявол носит Прада
5. Миллионер из трущоб
6. Башни Близнецы
7. В погоне за счастьем
8. Секрет
9. Мирный Воин
10. Грязные танцы
11. Рокки
12. Октябрьское небо
13. Ямакаси
14. Достучаться до небес
15. Побег из Шоушенка
16. Храброе Сердце
17. Социальная сеть
18. Куда приводят мечты
19. Пока не сыграл в ящик
20. Всегда говори "Да"
21. 8-я миля
22. Миссия на Марс
23. Соучастник
24. Крепкий Орешек
25. Нокдаун
26. 3 дня на побег
27. Загадочная история Бенджамина Баттона
28. Бойлерная
29. Шаг вперед
30. Олигарх
31. 1 1
32. Джанго освобожденный
33. Жизнь Пи
34. В погоне за счастьем
35.А в душе я танцую

Потрясающие фильмы, которые заставят вас плакать :

1. Искусственный разум
2. Хатико: Самый верный друг
3. Зеленая миля
4. Титаник
5. Белый Бим Черное ухо
6. Спеши любить
7. Мальчик в полосатой пижаме
8. Заплати Другому
9. Достучаться до небес
10. Мост в Терабитию

Лучшие фильмы по версии Тарантино :

1. Королевская битва - Япония, 2000 год
2. Кое-что еще - США, Франция, Великобритания, 2003 год
3. Кинопроба - Япония, 1999 год
4. Лезвие / Бритва - Гонконг, 1995 год
5. Ночи в стиле буги - США, 1997 год
6. Под кайфом и в смятении - США, 1993 год
7. Догвилль - Германия, Дания, Швеция, Финляндия, Франция, Великобритания, Нидерланды, Норвегия, 2003 год
8. Бойцовский клуб - Германия, США, 1999 год
9. Пятница - США, 1995 год
10. Свой человек - США, 1999 год

Топ 10 запрещенных и очень спорных фильмов, неизвестные истории известных людей :

1. Дом (запрещен в 36 странах).
2. Курск (запрещен в России).
3. Разменная монета (запрещен в США)
4. Привет от Кобы - Сталин.
5. Властелин мира - Никола Тесла
6. Человек, который хотел знать все - Леонардо да Винчи.
7. Отражение - Спецназ за гранью возможного.
8. Грани возможного - Сила мышц.
9. Грани возможного - Человеческий мозг.
10. Грани возможного - Зрение.

Лучшие фильмы про измену :

1. Матч Пойнт, США, Великобритания, 2005 год
2. Неверная (2002), США, Германия, Франция, 2002 год
3. Близость (2004), США, Великобритания, 2004 год
4. Приходит женщина к врачу, Нидерланды, 2009 год
5. Цена измены, США, 2005 год
6. Прошлой ночью в Нью-Йорке, США, Франция, 2010 год
7. Что скрывает ложь (2000), США, 2000 год
8. Осторожно Двери закрываются, США, Великобритания, 1998 год
9. Бункер, Испания, Колумбия, 2011 год
10. На грани (1997), США, 1997 год

Подборка фильмов на тему "Сумасшедшие в кадре" :

1. Чарли и Шоколадная Фабрика, США, 2005 год
2. Вилли Вонка и шоколадная фабрика, США, 1971 год
3. Черный лебедь (2010), США, 2010 год
4. Пролетая над гнездом кукушки, США, 1975 год
5. Остров проклятых, США, 2010 год
6. Игры разума, США, 2001 год
7. Ангелы вселенной, Исландия, 2000 год
8. Дом дураков, Россия, 2002 год
9. Я плюю на ваши могилы, США, 2010 год

Комедии про обмен телами :

1. Мальчик в девочке, 2006
2. Нас двое, 2008
3. Подмена, 1991
4. Чумовая пятница, 2003
5. Любовь-морковь, 2007
6. Любовь-морковь 2
7. Хочу как ты, 2011
8. Их поменяли телами, 1996
9. Цыпочка, 2002
10. Из 13 в 30, 2004

Самые кровавые фильмы :

1. Хостел (2005)
2. Хостел 2 (2007)
3. Пила 2 (2005)
4. Пила: Игра на выживание (2004)
5. Ад каннибалов (1979)
6. Мизери (1990)
7. Мученицы (2008)
8. Поворот не туда (2003)

Подборка настоящего мужского кино :

1. Карты, деньги, два ствола (1998)
2. Бешеные псы (1992)
3. На гребне волны (1991)
4. Бойцовский клуб (1999)
5. Свой среди чужих, чужой среди своих (1974)
6. Закон доблести (2012)
7. Поезд на Юму (2007)
8. 22 пули: бессмертный (2010)
9. Мы из будущего
10. Мы из будущего 2

Подборка фильмов для подростков :

1. Оторва (2008)
2. Еще одна история Золушки
3. Спеши любить (2002)
4. ЛОЛ (2012)
5. Дрянные девчонки (2008)
6. Шаг вперед (2006)
7. Сумерки (2008)
8. Хатико (2009)
9. Классный мюзикл (2006)

Уникальная подборка лучших фильмов с Джимом Керри :

1. Пингвины мистера Поппера (2011)
2. Рождественская история (2009)
3. Всегда говори «ДА» (2008)
4. Роковое число 23 (2007)
5. Аферисты Дик и Джейн (2005)
6. Лемони Сникет: 33 несчастья (2004)
7. Вечное сияние чистого разума (2004)
8. Брюс Всемогущий (2003),
9. Мажестик (2001)
10. Гринч – похититель Рождества (2000)
11. Я, снова я и Ирэн (2000)
12. Шоу Трумана (1998)
13. Лжец, лжец (1997)
14. Кабельщик (1996)
15. Бэтмен навсегда (1995)
16. Тупой и еще тупее (1994)
17. Маска (1994)
18. Эйс Вентура: Розыск домашних животных (1993)
19. Я люблю тебя, Филлип Моррис (2008)
20. Человек на Луне (1999)

Подборка лучших фильмов с Джонни Деппом :

1. Мрaчные тени (2012)
2. Рoмoвый дневник (2010)
3. Туриcт (2010)
4. Aлиca в cтрaне чудеc (2010)
5. Джoнни Д. (2009)
6. Вooбрaжaриум дoктoрa Пaрнaca (2009)
7. Чaрли и шoкoлaднaя фaбрикa (2005)
8. Рacпутник (2004)
9. Вoлшебнaя cтрaнa (2004)
10. Тaйнoе oкнo (2004)
11. Из aдa (2001)
12. Кoкaин (2001)
13. Шoкoлaд (2000)
14. Coннaя Лoщинa (1999)
15. Девятые врaтa (1999)
16. Cтрaх и ненaвиcть в Лac-Вегacе (1998)
17. Дoнни Брacкo (1997)
18. Мертвец (1995)
19. Эд Вуд (1994)
20. Эдвaрд руки-нoжницы (1990)

Подборка фильмов с Леонардо ДиКаприо :

1. Начало (2010)
2. Остров проклятых (2010)
3. Совокупность лжи (2008)
4. Дорога перемен (2008)
5. Кровавый алмаз (2006)
6. Отступники (2006)
7. Авиатор (2004)
8. Банды Нью-Йорка (2002)
9. Поймай меня, если сможешь (2002)
10. Пляж (2000)

9-ка потрясающих мистических фильмов :

1. Другие / The Others (2001)
2. Сонная Лощина / The Hollow (1999)
3. Шестое чувство / Sixth Sense (1999)
4. Ключ от всех дверей / Skeleton Key (2005)
5. Готика / Gothika (2003)
6. Константин: Повелитель тьмы / Constantine (2005)
7. 1408 / 1408 (2007)
8. Омен 666 / The Omen (2006)
9. Девятые врата / The Ninth Gate (1999)

5 удивительных приключений :

1. Изгой
2. Выжить
3. 127 Часов
4. Королевская битва
5. Шесть дней, семь ночей

Лучшие фильмы-катастрофы :

1. В субботу (2011)
2. Скайлайн (2004)
3. Я - легенда (2007)
4. Наводнение (2007)
5. Послезавтра (2004)
6. Явление (2008)
7. 2012 (2009)
8. Знамение (2009)
9. Башни-близнецы (2006)
10. День, когда Земля остановилась (2008)

Лучшие фильмы с Моникой Беллучи :

1. Пристрели их (2007)
2. Матрица: Перезагрузка. (2003)
3. Бешеная кровь (2008)
4. Второе дыхание (2007)
5. Человек, который любит (2008)
6. Стукачка (2010)
7. Любовь: инструкция по применению (2011)
8. Не оглядывайся (2009)
9. Дракула (1992)
10. Слезы солнца (2003)

12 лучших фильмов на тему одиночества :

1. Изгой (2000)
2. Малхолланд Драйв (2001)
3. Трудности перевода (2003)
4. Сломанные цветы (2005)
5. Покидая Лас-Вегас (1995)
6. О Шмидте (2002)
7. Небо над Берлином (1987)
8. Паук (2002)
9. Чунгкингский экспресс (1994)
10. Таксист (1976)

Специально для любителей ужастиков.

Фильмы ужасов, основанные на реальных событиях :

1. Девушка напротив
2. Волчья яма
3. Зодиак
4. Техасская резня бензопилой
5. Шесть демонов Эмили Роуз
6. Незнакомцы
7. Призраки в Коннектикуте
8. Призрак Красной реки
9. Ужас Амитивиля
10. Они
11. Одержимая
12. Эвиленко
13. Охотник на людей
14. Каннибал из Ротенбурга
15. Бостонский Душитель
16. Пустоши
17. Алфавитный убийца
18. Гражданин Икс
19. Собиратель костей
20. Могильщик Гэйси
21. Пропавшие
22. Воспоминания об убийстве
23. За гранью страха
24. Порок
25. Американское преступление
26. Леденец
27. Необитаемый
28. Каннибал
29. Ночные небеса
30. Бал Сатаны
31. Ночной охотник
32. Туннели смерти
33. Призрак в доме семьи Белл
34. Темная вода: Изгнание нечистой силы
35. Немой дом
36.Техасская резня бензопилой (2006)
37. Репортаж (2007)
38. 6 демонов Эмили Роуз (2005)
39. Ужасы Амитивилля (2005)
40. Призрак красной реки (2005)
41. Волчья яма (2005)
42. Ведьма из Блэр: Курсовая с того света (1999)
43. Открытое море (2003)
44. Паранормальное явление 1-4 ч. (2007)
45. Прикосновение (1992)

Самые страшные фильмы ужасов за всю историю кино :

«Психоз» (Режиссер Альфред Хичкок)
«А теперь не смотри» (Николас Роуг)
«Плетеный человек» (Робин Харди)
«Сияние» (Стэнли Кубрик)
«Изгоняющий дьявола» (Уильям Фридкин)
«Носферату: Симфония ужаса» (Фридрих Вильгельм Мурнау) «Впусти меня» (Томас Альфредсон)
«Вампир» (Карл Теодор Дрейер)
«Вампиры» (Луи Фейяд)
«Подглядывающий Том» (Майкл Пауэлл)
«Невиновные» (Джейк Клейтон)
«Звонок» (Хидео Наката)
«Призрак дома на холме» (Ян де Бонт, 1999)
«Техасская резня бензопилой» (Тоб Хупер, 1974)
«Глубокой ночью» (Альберто Кавальканти Бэзил Дирден и др.) «Кабинет доктора Калигари» (Роберт Вине)
«Хэллоуин» (Джон Карпентер)
«Невеста Франкенштейна» (Джеймс Уэйл)
«Дьяволицы» (Анр-Жорж Клузо)
«Дракула» (Теренс Фишер)
«Кинопроба» (Такаши Миике)
«Ведьма из Блэр» (Дэниел Миррик, Эдуардо Санчес)
«Зловещие мертвецы»/ (Сэм Рейми) «Кэрри» (Брайан Де Пальма)
«Смертельный туннель»
«Подмена»
« Незнакомцы»
«Таншаньское землетрясение»
«Выжить»
«Кемпер»

Подборка психологических фильмов ужасов :

1. Дитя тьмы
2. Дом восковых фигур
3. Затащи меня в ад
4. Полуночный экспресс
5. Шестое чувство
6. Куб
7. Астрал
8. Палата
9. Гипноз
10. Лабиринт Фавна

5 самых опасных для психики фильмов :

1. СЧАСТЬЕ /реж. Тодд Солондз, 1998
2. НИТИ /реж. Мик Джексон, 1984
3. КИНОПРОБЫ /реж. Такаши Миике, 1999
4. ГОЛОВА-ЛАСТИК /реж. Дэвид Линч, 1977
5. ЗА СТЕКЛОМ /реж. Ауг

понедельник, 27 апреля 2015 г.

12 уроков от человека, который научился просыпаться в 4:30 утра - Лайфхакер

12 уроков от человека, который научился просыпаться в 4:30 утра

Хотите научиться рано вставать, но всё никак не получается? Мотивирующая история Филипе Кастро Матоса, которой мы поделимся в этой статье, поможет вам не только приучить себя рано вставать, но и более эффективно справляться с рабочими делами.

Утро

Dennis van de Water/Shutterstock.com

Предлагаем вам прочитать мотивирующую историю Филипе Кастро Матоса (Filipe Castro Matos), который приучил себя просыпаться в 4:30 утра за 21 день.

2 апреля я бросил себе новый вызов. Задача была проста: 21 рабочий день я должен был просыпаться в 4:30 утра. Я уже привык просыпаться рано (в 6 часов утра почти каждый день), но на этот раз я хотел зайти ещё дальше. Я хотел проверить себя и узнать свой предел.

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

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

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

Почему именно 21 день? Ну, я опирался на старую как мир идею доктора Максвелла Мольца, который утверждает, что для того, чтобы сформировать новые привычки, вам необходим ровно 21 день. Я не знаю, работает ли это на самом деле, мне просто нужно было поставить цель.

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

как просыпаться рано

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

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

Итак, что я выяснил за это время? МНОЖЕСТВО ВСЕГО.

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

Это поможет вам не сойти с намеченного пути, когда у вас появится (а оно непременно появится) желание всё бросить. В моём случае я решил поделиться своими наблюдениями с друзьями и знакомыми в Facebook. Я знал, что мне необходимо было рассказать об этом кому-нибудь, ведь это дополнительный стимул двигаться к намеченной цели.

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

2. Люди внимательны к подробностям.

Некоторые люди считают такие ранние пробуждения не совсем нормальными, так что мне пришлось очень активно отстаивать свою позицию в комментариях. Люди беспокоились за меня. Люди задавали много вопросов. И при этом люди считали, что сами никогда не смогут приучить себя вставать так же рано.

Я вёл долгие и осмысленные беседы с людьми, которые читали мои посты, и я был благодарен всем, кто откликнулся. Эти люди заставили меня о многом задуматься, и эта статья, которую вы сейчас читаете, во многом появилась благодаря этим разговорам.

3. Люди не хотят просыпаться раньше, потому что думают, что из-за этого они будут спать меньше.

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

Я очень хорошо знал, сколько времени требуется моему организму, чтобы выспаться. И так как я изменил время своего пробуждения, необходимо было также изменить время, в которое я бы ложился спать. Для меня это оказалось просто. Чтобы выспаться, мне необходимо 6–7 часов, и я не собирался спать меньше.

Так что если время 9:30 или 10:00 вечера, то я знаю, что мне пора ложиться спать. К моему удивлению, большинство людей, которые спрашивали меня, когда я сплю, на деле спали намного меньше, чем я. А я стал высыпаться намного лучше, чем раньше.

4. Устраните препятствия, которые встретятся вам на пути.

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

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

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

Подумайте обо всём, что мешает вам достичь желаемой цели.

Это относится не только к желанию раньше просыпаться, но и к желанию бросить курить, начать ходить в спортзал или, скажем, есть больше фруктов и овощей. Как избавиться от всех препятствий, которые мешают вам достичь цели?

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

Обычно я работаю в стартапах, а это означает, что у меня свободный и гибкий график, и именно поэтому я могу начать работать в 4:30 утра. Такой график позволяет мне вернуться домой раньше. Кроме того, никто не зависит от меня, и я не завишу ни от кого. И, несмотря на то, что в одном доме со мной живут семеро других людей, у меня легко получалось засыпать так рано.

Рано просыпаться

5. Ваше физическое состояние очень поможет вам.

Если говорить о сне, то мне очень повезло. Я засыпаю очень быстро (в среднем мне требуется 5 минут). Хорошо сплю (ночью просыпаюсь редко). Никаких проблем нет и с пробуждением: встаю я сразу по сигналу будильника.

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

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

6. Забудьте фразу "ещё 10 минуточек".

Многие из нас грешат этим: встают не сразу по сигналу будильника, а переставляют его ещё на 10 минут попозже. К счастью, я редко так делал, а сейчас окончательно убедился в бесполезности этого занятия.

Если вы хотите проснуться в определённое время, то, пожалуйста, забудьте про это вечное "ну ещё 10 минуточек". Это серьёзно повлияет на ваш день: исследования доказывают, что вы совершенно не выспитесь за эти 10 минут, более того, будете чувствовать себя более уставшим, а это самым негативным образом скажется на ваших делах.

7. Я очень люблю спать, но моему телу нужно всего 6–7 часов, чтобы выспаться.

После 6–7 часов сна я уже не могу спать, а просто ворочаюсь в постели. Лучше встать и заняться чем-нибудь интересным и полезным. На том свете отосплюсь.

8. Остаётся больше времени на работу.

После того как я начал просыпаться в 4:30 утра, у меня появились лишние 2 часа, которые я мог посвятить работе. Каким образом? Как я уже говорил выше, я жаворонок и после 6 часов вечера не могу сделать ничего особо полезного, моя продуктивность падает уже во второй половине дня.

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

9. У меня появилось время, чтобы разгрести почту.

Как правило, за эти 2 часа я успеваю ответить на все электронные письма и распланировать весь свой день. Увидеть цифру ноль напротив папки "Входящие", когда время всего 6:30 утра, — это замечательно. Больше всего радует то, что мало кто может мне ответить на сообщения в столь ранний час. Особенно это касается Facebook, это самый злосчастный враг нашего времени. Сообщение за сообщением, мы можем зависнуть в переписке с каким-то человеком на весь день.

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

10. Появилось больше времени на тренировки.

Тренировки

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

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

11. Новый взгляд на мир.

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

Отправиться на пробежку или прогулку, пока солнце ещё не взошло, — всё это было невозможно раньше, когда я жил по стандартному графику.

Ранние пробуждения

12. И, конечно же, нужна сила воли, чтобы перестроить свой режим дня.

Если у вас нет силы воли, то более чем вероятно, что вы сдадитесь. Тренируйте свою силу воли, учитесь добиваться желаемого.

В конце концов, если вы действительно захотите, то никто не в силах будет остановить вас!

(via)



Sent from my iPhone

Как дисциплинировать себя, приобретая привычки шаг за шагом / Surfingbird - мы делаем интернет лучше

Как дисциплинировать себя, приобретая привычки шаг за шагом

Продолжая свою заметку о том, почему дисциплина важнее мотивации, автор блога Wisdomination Збынек Драб написал инструкцию для тех, кто хочет привить себе дисциплину — ЦП публикует перевод его статьи, которая полна практических советов, лайфхаков и хитростей.

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

Мелкими шажками

Ваш мозг противится резким изменениям. Если вы мотивируете себя на титаническую попытку из серии «Начиная с завтрашнего дня, я — новый человек», то вы только перегорите и вернётесь назад. Большое и внезапное так просто не работает, медленное и постепенное — работает. Здесь работает эффект игрушки йо-йо. Вам нужно выбраться за границу зоны комфорта, что является единственным устойчивым подходом.

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

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

Потому что вы катаетесь на доске, а это значит, что волна движется вперёд под вами. Круто.

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

Используйте лестницу вместо лифта каждый день. Это всего пять или десять калорий, но за год наберётся на три пиццы. И это только калории.

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

Небольшие, но последовательные вещи. Идите по лестнице.

Мозг противится резким изменениям, но постепенные изменения позволяют это сопротивление обойти. Это приводит нас к следующему пункту.

Принцип постепенности

Вы можете внедрять огромные изменения, разделяя их на небольшие управляемые шаги. Штука в том, что противящийся изменениям «тролль», живущий в вашей голове, даже не заметит, что происходит что-то большое. Сопротивление растёт экспоненциально, а не пропорционально, в зависимости от величины изменений. Этот принцип работает во многих аспектах жизни:

  • Вербовка новых шпионов это не «Здравствуйте, сэр, не желаете ли поработать на иностранное правительство, чтобы погубить собственную страну?» Это серия относительно безвредных и законных шагов — ужинов, небольших подарков и запросов на не такую уж важную информацию, что уже в итоге выливается в серьёзную государственную измену.
  • При съёмке порнофильмов продюсеры не просят незнакомую девушку с улицы возлечь с пятью качками — всё начинается с лёгкой обнажёнки («Честный модельный бизнес, ты чего»), потом всё дальше. Ну вы понимаете.
  • Есть зловещие примеры из политики.
  • Есть мысленный эксперимент про лягушку в кипятке — может, это и враньё, но говорят, что если положить лягушку в кастрюлю с водой и медленно её нагревать, то лягушка не выпрыгнет, потому что кипячение будет постепенным. Не знаю, зачем кому-то понадобится заниматься такими вещами, и вообще насколько это правдиво, но принцип точно такой же — именно так вам нужно низвергнуть внутреннего тролля-саботажника. Сварите его заживо. Медленно, усыпив его внимание.

Этот же механизм мы хотим использовать во благо.

Хотите начать больше заниматься спортом? Выйдите на прогулку. Хотите сесть на диету? Начните с отказа от одной самой вредной вещи — вероятно, это сахар. Хотите бросить курить? Возьмите сегодняшнюю «последнюю» сигарету, переломите её пополам и смойте в унитаз.

Из этого следует следующий пункт.

Умышленное управление исключениями

Лучший способ управлять пороками — принять их и управлять ими. Нельзя просто заставить их испариться, но можно научиться ими управлять и перенаправить их инерцию, осознанно включая их в план. Это метод дзюдо.

Суть в том, чтобы контролировать время и дозировку. Диета? Спланируйте дни, когда вы будете жульничать (раз в неделю, допустим). Тратите ценные часы жизни на Facebook? «Никакого больше Facebook» — неверно, «Facebook на 20 минут вечером, чтобы узнать, что происходит у друзей, и всё на этом» — верно.

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

Этого можно избежать, если принять и спланировать исключения — без исключений из запланированных исключений.

Вы абсолютно точно можете позволить себе сказать: «Сегодня я останусь дома, буду есть пиццу, сидя в трусах, и играть в видеоигры». Но делайте это лишь изредка, осознанно и обдуманно — нельзя, чтобы это просто случалось с вами в отсутствие более продуктивного плана. Любой план лучше, чем этот.

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

Подталкивание и приверженность

Есть очень и очень мощный трюк: использовать небольшие толчки в правильном направлении, чтобы обойти собственную защиту против хороших вещей для самого себя. Я объясню. Штука в том, чтобы снизить сопротивляемость мозга, сделав символический шаг в желаемом направлении, не разбудив при этом тролля.

Об этом принципе мне рассказал автор сатирического комикса Dilbert Скотт Адамс — если у вас нет настроения, чтобы пойти на тренировку, но вы бы хотели этого, просто наденьте спортивную форму. Это ведь просто, верно? Этого достаточно, чтобы мозг переключился, и вы вдруг обнаружили себя отжимающимся от пола.

Делайте маленькие, символические шаги в направлении предполагаемого изменения.

Если говорить о подталкиваниях и напоминаниях, я бы рекомендовал работу профессора психологии Дэна Ариэли.

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

Это работает по двум причинам — подталкивание и фиксирование установки (очень важно), а также необходимость быть последовательным. Вы хотите обмануть свой мозг и заставить его думать «Я только что купил спортивную экипировку — я человек, который заботится о своём здоровье. Следовательно, я должен избегать отдела с вредной пищей».

Последовательность работает, потому что противоречивость буквально угрожает целостности эго. Наши прошлые решения составляют нашу личность, и её хочется сохранить. Так что вы делаете здоровые решения психологической составляющей сохранения своего «я». Защита эго делает за вас тяжёлую работу. Это лайфхак.

Давайте повторю ещё раз: последовательность — это необходимая вещь для самоощущения. Вы можете использовать это, чтобы делать почти всё, что угодно — вы делаете простые, маленькие, умные вещи, чтобы закрепить за собой образ поведения. Это — ядерное оружие управления собственной жизнью. Используйте с умом.

Перезарядка

Ещё одна суперважная вещь, если вы хотите взять собственную жизнь под контроль: не надо уставать и подвергать себя стрессам. Проще сказать, чем сделать, я знаю, но я покажу, как этого добиться.

Когда вы умственно истощены, вещи, которые вы делаете (или не делаете), находятся далеко от сознательных решений и здравого смысла. Если вы хотите развить хорошие привычки, научитесь «перезаряжать аккумулятор».

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

На самом деле, если у вас стрессовая жизнь, вам в особенности нужно это сделать. Это просто, и занимает всего 10 минут.

И популярность этого метода растёт — интернет постепенно заполняется такими советами, но редко в схожем контексте — в особенности, чтобы откатить истощение эго и «исполнительную усталость». Что удивительно, учитывая, что это второе по популярности направление использования (первое — это ментальное здоровье в общем смысле).

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

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

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

Основы управления окружением:

  • Очень сильно помогает чистота и порядок. Если грязная квартира — это часть вашей порочной петли, то уговорите друзей помочь вам («Я пытаюсь разобраться в своей квартире и жизни, помогите — я куплю пиво и пиццу, и так же помогу вам, если вы захотите сделать то же самое») или наймите уборщицу — всё, чтобы убрать раздражающие факторы снаружи, дать себе больше сил, чтобы разобраться со всем остальным в жизни.
  • Убрать из виду источники искушения. Если вы на диете, открытые банки с Nutella и купоны из пиццерии, валяющиеся на виду, губительны. Курильщики, выкиньте зажигалки. С глаз долой — из сердца вон.
  • Вместо всего этого поместите на виду конструктивные напоминания и подталкивающие штуки. Например, собственную фотографию в белье можно повесить на холодильник.

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

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

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

Малыш всё ещё там, со своей импульсивностью и рассеянным вниманием, с близоруким стремлением к немедленному удовлетворению. В целом, вы хотите контролировать свои высшие функции. Это делать сложнее, если вы устали или находитесь в состоянии стресса, отсюда следует важность концентрации и медитаций, а также управления внешней средой.

Share on Vkontakte Share on Facebook

материал с siliconrus.com



Sent from my iPhone

воскресенье, 26 апреля 2015 г.

Светит пожизненное: как будут блокировать сайты с 1 мая / Slon.ru

Светит пожизненное: как будут блокировать сайты с 1 мая

C 1 мая вступают поправки в закон «Об информации, информационных технологиях и защите информации», направленные на борьбу с нарушениями авторских прав в интернете. Это так называемый расширенный вариант антипиратского закона, первая версия которого заработала еще в августе 2013 года. Среди прочего поправки предусматривают пугающую своей бескомпромиссностью меру – сайт с пиратским контентом могут заблокировать навсегда.

Slon разобрался, как это возможно с точки зрения закона и что ждет российский интернет уже на следующей неделе.

За какой контент теперь могут заблокировать?

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

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

Факт расширения типов контента принципиально важен – не только для конкретных рынков и рыночных игроков, но и для всей системы регулирования авторских прав в Сети. Число объектов, которые могут потенциально стать предметом досудебных блокировок и судебных разбирательств, увеличивается в десятки раз. Правообладатели уже заявили о планах после 1 мая заблокировать более семисот ресурсов.

Выдержит ли такой поток разбирательств Мосгорсуд, большой вопрос. Именно у него с 2013 года исключительное право на разрешение споров о защите прав на интеллектуальную собственность в интернете в первой инстанции (данные между Мосгорсудом и Роскомнадзором по таким делам передаются мгновенно в рамках единой информационной системы). За полтора года действия антипиратского закона Мосгорсуд рассмотрел чуть более 320 дел о защите авторских прав.

Что нового в законе?



Sent from my iPhone

четверг, 23 апреля 2015 г.

«ВКонтакте» анонсировала перезапуск раздела с видеозаписями в течение суток / Surfingbird - проводи время с пользой для себя!



«ВКонтакте» анонсировала перезапуск раздела с видеозаписями в течение суток

«ВКонтакте» в течение суток изменит внешний вид раздела с видеозаписями, разделив его на тематические категории. Об этом рассказал на форуме РИФ+КИБ руководитель отдела клиентского сервиса «ВКонтакте» Александр Круглов.

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

Запуск раздела ожидается вечером 23 апреля или утром 24-го.

Какая была большая проблема: заходя в «Мои видеозаписи», вы по сути попадали в видеохостинг. Есть видео, которые вы когда-то загрузили и вряд ли сейчас хотите смотреть, и есть строчка поиска. Сейчас всё более типичным паттерном потребления видео в интернете является контент, который мы рекомендуем.

Удачная ситуация: мы очень много чего знаем о пользователе. Какие видео смотрит он и его друзья, чем он интересуется. […] У пользователей появится как минимум хорошая альтернатива телевизионному потреблению.Александр Круглов, руководитель отдела клиентского сервиса «ВКонтакте»

Среди ключевых источников качественного контента, который будет предлагаться к просмотру в новом видеоразделе, перечислены ТНТ, СТС, Первый канал, ВГТРК, «Красный квадрат», «АМИК» (КВН), Ello, Believe digital, видеоблогеры, а также пользовательские видео, которые будут вручную проверяться модераторами.

По словам Круглова, «ВКонтакте» будет предпочитать для продвижения через рекомендации те видео, которые загружены через нативный плеер соцсети, однако контент, которого нет в соцсети, могут брать и с других видеохостингов — например, с YouTube.

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

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



Sent from my iPhone

Успешная бюджетная вирусная реклама на примере 5 продуктовых брендов - «Блог Блогуна»

Успешная бюджетная вирусная реклама на примере 5 продуктовых брендов

Блогун: успешная бюджетная вирусная реклама на примере 5 продуктовых брендов

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

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

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

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

1. Греческий йогурт «Чобани»

Компания «Чобани» (Chobani) — новатор среди марок здоровой пищи. Многие конкуренты «Чобани» используют социальные сети, чтобы рассказывать о преимуществах своей продукции. Но компания пошла другим путём. Она подстроилась под стиль жизни своей потребительской аудитории и просто присоединилась к тем темам, которые они уже обсуждали в социальных медиа. Компания хорошо исследовала свой целевой сегмент, и поэтому смогла точно определить, что именно интересует потребителей и как установить с ними контакт. В результате «Чобани» стала предоставлять своим потребителям особый (полезный!) контент, ― рецепты, идеи для «быстрых перекусов» и советы, как оставаться в хорошей физической форме.

Кроме того, компания «Чобани» не побоялась следовать за потребителями в нишевые социальные сети. В результате она стала первым йогуртовым брендом, который начал приобщать к здоровому питанию молодую (преимущественно женскую) аудиторию в социальном сервисе «Пинтерест» (Pinterest) и в культовом фотообменнике «Инстаграм» (Instagram). Такой шаг принёс «Чобани» звание бесспорного лидера в этих сетях, укрепив позиции компании до того, что сегодня её примеру следуют конкурирующие бренды с большими бюджетами. А в сети Facebook компания «Чобани» стала открыто поддерживать другие, неконкурирующие бренды, которые также были популярны у её целевой аудитории, ― например, такие компании, как «Национальное Общественное Радио» (NPR), женский журнал «СЭЛФ» (SELF Magazine) и «Орео» (Oreo), производитель популярного печенья-сэндвича.

ВЫВОД: Чтобы проводить грамотную маркетинговую политику, прислушивайтесь к тому, о чём в социальных медиа говорит ваша целевая аудитория. Позволить потребителям самостоятельно определять контент — это самый экономически выгодный способ привлечь новых клиентов. Не навязывайтесь!

2. Сеть супермаркетов «Хол Фудс»

Когда дело доходит до того, чтобы дать потребителям тему для разговоров, никто не делает этого лучше, чем сеть супермаркетов здоровых продуктов «Хол Фудс» (Whole Foods). Компания не особенно рекламирует себя, поскольку понимает, что многие покупатели уже достаточно осведомлены о широком ассортименте полезных товаров, предлагаемых в магазинах сети.

Вместо того, чтобы сосредоточиться на особенностях и преимуществах конкретного продукта, «Хол Фудс» создаёт такой контент, который побуждает потребителей говорить о том, чего они смогут достичь с его помощью. Например, вместо того, чтобы выкладывать в Twitter карту вин с подробными характеристиками, «Хол Фудс» завела «винный» твиттер-аккаунт, который рассказывает потребителям, с какими блюдами сочетается то или иное вино. Стратегия компании направлена на общение с потребителями на равных, и на управление их эмоциями с помощью ценных советов.

«Хол Фудс» постоянно расширяет своё присутствие в социальных медиа, поощряя отдельные магазины сети, разбросанные по всему миру, заводить свои аккаунты в Twitter и странички в Facebook, чтобы оповещать покупателей о местных маркетинговых акциях и распродажах.

ВЫВОД: Относитесь с уважением к интеллекту своих потребителей и к тому, о чём они говорят в социальных медиа. При необходимости принимайте дополнительные меры по разработке контента, предлагая полезные советы и рекомендации там, где это требуется. Всё это поможет вашему бренду получить значительную отдачу от затрат на управление сообществом в социальных медиа. Кроме того, если магазины вашей фирмы расположены в разных городах, подумайте о том, чтобы завести для них отдельные аккаунты в социальных сетях. Эта тактика поможет им обращаться к своим непосредственным покупателям.

3. Сеть ресторанов «Чипотл»

Сеть ресторанов «Чипотл» (Chipotle) применяет в социальных медиа стратегию, основа которой ― быстрое реагирование на отклики потребителей. Для этого задействовано большое количество менеджеров сообщества. Несмотря на то, что все твиты и посты в Facebook распределяются между разными сотрудниками, компания неизменно сохраняет согласованность, пользу и весёлый тон своих сообщений. Эта стратегия — отличный способ продемонстрировать клиентоориентированность бренда и (что не менее важно) подчеркнуть индивидуальность своих сотрудников.

Кроме того, любому потребителю будет приятно, если в социальных медиа его упомянет бренд с более чем 80 тысячами фолловеров в Twitter и с полутора миллионами лайков в Facebook. Подобная стратегия помогла «Чипотл» построить действительно искренние отношения со своими потребителями, превращая случайных клиентов в «евангелистов» ― добровольных проповедников ценностей бренда . Компания «Чипотл» использовала социальные медиа в качестве эффективного маркетингового канала, работающего по принципу «сарафанного радио».

ВЫВОД: Потребители ценят возможность общаться с менеджерами в обход бренда. Самый простой и абсолютно бесплатный способ укрепить с ними отношения — подписываться в сообщениях собственным именем. И не бойтесь общаться с потребителями напрямую! Если вы попытаетесь узнать их поближе, то обнаружите, что они захотят рассказать о вас своим друзьям и знакомым и друзьям. Распространяя в своих сообщениях информацию о бренде, они, в определённом смысле, будут бесплатно и с воодушевлением делать за вас вашу же работу.

4. «Макароны с сыром» от концерна «Крафт Фудс»

В прошлом году продуктовый концерн «Крафт Фудс» (Kraft Foods) объявил о найме Тэда Уильямса по прозвищу «Золотой Голос» (Ted «Golden Voice» Williams) для озвучивания телевизионной рекламы своего бренда «Макароны с сыром».

Тед Уильямс, будучи бездомным, стал знаменит в социальных медиа после того, как на YouTube появился вирусный видеоролик с его участием. Наняв Уильямса в обход дорогостоящих голливудских знаменитостей, «Крафт Фудс» связал свой имидж с персоной, имеющей влияние на пользователей социальных медиа. Затем концерн использовал ажиотаж вокруг Уильямса в интернете, чтобы поддержать маркетинговое продвижение бренда. В дальнейшем «Крафт Фудс» продолжил использовать Уильямса в дальнейшем продвижении своего бренда в интернете, ― например, в кампании «Золотой голос любви», которая проводилась одновременно в Twitter и на YouTube в честь празднования Дня святого Валентина и заключалась в том, что Уильямс озвучивал лучшие валентинки пользователей.

Концерн «Крафт Фудс» использовал социальные медиа и для поддержки телевизионной рекламы бренда «Макароны с сыром», но опять сделал это по-своему. Концерн использовал твиты потребителей о продукте, превратив их в рекламу. Взяв за основу пользовательский контент, «Крафт Фудс» выпустил три 30-секундных телевизионных ролика. Один из этих роликов даже прошёл в прайм-тайм во время шоу знаменитого американского комика Конана О'Брайена (Conan O'Brien) на канале TBS. Таким образом «Крафт» использовал социальные медиа, чтобы создать контент для традиционных СМИ, развивая собственные идеи с помощью идей своих потребителей. Телевизионные ролики, вероятно, не были бесплатными, но твиты, которые стали основой кампании, безусловно были.

ВЫВОД: Во-первых, вам не нужен большой бюджет, чтобы нанять кого-то, кто имеет вес среди аудитории социальных медиа. Действовать вместе с кем-то, кто уже заполучил влияние на социальные медиа — эффективная тактика для маркетинга в социальных и традиционных медиа. Во-вторых, обсуждения в социальных сетях и пользовательский контент можно использовать как плодородную почву для появления новых маркетинговых идей, которые будут обсуждаться потребителями, неравнодушными к вашему бренду. И, в-третьих, ― вам необязательно размещать свои рекламные ролики в прайм-тайм на телевидении. ЭТО БЫЛ ПРОСТО ПРИМЕР.

5. «Пицца Доминос»

Как и «Крафт Фудс», компания «Пицца Доминос» (Domino's Pizza), признанный лидер в сфере производства и доставки пиццы, использовала пользовательский контент для продвижения своей продукции. В рамках рекламной кампании «Наша пицца — отстой», фирма обратилась к социальным медиа, чтобы получить советы, идеи и даже жалобы потребителей, недовольных продукцией компании. Социальные медиа привели «Пиццу Доминос» к созданию сервиса, позволяющего клиентам отслеживать состояние своего заказа. Поступив так, компания создала собственный канал в социальных медиа, который продолжает направлять её маркетинговые усилия и укреплять её приверженность к обслуживанию клиентов.

Следует упомянуть деятельность менеджера по маркетингу в шести ресторанах чикагской сети ― Рамона де Леона (Ramon De Leon). Несмотря на то, что его работа не была прямо связана с корпоративной маркетинговой политикой «Пицца Доминос», она помогла улучшить общую тактику маркетингового использования социальных медиа. В 2009 году Рамон ответил на жалобы потребителей роликом на YouTube, в котором принёс им свои извинения. В настоящее время видео получило больше миллиона просмотров. Предприняв дополнительные усилия для обращения к потребителям, Рамон де Леон стал отличным примером того, как один человек может сильно повлиять на многих. Те, кто видел, как он в выступлениях по всей стране рассказывает о своей стратегии использования социальных медиа, согласятся с этим.

ВЫВОД: Во-первых, если вы хотите узнать, что именно потребители думают о вашей продукции, предоставьте им площадку, которая будет всячески поощрять их отзывы (возможно, вам поможет в этом наша публикация «3 самых простых способа получить обратную связь от клиента»). Во-вторых, как видно на примере Рамона де Леона, когда речь заходит об использовании социальных медиа в обслуживании клиентов, сотрудники фирмы часто готовы брать инициативу на себя ― просто они нечасто об этом говорят. Необходимо приветствовать и развивать их идеи, и не стесняться следовать их примеру, ― ведь продвигая бренд в социальных медиа, они добиваются и своего личного успеха.

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

Текст подготовлен по мотивам публикации: «5 Food Brands Building Social Buzz on a Budget» (англ.)

Автор:



Sent from my iPhone

среда, 22 апреля 2015 г.

Обзор расширений для популярных браузеров: Page Snooze, Quick Find, Imagus и другие - Лайфхакер

Обзор расширений для популярных браузеров: Page Snooze, Quick Find, Imagus и другие

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

Обзор расширений для популярных браузеров

Chrome

SlashSearch

Если вы хотите что-либо найти на сайте, то прежде всего вам понадобится найти поле для ввода запроса. Однако веб-дизайнеры размещают его то в шапке страницы, то в самом низу, то вообще маскируют так усердно, что для его обнаружения приходится несколько раз осмотреть каждый пиксель. Расширение SlashSearch избавит вас от этой головной боли и позволит одним нажатием кнопки «\» переместить курсор в поисковое поле. А если на сайте вообще отсутствует система поиска, то расширение перенаправит ваш запрос в Google, который поможет найти на этом сайте нужную вам вещь.

SlashSearch screen

Page Snooze

Каждый раз, когда мы находим в Сети страницу, содержание которой может пригодиться в будущем, мы сохраняем её в закладках. Потом, закрутившись в потоке дел, мы благополучно про эту страницу забываем, и она так и остаётся неизученной. Теперь благодаря расширению Page Snooze мы сможем нарушить эту порочную практику и назначить каждой закладке точное время её появления. Вы можете выбрать интервал от одного дня до недели, по истечении которого перед вами автоматически откроется интересующий вас сайт.

Page Snooze screen

Firefox

Imagus

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

Tab Groups Helper

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

Opera

Quick Find for Opera

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

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



Sent from my iPhone

Swift Storyboards в Xcode 6.3: Часть 1

Swift Storyboards в Xcode 6.3: Часть 1

21.04.2015
Просмотров: 152

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

Я не буду говорить о том, что такое storyboard, пускай картинка скажет это за меня, потому что именно такой storyboard мы сделаем с вами в этом туториале:

storyboard полное изображение сториборда

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

Если у вы создаете приложение с большим количеством разных страниц, то сториборды позволяют вам существуенно уменьшить количество склеивающего их кода, чтобы обеспечить переход от одной страницы к другой. В стародавние времена разработчикам приходилось создавать отдельные файлы (файлы nib или xib) интерфейса для каждого отдельного view controller(страницы). Но теперь ваши приложения используют единственный сториборд, который включает в себя дизайн всех страниц и который определяет взаимодействие между ними.

Сториборды имеют ряд достоинств:

  1. В сториборде очень удобно наблюдать общую картину вашего приложения и взаимосвязи между его страницами. В сториборде можно отслеживать все что угодно, потому что общий дизайн приложения содержится в одном единственном файле, а не распределен между несколькими файлами nib.
  2. Сториборды могут описывать переходы между различными окнами. Эти переходы называются "segues", которые создаются путем соединения двух страниц прямо в сторибоде. Блягодаря этим segues, вы пишите меньше кода для вашего пользовательского интерфейса.
  3. Сториборды облегчают вашу работу с тибличными типами, с ячейками. Вы можете создать ваши таблицы практически полностью из сториборда, а ведь опять таки это именно то, что уменьшает в разы ваш код, который вам бы пришлось написать.
  4. Сториборды упрощают работу при использование автопозиционирования. Автопозиционирование - мощная функция, которая позволяет определять математические взаимоотношения между элементами, которые имеют определенные размеры и позиции, и так же упрощает работу по отображению вашего приложения на разных устройствах с разными расширениями экрана.

Если вы принадлежите к типу людей, которые ненавидят интерфейс билдер и все любят создавать интерфейс через программирование, то этот туториал, возможно, не для вас. Я люблю писать как можно меньше кода, особенно кода, который касается интерфейса, так что добро пожаловать в мой арсенал, Storyboard!

Если вы собираетесь использовать nib файлы, что ж, вперед! Но помните, что вы всегда можете комбинировать nib и storyboard файлы между собой, это не тот случай "либо-либо".

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

Поехали!

Запускаем Xcode и создаем новый проект. Используем в качесте стартового шаблона Single View Application.

Заполните поля формы так:

  1. Product Name: Ratings
  2. Organization name: заполняйте как знаете, но если ничего не сможете придумать, то можете воспользоваться названием iPhoneCoder. ;]
  3. Company Identifier: идентификатор, который вы будете использовать для ваших приложений, обычно ваш домен в перевернутом виде
  4. Language: Swift
  5. Devices: iPhone
  6. Use Core Date: оставьте пустым

После того, как ваш проект создан, основная страница Xcode будет выглядеть примерно так:

Новый проект состоит из двух классов, AppDelegate и ViewConstroller, и из звезды сегодняшнего дня Main.storyboard.

Это приложение будет состоять только из интерфейса, так что перед тем, как мы продолжим, давайте отключим опции отображения приложения Landscape Left и Landscape Right, которые вы найдете в Deployment Info > Device Orientation и которые видно на изображении выше.

Давайте посмотрим на наш сториборд. Нажмите на Main.storyboard в навигаторе проекта, чтобы открыть его в интерфейс билдере:

empty storyboard, полное изображение пустого сториборда

Официальный термин сториборда для view controller является "scene", но вы можете использовать оба этих термина как взаимозаменяемые. Но scene (сцена или кадр) является тем, что отображает view controller в сториборде.

Здесь мы используем единственный view controller, который имеет пустое окно. Указывающая на него стрелка с левой стороны, отображает исходный view controller приложения, которое отображено в сториборде.

Проектирование интерфейса в сториборде происходит путем перетаскивания различных контролсов(элементов из библиотеки) из объектной библиотеки (в правом нижнем углу) на ваш view controller. Как это делается вы увидите далее.

Заметка
Вы заметите, что первоначальная сцена имеет квадратную форму. Эту особенность ввели, начиная с Xcode 6, что позволяет использовать автопозиционирование и классовые размеры (Size Classes) по умолчанию в сториборде и nib файлах. Автопозиционирование и классификация размеров по классам - новые мощные технологии, которые позволяют создавать гибкие пользовательские интерфейсы, которые могут легко меняться, что очень удобно, когда пользователи использую разные устройства для вашего приложения или просто телефоны или планшеты с разными размерами дисплеев.

Автопозициониарование было представлено в iOS 6, классовые размеры были представлены только в iOS 8. Об этих возможностях программы можно тоже многое рассказать, и вам бы наверняка хотелось научиться ими пользоваться, но это не входит в рамки этого туториала.

До того, как начать наше исследование возможностей сториборда, давайте отключим эти две опции(Auto Layout и Size Classes)

:

Когда выскакивает окошко с надписью:

Кликните Disable Size, но только убедитесь, что у вас в графе Keep size class data for: стоит iPhone. После этого ваша сцена будет равна четырех дюймовому дисплею iphone.

Для того, чтобы ощутить как работает сториборд, перетащите несколько контролсов из библиотеки объектов, которая находится в нижнем правом углу:

По мере перетаскивания различных контролсов, они должны так же появляться и на схеме документа (Document Outline), которая находится слева:

Если у вас не отображается схема документа, то вам стоит попробовать нажать на кнопочку, которая находится в левой нижней части холста сториборда:

Сториборд показывает содержимое всех ваших view controller'ов. Пока что у нас всего один view controller(или сцена) на нашем сториборде, но скоро мы добавим еще несколько.

Это изображение иллюстрирует миниверсию схемы документа, которая занывается Док или Dock:

Док показывает высокоуровневые объекты сцены. Каждая сцена как минимум имеет объект View Controller, объект First Responder и Exit, но она так же может иметь и другие высокоуровневые объекты. Док очень удобен для создания подключений к аутлетам и экшенам (outlets and actions). Если вам нужно что-то подключить к view controller, то вы можете просто перетащить это что-то к иконке в Доке.

Заметка
Возможно вы и не будете особо использовать объект First Responder. Этот прокси-объект ссылается на что-либо, что имеет статус first responder в любой момент времени. В качестве примера вы можете подключить событие Touch UP Inside от кнопки к селектору cut: First Responder'а. Если в какой-то момент текстовое поле получает фокус ввода, то вы можете нажать на эту кнопку, которая теперь является first responder, для того, чтобы вырезать его текст в буфер обмена.

Запустите приложение. Оно должно выглядеть именно так, как вы его спроектировали в сториборде(но у вас оно может отличаться от нашего). Вот что получилось у нас:

Этот единственный View Controller, который вы определили как начальный View Controller. Но как наше приложение загружает его? Давайте взглянем в файл AppDelegate.swift для того, чтобы найти ответ. Вот что вы там найдете:

  1. import UIKit

  2. @UIApplicationMain

  3. class AppDelegate: UIResponder, UIApplicationDelegate {

  4. var window: UIWindow?

  5. func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
  6. // Override point for customization after application launch.

  7. return true

  8. }

Атрибут @ApplicationMain на самом верху, определяет класс AppDelegate в качестве входной точки модуля. Это требование для использования сторибордов, которые наследует делегат нашего приложения от UIResponder, который имеет свойство UIWindow. На практике все эти методы остаются пустыми. Даже application(_:didFinishLaunchingWithOptions:) просто возвращает true.

Весь секрет находится в файле Info.plist. Нажмите на Info.plist (вы можете найти его в папке Supporting Files) и вы увидите вот это:

Приложения работающие со сторибордами используют UIMainStoryboardFile, который так же известен как "Main storyboard file base name", для того, чтобы определить сториборд, который должен подгружаться, когда запускается наше приложение. Когда соответствующая настройка доступна (обведенная выше), UIApplication автоматически загружает указанный файл сториборда, из этого сториборда создает экземляр начального View Controller'а и затем установливает окно controller'а в новый объект UIWindow.

Вы так же можете видеть эту найстройку в Project Settings, которая находится во вкладке General в секции Deplyment Info:

Теперь давайте создадим приложение с рейтингом, состоящее из нескольких view controller'ов.

Добавьте мне еще

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

Давайте начнем с чистого листа. Для этого вам нужно переключиться на Main.storyboard и удалить все контролсы, с которыми вы успели поработать ранее. Так же их можно удалить все разом, если вы нажмете на схему документа, затем на пункт View Controller и нажмете клавишу Delete.

Перетащите Tab Bar Controller из библиотеки объектов на ваш холст. Может быть вам захочится увеличить до максимума ваше окно Xcode, потому что tab bar controller состоит из двух view controller'ов, которые связаны с ним самим, так что лишнее место вам не повредит. Вы можете увеличивать или уменьшать масштаб, если нажмете два раза на ваш холст. Так же вы можете менять масштаб, зажав клавишу CTRL и щелкнул левой кнопкой мышки по холсту, появится окошечко, где вы можете выбрать масштаб.

Новый Tab Bar Controller сразу поставляется нам в комплекте с двумя дополнительными view controller'ми, по одному на каждую вкладку. UITabBarController так же называется container view controller, так как он содержит второй view controller. Два остальных контейнера - это Navigation Controller и Split View Controller(вы будете использовать Navigation Controller позже).

Взаимоотношения между TabBar Controller и view controller'ми, которые он содержит, отображаются стрелочками. Встроенные взаимоотношения отображаются специальной иконкой, которая находится по середине тела стрелки:

Заметка
Если вы хотите подвинуть ваш Tab Bar Controller вместе с привязанными к нему view controller'ами, то вам нужно уменьшить масштаб, зажав клавишу ⌘ кликнуть по интересующим вас объектам, а затем просто перетащить их. (Выделенные сцены выделяются голубой каемочкой ;])

Перетащите на первый view controller лейбл (который пока что называется "item 1"), нажмите на него два раза и задайте новое имя "First Tab". Так же перетащите лейб на второй view controller ("item 2") и дайте ему имя "Second Tab". Это даст вам возможность заметить, когда меняются эти вкладки.

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

Строим и запускаем. Вы увидите что-то вроде этого у себя в консоли:

Ratings[18955:1293100] Failed to instantiate the default view controller for UIMainStoryboardFile 'Main' - perhaps the designated entry point is not set?

К счастью, эта проблема вполне очевидна - вы еще не установили входную точку, то есть вы не установили исходный или начальный View Controller, после того как удалили его ранее. Для того чтобы это поправить, выберите Tab Bar Controller и идите в Attribute Inspector. Поставьте галочку напротив пункта Is Initial View Controller.

На холсте стрелка указывала на удаленный View Controller, но теперь она указывает на наш Tab Bar Controller:

Это значит, что когда вы запустите приложение, то UiApplication примет Tab Bar Controller за основной экран. Запустите приложение и посмотрите сами.

Совет:
Вы можете изменить начальный view controller, просто перетащив стрелочку на другой!

Вообще у Xcode есть шаблон, который используется для создания приложений со вкладками (и называется он Tabbed Application template, что совсем не удивительно), но ведь всегда хорошо знать как все работает, так что вы можете создать свой Tab Bar Controller, когда вам это будет нужно.

Заметка:
Если вы соедините более чем пять сцен к Tab Bar Controller, то он автоматически выдаст вам "More...", когда вы запустите приложение. И это так классно!

Добавляем Table View Controller

Две сцены, которые соединены к Tab Bar Controller, являются обычными экземплярами UIViewController. Теперь вы замените первую сцену первой вкладки на UITableViewController.

Кликните на первый view controller в схеме документа (Document Outline), удалите его. Теперь из библиотеки вытащите Table View Controller на ваш холст:

Следующим шагом мы разместим Table View Controller внутри navigation controller. Выделите Table View Controller и выберите в меню Editor\Embed In\Navigation Controller. Это добавит вам еще один контроллер на ваш холст:

Конечно вы можете так же можете перетащить Navigation controller и встроить tableview , но это встраивание через команды так хорошо экономит время в распространенных случаях.

Так как Navigation Controller так же является контейнером (как и Tab Bar Controller), то у него есть своя стрелка указывающая на Table View Controller. Вы так же можете увидеть их отношения в схеме документа:

Обратите внимание, что встраивание Table View Controller'а дает ему navigation bar (видно в схеме документа). Интерфейс билдер автоматически помещает навигационную панель туда потому, что эта сцена теперь должна быть отображена внутри Navigation Controller. Это получается не настоящий объект UINavigationBar, но ссимулированный.

Если вы посмотрите в Attribute inspector для вашего Table View Controller, то вы увидите секцию Simulated Metrics (смоделированные показатели)

Значение "inferred" является дефолтным значением опции для сторибода, и оно означает, что панель навигации (navigation bar) будет отображаться у сцены (как бы это не звучало), если она находится внутри Navigation Controller'а. Вы можете переопределить эти настройки, если хотите, но не забывайте, что они вам нужны только для того, чтобы создать дизайн ваших экранов. Смоделированные показатели не используется в процессе исполнения, они лишь являются графическим отображением того, как будет выглядеть ваш экран в конечном счете.

Следующим шагом вам нужно подключить эти две новые сцены к вашему Tab Bar Controller. Зажмите CTRL и перетащите курсор от Tab Bar Controller к Navigation Controller. Когда вы отпустите кнопку мышки, то увидите маленькое меню. Выберите в нем опцию Relationship Segue - view controller:

Этот шаг позволит вам создать вам стрелку взаимоотношений между этими двумя сценами. Это так же является встроенным отношением, как вы видели в случае с остальными контроллерами, которые содержатся в Tab Bar Controller.

Tab Bar Controller имеет две такие связи, по одной на каждую вкладку. Сам Navigation Controller имеет встроенную связь с Table View Controller.

Когда вы создали это соединение, то новая вкладка добавилась в Tab Bar Controller, которая просто называется "Item". Для этого приложения вы, наверное, захотите, чтобы ваша новая сцена стала первой вкладкой, так что перетащите вкладки, чтобы поменять их местами:

Запустите приложение и посмотрите что у вас получилось.

Перед тем как установить какой-либо функционал нашему приложению, нам нужно немного почистить наш сториборд. Первую вкладку мы назовем "Players", вторую - "Gestures".

Как только вы соединили ваш view controller и Tab Bar Controller, вы сразу получили объект Tab Bar Item, который вы можете увидеть в схеме документа или внизу сцены. Вы используете Tab Bar Item для настройки имени вкладки и изображения, которое будет отображаться в Tab Bar Controller.

Выберите Tab Bar Item внутри Navigation Controller и в Attribute Inspector установите заголовок Players:

Переименуйте и вторую вкладку таким же образом на Gestures.

Правильно спроектированное приложение должно иметь какие-либо изображения этих вкладок. скачайте некоторые ресурсы для этого туториала. Они содержат подпапку Images. Перетащите папку в проект и выберите 'Copy if needed', нажмите Finish:

В Attribute inspector для вкладки Player выберите изображение Player.png:

Вы наверное догадались, но присвойте вкладке Gestures изображение Gestures.png.

View Controller, который встроен в Navigation Controller имеет Navigation Item, которая используется для настройки панели навигации (navigation bar). Выберите Navigation Item для Table View Controller (вы можете сделать это в схеме документа) и измените его заголовок в Attribute inspector на Players.

Заметка
Альтернативно вы можете кликнуть дважды на панель навигации для того, чтобы сменить заголовок. Обратите внимание что вам нужно кликнуть на ссимулированной панели навигации в Table View Controller, так как настоящая Navigation Bar находится в Navigation Controller.

Запустите приложение и восхититесь как вы создали симпатичную панель вкладок без единой строчки кода!

Прототипы ячеек

Прототипы ячеек позволяют вам легко задавать пользовательские размеры для ваших ячеек табличного окна (table view cells), напрямую из сториборда.

Table View Controller создается с пустым прототипом ячейки. Кликните на эту ячейку, чтобы выделить ее, пройдите в Attribute inspector, установите опцию Style на значение Subtitle. Это сразу поменяет внешний вид ячейки, так, что она будет включать в себя еще два лейбла.

Заметка
Иногда бывает так много всего нагромождено в сториборде, что очень сложно выделить тот элемент, который нас интересует. Что ж, есть пара вариантов как выйти из этого положения. Вы можете использовать схему документа, чтобы найти ваш объект, либо вы можете зажать CTRL + OPTION + SHIFT, это позволит вам выделить именно тот объект, который находится прямо под курсором.

Если вы использовали table views ранее и создавали ваши ячейки вручную, то вы можете узнать стиль UITableViewCellStyle.Subtitle. С прототипом ячеек вы можете либо выбрать встроенный стиль ячейки, либо создать свой собственный (что вы и так вскоре будете делать ;]).

Установите атрибут Accessory на Disclosure Indicator и Identifier на PlayerCell. Все прототипы ячеек являются объектами UITableViewCell, поэтому вы должны иметь идентификатор повторного использования.

Запустите приложение...ничего не поменялось. На самом то деле это не странно, так как вы еще не сделали источника данных для этой таблицы, чтобы она знала что отображать. Это именно то, чем мы сейчас и займемся.

Создайте новый файл проекта. Выберите шаблон Cocoa Touch Class, он находится под вкладкой iOS > Source. Назовите класс PlayerViewController и сделайте его подклассом класса UITableViewController. Так же чекбокс Also create XIB file должен быть пустым, так как вы уже имеете дизайн для вашего View Controller'а в вашем сториборде. И никаких сегодня nib! Выберите язык Swift, нажмите Next, затем Create.

Вернитесь в сториборд и выберите Table View Controller (убедитесь, что вы выбрали правильный view controller, а не один из views внутри него). Пройдите в Identity inspector, установите class на PlayerViewController. Это важный шаг для привязки сцены сториборда к вашему созданному подклассу. Не забудьте, или ваш класс не будет работать!

С этого момента при запуске вашего приложения этот table view controller из сториборда становится экземпляром класса PlayersViewController.

Наша таблица будет отображать список игроков, так что теперь вы создадите основную модель данных для вашего приложения - массив, который содержит объекты игроков. Добавьте в проект новый файл, используя шаблон Swift File, который находится в iOS > Source. Назовите его Player.

Добавьте следующий код в Player.swift:

  1. import UIKit

  2. self.name = name

  3. self.game = game

  4. self.rating = rating

  5. super.init()

  6. }

  7. }

Ничего особенного здесь не происходит. Player является контейнером для этих трех свойств: имя игрока, игра, в которую он играет и рейтинг от 1 до 5.

Затем вы создадите массив из тестовых экземпляров Player, затем мы присвоим его в PlayersViewController. Начнем с создания нового файла на основе шаблона Swift File, который назовем SampleData. Добавьте следующий код в конец SampleData.swift:

  1. //Set up sample data

  2. let playersData = [ Player(name:"Bill Evans", game:"Tic-Tac-Toe", rating: 4),

  3. Player(name: "Oscar Peterson", game: "Spin the Bottle", rating: 5),

  4. Player(name: "Dave Brubeck", game: "Texas Hold 'em Poker", rating: 2) ]

Здесь вы определили константу playersData и присвоили ей массив экземпляров класса Player.

Теперь добавьте свойство типа массива Playerplayers сразу после class PlayersTableViewController в PlayersViewController.swift для хранения списка игроков:

  1. var players: [Player] = playersData

Вы могли бы установить данные в PlayersViewController, когда определяете переменную players. Но так как данные могут быть получены позднее из файлов plist или SQL, то разумнее загружать данные за пределами view controller'а.

Теперь у вас есть массив объектов Player, вы можете продолжать подключение к источнику данных в PlayersViewController. Все еще в PlayersViewController.swift замените методы источника данных table view на следующие:

  1. override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
  2. return 1

  3. }

  4. override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
  5. }

Настоящая работа происходит в cellForRowAtIndexPath. Замените этот метод, который пока что закомментирован, следующим:

  1. override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath)
  2. -> UITableViewCell {

  3. let cell = tableView.dequeueReusableCellWithIdentifier("PlayerCell", forIndexPath: indexPath)

  4. as! UITableViewCell

  5. let player = players[indexPath.row] as Player

  6. cell.textLabel?.text = player.name

  7. cell.detailTextLabel?.text = player.game

  8. return cell

  9. }

Метод dequeueReusableCellWithIdentifier(_:forIndexPath:) проверяет, существуют ли ячейки, которые можно использовать еще раз. Если таких нет, то он автоматически выделит образец ячейки и вернет ее вам. Все что вам нужно - это повторный идентификатор, который вы установили в образце ячейки в сториборде, в нашем случае PlayerCell. Не забудьте установить идентификатор, или эта схема не сработает.

Запустите приложение, вы увидите, что игроки отображаются в таблице!

Написав несколько строчек кода мы можем использовать прототипы ячеек. Это же просто здорово!

Заметка:
Если вы используете только один образец ячейки, но вашей таблице нужно отображать сразу несколько, то вы можете просто долабвить еще один прототип в сториборде. Или вы можете просто сделать дубликат существующей ячейки, или вы можете увеличить значение Table View Prototype Cell. Но только не забудьте дать ячейкам свой собственный идентификатор повторного использования.

Проектирование ваших собственных образцов ячеек

Использование стандартных образцов ячеек для многих приложеий достаточно, но ваше приложение будет иметь еще одно изображение справой стороны ячейки, которое будет отображать рейтинг игрока (от 1 до 5 звезд). Наличие изображение стандартной ячейкой не предусмотрено, так что вам придется сделать свою.

Переключитесь на Main.storyboard, выберите образец ячейки в table view. Пройдите в Attribute inspector, выберите в поле Style атрибут Custom. Дефолтные ярлыки должны исчезнуть.

Сперва давайте сделаем наши ячейки чуть-чуть повыше. Либо просто потяните ячейки вниз за маленький белый квадратик, либо простопройдите в Size inspector и установите высоту на 55 единиц.

Перетащите два Label из библиотеки в ячейку и грубо разместите их там, где были стандартные ярлыки. Поиграйте сами в Attribute inspector, чтобы у вас получились ярлыки, которые вам нравятся. Установите имя верхнего ярлыка как Name, нижнего Game.

Перетащите Image View в ячейку, разместите ее с правой стороны, рядом с ">". Задайте ее ширину равной 81 единице, высота нам не очень важна. Установите Mode на Center, таким образом ваше изображение не будет растягиваться, но будет размещаться по середине image view.

Установите ширину ярлыков равной 190 поинтам (или вручную растягивайте, или через size inspector). Но они не должны накладываться друг на друга с image view. Конечный вариант должен выглядеть вот так:

Так как у нас пользовательский дизайн ячейки, то мы можем больше не использвать свойства textLabel и detailTextLabel класса UITableViewCell. Эти свойства ссылаются на ярлыки, которых в нашей ячейке больше нет. Вместо этого мы будем использовать теги (tags) для поиска наших ярлыков.

Заметка:
В качестве альтернативы вы можете создать свой пользовательский класс, котрый наследует от UITableViewCell и который содержит свойства, соответствующие вашим ярлыкам в ячейке. Мы же используем теги для простоты и потому что они являются идеально хорошим решением в простых классах. Однако далее в этом туториале вы поэксперементируете с методом пользовательского класса.

В Attribute inspector установите значение тега (tag) для ярлыка Name равным 100, Game - 101, Image View - 102.

Затем откройте PlayersViewController.swift и добавьте в конец класса новый метод imageForRating:

  1. func imageForRating(rating:Int) -> UIImage? {
  2. switch rating {

  3. case 1:

  4. return UIImage(named: "1StarSmall")

  5. case 2:

  6. return UIImage(named: "2StarsSmall")

  7. case 3:

  8. return UIImage(named: "3StarsSmall")

  9. case 4:

  10. return UIImage(named: "4StarsSmall")

  11. case 5:

  12. return UIImage(named: "5StarsSmall")

  13. default:

  14. return nil

  15. }

  16. }

Все достаточно просто. Этот метод возвращает разные картинки звезд, в зависимости от рейтинга. Все еще в PlayersViewController, измените tableView(_:cellForRowAtIndexPath:) на следующий код:

  1. override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
  2. let cell = tableView.dequeueReusableCellWithIdentifier("PlayerCell", forIndexPath: indexPath) as! UITableViewCell //1

  3. let player = players[indexPath.row] as Player //2

  4. if let nameLabel = cell.viewWithTag(100) as? UILabel { //3

  5. nameLabel.text = player.name

  6. }

  7. if let gameLabel = cell.viewWithTag(101) as? UILabel {

  8. gameLabel.text = player.game

  9. }

  10. if let ratingImageView = cell.viewWithTag(102) as? UIImageView {

  11. ratingImageView.image = self.imageForRating(player.rating)

  12. }

  13. return cell

  14. }

Разберем, что вы сделали:

  1. Метод dequeueReusableCellWithIdentifier высвобождает из очереди существующие ячейки с идентификатором повторного использования PlayerCell, если такие есть, но если их нет, то создает новые.
  2. Вы ищите объект Player, который вписан в соответствующую строку и присваиваете его player.
  3. Ярлыки и изображения ищутся по их тегу ячейки и заполняются данными из объекта player.

Вот и все! Теперь зупустите приложение и вы увидите, что-то вроде этого:

Это не то, что мы бы хотели увидеть. Кажется, что ячейки накладываются друг на друга. Вы изменили высоту ячейки, но они не изменили своей фактической высоты. Есть два способа это поправить: вы можете изменить высоту через атрибут Row Height или реализовать метод tableView(tableView:heightForRowAtIndexPath:). В нашем случае с шаблоном все в порядке, та ккак мы имеем всего один тип ячеек и мы заранее знаем их высоту.

Заметка:
Вы будете использовать tableView(tableView:heightForRowAtIndexPath:), если вы не знаете высоты ячеек заранее, либо когда разные ряды (rows) таблицы имеют разную высоту.

Вернемся в Main.storyboard в Size inspector вашего table view, установите Row Hwight на 55:

Если вы запустите приложение, то теперь оно выглядит лучше!

Кстати, если вы поменяли высоту ячейки, просто перетаскивая ее, а не печатая ее значение, то ваша Row Height изменилась на значение ячейки автоматически. Так что возможно у вас нет ошибки, если вы сделали это таким образом.

Использование подкласса ячейки

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

Добавьте новый файл в проект, используя шаблон Cocoa Touch Class. Назовите его PlayerCell, сделайте его подклассом UITableViewCell. Оставьте пустым чекбокс, предлагающий создать XIB.

Добавьте свойства в класс PlayerCell, как показано ниже:

  1. @IBOutlet weak var gameLabel: UILabel!

  2. @IBOutlet weak var nameLabel: UILabel!

  3. @IBOutlet weak var ratingImageView: UIImageView!

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

Вернитесь в Main.storyboard, выберите прототип PlayerCell и измените его класс на PlayerCell в Identity inspector. Теперь, каждый раз, когда вы простите источник данных вашей таблицы дать вам новую ячейку при помощи метода dequeueReusableCellWithIdentifier(_:forIndexPath:), то он вам вернет экземпляр PlayerCell, но не UITableViewCell.

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

Теперь соедините ваши ярлыки и image view с этими outlet'ами. Пройдите в Connections inspector в сториборде, затем выберите Player Cell или из схемы документа или с холста. Затем перетащите от outlet'а nameLabel в Connections inspector к Name объекту, либо в схеме документа, либо на холсте. Повторите то же самое для gameLabel и для ratingImageView.

Важно:
Вы должны соединить контролсы с ячейкой table view, а не с view controller! Смотрите, каждый раз, когда вы источник данных запрашивает у вашего table view новую ячейку при помощи метода tableView(tableView:heightForRowAtIndexPath:), то table view не дает вам фактической ячейки, но предоставляет копию, либо повторно выдает вам уже использованную.

Это означает, что в любое время будет более чем один экземпляр класса PlayerCell. Если вы соединили ваш ярлык с outlet'ом view controller'а, то несколько копий будут пытаться использовать тот же самый outlet. Это все равно, что напрашиваться на неприятности. (С другой стороны, подключение образца ячейки к actions вашего view controller пройдет идеально. Вы бы поступили именно так, если бы у вас были пользовательские кнопки или другие UIControls в вашей ячейке.)

Альтернативой тому, чтобы использовать Connections inspector - использование CTRL-перетаскивание от PlayerCell к контролсу, где выберете из меню имя outlet'а.

Обратите внимание, что вы подключили свойства, мы можем немного упростить наш код источника данных. В PlayerViewController измените tableView(_:cellForRowAtIndexPath:) на следующее:

  1. override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath)
  2. -> UITableViewCell {

  3. let cell = tableView.dequeueReusableCellWithIdentifier("PlayerCell", forIndexPath: indexPath)

  4. as! PlayerCell

  5. let player = players[indexPath.row] as Player

  6. cell.nameLabel.text = player.name

  7. cell.gameLabel.text = player.game

  8. cell.ratingImageView.image = imageForRating(player.rating)

  9. return cell

  10. }

Вот и все. Теперь вы приводите объект полученный из dequeueReusableCellWithIdentifier в PlayerCell, а затем вы просто используете свойства, которые ведут вас к ярлыкам и изображению. Ну разве не прелесть!

Запустите ваше приложение. Оно выглядит точно так же, но на самом то деле, теперь вы используете свой подкласс ячейки!

Здесь вы можете скачать конечный вариант нашего проекта!

Что дальше?

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



Данный урок подготовлен для вас командой: iPhoneCoder.ru

Урок подготовил: Иван Акулов

Источник урока: http://www.raywenderlich.com/81879/storyboards-tutorial-swift-part-1

Правила перепечатки

Добавить комментарий



Sent from my iPhone