Skip to content

Instantly share code, notes, and snippets.

View lcezermf's full-sized avatar

Luiz Cezer lcezermf

View GitHub Profile
@lcezermf
lcezermf / file.yml
Created January 23, 2024 14:51
github.yml
name: Deployment
run-name: Deployment to production
on:
push:
branches:
- master
workflow_dispatch:
@lcezermf
lcezermf / 1.srp.py
Created May 12, 2021 15:09 — forked from dmmeteo/1.srp.py
SOLID Principles explained in Python with examples.
"""
Single Responsibility Principle
“…You had one job” — Loki to Skurge in Thor: Ragnarok
A class should have only one job.
If a class has more than one responsibility, it becomes coupled.
A change to one responsibility results to modification of the other responsibility.
"""
class Animal:
def __init__(self, name: str):
@lcezermf
lcezermf / main.go
Created December 7, 2017 00:11 — forked from mschoebel/main.go
Snippet: login/logout (Golang)
package main
import (
"fmt"
"github.com/gorilla/mux"
"github.com/gorilla/securecookie"
"net/http"
)
// cookie handling
@lcezermf
lcezermf / solid.md
Last active April 13, 2017 17:00
SOLID - Pudim

QQ É ISSO ?

SOLID é uma sigla para 5 princípios de programação, que se aplicados de forma correta visam melhorar a qualidade, flexibilidade, arquitetura do código e diminuir os riscos de surgirem code smells ou alto acoplamento entre classes e métodos.

  • S - Single Responsibility Principle (SRP)
  • O - Open/Closed Principle (OCP)
@lcezermf
lcezermf / 01.md
Last active January 17, 2017 11:01
Anotações - Refactoring

01 - Por onde começar um refactoring ?

  • Evite começar quebrando uma classe ou método grande já com a sua idéia de implementação final. Faça em partes.
  • "Faça funcionar, faça certo, melhore."
  • Idealmente quebre o código anteriomente grande em pequenas partes e vá refinando cada uma dessas pequenas partes, até chegar ao nível de ter refinado toda a classe ou método por completo.
  • Refatoração deve ser feita em pequenas partes para que bugs possam ser descobertos com mais facilidade e também para que seja mais fácil testar as pequenas partes.
  • Não exite em renomear coisas que façam sentido que sejam renomeadas.
  • Métodos devem pertercem ao objeto ao qual fazem mais uso dos dados, por exemplo se o método X do objeto N recebe um objeto O como argumento e dentro desse objeto O faz uso de dados de O, talvez faça mais sentido o método pertecer a classe O ao invés da classe N.
@lcezermf
lcezermf / chat.go
Created April 8, 2016 00:56 — forked from cryptix/chat.go
simple chat example in go. uses channels to match partners and goroutines for concurency
package main
import (
"fmt"
"io"
"log"
"net"
)
const listenAddr = "localhost:4000"
@lcezermf
lcezermf / gist:b462b7048ef85b486836
Last active September 3, 2015 15:50 — forked from mattconnolly/gist:4158961
RSpec basic authentication helper module for request and controller specs
module AuthHelper
def http_login
user = 'username'
pw = 'password'
request.env['HTTP_AUTHORIZATION'] = ActionController::HttpAuthentication::Basic.encode_credentials(user,pw)
end
end
module AuthRequestHelper
#
FILE = Monografia
.PHONY: default
default: main clean
#por clean acima
.PHONY: main
main:
pdflatex $(FILE).tex
bibtex $(FILE).aux