
Denis
08.11.2016
07:53:25
6000 к
а сколько было?

Dmitry
08.11.2016
07:53:35
вроде около 3

Denis
08.11.2016
07:53:59
ну и докладчики все привозные

Google

Denis
08.11.2016
07:54:06
почти

D
08.11.2016
07:54:23
котлин, котлин »

Denis
08.11.2016
07:54:26
ага

Dmitry
08.11.2016
07:54:43
опять бушенко, боожеее

D
08.11.2016
07:54:55
но кложурей тоже в наличии

Denis
08.11.2016
07:55:02
сохатского нет )

Dmitry
08.11.2016
07:55:05
жаль :((

KrivdaTheTriewe
08.11.2016
07:55:40

Dmitry
08.11.2016
07:56:55
"в отличие от скалы, в котором мы бы сделали воот таак (40 минут) , ну а в котлине у вас так не получится сорян, спасибо за внимание"
looks legit

Denis
08.11.2016
07:57:14

D
08.11.2016
07:57:14
:D

Dmitry
08.11.2016
07:57:35
Сохатский знатный

Google

Dmitry
08.11.2016
07:57:59
http://maxim.livejournal.com/ this
о, гляди ка, @notxcain он по Rust угорел

KrivdaTheTriewe
08.11.2016
07:58:43

Denis
08.11.2016
08:01:02
@I_Rony да он у меня в тивттере есть

Denis
08.11.2016
08:03:18
Я думал в раст нет функциональщины

Dmitry
08.11.2016
08:03:47
ошибочно

Daniel
08.11.2016
08:04:14
там даже do-синтаксис есть, via macros

Denis
08.11.2016
08:06:16
Как дела сейчас со скала native? Я могу C++ либу вызвать из обычного скала проекта? Или это по-другому работает?

Grigory
08.11.2016
08:07:44
насчет вызова c++ либ из скалы, кто-нибудь занимался написанием JNI? Может есть пара ссылок полезных

KrivdaTheTriewe
08.11.2016
08:08:24
Джавовское юзать

Denis
08.11.2016
08:17:06
В джаве обычно вызывают код прослойки на си

D
08.11.2016
08:18:37
а, что в C++ стандартизованный name mangling так и не завезли?

KrivdaTheTriewe
08.11.2016
08:36:44
Ну можно же сделать сиколл на плюсах , аннотацией или там кп стдколл
И дёргать уже плюсы

Dmitry
08.11.2016
08:45:14
@notxcain да пиши ты микросервис

Denis
08.11.2016
08:45:25
да я то написал уже

Dmitry
08.11.2016
08:45:28
сидит там jni обмазывается..

Denis
08.11.2016
08:45:32
не не

Dmitry
08.11.2016
08:45:33
? ну и все

Daniel
08.11.2016
08:48:26
приперло к шустрой математике и что-то вылизанные годами либы с jni вели себя не феерично лучше, чем собственное array-образное решение.
Копирование очень много сжирает =(
Пришлось отдельным сервисом делать. С другой стороны, имхо, даже более опрятно получилось, чем ожидал.

Google

Vladimir
08.11.2016
08:50:37
Сейчас вроде openCV и https://github.com/deeplearning4j/nd4j много готовых биндингов для математики и иже с ним дают

Evgeniy
08.11.2016
09:49:49

Nikolay
08.11.2016
09:50:37
может быть кто-то подскажет? https://scalafiddle.io/sf/Zq7gU0t/0 такая практика для тестирования нормальная?
когда выносим тестируемую логику в трейт и делаем все protected, а потом тестовый класс extends этот самый трейт

Mikhail
08.11.2016
09:57:36
Выносить или не выносить в трейт под протектед - не должно зависеть от тестов. А когда ты уже принял решение о выносе, то только от тебя и конкретной бизнес логики зависит, что тебе надо тестировать doEverything || (doFirst && doSecond), а если тебе надо (дуФирст и дуСеконд) протестить и они под протектедом - то тебе и деваться некуда, кроме как заэкстендить трейт - это нормально, если это следствие трейта, а не причина

Daniel
08.11.2016
09:58:37

Nikolay
08.11.2016
10:00:07
ну, сейчас все в одном объекте в виде private методов. Но я не хочу чтобы пользователю были доступны какие-то методы из объекта, кроме doEverything. тестировать мне в большей степени нужно как раз doFirst и doSecond

Mikhail
08.11.2016
10:00:31
я бы розгами хлестал любителей приватных методов)

Nikolay
08.11.2016
10:00:46
я буду иметь в виду

?Ivan
08.11.2016
10:02:04

Mikhail
08.11.2016
10:03:14
паблика и протектед за глаза. когда встречаешь ситуацию с приватным который очень надо переписать - вот прям очень, а он приватный потому что автор кода так решил по его личному субьективному мнению, со всеми вытекающими - всегда вспоминаешь добрыми словами этого автора

Ivan
08.11.2016
10:04:07
Жестт

Mikhail
08.11.2016
10:04:32
когда этот приват используется в одном методе - хрен с ним, один метод не трудно переписать. а когда эти любители тыкают приватный и потом используют его в десятке других методов - вот это жесть начинается
учитывая, что людей не очень то учат различать где действительно применимы приватки - я бы предпочел, чтобы большинство забыло приватки)

Борис
08.11.2016
10:06:27
что мешает его сделать потом протектед?

Mikhail
08.11.2016
10:06:59
кого приватку? в скомпилированном коде без исходников?
так-то ничего конечно не мешает в байткоде покопаться и биты поменять

Борис
08.11.2016
10:07:40
ну это очень специфичный случай

Mikhail
08.11.2016
10:09:26
этих специфичных случаев повидал вагон и маленькую тележку)

