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 заговорили? Чем он подкупает?