Skip to content

Instantly share code, notes, and snippets.

Avatar
💭
🤔

Alexander Burtsev albburtsev

💭
🤔
View GitHub Profile
@albburtsev
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
albburtsev / external-motivators.md
Created Jul 3, 2017 — forked from kof/external-motivators.md
External things that keep me motivated at work
View external-motivators.md
  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
albburtsev / README.md
Created Sep 27, 2016 — forked from addyosmani/README.md
108 byte CSS Layout Debugger
View README.md

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

View Webpack-bug.md

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

Шаг 1

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

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

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

Замыкание

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

MDN:

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

About

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

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

My work

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

View landing.coffee
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';
require('matchdep')
.filterDev('grunt-*')
.forEach(grunt.loadNpmTasks);
grunt.initConfig({
// ...
View prepare-commit-msg-hook.sh
❯ cat .git/hooks/prepare-commit-msg
#!/bin/bash
b=`git symbolic-ref HEAD| sed -e 's|^refs/heads/||' | sed -e 's|_.*||'`
c=`cat $1`
if [ -n "$b" ] && [[ "$c" != "[$b]:"* ]]
then
echo "[$b]: $c" > $1
fi