Re[3]: Может ли нравиться NodeJS?
От: elmal  
Дата: 13.04.17 18:24
Оценка: 10 (3) +3 :))) :))) :)
Здравствуйте, StandAlone, Вы писали:

Элементарно. В современных реалиях это все решается следующим образом:

SA>1) Напишите реализацию quicksort

Попросить бекенд отсортировать за тебя! Фронтэнд должен заботитьсы об эффективности, ибо он выполняется на крайне малопроизводительных ресурсах. Потому сортировка, даже если это 10 элементов — должна выполняться на бекэнде. Там сервер мощный, не то что мобила на 2 гигагерца и 4 гига памяти.

SA>2) Обойдите дерево в ширину.

Попросить бекэнд прислать Json с порядком обхода. Это слишком большая логика для клиента, трудозатраты на написание такого сложного алгоритма — полгода. Хотя нет, нужно еще 6 лет в институте выучиться .

SA>3) Реализуйте паттер Visitor.

Зачем? Для всего есть react (если он еще не устарел). Если этого нет в react — значит бэкэнд плохо сделал свою работу.

SA>4) Реализуйте иерархию слоя доступа к данным с элементами AOP, а именно наложением инвариантов посредством атрибутов.

Какую иерархию? Это все на бекэнде. Задача фронтэнда — на каждый чих послать запрос к серверу и отрисовать результат. Состояние фронтэнда тоже должен хранить бекэнд. И даже контролы рендерить тоже желательно бекэнд. Виртуал дом и тому подобное — ресурсы сервера нужно чем то занять.
SA>...
SA>6) Хорошо, напишите хоть что-нибудь размером хотя бы с ObservableCollection. И не забудьте прикрыть локтями ребра...
За год можно написать. Если выделить в помощники 5 человек.

И вообще. Я хренею с современного джаваскрипта. Почему то в современных реалиях даже для сеньер фронтэнд разработчиков на нем невозможно сделать то, что без проблем делалось 10 лет назад на том же джаваскрипте. Раньше там был функционал словарей, и можно было без проблем удалять дупликаты. И это было встроено в язык. В современном джаваскрипте почему то для этого нужен алгоритм с квадратичной сложностью с пробеганием по массиву. Сколько ни собеседовал фронтэндеров, ни один не ответил что такое Dictionary, Map, ассоциативный массив. Кроме тех, кто хотят от 300 тыщ. Кто хотят 150 — те про такое не слышали.
Почему то раньше на фронтэнде можно было без проблем парсить любой json. Да что json, даже xml можно было. Сейчас какого то черта фронтэнд не в состоянии распарсить тот json, который автоматом генерится. Мне казалось, что если в json нет элемента, то с точки зрения логики можно при парсинге сделать, чтобы его значение интерпретировалось как null. В современном javascript обязательно указывать имя элемента и null. Поменять адрес сервера — это тоже какого то черта работа на несколько часов. Раньше можно было это в одну константу вынести, сейчас почему то нужно во много мест лезть. И тоже не понимаю. 10 лет назад все странички прекрасно получались от сервера. Я ни черта не понимаю, какого черта для странички, которую я вместе с вспоминанием верстки сделаю за неделю, сейчас обязательно поднимать nodejs на одном сервере, сервер статики на другом, делать кроссдоменные запросы на третий бекэнд сервер, делать это 3 месяца и один черт если серверу стало плохо, то обработки ошибок тоже нет, пользователь видит белый экран, все просто повисло. И еще почему то это новое работает только на последней версии браузера, и только одного!
Re[2]: Может ли нравиться NodeJS?
От: Олег К.  
Дата: 13.04.17 06:00
Оценка: +10 -2
V_>>Под NodeJS не писал совсем, JS в глаза видел. Практически любое собеседование где могли бы потребовать писать JS код на бумажке, я бы не прошел. Это, ес-но, я не скрывал.

AC>использовать ТайпСкрипт, траспайлить его в ЕС5, и будет тебе счастье


Сколько же мути сейчас в вебе развелось... Костыль на костыле кругом.
Re[7]: Может ли нравиться NodeJS?
От: mgu  
Дата: 15.04.17 04:46
Оценка: 13 (2) :))) :))) :))
Здравствуйте, netch80, Вы писали:

mgu>>Хе-хе, в Джаве раздел с include скоро по количеству строк превысит собственно код.


N>Инклуды чего?


Библиотек всяких. Современная программа на Джаве выглядит примерно так:

package paper.bag;

import java.int;
import javax.math.operators.*;
import javay.util.semicolon;
import java.exceptions.vomiting;
import apache.commons.*;
import google.guano.*;
import java.annotations.*;

@NotNull
@NotImagenery
@Userializable
@Defecated
@Reject
/**
* Multiplies 2 by 2. The product of 3 by 3 is upcoming in the next marathon.
*
* @autor: Strudomprassal V.
*/
pubic int TwoByTwo() throws Sauerkraut, Cucumbers, Herring {
  @SuppressWarnings("unchecked")
  return (int)((2) * (2));
}
Re: Может ли нравиться NodeJS?
От: AndyCyp США  
Дата: 13.04.17 01:23
Оценка: 2 (1) +4 -2 :)
V_>К постоянному обучению склонен и учиться мне нравится.

V_>Под NodeJS не писал совсем, JS в глаза видел. Практически любое собеседование где могли бы потребовать писать JS код на бумажке, я бы не прошел. Это, ес-но, я не скрывал.


использовать ТайпСкрипт, траспайлить его в ЕС5, и будет тебе счастье
Re: Может ли нравиться NodeJS?
От: John1979  
Дата: 13.04.17 07:55
Оценка: +5 :)))
Здравствуйте, Vetal_ca, Вы писали:

V_>Но, млин, NodeJS. Уверяют, что проблем с ним не будет, типа с моим опытом это то что надо. "Привнесешь идеи чоткой разработки" ...

V_>Меня, любителя единопокрашенных заборов и прочих упорядоченных штук (типизированых языков) это гнетёт. Погуглил по теме "cons pros NodeJS" легче не стало.

Я перешел с C++ на ноду очень легко. Если отбросить религиозные убеждения, то ничего страшного в жаваскрипте нет.
Re: Может ли нравиться NodeJS?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 13.04.17 14:52
Оценка: 5 (2) +2 :)))
Здравствуйте, Vetal_ca, Вы писали:

V_>Пособеседовался в одной компании. Все очень понравилось, не большая, динамичная, открытая.

Стартап?

V_>Но, млин, NodeJS. Уверяют, что проблем с ним не будет, типа с моим опытом это то что надо. "Привнесешь идеи чоткой разработки" ...

Не получится, культуру поменять сложнее всего.

V_>Меня, любителя единопокрашенных заборов и прочих упорядоченных штук (типизированых языков) это гнетёт. Погуглил по теме "cons pros NodeJS" легче не стало.

Не переживай, для таких как ты есть typescript.

V_>Как оно, удастся сжиться-слюбиться с NodeJS и привнести туда порядок? Или нет?

Человек такая скотина, ко всему привыкает.

V_>Будет ли это плюсом для мозгов и новым взглядом на веши? Или только притуплением, болью и мучением?

Однозначно.


Я бы на твоем месте переживал по поводу других вещей.
1) Если это стартап, то его положение (финансовое и рыночное) крайне нестабильное. Ты можешь потратить свое время проработав в компании, название которой через год все забудут.
2) В NodeJS вполне возможно придется больше бороться с неработающими зависимостями, багами в окружающих продуктах, леворезьбовыми СУБД и прочим шлаком, который плодится с огромной скоростью. Вполне может оказаться что большую часть времени ты потратишь на приобретение навыка установки и настройки какойнить dzhopadb версии 1.53453.454857, который станет не актуальным в версии 1.63433.5656
Re[4]: Может ли нравиться NodeJS?
От: StandAlone  
Дата: 13.04.17 16:42
Оценка: +3 -1 :))
Здравствуйте, AndyCyp, Вы писали:

AC>банально.

AC>банально.
AC>банально.

Хорошо. Допишите, пожалуйста, пословицу: "Языком молоть — не ..."

AC>язык динамический, заводи себе атрибуты на здоровье.


Скажите, Вы сисадмин или менеджер проекта?

AC>... код очень быстро превращается в кашу.


Да у любого, у любого он превращается в кашу. Я уже тут неоднократно тыкал в примеры замечательных реализаций на ДжаваСкрипте, типа Q или, не к ночи будь помянут, ExtJs Collection.
Каждый, каждый раз JS-любители начинали косить под делюдей с особенностями умственного развития и начинали тягуче-слюняво "Ну и чёёё, а я вот на квикбейсике\си\1с\пхп\абап и не такое видел....".
Наконец-то найдено хоть одно хорошее качество JS! Бывает кал еще и более едкий!

AC>Частично эти проблемы решаются "надстройкой" в виде Typescript или компиляцией из Java, например GWT


Нет, если б Вы были сисадмин, Вы бы наверняка хоть краем уха бы видели, что получается после "компиляций из", например после ангуляровских компиляций... Следовательно, Вы — прораб менеджер проекта.
Чтож, в таком случае Вы все правильно делаете.
Объяснить рабочим, почему они копают котлован пластиковыми совочками для уборки кошачьего говна вместо экскаватора — это великое искусство.
Re[2]: Может ли нравиться NodeJS?
От: De-Bill  
Дата: 13.04.17 10:14
Оценка: +5
J>Я перешел с C++ на ноду очень легко. Если отбросить религиозные убеждения, то ничего страшного в жаваскрипте нет.

Если отбросить убеждения, то можно писать и на 1C, и на PHP.
Re[3]: Может ли нравиться NodeJS?
От: AndyCyp США  
Дата: 13.04.17 16:05
Оценка: +4 :)
Здравствуйте, StandAlone, Вы писали:


SA>Опишите, пожалуйста, как бы Вы решали с использованием JavaScript одну из типичных задач программирования. Всем, регулярно читающим этот раздел, они конечно же известны, но я все же напомню:

SA>1) Напишите реализацию quicksort

банально.

SA>2) Обойдите дерево в ширину.


банально.

SA>3) Реализуйте паттер Visitor.


банально.

SA>4) Реализуйте иерархию слоя доступа к данным с элементами AOP, а именно наложением инвариантов посредством атрибутов.


язык динамический, заводи себе атрибуты на здоровье.

вообще не понимаю подколок из раздела реализуйте квиксорт на джаваскрипте. Да хоть на псевдокоде.
Что в самом деле является проблемой в голом джаваскрипте — отсутствие типизации (следствие, нет интерфейсов), отсутствие линкера, нет возможности автоматического рефакторинга, если программист неопытный, код очень быстро превращается в кашу.
Частично эти проблемы решаются "надстройкой" в виде Typescript или компиляцией из Java, например GWT
Re: Может ли нравиться NodeJS?
От: sin_cos Земля  
Дата: 15.04.17 22:25
Оценка: 6 (2) :))
Здравствуйте, Vetal_ca, Вы писали:

