SlideShare una empresa de Scribd logo
1 de 157
Django Packages
     Case Study


         1
We do cartwheels




       2
We do cartwheels

• Python
• Django
• Pinax
• django-cms
• Teach
               3
We do cartwheels

• Python
• Django
• Pinax
• django-cms
• Teach
           ...and we’re hiring!
                    3
Inception




    4
Inception




    4
Inception




    5
Inception




    6
Inception




    6
Inception




    6
Inception


          “How about
          a site to help
        find Django apps?”




    7
Inception
                       django-apps.com




Tags!
                Ads!
            8
Inception

License


SVN?                  Ads!


 Feed
              9
Inception




Django Packages


      10
Inception



   Bullets of design


    11
Inception

• Usability
                 Bullets of design


                  11
Inception

• Usability
• Search         Bullets of design


                  11
Inception

• Usability
• Search       Bullets of design
• Comparison


               11
Inception

• Usability
• Search       Bullets of design
• Comparison
• No Ads

               11
Inception
Team Scared of Rabbits




                    12
Inception
Team Scared of Rabbits




                    12
Inception
Team Scared of Rabbits




                    12
Inception
Team Scared of Rabbits




                    12
Mullets




   13
Mullets




APOLOGY: No pictures of me with a mullet

                   13
Tag Clouds




    14
Tag cloud is the
mullet of web 2.0




        15
Grids, not Tags




       16
Grids, not Tags




       16
Grids, not Tags


              User created
            categories lacking
                metadata




       16
Grids, not tags
code.djangoproject.com/wiki/CMSAppsComparison




                     17
Grids, not tags
code.djangoproject.com/wiki/CMSAppsComparison




                     17
Grids, not tags
code.djangoproject.com/wiki/CMSAppsComparison




                     17
Grids, not tags
code.djangoproject.com/wiki/CMSAppsComparison




What if tags could
  have all this
 information?        17
Grids, not tags
code.djangoproject.com/wiki/CMSAppsComparison




Easy to model
     with
Many to Many!        18
Grids, not tags
code.djangoproject.com/wiki/CMSAppsComparison




Easier to model
   with EAV
 using NoSQL!        19
Grids, not tags
code.djangoproject.com/wiki/CMSAppsComparison




Easy to model
     with
Many to Many!        20
Not gonna fit
www.djangopackages.com/grids/g/nosql/




                 21
Not gonna fit
www.djangopackages.com/grids/g/nosql/




                 21
Not gonna fit
www.djangopackages.com/grids/g/nosql/




                 21
Not gonna fit
www.djangopackages.com/grids/g/nosql/




                 21
Only hard metrics*




        22
Only hard metrics*

• No opinions



                22
Only hard metrics*

• No opinions
• No rating systems


                      22
Only hard metrics*

• No opinions
• No rating systems
• No comments

                      22
Only hard metrics*
                           “We wanted hard metrics. So the
                           package numbers are pulled from
                           the repo sites such as Github,

• No opinions              Bitbucket, and Google Code.
                           Otherwise things get weighted
                           funny. Sure, this system can be
• No rating systems        monkeyed with, but its a good
                           metric for now. We've had

• No comments              suggestions from Django core
                           developers of coming up with a
                           quality check system, things like
                           pypants and/or a formalized
                           approval system.”




                      22
Only hard metrics*
                                    “We wanted hard metrics. So the
                                    package numbers are pulled from
                                    the repo sites such as Github,

• No opinions                       Bitbucket, and Google Code.
                                    Otherwise things get weighted
                                    funny. Sure, this system can be
• No rating systems                 monkeyed with, but its a good
                                    metric for now. We've had

• No comments                       suggestions from Django core
                                    developers of coming up with a
                                    quality check system, things like
                                    pypants and/or a formalized
                                    approval system.”


         *Also because it kept the project scope smaller
                               22
Only hard metrics




        23
Only hard metrics




Yes/No
          23
Only hard metrics




          PyPI
Yes/No
          23
Only hard metrics




          PyPI
Yes/No           Supported repo sites
          23
Only hard metrics




          PyPI
Yes/No           Supported repo sites
          23
Only hard metrics




          PyPI
Yes/No           Supported repo sites
          23
Only hard metrics

  PyPI         Google

Github   Sourceforge
Bitbucket Launchpad
          24
