Skip to content

Instantly share code, notes, and snippets.

View vitkarpov's full-sized avatar
🔲
I help folks prepare for coding interviews

Viktor Karpov vitkarpov

🔲
I help folks prepare for coding interviews
View GitHub Profile
@vitkarpov
vitkarpov / foo.jsx
Created August 11, 2015 10:08
Условная логика в дескрипте
de.array([
de.http(..., {
// идем в ручку, если есть foo в параметрах запроса
guard: '.foo',
after: function(params, context) {
// написали признак в стейт, что все прошло хорошо
context.flag = true;
}
// обязательно определить приоритет
}) +5,
@vitkarpov
vitkarpov / dabblet.css
Last active October 27, 2015 13:41
Untitled
.content {
width: 70%;
background: red;
margin: 20px auto;
}
.content:after {
content: '';
display: block;
clear: both;
}
@vitkarpov
vitkarpov / gulpfile.js
Created November 16, 2015 19:15
Gulpfile for the 4th BEMinar
var gulp = require('gulp'),
concat = require('gulp-concat'),
rename = require('gulp-rename'),
browserSync = require('browser-sync').create(),
reload = browserSync.reload,
path = require('path'),
url = require('gulp-css-url-adjuster'),
autoprefixer = require('autoprefixer-core'),
watch = require('gulp-watch'),
postcss = require('gulp-postcss'),
@vitkarpov
vitkarpov / dabblet.css
Created December 4, 2015 21:12
Untitled
body {
background: lightyellow;
}
.foo {
position: relative;
height: 100px;
}
.foo:before {
content: '';
@vitkarpov
vitkarpov / gist:0e290430b92dfd01ccbd
Last active January 30, 2016 18:15
Jblocks Events Example
// Пусть есть блоки A и B.
// Нужно научить блок B реагировать на то, что происходит в жизни A.
// Удобно для этого использовать события, чтобы не связывать жестко блоки.
// В html
<div class="js-a" data-b="A">
<button class="js-button">Нажми меня!</button>
</div>
<div class="js-b" data-b="B">
<div class="js-message"></div>
@vitkarpov
vitkarpov / microservice-go.md
Last active February 1, 2016 14:43
Simple microservice in Go

Let we have a simple problem to demonstare the way of thinking.

getting image stub (for instance, white noise) with the given sizes.

Let's define some requirements which seem make a program more flexible to use:

  • we should have a package to use the module inside another solid go program
  • it could be used via http api if we have a microservice architecture
  • it could be used via cli if we have a pipeline
@vitkarpov
vitkarpov / lorempixum-cli.go
Created February 1, 2016 16:08
Lorempixum CLI
package main
import (
"flag"
"github.com/vitkarpov/lorempixum"
"os"
)
func main() {
w := flag.Int("width", 0);
@vitkarpov
vitkarpov / lorempixum-http.go
Last active February 1, 2016 16:17
Lorempixum HTTP API
package main
import (
"github.com/gorilla/mux"
"github.com/vitkarpov/lorempixum"
"log"
"net/http"
"os"
"strconv"
)
@vitkarpov
vitkarpov / str-ex.js
Created February 3, 2016 17:50
Strings are immutable
var a = "foo";
var b = a;
// b remains the same
a += "bar";
@vitkarpov
vitkarpov / str-ex2.js
Created February 3, 2016 17:58
Strings are immutable
var a = "foo";
// it doesn't throw an error but in fact does nothing: a equals foo, not boo
a[0] = "b";