SlideShare ist ein Scribd-Unternehmen logo
1 von 44
Downloaden Sie, um offline zu lesen
Úvod do programování aneb Do nitra stroje
PŘEDNÁŠKA                       Karel Minařík
            7
1   Opakování




                Úvod do programování
DOMÁCÍ ÚKOL

Navrhněte a naprogramujte třídu TextAnalyzer

TextAnalyzer:
  text
•
• characters
• words
• pages
• unique_words
• most_frequent_words
• most_frequent_word




                                        Úvod do programování Přednáška 7
Jak fungují projekty v IT?

                        Úvod do programování Přednáška 7
Agilní vývoj (Agile development)

Osobnosti a komunikace místo procesů a nástrojů
Fungující software místo rozsáhlé dokumentace
Spolupráce se zákazníkem místo smlouvání a vyjednávání
Vyrovnávání se se změnami místo dodržování plánu




                                                         Úvod do programování Přednáška 7
2   Grafické rozhraní (GUI)




                              Úvod do programování
In the beginning was the command line...
1968   2006
Command Line Interface — nutná znalost „možností” a „příkazů“

Graphical User Interface — „vidím možnosti“ a příkazy provádím přímou interakcí




                                                              Úvod do programování Přednáška 7
Typický příklad rozdílu mezi CLI a GUI: Drag and Drop
            (přímá interakce s objektem)
Minority Report (Steven Spielberg, 2002)
Apple iPhone
Apple iPhone
Apple iPhone
Command Line Interface CLI
Graphical User Interface GUI
Touchscreen



      Blízkost k rozhraní




                             Úvod do programování Přednáška 7
GUI TOOLKIT
 require quot;tkquot;

 root = TkRoot.new() { title quot;Windowquot; }

 button_submit= TkButton.new do
   text quot;Click me!quot;
   command( proc {
     puts quot;Button was clicked... now closing the window!quot;
     root.destroy
   })
   pack(:pady => 50, :padx => 50, :side => quot;topquot;)
 end

 Tk.mainloop




• Windows API, Aqua (Mac OS X)

• GTK+, QT, WxWidgets, Swing, …

• Adobe Flash/Flex

• Microsoft Silverlight

• HTML+CSS




                                                            Úvod do programování Přednáška 7
HTML pro GUI?


                Úvod do programování Přednáška 7
Basecamp (37 Signals)
www.basecamphq.com


                        Úvod do programování Přednáška 7
Gmail (Google)
www.gmail.com


                 Úvod do programování Přednáška 7
www.farecast.com


                   Úvod do programování Přednáška 7
www.google.com/analytics


                           Úvod do programování Přednáška 7
Java



www.babynamewizard.com/namevoyager


                                 Úvod do programování Přednáška 7
Flash



http://kuler.adobe.com


                         Úvod do programování Přednáška 7
www.modguitars.com/chords


                            Úvod do programování Přednáška 7
3   Ruby on Rails




                    Úvod do programování
Úvod do programování Přednáška 7
Ruby On Rails is Ruby’s killer app — Yukihiro Matsumoto


                                              Úvod do programování Přednáška 7
PROČ RUBY ON RAILS?




„Toto je sněhová vločka. Vaše aplikace není jedna z nich. Většina
věcí, které většina lidí dělá, není nijak unikátní. Vaše potřeby nejsou
nijak ‚zvláštní‘.“
~ David Heinemeier Hansson, přednáška na konferenci Future Of Web Applications, únor 2006




                                                                          Úvod do programování Přednáška 7
PROČ RUBY ON RAILS?



Konvence místo konfigurace
Dodržování doporučených postupů (best–practices)
Silná komunita




                                          Úvod do programování Přednáška 7
www.peepcode.com/products/rails-from-scratch-part-i


                                            Úvod do programování Přednáška 7
CO JSOU RUBY ON RAILS?



Model–View–Controller framework
ActiveRecord
ActiveSupport
ActionController
ActionView
ActionMailer
ActiveResource



                                  Úvod do programování Přednáška 7
předává data
                              volá
                                        zobrazuje




www.peepcode.com/products/rails-from-scratch-part-i


                                            Úvod do programování Přednáška 7
CO JSOU RUBY ON RAILS?



Model–View–Controller framework
ActiveRecord
ActiveSupport
ActionController
ActionView
ActionMailer
ActiveResource



                                  Úvod do programování Přednáška 7
CO JSOU RUBY ON RAILS?



Model–View–Controller framework
ActiveRecord
ActiveSupport
ActionController
ActionView
ActionMailer
ActiveResource



                                  Úvod do programování Přednáška 7
CO JSOU RUBY ON RAILS?



Model–View–Controller framework
ActiveRecord
ActiveSupport
ActionController
ActionView
ActionMailer
ActiveResource



                                  Úvod do programování Přednáška 7
CO JSOU RUBY ON RAILS?



Model–View–Controller framework
ActiveRecord
ActiveSupport
ActionController
ActionView
ActionMailer
ActiveResource



                                  Úvod do programování Přednáška 7
CO JSOU RUBY ON RAILS?



Model–View–Controller framework
ActiveRecord
ActiveSupport
ActionController
ActionView
ActionMailer
ActiveResource



                                  Úvod do programování Přednáška 7
CO JSOU RUBY ON RAILS?



Model–View–Controller framework
ActiveRecord
ActiveSupport
ActionController
ActionView
ActionMailer
ActiveResource



                                  Úvod do programování Přednáška 7
CO JSOU RUBY ON RAILS?




                         ?
                             Úvod do programování Přednáška 7
CO JSOU RUBY ON RAILS?




% live coding



                         Úvod do programování Přednáška 7
Děkuji!
 

Weitere ähnliche Inhalte

Ähnlich wie Úvod do programování 7

Jaoo Michael Neale 09
Jaoo Michael Neale 09Jaoo Michael Neale 09
Jaoo Michael Neale 09Michael Neale
 
Stripes RJUG March 2012
Stripes RJUG March 2012Stripes RJUG March 2012
Stripes RJUG March 2012timstone
 
Samuel Asher Rivello - PureMVC Hands On Part 2
Samuel Asher Rivello - PureMVC Hands On Part 2Samuel Asher Rivello - PureMVC Hands On Part 2
Samuel Asher Rivello - PureMVC Hands On Part 2360|Conferences
 
RxSwift for Beginners - how to avoid a headache of reactive programming
RxSwift for Beginners - how to avoid a headache of reactive programmingRxSwift for Beginners - how to avoid a headache of reactive programming
RxSwift for Beginners - how to avoid a headache of reactive programmingMaciej Kołek
 
JavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SK
JavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SKJavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SK
JavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SKDavid Wesst
 
Connecting with the enterprise - The how and why of connecting to Enterprise ...
Connecting with the enterprise - The how and why of connecting to Enterprise ...Connecting with the enterprise - The how and why of connecting to Enterprise ...
Connecting with the enterprise - The how and why of connecting to Enterprise ...Kevin Poorman
 
Scripting Oracle Develop 2007
Scripting Oracle Develop 2007Scripting Oracle Develop 2007
Scripting Oracle Develop 2007Tugdual Grall
 
WSO2Con Asia 2014 - WSO2 AppDev Platform for the Connected Business
WSO2Con Asia 2014 - WSO2 AppDev Platform for the Connected BusinessWSO2Con Asia 2014 - WSO2 AppDev Platform for the Connected Business
WSO2Con Asia 2014 - WSO2 AppDev Platform for the Connected BusinessWSO2
 
Consegi 2010 - Dicas de Desenvolvimento Web com Ruby
Consegi 2010 - Dicas de Desenvolvimento Web com RubyConsegi 2010 - Dicas de Desenvolvimento Web com Ruby
Consegi 2010 - Dicas de Desenvolvimento Web com RubyFabio Akita
 
Vaadin intro at GWT.create conference
Vaadin intro at GWT.create conferenceVaadin intro at GWT.create conference
Vaadin intro at GWT.create conferenceJoonas Lehtinen
 
Escape the defaults - Configure Sling like AEM as a Cloud Service
Escape the defaults - Configure Sling like AEM as a Cloud ServiceEscape the defaults - Configure Sling like AEM as a Cloud Service
Escape the defaults - Configure Sling like AEM as a Cloud ServiceRobert Munteanu
 
Refactoring JavaScript Applications
Refactoring JavaScript ApplicationsRefactoring JavaScript Applications
Refactoring JavaScript ApplicationsJovan Vidić
 
Programming For Non-Programmers (AMEX Remix Edition)
Programming For Non-Programmers (AMEX Remix Edition) Programming For Non-Programmers (AMEX Remix Edition)
Programming For Non-Programmers (AMEX Remix Edition) Chris Castiglione
 
