Skip to content

Instantly share code, notes, and snippets.

View berzniz's full-sized avatar

Tal Bereznitskey berzniz

View GitHub Profile
@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 / 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)
}
}
// component A
const a = () => (
<Overdrive id="bender-to-fry">
<img src="bender.img"/>
</Overdrive>
);
// component B
const b = () => (
<Overdrive id="bender-to-fry">
@berzniz
berzniz / 1.js
Last active August 29, 2015 14:04 — forked from anonymous/1.js
var model = new Backbone.Model({counter: 1});
@berzniz
berzniz / bind-unbind.js
Last active August 29, 2015 13:58
Backbone tips & rules
// Ok:
this.stateModel.on('change:readMore', this.renderReadMore, this);
// Awesome:
this.listenTo(this.stateModel, 'change:readMore', this.renderReadMore);
@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 / 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 / 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;
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...
}
}
NSString *command = @"ok glass, take a picture";
AVSpeechSynthesizer *synthesizer = [[AVSpeechSynthesizer alloc] init];
AVSpeechUtterance *utterance = [AVSpeechUtterance speechUtteranceWithString:command];
[synthesizer speakUtterance:utterance];