Для тех, кто смеется над JavaScript
От: Lazytech Ниоткуда  
Дата: 09.06.20 04:35
Оценка: 3 (1) -3 :))) :))) :))) :))) :))) :))) :)
Оказывается, сделать простейший HTTP-сервер на Node.js не сложнее, чем на Flask (который считается простым).

https://nodejs.org/en/knowledge/HTTP/servers/how-to-create-a-HTTP-server/
const http = require('http');

const requestListener = function (req, res) {
  res.writeHead(200);
  res.end('Hello, World!');
}

const server = http.createServer(requestListener);
server.listen(8080);



P.S. Господа смайликующие, вас не затруднит пояснить, что тут смешного?

P.P.S. Запоздало привожу вариант покороче.
require('http').createServer( (req, res) => res.end('Hello, World!') ).listen(3000);

https://youtu.be/qZ5xzkEdkhg?list=WL&t=8440
Отредактировано 10.06.2020 5:38 Lazytech . Предыдущая версия . Еще …
Отредактировано 09.06.2020 5:15 Lazytech . Предыдущая версия .
Re: Для тех, кто смеется над JavaScript
От: kov_serg Россия  
Дата: 09.06.20 05:15
Оценка: 3 (1) +2
Здравствуйте, Lazytech, Вы писали:

L>Оказывается, сделать простейший HTTP-сервер на Node.js не сложнее, чем на Flask (который считается простым).


L>https://nodejs.org/en/knowledge/HTTP/servers/how-to-create-a-HTTP-server/

L>
const http = require('http');

L>const requestListener = function (req, res) {
L>  res.writeHead(200);
L>  res.end('Hello, World!');
L>}

L>const server = http.createServer(requestListener);
L>server.listen(8080);

L>

И что?

http://perldancer.org/
https://docs.phalcon.io/3.4/ru-ru/application-micro
https://www.ultimatepp.org/srcdoc$Skylark$Tutorial$en-us.html
https://www.php.net/manual/ru/features.commandline.webserver.php
Re[2]: Для тех, кто смеется над JavaScript
От: Lazytech Ниоткуда  
Дата: 09.06.20 05:16
Оценка:
Здравствуйте, kov_serg, Вы писали:

_>И что?


_>http://perldancer.org/

_>https://docs.phalcon.io/3.4/ru-ru/application-micro
_>https://www.ultimatepp.org/srcdoc$Skylark$Tutorial$en-us.html
_>https://www.php.net/manual/ru/features.commandline.webserver.php

кратко != просто


Особенно порадовали ссылки на Perl и PHP.
Отредактировано 09.06.2020 5:19 Lazytech . Предыдущая версия .
Re: Для тех, кто смеется над JavaScript
От: Михaил  
Дата: 09.06.20 05:45
Оценка: +7
Здравствуйте, Lazytech, Вы писали:

L>P.S. Господа смайликующие, вас не затруднит пояснить, что тут смешного?


Для всех языков, включая даже си и си++, на сегодняшний день созданы либы, реализующие этот самый веб-сервер, ибо задача распространенная. Пользователю приходится скопипастить всего несколько строк, чтобы его завести.
Если писать с нуля, пришлось бы поднапрячься, в том числе и на джиэс.
Re[2]: Для тех, кто смеется над JavaScript
От: Lazytech Ниоткуда  
Дата: 09.06.20 05:49
Оценка:
Здравствуйте, Михaил, Вы писали:

М>Для всех языков, включая даже си и си++, на сегодняшний день созданы либы, реализующие этот самый веб-сервер, ибо задача распространенная. Пользователю приходится скопипастить всего несколько строк, чтобы его завести.

М>Если писать с нуля, пришлось бы поднапрячься, в том числе и на джиэс.

Само собой, с нуля в наше время не пишут. Просто Node.js при ближайшем знакомстве оказался не таким страшным, как я предполагал. Flask для меня в каком-то смысле даже сложнее, несмотря на простой питоновский синтаксис.
Re: ну-ну...
От: Sheridan Россия  
Дата: 09.06.20 06:41
Оценка: 4 (2) +2 :))
:;while [ $? -eq 0 ];do nc -vlp 8080 -c'(r=read;e=echo;$r a b c;z=$r;while [ ${#z} -gt 2 ];do $r z;done;f=`$e $b|sed 's/[^a-z0-9_.-]//gi'`;h="HTTP/1.0";o="$h 200 OK\r\n";c="Content";if [ -z $f ];then($e $o;ls|(while $r n;do if [ -f "$n" ]; then $e "`ls -gh $n`";fi;done););elif [ -f $f ];then $e "$o$c-Type: `file -ib $f`\n$c-Length: `stat -c%s $f`";$e;cat $f;else $e -e "$h 404 Not Found\n\n404\n";fi)';done

