Skip to content

Instantly share code, notes, and snippets.

var i = 0;
var r = new java.lang.Runnable(){
run: function(){
for(var j = 0; j < 1000000; j++){
i++;
}
}
};
GNU screen scripting:
- rename window: <C-a> A
- screen -p <windown-name> -X stuff './build test\n'
/*
Миксин для React компонентов, который переопределяет shouldComponentUpdate на
основе глубокого сравнения старого и нового значения.
В миксин надо передать функцию, которая возвращает сравниваемый объект.
Пример использования:
```
var MyStore = require('myStore');
/*
E -> M [+ M]
M -> B [* B]
B -> Num | (E)
*/
function calc(str){
str = str.replace(/\s/g,'');
var pos = 0;
@dmitry-vsl
dmitry-vsl / .gitignore
Last active August 29, 2015 14:28
Benchmark for implementing undo/redo
node_modules/
@dmitry-vsl
dmitry-vsl / spa_2016_proposal.md
Created September 11, 2015 22:01
Архитектура средненагруженных single page application приложений в 2016 году

Клиент

На клиенте используем стэк фейсбука:

  • React.js. Один из самых популярных javascript фреймворков, интегрированный с остальными частями facebook-стэка.
  • GraphQL. Протокол для доступа к данным, который адресует недостатки REST API.
  • Relay. Клиентская библиотека для удобной работы с grapqhl-сервером.
  • Flow type. Типизированное надмножество javascript, умеет выводить анонимные типы из graphql-запросов используя grapqhl-схему.

Сервер

На сервере используем:

@dmitry-vsl
dmitry-vsl / gist:0a68b1fbf697abb87e5b
Created October 9, 2015 15:24
Circular FK constraints in postgresql
-- Three tables: books, authors, authorship
-- Every book must have an author, enforce this constraint at schema level
drop table if exists book cascade;
drop table if exists author cascade;
drop table if exists authorship cascade;
create table book(id serial not null primary key);
create table author(id serial not null primary key);
create table authorship(
Тестовое задание по react.js
Надо написать компонент для выбора цвета, который выглядит так:
R +-|-------+
G +-------|-+
B +--|------+
Каждый компонент цвета редактируется через <input type='range'>
@dmitry-vsl
dmitry-vsl / tree.ts
Last active November 24, 2015 19:02
type Tree<T> = {left: Tree<T>, right: Tree<T>, value: T}
function reduceTree<T,A>(tree: Tree<T>, initialAcc: A, reducer: (A,T) => A): A{
if(tree == null){
return initialAcc;
}
var withNodeValue = reducer(initialAcc, tree.value);
var withLeftBranch = reduceTree(tree.left, withNodeValue, reducer);
var withRightBranch = reduceTree(tree.right, withLeftBranch, reducer);
return withRightBranch;
#!/usr/bin/env runhaskell
-- На международном фестивале собрались n участников. Если взять любую подгруппу
-- из m участников, то в этой подгруппе найдутся двое, которые разговаривают на
-- одном языке.
--
-- Проверить следующее утверждение: в любой подгруппе размера k участники могут
-- объясниться друг с другом.
import Data.List