V_>Пособеседовался в одной компании. Все очень понравилось, не большая, динамичная, открытая.



я стишок вот сочинил. сам

мама, я полюбил javascript
мама, я полюбил javascript
J2EE нафиг из резюме
я больше не хочу компилить
я не могу видеть ant
я крещусь вспоминая tomcat
а с maven deploy занимает полчаса
поэтому я полюбил javascript

Олдскулы скажут, что я дал слабину
Практически продал родную страну
У меня лишь колбэки и я без классов пишу
Я гляжу, как сокращается код
Я не валял дурака
5 лет в офисе от звонка до звонка
Но мне не вытравить из себя чужака
Мама, я полюбил javascript

Мама, я полюбил javascript
Мама, я полюбил javascript
Мама, позвони всем моим друзьям
Скажи им — за веб платят не зря
Вот она — ясность как в си
Всего лишь две скобки и ты создал массив
Мне уже не нужен autocomplete
Мама, я полюбил javascript

Скажи бывшим коллегам, что теперь я большой
Скажи PM, что он болен душой
Я мог бы быть обычным разрабом
Но я упустил эту роль
Зашел в обфускированный ace
Гляжу в логи, но я не вижу stacktrace
Скажи в блоге, что на серверах стоит бес —
Демон nodejs

Мама, я полюбил javascript
Мама, я полюбил javascript
Мама, уничтожь доки по ООП
Мне хватает просто объектов и полей
get-еры, set-еры это фигня
я не переоределял их никогда
public и private абсурдны как вид
Мама, я полюбил javascript
Re[3]: Может ли нравиться NodeJS?
От: Lazy Bear Канада  
Дата: 14.04.17 01:19
Оценка: 3 (2) +1 -1
Здравствуйте, Vetal_ca, Вы писали:

V_>>>Будет ли это плюсом для мозгов и новым взглядом на веши? Или только притуплением, болью и мучением?

G>>Однозначно.

Имхо JS после типизированных языков это АДЪ.
Re[2]: Может ли нравиться NodeJS?
От: hrensgory Россия  
Дата: 13.04.17 13:15
Оценка: +3 -1
13.04.2017 6:51, "Дэйв" пишет:

> Я всегда считал Node.js весьма странным поделием. Сервер, event loop —

> ок, но почему на JavaScript???

+1 Писать сервер на JS — на мой взгляд на редкость дебильная идея.
Но как известно "если что-нибудь может быть написано на JS — оно
будет написано на JS.

--
WBR,
Serge.
Posted via RSDN NNTP Server 2.1 beta
Re[2]: Может ли нравиться NodeJS?
От: StandAlone  
Дата: 13.04.17 15:38
Оценка: -2 :))
Здравствуйте, gandjustas, Вы писали:

G>Не переживай, для таких как ты есть typescript.


"Слышь, Бивис, а как во всех нормальных языках сделано? Сперва пишется тип, а потом переменная? Слева направо, тут же не арабы, да? Гыгыгы, а мы сделаем наоборот! NotInventedHere!"
Re: Может ли нравиться NodeJS?
От: m2l  
Дата: 13.04.17 09:45
Оценка: 8 (3)
Здравствуйте, Vetal_ca, Вы писали:

Ну чисто технически JS наверное один из самых простых языков. Какой нибудь WebStorm будет выдавать подсказки близкие к типизированным языкам, плюс есть всякие TypeScript. С другой стороны автоматическое выведение типов/дженерики в C++/C#/Java. Мне кажется в этом плане языки идут на встречу друг другу и каких-то проблем у тебя быть не должно. Новый взгляд будет точно. Какое притупление всё же больше не от языка зависит, а от того, что да как пишешь. ИМХО, если всё нравиться, то другая технология не должна быть проблемой.
Re: Может ли нравиться NodeJS?
От: Au Австралия  
Дата: 15.04.17 04:50
Оценка: 5 (2) -1
5 лет пишу на node.js, до этого больше 8 лет писал C# и пару лет на Java. Node нравится, JavaScript/TypeScript нравится. Зная довольно глубоко как язык так и экосистему, я искренне не понимаю глубины ненависти к JavaScript со стороны некоторой части разработчиков.

> Будет ли это плюсом для мозгов и новым взглядом на веши? Или только притуплением, болью и мучением?


Для меня было "плюсом для мозгов и новым взглядом на вещи". Если изучения нового в целом боли и мучений не вызывает, то тут думаю проблем не будет.
Re: Может ли нравиться NodeJS?
От: MxMsk Португалия  
Дата: 13.04.17 10:35
Оценка: 2 (1) +1 :)
Здравствуйте, Vetal_ca, Вы писали:

V_>К постоянному обучению склонен и учиться мне нравится.

Мало того, что место понравилось, так еще готовы брать с нуля на хорошую должность с возможностью обучения популярной и, что немаловажно, высокооплачиваемой и востребованной платформы. JS можно проклинать сколько угодно, но он уже как C++ — есть на всех платформах, что дает перспективы. Если потом на клиент влезешь, будет у тебя Full-Stack. Если React, то потом React Native. Знаю нескольких людей, ушедших в Ноду из Шарпов — никто не просится обратно. Так что, я бы считал Node.js плюсом, а не минусом. На другие собесы лучше сходить — чтобы спокойнее было
Re[3]: Может ли нравиться NodeJS?
От: John1979  
Дата: 15.04.17 18:56
Оценка: 1 (1) -2
Здравствуйте, senglory, Вы писали:

S>конечно, ничего страшного. Случилось что-то невнятное внутри ангуляра какого или ReactJS — и все, затрахаешься понимать где у него ошибка.

какая связь между проблемами в твоем любимом говнофреймворке с яваскриптом в целом и node.js в частности ?

btw я немного писал на Angular 1.x, чуть больше на React и сейчас у меня шабашка на Angular 2
несмотря на то, что такую проблему, в теории, получить можно, на практике разработчик всегда знает где он накосячил.
Отредактировано 15.04.2017 18:59 John1979 . Предыдущая версия .
Re[3]: Может ли нравиться NodeJS?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 13.04.17 16:06
Оценка: +2 -1
Здравствуйте, StandAlone, Вы писали:

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


G>>Не переживай, для таких как ты есть typescript.


SA>"Слышь, Бивис, а как во всех нормальных языках сделано? Сперва пишется тип, а потом переменная? Слева направо, тут же не арабы, да? Гыгыгы, а мы сделаем наоборот! NotInventedHere!"

Ты же понимаешь, что это тупость?
В TS мощный вывод типов, поэтому в 80% случаев типы писать не надо. А если тип слева, то что? auto как в некоторых уродских языках?
Re[5]: Может ли нравиться NodeJS?
От: AndyCyp США  
Дата: 13.04.17 21:58
Оценка: +1 -1 :)
Здравствуйте, StandAlone, Вы писали:

SA>Хорошо. Допишите, пожалуйста, пословицу: "Языком молоть — не ..."


ну, скажем, за 100 долл в час я готов. Пэйпал прислать?

SA>Скажите, Вы сисадмин или менеджер проекта?


Програмист я. Последние 3 года занимаюсь 80% JS и 20% Java. До этого C# и С++, 12 лет.


SA>Да у любого, у любого он превращается в кашу. Я уже тут неоднократно тыкал в примеры замечательных реализаций на ДжаваСкрипте, типа Q или, не к ночи будь помянут, ExtJs Collection.


ExtJS древний фреймворк, вы бы еще привели в пример телерик какой нибудь. Вы вообще видели чего нибудь
Чтобы код не превращался в кашу, требуется разделение логики на слои и модули с четко определенными связями между ними.

Сортировка на фронт энде 100000000 объектов не должна совершаться. Следует понимать различие задач фронт энд и бак энд


SA>Нет, если б Вы были сисадмин, Вы бы наверняка хоть краем уха бы видели, что получается после "компиляций из", например после ангуляровских компиляций... Следовательно, Вы — прораб менеджер проекта.


Интересные выводы.

Из компиляций GWT получается исполняемый код для браузера — генеренный JS стоит воспринимать именно так. Хочешь дебажить — есть соурс мап.
Не стоит путать Ангуляр компиляцию, изменяющую дом, с транспайлингом.

SA>Объяснить рабочим, почему они копают котлован пластиковыми совочками для уборки кошачьего говна вместо экскаватора — это великое искусство.


Зато посмотрите сколько за это платят бабла. И, кстати, частично потому что грамотное применение Js требует опыта и дисципины, а красивый быстрый фронд энд хотят все
Re[3]: Может ли нравиться NodeJS?
От: mgu  
Дата: 14.04.17 03:39
Оценка: :)))
Здравствуйте, StandAlone, Вы писали:

SA>Опишите, пожалуйста, как бы Вы решали с использованием JavaScript одну из типичных задач программирования. Всем, регулярно читающим этот раздел, они конечно же известны, но я все же напомню:

SA>1) Напишите реализацию quicksort
SA>2) Обойдите дерево в ширину.
SA>3) Реализуйте паттер Visitor.
SA>4) Реализуйте иерархию слоя доступа к данным с элементами AOP, а именно наложением инвариантов посредством атрибутов.
SA>...
SA>6) Хорошо, напишите хоть что-нибудь размером хотя бы с ObservableCollection. И не забудьте прикрыть локтями ребра...

Программирование и задачи на интервью не пересекаются даже в геометрии Лобачевского.
Re[5]: Может ли нравиться NodeJS?
От: mgu  
Дата: 15.04.17 03:51
Оценка: +2 :)
Здравствуйте, Kesular, Вы писали:

K>Справедливости ради, десктоп этот рак тоже не обошел стороной. Ну или мне в последнее время с проектами не везет. То, что раньше делалось силами одного кодера за неделю, сейчас делается тремя за две, и чтобы использовалось не меньше 20 сторонних пакетов. Иначе все скажут, что не круто.


Для троих кодировщиков уже требуются ведущий, менеджер и политрук срам-мастер. Так что получается уже 6 голов.

K>Впрочем, в вебе реально всё еще хуже


Хе-хе, в Джаве раздел с include скоро по количеству строк превысит собственно код.
Re[9]: Может ли нравиться NodeJS?
От: mgu  
Дата: 16.04.17 21:39
Оценка: :)))
Здравствуйте, anton_t, Вы писали:

_>Вы явно не большой спец в Java. Названия методов в Java положено с маленькой буквы делать.

_>И код не валидный. Аннотации над return-ом нельзя ставить.

Всё гораздо хуже: я объявил "метод" вне класса.
Re[4]: Может ли нравиться NodeJS?
От: Au Австралия  
Дата: 15.04.17 05:45
Оценка: 1 (1) :)
LB>Имхо JS после типизированных языков это АДЪ.

