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

Программист

Отправить сообщение

Искусственные нейронные сети простыми словами

Время на прочтение7 мин
Количество просмотров213K
image

Когда, за бутылкой пива, я заводил разговор о нейронных сетях — люди обычно начинали боязливо на меня смотреть, грустнели, иногда у них начинал дёргаться глаз, а в крайних случаях они залезали под стол. Но, на самом деле, эти сети просты и интуитивны. Да-да, именно так! И, позвольте, я вам это докажу!

Допустим, я знаю о девушке две вещи — симпатична она мне или нет, а также, есть ли о чём мне с ней поговорить. Если есть, то будем считать это единицей, если нет, то — нулём. Аналогичный принцип возьмем и для внешности. Вопрос: “В какую девушку я влюблюсь и почему?”


Можно подумать просто и бескомпромиссно: “Если симпатична и есть о чём поговорить, то влюблюсь. Если ни то и ни другое, то — увольте.”

Но что если дама мне симпатична, но с ней не о чем разговаривать? Или наоборот?
Всего голосов 60: ↑59 и ↓1+58
Комментарии92

Делаем кольцо из обычной монеты

Время на прочтение2 мин
Количество просмотров53K


Хотите сделать девушке подарок, но не хватает денег? Ничего страшного, ведь можно изготовить очень красивое украшение из обычной монеты, используя самые простые инструменты, которые есть дома у каждого — дрель и столовую ложку. Правда, процесс длительный, желательно выбирать монету из сплава помягче.
Читать дальше →
Всего голосов 61: ↑35 и ↓26+9
Комментарии60

Свободный графический редактор Krita в третий раз на Kickstarter

Время на прочтение2 мин
Количество просмотров22K
Сегодня проект Krita запустил уже третью кампанию на Kickstarter, в которой заявлены улучшенная работа с текстом и векторными объектами — функционал, который придется по душе прежде всего художникам, создающим комиксы.



Подробности
Всего голосов 18: ↑17 и ↓1+16
Комментарии64

Опасный target="_blank"

Время на прочтение2 мин
Количество просмотров201K
Большинство создают внешние ссылки через target="_blank" и не знают одного интересного нюанса — страница, на которую мы попадем таким образом, получит частичный контроль над ссылающейся на нее страницей через js свойство window.opener.

Через window.opener.location мы сможем сделать редирект на, к примеру, фишинговую страницу. Это своего рода tabnabbing, только более продвинутый. Так как жертва меньше всего ожидает подмены страницы, в открытой ранее, доверенной вкладке браузера.
Читать дальше →
Всего голосов 132: ↑126 и ↓6+120
Комментарии136

C++ pattern matching

Время на прочтение7 мин
Количество просмотров32K

Нет нужды описывать чем хорош pattern matching. Так как в любом случае такой конструкции в С++ нет.
Без него же работа с шаблонами, часто обрастает лесами понятного и полезного кода.
Итак предлагаю способ некоего подобия pattern matching`а для С++14 (скорее даже type matching'a), который укладывается в 50 строк кода, не использует макросы и вообще кросс-компиляторный.


Сначала пример использования: http://coliru.stacked-crooked.com/a/6066e8c3d87e31eb


template<class T>
decltype(auto) test(T& value) {
    return match(value
        ,[](std::string value)    { cout << "This is string"; return value + " Hi!"; }
        ,[](int i)                { cout << "This is int";    return i * 100; }
        ,[](auto a)               { cout << "This is default";return nullptr; }
    );
}

compile-time Условия: http://coliru.stacked-crooked.com/a/ccb13547b04ce6ad


match(true_type{}
         ,[](bool_constant< T::value == 10 >)                        { cout << "1" ; }
         ,[](bool_constant< (T::value == 20 && sizeof...(Args)>4) >) { cout << "2" ; }
    );

Возвращаем тип: http://coliru.stacked-crooked.com/a/0a8788d026008b4b


auto t = match(true_type{}
           ,[](is_same_t<T, int>) -> type_holder<short>  { return{}; }
           ,[](auto)              -> type_holder<T>      { return{}; }
         );

using I = typename decltype(t)::type;             
I i = 1000000;
Читать дальше →
Всего голосов 35: ↑34 и ↓1+33
Комментарии48

Информация

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