Как стать автором
Обновить

MSSql: Использование оператора APPLY в TSql

Время на прочтение 2 мин
Количество просмотров 45K
SQL *
Недавно, реализуя некоторый код доступа к данным, я столкнулся с задачей выбора последних N записей для каждой сущности. Пользователь kuda78 подсказал вместо многоэтажной выборки использовать метод SelectMany.
Исследуя, какой SQL код создает LinqToSQL, я натолкнулся на интересный SQL оператор APPLY.
Читать дальше →
Всего голосов 28: ↑21 и ↓7 +14
Комментарии 16

Link, $observe и $watch функции в директивах, выполняемые в контексте AngularJS

Время на прочтение 6 мин
Количество просмотров 22K
Разработка веб-сайтов *JavaScript *Angular *
Туториал
Перевод
При запуске своего кода внутри контроллера или сервиса не приходится беспокоиться о вызове $apply(), поскольку код выполняется внутри контекста Ангуляра. Под этим подразумевается, что Ангуляр понимает, что ваш код находится в процессе выполнения и выполнит грязную проверку (dirty-check) после завершения его работы. Когда же вы находитесь внутри директивы, мировоззрение Ангуляра чуть более ограничено; теперь директива должна заботиться о вызове $apply() (или вызове $apply() с чем-то вроде $timeout), когда необходимо сообщить Ангуляру об изменениях в модели представления (т. е. $scope). Однако, определить когда это нужно делать, немного сложнее, потому что некоторые аспекты директивы фактически выполняются внутри контекста Ангуляра.

Если вы уже создавали свои собственные директивы, можно не сомневаться, что видели одно из двух сообщений:

$apply is already in progress.
$digest is already in progress.
Читать дальше →
Всего голосов 20: ↑20 и ↓0 +20
Комментарии 0

Схема аргументов javascript функции или C-style прототипы без тяжёловесных фреймворков

Время на прочтение 3 мин
Количество просмотров 7.2K
JavaScript *
Из песочницы
Многие сталкивались с необходимостью использовать необязательные аргументы функции. Если такой аргумент один, да ещё и последний, то особых проблем не возникает.

function set(name, value){
    if(value == undefined){
        value = name;
    }
    ...
}

Читать дальше →
Всего голосов 12: ↑7 и ↓5 +2
Комментарии 18

Bind, Call и Apply в JavaScript

Время на прочтение 3 мин
Количество просмотров 120K
JavaScript *
Перевод
От переводчика:
Прошу принять во внимание, что приведенный здесь код, возможно, не является хорошими практиками. Тем не менее разбор сниппета из этого поста может оказаться еще одним поводом окунуться в функциональный JavaScript.


Недавно я увидел изящный JS сниппет в этом твите.
var bind = Function.prototype.call.bind(Function.prototype.bind); // #fp

Взглянув на него, я смог догадаться, что он делает. Он превращает x.y(z) в y(x, z). Радуясь как ребенок, я показал его своим коллегам. Они спросили меня, что же тут происходит. Я открыл рот, чтобы объяснить и… не смог сказать ни слова. Я развернулся и ушел.
Читать дальше →
Всего голосов 65: ↑52 и ↓13 +39
Комментарии 42

Работа с гетерогенными контейнерами с C++17

Время на прочтение 10 мин
Количество просмотров 21K
Ненормальное программирование *C++ *
Из песочницы
Привет, Хабр! В последнее время много говорят о C++17, особенно с появлением в России национальной рабочей группы по стандартизации. На просторах сети без особых проблем можно найти короткие примеры использования последнего стандарта C++. Всё бы хорошо, но по настоящему обширного перехода на новые стандарты не наблюдается. Поэтому можем наблюдать картину, в которой любая библиотека, требующая минимум 14 стандарта уже считается modern постфактум.

В данной публикации разработаем небольшую библиотеку (3 функции (apply, filter, reduce) и одна как «домашнее задание» (map) :)) по удобной работе с гетерогенными контейнерами в рантайме (гетерогенность за счёт std::variant из 17 стандарта).

Из нового, помимо новых библиотечных типов, попробуем на вкус fold expressions и совсем немного structured binding
Читать дальше →
Всего голосов 29: ↑28 и ↓1 +27
Комментарии 59

Defined or Undefined? Нюансы создания массивов в JavaScript

Время на прочтение 8 мин
Количество просмотров 13K
JavaScript *Программирование *Алгоритмы *ООП *
image

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

Правда, задавший вопрос, так же как и те кто ему отвечал, не обратили внимания, на то, что фактически матрицу не получилось создать, а приведенный результат вычислений некорректен. Всё это меня заинтересовало, и, я решил копнуть чуть глубже, чтобы затем прийти к интересным умозаключениям, с которыми сейчас с вами и поделюсь.
Читать дальше →
Всего голосов 32: ↑31 и ↓1 +30
Комментарии 29

Распараллеливаем код в R за пару минут

Время на прочтение 4 мин
Количество просмотров 1.7K
R *
Из песочницы

Если верить стереотипам, то язык R – это что-то узкоспециализированное для статистики и машинного обучения. Второй стереотип – что код на чистом R не очень быстрый: во-первых, потому что интерпретируемый, во-вторых, потому что исполняется последовательно. Безусловно, стереотипы имеют какую-то связь с реальностью, иначе бы их не существовало, но на то они и стереотипы, что дают экстремально упрощённую картину мира, в которой теряется много деталей. В частности, сегодня я хочу поделиться удивительно простым способом, как добавить параллельность в R и кратно ускорить выполнение уже имеющегося кода без необходимости внесения в него каких-либо серьёзных изменений. Всё это делается буквально за пару минут.

Читать дальше →
Всего голосов 12: ↑11 и ↓1 +10
Комментарии 12

Циклы и функционалы в языке R (бесплатный видео курс)

Время на прочтение 2 мин
Количество просмотров 1.6K
Data Mining *Big Data *Параллельное программирование *R *Data Engineering *

Друзья, рад представить вам свой новый курс "Циклы и функционалы в R". Курс и все сопутствующие материалы к нему распространяются бесплатно, и являются общедоступными. Во время кризиса лучшей инвестицией времени является обучение.

В данной публикации вы найдёте ссылку на курс, подробное описание и программу курса.

Читать далее
Всего голосов 4: ↑2 и ↓2 0
Комментарии 0