SlideShare a Scribd company logo
1 of 44
Download to read offline
Ú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!
 

More Related Content

Similar to Ú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
 

Similar to Ú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
 

More from 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
 

More from 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
 

Recently uploaded

Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
[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
 
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
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
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
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
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
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
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
 
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
 
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
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdfChristopherTHyatt
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 

Recently uploaded (20)

Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
[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
 
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...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
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...
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
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
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
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
 
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
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 

Ú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