Continuous Deployment: The Dirty Details
Continuous Deployment: The Dirty DetailsContinuous Deployment: The Dirty Details
Continuous Deployment: The Dirty DetailsMike Brittain
 

Ähnlich wie Úvod do programování 7 (20)

Jaoo Michael Neale 09
Jaoo Michael Neale 09Jaoo Michael Neale 09
Jaoo Michael Neale 09
 
Real World Technologies
Real World TechnologiesReal World Technologies
Real World Technologies
 
Laszlo PyCon 2005
Laszlo PyCon 2005Laszlo PyCon 2005
Laszlo PyCon 2005
 
Stripes RJUG March 2012
Stripes RJUG March 2012Stripes RJUG March 2012
Stripes RJUG March 2012
 
Samuel Asher Rivello - PureMVC Hands On Part 2
Samuel Asher Rivello - PureMVC Hands On Part 2Samuel Asher Rivello - PureMVC Hands On Part 2
Samuel Asher Rivello - PureMVC Hands On Part 2
 
RxSwift for Beginners - how to avoid a headache of reactive programming
RxSwift for Beginners - how to avoid a headache of reactive programmingRxSwift for Beginners - how to avoid a headache of reactive programming
RxSwift for Beginners - how to avoid a headache of reactive programming
 
JavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SK
JavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SKJavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SK
JavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SK
 
Connecting with the enterprise - The how and why of connecting to Enterprise ...
Connecting with the enterprise - The how and why of connecting to Enterprise ...Connecting with the enterprise - The how and why of connecting to Enterprise ...
Connecting with the enterprise - The how and why of connecting to Enterprise ...
 
Os Haase
Os HaaseOs Haase
Os Haase
 
Brunch With Coffee
Brunch With CoffeeBrunch With Coffee
Brunch With Coffee
 
Docker In Bank Unrated
Docker In Bank UnratedDocker In Bank Unrated
Docker In Bank Unrated
 
Scripting Oracle Develop 2007
Scripting Oracle Develop 2007Scripting Oracle Develop 2007
Scripting Oracle Develop 2007
 
WSO2Con Asia 2014 - WSO2 AppDev Platform for the Connected Business
WSO2Con Asia 2014 - WSO2 AppDev Platform for the Connected BusinessWSO2Con Asia 2014 - WSO2 AppDev Platform for the Connected Business
WSO2Con Asia 2014 - WSO2 AppDev Platform for the Connected Business
 
WSO2 AppDev platform
WSO2 AppDev platformWSO2 AppDev platform
WSO2 AppDev platform
 
Consegi 2010 - Dicas de Desenvolvimento Web com Ruby
Consegi 2010 - Dicas de Desenvolvimento Web com RubyConsegi 2010 - Dicas de Desenvolvimento Web com Ruby
Consegi 2010 - Dicas de Desenvolvimento Web com Ruby
 
Vaadin intro at GWT.create conference
Vaadin intro at GWT.create conferenceVaadin intro at GWT.create conference
Vaadin intro at GWT.create conference
 
Escape the defaults - Configure Sling like AEM as a Cloud Service
Escape the defaults - Configure Sling like AEM as a Cloud ServiceEscape the defaults - Configure Sling like AEM as a Cloud Service
Escape the defaults - Configure Sling like AEM as a Cloud Service
 
Refactoring JavaScript Applications
Refactoring JavaScript ApplicationsRefactoring JavaScript Applications
Refactoring JavaScript Applications
 
Programming For Non-Programmers (AMEX Remix Edition)
Programming For Non-Programmers (AMEX Remix Edition) Programming For Non-Programmers (AMEX Remix Edition)
Programming For Non-Programmers (AMEX Remix Edition)
 
Continuous Deployment: The Dirty Details
Continuous Deployment: The Dirty DetailsContinuous Deployment: The Dirty Details
Continuous Deployment: The Dirty Details
 

Mehr von Karel Minarik

Vizualizace dat a D3.js [EUROPEN 2014]
Vizualizace dat a D3.js [EUROPEN 2014]Vizualizace dat a D3.js [EUROPEN 2014]
Vizualizace dat a D3.js [EUROPEN 2014]Karel Minarik
 
Elasticsearch (Rubyshift 2013)
Elasticsearch (Rubyshift 2013)Elasticsearch (Rubyshift 2013)
Elasticsearch (Rubyshift 2013)Karel Minarik
 
