
Alexandr
28.04.2018
16:42:12

Anton
28.04.2018
16:43:58


Roman
28.04.2018
16:46:16
На кури, https://www.techempower.com/benchmarks/. Если шибко умный - у тебя все шансы стать звездой. И я нигде не говорил, что Go плох. На данный момент, он решает нудные задачи, как когда-то php. Вот собственно и все. Но если нужно что-то серьезное - go будет в пролете, субъективное мнение
Дима, может хватит на личности постоянно переходить)) давай уж на более позитивной ноте чтоли беседовать в субботу то))
Я сам много работал на C++ и использовал бы его только тогда, когда нужно 100% performance. Как уже многократко и везде упоминалось: человекочасы зачастую дороже железа. Если я могу написать что-то на Go и поставить 2 машины, нежели писать всё на C++, то я возьму Go, C++ только в самом крайнем случае.
а PHP... он и в африке PHP, убогий, старый, неуклюжий, медленный, и всё никак не вымрет потому-что простой до ужаса)
но споры по языкам они конечно чаще всего бессмысленны) лучше на кодинг время потратить)

Google

FRD Official - Dmitriy
28.04.2018
16:51:00
Дима, может хватит на личности постоянно переходить)) давай уж на более позитивной ноте чтоли беседовать в субботу то))
Я сам много работал на C++ и использовал бы его только тогда, когда нужно 100% performance. Как уже многократко и везде упоминалось: человекочасы зачастую дороже железа. Если я могу написать что-то на Go и поставить 2 машины, нежели писать всё на C++, то я возьму Go, C++ только в самом крайнем случае.
а PHP... он и в африке PHP, убогий, старый, неуклюжий, медленный, и всё никак не вымрет потому-что простой до ужаса)
Где я на личности перешел? Если был груб - извини. Но вроде все сказал, что хотел. И если ты думаешь, что я пытаюсь тебя как-то третировать, ты точно ошибся.


Roman
28.04.2018
16:53:28
я тоже так считаю, к сожалению в Германии 90% всех контор малого и среднего размера приоризируют "старый добрый и проверенный PHP", постепенненько увелчивается доля JavaScript. Более менее большие конторы (хотя их Германии не много, это не IT страна к сожалению) пишут на Java, который я тоже лично призераю. C++ часто можно встретить в авто индустрии, чаще во фронтэнде
Go пока нигде здесь не встречал, пишу на нём лишь потому-что самостоятелен и сам-себе-менеджер

FRD Official - Dmitriy
28.04.2018
16:59:02

Olzhas
28.04.2018
17:00:25

FRD Official - Dmitriy
28.04.2018
17:00:48
Их очень НУЖНО, использовать в той нише, для которой они изначально предназначены

Olzhas
28.04.2018
17:01:05

FRD Official - Dmitriy
28.04.2018
17:01:26

Olzhas
28.04.2018
17:01:51

FRD Official - Dmitriy
28.04.2018
17:01:56

Roman
28.04.2018
17:02:27
Жабу то за что презирать
личная неприязнь, так сложились эмоцианальные ассоциации. Слишком прожорливый, слишком многословный, требует JVM..

FRD Official - Dmitriy
28.04.2018
17:03:18

Olzhas
28.04.2018
17:04:29

Google

Roman
28.04.2018
17:05:06
Зато она принесла жвм
ох, уж лучше бы не приносила))) зачем Virtual Machine, если можно как Go компилить runtime в бинарь?

Olzhas
28.04.2018
17:05:06

FRD Official - Dmitriy
28.04.2018
17:07:30

Olzhas
28.04.2018
17:08:02
Хоть на пхп, хоть на жабе хоть на го
Постепенно проект превращается в монстра с миллионами строк

Roman
28.04.2018
17:08:50

Olzhas
28.04.2018
17:08:52
И никто не знает в точности как он работает

FRD Official - Dmitriy
28.04.2018
17:10:09

Roman
28.04.2018
17:10:16

Kirill
28.04.2018
17:10:30
а почему пхп медленный? в продакшене бегает сравнимо с дотнетом
дотнетом конечно сам клей жует на завтрак
в разы быстрее питона
в режиме простоя не ест памяти, иногда полезно

Olzhas
28.04.2018
17:11:09

FRD Official - Dmitriy
28.04.2018
17:11:10

Kirill
28.04.2018
17:11:28

Olzhas
28.04.2018
17:12:13
поясни плиз
В некоторых случаях необходима скорость разработки

FRD Official - Dmitriy
28.04.2018
17:12:17

Olzhas
28.04.2018
17:12:29
Если делать монолитом, то код быстрее пишется
К примеру у нас есть приложение на спринге, монолит

Google

FRD Official - Dmitriy
28.04.2018
17:13:23

Olzhas
28.04.2018
17:13:33
Работает и ладно, кода много, но лично я хз как делить его на микросервисы и не вижу в этом смысла
Просто куча форм

Den
28.04.2018
17:14:03
вы минимальный пример сделайте
Александр, я сейчас проверил, проблема у меня возникает при чтении данных из файла, если я переменную задаю в коде то все ок, помогите, может кодировка не та.

Olzhas
28.04.2018
17:15:16
Кроме криптографии

FRD Official - Dmitriy
28.04.2018
17:15:33

Olzhas
28.04.2018
17:16:16

Roman
28.04.2018
17:16:17

Olzhas
28.04.2018
17:16:32
Микросервисы нужны когда не просто монолит большой
А когда приложение можно разделить на несколько частей, которые мало влияют друг на друга

