iOS 6 глючит, давайте позларадствуем

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

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

ОС глючат даже после выхода официальной версии, но как же не наехать на Apple и не пнуть в глюк всем миром, ведь это же понтовый Apple. 

Будущее WPF

Сейчас прочитал, что в Windows 8 основными для разработки приложений становятся HTML5 и JavaScript. Я почему-то верил и даже был уверен, что основными будут WPF, Silverlight и .NET? Почему? Да просто вся эта тройка нереально о..енные. 

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

Как чувствовал это и перестал писать под windows уде год назад. Я полностью перебрался в Web и не жужжу теперь. 

Продажи iPhone 5

Не смотря на то, что все шутки про iPhone 5, это просто более длинные шутки про iPhone 4, продажи нового телефона идут прекрасно. Всего за 24 часа было предзаказано 2 миллиона китайского железа от американских программистов и дизайнеров. 

В интернете просто громадная куча шуток по поводу новога iPhone 5, но они мне кажется только помогают. Нагревают больше интереса и внимания. 

Загрузка процессора на сервере базы данных

У меня на работе сервер базы данных занят в нормальные часы не более чем на 20%, а в пики нагрузки не более 50%. Это такие редкие дни и часы, когда процессор напрягается так сильно, что я уже и не помню, когда последний раз это было. 

В пятницу перед уходом с работы проверяю нагрузку сервера, а у меня там от 30% до 50%, причем большую часть времени под 50%. Ну я оставил сервак в покое, не хотел напрягать мозг на выходных. Сегодня пришел на работу, проверил индексы, изменил один индекс, чтобы он включал в себя все необходимое, и нагрузка снова упала до 20%. 

Один запрос с одним неоптимизированным индексом смог поднять нагрузку на процессор в два раза. 

Зарядка iPhone в машине

У меня и у жены iPhone и около месяца назад оба сели до 20%, когда были на озере Гуроне. Поставили оба на зарядку в машину и запустили на обоих телефонах навигационную программу. Просто запустили разные программы, я запустил встроенные карты (тестировал карты iOS 6 (как разработчик имею права использовать уже не первый месяц)), а жена запустила бесплатную навинационную программу Waze. Ее телефон начал заряжаться, а мой продолжал разряжаться. 

Быстрые тесты показали, что проблема была в кабеле. Просто после того, как мы поменялись кабелями, мой начал заряжаться, а ее терять в заряде. Китайская фигня за 2 доллара не заряжала телефон. Даже после выключения навигационной программы iPhone набирал заряд за 20 минут процентов 5 максимум. 

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

Глава 3 Программирование на сервере

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

Если возложить выполнение сложных задач на сервер, то мы получаем следующие преимущества:

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

EarPods уже по 40 долларов

Новые наушники от Apple EarPods уже доступны на eBay по $40. И народ явно покупает. Лично я подожду пару недель и появятся китайские варианты за пару долларов. Я постоянно покупал китайские наушники для iPhone и разницы не замечал. 

Интеграция Facebook и Twitter в iPhone

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

Мне понравилась возможность постить в твитер и фейсбук прямо из центра сообщений, но там есть одно большое неудобство – все приходится постить по отдельности. Еще в MS Messenger, а потом и в Windows Phone появилась возможность обновлять статус. Пишешь в одном поле свой статус, потом ставишь галочки напротив сервисов, куда хочешь запостить, и готово. Один и тот же статус уходит в Messenger, Twitter и Facebook. 

В iOS для каждого статуса свое окно. Нужно сначала запостить статус в твитер, но главное не забыть перед постингом скопировать текст в память. Потом копируем тот же статус в окно фейсбука и наконец идем в Google+. Я в основном делаю в такой последовательности. 

Lingvo не дает скачать словари для iPhone

Пришлось тут восстановить iPhone, чтобы установить последнее обновление iOS 6 (это Developer preview версия, поэтому и ставил через восстановление). Все прошло успешно и достаточно быстро, но с одним косяком – Lingvo теперь не видит словари. Где-то в его недрах видимо он проставил себе галочку, что словари установлены, но в реальности после восстановления телефона они были стерты из памяти. Теперь напротив словаря нет кнопки для того, чтобы скачать словарь заново и не знаю, что делать. 

Может удалить программу и поставить заново? Интересно, а информация о том, что я за нее заплатил останется или меня заставят платить заново? В общем, я в печальке. Не могу теперь скачать словари для Lingvo для iPhone. 

Update:

Решил проблему. В iTunes убрал галочку с Abby Lingvo, синхронизировал iPhone. Это удалило программу с телефона. Вернул галочку, синхронизировал еще раз. Lingvo вернулась на iPhone и позволила скачать словари. 

Как обращатся к переменным объекта?

Интересный вопрос поступил в студию:

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

Был как-то почти такой вопрос - почему, я против прямого доступа к переменным объекта и я отвечал в комментариях. Сегодня решил ответить в отдельной заметке, чтобы потом проще было находить и ссылаться. В вопросе кроется и ответ - доступ к переменным должен осуществляться ТОЛЬКО через свойства. Никогда не должно быть прямого доступа, даже если вы не делаете никаких проверок. Я понимаю, что впадлу писать get/set и для таких случаев в C# есть офигенная конструкция:

О блоге

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

Обратная связь

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

Пишите мне