вы видите плюс в том, чтобы гугл отдавал властям историю запросов и доступ на чтение gmail ящиков?
единственный верный вариант в этом случае — не принимать такие условия.
и если это значит выход из этого тоталитарного рынка, то пусть так оно и будет.
вобще, думаю, замысел тут такой:
скоро появится собственный китайский поисковик, который само собой будет вынужден делится приватной информацией с гослужбами, а история поисковых запросов — чем не досье.
да еще если и сделают перехват поисковых запросов из адресной строки… столько инфы на человека… красота.
осталось только p2p сети запретить, как организации с целью распространения нелегального контента и всё — большая часть web-a принадлежит власти.
что мешает китайцам, создать децентрилизованную сеть прокси-сервисов?!
вобще не понимаю как можно контролировать интернет кроме как полным его отключением.
да и с чего власти решили, что без гугла китайцы не найдут зацензуренный контент…
полная алогичность…
похоже на государственные понты, в духе «мы контролируем всё касается вашей жизни и не важно, что вы это не заказывали».
Всю карту можно целиком загрузить в память,
физику рассчитать сразу для всей карты,
все аудио и графические ресурсы становятся общими для всех пользователей карты.
т.е. не нужно дублировать вычисления, которые были на всех клиентских машинах.
Представьте, что кроме пробега есть десятки(сотни) свойств, которые зависят от Маршрута.
Теперь при добавлении нового элемента в маршрут не нужно указывать что нужно обновить каждый контрол, который отображает зависимые от маршрута параметры.
Нужные свойства обновятся
1. сами,
2. сразу же,
3. и только тогда, когда это действительно нужно.
На самом деле всё не так сложно.
Суть такая:
Пусть есть class Автомобиль {
public property int Пробег {
return Маршрут.Sum(m=>m.Расстояние);
}
public property List<Путь> Маршрут;
void Проехать(Путь п) {
Маршрут.Add(путь);
}
}
1. Вычисления в properties заменяются на ValueProvider, который инкапсулируют эти вычисления.
public property ValueProvider<int> Пробег{
____ return new ValueProvider(() => Маршрут.Sum(m=>m.Расстояние));
}
public property ValueProvider<List<Путь>> Маршрут;
Таким образом Пробег и Маршрут всё еще отвечает за вычисление пробега, но при попытке получить Пробег, мы получим не резултат этих вычислений, а объект, содержащий функцию. Т.о. мы не даем программе сразу же сделать вычисления, а просто возвращаем ValueProvider, который знает как их вычислить. А значит теперь мы можем контролировать в какой момент вычислять, а в какой просто возвращать закэшированное значение.
т.е. Пробег зависит от Маршрута, а значит не нужно перерасчитывать значение Пробега, если элементы Маршрута не изменялись.
2. Все вычисления, которые переданы ValueProvider образуют дерево вычислений, которое первый раз выполняются в полном объеме, необходимом для получения результата, а при последующих вызовах возвращает закэшированные значения.
т.е. если Маршрут не изменялся, то путь вычисляться заново не будет, а вернется закэшированное значение.
3. Этот ValueProvider, кроме умного подхода к вычислениям, к тому же наследуется от IObservable, а значит если сделать привязку на это свойство (Пробег или Маршрут) в XAML, то привязанный конторол будет автоматически обновляться при изменении какого либо значения, которое используется для вычисления этого свойства.
т.е. если мы добавим новый Путь в Маршрут, то автоматически обновятся контролы зависящие от Маршрута (в т.ч. и контрол, который будет показывать общий пробег).
live.visitmix.com/MIX10/Sessions/KEY02?type=wmv
Можно прицепить этот контейнер к какому-то тягачу и угнать датацентр себе домой =)
FF не умеет рисовать хорошую рамку для непрямоугольных объектов.
единственный верный вариант в этом случае — не принимать такие условия.
и если это значит выход из этого тоталитарного рынка, то пусть так оно и будет.
вобще, думаю, замысел тут такой:
скоро появится собственный китайский поисковик, который само собой будет вынужден делится приватной информацией с гослужбами, а история поисковых запросов — чем не досье.
да еще если и сделают перехват поисковых запросов из адресной строки… столько инфы на человека… красота.
осталось только p2p сети запретить, как организации с целью распространения нелегального контента и всё — большая часть web-a принадлежит власти.
вобще не понимаю как можно контролировать интернет кроме как полным его отключением.
да и с чего власти решили, что без гугла китайцы не найдут зацензуренный контент…
полная алогичность…
похоже на государственные понты, в духе «мы контролируем всё касается вашей жизни и не важно, что вы это не заказывали».
Но писать код, чтобы смонтировать диск (пусть и в облако) — это слишком.
Говорят, что если провести эту полоску вниз (как бы развернув её на экран), то фоновое приложение на экране заменит активное.
Т.е. та самая многозадачность, о которой было столько шума.
Всю карту можно целиком загрузить в память,
физику рассчитать сразу для всей карты,
все аудио и графические ресурсы становятся общими для всех пользователей карты.
т.е. не нужно дублировать вычисления, которые были на всех клиентских машинах.
Теперь при добавлении нового элемента в маршрут не нужно указывать что нужно обновить каждый контрол, который отображает зависимые от маршрута параметры.
Нужные свойства обновятся
1. сами,
2. сразу же,
3. и только тогда, когда это действительно нужно.
Суть такая:
Пусть есть
class Автомобиль {
public property int Пробег {
return Маршрут.Sum(m=>m.Расстояние);
}
public property List<Путь> Маршрут;
void Проехать(Путь п) {
Маршрут.Add(путь);
}
}
1. Вычисления в properties заменяются на ValueProvider, который инкапсулируют эти вычисления.
public property ValueProvider<int> Пробег{
____ return new ValueProvider(() => Маршрут.Sum(m=>m.Расстояние));
}
public property ValueProvider<List<Путь>> Маршрут;
Таким образом Пробег и Маршрут всё еще отвечает за вычисление пробега, но при попытке получить Пробег, мы получим не резултат этих вычислений, а объект, содержащий функцию. Т.о. мы не даем программе сразу же сделать вычисления, а просто возвращаем ValueProvider, который знает как их вычислить. А значит теперь мы можем контролировать в какой момент вычислять, а в какой просто возвращать закэшированное значение.
т.е. Пробег зависит от Маршрута, а значит не нужно перерасчитывать значение Пробега, если элементы Маршрута не изменялись.
2. Все вычисления, которые переданы ValueProvider образуют дерево вычислений, которое первый раз выполняются в полном объеме, необходимом для получения результата, а при последующих вызовах возвращает закэшированные значения.
т.е. если Маршрут не изменялся, то путь вычисляться заново не будет, а вернется закэшированное значение.
3. Этот ValueProvider, кроме умного подхода к вычислениям, к тому же наследуется от IObservable, а значит если сделать привязку на это свойство (Пробег или Маршрут) в XAML, то привязанный конторол будет автоматически обновляться при изменении какого либо значения, которое используется для вычисления этого свойства.
т.е. если мы добавим новый Путь в Маршрут, то автоматически обновятся контролы зависящие от Маршрута (в т.ч. и контрол, который будет показывать общий пробег).
Буду благодарен, если появится скринкаст и на эту тему.