Pull to refresh
34
0
Руслан @build_your_web

Инженер-программист

Send message
а с подстветкой sql синтаксиса статья была бы еще лучше.
UFO landed and left these words here
UFO landed and left these words here
UFO landed and left these words here
кто-нибудь знает где достать алгоритмы, по которым рисуются эти динамические абстрактности?
это видео по которому писалась статья.
В наших не тоже самое. Эти ДЦ — мобильны.
Можно прицепить этот контейнер к какому-то тягачу и угнать датацентр себе домой =)
включи прерывичтую линию на границе рамки (Cycle Border Style) а затем измени форму границы (Animate Border Radius).

FF не умеет рисовать хорошую рамку для непрямоугольных объектов.
вы видите плюс в том, чтобы гугл отдавал властям историю запросов и доступ на чтение 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, то привязанный конторол будет автоматически обновляться при изменении какого либо значения, которое используется для вычисления этого свойства.

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

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Registered
Activity