
MIkhail
01.02.2018
09:42:04
Всем привет!
такой вопрос, у вас есть аппликейшен, который лезет в БЧ в смартконтракты и тп., у каждого инстанса такого приклада свой кошелек например, работа приклада через смартконтракт
какие подходы по разработке таких приложений
что бы максимально усложнить жизнь крякеру

Google

MIkhail
01.02.2018
09:44:05
забить на JVM и кодить на С++ с обфускацией обфускации?))
конечно до разумного предела, т.е. ну допустимо что какой-то процент поломают таких приложений
т е задача не стоит что бы блокировать хуки в ядро операционки;)
Коллеги, есть мысли?

Aleksey
01.02.2018
09:46:19
это абсолютно бессмысленно.

MIkhail
01.02.2018
09:46:26
грубо говоря функция f() вызывается тогда и только тогда когда баланс СК позволяет это сделать

Алексей
01.02.2018
09:46:49
а от чего защищаемся то?

MIkhail
01.02.2018
09:46:55

Aleksey
01.02.2018
09:47:32

MIkhail
01.02.2018
09:47:54

Alexey
01.02.2018
09:47:59

MIkhail
01.02.2018
09:48:08
вызовы функций приложения

Aleksey
01.02.2018
09:49:30
вызовы функций приложения
ну если это блокчейн, то через комиссии очевидно. вот ты написал смартконтракт полезный. через него люди на пример покупают котиков. вот ты делаешь что бы с каждого котика на твой кошелек шло 0.1% от сделки. профит

Google

MIkhail
01.02.2018
09:50:04
Ты зашёл вообще с какого то другого вопроса
по другому можно сформулировать так:
если вызов функции приложения прикручен к БЧ балансу, как максимально усложнить задачу отвязать БЧ от приклада, т.е. задачу крякеру сделать тяжелее

Aleksey
01.02.2018
09:50:55
но зачем?

MIkhail
01.02.2018
09:51:40
но зачем?
смотрите, есть например чат-боты, их подход к монетизации - оплата каждого сообщения

Kirill
01.02.2018
09:51:45
Есть ли тайпкласс, который объединяет в себе Functor и Foldable?

MIkhail
01.02.2018
09:52:26
при самом плохом раскладе, кто-то попробует отвязать обработку сообщений и списание со СК
чат-бот как пример, но норм подходит.

sherzod
01.02.2018
09:54:22

MIkhail
01.02.2018
09:54:47
поэтому интересно, как связку оплатил_пакет->обработал_пакет защищают
тут вопрос про организацию защиты приложений в первую очередь. не про БЧ

Aliaksandr
01.02.2018
09:55:47

sherzod
01.02.2018
09:56:10
Monoid
вру, fmap-а же нет у него

Kirill
01.02.2018
09:56:23
Не, чтобы был как isEmpty, так и map. Как в стандартном опшне, например.
И желаетльно forall
хотя да, traverse вроде ок

Александр
01.02.2018
10:01:10
кто какой LRU использует ? кроме redis есть что-то хорошее ? мне бы большие портянки текста по 600кб хранить

Denis
01.02.2018
10:01:45
Монго

Александр
01.02.2018
10:01:59
thx, akka уже есть в проекте

Nikolay
01.02.2018
10:08:21

Google

Юрий
01.02.2018
10:21:35
Вопрос по cats - есть ли уже готовый оператор List[Option[NonEmptyList[T]]] => List[T]?
Написать несложно, но вдруг уже есть?

Александр
01.02.2018
10:23:36
а зачем Option от List ? если не секрет

Denis
01.02.2018
10:24:46
Либо есть непустой лист, либо нет
семантика может быть разная

Юрий
01.02.2018
10:24:59
так не забудешь проверить на размер

Aleksey
01.02.2018
10:26:49

Denis
01.02.2018
10:26:58
хотя не
хотя не :)
лол