А у меня противоположный опыт. Ключевой момент по моему мнению, это не ждать от JavaScript того чего там нет и не было, того что хорошо работает в типизированных языках, по той причине что они типизированы. Нужно просто перестроиться и использовать сильные стороны отсутствия строгой типизации.
Re[4]: Может ли нравиться NodeJS?
От: sharpman Россия  
Дата: 13.04.17 22:01
Оценка: -2
Здравствуйте, elmal, Вы писали:

E>И вообще.


Ты учитель информатики в школе?
.

Пессимисты говорят, что хуже быть не может,
а оптимисты всегда уверены, что — может!

.

Re[3]: Может ли нравиться NodeJS?
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 14.04.17 06:57
Оценка: +2
Здравствуйте, StandAlone, Вы писали:

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


G>>Не переживай, для таких как ты есть typescript.


SA>"Слышь, Бивис, а как во всех нормальных языках сделано? Сперва пишется тип, а потом переменная? Слева направо, тут же не арабы, да? Гыгыгы, а мы сделаем наоборот! NotInventedHere!"


"Наоборот" вообще-то не менее почтенно (Pascal со всеми потомками вплоть до Ada), используется массово сейчас (новые языки вроде Swift, Go...) и имеет ряд существенных преимуществ — например, вместо сишных typedef void (*func1_t)(int) начинают писаться конструкции, которые можно понять без выворачивания наизнанку.
Так что переучивайтесь.
The God is real, unless declared integer.
Re[4]: Может ли нравиться NodeJS?
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 14.04.17 06:59
Оценка: -1 :)
Здравствуйте, elmal, Вы писали:

E>И вообще. Я хренею с современного джаваскрипта. Почему то в современных реалиях даже для сеньер фронтэнд разработчиков на нем невозможно сделать то, что без проблем делалось 10 лет назад на том же джаваскрипте.

[...]

Плач замечательный, но это явно не проблема языка.
The God is real, unless declared integer.
Re[3]: Может ли нравиться NodeJS?
От: m2l  
Дата: 14.04.17 18:03
Оценка: -1 :)
Здравствуйте, StandAlone, Вы писали:

SA>Во-первых, спасибо за возможность заглянуть под крышку черепной коробки одного из JS-любителей.

HolyWar это конечно весело, но тут такое дело, я процентов 80 кода пишу на C/C++/C#. Да, в некоторых проектах есть фронтенд HTML/JS, но не более.

SA>Опишите, пожалуйста, как бы Вы решали с использованием JavaScript одну из типичных задач программирования. Всем, регулярно читающим этот раздел, они конечно же известны, но я все же напомню:

SA>1) Напишите реализацию quicksort
SA>2) Обойдите дерево в ширину.
Я может чего-то не знаю в JS, в силу того, что это не мой основной язык, но всё же, где тут подводный камень? Просто ХЗ, но вроде во всех императивных языках примерно одно и тоже. Синтаксические конструкции и символы операторов только немного разные вроде.... Такчто, если тебе сильно хочеться, давай свои реализации, я попробую их как-нибудь "оджаваскриптить"
SA>3) Реализуйте паттер Visitor.
В JS и ООП то довольно сильно сбоку, вот так бросаться на амбразуру с паттерном Visitor немного не дальновидно... Как-бы голову надо включать и использовать к задачам подходящие инструменты и паттерны. И у меня встречный вопрос — а что был реально рабочий код существующий программы, где у тебя этот паттерн позволил уменьшить её структурную сложность? На каком языке, что за проект? Сколько таких прицедентов было, каждый день пишешь?
SA>4) Реализуйте иерархию слоя доступа к данным с элементами AOP, а именно наложением инвариантов посредством атрибутов.
В нормальных проектах этим занимаеться C#/Java на бэкенде. Я вот так даже и представить себе не могу куда между DOM/AJAX можно приткнуть такую хрень и нафига. Что она там делать будет?
SA>...
SA>6) Хорошо, напишите хоть что-нибудь размером хотя бы с ObservableCollection. И не забудьте прикрыть локтями ребра...
Попробуй написать ObservableCollection на C++ без сторонних библиотек и кроссплатформенно. Причём в JS тьма либ/фрейморков её заменяющих, те же angular/React/тысячи-этой-новомодной-хрени, а вот в плюсах вроде особо нет. Так что сделаешь общественно полезное дело.

SA>Ждем-с

Было забавно, но не думаю, что будет конструктивно.
Re: Может ли нравиться NodeJS?
От: _NN_ www.nemerleweb.com
Дата: 06.05.17 19:00
Оценка: 4 (1)
Здравствуйте, Vetal_ca, Вы писали:

V_>Пособеседовался в одной компании. Все очень понравилось, не большая, динамичная, открытая.


Тут и дальше по ссылкам в блог есть хорошее описание проблем Node.js.
Главное понять, что в некоторых случаях node.js будет выбором похуже чем другие системы.
Всё нужно применять с умом.
http://rsdn.nemerleweb.com
http://nemerleweb.com
Re: Может ли нравиться NodeJS?
От: sharpman Россия  
Дата: 13.04.17 10:24
Оценка: 2 (1)
Здравствуйте, Vetal_ca, Вы писали:

V_>Под NodeJS не писал совсем, JS в глаза видел. Практически любое собеседование где могли бы потребовать писать JS код на бумажке, я бы не прошел. Это, ес-но, я не скрывал.


Будет трудно, особенно с дебагом

Можно предложить им Edge.js, если C# захочется
.

Пессимисты говорят, что хуже быть не может,
а оптимисты всегда уверены, что — может!

.

Re: Может ли нравиться NodeJS?
От: Дэйв  
Дата: 13.04.17 03:51
Оценка: +1
Я всегда считал Node.js весьма странным поделием. Сервер, event loop — ок, но почему на JavaScript???
Re[2]: Может ли нравиться NodeJS?
От: StandAlone  
Дата: 13.04.17 15:26
Оценка: :)
Здравствуйте, John1979, Вы писали:

J>Я перешел с C++ на ноду очень легко. Если отбросить религиозные убеждения, то ничего страшного в жаваскрипте нет.


Как и в Quick Basic. Хотя, пожалуй, я несправедлив к бейсику.
Re[4]: Может ли нравиться NodeJS?
От: StandAlone  
Дата: 13.04.17 16:44
Оценка: -1
Здравствуйте, gandjustas, Вы писали:

G>Ты же понимаешь, что это тупость?


В отличие от тебя.

G>В TS мощный вывод типов, поэтому в 80% случаев типы писать не надо



Type-промеж ушей его ногами-Script
Re[2]: Может ли нравиться NodeJS?
От: __SPIRIT__ Россия  
Дата: 13.04.17 20:43
Оценка: -1
Здравствуйте, AndyCyp, Вы писали:

V_>>К постоянному обучению склонен и учиться мне нравится.


V_>>Под NodeJS не писал совсем, JS в глаза видел. Практически любое собеседование где могли бы потребовать писать JS код на бумажке, я бы не прошел. Это, ес-но, я не скрывал.


AC>использовать ТайпСкрипт, траспайлить его в ЕС5, и будет тебе счастье


если человек не знает js и не любит js, использование typescript строго противопоказано.
Получится поделие типа webForms — вроде бы веб, но такое говно...
Re: Может ли нравиться NodeJS?
От: mgu  
Дата: 14.04.17 03:26
Оценка: :)
Здравствуйте, Vetal_ca, Вы писали:

V_>Пособеседовался в одной компании. Все очень понравилось, не большая, динамичная, открытая.


V_>Под NodeJS не писал совсем, JS в глаза видел. Практически любое собеседование где могли бы потребовать писать JS код на бумажке, я бы не прошел. Это, ес-но, я не скрывал.


Вопросы (логические):

1. Зачем стартапу (нет пережитков старины) именно NodeJS?
2. Зачем на эту должность нанимать вас, когда нудистов (а тем более джаваскриптистов) вокруг, как говна за баней?

Гербалайфом попахивает.
Re[6]: Может ли нравиться NodeJS?
От: mgu  
Дата: 15.04.17 03:28
Оценка: +1
Здравствуйте, elmal, Вы писали:

E>Это понятно. Проблема в том, что типичный фронтэнд разработчик отсортировать что либо не в состоянии. Если готовый контрол не имеет функции сортировки, то все, задача нерешаемая.


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

E>К сожалению ни черта. Кто хочет 40 тысяч, те ранее работали курьерами и в макдональдсе, а книжку прочитать еще не успели, да и книжка эта была вида пишем hello world за 24 часа. Да и если у них диплом какого либо КтИУ ИТМО — тоже самое, про такую структуру данных, как дерево, они какого то черта не слышали. И к тому же я вопрос формулирую не что такое хешмап, а по другому. Например с бэкэнда пришла информация о пользователях в виде название организации, инн, выручка. Могут быть дубликаты по названию и инн. Ибо задача достаточно часто реально встречается на практике. Рассказать (не написать на бумажке!!!!) как они будут эти дубликаты отсеивать. Вот реально нерешаемая задача на фронтэнде, не в состоянии ее решить 90 процентов!


Какой кошмар! Понятно, что по-хорошему нужно устранять причину на сервере, но реально до тех разработчиков не достучаться: они целыми днями интервьюируют кандидатов с вопросами из книги "hello world за 24 часа".
Re[3]: Может ли нравиться NodeJS?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 15.04.17 13:42
Оценка: :)
Здравствуйте, StandAlone, Вы писали:


SA>Опишите, пожалуйста, как бы Вы решали с использованием JavaScript одну из типичных задач программирования. Всем, регулярно читающим этот раздел, они конечно же известны, но я все же напомню:

SA>1) Напишите реализацию quicksort
  думаешь там что-то удивительное будет?
/*
 * Алгоритм быстрой сортировки
 *
 * @param data Array
 * @param compare function(a, b) - возвращает 0 если a=b, -1 если a<b и 1 если a>b (необязательная)
 * @param change function(a, i, j) - меняет местами i-й и j-й элементы массива а (необязательная)
 *
 */
function qsort(data, compare, change) {
    var a = data,
        f_compare = compare,
        f_change  = change;

    if (!a instanceof Array) { // Данные не являются массивом
        return undefined;
    };

    if (f_compare == undefined) { // Будем использовать простую функцию (для чисел)
        f_compare = function(a, b) {return ((a == b) ? 0 : ((a > b) ? 1 : -1));};
    };

    if (f_change == undefined) { // Будем использовать простую смены (для чисел)
        f_change = function(a, i, j) {var c = a[i];a[i] = a[j];a[j] = c;};
    };

    var qs = function (l, r)  {
        var i = l,
            j = r,
            x = a[l+r>>1];
            //x = a[Math.floor(Math.random()*(r-l+1))+l];
            // x = a[l]; // Если нет желания использовать объект Math
 
        while(i <= j) {
            while(f_compare(a[i], x) == -1) {i++;}
            while(f_compare(a[j], x) == 1) {j--;}
            if(i <= j) {f_change(a, i++, j--);}
        };
        if(l < j) {qs(l, j);}
        if(i < r) {qs(i, r);}
    }; 
    qs(0, a.length-1);

};