Only hard metrics

  PyPI         Google

Github   Sourceforge
Bitbucket Launchpad
          24
Only hard metrics

  PyPI         Google

Github   Sourceforge
Bitbucket Launchpad
          24
Only hard metrics

  PyPI         Google

Github   Sourceforge
Bitbucket Launchpad
          24
Only hard metrics

  PyPI         Google

Github   Sourceforge
Bitbucket Launchpad
          24
Regex vs XML




     25
Regex vs XML

• Could not find PyPI API




                    25
Regex vs XML

• Could not find PyPI API
• DOAP is next to useless



                    25
Regex vs XML

• Could not find PyPI API
• DOAP is next to useless
• Time to slurp data out of web pages


                    25
Regex vs XML

• Could not find PyPI API
• DOAP is next to useless
• Time to slurp data out of web pages
• I’m faster at regex then XML parsing

                     25
Regex vs XML

• Could not find PyPI API
• DOAP is next to useless
• Time to slurp data out of web pages
• I’m faster at regex then XML parsing
• And I got it working
                     25
Regex vs XML


bit.ly/cu5Prt

      26
Regex vs XML

• Could not find PyPI API
• DOAP is next to useless
• Time to slurp data out of web pages
• I’m faster at regex then XML parsing
• And I got it working
                     27
Dash Architecture




        28
Dash Architecture

• Django 1.2.1 / Pinax 0.9a1




                     28
Dash Architecture

• Django 1.2.1 / Pinax 0.9a1
• Python 2.6.5



                     28
Dash Architecture

• Django 1.2.1 / Pinax 0.9a1
• Python 2.6.5
• Sqlite 3.6.12


                     28
Dash Architecture

• Django 1.2.1 / Pinax 0.9a1
• Python 2.6.5
• Sqlite 3.6.12
• Ubuntu 10.4

                     28
Dash Architecture

• Django 1.2.1 / Pinax 0.9a1
• Python 2.6.5
• Sqlite 3.6.12
• Ubuntu 10.4
• HTTP Server:
                     28
Dash Architecture

• Django 1.2.1 / Pinax 0.9a1
• Python 2.6.5
• Sqlite 3.6.12
• Ubuntu 10.4
• HTTP Server: Apache
                     28
Dash Architecture

• Django 1.2.1 / Pinax 0.9a1
• Python 2.6.5
• Sqlite 3.6.12
• Ubuntu 10.4
• HTTP Server:
                     28
Dash Architecture

• Django 1.2.1 / Pinax 0.9a1
• Python 2.6.5
• Sqlite 3.6.12
• Ubuntu 10.4
• HTTP Server: Django Runserver
                   28
Django Dash Placing




         29
Django Dash Placing




         29
Django Dash Placing




         29
Django Dash Placing




         29
Django Dash Placing




         29
Django Dash Placing




I’m not bitter
             29
Lessons Learned




       30
Lessons Learned


Research ahead of time
        API limitations
      Google Charts rock


              30
Lessons Learned




       31
Lessons Learned

PEP-8 is your friend
     python -c “import this”
    Keep things simple and flat
       Corrections easier

                31
Lessons Learned




       32
Lessons Learned


    Fixtures are a must

      Test and blow away your stuff constantly
Helps the designer with matching content with layout

                         32
Lessons Learned




       33
Lessons Learned

 Don’t optimize
  prematurely
 Don’t start by removing Django bits
   Write the project then analyze
Even the simplest of caching will help.
                  33
Lessons Learned




       34
Lessons Learned

Have a system
 architecture
     plan

       34
Lessons Learned
            I was near

Have a systemuseless at
            sys admin

 architecture
     plan

       34
Lessons Learned
                  I was near

Have a system      useless at
                  sys admin

 architecture
     plan
  Audrey to the rescue!

           34
Lessons Learned
                                 I was near

          Have a system           useless at
                                 sys admin

           architecture
               plan
                Audrey to the rescue!
“Learn the sys admin stuff cause it affects everything”
                          34
Lessons Learned




       35
Lessons Learned


Share during the dash
  Bouncing ideas off other teams is handy



                    35
Lessons Learned




       36
Lessons Learned




       37
The First Month




       38
The First Month




 “There’s a package for that”



              38
The First Month




      “There’s a package for that”

“I’ve got your Django Package right here”
                   38
