среда, декабря 24, 2014

Полезные заметки javascript разработчика - 1

Работа в большой команде с git требует усложнения процесса, есть отличная статья об Удачной модели ветвления в git
Я уже ранее писал об основах работы в git
Не давно потребовалось перименовать текст последнего коммита, вот решение:
git commit --amend [-m 'new text'] - откроется редактор и вы сможете исправить текст.
git push [origin master]
Здесь подробнее.

В последнее время приходится много работать с mongo, и при миграции данных, когда не понятно, что творится в бд (как вы знаете mongo это документо-ориентированная бд, в которой можно хранить документы с разной структурой в одной коллекции/таблице). Потребовалось понять какие существуют поля в документах, и конечно нашлась статья в stackoverflow
Для это в консоли mongo создадим дополнительные коллекции
mr = db.runCommand({
  "mapreduce" : "my_collection",
  "map" : function() {
    for (var key in this) { emit(key, null); }
  },
  "reduce" : function(key, stuff) { return null; }, 
  "out": "my_collection" + "_keys"
})
Получить результат:
db[mr.result].distinct("_id")


Функция Array.some будет очень полезна для поиска в массиве элементов соответствующих условию
Пример использования:
function isBigEnough(element, index, array) {
  return element >= 10;
}
var passed = [2, 5, 8, 1, 4].some(isBigEnough);
// passed равен false
passed = [12, 5, 8, 1, 4].some(isBigEnough);
// passed равен true
Самое приятное, что функция пробегает не по всему массиву, а до первого совпадения, это можно проверить добавив счетчик в isBigEnough. Это работает на последней node (0.10) и в вашем любимом современном браузере.

Комментариев нет: