~/talk

Embrace the Database With Ecto

Talkat ElixirDaze 2017 · 2017-03-02..03-03· [databases]
links:none on file
slides:none on file

Uses Ecto + Postgres to enforce real constraints (Postgres check constraints, not null and foreign keys) and to build queries as composable data. Demonstrates counts and samples: 1,066 posts, 32 developers, ~37 posts per developer. Shows raw SQL via repo.query, Ecto fragments and custom macros (between, age in hours, greatest) to compute a hotness score = likes / age^0.8, returns top‑5 post IDs and titles from a production TIL dataset — query runs and returns sensible results.

AI-written summary · about

  1. 0:00Introduction
  2. 0:23About Josh
  3. 1:00Database is your friend
  4. 1:19Database is scary
  5. 1:40Database doesnt have to be dumb
  6. 2:10Most important asset
  7. 2:33Data
  8. 2:53Postgres
  9. 3:33Agenda
  10. 3:54Sample Data Set
  11. 4:08Hash Rocket
  12. 4:34Database Schema
  13. 5:02Post Table
  14. 5:24Developers Table
  15. 6:07Asking Questions
  16. 6:20Sequel
  17. 6:34Elixir Necto
  18. 7:05Query Nectar
  19. 7:37Query Data
  20. 8:05Data Integrity
  21. 8:21Solid Foundation
  22. 8:35Mismanaged Data
  23. 8:55Web Developers
  24. 9:34Validations
  25. 10:04Database
  26. 10:34Data Types
  27. 11:01Custom Data Types
  28. 11:50Not Null Constraint
  29. 12:16Not In Constraint
  30. 12:43Enforce Relationships
  31. 14:29Why Schema List
  32. 15:39How Many Developers
  33. 16:57Join Clause
  34. 18:36Aggregate Function
  35. 18:56Add Account
  36. 19:27Count Posts
  37. 20:27Keyword List
  38. 21:15Query
  39. 21:56Query Results
  40. 22:56Sub Query
  41. 23:53Simple Solution
  42. 24:18Partial Query
  43. 25:12Developers
  44. 25:45Distinct
  45. 26:55Where
  46. 27:27Output
  47. 27:56UpdateAll
  48. 28:09Actos
  49. 28:24Repo Query
  50. 28:46Fragment Functions
  51. 31:10Fragment
  52. 31:46Custom Functions
  53. 32:19Custom Functions Module
  54. 32:43Reusable Functions
  55. 32:53Hottest Posts
  56. 33:28Hottest Posts Algorithm
  57. 34:19Agent Hours
  58. 35:27OurCents
  59. 36:30Post Filter
  60. 37:11Greatest
  61. 40:06Database Snapshot
  62. 40:20Conclusion
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.