Pull to refresh
3
0
Bronx @Bronx

User

Send message

Только при прецедентном праве никто про эти законы даже не вспоминает -- т.е. деньги не тратятся даже на то, чтобы их наконец-то официально отменить :)

сотовые операторы скорее всего тупо не хотят продавать помногу симок в одни руки - потому что такие клиенты в среднем являются проблемными и убыточными. Но отказывать до недавнего времени - не имели права, в силу закона, ибо оферта и т.д. 

Что мешало операторам прописать в оферте, что стоимость дополнительных номеров растёт экспоненциально? Или что исходящие звонки/сообщения выше некоего лимита будут расценены как "коммерческая активность" и станут платными? Такая оферта не была бы расценена как отказ в обслуживании и позволила бы ограничить количество симок в одни руки, не прибегая к помощи государства.

А если запретят превышать человеку 1/10 скорости света? А если первую космическую?

Однозначно протестовать. Это идиотский закон. И если государство растрачивает деньги налогоплательщиков на разработу, принятие и правоприменитеьную поддержку (т.е. адвокаты, полиция, суды, тюрьмы) идиотских законов, то такое государство занято не тем делом.

Это разумное требование, хотя тогда было бы логичнее предположить, что они дрались во время песчаной бури или буквально в считанные часы до неё, но причиной смерти скорее всего были всё же раны, а не буря. Я правда не знаю, жили ли динозавры в районах с песчаными бурями. Может они в реку/пруд свалились, их рыбы обглодали, но кости растащить не смогли, и река их скелеты песком занесла.

Подгадать же обвал (да ещё такой, что не растащил бы кости) гораздо труднее. Ну просто чисто статистически: с какой частотой должны происходить аккуратные обвалы, удачно причиняющие смерть парам дерущихся динозавров, чтобы палеонтологи случайно наткнулись на такую пару?

 по какой-то причине оба погибли в драке — вероятно, из-за внезапной песчаной бури или обвала породы.

Зачем натягивать палеоиндюка на глобус и придумывать ВНЕЗАПНЫЕ! (tm) бури и обвалы, когда есть более банальные причины: один схватил другого за конечность и начал методично наносить травмы, несовместимые с жизнью, другой, защищаясь, вспорол первому брюхо, у обоих обильное кровоизлияние и критическая потеря крови, "в общем, все умерли" (с).

Если все станочники города месяц работали и месяц бухали, создавая дефицит станочников и поднимая ставки, то их едино-месячные выплаты нужно делить пополам, чтобы получить эффективную средне-месячную зарплату. Ведь если бы они не бухали, то не было бы дефицита, и не было бы таких ставок.

С японцями они рубились лично. 

Но очень удобно не гибли? Или, если гибли не от рук немцев, то нещитово?

Вы всерьёз считаете что кроме немцев во ВМВ не с кем было рубится, и Европа была единственным театром боевых действий?

Это обычно из-за агрегации: частицы летают, сталкиваются между собой, объединяются в более крупные и начинают выпадать, переставая быть аэрозолями. Либо прилипают к поверхностям при контакте.

когда американское оружие стреляет по врагам, а американцы не гибнут, очень удобно. 

Как сказать, что не знаешь истории, не говоря, что не знаешь истории.

А с японцами тогда кто бы воевал? Что-то СССР не торопился открывать второй фронт на востоке. /s

МЕЛЬЧАЙШИХ – это сколько и почему? 

Таких, что броуновское движение в данных условиях (плотность, температура) перестаёт быть пренебрежимо малым, поэтому взвесь никогда не выпадает в осадок.

За бесплатную помощь ?

Вы слово "фактически" пропустили? На бумаге была небесплатная, в мозгах патриотов СССР -- вообще обдираловка. По факту же вернули 25% -- причём без учёта того, что было уничтожено в боях и списано (это было 100% бесплатно).

Ну так СССР тоже щедро отсыпал невозвратных кредитов.

Угу, по принципу "мы на горе всем буржуям мировой пожар раздуем".

Именно американцы кредитовали большинство стран антигитлеровской коалиции, снабжали их оружием, продовольствием и амуницией. Разумеется, не за просто так.

А фактически -- за просто так. Потому что тот же лендлиз предполагал возврат лишь неуничтоженной техники, но её так и не вернули. Кредиты по лендлизу СССР так никогда до конца и не выплатил, США в конце концов просто простил остаток долга (75%). Процентов по долгу не начислялось.

США с самого начала программы предполагали, что почти ничего не будет возвращено, а что будет -- будет бесполезным в мирное время хламом, поэтому в договор заложили "совместные усилия по созданию либерализованного международного экономического порядка", т.е. режима свободной мировой торговли, который бы позволил всем участникам быстрее восстановиться. Вот только СССР не захотел ни совместных усилий, ни либерализации торговли -- идеология не позполяла, ибо капитализьм был "харам". Вместо этого он предпочёл всё тырить.

<Solution>
  
  <!-- Solution configuraions -->
  <Configurations>
    <Platform Name="Win32" />
    <Platform Name="x64" />
  </Configurations>
  
  <!-- Solution folder(s) -->
  <Folder Name="/Solution Items/">
    <File Path="Directory.Build.props" />
    <File Path="Directory.Build.targets" />
  </Folder>

  <!-- This project supports and build all solution configurations (default) -->
  <Project Path="Project1.vcxproj" />
  
  <!-- This project supports only Win32 platform and excluded from x64 -->
  <Project Path="Project2.vcxproj">
    <Platform Project="Win32" />
    <Build Solution="*|x64" Project="false" />
  </Project>

</Solution>

В общем, жить можно вроде.

Это обязательное условие для выполнения иммутабильности.

Нет, не обязательное. Просто, читая "Объект не может быть изменён. Если нужно новое состояние, создаётся новый объект, исходный остаётся неизменным", вы упёрлись в единственную трактовку, что "не может" означает якобы техническую невозможность ("должно быть невозможно поменять"), и не допускаете, что это может быть нормативным требованием "не надо менять".

Structural sharing не меняет старый объект, и он создаёт новый объект на основе старого. Если вы сами злонамеренно не меняете старый объект, то все условия иммутабельности выполнены.

Глубокое клонирование точно так же никак не защищает старый объект от злонамеренного изменения, какой-нибудь уникум всегда может написать:

const newState = structuralClone(oldState);
oldState.id = 123;

-- и всё, приехали. Тогда каким образом structuralClone является "настоящей иммутабельностью", по-вашему?

Иммутабельность -- это в первую очередь дисциплина, принцип, паттерн. Если есть дополнительные safeguards через средства языка (вроде Object.freeze или opt-in mutability как в Расте) или через библиотеки типа ImmutableJS -- отлично, но если нет, то вы всё равно можете использовать её, просто избегая прямых мутаций состояния.

Про tradeoff "производительность vs фишки"я в четвёртый раз одно и то же писать не буду, если с трёх раз не дошло, то я пас.

Как бы да, копирование ПОЛНОЕ) Иначе вы иммутабильность путаете с мутабильностью. Если копирование не полное, то вы НАРУШАЕТЕ иммутабильность, они больше иммутабильностью не является.

Похоже, у вас понятие "полное" какое-то совершенно отличное от моего. Для меня полное копирование -- это глубокое клонирование, т.е. создание полного клона объекта, с клонированием всех полей, включая детей, и внуков, правнуков и т.д.

Structural sharing не клонирует всех детей до последнего колена -- те объекты, что не поменялись, остаются на месте, их никто не удаляет, они шарятся между обоими копиями стейта (и при хорошем дизайне это бОльшая часть стейта). Никакого нарушения иммутабельности при этом нет, хотя клонирование тут частичное (в том смысле, что не для всех данных производятся дубликаты).

Чушь несете вы, не понимая принципов работы процессора, материнской платы и оперативной памяти.

Умерьте пыл, телепат вы наш, есть немалый шанс, что принципы процессора и проч я изучил, когда вы ещё под стол пешком ходили.

И уж тем более не понимаете принципе иммутабильнсти.

Судя по тому, что вы называете structuredClone "настоящей иммутабельностью", принципов не понимаете вы. Я даже не знаю откуда вы эту чушь берёте, клонирование и иммутабельность -- это концептуально разные вещи, хоть и идут рука об руку рядом. Может быть клонирование без иммутабельности, может быть иммутабельность без клонирования (любая константа вам скажет)

Вот вам, бенчмарк

Если у вас весь стейт -- это один огромный плоский массив/мапа на тысячи элементов, то да, будут проблемы с производительностью, потому что основными затратами будет перекладывание одних и тех же ссылок. Да, такие структуры плохо подходят для immutability, если стейт надо часто менять, кто бы спорил. И никто не спорит, что лазить в структуры напрямую и "пачкать" данные "по-живому" эффективнее с т.з. скорости. Ну так горе-админы тоже считают, что лазить на прод и что-то там менять напрямую -- это быстрее и эффективнее. До первого падения прода и люлей.

Иммутабельность имеет свою цену -- я это могу вам повторить ещё раз, если первые два раза не поняли. Точно так же, как запрет лазить на прод руками имеет свою цену. Вопрос в том, готовы ли вы платить эту цену за отсутствие головняка с гонками данных, неконсистентностью, откатами и прочими ништяками.

Если у вас стейт -- не огромный плоский массив, а более-менее глубокое дерево, то выигрыш прямый изменений уже становится не такой уж значительный:

https://stackblitz.com/edit/stackblitz-starters-c2hsjkty?file=src%2Findex.tsx

Особенно если программист не идиот и не складывает быстро-меняющиеся данные в общий стейт.

Что именно вы разоблачили? На ваши комменты c разоблачениями были ответы, простое повторение тех же комментов не является разоблачением, заявы "Ппц, на полном серьезе такую брехню нести" ими тоже не являются -- я тоже умею такие заявы кидать.

Я вижу вы ярый апологет MobX. Я ничего против MobX не имею, я спорю только с вашим аргументом, что иммутабельность -- супердорогая штука, которая якобы приводит к ПОЛНОМУ копированию всего состояния на каждый чих. Это просто чушь, выкурите structural sharing уже.

Ну и, к слову о розовых очках и реальности: тот же MobX под капотом приводит к аллокациям и диффам на каждый пересчёт каждого derivation, с целью отслеживания [новых] зависимостей, с дедупликацией оных. "С каких это пор постоянный копирование объектов трекинг зависимостей на каждый чих это оптимизация?" (с) алаверды

Т.е. проблема аллокаций просто перемещается на другой уровень. То, что в вашем коде их нет, не значит, что их нет вообще. "А может ещё это бесплатно и память не кушает?)))" (с) алаверды-2

Опять розовые очки. Вернемся в реальность

Возвращайтесь, я не против.

Конкретных разоблачений "брехни", конечно же, не дождёмся.

1
23 ...

Information

Rating
6,682-nd
Registered
Activity