Skip to content

Instantly share code, notes, and snippets.

View berzniz's full-sized avatar

Tal Bereznitskey berzniz

View GitHub Profile
var inline_test = function(func, inputs, expected_outputs) {
for (var i in inputs) {
var input = inputs[i];
var expected = expected_outputs[i];
var result = func(input);
if (result != expected) {
console.log('Test failed! Expected', expected, 'but got', result);
// Or throw an error...
}
}
@berzniz
berzniz / jshipster_and_and.js
Last active May 22, 2022 23:15
Some small javascript hacks for hipsters
// Boring
if (isThisAwesome) {
alert('yes'); // it's not
}
// Awesome
isThisAwesome && alert('yes');
// Also cool for guarding your code
var aCoolFunction = undefined;
@berzniz
berzniz / ChangeTrackableModel.js
Last active October 22, 2021 20:25
A model that "knows" if it has unsaved changes
// This model (and any other model extending it) will be able to tell if it is synced with the server or not
var ChangeTrackableModel = Backbone.Model.extend({
hasChangedSinceLastSync: false,
initialize: function() {
// If you extend this model, make sure to call this initialize method
// or add the following line to the extended model as well
this.listenTo(this, 'change', this.modelChanged);
},
@berzniz
berzniz / config.yml
Created June 6, 2018 07:55
Starter CircleCI v2 configuration for Node.js apps
version: 2.0
jobs:
test:
docker:
- image: circleci/node:8.10
working_directory: ~/circleci-build
environment:
EXAMPLE_ENV_FOR_TESTING: "test"
steps:
@berzniz
berzniz / NSObject+Debounce.h
Created January 25, 2014 16:18
Debounce method for Objective C
@interface NSObject (Debounce)
- (void)debounce:(SEL)action delay:(NSTimeInterval)delay;
@end
@berzniz
berzniz / gist:2045615
Created March 15, 2012 17:52
Adding a global notification system to backbone.js
Backbone.Notifications = {};
_.extend(Backbone.Notifications, Backbone.Events);
@berzniz
berzniz / react.jsx
Last active March 28, 2018 20:09
Example for "Update on Async Rendering"
class Example extends React.Component {
componentDidMount () {
this.fetchData(this.props)
}
componentWillReceiveProps (props) {
if (props.id !== this.props.id) {
this.fetchData(props)
}
}
@berzniz
berzniz / gist:2900905
Created June 9, 2012 13:01
handlebars3
Handlebars.getTemplate = function(name) {
if (Handlebars.templates === undefined || Handlebars.templates[name] === undefined) {
$.ajax({
url : 'templatesfolder/' + name + '.handlebars',
success : function(data) {
if (Handlebars.templates === undefined) {
Handlebars.templates = {};
}
Handlebars.templates[name] = Handlebars.compile(data);
},
// component A
const a = () => (
<Overdrive id="bender-to-fry">
<img src="bender.img"/>
</Overdrive>
);
// component B
const b = () => (
<Overdrive id="bender-to-fry">
//
// TBKeychainCounter.h
//
// Created by Tal Bereznitskey on 5/11/13.
// Copyright (c) 2013 Tal Bereznitskey. All rights reserved.
//
#import <Foundation/Foundation.h>
@interface TBKeychainCounter : NSObject