@scala_ru

Страница 1188 из 1499
Jey
10.01.2018
22:20:10
Один виток петли планирования есть :з

Grigory
10.01.2018
22:20:34
Один виток петли планирования есть :з
Ты давай факты а не баян годовалый скучно уже

Alex
10.01.2018
22:20:41
это где?

Jey
10.01.2018
22:21:04
Google
Grigory
10.01.2018
22:21:35
Скоро будут факты
Тогда ж когда курсир сможет резолвить все видимо

Jey
10.01.2018
22:22:56
Поправь без мата а то нас дети читают
А то дети-то ничего не знают

Хотя я вроде диая никогда не обещал

Чего уж "баян"-та, э?

Grigory
10.01.2018
22:24:56
Чего уж "баян"-та, э?
Баян не про ди ай

Jey
10.01.2018
22:25:29
А про шо?

Arseniy
10.01.2018
22:32:46
привет. а можно глупый вопрос? есть какой-то изкоробочный примитив для джавого try-with-resources или using из C#? то, что можно сдалать понятно, но в стандартной библиотеке есть что-то? или все раз за разом пишут сами?

Jey
10.01.2018
22:49:19
есть скала арм

scala-arm

Такой де-факто стандарт

KrivdaTheTriewe
10.01.2018
22:51:03
Такой де-факто стандарт
Latest commit 7b990c0 on Nov 16, 2016 @jsuereth jsuereth update readme.md now that 2.0 is propogating

Google
KrivdaTheTriewe
10.01.2018
22:51:14
Неподдерживается

Jey
10.01.2018
22:51:33
Работает хорошо

KrivdaTheTriewe
10.01.2018
22:51:42
ну тип

там 2.13

и вдруг оно несовместимо будет

Jey
10.01.2018
22:52:04
Ну как захочется-форкни. Оно мелкое

там 2.13
Раздался стон со стороны спаркокодера

KrivdaTheTriewe
10.01.2018
22:53:25
Раздался стон со стороны спаркокодера
ну тип, я еще ресты пишу простенькие и на акке кластерные всякие штуки делаю

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

Arseniy
11.01.2018
00:02:37
scala-arm
спасибо, буду знать. почитаю, что там происходит. я открыл случайный файл там import java.util.jar.{JarInputStream, JarOutputStream, JarFile}

Jey
11.01.2018
00:03:00
всякое на гитхабе бывает

Что поделать

По крайней мере работает

Arseniy
11.01.2018
00:03:44
ну как по-мне, такие вещи должны быть в коробке. как то же самый Try[T]

кстати, вы тоже плохо относитесь к async-макросу?

Arseniy
11.01.2018
01:00:57
ну то есть, фигачить все в форы и выносить любую промежуточную логику в отдельные локальный ф-ции лучше чтоль

Google
Юрий
11.01.2018
01:11:08
В форике ты явно видишь, что синхронно, что нет

Arseniy
11.01.2018
01:11:44
в макре тоже всё видишь. видишь - авайт, значит за ним пошла континуация

Юрий
11.01.2018
01:17:08
Там визуально не так заметна разница

Все идёт в общем потоке плоских вызовов

Arseniy
11.01.2018
01:20:06
так в этом и есть цель. снять боль от ассинхронного программирования. сделав его максимум линейным

ничего особого ты из них не строишь, кроме очереди вызовов

чего ты там хочешь видеть в "явном виде"

Юрий
11.01.2018
01:56:34
Где синхронные вызовы, где нет

Arseniy
11.01.2018
01:58:27
Где синхронные вызовы, где нет
ну и какую информацию ты из этого выцепляешь?

вот ты увидел, что есть метод, в нем 5 ассинхронных вызовов, дальше что?

Юрий
11.01.2018
01:59:34
Ну скорее не так

Могу пример привести

Юрий
11.01.2018
02:01:32
Апи hdfs синхронное. Изначально, мы ходили на него синхронно и не оборачивали вызовы ни в какой тред пул. А потом я увидел как-то такой синхронный вызов и понял, что пора его обернуть в требпул.

Благодаря тому, что там явно видно, что внутри форика, что нет - такие моменты легче обнаружить

Arseniy
11.01.2018
02:03:54
ну и чем тебе форик-то помог?

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

Юрий
11.01.2018
02:04:54
Помог тем, что вызовы апи hdfs были не в нем и это бросилось в глаза

Arseniy
11.01.2018
02:05:15
и чтобы заметить то, о чем ты говоришь, придецца побегать по всем телам этих ф-ций.

а какбэ ф-ция - это единица абстракции и инкапсуляции, и при нормальном названии, у тебя не должно возникать желания лезть внутрь

