Skip to content

Instantly share code, notes, and snippets.


Alexander Burtsev albburtsev

View GitHub Profile
albburtsev / HOCBaseRender.tsx
Created Sep 6, 2017 — forked from tejacques/HOCBaseRender.tsx
React Higher Order Components in TypeScript
View HOCBaseRender.tsx
import * as React from 'react';
import { Component } from 'react';
export default function HOCBaseRender<Props, State, ComponentState>(
Comp: new() => Component<Props & State, ComponentState>) {
return class HOCBase extends Component<Props, State> {
render() {
return <Comp {...this.props} {...this.state}/>;
albburtsev /
Created Jul 3, 2017 — forked from kof/
External things that keep me motivated at work
  1. Open Source being officially part of the job, not just an "after job fun" instead of spending time with the family.
  2. Colleagues one can learn from, not those one needs to clean up after.
  3. Money matters. Only a stupid person can think that money doesn't matter in our capitalistic society. This also includes social security, medical ensurance and any other expenses. I am not mercantile, no.
  4. Soft deadlines. Having time to do things right.
  5. No pressure in being at time every day in the office. We all got our issues.
  6. Workout during working hours. Possibility to go quickly for a run or to the gym.
  7. Office is optional. I prefer to work from any location I want. Sometimes being in the office is nice though.
  8. Good sitting conditions: good chairs, gym ball, stay desk, sofas.
  9. Relaxation room or nap room.
albburtsev /
Created Sep 27, 2016 — forked from addyosmani/
108 byte CSS Layout Debugger

CSS Layout Debugger

A tweet-sized debugger for visualizing your CSS layouts. Outlines every DOM element on your page a random (valid) CSS hex color.

One-line version to paste in your DevTools

Use $$ if your browser aliases it:

~ 108 byte version


Суть бага в Webpack v1.12.11

Шаг 1

Есть модуль A, который импортирует модуль B В процессе первого(!) импорта модуля B происходит его инициализация, которая в коде вебпака происходит следующим образом:

/******/ 		// Check if module is in cache
/******/ 		if(installedModules[moduleId])
View Определения JavaScript-терминов.md

Определения JavaScript-терминов


Лучшее определение: «Замыкание - это когда объект локальных переменных [[scope]] внешней функции остается жить после ее завершения. Внутренняя функция может обратиться к нему в любой момент и получить переменную внешней функции».


Closures are functions that refer to independent (free) variables. In other words, the function defined in the closure 'remembers' the environment in which it was created.

albburtsev / employees.js
Last active Aug 29, 2015
Задачи на собеседовании в
View employees.js
* Задачи на позицию «frontend-разработчик»
// --------- #1 ----------
// Дан список сотрудников в виде массива
var employees = [{
sex: 'male',
salary: 100
}, {


Давайте знакомиться.

Меня зовут Александр Бурцев, и я работаю frontend-разработчиком.

My work

В 2005-м году я устроился на работу HTML-верстальщиком. За пару лет, как это бывает с верстальщиками, я освоил JavaScript и полностью ушел в программирование. Постепенно дело дошло и до знакомства

module.exports = (phantomcss, snap) ->
casper.test.begin 'Landing', 5, suite = (test) ->
casper.start PAGE
casper.viewport 1240, 1024
# Full page snap
casper.then ->
snap 'landing_full'
# Click into looker button
View Gruntfile.js
module.exports = function(grunt) {
'use strict';
// ...
❯ cat .git/hooks/prepare-commit-msg
b=`git symbolic-ref HEAD| sed -e 's|^refs/heads/||' | sed -e 's|_.*||'`
c=`cat $1`
if [ -n "$b" ] && [[ "$c" != "[$b]:"* ]]
echo "[$b]: $c" > $1