Кто не понял
Matrix has you...
Re[3]: Для тех, кто смеется над JavaScript
От: Sheridan Россия  
Дата: 09.06.20 06:43
Оценка: +2 :))) :))) :)
Здравствуйте, Lazytech, Вы писали:

L>Просто Node.js ...

Просто node.js — сборник говна из всех вселенных. Даже драгон не с первого раза взлетел — node_modules была тяжеловата, пришлось чистить.
Matrix has you...
Re[2]: ну-ну...
От: Lazytech Ниоткуда  
Дата: 09.06.20 06:44
Оценка:
Здравствуйте, Sheridan, Вы писали:

S>Кто не понял


Повторюсь:

кратко != просто

Re[3]: ну-ну...
От: Sheridan Россия  
Дата: 09.06.20 06:50
Оценка:
Здравствуйте, Lazytech, Вы писали:

L>Повторюсь:

L>

кратко != просто


Да я что, против, чтоли?
Matrix has you...
Re[4]: Для тех, кто смеется над JavaScript
От: Lazytech Ниоткуда  
Дата: 09.06.20 06:51
Оценка: :))) :))) :)
Здравствуйте, Sheridan, Вы писали:

S>Просто node.js — сборник говна из всех вселенных. Даже драгон не с первого раза взлетел — node_modules была тяжеловата, пришлось чистить.


Насколько я понимаю, Node.js в свое время был технологическим прорывом в серверных технологиях.

https://youtu.be/qZ5xzkEdkhg?t=680
Re[5]: Для тех, кто смеется над JavaScript
От: Sheridan Россия  
Дата: 09.06.20 06:58
Оценка: +9
Здравствуйте, Lazytech, Вы писали:

L>Насколько я понимаю, Node.js в свое время был технологическим прорывом в серверных технологиях.

Да, безусловно. Для тех, кто кроме жаваскрипта ничего больше не знает.
Matrix has you...
Re: Для тех, кто смеется над JavaScript
От: fmiracle  
Дата: 09.06.20 07:39
Оценка: 3 (1) +10
Здравствуйте, Lazytech, Вы писали:

L>Оказывается, сделать простейший HTTP-сервер на Node.js не сложнее, чем на Flask (который считается простым).


Сделать — это громко сказано. Ты просто подключил готовую реализацию и приписал один обработчик.

А вот дальше начинается все самое интересное.
1. сам js, особенно как он был раньше — язык достаточно нетривиальный в том плане, что есть много неожиданно опасных мест, на которые можно незаметно наступить и получить проблемы. При этом можно предварительно три раза прочитать листинг и ничего не заметить.
Вот в этом сложность js. Не то что его сложно выучить или сложно на нем что-то сделать. А в том, что на нем проще сделать случайную ошибку, чем на многих других языках.

2. Основная библиотека на node.js — это обычно асинхронная обработка на коллбэках. Отличная вещь, но посмотри, во что превратится твой код, если тебе надо не просто сделать res.end('messsage') а слазить в БД, посмотреть что было возвращено и сделать запрос в тот или другой внешний сервис, а потом еще в третий, объединить результаты и вернуть. Не забыть вернуть специальные ответы с другим статусом, если любой из перечисленных запросов вернул условный ошибочный ответ.

Оно все реализуемо, но колбэк на колбэк на колбэк от колбэка заставляет пухнуть мозг. После этого сделать аналогичную задачу на C# с тасками — и возникает ощущение "да чтобы я еще хоть раз сел за баранку этого пылесоса!? (с)". В новых редакциях JS появился async/await что дело улучшило.
Но равно таски в шарпе мощнее и удобнее, имхо.

P.S.
Я, как бы, достаточно писал на js. И под браузер писал, и под node.js приходилось. Ничего против языка не имею, но при наличии выбора предпочту делать серверную часть на .net core чем на node.js
Re: Для тех, кто смеется над JavaScript
От: Privalov  
Дата: 09.06.20 07:53
Оценка:
Здравствуйте, Lazytech, Вы писали:

