Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Rankings, você esta fazendo isso errado
Search
João Moura
September 02, 2013
Programming
0
210
Rankings, você esta fazendo isso errado
João Moura
September 02, 2013
Tweet
Share
More Decks by João Moura
See All by João Moura
State Machines in Elixir
joaomdmoura
0
310
Spreading my love for Elixir and State Machines
joaomdmoura
0
60
Unboxing Data Science (Short Verison)
joaomdmoura
0
84
Elixir a Language for the Future
joaomdmoura
0
120
Tackling Authentication with Phoenix
joaomdmoura
2
490
Desenvolvendo Produtos além das Metodologias Ágeis
joaomdmoura
1
66
Graph Theory Behind Immutable JS
joaomdmoura
0
550
E agora mobile?
joaomdmoura
0
69
(short version) Elixir By A Rubyist
joaomdmoura
0
200
Other Decks in Programming
See All in Programming
請來的 AI Agent 同事們在寫程式時,怎麼用 pytest 去除各種幻想與盲點
keitheis
0
120
Kiroの仕様駆動開発から見えてきたAIコーディングとの正しい付き合い方
clshinji
1
210
Compose Multiplatform × AI で作る、次世代アプリ開発支援ツールの設計と実装
thagikura
0
150
ソフトウェアテスト徹底指南書の紹介
goyoki
1
150
パッケージ設計の黒魔術/Kyoto.go#63
lufia
3
430
速いWebフレームワークを作る
yusukebe
5
1.7k
Ruby×iOSアプリ開発 ~共に歩んだエコシステムの物語~
temoki
0
270
機能追加とリーダー業務の類似性
rinchoku
2
1.3k
意外と簡単!?フロントエンドでパスキー認証を実現する WebAuthn
teamlab
PRO
2
740
もうちょっといいRubyプロファイラを作りたい (2025)
osyoyu
1
430
テストコードはもう書かない:JetBrains AI Assistantに委ねる非同期処理のテスト自動設計・生成
makun
0
260
AWS発のAIエディタKiroを使ってみた
iriikeita
1
180
Featured
See All Featured
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
840
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
How to Think Like a Performance Engineer
csswizardry
26
1.9k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
Being A Developer After 40
akosma
90
590k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
GraphQLの誤解/rethinking-graphql
sonatard
72
11k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.1k
Making Projects Easy
brettharned
117
6.4k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
580
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Transcript
João Moura @joaomdmoura github.com/joaomdmoura
PALPITEROS RUBYSOURCE
TEMOS vAGAS!
[email protected]
rankings você esta fazendo isso errado
por que? onde e como?
GAME NEWS
GAME NEWS
objetivo ordenar e distinguir
quão hábil relevante? fator!
Relevância é dinheiro
1
None
Ranking Relevância Resultado
Ranking Relevância Resultado
problema Resultado errado!
“eu quero ser o maior treinador de todos os tempos”
1 2 3 1000 2000 1500
1 2 3 1000 2000 1500
1 2 3 1000 2000 1500 10
1 2 3 4 1000 2000 1500 10
“eu quero ser o maior treinador de todos os tempos”
Só que não
Consequência objetivo x realidade
Habilidade != histórico
Rankings não são coisa de criança
é possível algorítimos
“Um algoritmo é uma sequência finita de instruções bem definidas
e não ambíguas, cada uma das quais pode ser executada mecanicamente num período de tempo finito e com uma quantidade de esforço finita”
ELO rating
Rating game
Rating game Ra = Rb
Precisão Nø partidas
Microsoft sim, microsoft
Microsoft sim, microsoft
+
TRuESKILL
TrUE Skill ELo Rating on Steroids
distrust SKILL rating {
SKILL distrust
distrust USER game SKILL
2000 100 1500 500
2000 100 1500 500
distrust SKILL
distrust SKILL
distrust SKILL
x DESAFIO distrust SKILL
WIN LOST dificuldade
Microsoft sim, é patentiado
Sigma ̇ Ruby! ruby! Ruby! Ruby!̇
100.times { user_1.won (user_1.rating - user_2.rating) user_2.lost (user_2.rating - user_1.rating)
user_2.won (user_2.rating - user_3.rating) user_3.lost (user_3.rating - user_2.rating) user_3.won (user_3.rating - user_4.rating) user_4.lost (user_4.rating - user_3.rating) }
2.times { user_5.won(user_5.rating - user_2.rating) user_2.lost(user_2.rating - user_5.rating) } 2.times
{ user_5.won(user_5.rating - user_1.rating) user_1.lost(user_1.rating - user_5.rating) } expect(User.ranking.first).to eq user_5
None
x.rating x.position x.matches x.won(difficulty) x.lost(difficulty) EASY
CODEPONG Devs também fazem esporte
CODEPONG Devs também fazem esporte
Habilidade COnfiança EXpectativa acertividade
COnclusão
COnclusão Todos participaram
COnclusão Todos participaram produtividade despenca
COnclusão Todos participaram produtividade despenca Akita é japonês e não
joga bem
Revisão POssibilidades Relevância ALgorítimos SIGMA PING PONG é LEGAL
TAKE OFF CONF
None
None
FEVEREIrO 2014
Thank you! @joaomdmoura github.com/joaomdmoura