@scala_ru

Страница 214 из 1499
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 угорел

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
Я думал в раст нет функциональщины
туда даже может high kinded types занесут https://github.com/rust-lang/rfcs/issues/324

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
Сейчас вроде openCV и https://github.com/deeplearning4j/nd4j много готовых биндингов для математики и иже с ним дают
У них баги местами просто тупые в апи. Никогда не знаешь где наступишь. Еще очень поравилось чтение из текстового файла. Лишь в сорцах уже нашел, что там предполагается хедер с метаинформацией.

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
я буду иметь в виду

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
да, применимо к библиотекам лишь

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
более того, это скорее всего кишки, детали реализации, которые автор не хотел бы чтобы кто-то менял

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% предпочтительнее протектед

Вы понимаете что любой паблик или протектед значительно прчм нереально снижает читаемость кода?
а ты понимаешь, что негоже в один класс пихать 100 методов? а при 10 методах +-1 на читаемость никак не влияет

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

но я понимаю о чем ты, да

Страница 214 из 1499