Skip to content

Instantly share code, notes, and snippets.

Inventing

Leonardo Ascione leonardfactory

Inventing
Block or report user

Report or block leonardfactory

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
View context-with-hooks.tsx
// Let's define our context...
const ThemeContext = React.createContext(...);
// This component is nested in a `ThemeContext.Provider` node..
function MyComponent(props: Props) {
// No more HOCs!
const theme = useContext(ThemeContext);
// It's a kind of magic
return (
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();
@leonardfactory
leonardfactory / sample-fp.js
Last active Sep 2, 2016
Data types in Flow
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 {
...
}
@leonardfactory
leonardfactory / ES6 Dev Notes.md
Last active Jul 11, 2016
Un insieme di note per la configurazione di un ambiente di sviluppo per ES6, sia frontend che backend.
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.
You can’t perform that action at this time.