2015.10.07 t
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
test = (suite) -> | |
self = {} | |
steps = [] | |
last = null | |
run = (suite, steps) -> | |
return if steps.length == 0 | |
[step, msg, fn] = steps.shift() | |
if step == describe | |
describe.call suite, msg, -> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# A few thoughts on testing rich-client applications | |
# Jan Dudek, Arkency | |
# We've created a game that has some animations, uses Facebook API. Almost no rendering on the server. Client-server communication through JSON REST API. | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
git "$@" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class Countdown | |
constructor: (@clock, @seconds) -> | |
$.extend(this, new Observable) | |
@finished = false | |
start: => | |
fn = => | |
this.trigger("updated", @seconds) | |
@seconds-- | |
if @seconds >= 0 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# suite ["shooter", "acceptance"], -> ... | |
# is equivalent to: | |
# describe "shooter", -> | |
# describe "acceptance", -> ... | |
window.suite = (names, block) -> | |
name = names.shift() | |
if names.length > 0 | |
describe(name, -> suite(names, block)) | |
else |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <stdio.h> | |
#include <stdlib.h> | |
#define AVL_AS_LIST | |
typedef int AvlKey; | |
struct AvlNode { | |
AvlKey key; | |
char balance; |
Recently CSS has got a lot of negativity. But I would like to defend it and show, that with good naming convention CSS works pretty well.
My 3 developers team has just developed React.js application with 7668
lines of CSS (and just 2 !important
).
During one year of development we had 0 issues with CSS. No refactoring typos, no style leaks, no performance problems, possibly, it is the most stable part of our application.
Here are main principles we use to write CSS for modern (IE11+) browsers:
- SUIT CSS naming conventions + SUIT CSS design principles;
- PostCSS + CSSNext. Future CSS syntax like variables, nesting, and autoprefixer are good enough;
- Flexbox is awesome. No need for grid framework;
- Normalize.css, base styles and variables are solid foundation for all components;