Elasticsearch in 15 Minutes
Elasticsearch in 15 MinutesElasticsearch in 15 Minutes
Elasticsearch in 15 MinutesKarel Minarik
 
Realtime Analytics With Elasticsearch [New Media Inspiration 2013]
Realtime Analytics With Elasticsearch [New Media Inspiration 2013]Realtime Analytics With Elasticsearch [New Media Inspiration 2013]
Realtime Analytics With Elasticsearch [New Media Inspiration 2013]Karel Minarik
 
Elasticsearch And Ruby [RuPy2012]
Elasticsearch And Ruby [RuPy2012]Elasticsearch And Ruby [RuPy2012]
Elasticsearch And Ruby [RuPy2012]Karel Minarik
 
Shell's Kitchen: Infrastructure As Code (Webexpo 2012)
Shell's Kitchen: Infrastructure As Code (Webexpo 2012)Shell's Kitchen: Infrastructure As Code (Webexpo 2012)
Shell's Kitchen: Infrastructure As Code (Webexpo 2012)Karel Minarik
 
Elastic Search: Beyond Ordinary Fulltext Search (Webexpo 2011 Prague)
Elastic Search: Beyond Ordinary Fulltext Search (Webexpo 2011 Prague)Elastic Search: Beyond Ordinary Fulltext Search (Webexpo 2011 Prague)
Elastic Search: Beyond Ordinary Fulltext Search (Webexpo 2011 Prague)Karel Minarik
 
Your Data, Your Search, ElasticSearch (EURUKO 2011)
Your Data, Your Search, ElasticSearch (EURUKO 2011)Your Data, Your Search, ElasticSearch (EURUKO 2011)
Your Data, Your Search, ElasticSearch (EURUKO 2011)Karel Minarik
 
Redis — The AK-47 of Post-relational Databases
Redis — The AK-47 of Post-relational DatabasesRedis — The AK-47 of Post-relational Databases
Redis — The AK-47 of Post-relational DatabasesKarel Minarik
 
CouchDB – A Database for the Web
CouchDB – A Database for the WebCouchDB – A Database for the Web
CouchDB – A Database for the WebKarel Minarik
 
Spoiling The Youth With Ruby (Euruko 2010)
Spoiling The Youth With Ruby (Euruko 2010)Spoiling The Youth With Ruby (Euruko 2010)
Spoiling The Youth With Ruby (Euruko 2010)Karel Minarik
 
Verzovani kodu s Gitem (Karel Minarik)
Verzovani kodu s Gitem (Karel Minarik)Verzovani kodu s Gitem (Karel Minarik)
Verzovani kodu s Gitem (Karel Minarik)Karel Minarik
 
Představení Ruby on Rails [Junior Internet]
Představení Ruby on Rails [Junior Internet]Představení Ruby on Rails [Junior Internet]
Představení Ruby on Rails [Junior Internet]Karel Minarik
 
Efektivni vyvoj webovych aplikaci v Ruby on Rails (Webexpo)
Efektivni vyvoj webovych aplikaci v Ruby on Rails (Webexpo)Efektivni vyvoj webovych aplikaci v Ruby on Rails (Webexpo)
Efektivni vyvoj webovych aplikaci v Ruby on Rails (Webexpo)Karel Minarik
 
Úvod do programování 5
Úvod do programování 5Úvod do programování 5
Úvod do programování 5Karel Minarik
 
Interaktivita, originalita a návrhové vzory
Interaktivita, originalita a návrhové vzoryInteraktivita, originalita a návrhové vzory
Interaktivita, originalita a návrhové vzoryKarel Minarik
 

Mehr von Karel Minarik (16)

Vizualizace dat a D3.js [EUROPEN 2014]
Vizualizace dat a D3.js [EUROPEN 2014]Vizualizace dat a D3.js [EUROPEN 2014]
Vizualizace dat a D3.js [EUROPEN 2014]
 
Elasticsearch (Rubyshift 2013)
Elasticsearch (Rubyshift 2013)Elasticsearch (Rubyshift 2013)
Elasticsearch (Rubyshift 2013)
 
Elasticsearch in 15 Minutes
Elasticsearch in 15 MinutesElasticsearch in 15 Minutes
Elasticsearch in 15 Minutes
 