Борис
08.11.2016
10:09:52
значит опыт у тебя такой специфичный)

Google

Юрий
08.11.2016
10:10:09
плюсую за приватные методы
тоже много раз матерился по этому поводу
у private есть случаи, когда он в тему. Но их очень мало

Nikolay
08.11.2016
10:11:14
я все таки плюсую за то, что это специфичный случай

Mikhail
08.11.2016
10:12:45
да я и сам приватки нет нет да использую, только джунам не рассказывайте про них. да и миддлам лучше не надо. а помидорчики и так знают когда их можно лепить

folex
08.11.2016
10:13:05
если ты пишешь библиотеку, и оборачиваешь какие-то потенциально overridable методы в private, то ты как минимум пёс
а то и хуже

Ivan
08.11.2016
10:14:04
Вы понимаете что любой паблик или протектед значительно прчм нереально снижает читаемость кода?

Bulbu
08.11.2016
10:14:06
да, применимо к библиотекам лишь

Nikolay
08.11.2016
10:14:13

Bulbu
08.11.2016
10:14:47
а так - чем уже интерфейс, тем удобнее

Nikolay
08.11.2016
10:15:01
да, private дает однозначное понимание, что этот метод используется только и только тут

Mikhail
08.11.2016
10:15:24

Nikolay
08.11.2016
10:15:30
более того, это скорее всего кишки, детали реализации, которые автор не хотел бы чтобы кто-то менял

folex
08.11.2016
10:15:48

Nikolay
08.11.2016
10:15:57
а кишки?

folex
08.11.2016
10:16:24
потом оказывается, что какой-нибудь preConnectWriteUdidnExpectItToBeUsedAtAll тебе ОЧЕНЬ нужно изменить, а он private
и что происходит в такой ситуации? Копируется код в проект
это если код есть :)

Google

Mikhail
08.11.2016
10:16:41
приватка имеет место быть если она используется исключительно в одном месте, при использовании больше чем в одном месте - в 99% предпочтительнее протектед

folex
08.11.2016
10:19:10
А можно как-то потребовать, чтобы аргумент функции был stable значнием? Как при паттерн матчинге

Mikhail
08.11.2016
10:20:22
вот вам еще кейсик def method(){ ... private_method(); ... } и там приваточка на пару десятков строк. и хрен бы с ней - тебе ее не надо переопределять. но тебе надо слегка изменить тот method который использует эту приваточку. вот вам и добрые словечки на ум придут тут же
потому что приваточку ты уже использовать не сможешь и тебе придется копипастить лапшишку полученную при декомпиляции
да и даже если не лапшишка и есть исходники, но нет права изменять библиотеку ту - все равно тащить копию метода - жесть

folex
08.11.2016
10:23:53
http://www.scala-lang.org/files/archive/spec/2.11/08-pattern-matching.html#stable-identifier-patterns
(впервые кидаю ссылку на спеку)
Mikhail на практике можно это увидеть, если например пытаешься написать что-то вроде case s"something is $some" =>

Viacheslav
08.11.2016
10:25:06
кто-нибудь собирал плеешные проекты гредлом?

Vladislav
08.11.2016
10:27:05

folex
08.11.2016
10:27:45
или нет

Mikhail
08.11.2016
10:27:57
> @folexeyy
если
а как ты хочешь чтобы это выглядело для аргумента? потому что я пока не понимаю, чего ты добиться хочешь этим)

folex
08.11.2016
10:28:57
ну типа у меня есть метод, он принимает стрингу. Он много где юзается, и кое-где он вызывается с interpolated string, а я хочу запретить :)
и оставить только "константы времени компиляции"

Mikhail
08.11.2016
10:29:30
никак)

folex
08.11.2016
10:29:44
ну скорее всего да
в макросах наверное можно, но это не мой путь

Mikhail
08.11.2016
10:31:33
представь себе ситуацию, что ты используешь этот метод как значение и передаешь куда-нибудь, а тот другому и т.д. это же сколько вероятностных цепочек должен размотать компилятор, чтобы гарантировать подобный запрет) а есть те варианты которые он вобще не сможет просчитать, поэтому даже исходя из идеологических соображений - такое представляется маловероятным

folex
08.11.2016
10:32:19
меня устроит работа без поддержки HOF
но я понимаю о чем ты, да