Сообщения

Сообщения за 2017

Компонента Angular \ Angular2

Введение Данная статься скорее для себя, здесь не будет ничего нового чего бы вы не смогли найти в интернете. Я заметил что когда пишу новую компоненту мне легче начинать с какого-то шаблона. В качестве шаблона я выбрал компоненту - текстовое поле с иконкой поиска и вызовом callback, которую писал сам. Код AngularJs //fastSearch.tmpl.html < div class = " fast-search " >     < input type = " text "             class = " fast-search__input "            placeholder = " {{fastSearchCtrl.hint}} "            ng - model = " fastSearchCtrl.value "            ng - keydown = " fastSearchCtrl.cancelSearch() "            ng - keyup = " fastSearchCtrl.search() "     >     < / input >     < div class = " fast-search__icon " > < / div > < / div > //fastSearchComponent.js /**  *  Creates FastSearchComponent.  *  Main parameter is:  *  - callback - it will be

Duck Hierarchy

Изображение
В этой статье больше шутки нежели полезной информацией. Под влиянием книги  Head First Design Patterns  я когда-то давно нарисовал такую картинку. Слева мы видим типичное наследование и проблему двойного наследования когда хотим реализовать в одном классе два поведения. А справа наследование от абстрактного класса и реализация интерфейсов. В этом случае нам конечно придется писать под для каждого интерфейса, зато это провоцирует нас писать классы с одной обязанностью как и ожидает от нас один из пунктов принципа SOLID. А под конец картинка про фабрику

Мой самый сложный SQL запрос

Изображение
Я работу по большей части во фронтэнде на как-то раза два у меня была задача написать сложный SQL-запрос. В принципе получилось довольно быстро при использовании интернет. Может кому и пригодиться. Задача 1 - посчитать количество ордеров определенного типа 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 DROP TABLE IF EXISTS Objects; DROP TABLE IF EXISTS ObjectTypes; DROP TABLE IF EXISTS Attrs; DROP TABLE IF EXISTS Params; CREATE TABLE Objects (id int , objectTypeId int , name varchar ( 30 )); INSERT INTO Objects (id, objectTypeId, name) VALUES ( 1 , 1 , 'Order-Tv#1' ); INSERT INTO Objects (id, objectTypeId, name) VALUES ( 2 , 1 , 'Order-Tv#2' ); INSERT INTO Objects (id, objectTypeId, name) VALUES ( 3 , 1 , 'Order-Tv#3' ); INSERT INTO Objects (id, objectTypeId, name) VALUES ( 4