Executando verificação de segurança...
16

50 Publicações Com Maior Número de TabCoins ⭐️

Turma, estou no desafio de fazer uma publicação por dia no TabNews, e para hoje fiz uma query no banco de dados para listar as publicações com o maior número de TabCoins na história do site.

Fiz isso tanto para repescar conteúdos interessantes, quanto para entender se mais para frente ficaria legal uma nova Aba que mostrasse os "Melhores" conteúdos, seja isso os melhores na história do site, ou do mês, semana, etc.

E após esta lista eu coloquei a query que utilizei para montar ela, pois tem um detalhe de concatenação para já formar o link em Markdown e que possa ser interessante conhecer.

Fora isso, coloquei também o EXPLAIN ANALYZE detalhando a performance de executar ela e o custo total, que achei que seria muito maior do que foi, considerando que ainda não passamos pela issue de criação de índices da Milestone atual.

PS: Independente de quando a publicação foi feita, procure deixar algum comentário nela adicionando, destacando ou reforçando algo de positivo. Garanto para você que o autor da publicação irá receber de braços abertos e poderá mudar o dia/semana dela 🤝

50 Publicações Com Maior Número de TabCoins

TabCoinsPublicaçãoUsuário
155[Atualizado] Aplicativo TabNewsavuenja
1329 princípios de design de web responsivorubensflinco
125Tentando construir um pedaço de internet mais massafilipedeschamps
117TabNews atinge 1,5 Milhões de Views e Futuro do Projeto 🎉 (Alerta de Textão) [Atualização sobre a Multa]filipedeschamps
117Repositório do TabNews no GitHub disponibilizado de forma Pública 🎉filipedeschamps
114Apelo: Dark Mode 🌑felipefarinha
111Como consegui trabalhar remotamente para uma empresa internacionalleomuniz
101🔗 Sites úteis para devs [inspiração/ilustração/icones/mockups/fotos/fontes/cores]igorxaviers
101Livros gratuitos de programaçãoRodrigo182
97Tabnews - Problemas de segurança?lucaswilliams
96Acabei de receber um email do Google Search sobre o SEO TabNews 🎉filipedeschamps
9414:24 minutos - 1% do seu diawesleygear
92Tabnews 🟡🔵🔴 - Aprenda a personalizar suas postagens com Markdownlucaswilliams
92Página de pesquisa pro TabNewsnatanael755
89🦀 Rust: Escrever código perfeito é possível!Atom3z
83🦀 Razões para considerar Rust e se integrar à comunidadeigotfr
82[Projeto favela-code] - Devolvendo um pouco das oportunidades que tiveMatheusCastro
80Como eu fiz R$ 700 mil reais com SaaS em 3 meses (não é bait)matheussillva
80Como uma teoria educacional pode te ajudar a ser um programador melhor?nunez
78VERDADES BRUTAIS PARA PROGRAMADORESTabCodeOficial
77A maneira mais fácil de fazer lindas publicações no TabNews e/ou personalizar seu perfil no GitHubEngenhandoValor
74A crise do programador júniorbrunoleo223
73Pitch: App TabNews em Flutteradlerluiz
71Pitch: Como eu lancei um JRPG Cristão no Steam, sem experiência alguma em programação.marlonribeiro
71Renda Mensal Recorrente com Softwarecharlesandersonwd
70🧠 Como utilizar o Anki para reter o que você vem estudandogabibits
69Lançamento Oficial do TabNews 🎉 🎉 🎉filipedeschamps
68☠️ E essa onda de tabs de notícias?gabrielvictorf
66✨FRONT-END -Links de sites íncriveis e ferramentas para você praticar o front end.✨MatheusManuel
65💵 Como eu Consegui um Freelance em Dólar em Menos de 24 Horasbezerralucas
61Filipe Deschamps / TabNews nos trendings do Github 🔥birobirobiro
61Boas práticas dentro do TabNews (Para ser atualizado constantemente)GTEX
61100 dias de inglês! Isso pode mudar sua vida.alangabriel
60TabNews sofreu um ataque DDoS de 3 milhões de Requestfilipedeschamps
60🍊 O programador Chavesmatheuspazinati
59Guia completo de como integrar o ChatGPT com Whatsapp 🤖victorharry
58Certificação gratuita de Inglêsmariduarte
57[v002] Renda Mensal Recorrente com Software - Iniciando do zero aos primeiros R$2000 mensalcharlesandersonwd
56Já entrevistei mais de 500 Programadores Javascript. E aí, o que um dev Javascript deve saber?FilipeNevola
55Deixe aqui seu Github/LinkedIn: vamos ampliar nossa redegabrigomez
54Como buscar posts no TabNews - Google Hackingjjeanjacques10
53Um desabafo de um Analista DevOps JúniormaisUmDevOpsJunior
52Como usar OneDrive como uma CDN de alta performance gratuitaEumanuel
51Como Conseguir Trabalho Remoto Para Exteriorrobsoncasousa
5114 hábitos de programadores altamente produtivosviniciussantos45
50TabCoins retroativamente preenchidas e com um bônus de 10 TabCoins 🎉filipedeschamps
50[TabNews] Como gerar/gastar seus TabCoinsleoMoura
50MAIS Extensões MARAVILHOSAS para o Vscode!josevictormoreno
50Guia de nomeclatura de variáveis e funçõesallangrds
49TabNews teve um salto de SEO no Google Console 🎉filipedeschamps

