
Источник картинки: The Verge
Пока мы с вами, уважаемые читатели, были на каникулах, в мире Apple и iOS-разработки произошли интересные события. Подробности под катом.
Пользователь
Уже три года я живу и работаю в Германии. В декабре прошлого года в нашем кабинете перегорела одна из ламп дневного света. Но не просто перестала светить, а как это часто бывает у люминесцентных ламп со стартером, стала постоянно гаснуть и включаться снова с характерным щелчком. Мои коллеги сразу же позвонили секретарю, та вызвала электрика. Через три дня секретарь сказала, что лампу поменяют нескоро, так как их нет на складе и нужно заказывать. Меня эта ситуация категорически не устраивала. Это моргание раздражало очень сильно.
У нас на этаже есть кладовая, где стоят точно такие же лампы. Только в эту кладовку люди ходят раз в неделю. Самое простое решение – заменить лампу в кабинете на лампу из кладовки. А когда придут новые, сделать нормально.
Вообще эту лампу поменять очень легко. У меня были такие лампы и дома, и на работе. Я, будучи админом, проворачивал этот фокус с подменой ламп много раз.
Я взял барный стул и попросил коллегу-немца подвинуться – лампа висела прямо над его рабочим местом. Нильс спросил, что я задумал, и я поделился с ним своей идеей. Он радостно воскликнул: «Классно, мы будем тебе очень благодарны, а то она уже всем надоела!», а потом шепотом добавил: «… но я бы не советовал тебе этого делать!»
Сегодня утром мой приятель kirillkos столкнулся с проблемой.
Вот его код:
class Event {
public string Message {get;set;}
public DateTime EventTime {get;set;}
}
interface IEventProvider {
IEnumerable<Event> GetEvents();
}
И дальше много-много реализаций IEventProvider
, достающие данные из разных таблиц и баз.
Проблема: во всех этих базах все в разных временных зонах. Соответственно, при попытке вывести события на UI все ужасно перепутано.
Слава Хейлсбергу, у нас есть типы, пусть они спасут нас!
Предупреждение. Все материалы и методы, изложенные ниже, представлены исключительно в ознакомительных и экспериментаторских целях. Напоминаем, что взлом персональных страниц пользователей и сбор данных незаконным путём преследуется законодательством РФ (в частности УК РФ). Будьте осторожны и экспериментируйте только со своими или тестовыми аккаунтами!
Кто из нас не косячит? Я регулярно встречаюсь с ошибками в асинхронном коде и делаю их сам. Чтобы прекратить это колесо Сансары делюсь с вами самыми типичными косяками из тех, которые иногда довольно сложно отловить и починить.