
Viacheslav
04.02.2018
21:32:29
?

Igor
04.02.2018
21:32:41
главное не заплакать

Viacheslav
04.02.2018
21:33:00
#ямужественный
к нам кстати дата саентист пришел с гугла, работал на галерах на аутсорсе, интересные истории рассказывает

Google

Viacheslav
04.02.2018
21:36:14
http://900igr.net/up/datai/257841/0013-013-.jpg
жги

Artem
04.02.2018
21:47:44
А меня снегом занесло.

Viacheslav
04.02.2018
21:49:20
http://wallpaper-yaport.ru/baza/2010/02/09/c1f886da7def697d73d5ae857752d1ee.jpg
самое время освежить знания по акке ;)

Andry
04.02.2018
21:56:51

Alexey
04.02.2018
22:09:34
скалисты в школу не пойдут завтра?))

Diemust
04.02.2018
22:28:29
а кто знает, если юзать, скажем, EitherT, то каким способом можно комбайнить ошибки, если например
def a1(): EitherT[F, Error1, B]
def a2(): EitherT[F, Error2, B]
def a3(): EitherT[F, ???, B] = for {
res1 <- a1
res2 <- a2
} yield a1 + a2

Nikolay
04.02.2018
22:30:56
нет общего типа у ошибок?
и какой тип ты ожидаешь увидеть там где ???
например так можно
import cats.syntax.either._
def a1(): EitherT[F, Error1, B]
def a2(): EitherT[F, Error2, B]
def a3(): EitherT[F, String, B] = for {
res1 <- a1.leftMap(_.getMessage)
res2 <- a2.leftMap(_.getMessage)
} yield a1 + a2

Diemust
04.02.2018
22:38:28

Google

Diemust
04.02.2018
22:39:23
с общим типом нет особых отличий, что и Throwable использовать

Igor
04.02.2018
22:40:04
да хотя че я, я же знаю ответ заранее, естественно да XD

Artem
04.02.2018
22:42:33
А тюбинг в деревне. А я в городе.

Viacheslav
04.02.2018
22:47:44
у нас травка зазеленела... надо как-то придумать оправдание что на работу забил в знак солидарности...
с московскими школьниками

Nikolay
04.02.2018
22:57:47
в идеале хотелось бы увидеть Error1 OR Error2
import cats.syntax.either._
def a1(): EitherT[F, Error1, B]
def a2(): EitherT[F, Error2, B]
def a3(): EitherT[F, Either[Error1, Error2], B] = for {
res1 <- a1.leftMap(Left(_): Either[Error1, Error2])
res2 <- a2.leftMap(Right(_): Either[Error1, Error2])
} yield res1 + res2
некрасиво, но я думаю что идея понятна)
Left(_): Either[Error1, Error2] - это можно заменить на helper функции чтобы помочь правильно тип вывести
вот так не уверен что выведет
import cats.syntax.either._
def a1(): EitherT[F, Error1, B]
def a2(): EitherT[F, Error2, B]
def a3(): EitherT[F, Either[Error1, Error2], B] = for {
res1 <- a1.leftMap(Left(_))
res2 <- a2.leftMap(Right(_))
} yield res1 + res2

Ilya
04.02.2018
23:23:00
Google "Scala union types" ;)

Александр
04.02.2018
23:30:54

Vadim
05.02.2018
04:26:26

Alex
05.02.2018
04:39:17
они и в 2018 никому не нужны, лол.

Sergey
05.02.2018
04:58:09
"Старый" программист которого никуда не берут - это значит что его Знания устарели, Навыки ослабли.
Работодателям не важен возраст.

Gennady
05.02.2018
05:08:05

Vadim
05.02.2018
05:08:18

Gennady
05.02.2018
05:08:26

Viacheslav
05.02.2018
05:09:59

Gennady
05.02.2018
05:10:38
мейби, но до 30 все одинаково глупенькие
веселый выбор

Google

Oleg
05.02.2018
06:45:47

Aleksey
05.02.2018
07:24:49
Не могу называть на «ты» людей старше 50. И только по имени-отчеству. Даже родителей по имени-отчеству. Мне кажется люди в возрасте сильно меняют атмосферу в коллективе. До 50 ок. Думаю их надо в отдельные команды объединять где будут востребованы годы опыта, а не вместе молодежью скрам-скрам в продакшн.

