Что самое интересное, новый скайп на электроне, а электрон на хроме. Т.е. фактически Microsoft в своём продукте тупо использует продукт конкурента, несмотря на свой мегабраузер эдж.
Как я понимаю, тут проблема больше актуальна для виртуалок в облаках. Т.е. нам дают инструмент вида: «несмотря на то, что виртуалка в облаке, и вы её не контролируете, её данные могут быть защищены от всех с помощью данной технологии». И тут находят дыру такого вида, что соседняя с вами виртуалка, грязными способами может узнать эти ваши данные, которые никто не должен видеть (ну, или владелец хост-машины). Что бьёт как раз по облачным провайдерам.
При этом, если у вас сервер находится в собственном датацентре, с ограниченным доступом и только доверенным вашим кодом, то все эти патчи даже вредны, т.к. снижают производительность.
Тут будущее время, а уже всё работает. Плохо, мало мест, но иногда полезно (например, вспомнить название печенюшек, которые купил в другом городе, чтобы поискать их у нас), или что брал в кафешке и за какие деньги.
Кассиры в трамваях принимают любые деньги. В терминалах на остановках не помню, но вроде бы тоже кешем можно. Был не прав, по ссылке написано, что изменили правила.
А можно про утечки памяти подробнее? А то пацаны-то не знают, у нас системы на ноде работают месяцами и как-то с ними всё хорошо. Вы имеете в виду, что есть утечки в движке/системных библиотеках, или же просто очень легко захватить объект, который не нужен, но завис в каком-нить глобальном кеше.
В статью добавлять пока не буду — потому что не понимаю трейдофф от компиляции через Reflection.Emit.
Быстрее. Как пример, клонятор использует Reflection.Emit, когда возможно и заваливается на ExpressionTree, если не получается. Код по идее идентичен, но на экспрешшенах тупо медленнее. Или же где-то есть ошибка, или же особенность задачи приводит к разным операциям, но в целом голый il код получается производительнее.
PS: А вообще, Jil делает очень упоротые оптимизации в плане сериализации данных в строку, так что он ещё там может выигрывать.
Всё-таки данный браузер отличный продолжатель дела классической оперы. Падает отлично. Вначале я боялся открывать приватные окна (закрытие приводило к крешу), потом были просто безумные утечки памяти (ну и креш по Out of Memory) потом девтулзы (написали, что наконец, починили), теперь ещё закрытие вкладки мышиным жестом приводит к эпичному рестарту браузера с перемешиванием всех вкладок.
До кучи в последних версиях сломали открытие ссылок из внешних приложений, теперь могут открыться в любом табе, а не последнем.
Неужели так тяжело без постоянных регрессов жить? Хороший же браузер, удобный, но пользоваться последнее время очень неудобно.
На мой взгляд, генераторы, это самая странная фича ES6. Т.е. она логичная и полезная, yield иногда нужен, но иногда, это пару раз в год… Т.е. достаточно странный синтаксис (звёздочка в функции, всё время забываю куда её правильно ставить, ключевое слово yield или yield return?, соглашения на имена next и value) и ради того, чтобы возвращать итерируемые объекты.
При этом, на самом деле, все любители извращений тайно потирали руки и ждали реализации генераторов ради того, чтобы костылить на них эмуляцию async/await. И сразу после появления сделали пачку библиотек, которые это делают. Получается, возможность генераторов изначально все планировали использовать не по назначению.
Другими словами, добавили фичу, которую все используют для других целей. Может быть стоило сразу использовать async/await и забить на эти генераторы?
Вроде тут нормально решается, улица Волжская набережная. улица Проспект Ленина Во всяком случае, в куче бумажных бланков ул. прибита гвоздями, и все как-то жили и живут.
Забавная математика:
1. Роуминг для абонентов стоит дорого
2. Роуминг приносит оператору 1.5% дохода
Уберём роуминг — оператор потеряет 1.5% дохода. Логично, но по факту, если звонок стоит 10 рублей, и из них 15 копеек идут оператору в доход, то сделаем звонок в условный рубль и получим -8.85 рублей. Вот на эти 1.5% цены и подорожают.
Вообще, использовать этот алгоритм можно для реализации различных SortedList, когда данные добавляются и удаляются и каждый раз перестраивать массив накладно, поэтому нужны специальные дырки для заполнения.
Правда, имхо, гораздо более эффективно в этом случае использовать B-Tree
Если взять пиво, которое сейчас из 0.5 превратилось в 0.45 (что, блин, совсем раздражает, ибо продукт явно не первой необходимости, и гораздо больше на цену влияет марка пива, а не ёмкость), то там ёмкость теперь мелким шрифтом на блестящей этикетке сзади где-то между составом и адресом производителя.
У меня в одном из приложений понадобился доступ к телефону для возможности нормально определить сам факт звонка (уже не помню для чего, то ли на паузу корректно поставиться, то ли нотификацию какую-то поставить). Я был бы рад уменьшить себе права (вообще не интересно, кто и кому звонит), но нельзя.
При этом, если у вас сервер находится в собственном датацентре, с ограниченным доступом и только доверенным вашим кодом, то все эти патчи даже вредны, т.к. снижают производительность.
Кассиры в трамваях принимают любые деньги. В терминалах на остановках не помню, но вроде бы тоже кешем можно.Был не прав, по ссылке написано, что изменили правила.пацаны-то не знают, у нас системы на ноде работают месяцами и как-то с ними всё хорошо. Вы имеете в виду, что есть утечки в движке/системных библиотеках, или же просто очень легко захватить объект, который не нужен, но завис в каком-нить глобальном кеше.Быстрее. Как пример, клонятор использует Reflection.Emit, когда возможно и заваливается на ExpressionTree, если не получается. Код по идее идентичен, но на экспрешшенах тупо медленнее. Или же где-то есть ошибка, или же особенность задачи приводит к разным операциям, но в целом голый il код получается производительнее.
PS: А вообще, Jil делает очень упоротые оптимизации в плане сериализации данных в строку, так что он ещё там может выигрывать.
До кучи в последних версиях сломали открытие ссылок из внешних приложений, теперь могут открыться в любом табе, а не последнем.
Неужели так тяжело без постоянных регрессов жить? Хороший же браузер, удобный, но пользоваться последнее время очень неудобно.
При этом, на самом деле, все любители извращений тайно потирали руки и ждали реализации генераторов ради того, чтобы костылить на них эмуляцию async/await. И сразу после появления сделали пачку библиотек, которые это делают. Получается, возможность генераторов изначально все планировали использовать не по назначению.
Другими словами, добавили фичу, которую все используют для других целей. Может быть стоило сразу использовать async/await и забить на эти генераторы?
1. Роуминг для абонентов стоит дорого
2. Роуминг приносит оператору 1.5% дохода
Уберём роуминг — оператор потеряет 1.5% дохода. Логично, но по факту, если звонок стоит 10 рублей, и из них 15 копеек идут оператору в доход, то сделаем звонок в условный рубль и получим -8.85 рублей. Вот на эти 1.5% цены и подорожают.
Правда, имхо, гораздо более эффективно в этом случае использовать B-Tree