William ➔ Okano @okano.dev · 05/01/2025Bsky ainda tá vivo pra bolha dev ou geral voltou pro Xwitter? 230
William ➔ Okano @okano.dev · 27/10/2024Purity and immutability by default, lazy evaluation, monads and monadic composition, pattern matching with destructuring and guards, higher kinded types, lenses, algebraic data types, higher rank polymorphism. ChatGPT kkkkk 000
William ➔ Okano @okano.dev · 24/10/2024“No break” de 8 horas vai depender do seu consumo. EcoFlow talvez te atenda, mas custa umas 3 pernas esquerdas 000
William ➔ Okano @okano.dev · 19/10/2024Mas não me entenda errado, eu concordo que caching é uma parte super importante da programação dinâmica. 010
William ➔ Okano @okano.dev · 19/10/2024Cara, eu concordo pq programação dinâmica faz uso intensivo de cache, mas reduzir a isso é meio falacioso pois ignora a parte de dividir o problema em problemas menos e partir deles resolver o todo, seja top-down ou bottom-up. Entendi que isso entra no basicamente, mas meio que discordo. 210
William ➔ Okano @okano.dev · 16/10/2024Estava no médico na Alemanha hoje e escutei o famigerado barulho de conexão discada. Em questão de infra, especialmente pra telecomunicações, a Alemanha está atrasada mesmo. Não ouvia isso tem fácil uns 18 anos. 210
William ➔ Okano @okano.dev · 16/10/2024Headline bem alarmista. Achado bem daora o que eles fizeram, mas só reforçaram o que muita gente já sabia. 010
William ➔ Okano @okano.dev · 07/10/2024Pois é, o cara é pirado, meteu um fake news nos 45 do segundo tempo, suicídio politico 🤣 000
William ➔ Okano @okano.dev · 07/10/2024Bah, achei que tinha sido bloqueado pq tinha falado de Marçal no segundo turno e fui ver os blocks e bloqueou eu, um labeler de harry potter e a pessoa que criou o labeller. 000
William ➔ Okano @okano.dev · 07/10/2024LOL, tomei meu primeiro block no céu azul. Será que foi por que comentei que achava que no segundo turno daria Boulos vs Marçal? LOL Galera ta insana, celoko cachorreira. 100
William ➔ Okano @okano.dev · 06/10/2024Fico chocado pq conheço uma galera de São Paulo falou que o Nunes foi um cone e não fez porra nenhuma no mandato dele e o maluco ainda ta na frente kkkkk. Eu genuinamente achei que daria Boulos vs Marçal no segundo turno, mas aparentemente a galera gosta de votar em quem não faz nada. 😅 110
William ➔ Okano @okano.dev · 06/10/2024Tinha pensado em fazer um labeler de Harry Potter, mas já fizeram antes de mim. Segue o link pra quem tiver interesse bsky.app/profile/sort... #bolhatechbsky.app 013
William ➔ Okano @okano.dev · 06/10/2024Cabô já, Nunes vs Boulos segundo turno. Nunes vai ganhar disparado 😅 000
William ➔ Okano @okano.dev · 04/10/2024Concordo, inclusive Skeetei sobre isso ontem, mas com foco em entrevista. Não adianta sair cuspindo termos se vc não sabe como eles funcionam “de verdade”. Fica parecendo que TI é mágica “ahh, só botar um load balancer, cachê com redis e rodar num kubernetes que escala se o banco for replicado” 🤣 010
William ➔ Okano @okano.dev · 04/10/2024Galera geralmente diz pra não ter amor por empresa, mas eu tenho um carinho especial, foi um época muito boa pra mim, pude trabalhar com tecnologias fodas e pessoas fodas. Só sai pq eu tava saindo do Brasil. 120
William ➔ Okano @okano.dev · 04/10/2024Já li Zup no perfil já dei follow pq deve ser gente boa hehehe 120
William ➔ Okano @okano.dev · 04/10/2024Pago esse teste aí ou free? Manda pra nós aí na moral na humildade. Meu inglês é um a merda e deu bão, C1/C2 então é sucesso demais moça 000
William ➔ Okano @okano.dev · 04/10/2024Redis é tipo HashMap em Leetcode kkkkkk, joga lá no meio que dá certo 🤣🤣🤣 110
William ➔ Okano @okano.dev · 04/10/2024Postgres é pau pra toda obra mesmo Relacional Documento (usando JSONB) 👀 Timeseries (timescale) Spatial (postgis) Negócio é violento hahaha Zoeiras (nem tanto) a parte, saiu um vídeo recente (de muitos) sobre como notion escalou o pg deles. O tópico antigo parece, mas o vídeo em si é "novo".youtube.comHow Notion Scaled to 100 Million Users Without Their Database ExplodingYouTube video by Kiki's Bytes 010
William ➔ Okano @okano.dev · 04/10/2024Eu meti uns migués lá com hop adicional em redis e tal, mas não sabia se era o jeito "recomendado", mas deu bão, pode não ter sido a melhor resposta, mas convenceu o entrevistador hahaha 110
William ➔ Okano @okano.dev · 04/10/2024I'll still use as learning material tho, it's interesting nonetheless. 000
William ➔ Okano @okano.dev · 04/10/2024LOL, maybe not so much anymore (I mean, it will still help me). I was planning to do a labeler based on Hogwarts houses hahaha, but you already did. Kudos 100
William ➔ Okano @okano.dev · 04/10/2024Acho que a maioria do codebase deles é ruby, mas posso estar enganado. Mas sim, eu gostei muito do formato, achei diferente. Geralmente tem "take home challenge", "leet code"/"pair programming", "system design", comportamental Fugiu um pouco do padrão 010
William ➔ Okano @okano.dev · 04/10/2024Replicação: - Vantagens e desvantagens - Problemas que podem surgir com replicação (não é bala de prata) - Tipos e técnicas de replicação de dados Sharding e partioning: - O que é? - Como implementar? - Partitioning e sharding key? - Cuidados e mudanças na sua aplicação pra poder usar isso. 010
William ➔ Okano @okano.dev · 04/10/2024Ou então pra redis: - Por que ele é rápido, mesmo sendo single thread? - Vantagens de ser single thead? - Alta disponibilidade - Resiliencia - Como funcionar o sharding e adicionar mais nós 100
William ➔ Okano @okano.dev · 04/10/2024Por exemplo: - Load balancer: quais algoritmos de load balancing existem? Obviamente não precisa saber todos, mas round robin, stick session, least connection, etc, seria interessante conhecer, e quando usar eles. 110
William ➔ Okano @okano.dev · 04/10/2024Outra dica sobre System Design Interview que é meio óbvia, mas não adianta sair jogando termos aleatórios: - Load balancing - Redis - Replicação - Sharding O entrevistador pode, e provavelmente vai, perguntar como isso funciona por debaixo dos panos, e tu pode se queimar com ele. 4234
William ➔ Okano @okano.dev · 04/10/2024Uma parada interessante é que eu estava fazendo várias entrevistas em simultâneo, e sempre achei que meus conhecimentos eram suficientes pq os designs geralmente são sempre web com rest. Uma das empresas pediu em websocket e eu nunca trabalhei com isso.Não tinha certeza boas práticas pra escalar ws 110
William ➔ Okano @okano.dev · 04/10/2024Agora sobre o lance de go, faz quase 2 anos que trabalho com isso, mas sinceramente nunca usei, nem precisei, de nada "avançado" até agora, então essas coisas que são "terça-feira" pra qualquer godev, pra mim era "novidade" pq nunca tinha usado e feito na prática. 110
William ➔ Okano @okano.dev · 04/10/2024Mas obviamente eu não tinha dados pra comprovar, fui no feeling. Wrong decision hahaha. Obviamente experiencia conta, mas numa empresa opensource com milhões de usuários, as vezes vc precisa de evidencia e não de "gut feeling", saca? Mas assim, o processo foi bem legal, pena que deu ruim pra mim 110
William ➔ Okano @okano.dev · 04/10/2024No meu caso era uma mudança "simples", mas tinha tanta coisa pra discutir que meu review ficou incompleto e eu fui percebendo isso na hora da sabatina, por exemplo, eu não fiz testes de benchmark, e um dado momento ele me perguntou se a adição de concorrencia faria sentido. Eu respondi que sim 110
William ➔ Okano @okano.dev · 04/10/2024Daí você submete o review e fala que terminou, eles vão marcar uma reunião com você pra discutir sobre o review. Mas obviamente eles vão perguntar sobre o código original, se vc entendeu ele todo, se vc entendeu a mudança, o que vc gostou, não gostou, o que você faria de diferente, problemas, etc 110
William ➔ Okano @okano.dev · 04/10/2024Sobre o processo @jhonylucas74.bsky.social , era pra uma vaga de go (mas a maioria das coisas lá é ruby). Infelizmente eu bombei rápido, mas o processo era, eles te mandam um MR pra tu revisar, no meu caso estava adicionando uma feature nova. E eles pedem pra tu fazer como se fosse na vida real 110
William ➔ Okano @okano.dev · 04/10/2024Pacote super pequeno, simples, focado num problema. Geralmente a galera do go acaba evitando ficar importando pacotes pra tudo, mas achei de boa. 110
William ➔ Okano @okano.dev · 04/10/2024No caso eu poderia fazer usando múltiplos canais, para erro, usar select pra interromper caso erro, etc, mas eu vi que muita gente usar o errgroup, por exemplo. golang.org/x/sync/errgr... Não faz parte da stdlib, infelizmente, mas seria fácil de replicar, e ainda bem que é razoavelmente utilizado.golang.orgThe Go Programming Language 120
William ➔ Okano @okano.dev · 04/10/2024Então eu dei uma boa revisada em controle de concorrencia com go, padrões de concorrencia (fan-in/merge, fan-out/worker, pipeline), especialmente num problema que percebi na mudança, que antes o código era fail fast, e agora ele só "logava" o erro. Como gerenciar erros entre múltiplas go rotinas 110
William ➔ Okano @okano.dev · 04/10/2024 Cara, não foi exatamente de novo, mas eram conceitos que eu não tava usando muito na real, mas por exemplo, uma das coisas que me cobraram, mas que eu não sabia fazer era benchmark em go, o package testing prove benchmarking nativo. O exercício era analisar um MR adicionando concorrencia numa feat 110
William ➔ Okano @okano.dev · 04/10/2024Agora que terminei todos os meus processos de entrevista posso finalmente focar em escrever um bot pra esse rede social. Será que já passou o hype e eu perdi o timing? Me dê dicas aí do que vocês acham que não tem e gostaria que tivesse e talvez um bot ajudasse. Custa nada perguntar 🤷♂️ kkkkkkk 000
William ➔ Okano @okano.dev · 04/10/2024cc @samsantosb.bsky.social @sseraphini.bsky.social #bolhatech #bolhadev 012
William ➔ Okano @okano.dev · 04/10/2024Obviamente isso não é uma lista exaustiva, tem muito mais coisa pra vc estudar, design de API, protocolos de comunicação, caching, tipos de bancos de dados, etc. Saber dizer não sei parece zoeira, mas o entrevistador vê com bons olhos quem não tenta enrolar no que não sabe. 131