Юрий
01.02.2018
10:37:58
лучшее, что нашел:
xxx.flattenOption.flatMap(_.toList)
но тут 2 прохода, а с обычным фолдом был бы 1

Denis
01.02.2018
10:39:37
xxx.flatten.flatMap(_.toList) тоже вроде ок

Юрий
01.02.2018
10:40:12
ну да, неплох
а не, flatten не прокатит
а нет, прокатит

Google

Юрий
01.02.2018
10:40:59
туплю

Alexey
01.02.2018
10:46:29
Не помню, чо то накидывали уже или нет
http://arrow-kt.io/

Юрий
01.02.2018
10:47:47
было уже

Alex
01.02.2018
10:47:48
да, было уже

Alex
01.02.2018
11:16:04
как же они там мучаются без implicit-ов, бедненькие ^_^

Vladimir
01.02.2018
11:35:39

Andrey
01.02.2018
11:36:31
https://github.com/bavadim/raml2play
К сожалению тут только старая версия, которую написали изначально
Все никак руки под 2.6 плей заточить
и RAML 1.0

Vladimir
01.02.2018
11:38:13
ОК, спасибо

Andrey
01.02.2018
11:38:47
Если будет потребность, допилим.
Просто пока нет понимания, останемся ли мы на play, поэтому пока не допилили.

Nikolay
01.02.2018
12:32:40
было уже? https://github.com/scala/scala/releases/v2.13.0-M3

Aleksey
01.02.2018
12:36:14
когда релиз кандидата обещают?

Nikolay
01.02.2018
12:36:51
не очень скоро видимо. обещают еще один milestone с новыми коллекциями
> For the next six months, our focus will be on integrating, refining, optimizing the new implementation.
это будет M4 через полгода

Aleksey
01.02.2018
12:37:36
у джавы релизы будут чаще чем у скалы! где это видано!

Nikolay
01.02.2018
12:38:15
мне кажется к концу года 2.13 выйдет
релиз

Aleksey
01.02.2018
12:38:28
ни кто еще на 9 не перешел, а десятка будет уже в марте!

Google

Nikolay
01.02.2018
12:38:57
решили скипнуть 9 поскорее, как microsoft

Alex
01.02.2018
12:50:44
да лан пусть уже шлифуют свои коллекции
а то потом опять начнется стон что массивы не массивы

Alexander
01.02.2018
13:00:30

Alex
01.02.2018
13:01:39
http://openjdk.java.net/projects/jdk/10/
видимо что-то из этих фичей нужно кому то крупному :)

Александр
01.02.2018
13:02:50
G1 чтобы люди на шенанду не убежали

Alex
01.02.2018
13:02:58
грааль вон выкатывают

Daniel
01.02.2018
13:12:22
грааль есть в 9ке, но надо включать отдельно
и там какой-то нюанс с компиляцией
твиттер уже во всю юзает грааль и для скалки говорят шикардос по производительности
места до +10%

Aleksey
01.02.2018
13:13:26

Алексей
01.02.2018
13:13:46
грааль очень интересно выглядит ) особенно интересна фича с мержем AST разных языков

Daniel
01.02.2018
13:15:03
в смысле?
в прямом
для джавы профит ожидается не столь существенным, а для скалки новые инлайнинги работают отлично

Aleksey
01.02.2018
13:15:45

Daniel
01.02.2018
13:16:01
аот

Алексей
01.02.2018
13:16:08
https://habrahabr.ru/post/319424/

Daniel
01.02.2018
13:16:18
но конкретно в 9ке как то для джита
в общем про детали я совру

Aleksey
01.02.2018
13:17:27
то есть и jit и aot. в перспективе можно будет делать единый нативный бинарь с включеным джава-рантаймом, так?

Daniel
01.02.2018
13:17:47
есть жирный нюанс, у твиттера в команде vm работают люди, которые контрибьютят в openjdk и до этого работали в сан и оракле