https://gist.github.com/anagorsky/ebc333d1aa292fa47fa6


SA>2) Обойдите дерево в ширину.


  Также, как в любом другом языке
//BFS
Tree.prototype.traverse = function (callback) {
  var queue=[this];
  var n;

  while(queue.length>0) {

    n = queue.shift();
    callback(n.value);

    if (!n.children) {
      continue;
    }

    for (var i = 0; i< n.children.length; i++) {
       queue.push(n.children[i]);
    }
  }
};


SA>3) Реализуйте паттер Visitor.

Vistor в JS не нужен

  но если очень хочется
// see http://d.hatena.ne.jp/ashigeru/20090113/1231855642



var calc = {
  add: function (node) {
    return visit(this, node.l) + visit(this, node.r);
  },
  sub: function (node) {
    return visit(this, node.l) - visit(this, node.r);
  },
  val: function (node) {
    return node.val;
  }
};



var dump = {
  add: function (node) {
    return visit(this, node.l) + ' + ' + visit(this, node.r);
  },
  sub: function (node) {
    return visit(this, node.l) + ' - '  +  visit(this, node.r);
  },
  val: function (node) {
    return String(node.val);
  }
};

var node = {tag: 'add',
  l: {tag: 'val', val: 2},
  r: {tag: 'sub',
    l: {tag: 'val', val: 3},
    r: {tag: 'val', val: 1}
  }
};

function visit(visitor, node) {
  return visitor[node.tag].call(visitor, node);
}

console.log(visit(calc, node));
console.log(visit(dump, node));

https://gist.github.com/nakamura-to/2144314

Причем весь "паттерн" в одной функции visit


SA>4) Реализуйте иерархию слоя доступа к данным с элементами AOP, а именно наложением инвариантов посредством атрибутов.

Мы все еще про "одну из типичных задач программирования" ? На других языках подобного извращения в реальных проектах не встречал.

SA>6) Хорошо, напишите хоть что-нибудь размером хотя бы с ObservableCollection. И не забудьте прикрыть локтями ребра...

Вот пример https://github.com/knockout/knockout/tree/master/src/subscribables
Много кода, но не смертельно.

Но лучше посмотри как устроен Angular и Angular2. Там two-way databinding работает с обычными js-объектами и там не сильно нужны приседания с Observable_что_то_там

Вообще в JS не принято много писать. Обычно все что надо можно найти в npm\bower\тупо в интернетах.
Re[3]: Может ли нравиться NodeJS?
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 16.04.17 06:27
Оценка: +1
Здравствуйте, StandAlone, Вы писали:

SA>1) Напишите реализацию quicksort

SA>2) Обойдите дерево в ширину.
SA>3) Реализуйте паттер Visitor.
SA>4) Реализуйте иерархию слоя доступа к данным с элементами AOP, а именно наложением инвариантов посредством атрибутов.
SA>...
SA>6) Хорошо, напишите хоть что-нибудь размером хотя бы с ObservableCollection. И не забудьте прикрыть локтями ребра...

Я портировал кое какие вещи с дотнета, и все вышеперечисленное реализовал. Код почти один в один как в шарпе, но если писать сразу, без портирования, он будет заметно короче — там где AOP и визитор, например.
Единственная проблема это эвенты для коллекции, тут я взял готовый эмиттер, либа примерно в сотню-две строк, что бы сэмулировать шарповские эвенты.

После перевода этого на тайпскрипт с его дженериками разница с шарпом снизилась до смешного.
Re[7]: Может ли нравиться NodeJS?
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 20.04.17 11:25
Оценка: :)
Здравствуйте, senglory, Вы писали:

S>>>И то, что по моим наблюдениям произвольно взятый с целью познакомиться с технологией проект на C# с Codeproject берется, собирается и без видимых ошибок запускается в 8 случаях из 10. А с JS такое проходит хорошо если в 3 из 10. Или в наполнении Codeproject тоже я виноват?


I>>И что с того ? С++ как технология которой скоро 40 лет. Тебя ничего здесь не смущает ? Почему JS, который по факту гораздо моложе, а применяться по-взрослому начал вообще вчера, должен соответствовать твоим ожиданиям ?


S>Я в последнем посте помянул C#, если ты не видел.


JS по факту начал внятно применяться после 2005го, когда Гугл публично показал мастер-класс. SPA, хотя были запатентованы в 2002 или 2003м, массово начали применяться где то после 2010.

С# — почти вся инфрастуруктура для отладки той же наследована целиком и полностью от Visual Studio, которой сто лет в обед.

Чего тебе еще хочется ?
Может ли нравиться NodeJS?
От: Vetal_ca Канада http://vetal.ca
Дата: 13.04.17 00:45
Оценка:
Пособеседовался в одной компании. Все очень понравилось, не большая, динамичная, открытая.

Собеседующие готовы в десны расцеловать, режим свободный, можно из дому, корпоративного духа нет, с зарплатой не жмутся. HR-ника с цепи не спускали

Позиция DevOp/Backend Lead в любом удобном для меня соотношении.

Но, млин, NodeJS. Уверяют, что проблем с ним не будет, типа с моим опытом это то что надо. "Привнесешь идеи чоткой разработки" ...
Меня, любителя единопокрашенных заборов и прочих упорядоченных штук (типизированых языков) это гнетёт. Погуглил по теме "cons pros NodeJS" легче не стало.

С другой стороны, уж очень мне место понравилось, по опыту работы с такого общения получалось долговременное продуктивное сотрудничество. Противоположность надутым мутным политиканам старых уютных углов.
Хотя предложений работы много, приглашают поговорить на следующий день все. Все 3 места куда я подался . Да, знаю, мало, но не любитель я по собеседованиям ходить.

Можно сконцентрироваться на DevOp, но, тоже, не правильная тактика. Тем более что позиционирую себя как 2-в-1-м. Типа проблемы с разных углов вижу.
Как оно, удастся сжиться-слюбиться с NodeJS и привнести туда порядок? Или нет?

Будет ли это плюсом для мозгов и новым взглядом на веши? Или только притуплением, болью и мучением?
В принципе в мир чистого веба я пришел относительно недавно и есть привычка работать по самым слабым своим направлениям.

Я в голове прокручивал, куда бы дальше, Golang или Scala+Akka а тут такое.
И все это в городе есть. Тот же Morgan Stanley где пишешь 2 строчки на той же Java/Scala и потом 2 дня разрешение на коммит выбиваешь. Где все покрашено единообразно, с корпоративной речевкой и работа только с 9-17 с галстуком и скорпионами в банке.

К постоянному обучению склонен и учиться мне нравится.

Под NodeJS не писал совсем, JS в глаза видел. Практически любое собеседование где могли бы потребовать писать JS код на бумажке, я бы не прошел. Это, ес-но, я не скрывал.
Re[2]: Может ли нравиться NodeJS?
От: John1979  
Дата: 13.04.17 07:52
Оценка:
Здравствуйте, Дэйв, Вы писали:

Д>Я всегда считал Node.js весьма странным поделием. Сервер, event loop — ок, но почему на JavaScript???

потому, что религия гласит — fullstack, аминь
Re[2]: Может ли нравиться NodeJS?
От: Vetal_ca Канада http://vetal.ca
Дата: 13.04.17 12:55
Оценка:
Здравствуйте, sharpman, Вы писали:

S>Можно предложить им Edge.js, если C# захочется


Спасибо, для себя просмотрю что это.

А чтобы предлагать что-то, нужно это знать и понимать.

Сейчас для себя нужно продумать, как приготовить эту рыбу фугу чтобы более-менее деликатес был.
Re[2]: Может ли нравиться NodeJS?
От: Submitter  
Дата: 13.04.17 13:12
Оценка:
Здравствуйте, MxMsk, Вы писали:

MM>Знаю нескольких людей, ушедших в Ноду из Шарпов — никто не просится обратно. Так что, я бы считал Node.js плюсом, а не минусом.


Можно ли через Node.js (и JS вообще) переехать в Штаты по H1B (или другую развитую страну)? Какой для этого минимум?
Отредактировано 13.04.2017 13:13 Submitter . Предыдущая версия .
Re[3]: Может ли нравиться NodeJS?
От: John1979  
Дата: 13.04.17 13:25
Оценка:
Здравствуйте, De-Bill, Вы писали:

DB>Если отбросить убеждения, то можно писать и на 1C, и на PHP.

Безусловно, но на ноде есть много свежих и интересных (тм) проектов, в отличие от.
Re[3]: Может ли нравиться NodeJS?
От: MxMsk Португалия  
Дата: 13.04.17 14:22
Оценка:
Здравствуйте, Submitter, Вы писали:

S>Можно ли через Node.js (и JS вообще) переехать в Штаты по H1B (или другую развитую страну)? Какой для этого минимум?

К сожалению, тут я ничего сказать не могу.
Re[3]: Может ли нравиться NodeJS?
От: John1979  
Дата: 13.04.17 14:32
Оценка:
Здравствуйте, Submitter, Вы писали:

S>Можно ли через Node.js (и JS вообще) переехать в Штаты по H1B (или другую развитую страну)? Какой для этого минимум?

А в чем проблема ? Как мне показалось, всяким там амазонам вообще по барабану, на чем ты пишешь.
Re[2]: Может ли нравиться NodeJS?
От: StandAlone  
Дата: 13.04.17 15:24
Оценка:
Здравствуйте, m2l, Вы писали:

Во-первых, спасибо за возможность заглянуть под крышку черепной коробки одного из JS-любителей.

m2l>Ну чисто технически JS наверное один из самых простых языков. Какой нибудь WebStorm будет выдавать подсказки близкие к типизированным языкам, плюс есть всякие TypeScript. С другой стороны автоматическое выведение типов/дженерики в C++/C#/Java. Мне кажется в этом плане языки идут на встречу друг другу и каких-то проблем у тебя быть не должно. Новый взгляд будет точно. Какое притупление всё же больше не от языка зависит, а от того, что да как пишешь. ИМХО, если всё нравиться, то другая технология не должна быть проблемой.


Опишите, пожалуйста, как бы Вы решали с использованием JavaScript одну из типичных задач программирования. Всем, регулярно читающим этот раздел, они конечно же известны, но я все же напомню:
1) Напишите реализацию quicksort
2) Обойдите дерево в ширину.
3) Реализуйте паттер Visitor.
4) Реализуйте иерархию слоя доступа к данным с элементами AOP, а именно наложением инвариантов посредством атрибутов.
...
6) Хорошо, напишите хоть что-нибудь размером хотя бы с ObservableCollection. И не забудьте прикрыть локтями ребра...

