Обновить
26
0
Maksim@MuLLtiQ

Software engineer

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

Но с instanceof-то что не так? Написанное здесь мне непонятно.

<<цитата>>
function Foo() {}
function Bar() {}
Bar.prototype = new Foo();

new Bar() instanceof Bar; // true
new Bar() instanceof Foo; // true

// Всего лишь присваиваем Bar.prototype объект функции Foo,
// но не экземпляра Foo
Bar.prototype = Foo;            // # WAT???!!!
new Bar() instanceof Foo; // false # А с чего бы должно быть true?
<<конец цитаты>>

Зачем присваивать прототипу не экземпляр, а класс и удивляться, что instanceof возвращает false?

В общем:
console.log([] instanceof Array); // true
console.log(new Array() instanceof Array); // true
console.log(Array() instanceof Array); // true

Это работает.
if (Object.prototype.toString.call(arr) === '[object Array]') { ... }


Зачем? Может я чего-то не понимаю, но почему так, а не

if (arr instanceof Array) { ... }

Ооо, меньше секунды :) Тоже неплохо
Вообще — классическая задача на MapReduce.

Мой вариант (не факт что быстрый):
#!/usr/bin/env python
import re

N = 5

with open('pg2600.txt', 'r') as f:
    word_list = re.findall(r'\w+', f.read())

def reduce_func(x, y):
	for key in y:
		x[key] = x.get(key, 0) + y[key]
	return x

mr_result = reduce(reduce_func, map(lambda x: {x: 1}, word_list))

print filter(lambda x: mr_result[x] == N, mr_result.keys())
Честно сказать, как-то это… неочевидно, наверное, выглядит.
А ещё вспомнилась прекрасная статья: habrahabr.ru/post/150594/
>>
var _ref, _ref1;
if (typeof a !== "undefined" && a !== null) {
  if ((_ref = a.b) != null) {
    if ((_ref1 = _ref.c) != null) {
      _ref1.d;
    }
  }
}


Мне кажется, тут вы переборщили:

if (typeof a !== "undefined" && a !== null && a.b && a.b.c) {
  a.b.c.d;
}
> Мигель предлагал встраивать Mono в браузеры, емнип, но, конечно, отказались.

Это к с Джавой получилось бы, наверное :)

И вообще — собственный HTML, с си-шарпом и… Markdown-ом, например :-D
Я не уверен насчёт остального, но Dart, TypeScript и CoffeeScript — компилируют свой код в код на JS.

В Dart еще и собственная виртуальная машина есть, но работает только в Хроме.
JS — это, своего рода, «ассемблер» веба. Ниже него для веб-страниц ничего нет.
Питон тоже будет
Aggregation Framework только в 2.2 появился. Я думаю что MapReduce в изначально именно как механизм для реализации аггрегирующих операций появился, с появлением Aggregation Framefork необходимость в его использовании снизилась, всё-таки он медленнее и сложнее.

Думаю MapReduce в Монго уйдёт в специфическую область, тем более для него Hadoop можно использовать.
Я в 8 чуть не ошибся, где вопрос про репликацию и падение мастера. Додумался до правильного ответа когда начал делать домашнюю работу по M102 :) Всё-таки мысль проходить сразу два этих курса — очень правильная.
В каком вопросе ошиблись, если не секрет? :)
Я туда перешел через пункт «Terms of Service» внизу на appengine.google.com
Ё-маё, а это вы откуда взяли?
Может потому что TOS надо здесь читать, а не копошиться в шаблонах?
Меня в этих лекциях больше всего напрягала рука, мечущаяся по экрану. Лучше бы просто курсор оставили.

Информация

В рейтинге
Не участвует
Дата рождения
Зарегистрирован
Активность