Instantly share code, notes, and snippets.

View uprounded-formula-y.js
/**
* Just a snippet, but it should work
*/
const {
roundedHeight,
height,
width
} = this.props;
const heightSq = Math.pow(roundedHeight - height, 2);
View Plugin.php
<?php
class PetsPlugin {
public boot() {
User::extend(function($model) {
// Evitiamo di salvare i 'pet_save_data' nel DB
$model->purgeable[] = ['pet_save_data'];
// Quando viene salvato un User, provvediamo a salvare anche il Pet correlato
$model->bindEvent('beforeSave', function($user) {
$pet = Pet::where('user_id', $user->id)->findOne();
View sample-fp.js
// Definition
export type Primitive = { type: string; };
// 'Factory'
export function Primitive(type:string) {
return {
type: string;
}
}
View .eslintrc.json
{
"parser": "babel-eslint",
"extends": "airbnb",
"plugins": [
"react",
"flowtype"
],
"rules": {
"react/sort-comp": 0,
"key-spacing": [2, { "align": "colon" }],
View flow-knex.jsx
// Flow definition
declare module 'knex' {
declare class SchemaBuilder {
...
createTable(name:string, fn:() => void): this;
}
declare class TableBuilder {
...
}
View ES6 Dev Notes.md

ES6 Dev Notes

Un insieme di note per la configurazione di un ambiente di sviluppo per ES6, sia frontend che backend. Perché per quanto Webpack sia un labirinto, con un filo di arianna la strada si può trovare.

Webpack

Configurazione in ES6 (con Babel)

Per utilizzare ES6 nel config di Webpack è necessario:

  • Chiamare il file webpack.config.babel.js (per far riconoscere a webpack che è necessario chiamare il babel-loader).
View flow-autocomplete-log.sh
# v1.
$ flow autocomplete --json --strip-root src/app/components/_test/test2.js 20 10 < src/app/components/_test/test2.js
{"result":[]}
$ flow autocomplete --strip-root src/app/components/_test/test2.js 20 10 < src/app/components/_test/test2.js
extended string
method () => void
prop number
View gist:bc36af183445379a4531
Hooks.addMenuItem("Text/Block comment", "cmd-shift-b", function ()
{
Recipe.run(function(recipe)
{
var commentsRange = recipe.contentRangeOfLinesInRange(recipe.selection);
recipe.eachLine(function(commentLine) {
return " *" + commentLine.text;
}, commentsRange);
});
View gist:6d699b3e81f41c28130b
La discussione della tesina avra' luogo in concomitanza con gli appelli d'esame, pur non essendo necessario consegnare la tesina nello stesso appello in cui si sostiene la prova scritta. La presentazione della tesina deve avvenire attraverso una relazione strutturata (in linea di massima) come segue:
- Introduzione contenente le specifiche del progetto
- Discussione delle scelte di progetto e realizzative, e delle tecniche e metodologie generali usate
- Breve manuale uso dei programmi (come compilare, come installare)
- Tutti i sorgenti del progetto (escluse eventuali librerie esterne e header di sistema)
All'atto della discussione della tesina e' inoltre necessario portare un dispositivo di memoria USB con tutti i sorgenti in modo da rendere possibile la verifica del corretto funzionamento dei moduli sviluppati.
View count.js
var count = 0;
for(var i=1;i<=100;i++){
count+= (i.toString().match(/9/g) || []).length
}
console.log(count);