
Yuri
14.01.2018
20:38:21
параллельные колекции решили бы чать вопросов

Alexander
14.01.2018
20:38:29
мб стоит распределенные вычисления задействовать?
обработку файлов
по сети на нескольких машинах

Google

Yuri
14.01.2018
20:39:12

Alexander
14.01.2018
20:39:25
микросервисы + очереди
дело не в пакете

Yuri
14.01.2018
20:39:53
а, окей
задача как таковая решена, решение довольно сложное
ищется метод упращения

Alexander
14.01.2018
20:41:19
просто если я так понял нужно быстро и надежно, то к примеру:
1. микросервис дерижер отдает и мониторит задачи
2. файловый микросервис
3. микросервис обработки данных
все, что то упало, зафиксировали - запустили на другом обработчике

Yuri
14.01.2018
20:41:50
да
примерно все так

Александр
14.01.2018
20:42:39
пойду я спать ?

Alexander
14.01.2018
20:42:50
очереди для взаимодействия микросервисов - можно использвовать rabbitmq или nats (но он не умеет сохранять на диск, зато адски быстр)
для файловых микросервисов вроде даже готовые решения есть, типа ситевых дисков

Google

Yuri
14.01.2018
20:44:17
ладно, спасибо вам, добрые гоферы, есть над чем подумать ?

Alexander
14.01.2018
20:44:51

Alexey
14.01.2018
20:44:53
А почему решение на горутинах выглядит хрупким то?
То есть, какой мысленный эксперимент приводит к краху системы?

Alexander
14.01.2018
20:45:44

Yuri
14.01.2018
20:46:09

Alexey
14.01.2018
20:46:21
Это же не 100к

Yuri
14.01.2018
20:46:59
верно 10

Alexander
14.01.2018
20:47:11

Alexey
14.01.2018
20:48:18
Проблему отключения питания нужно решать логикой работы с данными, а не методами распараллеливания же.
Транзакционность нужна.

Alexander
14.01.2018
20:48:41

Alexey
14.01.2018
20:48:54
Чтобы в случае краха можно было откатить нетронутый файл.

Yuri
14.01.2018
20:49:05
да я сам бы плюсанул, если мог бы ее обеспечить

Alexey
14.01.2018
20:49:16
А уж 10 потоков или 10к это без разницы
Тем более если это 10к зеленых потоков, легковесных, а не системных.

Alexander
14.01.2018
20:50:02
просто иногда построенная архитектура и логика работы не дают должного удовлетворения от проделанной работы)

Alexey
14.01.2018
20:50:06

Google

Yuri
14.01.2018
20:50:16
пока что потеря сведена к 1к строк из файла, это терпимо, и проблема не в этом, проблема в довольно сложном коде

Alexey
14.01.2018
20:50:31
Хоть ты на кластере ерланг-серверов его сделай.

Alexander
14.01.2018
20:50:51

Alexey
14.01.2018
20:51:33
Перепиши на ерланге :-)

Yuri
14.01.2018
20:51:52
хаха, мы его убирали пару лет назад
но не суть

Alexander
14.01.2018
20:52:56
Как то пришел я в проект, а там либа на C++, открываю ее исходники а там все переменные и методы 1-3 буквой названы... в итогде через год полностьб переписали, никто не понимал что там внутри, а размер этой лапшы около 80к строк кода и без комментов)))
вот это был ад)

Yuri
14.01.2018
20:53:42
как говорится все javascript кроме php

Alexander
14.01.2018
20:53:48
)))

Yuri
14.01.2018
20:55:25
сейчас уже есть elixir

Alexey
14.01.2018
20:55:33
ну, он своеобразный, да.

Yuri
14.01.2018
20:55:41
но работать с таймзоной там все равно приходится через erlang

Alexey
14.01.2018
20:55:44
а элексир же только синтаксисом отличается. а синтаксис - ничто.

Alexander
14.01.2018
20:56:27
я тут D хотел изучить, но некотрые его конструкции меня насторожили сильно
не могу перестроит мышление
что типа
a.hi это может быть hi(a)... или что-то в этом роде

Sergey
14.01.2018
20:57:23

Alexey
14.01.2018
20:57:42
попробуй Аду :-D

Google

?
14.01.2018
20:58:08
C++ top

Alexey
14.01.2018
20:58:09
Хотя, нонче модно Kotlin юзать везде. Стильно! Модно! Молодежно!

Alexander
14.01.2018
20:58:16

Yuri
14.01.2018
20:58:21
а раст то хорош, обязателен к прочтению

Sergey
14.01.2018
20:58:25
сейчас же модно писать всё на джаваскрипте

Alexander
14.01.2018
20:58:39

Sergey
14.01.2018
20:58:41
throll mode on

Alexey
14.01.2018
20:59:09

Yuri
14.01.2018
20:59:10
рифма на слово гуи

Admin
ERROR: S client not available

Alexander
14.01.2018
20:59:28

Alexey
14.01.2018
21:00:03
ну, плюс биндинги

Sergey
14.01.2018
21:00:33
ну так-то биндинги и к Qt/GTK есть наверняка

Alexey
14.01.2018
21:00:37
и плюс всякое ориентированное под игры

Alexander
14.01.2018
21:00:55

Alexey
14.01.2018
21:01:25

Alexander
14.01.2018
21:02:15

Google

Alexander
14.01.2018
21:02:23
как он это все упаковывает в бинарь

Alexey
14.01.2018
21:02:59
Kotlin имеет три варианта компиляции: в jvm bytecode, в js и в native.

Alexander
14.01.2018
21:03:37

Alexey
14.01.2018
21:03:55
В каждом из трех случаев биндинги у тебя будут (и ты будешь делать если надо) к тому, что нативно для данной конкретной платформы.
Внезапно у c++ также. Или там у Go. Когда ты компилишь go в js, то, очевидно, биндинги у тебя к js-либам.

Alexander
14.01.2018
21:04:47
ох... кто-то go в js копилит?

Alexey
14.01.2018
21:05:08
ну, проект есть, видимо да. я пробовал - работает
https://github.com/JetBrains/kotlin-native/tree/master/samples
https://kotlinlang.org/docs/reference/native-overview.html

Alexander
14.01.2018
21:06:31
все равно смотрю Kotlin и Java боль от Android вспоминается)
а go в js прикольно, только не понятно зачем это нужно

Alexey
14.01.2018
21:07:35
чтобы на недотипизированном лапшееобразном js не писать, очевидно же

Alexander
14.01.2018
21:08:06
так TS есть

Alexey
14.01.2018
21:08:41
а они один фиг опционально нормально типизирован, а в среднем - недотипизирован
и вообще, нафига плодить языки, если можно и на серваке и в браузере единый ЯП юзать? :-)

Alexander
14.01.2018
21:09:06
)))
а как горутины в js интересно

Alexey
14.01.2018
21:09:17
единый НОРМАЛЬНЫЙ язык

Alexander
14.01.2018
21:09:23
или не поддерживаются
через промисы
или event loop

Alexey
14.01.2018
21:09:56
What is supported?
Nearly everything, including Goroutines