The First Month




  http://www.revsys.com/
            39
The First Month




  http://www.revsys.com/
            39
The First Month




  http://www.revsys.com/
            39
The First Month




  http://www.revsys.com/
            39
The First Month




       40
The First Month

  PyPI         Google

Github   Sourceforge
Bitbucket Launchpad
          41
The First Month

  PyPI         Google

Github   Sourceforge
Bitbucket Launchpad
          41
The First Month




       42
The First Month




       42
The First Month


• Apache
• Got email functioning
• Page cleanup

                    43
The First Month

WARNING

       44
The First Month

WARNING

       44
DjangoCon 2010




      45
DjangoCon 2010




  flickr.com/photos/bfirsh
             45
DjangoCon 2010


Our Friendly DSF president




                     46
DjangoCon 2010

WARNING

      47
DjangoCon 2010

WARNING

      47
DjangoCon 2010




If I had been there earlier I would not have lost sprinters
                            48
DjangoCon 2010




      49
DjangoCon 2010




THIS ROCKS!
              49
DjangoCon 2010


http://djangopackages.com/api/v1/docs/




                  50
Django-CMS




django-cms.org/en/extensions
             51
DjangoCon 2010


   django-reversions




          52
DjangoCon 2010

   PyPI
  Regex
DjangoCon 2010

    PyPI
DjangoCon 2010

 PyPI
XMLRPC
DjangoCon 2010
• AJAX controls on “I use this”
• Caching
• Fancy permission controls for deletions
• History Graphs on grid views
• Query Optimization
• Unit Tests!


                       54
Around DjangoCon




  Used to help track features!
               55
Around DjangoCon




  Used to help track features!
               55
Random Hacks of Kindness




 https://github.com/rhok-planet/crisishacks
         http://www.crisishacks.com/
                     56
Autumn



Moved from Kansas to Los Angeles
Autumn



Moved from Kansas to Los Angeles
Autumn



Moved from Kansas to Los Angeles
Early 2011

Read the Docs

         +
        Django Packages
Read the Docs




Django Packages
            59
Read the Docs




Django Packages
            59
PyCon 2011




    60
PyCon 2011

WARNING

     60
PyCon 2011

WARNING

     60
Pycon Sprint




     61
Pycon Sprint


Starting early!

        61
Pycon Sprint

  PyPI        Google

Github   Sourceforge
Bitbucket Launchpad
         62
Pycon Sprint

  PyPI        Google

Github   Sourceforge
Bitbucket Launchpad
         62
Pycon Sprint



Badges
      63
Pycon Sprint
    Top 10          Django-CMS
   Downloads           Plugin       Core




       Badges
                                  Approved
Read
 the                                        This
Docs                                        Site!


       On PyPI                   Coverage
                   Top 10
                                  80+%
                    Used
                     63
Pycon Sprint

 Package
Pagination
      64
Pycon Sprint


Shopping Cart
Select your packages and get a requirements file!


                       65
Pycon Sprint


    X-Y Axis
djangopackages.com/grids/g/deployment


                 66
pythonpackages.com



       ?
        67
pythonpackages.com



       ?
        67
pythonpackages.com
     Are you going
      to replace
         PyPI?




          68
pythonpackages.com
     Are you going
      to replace
         PyPI?




  NO!     68
pythonpackages.com



Phase I
        69
pythonpackages.com

  Only display packages
formally released on PyPI



            70
pythonpackages.com


  Release your stuff!



           71
Questions?

    72

Más contenido relacionado

Destacado

Python Programming Essentials - M44 - Overview of Web Development
Python Programming Essentials - M44 - Overview of Web DevelopmentPython Programming Essentials - M44 - Overview of Web Development
Python Programming Essentials - M44 - Overview of Web DevelopmentP3 InfoTech Solutions Pvt. Ltd.
 
How to Write a Popular Python Library by Accident
How to Write a Popular Python Library by AccidentHow to Write a Popular Python Library by Accident
How to Write a Popular Python Library by AccidentDaniel Greenfeld
 
Thinking hard about_python
Thinking hard about_pythonThinking hard about_python
Thinking hard about_pythonDaniel Greenfeld
 
10 more-things-you-can-do-with-python
10 more-things-you-can-do-with-python10 more-things-you-can-do-with-python
10 more-things-you-can-do-with-pythonDaniel Greenfeld
 
From NASA to Startups to Big Commerce
From NASA to Startups to Big CommerceFrom NASA to Startups to Big Commerce
From NASA to Startups to Big CommerceDaniel Greenfeld
 

Destacado (7)

Python Programming Essentials - M44 - Overview of Web Development
Python Programming Essentials - M44 - Overview of Web DevelopmentPython Programming Essentials - M44 - Overview of Web Development
Python Programming Essentials - M44 - Overview of Web Development
 
How to Write a Popular Python Library by Accident
How to Write a Popular Python Library by AccidentHow to Write a Popular Python Library by Accident
How to Write a Popular Python Library by Accident
 
Thinking hard about_python
Thinking hard about_pythonThinking hard about_python
Thinking hard about_python
 
Intro to Python
Intro to PythonIntro to Python
Intro to Python
 
10 more-things-you-can-do-with-python
10 more-things-you-can-do-with-python10 more-things-you-can-do-with-python
10 more-things-you-can-do-with-python
 
From NASA to Startups to Big Commerce
From NASA to Startups to Big CommerceFrom NASA to Startups to Big Commerce
From NASA to Startups to Big Commerce
 
Python Worst Practices
Python Worst PracticesPython Worst Practices
Python Worst Practices
 

Más de Daniel Greenfeld

Más de Daniel Greenfeld (12)

Future of Collaboration
Future of CollaborationFuture of Collaboration
Future of Collaboration
 
Advanced Django Forms Usage
Advanced Django Forms UsageAdvanced Django Forms Usage
Advanced Django Forms Usage
 
Confessions of Joe Developer
Confessions of Joe DeveloperConfessions of Joe Developer
Confessions of Joe Developer
 
Django Worst Practices
Django Worst PracticesDjango Worst Practices
Django Worst Practices
 
How to sell django panel
How to sell django panelHow to sell django panel
How to sell django panel
 
Pinax Long Tutorial Slides
Pinax Long Tutorial SlidesPinax Long Tutorial Slides
Pinax Long Tutorial Slides
 
Testing In Django
Testing In DjangoTesting In Django
Testing In Django
 
Django Uni-Form
Django Uni-FormDjango Uni-Form
Django Uni-Form
 
Nova Django
Nova DjangoNova Django
Nova Django
 
Pinax Introduction
Pinax IntroductionPinax Introduction
Pinax Introduction
 
Why Django
Why DjangoWhy Django
Why Django
 
Pinax Tutorial 09/09/09
Pinax Tutorial 09/09/09Pinax Tutorial 09/09/09
Pinax Tutorial 09/09/09
 

Último

[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 

Último (20)

[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 

Django Packages: A Case Study

Notas del editor

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. \n
  32. \n
  33. Talk about how PyPI allows comments - which can be spoofed.\n
  34. Talk about how PyPI allows comments - which can be spoofed.\n
  35. Talk about how PyPI allows comments - which can be spoofed.\n
  36. Talk about how PyPI allows comments - which can be spoofed.\n
  37. Talk about how PyPI allows comments - which can be spoofed.\n
  38. \n
  39. \n
  40. \n
  41. \n
  42. \n
  43. \n
  44. \n
  45. \n
  46. \n
  47. \n
  48. \n
  49. \n
  50. \n
  51. \n
  52. \n
  53. \n
  54. \n
  55. \n
  56. \n
  57. \n
  58. \n
  59. \n
  60. \n
  61. \n
  62. \n
  63. \n
  64. \n
  65. \n
  66. \n
  67. \n
  68. \n
  69. \n
  70. \n
  71. \n
  72. \n
  73. \n
  74. \n
  75. \n
  76. \n
  77. \n
  78. \n
  79. \n
  80. \n
  81. \n
  82. \n
  83. \n
  84. \n
  85. \n
  86. \n
  87. \n
  88. \n
  89. \n
  90. \n
  91. \n
  92. \n
  93. \n
  94. \n
  95. \n
  96. \n
  97. \n
  98. \n
  99. \n
  100. \n
  101. \n
  102. \n
  103. \n
  104. \n
  105. \n
  106. \n
  107. \n
  108. \n
  109. \n
  110. \n
  111. \n
  112. \n
  113. \n
  114. \n
  115. \n
  116. \n
  117. \n
  118. \n