Ждем-с!
Re[3]: Может ли нравиться NodeJS?
От: StandAlone  
Дата: 13.04.17 15:30
Оценка:
Здравствуйте, Submitter, Вы писали:

S>Можно ли через Node.js (и JS вообще) переехать в Штаты по H1B (или другую развитую страну)?


Как известно, многие через этот проход переехали в Штаты или другую развитую страну.

S>Какой для этого минимум?


Вроде бы надо найти еще одного любителя JS и в консульстве достаточно ярко продемонстрировать свои чувства.
Re[3]: Может ли нравиться NodeJS?
От: AndyCyp США  
Дата: 13.04.17 15:58
Оценка:
Здравствуйте, Олег К., Вы писали:

V_>>>Под NodeJS не писал совсем, JS в глаза видел. Практически любое собеседование где могли бы потребовать писать JS код на бумажке, я бы не прошел. Это, ес-но, я не скрывал.


AC>>использовать ТайпСкрипт, траспайлить его в ЕС5, и будет тебе счастье


ОК>Сколько же мути сейчас в вебе развелось... Костыль на костыле кругом.


ну да, ассемблер рулит, конечно
Re[3]: Может ли нравиться NodeJS?
От: AndyCyp США  
Дата: 13.04.17 16:00
Оценка:
Здравствуйте, Submitter, Вы писали:

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


MM>>Знаю нескольких людей, ушедших в Ноду из Шарпов — никто не просится обратно. Так что, я бы считал Node.js плюсом, а не минусом.


S>Можно ли через Node.js (и JS вообще) переехать в Штаты по H1B (или другую развитую страну)? Какой для этого минимум?


одна из самых популярных технологий, но с H1B это лоторея конечно
Re[2]: Может ли нравиться NodeJS?
От: Vetal_ca Канада http://vetal.ca
Дата: 13.04.17 16:50
Оценка:
Здравствуйте, gandjustas, Вы писали:

G>Стартап?


Человек 100, но не превратившийся (пока) в болото корпорацию

G>Не получится, культуру поменять сложнее всего.


Не менять, так влиять

G>Не переживай, для таких как ты есть typescript.


Надо будет посмотреть внимательнее

V_>>Будет ли это плюсом для мозгов и новым взглядом на веши? Или только притуплением, болью и мучением?

G>Однозначно.

Однозначно, что? или ?. Или все вместе? Это самый важный пункт и возможная коллизия со стратегией развития.

G>1) Если это стартап, то его положение (финансовое и рыночное) крайне нестабильное. Ты можешь потратить свое время проработав в компании, название которой через год все забудут.


Я в какой-то момент ушел в стартапы и осознанно забил на стабильность. Полностью, хоть завтра повалится. Выбор в сторону востребованности и мобильности.

Еще ни разу не пожалел, ибо получил гораздо большую job security за счет востребованности. Развитие идет гораздо быстрее. К повышенным оборотам мозги привыкают. Как, впрочем, и к пониженным.
В ущерб корпоративным навыкам и возможностю стать большим и жирным боссом в старой и гнилой корпорации. Нету митингов где можно поспать с открытыми глазами
По жизни я пока совсем не устал, скорее, наоборот. С каждой новой полученной технологией мысль, "Ну вот, теперь жизнь по-настоящему начинается"

В общем, хорошо прислушался в своё ко внутреннему 'я', получил карт-бланш на эксперименты от семьи. И с тех пор все замечательно, как с работой так и с деньгами.
Далее, если контора рассыпалась по несвязанным со мной обстоятельствам, то это идеальный случай. Можно на анемплоймент. Как раз разгрести накопившиеся внутренние задолженности по внутренним проектам. Волонтер на домашний и аффилиированный бизнес

Вообще, не честно, требовать одновременно имени, интересности, гибкости и стабильности (= фиг уволишь). Это нереалистично. И чисто во вред "высиживать" в неправильном месте, для себя во вред.

G>2) В NodeJS вполне возможно придется больше бороться с неработающими зависимостями, багами в окружающих продуктах, леворезьбовыми СУБД и прочим шлаком, который плодится с огромной скоростью. Вполне может оказаться что большую часть времени ты потратишь на приобретение навыка установки и настройки какойнить dzhopadb версии 1.53453.454857, который станет не актуальным в версии 1.63433.5656


Тут навыки DevOp и докера сгодятся. По крайней мере, чистота свежих контейнеров, контролируемость и повторяемость (из git) будут кстати.
Re[4]: Может ли нравиться NodeJS?
От: Олег К.  
Дата: 13.04.17 17:50
Оценка:
AC>ну да, ассемблер рулит, конечно

В наше время ассемблер не рулит. Что однако никак не противоречит сказанному.
Re[3]: Может ли нравиться NodeJS?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 13.04.17 19:04
Оценка:
Здравствуйте, Vetal_ca, Вы писали:

V_>>>Будет ли это плюсом для мозгов и новым взглядом на веши? Или только притуплением, болью и мучением?

G>>Однозначно.
V_>Однозначно, что?
Однозначно будет и то и другое.
Re[2]: Может ли нравиться NodeJS?
От: Vetal_ca Канада http://vetal.ca
Дата: 14.04.17 03:59
Оценка:
Здравствуйте, mgu, Вы писали:

mgu>1. Зачем стартапу (нет пережитков старины) именно NodeJS?


См. п 2
т.к.

нудистов вокруг, как говна за баней

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

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

mgu>2. Зачем на эту должность нанимать вас, когда нудистов (а тем более джаваскриптистов) вокруг, как говна за баней?


Сказали что просто с JS (JQuery и прочий frontend) на серверную часть не берут. Нужен опыт в распределенном бэкенде, пусть и без JS. Это паралеллизация, pipelining, sharding, AMQP и прочее

Еще народ специалиируеся или чисто в программировании или чисто в DevOp. Чтобы сразу 2 это редко. Им очень нужно, чтобы с 2-х сторон проблему понимал и координировал.
Re[4]: Может ли нравиться NodeJS?
От: mgu  
Дата: 14.04.17 04:04
Оценка:
Здравствуйте, elmal, Вы писали:

E>Попросить бекенд отсортировать за тебя! Фронтэнд должен заботитьсы об эффективности, ибо он выполняется на крайне малопроизводительных ресурсах. Потому сортировка, даже если это 10 элементов — должна выполняться на бекэнде. Там сервер мощный, не то что мобила на 2 гигагерца и 4 гига памяти.


Вопрос, где должна производиться сортировка, далеко не тривиальный и зависит от конкретных задач. Даже у мощных серверов проблемы с масштабируемостью. А так как информацию на переднем крае потребляет живой человек, то нет смысла передавать на веб-страницу/форму более тысячи элементов данных. Соответственно, качество сортировки такого небольшого объёма не имеет большого значения.

E>И вообще. Я хренею с современного джаваскрипта. Почему то в современных реалиях даже для сеньер фронтэнд разработчиков на нем невозможно сделать то, что без проблем делалось 10 лет назад на том же джаваскрипте. Раньше там был функционал словарей, и можно было без проблем удалять дупликаты. И это было встроено в язык.


Так и сейчас есть: все объекты -- это ассоциативные массивы, т. е. добавить дубликат невозможно, только переписать.

E>В современном джаваскрипте почему то для этого нужен алгоритм с квадратичной сложностью с пробеганием по массиву. Сколько ни собеседовал фронтэндеров, ни один не ответил что такое Dictionary, Map, ассоциативный массив. Кроме тех, кто хотят от 300 тыщ. Кто хотят 150 — те про такое не слышали.


ПризнАюсь, что я лично все эти термины узнал спустя лет 10 после их активного использования на практике. Спросите тех, кто хочет 40 тысяч (студентов) -- они бойко ответят на подобные вопросы.

E>И еще почему то это новое работает только на последней версии браузера, и только одного!


Вот это действительно вопрос вопросов: то есть на клиентов конторам попросту плевать, сайты клепаются только для отчётности в локальной сети, процессы uber alles.
Re[5]: Может ли нравиться NodeJS?
От: elmal  
Дата: 14.04.17 05:02
Оценка:
Здравствуйте, mgu, Вы писали:

mgu>Вопрос, где должна производиться сортировка, далеко не тривиальный и зависит от конкретных задач. Даже у мощных серверов проблемы с масштабируемостью. А так как информацию на переднем крае потребляет живой человек, то нет смысла передавать на веб-страницу/форму более тысячи элементов данных. Соответственно, качество сортировки такого небольшого объёма не имеет большого значения.

Это понятно. Проблема в том, что типичный фронтэнд разработчик отсортировать что либо не в состоянии. Если готовый контрол не имеет функции сортировки, то все, задача нерешаемая. Про топологическую сортировку я вообще молчу.

mgu>Так и сейчас есть: все объекты -- это ассоциативные массивы, т. е. добавить дубликат невозможно, только переписать.

Мне вот тоже так казалось. Но какого то черта типичный фронтэндер об этом не знает.

mgu>ПризнАюсь, что я лично все эти термины узнал спустя лет 10 после их активного использования на практике. Спросите тех, кто хочет 40 тысяч (студентов) -- они бойко ответят на подобные вопросы.

К сожалению ни черта. Кто хочет 40 тысяч, те ранее работали курьерами и в макдональдсе, а книжку прочитать еще не успели, да и книжка эта была вида пишем hello world за 24 часа. Да и если у них диплом какого либо КтИУ ИТМО — тоже самое, про такую структуру данных, как дерево, они какого то черта не слышали. И к тому же я вопрос формулирую не что такое хешмап, а по другому. Например с бэкэнда пришла информация о пользователях в виде название организации, инн, выручка. Могут быть дубликаты по названию и инн. Ибо задача достаточно часто реально встречается на практике. Рассказать (не написать на бумажке!!!!) как они будут эти дубликаты отсеивать. Вот реально нерешаемая задача на фронтэнде, не в состоянии ее решить 90 процентов!
Re[5]: Может ли нравиться NodeJS?
От: hrensgory Россия  
Дата: 14.04.17 08:33
Оценка:
14.04.2017 9:59, netch80 пишет:
> Здравствуйте, elmal, Вы писали:
>
> E>И вообще. Я хренею с современного джаваскрипта. Почему то в
> современных реалиях даже для сеньер фронтэнд разработчиков на нем
> невозможно сделать то, что без проблем делалось 10 лет назад на том же
> джаваскрипте.
> [...]
>
> Плач замечательный, но это явно не проблема языка.

Но это явно проблема. Реальная трудоемкость (человеко/часов) разработки
обычного Web-интерфейса CRUD и т.п. после того, как генерация DHTML
страниц на сервере была объявлена моветоном, возросла в РАЗЫ. И
обусловлено это в первую очередь именно калечностью языка, стандартно
понимаемого браузерами (т.е. JS). Именно из-за этого возникла
совершенно, извините за выражение, но по другому не скажешь — мудацкая
система с "компиляцией" ("транспиляцией") кода, исполняемого в браузере
из чего-нибудь, на чём хоть как-то можно писать большие проекты, весь
этот grunt, webpack и прочие nodejs костыли.