Google
Юрий
11.01.2018
02:06:03
Ну и в итоге же из этих функций тоже будет торчать фьюча или не фьюча

Arseniy
11.01.2018
02:06:06
в отличии от чтения той же самой линейно портянки

и них и торчат фьючи, но вот твой синхронный вызов, который ты зарефакторил, там будет точно таким же, только скрытым за именем локальной ф-ции

Юрий
11.01.2018
02:07:30
Ну хз, без конкретных примеров это спор ни о чём

Arseniy
11.01.2018
02:07:43
да не, спор предметный

Юрий
11.01.2018
02:07:44
Меня форики всегда радуют

Ну, кроме моментов с монад траесфррмерами, но там уж наверное ничего не поделаешь

Arseniy
11.01.2018
02:08:55
асинк, позволяет юзать весь арсенал скалы. а форик заставляет выдумываеть имена (как мы знаем одна из двух сложнейших проблем в разработке) и раздувать код за счет параметров.

потому что всё, что ты мог замкнуть, ты в форике должен передать явно

Юрий
11.01.2018
02:10:15
асинк, позволяет юзать весь арсенал скалы. а форик заставляет выдумываеть имена (как мы знаем одна из двух сложнейших проблем в разработке) и раздувать код за счет параметров.
Я предпочиу пачку маленьких функций большой портянке текста. Ну и по своему опыту я бы не сказал, что часто так делал.

Admin
ERROR: S client not available

Юрий
11.01.2018
02:11:04
Всм часто разбивал форик на функции

Обычно они и так лаконичными получаются

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

Arseniy
11.01.2018
02:14:43
обычно выходит, что на 3 строчки, которые сами по себе не имеют никакой семантики, создается локальный ф-ция тупо, чтобы обойти ограничения фора и не лепить туда уж совсем вырвиглазные конструкции

Юрий
11.01.2018
02:15:34
У меня такое очень редко случается почему-то

Arseniy
11.01.2018
02:18:08
это вопрос отношения. если ты сразу идешь по пути "нарисую микроблоки кода, обернуты ф-циями и в форе их скомпозирую", то конечно ты не столкнешься с проблемой выбора

другой вопрос, когда ты это читаешь в поисках бага, и внужден прыгать туда-сюда.

Arseniy
11.01.2018
02:23:04
как по мне, енто хороший путь, если вынесенная логика закончена и атомарна (в том смысле, что имеет четкую семантику)

Google
Arseniy
11.01.2018
02:23:29
если это просто шаг более общего процесса - это глупо

есть достаточно тупой пример. теже самы 5 ассинхронных вызовов, по окончании каждого начо че-нить написать в лог

у нас все енти 5 вызовов обернуты самодостаточными ф-циями. как будет выглядеть это логгирование в форе и как а макросе

Arseniy
11.01.2018
02:55:22
не пишу) но идея вроде должна быть ясна

Юрий
11.01.2018
03:04:09
а что мешает делать так: for { a <- callA() _ = log("a!) ... }???

Arseniy
11.01.2018
03:10:23
а что мешает делать так: for { a <- callA() _ = log("a!) ... }???
да ничего. кроме того, что мы создаем конструкцию, которая явно игнорирует значение, чтобы вызвать метод, у которого значения нет

Daniel
11.01.2018
06:03:37
Nick
11.01.2018
06:04:10
Но у него есть значение

Daniel
11.01.2018
06:05:02
претензия в том, что оно не нужно и при этом его надо явно указать как проигнорированное

Nick
11.01.2018
06:05:22
Вот оно что

Daniel
11.01.2018
06:05:44
например, в хацкелле не надо писать _ =

вроде бы даже где то мелькал sip на эту тему, но не помню чем закончилось

Nick
11.01.2018
06:10:17
“Draw a picture of a category whose only objects are the types Void, () (unit), and Bool; with arrows corresponding to all possible functions between these types. Label the arrows with the names of the functions.” Excerpt From Category Theory for Programmers Bartosz Milewski This material may be protected by copyright.

Кто нибудь рисовал?)

Denis
11.01.2018
06:11:25
Ну из воид ко всему есть стрелки, отовсюду есть к ()

Daniel
11.01.2018
06:12:05
Кто нибудь рисовал?)
новая вселенная от марвел "а ты рисовал?!" =)

Denis
11.01.2018
06:12:13
Ну и все возможные стрелки Bool -> Bool

Nick
11.01.2018
06:12:19
Ну и все возможные стрелки Bool -> Bool
Там имеется ввиду комбинации из True False ? Или что)

Denis
11.01.2018
06:13:33
f: Bool => Bool

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