Query

select
	get_current_balance('content:tabcoin', contents.id) as tabcoins,
	'[' || title || '](https://www.tabnews.com.br/' || users.username || '/' || contents.slug || ')' as publicação,
	users.username as usuário
from
	contents
join
	users on contents.owner_id = users.id

where
	contents.status = 'published'
	and parent_id is null
order by
	tabcoins desc
limit 50;

Query (EXPLAIN ANALYZE)

Limit  (cost=8191.71..8191.83 rows=50 width=46) (actual time=183.755..183.767 rows=50 loops=1)
  ->  Sort  (cost=8191.71..8212.77 rows=8425 width=46) (actual time=183.754..183.762 rows=50 loops=1)
        Sort Key: (get_current_balance('content:tabcoin'::text, contents.id)) DESC
        Sort Method: top-N heapsort  Memory: 46kB
        ->  Hash Join  (cost=1906.67..7911.83 rows=8425 width=46) (actual time=11.697..181.461 rows=7871 loops=1)
              Hash Cond: (contents.owner_id = users.id)
              ->  Seq Scan on contents  (cost=0.00..3750.43 rows=8425 width=126) (actual time=0.013..21.054 rows=7871 loops=1)
                    Filter: ((parent_id IS NULL) AND ((status)::text = 'published'::text))
                    Rows Removed by Filter: 39173
              ->  Hash  (cost=1544.63..1544.63 rows=28963 width=26) (actual time=11.486..11.487 rows=28336 loops=1)
                    Buckets: 32768  Batches: 1  Memory Usage: 1882kB
                    ->  Seq Scan on users  (cost=0.00..1544.63 rows=28963 width=26) (actual time=0.005..5.959 rows=28336 loops=1)
Planning Time: 0.227 ms
Execution Time: 184.061 ms
Carregando publicação patrocinada...
3

Acho ótima a ideia de uma aba com melhores na semana ou no mês, apenas aponto para o fato de recentemente as métricas terem mudado. Digo isso por hoje o valor das tabcoins em cada post é maior, visto que cada IP pode dar apenas uma tabcoin por post a cada 72h.

Mais que isso apenas coloco a minha sugestão de melhora para o algoritmo de filtro para posts relevantes, pois já vi vários posts com muito valor mas com poucas tabcoins, o que atrapalha no ranqueamento dentro do site tendo em vista os critérios para ir para a aba relevante.