Да, при чётком разделении фронта и бэка страницы выходят более
красивыми/динамичными, и есть другие преимущества. Но стоимость этой
красоты в реале достаточно высока.

--
WBR,
Serge.
Posted via RSDN NNTP Server 2.1 beta
Re[3]: Может ли нравиться NodeJS?
От: Mr.Delphist  
Дата: 14.04.17 09:30
Оценка:
Здравствуйте, StandAlone, Вы писали:

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


J>>Я перешел с C++ на ноду очень легко. Если отбросить религиозные убеждения, то ничего страшного в жаваскрипте нет.


SA>Как и в Quick Basic. Хотя, пожалуй, я несправедлив к бейсику.


Ви таки не поверите, но был у меня один проект с Quick Basic — писал на асме модуль для ускорения работы с VESA-графикой.
Re[4]: Может ли нравиться NodeJS?
От: Kesular  
Дата: 14.04.17 19:53
Оценка:
Здравствуйте, elmal, Вы писали:

E>И вообще. Я хренею с современного джаваскрипта. Почему то в современных реалиях даже для сеньер фронтэнд разработчиков на нем невозможно сделать то, что без проблем делалось 10 лет назад на том же джаваскрипте.


Справедливости ради, десктоп этот рак тоже не обошел стороной. Ну или мне в последнее время с проектами не везет. То, что раньше делалось силами одного кодера за неделю, сейчас делается тремя за две, и чтобы использовалось не меньше 20 сторонних пакетов. Иначе все скажут, что не круто.
Впрочем, в вебе реально всё еще хуже
Re[3]: Может ли нравиться NodeJS?
От: mgu  
Дата: 15.04.17 03:06
Оценка:
Здравствуйте, Vetal_ca, Вы писали:

mgu>>2. Зачем на эту должность нанимать вас, когда нудистов (а тем более джаваскриптистов) вокруг, как говна за баней?


V_>Сказали что просто с JS (JQuery и прочий frontend) на серверную часть не берут. Нужен опыт в распределенном бэкенде, пусть и без JS. Это паралеллизация, pipelining, sharding, AMQP и прочее


Да, тогда резонно, а синтаксис языка -- это мелочи.
Re[2]: Может ли нравиться NodeJS?
От: Au Австралия  
Дата: 15.04.17 03:33
Оценка:
Здравствуйте, AndyCyp, Вы писали:

AC>использовать ТайпСкрипт, траспайлить его в ЕС5, и будет тебе счастье


Зачем в ES5? Можно и в ES6 с CommonJs модулями.
Re[6]: Может ли нравиться NodeJS?
От: mgu  
Дата: 15.04.17 03:37
Оценка:
Здравствуйте, hrensgory, Вы писали:

H>Но это явно проблема. Реальная трудоемкость (человеко/часов) разработки

H>обычного Web-интерфейса CRUD и т.п. после того, как генерация DHTML
H>страниц на сервере была объявлена моветоном, возросла в РАЗЫ.

Ну и объём передаваемых данных возрос не по-детски.

H>И обусловлено это в первую очередь именно калечностью языка, стандартно

H>понимаемого браузерами (т.е. JS).

Проблема не в языке, а в его применятелях не по назначению. Это всё равно как на легковой машине перевозить холодильник и хаять её низкую грузоподъёмность.
Re[6]: Может ли нравиться NodeJS?
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 15.04.17 03:58
Оценка:
Здравствуйте, mgu, Вы писали:

mgu>Для троих кодировщиков уже требуются ведущий, менеджер и политрук срам-мастер. Так что получается уже 6 голов.


Вот потому и плодятся конторы, в которых к горизонтальной координации просто принуждают.
Зато если кто вработался в это — можно ограничивать одним начальником любого вида на 10-30 человек.

mgu>Хе-хе, в Джаве раздел с include скоро по количеству строк превысит собственно код.


Инклуды чего?
The God is real, unless declared integer.
Re[4]: Может ли нравиться NodeJS?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 15.04.17 13:10
Оценка:
Здравствуйте, Lazy Bear, Вы писали:

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


V_>>>>Будет ли это плюсом для мозгов и новым взглядом на веши? Или только притуплением, болью и мучением?

G>>>Однозначно.
LB>Имхо JS после типизированных языков это АДЪ.
Есть TypeScript — вполне себе типизированный javascript.
Re[3]: Может ли нравиться NodeJS?
От: AndyCyp США  
Дата: 15.04.17 16:00
Оценка:
Здравствуйте, Au, Вы писали:

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


AC>>использовать ТайпСкрипт, траспайлить его в ЕС5, и будет тебе счастье


Au>Зачем в ES5? Можно и в ES6 с CommonJs модулями.


я имел ввиду клиента. JS на сервере — изврат, задачи у языка другие. Нода на сервере скорее нужна для сервер сайд рендеринга страниц.
Re[2]: Может ли нравиться NodeJS?
От: senglory  
Дата: 15.04.17 16:52
Оценка:
J>Я перешел с C++ на ноду очень легко. Если отбросить религиозные убеждения, то ничего страшного в жаваскрипте нет.

Ну да, конечно нет. Окромя вот такой хрени

конечно, ничего страшного. Случилось что-то невнятное внутри ангуляра какого или ReactJS — и все, затрахаешься понимать где у него ошибка.
Отредактировано 15.04.2017 16:53 senglory . Предыдущая версия .
Re[3]: Может ли нравиться NodeJS?
От: AndyCyp США  
Дата: 15.04.17 19:51
Оценка:
Здравствуйте, senglory, Вы писали:

S>конечно, ничего страшного. Случилось что-то невнятное внутри ангуляра какого или ReactJS — и все, затрахаешься понимать где у него ошибка.


и чем это будет отличаться от такой же ситуации в любом другом языке? Код и Ангулара и Реакта — имеется, дебажь сам — если на стаковерфолу забанили
Re[4]: Может ли нравиться NodeJS?
От: senglory  
Дата: 15.04.17 20:04
Оценка:
S>>конечно, ничего страшного. Случилось что-то невнятное внутри ангуляра какого или ReactJS — и все, затрахаешься понимать где у него ошибка.
J>какая связь между проблемами в твоем любимом говнофреймворке с яваскриптом в целом и node.js в частности ?

J>btw я немного писал на Angular 1.x, чуть больше на React и сейчас у меня шабашка на Angular 2

J>несмотря на то, что такую проблему, в теории, получить можно, на практике разработчик всегда знает где он накосячил.

Разработчик — который из? Я собираю проект, где задействованы помимо ангуляра 2 (как выяснилось, RC4 и RC5 мягко говоря, сильно отличаются, вплоть до несовместимости) еще 2 компонента от 2 разных девелоперов. И от кого добиваться внятной диагностики, а не этой херни со скриншота без малейшего указания на строку, где оно упало и на чем именно?
Re[2]: Может ли нравиться NodeJS?
От: senglory  
Дата: 15.04.17 20:15
Оценка:
G>Я бы на твоем месте переживал по поводу других вещей.
G>2) В NodeJS вполне возможно придется больше бороться с неработающими зависимостями, багами в окружающих продуктах, леворезьбовыми СУБД и прочим шлаком, который плодится с огромной скоростью. Вполне может оказаться что большую часть времени ты потратишь на приобретение навыка установки и настройки какойнить dzhopadb версии 1.53453.454857, который станет не актуальным в версии 1.63433.5656

Вот это в точку! Почему разработчики всего этого говна под названием JS не сделали его в удобоваримом (хотя бы менее фекальном) виде, чтобы не приходилось таким траходромом заниматься и впустую тратить время жизни?
Re[2]: Может ли нравиться NodeJS?
От: senglory  
Дата: 15.04.17 20:25
Оценка:
Au>я искренне не понимаю глубины ненависти к JavaScript

Тогда скажите, какие эмоции должна вызывать такая хрень, не указывающая ни на единое место в моем коде и, следовательно, в моей зоне ответственности? В C# и даже в С++ я имею возможность осмысленно дебагать проблему с гораздо меньшим выносом мозга.
Re[3]: Может ли нравиться NodeJS?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 15.04.17 20:27
Оценка:
Здравствуйте, senglory, Вы писали:

G>>Я бы на твоем месте переживал по поводу других вещей.

G>>2) В NodeJS вполне возможно придется больше бороться с неработающими зависимостями, багами в окружающих продуктах, леворезьбовыми СУБД и прочим шлаком, который плодится с огромной скоростью. Вполне может оказаться что большую часть времени ты потратишь на приобретение навыка установки и настройки какойнить dzhopadb версии 1.53453.454857, который станет не актуальным в версии 1.63433.5656

S>Вот это в точку! Почему разработчики всего этого говна под названием JS не сделали его в удобоваримом (хотя бы менее фекальном) виде, чтобы не приходилось таким траходромом заниматься и впустую тратить время жизни?


Речь не про язык, а про окружающие продукты и фреймворки. В языке как раз более-менее нормально.
Re[6]: Может ли нравиться NodeJS?
От: Kesular  
Дата: 15.04.17 20:57
Оценка:
Здравствуйте, mgu, Вы писали:

mgu>Для троих кодировщиков уже требуются ведущий, менеджер и политрук срам-мастер. Так что получается уже 6 голов.


Один тимлид и/или архитектор, один старший программист и один "просто программист". И я не преувеличиваю, сам видел такие примеры в реальности.
Re[5]: Может ли нравиться NodeJS?
От: John1979  
Дата: 15.04.17 21:43
Оценка:
Здравствуйте, senglory, Вы писали:

S>Разработчик — который из? Я собираю проект, где задействованы помимо ангуляра 2 (как выяснилось, RC4 и RC5 мягко говоря, сильно отличаются, вплоть до несовместимости) еще 2 компонента от 2 разных девелоперов.


от того, кто автор проекта, который смешал этот коктейль, это-же очевидно.
Re[6]: Может ли нравиться NodeJS?
От: senglory  
Дата: 15.04.17 22:22
Оценка:
S>>Разработчик — который из? Я собираю проект, где задействованы помимо ангуляра 2 (как выяснилось, RC4 и RC5 мягко говоря, сильно отличаются, вплоть до несовместимости) еще 2 компонента от 2 разных девелоперов.

J>от того, кто автор проекта, который смешал этот коктейль, это-же очевидно.


Почему же в С++ и в C# таких адовых проблем с элементарными шагами не было у меня никогда ,а тут грабля на грабле, и к тому же pluralsight ни разу не помогает это фекальные массы привести в божеский вид?
Re[3]: Может ли нравиться NodeJS?
От: Au Австралия  
Дата: 16.04.17 00:40
Оценка:
Здравствуйте, senglory, Вы писали:

Au>>я искренне не понимаю глубины ненависти к JavaScript


S>Тогда скажите, какие эмоции должна вызывать такая хрень, не указывающая ни на единое место в моем коде и, следовательно, в моей зоне ответственности? В C# и даже в С++ я имею возможность осмысленно дебагать проблему с гораздо меньшим выносом мозга.


Сочувствую, но JavaScript как язык тут не причем. Тут проблема в конкретной используемой библиотеке System.js, которая кстати никогда не была эталоном хорошей библиотеки.
Re[4]: Может ли нравиться NodeJS?
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 16.04.17 08:48
Оценка:
Здравствуйте, Ikemefula, Вы писали:
I>После перевода этого на тайпскрипт с его дженериками разница с шарпом снизилась до смешного.

Мне сочетание TS и ES6 очень нравятся.

По эвентам мой велосипед CEF, Angular 2 использование событий классов .Net Core
и солнце б утром не вставало, когда бы не было меня
Re[8]: Может ли нравиться NodeJS?
От: anton_t Россия  
Дата: 16.04.17 09:16
Оценка:
Здравствуйте, mgu, Вы писали:

mgu>Библиотек всяких. Современная программа на Джаве выглядит примерно так:

  Код
mgu>
mgu>package paper.bag;

mgu>import java.int;
mgu>import javax.math.operators.*;
mgu>import javay.util.semicolon;
mgu>import java.exceptions.vomiting;
mgu>import apache.commons.*;
mgu>import google.guano.*;
mgu>import java.annotations.*;

mgu>@NotNull
mgu>@NotImagenery
mgu>@Userializable
mgu>@Defecated
mgu>@Reject
mgu>/**
mgu>* Multiplies 2 by 2. The product of 3 by 3 is upcoming in the next marathon.
mgu>*
mgu>* @autor: Strudomprassal V.
mgu>*/
mgu>pubic int TwoByTwo() throws Sauerkraut, Cucumbers, Herring {
mgu>  @SuppressWarnings("unchecked")
mgu>  return (int)((2) * (2));
mgu>} 

mgu>

Вы явно не большой спец в Java. Названия методов в Java положено с маленькой буквы делать.
И код не валидный. Аннотации над return-ом нельзя ставить.
Отредактировано 16.04.2017 9:24 anton_t . Предыдущая версия .
Re[3]: Может ли нравиться NodeJS?
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 17.04.17 03:58
Оценка:
Здравствуйте, senglory, Вы писали:

S>Тогда скажите, какие эмоции должна вызывать такая хрень, не указывающая ни на единое место в моем коде и, следовательно, в моей зоне ответственности? В C# и даже в С++ я имею возможность осмысленно дебагать проблему с гораздо меньшим выносом мозга.


При чем здесь js? Ты проект организовал таким вот образом. У меня в этих же самых ZONE указаны файлы и номера строк.
Аналогично в c++ можно сварганить проект таким образом, что будет вылетать какой нибудь access violation с указанием адреса. И что?
Re[4]: Может ли нравиться NodeJS?
От: senglory  
Дата: 20.04.17 10:42
Оценка:
S>>Тогда скажите, какие эмоции должна вызывать такая хрень, не указывающая ни на единое место в моем коде и, следовательно, в моей зоне ответственности? В C# и даже в С++ я имею возможность осмысленно дебагать проблему с гораздо меньшим выносом мозга.

I>При чем здесь js? Ты проект организовал таким вот образом. У меня в этих же самых ZONE указаны файлы и номера строк.

I>Аналогично в c++ можно сварганить проект таким образом, что будет вылетать какой нибудь access violation с указанием адреса. И что?

И то, что по моим наблюдениям произвольно взятый с целью познакомиться с технологией проект на C# с Codeproject берется, собирается и без видимых ошибок запускается в 8 случаях из 10. А с JS такое проходит хорошо если в 3 из 10. Или в наполнении Codeproject тоже я виноват?
Re[5]: Может ли нравиться NodeJS?
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 20.04.17 11:05
Оценка:
Здравствуйте, senglory, Вы писали:

I>>При чем здесь js? Ты проект организовал таким вот образом. У меня в этих же самых ZONE указаны файлы и номера строк.

I>>Аналогично в c++ можно сварганить проект таким образом, что будет вылетать какой нибудь access violation с указанием адреса. И что?

S>И то, что по моим наблюдениям произвольно взятый с целью познакомиться с технологией проект на C# с Codeproject берется, собирается и без видимых ошибок запускается в 8 случаях из 10. А с JS такое проходит хорошо если в 3 из 10. Или в наполнении Codeproject тоже я виноват?


И что с того ? С++ как технология которой скоро 40 лет. Тебя ничего здесь не смущает ? Почему JS, который по факту гораздо моложе, а применяться по-взрослому начал вообще вчера, должен соответствовать твоим ожиданиям ?
Re[6]: Может ли нравиться NodeJS?
От: senglory  
Дата: 20.04.17 11:16
Оценка:
I>>>При чем здесь js? Ты проект организовал таким вот образом. У меня в этих же самых ZONE указаны файлы и номера строк.
I>>>Аналогично в c++ можно сварганить проект таким образом, что будет вылетать какой нибудь access violation с указанием адреса. И что?

S>>И то, что по моим наблюдениям произвольно взятый с целью познакомиться с технологией проект на C# с Codeproject берется, собирается и без видимых ошибок запускается в 8 случаях из 10. А с JS такое проходит хорошо если в 3 из 10. Или в наполнении Codeproject тоже я виноват?


I>И что с того ? С++ как технология которой скоро 40 лет. Тебя ничего здесь не смущает ? Почему JS, который по факту гораздо моложе, а применяться по-взрослому начал вообще вчера, должен соответствовать твоим ожиданиям ?


Я в последнем посте помянул C#, если ты не видел.
Re[6]: Может ли нравиться NodeJS?
От: StandAlone  
Дата: 21.04.17 16:08
Оценка:
Здравствуйте, Ikemefula, Вы писали:

I>И что с того ? С++ как технология которой скоро 40 лет. Тебя ничего здесь не смущает ? Почему JS, который по факту гораздо моложе, а применяться по-взрослому начал вообще вчера, должен соответствовать твоим ожиданиям ?


Да! JS дерьмо, вонючее дерьмо, но почему он должен соответствовать чьим-то ожиданиям!
Заходим фконтактег, и видим:
http://forum.mozilla-russia.org/viewtopic.php?pid=735355#p735355

ErrorignoreYes
Re: Проблемы с сайтом vk.com (ВКонтакте) в браузерах Mozilla

JavaScript error: str is undefined
JavaScript error: Mutations are not initialized

Сегодня появились такие ошибки в ВК , использую обозреватель Палмун, порядка 20 разных браузеров на разных компьютерах , и везде вылезли эти ошибки .
Теперь нельзя написать в диалоги вк, просмотреть диалоги , остальное работает.


Открываем консоль, видим что валится emoji.js:1129, смотрим этот код.
И испытываем истинное наслаждение от знаменитого качества прославленных разработчиков сайта-идеала для апологетов JS
setStickersKeywords: function(keywords, update) {
  if (!keywords) {
    return false;
  }

  window.stickersKeywords = {};

  var el = ce('div');
  var sep = '\n';
  var acc = [];
  var str = '';

  keywords.forEach(function(item) {
    var words = item.words || [];
    var user = item.user_stickers || [];
    var promo = item.promoted_stickers || [];
    var res = user.concat(promo.map(function(id) {
      return -id;
    }));

    words.forEach(function(word) {
      str += sep + word;
      acc.push(res);
    });
  });

  val(el, str);

  str = el.textContent || el.innerText;

  str.slice(sep.length).split(sep).forEach(function(word, i) {
    window.stickersKeywords[word] = acc[i];
  });

  if (!Emoji.stickers[-1]) {
    var recent = ls.get('recent_stickers');
    if (recent) {
      Emoji.stickers[-1] = recent;
    }
  }

  if (update) {
    ls.set('stickers_keywords', {time: vkNow(), keywords: keywords});
    Emoji.updateStickersHints(true);
  }
}


Предвосхищая твой вопрос, Ikemfula "А чё не так-то, што случаицца", отвечу сразу.
С этим кодом все так. Он прекрасен. Он совершенен в своей форме свернутой на донышке унитаза вонючей личинки. Так же как твоя реализация Визитора или событий через браузерную очередь событий от UI.

Пора уходить от икемфул подальше, в управдомы...
Re[7]: Может ли нравиться NodeJS?
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 21.04.17 16:54
Оценка:
Здравствуйте, StandAlone, Вы писали:

SA>Открываем консоль, видим что валится emoji.js:1129, смотрим этот код.

SA>И испытываем истинное наслаждение от знаменитого качества прославленных разработчиков сайта-идеала для апологетов JS

И давно vk стал идеалом для апологетов JS ? Ты андройдом пользуешься ? Если так, то ты почти каждый день пользуешь софт, который писан на жеэсе и даже не подозреваешь этого.

SA>Предвосхищая твой вопрос, Ikemfula "А чё не так-то, што случаицца", отвечу сразу.

SA>С этим кодом все так. Он прекрасен. Он совершенен в своей форме свернутой на донышке унитаза вонючей личинки. Так же как твоя реализация Визитора или событий через браузерную очередь событий от UI.

С жеэсом только одна проблема — его слишком много и повсюду, потому возникает ощущение, что глючит именно он. Хоть что нибудь, да будет глючить.
Re[4]: Может ли нравиться NodeJS?
От: StandAlone  
Дата: 27.04.17 19:47
Оценка:
Здравствуйте, gandjustas, Вы писали:

SA>>Опишите, пожалуйста, как бы Вы решали с использованием JavaScript одну из типичных задач программирования.


G>думаешь там что-то удивительное будет?

...
G>Вообще в JS не принято много писать. Обычно все что надо можно найти в npm\bower\тупо в интернетах.

Re[8]: Может ли нравиться NodeJS?
От: StandAlone  
Дата: 27.04.17 19:50
Оценка:
Здравствуйте, Ikemefula, Вы писали:

I>С жеэсом только одна проблема — его слишком много и повсюду, потому возникает ощущение

Re[4]: Может ли нравиться NodeJS?
От: Ночной Смотрящий Россия  
Дата: 06.05.17 10:53
Оценка:
Здравствуйте, elmal, Вы писали:

E>Попросить бекенд отсортировать за тебя! Фронтэнд должен заботитьсы об эффективности, ибо он выполняется на крайне малопроизводительных ресурсах.


Это с одной стороны. А с другой — у фронта свой собственный девайс, а бэку надо обслуживать всех. И когда на бек, внезапно, начинают ходить, нет, не миллионы и прочие АЭС, а хотя бы десяток пользователей в секунду, то, внезапно, у любителей переваливать все задачи на бэк начинаются серьезные проблемы. Вот прям сейчас с очередным таким проектом разгребаюсь.