Roman
28.04.2018
17:19:28
модульный монолит можно запросто превратить в микросервисы. Сейчас мы например работаем по тому принципу, что у нас GraphQL API, которая резолвится абстрактным интерфейсом движка, функции которого можно имплементировать в разных конкретных движках.
на данный момент у нас 2 движка, mock_engine движок который в ОЗУ работает и neo_engine на Neo4j бэкэнде..
по сути этот API представляет собой Gateway в микросервисной архитектуре. По мере роста проекта определённые части графа и функции движка можно распределять на отдельные микросервисы

Olzhas
28.04.2018
17:20:34
Теоретически мы можем разделить нынешнее приложение на микросервисы
Довольно просто

Roman
28.04.2018
17:20:49
делить до тех пор, пока монолит не превратится в gateway

Olzhas
28.04.2018
17:21:00
Но проблема в том что оно нужно было вчера
И монолит в этом отношении было быстрее сделать
Так то я вижу что можно разделить приложение в данный момент минимум на 6 частей
Но мы уже не получим денег за него, так как проебали все сроки

Google

Roman
28.04.2018
17:23:08
начинать с микросервисов, я считаю - ошибка.
лишний overhead коммуникации, лишняя сложность в деплойменте
имеет смысл начинать с микросервисов если команда большая и разнообразная, а не стартап на ранних стадиях развития или микроконтора)

Olzhas
28.04.2018
17:23:19

FRD Official - Dmitriy
28.04.2018
17:26:23

Anton
28.04.2018
17:29:59
далеко не всем нужно горизонтальное масштабирование

FRD Official - Dmitriy
28.04.2018
17:30:13

Den
28.04.2018
17:31:10
Помогите, даю гошке через стринговую переменную JSON DUMP, анквотится, гружу через файл не анквотится. В какой кодировке нужно кормить файлом

Olzhas
28.04.2018
17:31:24

Admin
ERROR: S client not available

Anton
28.04.2018
17:32:34
примеров не приведу но по моим наблюдениям >90% веб-сайтов не вырастают до состояния когда одного современного сервера (с базой вынесенной на соседний серврер) не хватает и нужно распиливать приложение на кластер микросервисов.

FRD Official - Dmitriy
28.04.2018
17:34:42

Den
28.04.2018
17:43:38
Не знаете?

FRD Official - Dmitriy
28.04.2018
17:44:57
Не знаете?
Вроде го все вкуривает в юникоде. Может в play?

Roman
28.04.2018
17:45:09

Den
28.04.2018
17:45:45

Anton
28.04.2018
17:47:59
ну и горизонтальное масштабирование возможно без микросервисов. Если все данные вынесены в базу/redis/memcached e.t.c. то просто запускаем параллельно N копий монолита и балансируем пользователей.

FRD Official - Dmitriy
28.04.2018
17:48:15

Anton
28.04.2018
17:54:09
точка отказа тут база данных и решается эта проблема похоже что для монолита, что для микросервисов

Google

Человек
28.04.2018
17:55:59
Как записывать файл не перезаписывая его?

Den
28.04.2018
17:56:27

Anton
28.04.2018
17:58:18

FRD Official - Dmitriy
28.04.2018
17:58:42

Den
28.04.2018
17:59:09

Anton
28.04.2018
17:59:25
шардинг - точно так же как в случае баз которые не в памяти (но опять таки это ортогонально с микросервисами)

Roman
28.04.2018
17:59:43


Den
28.04.2018
18:02:28
Ты только что привел список bd, оперирующих (в основном) в памяти, ты как их масштабировать собираешься? Переписывать менеджер памяти в ОС? ? Торвальдс, ты когда русский выучил?
Normal: {\"channel\":\"buu\",\"name\":\"john\", \"msg\":\"doe\"}
Quoted: "{\\\"channel\\\":\\\"buu\\\",\\\"name\\\":\\\"john\\\", \\\"msg\\\":\\\"doe\\\"}"
Unquoted: {\"channel\":\"buu\",\"name\":\"john\", \"msg\":\"doe\"}
Unmarshalling Normal...
| Errors: invalid character '\\' looking for beginning of object key string
| main.Msg{Channel:"", Name:"", Msg:""}
Unmarshalling Quoted...
| Errors: json: cannot unmarshal string into Go value of type main.Msg
| main.Msg{Channel:"", Name:"", Msg:""}
Unmarshalling Unquoted...
| Errors: invalid character '\\' looking for beginning of object key string
| main.Msg{Channel:"", Name:"", Msg:""}
Вот вывод если делать через файл
Normal: {"channel":"buu","name":"john", "msg":"doe"}
Quoted: "{\"channel\":\"buu\",\"name\":\"john\", \"msg\":\"doe\"}"
Unquoted: {"channel":"buu","name":"john", "msg":"doe"}
Unmarshalling Normal...
| main.Msg{Channel:"buu", Name:"john", Msg:"doe"}
Unmarshalling Quoted...
| Errors: json: cannot unmarshal string into Go value of type main.Msg
| main.Msg{Channel:"", Name:"", Msg:""}
Unmarshalling Unquoted...
| main.Msg{Channel:"buu", Name:"john", Msg:"doe"}
вот через стринговую переменную


FRD Official - Dmitriy
28.04.2018
18:07:32
хмм, честно гря не понял
Допустим, у тебя в монолите есть табличка с пользователями, табличка с их ролями и куча остальных таблиц. В случае монолита, такие вещи решаются на уровне запросов к db, а как ты отрулишь это на нескольких сервисах и нескольких db? Единственный правильный ответ - поднимешь бизнес-логику с уровня db, на уровень обработчиков. Теперь представь себе объем работ

Человек
28.04.2018
18:17:41
Или просто добавлять в него ""

Anton
28.04.2018
18:19:06
ну тогда просто проверять что файл есть и не трогать (если нет - записать)

Человек
28.04.2018
18:23:24
Можно же просто ничего не добавлять, че я так затупил. делать append("")

Den
28.04.2018
18:40:44