
DimenSi
03.06.2018
11:37:40
ребята, как в ts описать что должна возвращать arrow function?
а то ts не понимает, что я отфильтровал

dexofan
03.06.2018
11:38:51


Morsik
03.06.2018
11:39:28
1. Программы на Go отлично масштабируются на все ядра процессора, в отличие от однопоточного nodejs. При этом не нужно извращаться с shared memory при взаимодействии между процессами nodejs, ведь в Go достаточно одного процесса, чтобы загрузить работой все ядра CPU.
2. Веб-сервер на Go отлично справляется с миллионом одновременных клиентских подключений, где каждое подключение обрабатывается отдельным потоком. Т.е. под Go не нужно извращаться с асинхронностью, калбэками, промисами, async / await и т.п. костылями при обращении к файлам и внешним сервисам типа базы данных, key-value storage/cache или самописным микросервисам — достаточно обычного простого и понятного синхронного кода.
3. Программы на Go работают быстрее программ на nodejs. См. techempower benchmarks.
4. Программы на Go содержат меньше багов, т.к. простой синхронный код легче дебажить, поддерживать и расширять, чем закрученный асинхронный.
5. Код на гоу написан в едином стиле благодаря go fmt, поэтому его легко читать и править. Благодаря этому в среде go-разработчиков отсутствуют споры о правильной расстановке скобок, табов и пробелов.
6. Программа на гоу компилируется в один исполняемый файл, который не нуждается ни в каких дополнительных зависимостях, в т.ч. не нужна и установка Go на серверы, где будет работать программа. Поэтому деплой и обновление программ на Go представляет из себя заливку новой версии бинарника и его перезапуск. Не нужно никаких докеров и никакой специальной подготовки окружения. При выходе новой версии гоу достаточно просто перекомпилировать программы новой версией компилятора и перезалить их в прод. Сравните это с апгрейдом nodejs.
7. ....
8. PROFIT!!!
>6. Программа на гоу компилируется в один исполняемый файл, который не нуждается ни в каких дополнительных зависимостях, в т.ч. не нужна и установка Go на серверы, где будет работать программа. Поэтому деплой и обновление программ на Go представляет из себя заливку новой версии бинарника и его перезапуск. Не нужно никаких докеров и никакой специальной подготовки окружения. При выходе новой версии гоу достаточно просто перекомпилировать программы новой версией компилятора и перезалить их в прод. Сравните это с апгрейдом nodejs.
щас бы работать без скриптов которые сами поднимают окружение

Google


andretshurotshka?❄️кде
03.06.2018
11:39:48
1. Программы на Go отлично масштабируются на все ядра процессора, в отличие от однопоточного nodejs. При этом не нужно извращаться с shared memory при взаимодействии между процессами nodejs, ведь в Go достаточно одного процесса, чтобы загрузить работой все ядра CPU.
2. Веб-сервер на Go отлично справляется с миллионом одновременных клиентских подключений, где каждое подключение обрабатывается отдельным потоком. Т.е. под Go не нужно извращаться с асинхронностью, калбэками, промисами, async / await и т.п. костылями при обращении к файлам и внешним сервисам типа базы данных, key-value storage/cache или самописным микросервисам — достаточно обычного простого и понятного синхронного кода.
3. Программы на Go работают быстрее программ на nodejs. См. techempower benchmarks.
4. Программы на Go содержат меньше багов, т.к. простой синхронный код легче дебажить, поддерживать и расширять, чем закрученный асинхронный.
5. Код на гоу написан в едином стиле благодаря go fmt, поэтому его легко читать и править. Благодаря этому в среде go-разработчиков отсутствуют споры о правильной расстановке скобок, табов и пробелов.
6. Программа на гоу компилируется в один исполняемый файл, который не нуждается ни в каких дополнительных зависимостях, в т.ч. не нужна и установка Go на серверы, где будет работать программа. Поэтому деплой и обновление программ на Go представляет из себя заливку новой версии бинарника и его перезапуск. Не нужно никаких докеров и никакой специальной подготовки окружения. При выходе новой версии гоу достаточно просто перекомпилировать программы новой версией компилятора и перезалить их в прод. Сравните это с апгрейдом nodejs.
7. ....
8. PROFIT!!!
ясно


Сергей
03.06.2018
11:39:52
1. Программы на Go отлично масштабируются на все ядра процессора, в отличие от однопоточного nodejs. При этом не нужно извращаться с shared memory при взаимодействии между процессами nodejs, ведь в Go достаточно одного процесса, чтобы загрузить работой все ядра CPU.
2. Веб-сервер на Go отлично справляется с миллионом одновременных клиентских подключений, где каждое подключение обрабатывается отдельным потоком. Т.е. под Go не нужно извращаться с асинхронностью, калбэками, промисами, async / await и т.п. костылями при обращении к файлам и внешним сервисам типа базы данных, key-value storage/cache или самописным микросервисам — достаточно обычного простого и понятного синхронного кода.
3. Программы на Go работают быстрее программ на nodejs. См. techempower benchmarks.
4. Программы на Go содержат меньше багов, т.к. простой синхронный код легче дебажить, поддерживать и расширять, чем закрученный асинхронный.
5. Код на гоу написан в едином стиле благодаря go fmt, поэтому его легко читать и править. Благодаря этому в среде go-разработчиков отсутствуют споры о правильной расстановке скобок, табов и пробелов.
6. Программа на гоу компилируется в один исполняемый файл, который не нуждается ни в каких дополнительных зависимостях, в т.ч. не нужна и установка Go на серверы, где будет работать программа. Поэтому деплой и обновление программ на Go представляет из себя заливку новой версии бинарника и его перезапуск. Не нужно никаких докеров и никакой специальной подготовки окружения. При выходе новой версии гоу достаточно просто перекомпилировать программы новой версией компилятора и перезалить их в прод. Сравните это с апгрейдом nodejs.
7. ....
8. PROFIT!!!
1. ведь в Go достаточно одного процесса, чтобы загрузить работой все ядра CPU. я бы не стал это в плюс записывать. достаточно вспомнить тормозящий докер
2. добавь немного сложной логики в вебсервер и твой миллион резко уменьшится
3. на го также можно написать дерьмовый медленный код и память жрущий вникуда
4. в го есть многопоточность, которая изкаропки сложнее. программы не содержат меньше багов просто из-за языка, ну если ты не знаешь хаскель, окамл или раст
5. fmt есть и в других языках, например тот же преттиер в жс или rustfmt, или refmt
6. го тащит с собой рантайм. компилировать в бинарник умеет не только го, а также окамл и раст. раст при этом не тащит с собой рантайм.
7. так и чем го лучше других языков?


Morsik
03.06.2018
11:39:57
я бы мог продолжить копипастить ответ оттуда же откуда и эта паста, но не буду

DimenSi
03.06.2018
11:39:58
хм, значитя я не правильно понимаю как обьяснить, что мне пришло в дальше

Сергей
03.06.2018
11:40:16
если я сейчас начну перечислять список минусов го
то меня забанят за флуд

Morsik
03.06.2018
11:40:34
создай канал как про пхп

dexofan
03.06.2018
11:40:46

Сергей
03.06.2018
11:41:05
- синтаксис
- пакеты
- модульная система
- наличие пакетов
- управление пробрасыванием ошибок
- система типов
……

Morsik
03.06.2018
11:41:10
@why_php_is_bad

Aleh
03.06.2018
11:41:37

dexofan
03.06.2018
11:41:38

DimenSi
03.06.2018
11:41:52

Google

Yumi
03.06.2018
11:42:24

Morsik
03.06.2018
11:42:26
а что в parse? (сигнатура какая)

Сергей
03.06.2018
11:43:03

DimenSi
03.06.2018
11:43:28

Yumi
03.06.2018
11:43:36

DimenSi
03.06.2018
11:44:00

Morsik
03.06.2018
11:44:07
для фильтра поставь сигнатуру ...): token is Key => ...

Сергей
03.06.2018
11:44:11
это пиздос

DimenSi
03.06.2018
11:44:48
ну точней ему нужно возвращать boolean

Aleh
03.06.2018
11:45:00

Дмитрий
03.06.2018
11:45:09

Morsik
03.06.2018
11:45:16

DimenSi
03.06.2018
11:46:32

Сергей
03.06.2018
11:47:14

Aleh
03.06.2018
11:48:13

Pawel
03.06.2018
11:48:44
да пжлста, вот ссылка. https://dou.ua/forums/topic/18802/#1001883 Зачем что то придумывать, всё уже давно написано

Сергей
03.06.2018
11:48:47

Aleh
03.06.2018
11:49:14

Google

Сергей
03.06.2018
11:51:52
спасибо)

Max
03.06.2018
15:30:40
Будет в TypeScript 3.0

Дмитрий
03.06.2018
15:32:33
Шт

DimenSi
03.06.2018
15:51:43
у меня вопросы насчет подхода.
У меня есть функция внутри которой используется обьект(интефейс) Config, в нем все поля обязательные, но для юзера хочу сделать поля не обязательными, поэтому сделал функцию которая возвращает config с базовыми настройками и сделал обьект для юзера UserConfig в котором все поля не обязательные. И такая же ситуация с Context обьектом, в котором до определенного действия нету свойства Response, а потом есть. Поэтому я сделал тоже 2 интерфейса. Есть способ по проще или я вообще подхожу не правильно?

Олег
03.06.2018
15:58:09

DimenSi
03.06.2018
15:58:34
Partial ?
я в ts меньше суток, не смогу догадатсья о чем ты
или ты про value?: string

Aleh
03.06.2018
16:03:34
Partial<Config>

DimenSi
03.06.2018
16:04:33

Kirill
03.06.2018
16:15:26

Mykola
03.06.2018
17:54:45
Привет, всем!
Парни, кто-нибудь, работал с транзакциями в TypeORM? Непонятно что делать с уровнем изолированности транзакции. Выходит так, что когда транзакции выполняются параллельно, и делают одну и туже задачу. То другая транзакция получает не актуальные данные. И с этого может вылезти много не приятных багов.

Grigorii
03.06.2018
18:33:03

Aleh
03.06.2018
20:02:56
https://github.com/cevek/ttypescript

Александр
03.06.2018
21:57:31
Доброго времени суток, возможно ли в тайпскрипте указать сигнатуру функции в которой один и тот же параметр может иметь разные имена?
типа:
func([x|width]: number) :void { ... }

andretshurotshka?❄️кде
03.06.2018
21:58:50
а смысл

Александр
03.06.2018
22:01:08
а смысл
да всяко может быть, это возможно?

Andrey
03.06.2018
22:02:48
Нет.

Александр
03.06.2018
22:03:47
Печаль

Сергей
03.06.2018
23:15:06

Google

Сергей
03.06.2018
23:15:25

Александр
04.06.2018
04:06:29
@sergeysova вообще, что думаешь о "универсальных" классах/компонентах?

Andrey
04.06.2018
06:04:11

Александр
04.06.2018
06:05:13
Это когда класс делает много разного

Andrey
04.06.2018
06:05:32
Тогда нафиг. Идиотизм.

Dames
04.06.2018
06:06:27

Andrey
04.06.2018
06:09:15

Kendr
04.06.2018
06:09:45

Александр
04.06.2018
06:51:39

Kendr
04.06.2018
06:54:20

Александр
04.06.2018
06:54:55
На равняться на петтерны
Ну это не, они ж не просто так придуманы. Просто нужно знать какой паттерн какую проблему решает и использовать тот что нужен

Kendr
04.06.2018
06:55:18

Александр
04.06.2018
06:55:30

★nton
04.06.2018
07:40:30
Полезная ссылка
https://github.com/sw-yx/react-typescript-cheatsheet

Andrey
04.06.2018
07:42:17
солид не панацея, скорее если вы его не понимаете не используйте, он больше подходит для момента рефакторинга по принципам солид
почитайте про GRASP

Дмитрий
04.06.2018
08:09:45
Солидол

Сергей
04.06.2018
08:14:43

Artur
04.06.2018
08:25:58

Google

Artur
04.06.2018
08:26:08
Все равно не тебе поддерживать

Alexander
04.06.2018
08:26:25

Олег
04.06.2018
08:33:08

Aleh
04.06.2018
08:33:35

Artur
04.06.2018
08:33:50

Алексей
04.06.2018
09:20:04
Блин, как я мог пропустить приход бомбящего гошника в TS чат.
Старею однако.

Александр
04.06.2018
09:20:44
А что все так за GO заговорили? Чем он подкупает?