You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
163 lines
8.8 KiB
163 lines
8.8 KiB
<!DOCTYPE html> |
|
<html lang="en"> |
|
<head> |
|
<meta http-equiv="X-UA-Compatible" content="IE=edge"> |
|
<meta http-equiv="content-type" content="text/html; charset=utf-8"> |
|
|
|
<!-- Enable responsiveness on mobile devices--> |
|
<!-- viewport-fit=cover is to support iPhone X rounded corners and notch in landscape--> |
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1, viewport-fit=cover"> |
|
|
|
<title>Julio Biason .Me 4.3</title> |
|
|
|
<!-- CSS --> |
|
<link rel="stylesheet" href="https://blog.juliobiason.me/print.css" media="print"> |
|
<link rel="stylesheet" href="https://blog.juliobiason.me/poole.css"> |
|
<link rel="stylesheet" href="https://blog.juliobiason.me/hyde.css"> |
|
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=PT+Sans:400,400italic,700|Abril+Fatface"> |
|
|
|
|
|
|
|
|
|
|
|
</head> |
|
|
|
<body class=" "> |
|
|
|
<div class="sidebar"> |
|
<div class="container sidebar-sticky"> |
|
<div class="sidebar-about"> |
|
|
|
<a href="https://blog.juliobiason.me"><h1>Julio Biason .Me 4.3</h1></a> |
|
|
|
<p class="lead">Old school dev living in a 2.0 dev world</p> |
|
|
|
|
|
</div> |
|
|
|
<ul class="sidebar-nav"> |
|
|
|
|
|
<li class="sidebar-nav-item"><a href="/">English</a></li> |
|
|
|
<li class="sidebar-nav-item"><a href="/pt">Português</a></li> |
|
|
|
<li class="sidebar-nav-item"><a href="/tags">Tags (EN)</a></li> |
|
|
|
<li class="sidebar-nav-item"><a href="/pt/tags">Tags (PT)</a></li> |
|
|
|
|
|
</ul> |
|
</div> |
|
</div> |
|
|
|
|
|
<div class="content container"> |
|
|
|
<div class="post"> |
|
<h1 class="post-title">Links Comentados de 2020-07-26</h1> |
|
<span class="post-date"> |
|
2020-07-26 |
|
|
|
<a href="https://blog.juliobiason.me/pt/tags/links/">#links</a> |
|
|
|
<a href="https://blog.juliobiason.me/pt/tags/datomic/">#datomic</a> |
|
|
|
<a href="https://blog.juliobiason.me/pt/tags/dicas/">#dicas</a> |
|
|
|
<a href="https://blog.juliobiason.me/pt/tags/desenvolvedores/">#desenvolvedores</a> |
|
|
|
<a href="https://blog.juliobiason.me/pt/tags/google/">#google</a> |
|
|
|
<a href="https://blog.juliobiason.me/pt/tags/racismo/">#racismo</a> |
|
|
|
<a href="https://blog.juliobiason.me/pt/tags/logging/">#logging</a> |
|
|
|
<a href="https://blog.juliobiason.me/pt/tags/logs/">#logs</a> |
|
|
|
<a href="https://blog.juliobiason.me/pt/tags/deletar/">#deletar</a> |
|
|
|
<a href="https://blog.juliobiason.me/pt/tags/gerente-de-produtos/">#gerente de produtos</a> |
|
|
|
<a href="https://blog.juliobiason.me/pt/tags/syntax-highlight/">#syntax highlight</a> |
|
|
|
<a href="https://blog.juliobiason.me/pt/tags/highlight/">#highlight</a> |
|
|
|
<a href="https://blog.juliobiason.me/pt/tags/rust/">#rust</a> |
|
|
|
<a href="https://blog.juliobiason.me/pt/tags/modulos/">#módulos</a> |
|
|
|
</span> |
|
<p>Internos do Datomic, Dicas para Desenvolvedores, Racismo@Google, Logs, |
|
Programe Para Deletar, Sendo um Gerente de Produtos, Syntax Highlight, Módulos |
|
em Rust.</p> |
|
<span id="continue-reading"></span><h2 id="unofficial-guide-to-datomic-internals"><a href="https://tonsky.me/blog/unofficial-guide-to-datomic-internals/">Unofficial guide to Datomic internals</a></h2> |
|
<p>As partes internas de um banco de dados são sempre curiosas, pra dizer o |
|
mínimo. E Datomic é um banco de dados curioso, onde tudo é imutável.</p> |
|
<p>Mas entender as partes internas é sempre bom para entender onde o banco de |
|
dados se encaixa e como tirar o máximo disso.</p> |
|
<h2 id="advice-to-myself-when-starting-out-as-a-software-developer"><a href="https://blog.pragmaticengineer.com/advice-to-myself-when-starting-as-a-software-developer/">Advice to Myself When Starting Out as a Software Developer</a></h2> |
|
<p>Quando se está na área por algum muito tempo, é fácil esquecer como as coisas |
|
eram quando você começou.</p> |
|
<p>E não consigo achar nada de errado com as dicas mostradas aqui, mas eles |
|
parecem tão... basicas. E eu quero dizer que essas dicas são algo que deveria |
|
estar nas listas de todos os desenvolvedores, iniciantes ou veteranos.</p> |
|
<h2 id="google-ad-portal-equated-black-girls-with-porn"><a href="https://themarkup.org/google-the-giant/2020/07/23/google-advertising-keywords-black-girls">Google Ad Portal Equated “Black Girls” with Porn</a></h2> |
|
<p>O que? Você está dizendo que o Google é racista? Mas isso é impossível! Isso é |
|
culpa "do algoritmo"! Google é bom, eles me dão email de graça!</p> |
|
<p>Vocês conseguem ver como "dar coisas de graça" e "open source" (e não ouvir os |
|
usuários) não passa de uma jogada de marketing?</p> |
|
<h2 id="good-logging"><a href="https://henrikwarne.com/2020/07/23/good-logging/">Good Logging</a></h2> |
|
<p>Logs são sempre importantes -- pessoalmente, eu acho que logs (e bons logs) |
|
são mais importantes que debugar -- mas saber <em>como</em> e <em>o que</em> logar é a chave |
|
para fazer a coisa certa.</p> |
|
<p>Alguns pontos são bem comuns, como os "logs gritantes", embora a solução não |
|
seria usar <code>WARNING</code> e <code>INFO</code>, mas descobrir como definir corretamente o nível |
|
de log de cada módulo -- e usar módulos -- parece ser o mais certo.</p> |
|
<p>Pessoalmente, eu deixo uma pilha de mensagens de <code>debug</code> em alguns lugares, |
|
como "cicatrizes" de uma batalha. Talvez algum outro desenvolvedor vai ver a |
|
sequência de logs e pensar duas vezes antes de sair trabalhando.</p> |
|
<h2 id="write-code-that-is-easy-to-delete-not-easy-to-extend"><a href="https://programmingisterrible.com/post/139222674273/write-code-that-is-easy-to-delete-not-easy-to">Write code that is easy to delete, not easy to extend.</a></h2> |
|
<p>Essa é uma coisa que eu consigo concordar: é melhor escrever um código que |
|
seja fácil de ser apagado do que reusado. Mas simplesmente ir copiando |
|
diversas partes várias vezes para que seja possível apagar uma sem afetar o |
|
restado do código não parece ser a solução.</p> |
|
<p>Eu simplesmente iria adicionar mais abstrações, ao ponto que as funções se |
|
tornassem tão simples que elas existiriam sem qualquer lógica de negócio; |
|
essas lógicas seriam colocadas juntas em outras funções, descrevendo |
|
<em>exatamente</em> o que a regra de negócio quer faz: |
|
recuperar_informacao_do_servidor, alterar_informacao_de_alguma_forma, e assim |
|
por diante. Se a regra muda, é só remover a abstração no meio da função maior.</p> |
|
<p>"Mas isso ainda não resolve o problema!" Bom, se a regra de negócio mudou, |
|
então você pode apagar a função maior e criar uma nova que segue a nova regra |
|
ou simplesmente apagar -- ou adicionar -- alguma das abstrações.</p> |
|
<h2 id="22-principles-for-great-product-managers"><a href="https://reeve.blog/blog/principles/">22 Principles for Great Product Managers</a></h2> |
|
<p>Eu nem tinha chego na metade da lista e eu já estava "É, eu tive um gerente |
|
que fez minha vida um inferno" e "Eu lembro quando fizeram isso e foi ótimo".</p> |
|
<h2 id="syntax-highlighting-is-a-waste-of-an-information-channel"><a href="https://buttondown.email/hillelwayne/archive/syntax-highlighting-is-a-waste-of-an-information/">Syntax highlighting is a waste of an information channel</a></h2> |
|
<p>Mais uma vez, "eu concordo com o sentimento, mas não com a implementação". Não |
|
que ter informação sobre tipos, ou de algum parâmetro, na sintaxe não ajude um |
|
bocado, mas o fato é que essa informação varia conforme a situação. Em alguns |
|
pontos, o tipo pode ser mais importante que o parâmetro, ou vice-versa, ou, |
|
pior, pode dar foco em algo que não seja realmente importante no momento. E |
|
tentar colocar tudo isso junto, em algum ponto, se tornaria um pesadelo -- ou |
|
uma salada de frutas de cores que vai fazer a leitura do código e encontrar o |
|
que importa completamente impossível.</p> |
|
<h2 id="clear-explanation-of-rust-s-module-system"><a href="http://www.sheshbabu.com/posts/rust-module-system/">Clear explanation of Rust’s module system</a></h2> |
|
<p>O sistema de módulos do Rust é um pouco diferente dos demais, e algumas |
|
explorações que eu fiz me deu algumas dicas sobre como esse sistema funciona |
|
-- mais ou menos o que é dito no post.</p> |
|
<!-- |
|
vim:spelllang=pt: |
|
--> |
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
</div> |
|
|
|
</body> |
|
|
|
</html>
|
|
|