Сегодня мне что-то прямо повезло, уже дважды натыкался на сообщения в интернете, в которых пинают iOS 6 за глючность и в качестве доказательств приводят видео с youtube. Причем почему-то народ не обращает внимание на то, что видео сделано еще в июне или в июле, а официальная дата выхода iOS 6-й версии 19-е сентября.
Я не помню такой ОС, которая вышла бы в первой бета версии и работала без глюков и не падала. Такого кажется еще ни разу не было и скорей всего не будет. Просто в сырую бета версию вставляют наброски сырого кода, чтобы программисты уже могли начать использовать новые функции, и потом отлаживают их.
ОС глючат даже после выхода официальной версии, но как же не наехать на Apple и не пнуть в глюк всем миром, ведь это же понтовый Apple.
Сейчас прочитал, что в Windows 8 основными для разработки приложений становятся HTML5 и JavaScript. Я почему-то верил и даже был уверен, что основными будут WPF, Silverlight и .NET? Почему? Да просто вся эта тройка нереально о..енные.
Теперь перспективы всей тройки ставятся под большие сомнения. Если основными выберут HTML5 и JavaScript, то программисты откажутся работать на второсортном языке. Microsoft делает очередной поворот на 180 градусов и кидает тех, кого они должны любить.
Как чувствовал это и перестал писать под windows уде год назад. Я полностью перебрался в Web и не жужжу теперь.
Не смотря на то, что все шутки про iPhone 5, это просто более длинные шутки про iPhone 4, продажи нового телефона идут прекрасно. Всего за 24 часа было предзаказано 2 миллиона китайского железа от американских программистов и дизайнеров.
В интернете просто громадная куча шуток по поводу новога iPhone 5, но они мне кажется только помогают. Нагревают больше интереса и внимания.
У меня на работе сервер базы данных занят в нормальные часы не более чем на 20%, а в пики нагрузки не более 50%. Это такие редкие дни и часы, когда процессор напрягается так сильно, что я уже и не помню, когда последний раз это было.
В пятницу перед уходом с работы проверяю нагрузку сервера, а у меня там от 30% до 50%, причем большую часть времени под 50%. Ну я оставил сервак в покое, не хотел напрягать мозг на выходных. Сегодня пришел на работу, проверил индексы, изменил один индекс, чтобы он включал в себя все необходимое, и нагрузка снова упала до 20%.
Один запрос с одним неоптимизированным индексом смог поднять нагрузку на процессор в два раза.
У меня и у жены iPhone и около месяца назад оба сели до 20%, когда были на озере Гуроне. Поставили оба на зарядку в машину и запустили на обоих телефонах навигационную программу. Просто запустили разные программы, я запустил встроенные карты (тестировал карты iOS 6 (как разработчик имею права использовать уже не первый месяц)), а жена запустила бесплатную навинационную программу Waze. Ее телефон начал заряжаться, а мой продолжал разряжаться.
Быстрые тесты показали, что проблема была в кабеле. Просто после того, как мы поменялись кабелями, мой начал заряжаться, а ее терять в заряде. Китайская фигня за 2 доллара не заряжала телефон. Даже после выключения навигационной программы iPhone набирал заряд за 20 минут процентов 5 максимум.
Вот вроде бы безобидная вещь – кабель, а оказывается китайская гаражная подделка не способна нормально работать. Приехали домой и тут же выкинул этот кабель, потому что толку от него ноль.
Мы уже научились писать достаточно сложные запросы и казалось бы, что еще нужно? Полученных знаний достаточно чтобы написать даже очень сложную программу, но вся ее логика будет располагаться на стороне клиента. Программа-клиент должна будет выполнять все необходимые действия по обработке данных. На первый взгляд, в этом ничего плохого нет, но если посмотреть на проблему ближе, то в таком решении можно увидеть достаточно много недостатков.
Если возложить выполнение сложных задач на сервер, то мы получаем следующие преимущества:
Новые наушники от Apple EarPods уже доступны на eBay по $40. И народ явно покупает. Лично я подожду пару недель и появятся китайские варианты за пару долларов. Я постоянно покупал китайские наушники для iPhone и разницы не замечал.
Я пользуюсь iOS 6 с момента выпуска первой бета версии. Самая первая бета была глючна, но на то она и бета, но уже вторая бетка была стабильна и я не заметил ни единого косяка. После этого уже вышло пару патчей и я не знаю, что там патчили, но новых функций я пока так и не заметил.
Мне понравилась возможность постить в твитер и фейсбук прямо из центра сообщений, но там есть одно большое неудобство – все приходится постить по отдельности. Еще в MS Messenger, а потом и в Windows Phone появилась возможность обновлять статус. Пишешь в одном поле свой статус, потом ставишь галочки напротив сервисов, куда хочешь запостить, и готово. Один и тот же статус уходит в Messenger, Twitter и Facebook.
В iOS для каждого статуса свое окно. Нужно сначала запостить статус в твитер, но главное не забыть перед постингом скопировать текст в память. Потом копируем тот же статус в окно фейсбука и наконец идем в Google+. Я в основном делаю в такой последовательности.
Пришлось тут восстановить iPhone, чтобы установить последнее обновление iOS 6 (это Developer preview версия, поэтому и ставил через восстановление). Все прошло успешно и достаточно быстро, но с одним косяком – Lingvo теперь не видит словари. Где-то в его недрах видимо он проставил себе галочку, что словари установлены, но в реальности после восстановления телефона они были стерты из памяти. Теперь напротив словаря нет кнопки для того, чтобы скачать словарь заново и не знаю, что делать.
Может удалить программу и поставить заново? Интересно, а информация о том, что я за нее заплатил останется или меня заставят платить заново? В общем, я в печальке. Не могу теперь скачать словари для Lingvo для iPhone.
Update:
Решил проблему. В iTunes убрал галочку с Abby Lingvo, синхронизировал iPhone. Это удалило программу с телефона. Вернул галочку, синхронизировал еще раз. Lingvo вернулась на iPhone и позволила скачать словари.
Интересный вопрос поступил в студию:
в методе класса лучше обращаться к полям этого класса или к свойствам(инкапсулирующим эти поля)? Или зависит от ситуации, допустим в свойстве есть какая-то проверка, тогда через свойство. Если нет проверок, то через поле по идее будет работать быстрее.
Был как-то почти такой вопрос - почему, я против прямого доступа к переменным объекта и я отвечал в комментариях. Сегодня решил ответить в отдельной заметке, чтобы потом проще было находить и ссылаться. В вопросе кроется и ответ - доступ к переменным должен осуществляться ТОЛЬКО через свойства. Никогда не должно быть прямого доступа, даже если вы не делаете никаких проверок. Я понимаю, что впадлу писать get/set и для таких случаев в C# есть офигенная конструкция: