Size: a a a

NodeUA - JavaScript and Node.js in Ukraine

2021 March 26

IL

Ihor Levchenko in NodeUA - JavaScript and Node.js in Ukraine
Я 4 года писал на чистом JS, и последние 2 года я не могу представить как писать новый проект (не MVP) на чистом JS.

Да, я понимаю, есть куча подходов контрактного программирования, на крайний случай можно всегда миллион if-ов запихать в конструктор и бросать исключения.
Но это все усложнение кода.
Я все-таки за то, чтобы код был максимально мономорфным, так и оптимизация лучше работает.

Мне пока ну крайне сложно представить кейс когда TS усложняет жизнь если есть текучка в команде или же когда над проектом работает 3 и больше человека.

Но TS не идеален, вопросов там много, как минимум в отсутствии возможности запретить any, но это уже другой разговор
источник

A

Adv0cat in NodeUA - JavaScript and Node.js in Ukraine
Illya Klymov
Вы можете с удовольствием подать доклад, где опровергнете все мои утверждения )
Не, это ваша война, мне не интересны драчки js против ts… Просто ужаснулся, что серьйозно есть люди, которые могут придумать себе проблему на ровном месте и героически с ней бороться 😅
источник

L

Leon in NodeUA - JavaScript and Node.js in Ukraine
Illya Klymov
вы прям один из слайдов моего доклада процитировали почему тс плох )
Я не специально :) По моему, это прям настолько очевидно, что факт закрывание глаз на такое мироустройство довольно странен. Впрочем, как всегда.
источник

IK

Illya Klymov in NodeUA - JavaScript and Node.js in Ukraine
Ihor Levchenko
У меня скорее эффект наоборот с тайпскриптом.
В сторону позитива.

С 2018го года я начал активно лоббировать в своей компании TS. И состоянием на сегодняшний день у нас 85% кодовой базы на TS.
И это сэкономило просто миллион человекочасов.
Как померяли? :)
источник

IL

Ihor Levchenko in NodeUA - JavaScript and Node.js in Ukraine
я могу принять парадигму “TS не нужен” разве что для команд, где ребята ничего кроме JS не видели и им банально сложно в дженерики, в целую булевую алгебру типов и прочего.
Тогда да, набокопорят наверное еще больше.
источник

IL

Ihor Levchenko in NodeUA - JavaScript and Node.js in Ukraine
Illya Klymov
Как померяли? :)
трекер конечно же
логирование времени на дебаг, время на разработку фич + время на онбординг в сервис нового человека.

ну по всем параметрам стало гораздо лучше.

но у нас нет никого ниже middle-to-senior.
и у нас продукт.

возможно, в аутсорс реалиях все немного иначе.
источник

KR

Kostyantin Randomnam... in NodeUA - JavaScript and Node.js in Ukraine
якщо ви хочете здорову систему типів, навіщо ви обираєте жс як платформу?
источник

IK

Illya Klymov in NodeUA - JavaScript and Node.js in Ukraine
Ihor Levchenko
трекер конечно же
логирование времени на дебаг, время на разработку фич + время на онбординг в сервис нового человека.

ну по всем параметрам стало гораздо лучше.

но у нас нет никого ниже middle-to-senior.
и у нас продукт.

возможно, в аутсорс реалиях все немного иначе.
а, ну я ж специально взял аутсорсинговые компании. Про продукты другая история
источник

IK

Illya Klymov in NodeUA - JavaScript and Node.js in Ukraine
(это не значит что тайпскрипт там нужен, там все немного по-другому в принципе работает)
источник

IL

Ihor Levchenko in NodeUA - JavaScript and Node.js in Ukraine
Kostyantin Randomname
якщо ви хочете здорову систему типів, навіщо ви обираєте жс як платформу?
бо, блін, немає нормального способу писати фронтенд окрім як на JS:)

(не хочу розглядати костилі типу компіляції якого-небудь котліна в JS та інше)
источник

A

Adv0cat in NodeUA - JavaScript and Node.js in Ukraine
wasm вас исправит))
источник

A

Adv0cat in NodeUA - JavaScript and Node.js in Ukraine
и компиляция кучи нормальных языков в wasm ))
источник

DK

Dmytro Klekots in NodeUA - JavaScript and Node.js in Ukraine
Ihor Levchenko
бо, блін, немає нормального способу писати фронтенд окрім як на JS:)

(не хочу розглядати костилі типу компіляції якого-небудь котліна в JS та інше)
Blazor )))
источник

L

Leon in NodeUA - JavaScript and Node.js in Ukraine
Ihor Levchenko
бо, блін, немає нормального способу писати фронтенд окрім як на JS:)

(не хочу розглядати костилі типу компіляції якого-небудь котліна в JS та інше)
Фротэнд это процентов 20% от всех головняков. JS давно перерос эти детские болезни. В конце концов, если у каждого 100-го юзера что-то в браузере протечёт (а это случается регулярно, даже с самыми мажорными компаниями) это фигня, по сравнению с тем, что произойдёт на сервере. Как правильно говорил великий кормчий Мао Цздедун (или Тимур, я уже не помню) JS это идеальный клей, которым надо клеить, разбираясь кого в куда и каким способом.
источник

N

Nazar in NodeUA - JavaScript and Node.js in Ukraine
Привет. Хочу запустити локальний сервер і підєднатись до нього з телефона. Телефон і ноут в одній мережі. Айпі адрес вказав локальний. Но не працює чогось. Підкажіть де дальше копати ?const http = require('http');

// Create an instance of the http server to handle HTTP requests
let app = http.createServer((req, res) => {
   // Set a response type of plain text for the response
   res.writeHead(200, {'Content-Type': 'text/plain'});

   // Send back a response and end the connection
   res.end('Hello World!\n');
});

// Start the server on port 3000
app.listen(3000, '192.168.1.105');
console.log('Node server running on port 3000');
источник

KR

Kostyantin Randomnam... in NodeUA - JavaScript and Node.js in Ukraine
Leon
Фротэнд это процентов 20% от всех головняков. JS давно перерос эти детские болезни. В конце концов, если у каждого 100-го юзера что-то в браузере протечёт (а это случается регулярно, даже с самыми мажорными компаниями) это фигня, по сравнению с тем, что произойдёт на сервере. Как правильно говорил великий кормчий Мао Цздедун (или Тимур, я уже не помню) JS это идеальный клей, которым надо клеить, разбираясь кого в куда и каким способом.
UI це дуже велика частина програми, і хоча помилки там "менш важливі" вони важливі і головняк серьозний :)
источник

IK

Illya Klymov in NodeUA - JavaScript and Node.js in Ukraine
Nazar
Привет. Хочу запустити локальний сервер і підєднатись до нього з телефона. Телефон і ноут в одній мережі. Айпі адрес вказав локальний. Но не працює чогось. Підкажіть де дальше копати ?const http = require('http');

// Create an instance of the http server to handle HTTP requests
let app = http.createServer((req, res) => {
   // Set a response type of plain text for the response
   res.writeHead(200, {'Content-Type': 'text/plain'});

   // Send back a response and end the connection
   res.end('Hello World!\n');
});

// Start the server on port 3000
app.listen(3000, '192.168.1.105');
console.log('Node server running on port 3000');
у вас в wi-fi сети разрешены соединения между клиентами?
источник

IK

Illya Klymov in NodeUA - JavaScript and Node.js in Ukraine
client isolation не редкость
источник

L

Leon in NodeUA - JavaScript and Node.js in Ukraine
Kostyantin Randomname
UI це дуже велика частина програми, і хоча помилки там "менш важливі" вони важливі і головняк серьозний :)
Ну и сравните утечку памяти на отдельном клиенте, где таб хрома съест при определённых условиях аж прям всю память и благополучно умрёт, с процессом на сервере, который откажет в сервисе 100500 клиентам прям жёстко.
источник

N

Nazar in NodeUA - JavaScript and Node.js in Ukraine
Illya Klymov
у вас в wi-fi сети разрешены соединения между клиентами?
Класне питання. Не знаю. Зараз погуглю. На разі дякую. Відпишусь
источник