Skip to content

Instantly share code, notes, and snippets.

View suissa's full-sized avatar
🏠
Working from home

Jean Carlo Nascimento suissa

🏠
Working from home
  • Oncorithms Institute
  • Brasil
View GitHub Profile
@suissa
suissa / balanceamento.js
Created December 12, 2016 18:03
Balanceamento de carga.
const compA = [
{name: 'Fe', coeficiente: 1, indice: 2, calculado: false},
{name: 'S', coeficiente: 1, indice: 3, calculado: false}
] // A
const compB = [
{name: 'H', coeficiente: 1, indice: 2, calculado: false},
{name: 'O', coeficiente: 1, indice: 1, calculado: false}
] // B
const compC = [
{name: 'O', coeficiente: 1, indice: 2, calculado: false}
@suissa
suissa / sum.currying.js
Created December 13, 2016 02:53
Somatório com currying
function curry(fn) {
var c = curry.bind(this, fn = fn.bind.apply(fn, [this].concat([].slice.call(arguments, 1))));
c.exec = fn;
return c;
}
function sum() {
return [].reduce.call(arguments, function (c, n) {
return c + n;
});
@suissa
suissa / groupBy.js
Last active July 15, 2024 20:48
Group by bem facinho
const groupBy = (xs, key) => xs.reduce((rv, x) => ({
...rv, [x[key]]: [...(rv[x[key]] || []), x]
}), {});
@suissa
suissa / angular.refactored.js
Last active December 22, 2016 01:58
Refatoração de um map errado/impuro para um reduce puro
// 1
$scope.liberarBotaoImprimir = function () {
let someFalse = 0;
$scope.titulos.map((key, i) => {
if (!key.validado) {
someFalse++;
}
})
return (someFalse === 0)
@suissa
suissa / count.and.group.js
Created December 22, 2016 12:46
dica pra qm quer contar e agrupar algo, fiz aqui pra ajudar um aluno agorinha
const arr = ["21/12", "22/12", "22/12", "30/12", "30/12", "30/12"]
const result = arr.reduce( (prev, item) => {
if ( item in prev ) prev[item] ++
else prev[item] = 1
return prev
}, {} )
console.log(result)

Português para programadores

Aqui irei listar algumas regrinhas bem simples do pt-br para que nós possamos escrever cada vez mais corretamente, o que acredito ser o mínimo para programadores. Lembrando que isso não é necessário em conversas informais, mas sempre que você fizer algum trabalho mais profissional tente não errar, pelo menos, nessas regrinhas:

  • por que, por quê, porque, porquê
  • MIM não conjuga verbo!!!
  • crase
  • proparoxítonas
  • conjunções
@suissa
suissa / login.js
Last active December 22, 2016 15:57 — forked from rodrigooler/login.js
login.js
import { browserHistory } from 'react-router'
import { callApi } from '../middleware/api'
export const LOGIN_REQUEST = 'LOGIN_REQUEST'
export const LOGIN_SUCCESS = 'LOGIN_SUCCESS'
export const LOGIN_FAILURE = 'LOGIN_FAILURE'
const requestLogin = (creds) => ({
type: LOGIN_REQUEST,
isFetching: true,
@suissa
suissa / api.js
Last active December 22, 2016 15:59 — forked from rodrigooler/api.js
api.js
const BASE_URL = 'http://localhost:8001/'
export async function callApi(endpoint, body, method, authenticated) {
const token = localStorage.getItem('id_token') || null
let config = {}
if (authenticated && token) {
config = {
method,
headers: {
@suissa
suissa / interrogativa.spec.js
Last active January 2, 2017 19:27
teste para verificar se uma frase é interrogativa
const chai = require('chai')
const expect = chai.expect
const revinter = require('revinter')
// {pronomeInterrogativo} {verbo} {pronome} {substantivo}?
// Onde está minha maconha?
// Where is my weed?
// Wo ist meine marihuana?
let ptBR = { pronomeInterrogativo: 'Onde',
@suissa
suissa / mensagens.js
Created January 7, 2017 16:42 — forked from wellingtonpgp/mensagens.js
Função para retornar mensagem com jquery e bootsrap
function msg(msg, tipo) {
var retorno = $('.retorno');
var tipo = (tipo === 'sucesso') ? 'success' : (tipo === 'alerta') ? 'warning' : (tipo === 'erro') ? 'danger' : (tipo === 'info') ? 'info' : alert('Informe a mensagem');
retorno.empty().fadeOut('fast', function () {
return $(this).html('<div class="alert alert-'+tipo+'">'+msg+'</div>').fadeIn('slow');
});
setTimeout(function () {
retorno.fadeOut('slow').empty();
}, 9000);