L>P.S. Господа смайликующие, вас не затруднит пояснить, что тут смешного?


Попробуй при случае на нем массив чисел отсортировать.

Ну и вот это
Автор: Privalov
Дата: 23.01.20
.
Re[5]: Для тех, кто смеется над JavaScript
От: varenikAA  
Дата: 09.06.20 07:55
Оценка: +1 -1
Здравствуйте, Lazytech, Вы писали:

L>Здравствуйте, Sheridan, Вы писали:


S>>Просто node.js — сборник говна из всех вселенных. Даже драгон не с первого раза взлетел — node_modules была тяжеловата, пришлось чистить.


L>Насколько я понимаю, Node.js в свое время был технологическим прорывом в серверных технологиях.


А нынче? deno !!!!
☭ ✊ В мире нет ничего, кроме движущейся материи.
Re: Для тех, кто смеется над JavaScript
От: LuciferSaratov Россия  
Дата: 09.06.20 08:02
Оценка: +1
Здравствуйте, Lazytech, Вы писали:

L>Оказывается, сделать простейший HTTP-сервер на Node.js не сложнее, чем на Flask (который считается простым).


Я над ним не смеюсь, я просто не хочу на нем писать.
Но рано или поздно придется, учитывая современные тенденции.
Re[2]: Для тех, кто смеется над JavaScript
От: Lazytech Ниоткуда  
Дата: 09.06.20 08:02
Оценка:
Здравствуйте, Privalov, Вы писали:

P>Попробуй при случае на нем массив чисел отсортировать.


Я как бы в курсе, что в JS есть свои заморочки с сортировкой чисел.

P>Ну и вот это
Автор: Privalov
Дата: 23.01.20
.


И насчет этого тоже в курсе.
Re: Для тех, кто смеется над JavaScript
От: scf  
Дата: 09.06.20 08:12
Оценка: +3 -2 :))
Здравствуйте, Lazytech, Вы писали:

L>Оказывается, сделать простейший HTTP-сервер на Node.js не сложнее, чем на Flask (который считается простым).


Я больше скажу — nodejs для скриптописания ничем не хуже питона, может даже лучше.
Re: Для тех, кто смеется над JavaScript
От: Евгений Акиньшин grapholite.com
Дата: 09.06.20 08:20
Оценка: 5 (3) +1
Здравствуйте, Lazytech, Вы писали:


L>P.S. Господа смайликующие, вас не затруднит пояснить, что тут смешного?


Мы не смеемся, мы плачем

Автор вот, кстати, пытается исправить, чего натворил и разрабывает WebAssembly:

JavaScript, I did it in a hurry in 1995 in 10 days in May at Netscape, ...
JavaScript was a rush job. It had bones borrowed from other languages put together in a
Frankenstein body in a hurry by me.


Полное интервью:
http://softwareengineeringdaily.com/wp-content/uploads/2017/04/SEDT02-Brendan-Eich.pdf
Не шалю, никого не трогаю, починяю примус Diagrams Designer for iPad and Windows 10
Re[2]: Для тех, кто смеется над JavaScript
От: Lazytech Ниоткуда  
Дата: 09.06.20 08:29
Оценка: +2
Здравствуйте, Евгений Акиньшин, Вы писали:

ЕА>Автор вот, кстати, пытается исправить, чего натворил и разрабывает WebAssembly:


ES2015+ как бы достаточно сильно отличается от того JS, что был спешно разработан 25 лет назад...
Re[6]: Для тех, кто смеется над JavaScript
От: mtnl  
Дата: 09.06.20 08:30
Оценка: 1 (1)
Здравствуйте, Sheridan, Вы писали:

S>Здравствуйте, Lazytech, Вы писали:


L>>Насколько я понимаю, Node.js в свое время был технологическим прорывом в серверных технологиях.

S>Да, безусловно. Для тех, кто кроме жаваскрипта ничего больше не знает.

Там было много историй успеха о том, как фронтендеры смогли общаться с бакендерами и это позволило прямо сильно быстро сделать то что надо было сделать сильно быстро.
Потом, конечно, истории перешли к граблям в эксплуатации, из-за которых приходилось нанимать все больше народа и переходу на Go и подобное.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.