Как и многие из вас я тщательно работаю над переходом на iOS7 в течении долгого времени. С момента разработки старых приложений в Xcode5 для iOS7, статус бара, накладывающегося на контроллеры видов (views/view controllers), добавилось много головной боли.
Иногда наши клиенты просят отправить недельный отчет по проделанной работе. Несомненно, это занятие не доставляет удовольствия ни одному разработчику. Я предпочитаю предоставлять данную информацию с помощью git log.
Способ создания git log
Результат можно достичь, в случае использования индивидуальных настроек: git log --author=Vitaly # Поставьте свое имя
Иногда я только и делаю, что пишу всякую ерунду. Только чтобы очистить свой разум и переключиться с одного дела на другое. Во время выполнения работы в голову то и дело приходят разные мысли, возможно связанные с делом, а возможно и нет. Нужно куда- то записать наработанное, не захламляя рабочее пространство.
Текстовый редактор
Существует очень простой способ использования браузера в качестве текстового редактора. Я просто открываю новую закладку и набираю в url закладке:
data:text/html, <html contenteditable>
Вот и браузерный блокнот.
Почему это работает?
Не надо это запоминать. Это вам не ракеты в космос запускать. Используем формат Data URl и говорим браузеру отрисовать html тег (можете попробовать javascript:alert('Bazinga');)
Содержимое вышеописанного html файла- это простая строка с html5 атрибутом contenteditable.
Важно знать: строка будет работать на современных браузерах, которые распознают данный атрибут. Все готово. Удачи.
Ни для кого не секрет, что количество устройств, поддерживающих высокое разрешение, aka retina постоянно растет. Планшеты, макбуки с ретиной, телефоны - у всех сверхчеткое разрешение, а ваш сайт все еще покрыт огромным количеством пикселей. Не грустим, все что нам нужно сделать - создать новые картинки. И их размер должен быть ровно в 2 раза больше.
Простого способа переделать все графические элементы не существует. Я, конечно, надеюсь что для начала у вас все еще есть оригинальные векторные изображения. Тем не менее, проблема кроется не в том, что вам придется создавать все графические элементы заново. Проблема заключается в том, что вам потребуется поддерживать и старые устройства, для которых не требуются детальные изображения. Более того, вы не можете изменять ширину или высоту div контейнеров, содержащих фоновые графические элементы, так как вы всего лишь получите большое изображение, пестрящее “огромными” пикселями.
Преобразуем ваши спрайты для работы с ретиной
Первая и самая важная вещь - графические элементы должны быть ровно в 2 раза больше в размере, для того, чтобы данный способ сработал.
Я думаю, что у многих в процессе написания приложения с использованием фреймворка Cordova/Phonegap возникала проблема тестирования приложений на девайсе. После каждого изменения нужно постоянно исполнять команды build и run. Этот процесс занимает много времени. А время для разработчиков очень важно ;).
Вы можете сказать, что через браузер на локальном хосте очень даже удобно все проверять. Я согласен, но нет гарантии, что на мобильном устройстве все элементы приложения будут отображаться также, как и на обычном браузере.
Начало работы
Нам потребуется ПК, телефон и WiFi роутер. Если у вас установлен локальный web-сервер на ПК- это хорошо, если нет, то нужно установить. Я отдаю предпочтение сборкам WAMP для Windows, LAMP для Linux, MAMP для MacOS. После этого копируйте весь свой проект в папку , в которой сервер хранит все файлы, который он предоставляет “наружу”. Для проверки успешности установки набираем в строке браузера http://localhost/ В настройках Apache сервера (файл httpd.conf) открываем доступ к корневой папке:
1
2
3
4
5
6
<Directory />
Options Includes Indexes FollowSymLinks
AllowOverride All
Allow from all #для Всех
#Allow from 192.168.0.2 для определенного IP-адресса
</Directory>
Перезагрузка сервера
Сохраняем и перезапускаем сервер. Для проверки в строку браузера вводим IP адрес, который роутер выдал вашему ПК (команда ipconfig для Windows и ifconfig для Linux/MacOS). К примеру: http://192.168.0.3 Подключаемся к WiFi сети с помощью телефона.
На заметку
Очень важно, чтобы телефон и ПК, на котором установлен web-сервер, находились в одной подсети. На телефоне открываем стандартный браузер и вводим http://192.168.0.3/AppName/www, где 192.168.0.3- это IP адрес вашего ПК, на котором установлен web-сервер, AppName/www - это путь к паке, где расположена веб-часть вашего приложения. Выбор стандартного браузера обусловливается тем, что фреймворк Cordova/PhoneGap запускает ваше приложение на том самом движке, на котором работает стандартный браузер.
Спасибо за внимание и удачи в НАШЕМ УВЛЕКАТЕЛЬНОМ ДЕЛЕ!
P.S.: если же у вас нет роутера, но ПК имеет публичный IP-адрес, то вместо 192.168.0.3 вы должны ввести публичный IP-адрес и тогда можете заходить откуда угодно. Главное иметь подключение к Интернету.
Scope, оно же область видимости - это объект, ссылающийся на своеобразную модель приложения. Это контекст, в котором исполняются и обрабатываются выражения.
Области видимости представляют из себя иерархическую структуру, которая копирует DOM вашего приложения. Области видимости могут наблюдать за изменениями значений выражений, исполняющихся в их контексте и способны распространять события.
По сути scope - это сердце вашего приложения, в котором и происходит вся “магия”.
Как писать интеграционные тесты с использованием $httpBackend из набора Angular-mocks
Как обычно достаточно пространное описание в документации не дает четкого представления о том, как же все-таки делать адекватные заглушки для ответа.
Приводим ответ в виде примера:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
var backendService = angular.module("backendService", ["nameOfYourApp", "ngMockE2E"]);
1997-1999- зарождение поисковых машин. Период зомбированной работы seo- специалистов, занимающихся добавлением каждого сайта в поисковые машины. По сей день некоторые сео-компании предлагают своим клиентам самостоятельно регистрировать сайт во всевозможных поисковиках. Далеко не все знают о программах индексации, которые имеют алгоритмы Page Rank (алгоритм ссылочного ранжирования), Trust Rank (точные данные авторитетности сайта), которые, в свою очередь, хранятся в строжайшем секрете.
Расцвет спама
Тот период был переполнен спамерами, можно было использовать ключевые слова сколько угодно в комментариях, заголовках. Любой контент с легкостью прятался от посторонних глаз с помощью специальных HTML уловок.
Поисковые машины были слабы в технологиях распознавания подобных уловок, поэтому такие сайты занимали лидирующие позиции. Несмотря на то, что такой подход, не иначе как прошлый век, оптимизаторы продолжают вести модель примитивной оптимизации, за счет чего спам-сайты «банят» (другими словами, удаляют из индекса).
Что за правило, не имеющее исключений?
Yahoo использовал алгоритмы, исключающие страницы, использующие черные способы оптимизации
Внешние факторы: хорошо для прошлого и бесполезно для будущего?
Расскажите нам о вашем проекте
Коротко опишите ваши идеи или просто прикрепите файл с готовым ТЗ. Мы свяжемся с вами в течение 1 дня и подробно расскажем о том, как мы можем вам помочь.