Realtime Analytics With Elasticsearch [New Media Inspiration 2013]
Realtime Analytics With Elasticsearch [New Media Inspiration 2013]Realtime Analytics With Elasticsearch [New Media Inspiration 2013]
Realtime Analytics With Elasticsearch [New Media Inspiration 2013]
 
Elasticsearch And Ruby [RuPy2012]
Elasticsearch And Ruby [RuPy2012]Elasticsearch And Ruby [RuPy2012]
Elasticsearch And Ruby [RuPy2012]
 
Shell's Kitchen: Infrastructure As Code (Webexpo 2012)
Shell's Kitchen: Infrastructure As Code (Webexpo 2012)Shell's Kitchen: Infrastructure As Code (Webexpo 2012)
Shell's Kitchen: Infrastructure As Code (Webexpo 2012)
 
Elastic Search: Beyond Ordinary Fulltext Search (Webexpo 2011 Prague)
Elastic Search: Beyond Ordinary Fulltext Search (Webexpo 2011 Prague)Elastic Search: Beyond Ordinary Fulltext Search (Webexpo 2011 Prague)
Elastic Search: Beyond Ordinary Fulltext Search (Webexpo 2011 Prague)
 
Your Data, Your Search, ElasticSearch (EURUKO 2011)
Your Data, Your Search, ElasticSearch (EURUKO 2011)Your Data, Your Search, ElasticSearch (EURUKO 2011)
Your Data, Your Search, ElasticSearch (EURUKO 2011)
 
Redis — The AK-47 of Post-relational Databases
Redis — The AK-47 of Post-relational DatabasesRedis — The AK-47 of Post-relational Databases
Redis — The AK-47 of Post-relational Databases
 
CouchDB – A Database for the Web
CouchDB – A Database for the WebCouchDB – A Database for the Web
CouchDB – A Database for the Web
 
Spoiling The Youth With Ruby (Euruko 2010)
Spoiling The Youth With Ruby (Euruko 2010)Spoiling The Youth With Ruby (Euruko 2010)
Spoiling The Youth With Ruby (Euruko 2010)
 
Verzovani kodu s Gitem (Karel Minarik)
Verzovani kodu s Gitem (Karel Minarik)Verzovani kodu s Gitem (Karel Minarik)
Verzovani kodu s Gitem (Karel Minarik)
 
Představení Ruby on Rails [Junior Internet]
Představení Ruby on Rails [Junior Internet]Představení Ruby on Rails [Junior Internet]
Představení Ruby on Rails [Junior Internet]
 
Efektivni vyvoj webovych aplikaci v Ruby on Rails (Webexpo)
Efektivni vyvoj webovych aplikaci v Ruby on Rails (Webexpo)Efektivni vyvoj webovych aplikaci v Ruby on Rails (Webexpo)
Efektivni vyvoj webovych aplikaci v Ruby on Rails (Webexpo)
 
Úvod do programování 5
Úvod do programování 5Úvod do programování 5
Úvod do programování 5
 
Interaktivita, originalita a návrhové vzory
Interaktivita, originalita a návrhové vzoryInteraktivita, originalita a návrhové vzory
Interaktivita, originalita a návrhové vzory
 

Kürzlich hochgeladen

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
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
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
 
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
 
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
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
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
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
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
 
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
 