3

Muito bom ponto Gabriel, inclusive essa sua publicação quase atingiu o ranking das publicações com maior número de TabCoins 🤝

Eu acredito que o algoritmo de rankeamento da aba Relevantes vai ser lapidado por um bom tempo, e seria muito curioso fazer um teste levando em consideração os comentários 🤝

Inclusive, num dos layouts do Museu, uma das ideias iniciais era destacar na Home um comentário que teve uma ótima qualificação dentro da publicação:

Comentários sendo destacados na Home

3

Também acredito que logo teremos que levar em consideração os comentários.

Acho que já sugeriram que o ranqueamento deveria considerar a quantidade de comentários e também as quantidades de TabCoins dos comentários (não só da publicação), mas acho que isso daria muito peso para posts antigos e teríamos que dar muito mais peso para o fator idade da publicação para que novos conteúdos consigam chegar aos relevantes.

Uma maneira que acredito que funcionaria melhor seria considerar não só a data/hora da publicação, mas também a data/hora do último comentário na publicação, assim conteúdos atemporais poderiam sempre voltar para a relação de relevantes quando receberem novos comentários.

1

Uma maneira que acredito que funcionaria melhor seria considerar não só a data/hora da publicação, mas também a data/hora do último comentário na publicação, assim conteúdos atemporais poderiam sempre voltar para a relação de relevantes quando receberem novos comentários.

Impressionante, sabe porque? Numa outra publicação aqui no TabNews sobre outro assunto, a gente começou a conversar sobre a mecânica dos fóruns antigamente, e era essa, de uma thread antiga voltar ao topo porque recebeu um comentário.

Talvez a gente poderia ter uma outra seção que replique exatamente isso, ao invés de um algoritmo que use como peso 🤝

2
1
1
1

Achei uma ideia muito boa, Filipe. Isso ajuda a engajar tanto quem está buscando notícias novas para um dia mais informado, quanto para aquelas pessoas que postam algo novo diariamente. Um reconhecimento, eu diria

1

Muito legal filipedeschamps,

Obrigado por disponibilizar esse posts, porque realmente facilita para recuperar se perdemos algo em todo esse tempo do TabNews

1
1

Adorei a idéia e a iniciativa de trazer aqui a query com o EXPLAIN. É muito importante que, como devs, nos habituemos a fazer EXPLAIN de nossas consultas. :)

1
1

Acabei de comentar em outra pulicação que tenho usado comentários como forma de "salvar" publicações. Preciso fazer isso com essa, rs, pois tem muito conteúdo bom que seria bem dificícil eu acabar "esbarrando" espontâneamente (se não fossem publicações como essa), por ter entrado há pouco tempo aqui no tabNews.

Também achei muito massa como montou a query, usando essa concatenação. Estou aprendendo SQL e nunca tinha pensado nessa possibilidade.

Muito aprendizado para explorar!

1

Que idéia boa 🤔.

Até aqui eu guardava boas postagens no meu bookmark separando em 3 grupos:

  • Read List
  • Cursos
  • Hall of Fame

Guardar comentando pode ser interessante, mas eu perderia a classificação.

1

Realmente, não fica organizado, mas por outro lado, me agrada o side-effect de "forçar" a pensar em algo a dizer.

Alguns posts que realmente considero importantes eu também salvo nos bookmarks.

1

Legal!

Este post é o tipo de coisa que eu acharia interessante ter como um recurso do site e não como um post.

Sinto falta de uma função de busca ou de poder salvar os posts pra ler depois, sei que dá pra ir no google e buscar com site:tabnews.com.br... mas é um dificultador.

Como eu tenho pouco tempo pra acompanhar, eu acho que o tabnews seria mais acolhedor se eu pudesse chegar e procurar algo que eu quero ou que me mostrasse os posts que tiveram mais sucesso, pois na aba "relevantes" tem muita coisa "irrelevante".