Skip to content

Instantly share code, notes, and snippets.

<?php
namespace App\Traits;
use DB;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Query\JoinClause;
use phpDocumentor\Reflection\Types\Mixed_;
trait LimitPerGroupable
@IanRamosC
IanRamosC / NERDTree.mkd
Created September 7, 2017 19:48 — forked from m3nd3s/NERDTree.mkd
My Vim Cheat Sheet

NERDTree

o.......Open files, directories and bookmarks....................|NERDTree-o|
go......Open selected file, but leave cursor in the NERDTree.....|NERDTree-go|
t.......Open selected node/bookmark in a new tab.................|NERDTree-t|
T.......Same as 't' but keep the focus on the current tab........|NERDTree-T|
i.......Open selected file in a split window.....................|NERDTree-i|
gi......Same as i, but leave the cursor on the NERDTree..........|NERDTree-gi|
s.......Open selected file in a new vsplit.......................|NERDTree-s|
gs......Same as s, but leave the cursor on the NERDTree..........|NERDTree-gs|

O.......Recursively open the selected directory..................|NERDTree-O|

@IanRamosC
IanRamosC / NERDTree.mkd
Created September 7, 2017 19:48 — forked from m3nd3s/NERDTree.mkd
My Vim Cheat Sheet

NERDTree

o.......Open files, directories and bookmarks....................|NERDTree-o|
go......Open selected file, but leave cursor in the NERDTree.....|NERDTree-go|
t.......Open selected node/bookmark in a new tab.................|NERDTree-t|
T.......Same as 't' but keep the focus on the current tab........|NERDTree-T|
i.......Open selected file in a split window.....................|NERDTree-i|
gi......Same as i, but leave the cursor on the NERDTree..........|NERDTree-gi|
s.......Open selected file in a new vsplit.......................|NERDTree-s|
gs......Same as s, but leave the cursor on the NERDTree..........|NERDTree-gs|

O.......Recursively open the selected directory..................|NERDTree-O|

@IanRamosC
IanRamosC / promises.md
Created August 31, 2017 02:59 — forked from VictorTaelin/promises.md
promises de novo

o pq de funcões assíncronas

funcoes de javascript quase sempre são assincronas. isso acontece porque js lida muito com coisas como http requests, leitura de disco... operacoes que levam muito tempo. imagina se seu programa travasse toda vez que vc fizesse um request http? pra evitar isso, o request é feito em background, o programa continua rodando, e depois o resultado é enviado pra vc num callback

request("www.google.com", function callback(resultado) { ... })

isso é bom pra performance, mas gera codigo dificil de ler, porque vira uma arvode de identação:

@IanRamosC
IanRamosC / promises.md
Created August 31, 2017 02:59 — forked from VictorTaelin/promises.md
promises de novo

o pq de funcões assíncronas

funcoes de javascript quase sempre são assincronas. isso acontece porque js lida muito com coisas como http requests, leitura de disco... operacoes que levam muito tempo. imagina se seu programa travasse toda vez que vc fizesse um request http? pra evitar isso, o request é feito em background, o programa continua rodando, e depois o resultado é enviado pra vc num callback

request("www.google.com", function callback(resultado) { ... })

isso é bom pra performance, mas gera codigo dificil de ler, porque vira uma arvode de identação:

@IanRamosC
IanRamosC / promises.md
Created August 31, 2017 02:59 — forked from VictorTaelin/promises.md
promises de novo

o pq de funcões assíncronas

funcoes de javascript quase sempre são assincronas. isso acontece porque js lida muito com coisas como http requests, leitura de disco... operacoes que levam muito tempo. imagina se seu programa travasse toda vez que vc fizesse um request http? pra evitar isso, o request é feito em background, o programa continua rodando, e depois o resultado é enviado pra vc num callback

request("www.google.com", function callback(resultado) { ... })

isso é bom pra performance, mas gera codigo dificil de ler, porque vira uma arvode de identação:

Texto retirado do comentário do Paulo Torrens em uma publicação na APDA.

Combinadores são "funções de alta ordem fechadas". E imagino que por enquanto isso não ajudou muito. Mas é assim:

O cálculo lambda, que ele tá brincando com JavaScript, é algo muito simples, você só pode criar funções com um só argumento, e aplicar elas a outras funções. Por exemplo, o valor TRUE:

var TRUE = function(x) {
  return function(y) {
 return x;
@IanRamosC
IanRamosC / aiml.md
Created April 28, 2017 04:04 — forked from onlurking/aiml.md
AIML 2.0 Working Draft

AIML 2.0 Working Draft

Revision 1.0.2.22
March 9, 2014
Richard S. Wallace
ALICE A.I. Foundation
Contact: info@alicebot.org

let generateRandom = _ => {
return (~~(Math.random() * 60)) + 1
}
let generateMegaSenaResult = _ => {
let result = [];
while (result.length < 6) {
let number = generateRandom();