Skip to content

Instantly share code, notes, and snippets.

View a-x-'s full-sized avatar
🛩️

Alexander a-x-

🛩️
View GitHub Profile
@a-x-
a-x- / scale-fix.html
Last active August 29, 2015 14:04
При смене ориентации устройства портится scale, лечить можно либо js-решением, либо так
<meta viewport="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no" />
@a-x-
a-x- / flex-fit-the-flex.html
Last active August 29, 2015 14:06
Workaround for placing flexbox in the parent flexbox
<!doctype html>
<html><head><meta charset="utf-8"><style type="text/css">
.flex-container-1 {
display:flex;
/* align-content: stretch; */
align-items: stretch;
/* align-self: stretch; */
/* justify-content: flex-end; */
}
.flex-element-1 {
@a-x-
a-x- / yandex public video lectures.md
Last active August 29, 2015 14:12 — forked from nerevar/lectures.md
Мой прогресс изучения BEM

Про БЭМ

  • БЭМ: от методологии до платформыdone
  • Методология БЭМ и обзор БЭМ платформыwatched
    • Как принято прикладывать дополнительную статику к блокам (например, svg-пиктограммы)?
    • Непонятно про кэширование. Почему что-то нужно делать для этого вручную? Кажется, что можно прогревать node.js и отдавать далее уже сгенеренные куски, например.
      • Догадка №1: это что-то про prefetch?
      • Догадка №2: это что-то про умную конкатенацию компонентов? Не просто соединить весь js в один bundle.js для каждой страницы, а настроить генерацию пары-тройки бандлов, чтобы лучше использовать браузерный кэш.
  • БЭМ: история появления, принципы методологии, базовые понятияwatched
    • Вложенные элементы. Элементы всё же могут быть вложены друг в друга? При каких обстоятельствах?
  • [Мастер-класс наоборот: вы пишете БЭМ-проект, а мы подсказываем](https://event
@a-x-
a-x- / async-like-a-sync.js
Last active August 29, 2015 14:17
Async code like a sync in the record
// npm install -S q
var Q = require('q');
Q.async(function*() {
yield db.hmset('blog::post', {
date: '20130605',
title: 'g3n3rat0rs r0ck',
tags: 'js,node'
});
{
"preset": "yandex",
"plugins": [
"jscs-jsdoc"
],
"excludeFiles": [
".enb/tmp/*",
"**/*.i18n/**",
"**/libs/**",
"**/node_modules/**",
@a-x-
a-x- / minimal.d3.js
Created January 24, 2016 02:59
minimal d3 example for console running
// init
var cl = console.log.bind(console);
var loadJs = src => new Promise((res, rej) => {
var script = document.createElement('script');
script.src = src;
script.onload=()=>{cl('loaded', src); res(src)};
document.head.appendChild(script);
});
var createDiv = className => {
@a-x-
a-x- / cian.stat.js
Last active January 24, 2016 03:05
simple cian stat. run on results page in table mode
// run first:
// go to cian search result
// Снять на длительный срок однокомнатную квартиру с фото
// в центре с мебелью, холодильником и стиралкой
// var priceMin = 30000;
// var metroFootTimeMin = 15;
// location.href = `http://www.cian.ru/cat.php?currency=2&deal_type=rent&engine_version=2&foot_min=${ metroFootTimeMin }&mebel=1&mebel_k=1&metro%5B0%5D=4&metro%5B10%5D=50&metro%5B11%5D=54&metro%5B12%5D=56&metro%5B13%5D=58&metro%5B14%5D=61&metro%5B15%5D=64&metro%5B16%5D=66&metro%5B17%5D=68&metro%5B18%5D=71&metro%5B19%5D=77&metro%5B1%5D=8&metro%5B20%5D=78&metro%5B21%5D=80&metro%5B22%5D=84&metro%5B23%5D=85&metro%5B24%5D=86&metro%5B25%5D=96&metro%5B26%5D=98&metro%5B27%5D=103&metro%5B28%5D=105&metro%5B29%5D=114&metro%5B2%5D=8&metro%5B30%5D=115&metro%5B31%5D=115&metro%5B32%5D=119&metro%5B33%5D=121&metro%5B34%5D=123&metro%5B35%5D=124&metro%5B36%5D=125&metro%5B37%5D=129&metro%5B38%5D=130&metro%5B39%5D=132&metro%5B3%5D=12&metro%5B40%5D=145&metro%5B41%5D=148&metro%5B42%5D=149&metro%5B43%5D=150&metro%5B44%5D=159&metro
@a-x-
a-x- / i-bem.class.tree.json
Created February 23, 2016 10:27
part of estree of some my es6 class
{
"type": "Program",
"body": [{
"type": "ExpressionStatement",
"expression": {
"type": "AssignmentExpression",
"operator": "=",
"left": {
"type": "MemberExpression",
"computed": false,
@a-x-
a-x- / onEvent.sample.js
Created March 5, 2016 14:40
синтаксический сахар для установки модификаторов по событиям [i-bem.js] — https://ru.bem.info/forum/907/
/**
* Как сейчас. Это пример, где упрощённый синтаксис всё сильно упростит.
* Но есть и много других примеров, где, кажется, декларация модификаторов на события будет полезна
*/
BEM.DOM.decl('b-page', {
bindEvents: function() {
this.__base.apply(this, arguments);
BEM.blocks['pane2-api']
@a-x-
a-x- / iterations.es6
Created March 7, 2016 13:06
Differencies: for of, for in, for in hasOwnProperty. arrays and objects.
(()=>{'use strict';
let iterable = [3, 5, 7];
iterable.foo = "hello";
console.log('# iterable', iterable)
console.log('## access prop in array')
console.log(iterable.foo) // hello
console.log('## for in arr')