Обновить
28
Никита Гусаков@hell0w0rd

Пользователь

12
Подписчики
Отправить сообщение
Уважаемый, вы либо троллите, либо заблуждаетесь. Само понятие глупый подразумевает незнание. Чтобы получить что-то в контекст, это что-то нужно попросить.
Глупый компонент — это компонент имеющий пропсы, редко стейт (на пример кастомный checkbox). Но никак не контекст.
Но самый элегантный путь — это использование контекста.

По рукам надо за такое бить. Не документированная фича — это не просто так, что разработчики забыли. Это очень спорная фича, не до конца реализованная и не факт, окажется ли она в 1.0, или будет точно такой же в следующих релизах.
Ну, code, наверное. На JS нет IDE, во всяком случае в вашем понимании. А WebStorm — это не IDE для JS. Это маркетинговый булшит.
Хотя, посмотрите на Nuclide. Это одна из попыток, сделать из Atom IDE. Судя по презентации, facebook использует Atom, как IDE вместо xcode, phpstom и webstorm. Там есть много возможностей, которые дает полноценная IDE.
Ок. Если вы реально упретесь в что-то из выше перечисленного, можно написать расширение на любом языке с поддержкой ffi, или просто взять плюсы и написать эту конкретную задачу нативно.
Я думаю каждый инструмент имеет ограниченную область применения. Но я всего лишь не согласен с тем, что у JS — это только браузер.

А по поводу потоков — я не достаточно компетентен, чтобы продолжать тут спорить. На вскидку — да, свой стек, конкурентный доступ к общей памяти.
Можно пример, когда промисы не спасают? Ну и если так наплевательски относиться к IO, у вас все встанет в какой-то момент, что с колобками, что с потоками. Помимо прочего потоки — это лишняя память и лишнее процессорное время.
Я не понимаю к чему вы мне это рассказываете. У нас однопоточное приложение, IO которого работает асинхронно. Это ровно все, что предоставляет нам node. Какие общие области памяти могут быть у одного треда?
Научился. Только он зависает на некоторое время, прежде чем можно скроллить. Sublime тоже зависает, но показывает прогресс-бар.
IDEA тоже не открывает большие файлы нормально)
1) node.js как раз для этого и создан. v8 и выпущен отдельно. Это просто JIT машина для js. Как JVM для java/scala/closure.
2) JS — это просто язык. В любом просто языке нет никаких функций, есть переменные, типы данных, арифметика, возможность объявлять функции, классы и тп. Node.js — это в том числе стандартная библиотека для JS вне браузера. На пример в node.js нет DOM Api, или localStorage. Потому что это расширения для языка внутри браузера.
Ну и возьмите C++, там нет библиотеки для работы с файловой системой, ну так, к слову.
3) Как минимум десяток таких есть. Более того есть библиотеки, которые также как node.js, или браузер прокидывают нативное api в JS. React Native/Nativescript.

Прежде чем делать громкие заявления — разберитесь в теме.
А можно пример, как в многопоточных приложениях решается гонка за ресурсами? Я думаю и там и там нужно держать пул соединений к базе, или вы о чем то другом?
Гм, ну посмотрите на современный js. Есть промисы, есть, пока не стандартизованные, но таки доступный к использованию async/await.
app.get('/users', async (req, res) => {
  const users = await User.findAll();
  res.json(users);
});

Вот пример из реального проекта, авторизация:
async authorize(username, password) {
  const user = await User.findOne({
    where: {username}
  });
  if (user && await user.checkPassword(password)) {
    return user;
  }

  throw new Error(`Unknown user ${username}`);
}

Если не нравится не стандартизованные фичи, вот во что это компилируется:
const authorize = bluebird.coroutine(function *authorize(username, password) {
  const user = yield User.findOne({
    where: {username}
  });
  if (user && yield user.checkPassword(password)) {
    return user;
  }

  throw new Error(`Unknown user ${username}`);
});

Можно писать так. Это уже доступно и прекрасно работает в io.js.
tern.js, на пример, проект. Пользуется популярностью у любителей простых редакторов, а не IDE. То есть vim/atom/sublime etc.
А тут делается через асинхронность. Так работает nginx, на пример. От shared memory столько же минусов, сколько и плюсов. Например в JS сложно получить deadlock, чего не скажешь о многопоточных приложениях.
bluebird.coroutine быстрее ;)
Судя по выступлению в Яндексе, на пример, они сделали дизайн для Chrome Store. Посмотрите на их сайт.
и я уверен любой фреймверк с большим количеством данных будет тормозить

Слепая уверенность до добра не доводит: facebook.github.io/fixed-data-table/example-object-data.html
Почему вы рассматриваете реакт, как средство для увеличения производительности приложения? Если только для этого — есть более быстрые инструменты. React — это вовсе не про скорость, а про удобство написания и тестирования компонентов. Скорость — просто одно из достоинств реализации. Ну и ждите 0.14, там есть некоторые улучшения в этом плане.
Немного не дотянуло до 1-ого места «доброе» видео, где один дрон пытается достать с недоступной крыши своего товарища. Смотрим что из этого получилось.

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

О чем тут спорить?

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

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность