Skip to content

Instantly share code, notes, and snippets.

@dima117
dima117 / example.json
Created September 13, 2015 20:26
пример для адреса: http://localhost:41832/api/uniui/dashboard/details?id=ed663472-ce4d-4832-bc94-95b4fc2946ea
{
"dashboards":[
{
"id":"c3e5cb3a-9fb0-4d00-b0ee-ea6a99070f71",
"title":"Спальня",
"sortOrder":2147483647,
"active":false
},
{
"id":"ed663472-ce4d-4832-bc94-95b4fc2946ea",
@dima117
dima117 / wi.js
Last active September 23, 2015 19:59 — forked from GorosVi/wi.js
Widget test
define(['lib'], function (lib) {
var PresetWidgetView = lib.marionette.ItemView.extend({
template: lib.handlebars.compile(
'{{displayName}}' +
'<div class="btn-group-justified nooui-btngroup">' +
'<a href="#" class="btn btn-default nooui-button js-btn-on"> On </a>' +
'<a href="#" class="btn btn-default nooui-button js-btn-off"> Off </a>' +
'</div>'),
className: 'nooui-widget',
@dima117
dima117 / HABR.md
Last active August 21, 2016 20:19

Привет! Меня зовут Дмитрий Андриянов. Я работаю разработчиком интерфейсов в Яндекс.Директе, а до этого 9 лет был full-stack разработчиком сайтов на платформе .NET.

Я расскажу вам способ, как легко и просто использовать БЭМ в проектах на ASP.NET MVC. БЭМ - не тот, который "странные правила именования css-селекторов", а настоящий - с уровнями переопределения и общими шаблонами для клиента и сервера.

[картинка: ASP.NET + b_ = сердечко]

[Кнопка:Добро пожаловать под кат!]

БЭМ (Блок-Элемент-Модификатор) - это придуманная в Яндексе методология разработки веб-приложений, в основе которой лежит компонентный подход. Согласно БЭМ, приложение состоит из независимых блоков, код которых лежит в отдельных папках. Каждый блок реализован в нескольких технологиях (шаблоны, стили, клиентский код). Чтобы код блоков мог работать в приложении, блоки собирают в бандлы, в соответствии с зависимостями и уровнями переопределения. Подробнее - здесь.

@dima117
dima117 / MORDA.md
Last active September 6, 2016 09:42

Методология

БЭМ (Блок-Элемент-Модификатор) - это методология разработки веб-приложений, в основе которой лежит компонентный подход. БЭМ делает создание сложных интерфейсов проще.

Каким образом БЭМ помогает разработчику?

БЭМ предлагает строить приложение из отдельных блоков. Описать это чуть подробнее. Дальше - блоки в 3 колонки.

[14.09.16, 14:39:03] dima 117: можно на тебе кое-что протесировать?

[14.09.16, 14:39:08] dima 117: нужно 30 секунд

[14.09.16, 14:39:09] Пищулин Игорь: попробуй :)

[14.09.16, 14:39:49] dima 117: открой страничку https://github.yandex-team.ru/pages/tadatuta/bem-method-morda/mmorda.htm (это в контексте БЭМ) и ответь на мои вопросы

[14.09.16, 14:39:59] dima 117: напиши, как посмотришь

{
"$schema": "http://json-schema.org/draft-04/schema#",
"properties": {
"deps": {
"type": "array",
"items": {
"type": "object",
"properties": {
"block": {
"type": "string"
{
"$ref": "#/definitions/set",
"definitions": {
"set": {
"type": ["string", "object", "array"],
"switch": [
{
"if": { "type": "object" },
"then": { "$ref": "#/definitions/entity" }
(function(global) {
global.expect || (global.expect = chai.expect);
var Assertion = chai.Assertion,
helpers = {
/**
* Плюрализация
* @param {Array} forms формы слова [1, 2, 5]
* @param {Number} count количество
/**
* coverage-report
* ===
*
* Формирует отчет о выполнении тестов в формате HTML (LCOV).
*
* **Опции**
*
* * *String* **target** — Результирующий таргет. По умолчанию `?.coverage.html`.
* * *String* **base** — Файл с результатами покрытия кода тестами. По умолчанию `?.phantomjs`.
const walk = require('@bem/walk');
const config = require('bem-config')();
const istanbul = require('istanbul').utils;
const _ = require('lodash');
function getCoverage(level) {
const files = {};
return new Promise(function(resolve, reject) {
walk([level], { levels: config.levelMapSync() })