
Dmitry
09.09.2018
23:19:07
файрвол и DMZ? )

Adel
10.09.2018
11:08:38
добрый день. есть что обсудить про ООП?
эх :)

F01134H
10.09.2018
11:13:42

Google

Adel
10.09.2018
11:14:06
не. там какая-то стена чтоли... да вощем пофиг :)

Dmitry
10.09.2018
11:14:28
огненная!

Adel
10.09.2018
11:14:40
не. кислотное облако :)

f4rt~
10.09.2018
11:16:12

F01134H
10.09.2018
11:17:23
Если писать на дарте - значит кукарекать о нем каждые 5 минут - то это еще худший бэд трип
И типа это, если ты не бот, то надо лечиться

Kernel
10.09.2018
11:23:05
я на дарте пишу

F01134H
10.09.2018
11:23:19
Нет, плохо говорить о нем каждые 5 минут

Kernel
10.09.2018
11:23:29
было бы с кем (
никто не пишет на дарте
кто чей фейк?

Konstantin
10.09.2018
11:52:20

Google

Kernel
10.09.2018
11:52:50

Adel
10.09.2018
11:53:24
это ж мода новая
язык для этой.. криптовалюты Виталика
Бутерина

Kernel
10.09.2018
11:54:28
он же умер?

Adel
10.09.2018
11:56:19
Виталик - нет. Этериум - тоже нет.
экая вы деревня ей богу :)

Kernel
10.09.2018
11:56:46
странно, я слышал что Бутерин умер
но крипта зашквар, так что могу ошибаться

Adel
10.09.2018
11:57:19
это наверно спам-бот тебе рассказал

Kernel
10.09.2018
11:57:39
я не общаюсь с ботами
я еще не на столько подсел на JS кодинг

F01134H
10.09.2018
11:57:55
но принимаешь их во внимание

Kernel
10.09.2018
11:58:32

Eugene
10.09.2018
12:00:27
очень странный этот эфир и методы работы с ним странные.

Adel
10.09.2018
12:01:53
да отлично все. при желании могут взять и откатить операции. эвент сорсинг! :)
форкнуть и все такое...

Konstantin
10.09.2018
12:18:12
что за копипаст ? не понимаю

Sergey
10.09.2018
12:24:27

Google

Sergey
10.09.2018
12:24:39
copy & paste

Konstantin
10.09.2018
12:25:24
copy & paste
Опять не понимаю. Я пишу контракты на solidity с нуля. Про твой код и не твой не понимаю

Kirill
10.09.2018
12:26:17

Adel
10.09.2018
12:26:34

Konstantin
10.09.2018
12:51:44
Если про токены, то да.

F01134H
10.09.2018
15:12:00
@fes0r а когда стоит инварианты предпочитать прекондишенам и наоборот?

Sergey
10.09.2018
15:12:11
а ты можешь избавиться от стэйта приложения?)
инварианты то у тебя в любом случае будут

F01134H
10.09.2018
15:13:43
Я имею ввиду, когда стоит в методе класса делать проверки, а когда стоит делать их перед подачей в этот метод

Sergey
10.09.2018
15:13:46
и что значитт "предпочитать" - прекондишены без инвариантов всегда лучше, но часто у тебя не очень большой выбор

F01134H
10.09.2018
15:14:41

Aleh
10.09.2018
15:17:15

F01134H
10.09.2018
15:17:29
Во, как раз такая ситуевина

Aleh
10.09.2018
15:17:35
но тут нет никакого предпочтения инвариантов прекондишенам

knopkod4v
10.09.2018
15:18:03

Sergey
10.09.2018
15:18:07
class {
private $x; // $x >= 0;
public function add(int $y) {
assert($y >= 0); // precondition
$this->x += $y; // side effect (state changed)
}
public function sub(int $y) {
assert($y >= 0);
assert($y <= $this->x); // check invariant
$this->x -= $y; // side effect
}
}

Aleh
10.09.2018
15:18:31

F01134H
10.09.2018
15:18:33
Хмммм

Google

Sergey
10.09.2018
15:19:21
но это уже прекондишен другого объекта?
фактически тот объект которому нужно оперировать имейлы введя правило "всегда должен быть валидный email" и делигировав это на прекондишены объекта Email в целом просто избавился от лишней проверки.
Д - декомпозиция

knopkod4v
10.09.2018
15:19:47
может тогда можно сказать, что это косвенный прекондишен объекта принимающего email =\
но это так, пердение в слух, т.к. что-то никаких выводов из этого сделать не получается

Aleh
10.09.2018
15:20:02
помогает выразить прекондишен в сигнатуре метода, проверяется в компайл-тайме и все такое
что ты хочешь видеть, читая код некого User/Profile?
class User {
constructor(email: string) {
if(!isValidEmail(email)) throw new Error(“Not valid”)
this.email = email
}
}
——
class User {
constructor(email: Email) {
this.email = email
}
}

knopkod4v
10.09.2018
15:21:34
Д - декомпозиция
посредством Д - делегирования :D
Тут можно придумать новую аббревиатуру и стать егором256 :D

Sergey
10.09.2018
15:22:17

knopkod4v
10.09.2018
15:22:36

Sergey
10.09.2018
15:22:57
http://extras.springer.com/2002/978-3-642-59413-7/3/rom/pdf/Parnas_new.pdf

knopkod4v
10.09.2018
15:24:25
биг спс!
Блин, не успеваю читать(в смысле при этом понимать) первоисточники, сегодня только про MVC сел почитать =\

Anton
10.09.2018
18:34:11
Задался вопросом. и смог решить после сортировки за O(N).
И скорее всего есть возможность O(N) и без сортировки, но памяти больше нужно.
http://sandbox.onlinephpfunctions.com/code/8fec3b85729b9e787da3836ebcaf5e3c3c2e1dcb
Времени кстати минут 40 потратил.