E> Потому сортировка, даже если это 10 элементов — должна выполняться на бекэнде. Там сервер мощный, не то что мобила на 2 гигагерца и 4 гига памяти.


Уже на десятке-другом одновременных пользователей на каждого из них приходится меньше ресурсов, чем даже на кетайском андроедофоне. С другой стороны, отдельные любители ангуляров умудряются добиться конкретных тормозов в банальном интернет-магазине на полноценном Core M, а на смарте таким суперсайтом пользоваться просто невозможно.
Вобщем, все как обычно — крайности в инженерном деле не работают. И, кстати, к вопросу о full stack из соседнего топика.
Re[3]: Может ли нравиться NodeJS?
От: Ночной Смотрящий Россия  
Дата: 06.05.17 10:53
Оценка:
Здравствуйте, StandAlone, Вы писали:

SA>3) Реализуйте паттер Visitor.


В динамических языках полностью бессмысленный паттерн. Смысл визитора — динамическая диспетчеризация по типу вне собственно типов-аргументов. В JS можно извне подвесить любому прототипу любой метод, так что визитор не нужен.
Re[5]: Может ли нравиться NodeJS?
От: Ночной Смотрящий Россия  
Дата: 06.05.17 10:53
Оценка:
Здравствуйте, sharpman, Вы писали:

S>Ты учитель информатики в школе?


Нет, просто человек принципиально не разбирающийся в технологиях фронта. Сам таким был. В результате — прям по Пруткову, "узкий специалист подобен флюсу ...".
Re[7]: Может ли нравиться NodeJS?
От: Ночной Смотрящий Россия  
Дата: 06.05.17 10:53
Оценка:
Здравствуйте, Kesular, Вы писали:

K>Один тимлид и/или архитектор, один старший программист и один "просто программист". И я не преувеличиваю, сам видел такие примеры в реальности.


И что с ними не так? По сути три разработчика, просто разного уровня. К ним еще, обычно, полагается PM и product owner. Совершенно типовая структура, применяемая в куче вполне успешных софтовых компаний.
Re[4]: Может ли нравиться NodeJS?
От: StandAlone  
Дата: 06.05.17 18:26
Оценка:
Здравствуйте, Ночной Смотрящий, Вы писали:

НС> В JS можно извне подвесить любому прототипу любой метод, так что визитор не нужен.


===

function B() {} // базовый конструктор
function A() {} // производный конструктор

b = new B();
A.prototype = b;

var sv = A.prototype;
delete A.prototype;
a = new A(); // создаём объект-экземпляр с помощью A;
A.prototype = sv;

alert(a.constructor) // (?)
alert(a.constructor.prototype.constructor) // (?)
...
// ???
// ??????
// W !!!! T !!!! F !!!!!!



Re[5]: Может ли нравиться NodeJS?
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 11.05.17 17:55
Оценка:
Здравствуйте, StandAlone, Вы писали:

SA>Здравствуйте, Ночной Смотрящий, Вы писали:


НС>> В JS можно извне подвесить любому прототипу любой метод, так что визитор не нужен.


SA>===

SA>

SA>function B() {} // базовый конструктор
SA>function A() {} // производный конструктор

SA>b = new B();
SA>A.prototype = b;


Это JS образца пятнадцатилетней давности.

Вот современный JS, вставь его себе в браузер и убедись:
var _someProperty = Symbol();

class A_ES6 {
    constructor(value) {
        this[_someProperty] = value;
    }

    get someProperty() {
        return this[_someProperty];
    }

    set someProperty(value) {
        this[_someProperty] = value;
    }

    doSomething() {
        console.log(`A_ES6 ${this.someProperty}`);
    }
}

class B_ES6 extends A_ES6 {
    constructor(name) {
        super(name);
    }

    doSomething() {
        console.log(`B_ES6 ${this.someProperty}`);
    }
}

new B_ES6('xxx').doSomething()


Если хочешь изврата, то открой для себя хотя бы Object.create()

function ctorA(value) {
    this.value = value;
}

ctorA.prototype.method = function () {console.log('ctorA',this.value)}

function ctorB(value) {
   ctorA.call(this, value);
}

ctorB.prototype = Object.create(ctorA.prototype)
ctorB.prototype.constructor = ctorB;

ctorB.prototype.method = function () {console.log('ctorB', this.value)}

new ctorB('xxx').method()
Re[5]: Может ли нравиться NodeJS?
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 12.05.17 09:27
Оценка:
Здравствуйте, StandAlone, Вы писали:

НС>> В JS можно извне подвесить любому прототипу любой метод, так что визитор не нужен.


SA>===

SA>

SA>function B() {}
SA>function A() {}

SA>b = new B();
SA>A.prototype = b; <-----------

SA>var sv = A.prototype;
SA>delete A.prototype; <-----------
SA>a = new A();
SA>A.prototype = sv; <-----------

SA>alert(a.constructor) // (?)
SA>alert(a.constructor.prototype.constructor) // (?)


1 prototype — нативное свойство. Свойства, особенно нативные, удалить не получится. Потому выделенные строчки ничего не меняют.

2 Теперь, если ты в консоли укажешь вот такое A.prototype.constructor === a.constructor, то увидишь true. Почему так ? Это ожидаемое поведение, как и должно быть. А вот a.constructor === B даёт true тебе кажется странным. Объяснение простое — ты сам перезаписал прототип A.

Если это трудно понять, то достаточно вывести console.dir(C.prototype.constructor) где C новая функция, ничем не запомоеная.
С.prototype.constructor === C !
Теперь если сделать c = new C() то экземпляр C получит в качестве значения constructor именно C.prototype.constructor.

Надо ли объяснять, что в твоём случае с А ровно так же, только ты запомоил прототип и указал там B. Т.е. всё просто — именно прототип определяет объект. Собственно это следует из того факта, что JS это прототипное ООП.

В сумме получается так — для тебя в новинку это самое прототипное ООП, но ты продолжаешь его насиловать и ждёшь, что оно станет привычной тебе симуловской разновидностью.

Поведение мало того, что логичное, еще и очень полезное. Позволяет инструментировать конструктор, но при этом инструментирование нисколько не засоряет иерархию наследования. Т.е. если ты влупишь instanceOf, всё будет как и должно быть в симуловском варианте.
Re[6]: Может ли нравиться NodeJS?
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 12.05.17 10:59
Оценка:
Здравствуйте, mgu, Вы писали:

K>>Справедливости ради, десктоп этот рак тоже не обошел стороной. Ну или мне в последнее время с проектами не везет. То, что раньше делалось силами одного кодера за неделю, сейчас делается тремя за две, и чтобы использовалось не меньше 20 сторонних пакетов. Иначе все скажут, что не круто.


mgu>Для троих кодировщиков уже требуются ведущий, менеджер и политрук срам-мастер. Так что получается уже 6 голов.


И это правильно. Всё как и везде. Ремонт в квартире доверь исполнителям, что бы никто их не контролировал, не руководил и убедись.

Если ремонт делается силами одного человека, то строитель, бригадир и прораб это один человек и это просто роли, которые этот человек совмещает.
Если ремонт посложнее и строителей несколько, то самый минимум — выделяется бригадир и он же выполняет роль прораба.
Если ремонт еще сложнее, то бригадир уже не справится и роль прораба лучше доверить отдельному человеку.
При этом с заказчиком коммуницируют все еще бригадир и/или прораб.
А если ремонт еще сложнее, то коммуникацию с заказчиком лучше доверить отдельному человеку.

В разработке все идет примерно к такой же модели. Для троих кодировщиков нужен ведущий(бригадир), менеджер(прораб) и коммуникатор, частный случай которого есть скрам-мастер. В идеальном случае роли могут быть распределены между троими кодерами. Но в большинстве случаев это уже не так.

Вобщем если у тебя таки есть сомнения, запусти в свою квартиру несколько стройбанов, из тех что подешевле, и проверь.
Отредактировано 12.05.2017 11:27 Pauel . Предыдущая версия .
Re[7]: Может ли нравиться NodeJS?
От: mgu  
Дата: 15.05.17 00:50
Оценка:
Здравствуйте, Ikemefula, Вы писали:

I>И это правильно. Всё как и везде. Ремонт в квартире доверь исполнителям, что бы никто их не контролировал, не руководил и убедись.


Интересное сравнение.

I>В разработке все идет примерно к такой же модели. Для троих кодировщиков нужен ведущий(бригадир), менеджер(прораб) и коммуникатор, частный случай которого есть скрам-мастер. В идеальном случае роли могут быть распределены между троими кодерами. Но в большинстве случаев это уже не так.


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

I>Вобщем если у тебя таки есть сомнения, запусти в свою квартиру несколько стройбанов, из тех что подешевле, и проверь.


Плавали, знаем. Если кратко, то кадры решают всё. А уж как они садятся, не имеет значения.
Re[8]: Может ли нравиться NodeJS?
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 15.05.17 08:24
Оценка:
Здравствуйте, mgu, Вы писали:

I>>В разработке все идет примерно к такой же модели. Для троих кодировщиков нужен ведущий(бригадир), менеджер(прораб) и коммуникатор, частный случай которого есть скрам-мастер. В идеальном случае роли могут быть распределены между троими кодерами. Но в большинстве случаев это уже не так.


mgu>Коммуникатор -- это, скорее, продукт-говнер. Я при всей своей фантазии не могу себе представить личность, которая каждое утро допрашивает строителей по поводу того, что им мешало танцевать.


Коммуникатор нужен не для контроля исполнителей. Для этого у них бригадир-тимлид. Коммуникатор говорит с заказчиком, что бы у заказчика была полная информация о состоянии дел и что бы у заказчика узнавать все необходимые требования, уточнения и тд.
Re[9]: Может ли нравиться NodeJS?
От: mgu  
Дата: 15.05.17 23:18
Оценка:
Здравствуйте, Ikemefula, Вы писали:

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


Так и я о том же:

Владелец продукта (Product Owner) — представляет интересы конечных пользователей и других заинтересованных в продукте сторон.

https://ru.wikipedia.org/wiki/Scrum
Re[10]: Может ли нравиться NodeJS?
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 16.05.17 08:52
Оценка:
Здравствуйте, mgu, Вы писали:

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


mgu>Так и я о том же:


mgu>

mgu>Владелец продукта (Product Owner) — представляет интересы конечных пользователей и других заинтересованных в продукте сторон.


Ты совсем о другом.

Представь себе, отдел маркетинга-менеджмента человек надцать, занимаются самыми разными вещами. Продукт овнер отвечает конкретно за продукт. Кроме продукта есть еще масса вещей — реклама та же, сопутствующие сервисы, другие продукты, пакеты всевозможные.
И команда — человек надцать.

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