[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
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 

Kürzlich hochgeladen (20)

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
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
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
 
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
 
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
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
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
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
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...
 
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
 
[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
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 

Úvod do programování 7

  • 1. Úvod do programování aneb Do nitra stroje PŘEDNÁŠKA Karel Minařík 7
  • 2. 1 Opakování Úvod do programování
  • 3. DOMÁCÍ ÚKOL Navrhněte a naprogramujte třídu TextAnalyzer TextAnalyzer: text • • characters • words • pages • unique_words • most_frequent_words • most_frequent_word Úvod do programování Přednáška 7
  • 4. Jak fungují projekty v IT? Úvod do programování Přednáška 7
  • 5. Agilní vývoj (Agile development) Osobnosti a komunikace místo procesů a nástrojů Fungující software místo rozsáhlé dokumentace Spolupráce se zákazníkem místo smlouvání a vyjednávání Vyrovnávání se se změnami místo dodržování plánu Úvod do programování Přednáška 7
  • 6. 2 Grafické rozhraní (GUI) Úvod do programování
  • 7. In the beginning was the command line...
  • 8.
  • 9. 1968 2006
  • 10.
  • 11.
  • 12. Command Line Interface — nutná znalost „možností” a „příkazů“ Graphical User Interface — „vidím možnosti“ a příkazy provádím přímou interakcí Úvod do programování Přednáška 7
  • 13. Typický příklad rozdílu mezi CLI a GUI: Drag and Drop (přímá interakce s objektem)
  • 14. Minority Report (Steven Spielberg, 2002)
  • 18. Command Line Interface CLI Graphical User Interface GUI Touchscreen Blízkost k rozhraní Úvod do programování Přednáška 7
  • 19. GUI TOOLKIT require quot;tkquot; root = TkRoot.new() { title quot;Windowquot; } button_submit= TkButton.new do text quot;Click me!quot; command( proc { puts quot;Button was clicked... now closing the window!quot; root.destroy }) pack(:pady => 50, :padx => 50, :side => quot;topquot;) end Tk.mainloop • Windows API, Aqua (Mac OS X) • GTK+, QT, WxWidgets, Swing, … • Adobe Flash/Flex • Microsoft Silverlight • HTML+CSS Úvod do programování Přednáška 7
  • 20. HTML pro GUI? Úvod do programování Přednáška 7
  • 21. Basecamp (37 Signals) www.basecamphq.com Úvod do programování Přednáška 7
  • 22. Gmail (Google) www.gmail.com Úvod do programování Přednáška 7
  • 23. www.farecast.com Úvod do programování Přednáška 7
  • 24. www.google.com/analytics Úvod do programování Přednáška 7
  • 25. Java www.babynamewizard.com/namevoyager Úvod do programování Přednáška 7
  • 26. Flash http://kuler.adobe.com Úvod do programování Přednáška 7
  • 27. www.modguitars.com/chords Úvod do programování Přednáška 7
  • 28. 3 Ruby on Rails Úvod do programování
  • 29. Úvod do programování Přednáška 7
  • 30. Ruby On Rails is Ruby’s killer app — Yukihiro Matsumoto Úvod do programování Přednáška 7
  • 31. PROČ RUBY ON RAILS? „Toto je sněhová vločka. Vaše aplikace není jedna z nich. Většina věcí, které většina lidí dělá, není nijak unikátní. Vaše potřeby nejsou nijak ‚zvláštní‘.“ ~ David Heinemeier Hansson, přednáška na konferenci Future Of Web Applications, únor 2006 Úvod do programování Přednáška 7
  • 32. PROČ RUBY ON RAILS? Konvence místo konfigurace Dodržování doporučených postupů (best–practices) Silná komunita Úvod do programování Přednáška 7
  • 33. www.peepcode.com/products/rails-from-scratch-part-i Úvod do programování Přednáška 7
  • 34. CO JSOU RUBY ON RAILS? Model–View–Controller framework ActiveRecord ActiveSupport ActionController ActionView ActionMailer ActiveResource Úvod do programování Přednáška 7
  • 35. předává data volá zobrazuje www.peepcode.com/products/rails-from-scratch-part-i Úvod do programování Přednáška 7
  • 36. CO JSOU RUBY ON RAILS? Model–View–Controller framework ActiveRecord ActiveSupport ActionController ActionView ActionMailer ActiveResource Úvod do programování Přednáška 7
  • 37. CO JSOU RUBY ON RAILS? Model–View–Controller framework ActiveRecord ActiveSupport ActionController ActionView ActionMailer ActiveResource Úvod do programování Přednáška 7
  • 38. CO JSOU RUBY ON RAILS? Model–View–Controller framework ActiveRecord ActiveSupport ActionController ActionView ActionMailer ActiveResource Úvod do programování Přednáška 7
  • 39. CO JSOU RUBY ON RAILS? Model–View–Controller framework ActiveRecord ActiveSupport ActionController ActionView ActionMailer ActiveResource Úvod do programování Přednáška 7
  • 40. CO JSOU RUBY ON RAILS? Model–View–Controller framework ActiveRecord ActiveSupport ActionController ActionView ActionMailer ActiveResource Úvod do programování Přednáška 7
  • 41. CO JSOU RUBY ON RAILS? Model–View–Controller framework ActiveRecord ActiveSupport ActionController ActionView ActionMailer ActiveResource Úvod do programování Přednáška 7
  • 42. CO JSOU RUBY ON RAILS? ? Úvod do programování Přednáška 7
  • 43. CO JSOU RUBY ON RAILS? % live coding Úvod do programování Přednáška 7