Skip to content

Instantly share code, notes, and snippets.

@dmitry-vsl
dmitry-vsl / gist:4587694
Last active March 3, 2022 12:13
Implementation of Oracle Flashback like functionality in PostgreSQL.
-- TODO update start_time
drop table if exists test_current cascade;
create table test_current(
-- TODO - store lsn instead of dates?
-- flashback columns
start_date abstime not null default now(),
stop_date abstime not null default 'infinity',
-- user columns
@dmitry-vsl
dmitry-vsl / BackboneTrace
Last active December 15, 2015 11:59
Backbone monkey patch to automatically trace all model method invocations
/*
Monkey-patches Backbone in so way that every model method logs its invocation
*/
var mdl = Backbone.Model;
var ext = Backbone.Model.extend;
Backbone.Model.extend = function(attributes, options) {
for(var attr in attributes){
if(attributes.hasOwnProperty(attr) && typeof(attributes[attr]) == 'function'){
(function(func){
class SimpleRegex
def parse(s)
@s = s
@s_idx = 0
parsetree = parse_alternation [nil]
@states = []
build_NFA parsetree
end
def matches(string)
@dmitry-vsl
dmitry-vsl / .bashrc
Last active December 17, 2015 15:59
#~/.vimrc
set number
set tabstop=4
set shiftwidth=4
set expandtab
inoremap jj <Esc>
set hidden
set noswapfile
set autoindent
syntax on
"screen magic - fix screen in oxs terminal
" http://stackoverflow.com/questions/14689925/vim-background-with-gnu-screen
set t_ut=
autocmd FileType text setlocal cc=1000
autocmd FileType make setlocal noexpandtab
@dmitry-vsl
dmitry-vsl / alttab
Created July 22, 2013 16:55
vim alt-tab-fashioned buffer switching
" --------------------
" Alt tab over buffers
" --------------------
"Stack of recently visited buffers
let g:alttab_buffer_stack = []
"Number of consequently pressed alttab
let g:alttab_streak_length = 0
include = (mixins...) ->
to: (clazz)->
result = class extends clazz
for mxn in mixins
for own k,v of mxn(clazz)
result::[k] = v
result
# This is mixin. It can access methods of the class it is mixed to
TestMixin = (target) ->
drop table if exists user_course cascade;
drop table if exists users cascade;
drop table if exists courses cascade;
create table users(id serial,data text, primary key(id));
insert into users(data) select lpad('',100,md5(id::text))
from generate_series(1,1000000) t(id);
create table courses(id serial,data text,primary key(id));
insert into courses(data) select lpad('',100,md5(id::text))
@dmitry-vsl
dmitry-vsl / dlang_debounce
Created January 5, 2014 19:43
implementation of this function http://underscorejs.org/#debounce in D programming language (http://dlang.org)
#!/usr/bin/env rdmd
// implementation of this function http://underscorejs.org/#debounce
// in D programming language (http://dlang.org)
import std.stdio;
import std.datetime;
void test(double a){
writeln("Invoked debounced func with ", a);
Тестовое задание: Frontend Web Developer
Надо реализовать веб-страницу для просмотра картинок из Flickr Public Feed.
Программный интерфейс Flick Public Feed описан тут:
https://www.flickr.com/services/feeds/docs/photos_public
Страница представляет из себя список фотографий с датой создания, названием и
списком тегов.