Skip to content

Instantly share code, notes, and snippets.

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

Thiago Ribeiro thiagovsk

🏠
Working from home
View GitHub Profile
https://blog.trustbk.com/choosing-an-architecture-85750e1e5a03
https://github.com/zilverline/sequent
https://github.com/gregoryyoung/m-r
http://netcoders.com.br/implementando-o-design-pattern-repository-e-unit-of-work-com-entity-framework/
https://10consulting.com/2017/10/06/dealing-with-eventual-consistency/
@thiagovsk
thiagovsk / gist:7a301cc9d12074b917a57b1856ee01fa
Created January 11, 2018 16:35
remove lines with ag and sed
ag 'publish_notification' -0 -l $1 | xargs -0 sed -i '/publish_notification/d'
resuminho
- leitura e escrita diferentes
- componentes:
- Os comandos chegam por rotas/controllers que chamam as classes que executam algum comando, ex CreateAccountBanck.rb
- Passam pelo Agregador que faz algumas validações de negocio, ex: se a operação for saque o saque é disponivel
- Guarda o comando na EventStore
- Dependendo da consistêmncia é guardado no banco e atualizado nas projections (um cache por ex)
- Existem as sagas, que são um caso a parte para integrações externas por exemplo
- Podemos mostrar os dados de varias formas (podemos chamar de reports) são entidades que são mapeadas para mostrar
o estado atual desejado, ex Customer vai mostrar nome email etc
https://hipsters.tech/elixir-a-linguagem-hipster-hipsters-48/
http://www.akitaonrails.com/2013/12/23/solucoes-para-um-mundo-assincrono-concorrente
https://elixir-lang.org/learning.html
https://elixirschool.com/pt/
https://imasters.com.br/linguagens/a-maldicao-da-linguagem-e-o-elixir/?trace=1519021197&source=single
https://imasters.com.br/desenvolvimento/alem-da-programacao-funcional-com-elixir-e-erlang/?trace=1519021197&source=single
https://www.infoq.com/br/presentations/introducao-a-elixir
https://github.com/sger/ElixirBooks
https://pragprog.com/book/elixir13/programming-elixir-1-3
https://media.pragprog.com/titles/elixir/ElixirCheat.pdf
#!/bin/bash
# remove exited containers:
docker ps --filter status=dead --filter status=exited -aq | xargs -r docker rm -v
# remove unused images:
docker images --no-trunc | grep '<none>' | awk '{ print $3 }' | xargs -r docker rmi
# remove unused volumes:
find '/var/lib/docker/volumes/' -mindepth 1 -maxdepth 1 -type d | grep -vFf <(
require 'openssl'
require 'fileutils'
require 'acme-client'
require 'byebug'
ENV['SSL_ADDR'] = '2804.7f3.8481.3cf7.x.4.ip6.name'
ENV['APPLICATION_ENV'] = 'development'
puts 'Registering client'
require 'openssl'
require 'fileutils'
require 'acme-client'
require 'byebug'
ENV['SSL_ADDR'] = '2804.7f3.8481.3cf7.x.4.ip6.name'
ENV['APPLICATION_ENV'] = 'development'
puts 'Registering client'
" Load Pathogen
execute pathogen#infect()
" Use Vim settings, rather then Vi settings (much better!).
set nocompatible
" Default configuration in case there's no other definition in ftplugin
set expandtab
set tabstop=2
set softtabstop=2
set shiftwidth=2
@thiagovsk
thiagovsk / show.rb
Created February 6, 2017 14:16
ajudando o luiz a fazer group_by
a = [ {x: 'Abril/17', y: 10}, {x: 'Abril/17', y: 5}, {x: 'Abril/17', y: 2}, {x: 'Dezembro/17', y: 12}, ]
luiz = a.group_by{ |hash| hash[:x] }.map do |k,v|
{:x => k, :y => v.map{ |hash| hash[:y] }.inject(:+)}
end
@thiagovsk
thiagovsk / techtalk.txt
Last active April 26, 2021 18:46
git techtalk
- Primeira coisa a se fazer no git: Configurar o global user e global email
- Dia dia git, o que fazer quando ligo meu pc para trabalhar?
- Diferença entre merge e rebase? Pra que servem?
- https://blog.kitware.com/source/files/3_593278662_png
- https://www.atlassian.com/git/tutorials/merging-vs-rebasing/conceptual-overview
- Infinitos comandos git, logo um gitconfig pra facilitar as coisas.
- Comandos úteis (avançados...?)
- git branch -a
- git cherry-pick -x
- git commit -p