Александр
05.02.2018
07:27:14
ага
классные ребята, в Тольяти постоянно scala-akka ищут на 30 или 40к

Gennady
05.02.2018
07:27:41
глубокая провинция, что тут сказать
там слишком много работодателей, убедивших что и так норм
зато при переезде в мск/спб можно рассчитывать на прирост в 3 раза)

Александр
05.02.2018
07:29:17
минимум

Gennady
05.02.2018
07:30:55
ну это от продуктивности зависит. Есть люди которым грешно повышать, с намеком «вон из профессии»

Oleg
05.02.2018
08:10:50

Vadim
05.02.2018
08:15:14

Andrey
05.02.2018
08:47:00
Чат, поделитесь, кто чем пользуется для прогона e2e, ui автотестов в командах нынче?

Alexander
05.02.2018
08:49:19

Andrey
05.02.2018
09:55:16
Мне начинает нравится Скала. Понравилось как классы спутники сделаны, они очень похожи на метаклассы из руби, но без магии и удобнее

Nikolay
05.02.2018
09:56:00
есть в java аналоги python -m http.server?

KrivdaAllStars
05.02.2018
09:56:22

Nikolay
05.02.2018
09:56:39
просто отдавать статический контент из указанной папки. вероятнее всего локально

Andrey
05.02.2018
09:57:08
Scala. Профессиональное программирование

Nikita
05.02.2018
10:12:17

?Ivan
05.02.2018
10:12:18

Andrey
05.02.2018
10:12:51
class и object

Google

Oleksiy
05.02.2018
10:13:08
Спутник єто русский браузер.

Daniel
05.02.2018
10:13:42

?Ivan
05.02.2018
10:14:43
поисковик кстати жив, тебе должна понравится картинка у них сейчас.

Daniel
05.02.2018
10:15:42
сычик
а браузер предлагают скачать
поторопился я хоронить

Александр
05.02.2018
10:16:05
на работу ПО проситься с фамилией Королев
это знак

Nikolay
05.02.2018
10:16:54

Oleksiy
05.02.2018
10:17:04

Nikolay
05.02.2018
10:18:30

Wystan
05.02.2018
10:18:32
вроде бы очевидно, что метапрограммирование - это наоборот очень плохо. Оно нужно тогда, когда не хватает возможностей языка

Andrey
05.02.2018
10:20:08

A64m
05.02.2018
10:20:09
ну потому оно и должно быть, потому что всегда где-нибудь возможностей языка не хватит, а тут - ура - есть костыль на такой случай

Wystan
05.02.2018
10:23:06
Ну я вот про такие примеры: http://acm.mipt.ru/twiki/bin/view/Ruby/RubyCourseLecture10
Мне просто никогда не понятны были фичи языка, под которым руби пытались продать. Это один из первых языков на котором я что-то писал, но почему он так сделан так и не понял. А вот когда посмотрел курс Одерски, все сразу стало понятно. теперь только скала ?

Andrey
05.02.2018
10:25:44
Руби по своему прекрасен

Oleksiy
05.02.2018
10:26:02

A64m
05.02.2018
10:26:07
а почему скала так сделана?

Wystan
05.02.2018
10:26:45
Ну в курсе Одерски есть мотивация к каждой фичи, экскурс в ФП, что он это не придумывает.

Google

Wystan
05.02.2018
10:27:15
https://www.youtube.com/watch?v=ecekSCX3B4Q - вот пример

Alexander
05.02.2018
10:30:24
есть в java аналоги python -m http.server?
в стандартной либе прямо нет. надо будет много руками писать. я бы взял нетти или undertow. у нетти, по-моему прямо в примерах было, как раздавать статический контент. на undertow наверняка тоже прямо в мане/примерах есть

Nikolay
05.02.2018
10:41:26

Юрий
05.02.2018
10:43:02

Nikolay
05.02.2018
10:43:56
не знаю, парень против системы видимо пошел)
ну если скопипастить в REPL, то работает на самом деле
мне просто не хочется зависимости тянуть

Daniel
05.02.2018
10:45:08

Alexander
05.02.2018
10:46:32

Nikolay
05.02.2018
10:47:20