SlideShare a Scribd company logo
1 of 74
Download to read offline
Do nitra stroje s programovacím jazykem Ruby
Karel Minařík
Do nitra stroje s programovacím jazykem Ruby
www.google.com/search?q=karel+minařík1
Do nitra stroje s programovacím jazykem Ruby
Proč se na Studiích nových médií
zabývat (nějakým) programováním?
2
Do nitra stroje s programovacím jazykem Ruby
„Používat nějaký nástroj na počítači vyžaduje zřídkakdy více
než  umět klikat myší;vytvořit takový nástroj vyžaduje
rozumět  tajemnému umění programovat počítač“
— John Maeda, Creative Code
Do nitra stroje s programovacím jazykem Ruby
Do nitra stroje s programovacím jazykem Ruby
Do nitra stroje s programovacím jazykem Ruby
Jared Tarbell: Substrate (www.complexification.net)
Do nitra stroje s programovacím jazykem Ruby
Orientace na rozumění člověku a společnosti
SPOLEČENSKÉ VĚDY
!
PŘÍRODNÍ VĚDY
Orientace na rozumění přírodě a postižení zákonitostí
Do nitra stroje s programovacím jazykem Ruby
Demytologizace světa
Do nitra stroje s programovacím jazykem Ruby
Do nitra stroje s programovacím jazykem Ruby
Rozumět
Do nitra stroje s programovacím jazykem Ruby
Frustrace
Do nitra stroje s programovacím jazykem Ruby
Vztah ke stroji
Do nitra stroje s programovacím jazykem Ruby
Do nitra stroje s programovacím jazykem Ruby
Do nitra stroje s programovacím jazykem Ruby
Co se děje v „nitru stroje“?
Jak se mu „udílí příkazy“?
Kdo mu je udílí?
Do nitra stroje s programovacím jazykem Ruby
Do nitra stroje s programovacím jazykem Ruby
Kontext vs. konzistence
aneb „Jak uvažuje programátor?”3
Do nitra stroje s programovacím jazykem RubyAda Lovelace (1815—1852)
Do nitra stroje s programovacím jazykem Ruby
…the Engine might compose elaborate and scientific
pieces of music of any degree of complexity or extent.
— Ada Lovelace
Do nitra stroje s programovacím jazykem Ruby
Příslib techniky
Do nitra stroje s programovacím jazykem Ruby
Neexistuje žádný důvod, aby jednotlivci
měli v domácnosti počítače.
— Ken Olsen, ředitel Digital Equipment Corporation, 1977
Do nitra stroje s programovacím jazykem Ruby
„Programátoři počítačů píšou, testují a udržují v chodu
detailní instrukce, nazývané počítačové programy,
které počítače dodržují, aby vykonávaly své funkce.
Programátoři také vymýšlejí, navrhují a testují logické
struktury pro řešení problémů za pomoci počítače.“
—Wikipedia.org
Do nitra stroje s programovacím jazykem Ruby
Do nitra stroje s programovacím jazykem Ruby
Použitelnost — ergonomie ovládání
Usability
Do nitra stroje s programovacím jazykem Ruby
Donald A. Norman, The Design of Everyday Things (1988)
Ovládací prvky elektrického vařiče
Která plotýnka se ovládá kterým knoflíkem?
Do nitra stroje s programovacím jazykem Ruby
„Zm!na“
aneb "eho se programáto#i nejvíce bojí...
Do nitra stroje s programovacím jazykem Ruby
HLEDISKO UŽIVATELE
Kontext
!
Konzistence
HLEDISKO PROGRAMÁTORA
Do nitra stroje s programovacím jazykem Ruby
PŘÍKLAD
Storno objednávek v aplikaci
Do nitra stroje s programovacím jazykem Ruby
Programátoři obtížně řeší
kontextově závislé úlohy.
Na rozdíl od počítačů.
Do nitra stroje s programovacím jazykem Ruby
Algoritmus4
Do nitra stroje s programovacím jazykem Ruby
Algoritmus je základem každého programu
Algoritmus je sekvence příkazů
Do nitra stroje s programovacím jazykem Ruby
Algoritmus je konečný seznam uspokojivě
definovaných instrukcí pro splnění určitého
úkolu. Z počátečního stavu algoritmus skončí
v definovaném konečném stavu.
— Wikipedia
Do nitra stroje s programovacím jazykem Ruby
1. Nalít olej do pánve
2. Zapálit plyn
3. Vzít vejce
4. Rozklepnout vejce o okraj pánve
Do nitra stroje s programovacím jazykem Ruby
? Vzít pánev
1. Nalít olej do pánve
2. Zapálit plyn
3. Vzít vejce
4. Rozklepnout vejce o okraj pánve
Do nitra stroje s programovacím jazykem Ruby
? Najít pánev
? Najít olej
1. Nalít olej do pánve
2. Zapálit plyn
3. Vzít vejce
4. Rozklepnout vejce o okraj pánve
Do nitra stroje s programovacím jazykem Ruby
? Najít pánev
? Najít olej
1. Nalít olej do pánve
2. Zapálit plyn
? Čím zapálit plyn
3. Vzít vejce
4. Rozklepnout vejce o okraj pánve
Do nitra stroje s programovacím jazykem Ruby
? Najít pánev
? Najít olej
1. Nalít olej do pánve
2. Zapálit plyn
? Čím zapálit plyn
3. Vzít vejce
4. Rozklepnout vejce o okraj pánve
Do nitra stroje s programovacím jazykem Ruby
? Najít pánev
? Najít olej
1. Nalít olej do pánve
2. Zapálit plyn
? Čím zapálit plyn
3. Vzít vejce
4. Rozklepnout vejce o okraj pánve
OK
Fatal Error
Do!ly vejce
Cancel
Do nitra stroje s programovacím jazykem Ruby
Počítač nedělá to, co chceme, aby dělal.
Počítač dělá přesně to, co mu řekneme, aby dělal.
Do nitra stroje s programovacím jazykem Ruby
JEDNODUCHÝ ALGORITMUS
Nalezení největšího čísla
z neuspořádaného seznamu čísel
http://en.wikipedia.org/wiki/Algorithm#Example
Do nitra stroje s programovacím jazykem Ruby
POPIS
1. Předpokládejme, že první číslo v seznamu je největší.
2. Podívejme se na postupně na každé zbývající číslo v seznamu. Pokud
je větší než dosud největší číslo, zapišme si je.
3. Jakmile jsme prošli všechna čísla, je poslední zapsané číslo největším
číslem v seznamu.
Do nitra stroje s programovacím jazykem Ruby
FORMÁLNÍ ZÁPIS V ANGLIČTINĚ
Input: A non-empty list of numbers L
Output: The largest number in the list L
largest " L0
for each item in the list L≥1, do
if the item > largest, then
largest " the item
return largest
Do nitra stroje s programovacím jazykem Ruby
ZÁPIS V PROGRAMOVACÍM JAZYCE
1 #include <stdio.h>
2 #define SIZE 11
3 int main()
4 {
5 int input[SIZE] = {1, 5, 3, 95, 43, 56, 32, 90, 2, 4, 19};
6 int largest = input[0];
7 int i;
8 for (i = 1; i < SIZE; i++) {
9 if (input[i] > largest)
10 largest = input[i];
11 }
12 printf("Nejvy!!í "íslo je: %dn", largest);
13 return 0;
14 }
C
Do nitra stroje s programovacím jazykem Ruby
ZÁPIS V PROGRAMOVACÍM JAZYCE
1 class MaxApp {
2 public static void main (String args[]) {
3 int[] input = {1, 5, 3, 95, 43, 56, 32, 90, 2, 4, 19};
4 int largest = input[0];
5 for (int i = 0; i < input.length; i++) {
6 if (input[i] > largest)
7 largest = input[i];
8 }
9 System.out.println("Nejvy!!í "íslo je: " + largest + "n");
10 }
11 }
Java
Do nitra stroje s programovacím jazykem Ruby
ZÁPIS V PROGRAMOVACÍM JAZYCE
1 input = [1, 5, 3, 95, 43, 56, 32, 90, 2, 4, 19]
2 largest = input.first
3 input.each do |i|
4 largest = i if i > largest
5 end
6 print "Nejvy!!í "íslo je: #{largest} n"
Ruby
Do nitra stroje s programovacím jazykem Ruby
ZÁPIS V PROGRAMOVACÍM JAZYCE
1 #include <stdio.h>
2 #define SIZE 11
3 int main()
4 {
5 int input[SIZE] = {1, 5, 3, 95, 43, 56, 32, 90, 2, 4, 19};
6 int largest = input[0];
7 int i;
8 for (i = 1; i < SIZE; i++) {
9 if (input[i] > largest)
10 largest = input[i];
11 }
12 printf("Nejvy!!í "íslo je: %dn", largest);
13 return 0;
14 }
„tajemné umění programovat počítač“
Do nitra stroje s programovacím jazykem Ruby
ZÁPIS V PROGRAMOVACÍM JAZYCE
1 input = [1, 5, 3, 95, 43, 56, 32, 90, 2, 4, 19]
2 largest = input.first
3 input.each do |i|
4 largest = i if i > largest
5 end
6 print "Nejvy!!í "íslo je: #{largest} n"
„tajemné umění programovat počítač“
Syntax
Do nitra stroje s programovacím jazykem Ruby
Programovací jazyk je umělý jazyk, který
slouží k formální zápisu algoritmu.
Do nitra stroje s programovacím jazykem RubyENIAC — „Program“ je nastavení kabelů a přepínačů
Do nitra stroje s programovacím jazykem Ruby
ZÁPIS V PROGRAMOVACÍM JAZYCE
1 input = [1, 5, 3, 95, 43, 56, 32, 90, 2, 4, 19]
2 largest = input.first
3 input.each do |i|
4 largest = i if i > largest
5 end
6 print "Nejvy!!í "íslo je: #{largest} n"
Ruby
Do nitra stroje s programovacím jazykem Ruby
MAX/MSP www.cycling74.com/products/maxmsp
1986 1990 1990 1991 1991 1993 1994 1995 1996 1996 1997 1997 2000 2001 2001 2003 2003 2004
History of Programming Languages
©2004 O’Reilly Media, Inc. O’Reilly logo is a registered trademark of O’Reilly Media, Inc. All other trademarks are property of their respective owners. part#30417
19601954 1965 1970 1975 1980 1985 1990 1995 2000 20022001 2003 2004
For more than half of the fifty years computer programmers have been
writing code, O’Reilly has provided developers with comprehensive,
in-depth technical information. We’ve kept pace with rapidly changing
technologies as new languages have emerged, developed, and
matured. Whether you want to learn something new or need
answers to tough technical questions, you’ll find what you need
in O’Reilly books and on the O’Reilly Network.
This timeline includes fifty of the more than 2500 documented
programming languages. It is based on an original diagram created
by Éric Lévénez (www.levenez.com), augmented with suggestions
from O’Reilly authors, friends, and conference attendees.
For information and discussion on this poster,
go to www.oreilly.com/go/languageposter.
www.oreilly.com
1986 1990 1990 1991 1991 1993 1994 1995 1996 1996 1997 1997 2000 2001 2001 2003 2003 2004
History of Programming Languages
©2004 O’Reilly Media, Inc. O’Reilly logo is a registered trademark of O’Reilly Media, Inc. All other trademarks are property of their respective owners. part#30417
19601954 1965 1970 1975 1980 1985 1990 1995 2000 20022001 2003 2004
For more than half of the fifty years computer programmers have been
writing code, O’Reilly has provided developers with comprehensive,
in-depth technical information. We’ve kept pace with rapidly changing
technologies as new languages have emerged, developed, and
matured. Whether you want to learn something new or need
answers to tough technical questions, you’ll find what you need
in O’Reilly books and on the O’Reilly Network.
This timeline includes fifty of the more than 2500 documented
programming languages. It is based on an original diagram created
by Éric Lévénez (www.levenez.com), augmented with suggestions
from O’Reilly authors, friends, and conference attendees.
For information and discussion on this poster,
go to www.oreilly.com/go/languageposter.
www.oreilly.com
History of Programmin
19601954
Do nitra stroje s programovacím jazykem Ruby
The days when it made sense to do your own memory management in a new
program are long over, outside of a few specialty areas like kernel hacking,
scientific computing and 3-D graphics—places where you absolutely must get
maximum speed and tight control of memory usage, because you need to push
the hardware as hard as possible.
For most other situations, accepting the debugging overhead of buffer overruns,
pointer-aliasing problems, malloc/free memory leaks and all the other associated
ills is just crazy on today's machines. Far better to trade a few cycles and a few
kilobytes of memory for the overhead of a scripting language's memory manager
and economize on far more valuable human time.
— Eric Raymond, Why Python?
Do nitra stroje s programovacím jazykem Ruby
Programovací jazyk Ruby5
Do nitra stroje s programovacím jazykem Ruby
— Yukihiro Matsumoto (Matz)
Do nitra stroje s programovacím jazykem Ruby
„Věřím, že – alespoň do jisté míry – je smyslem života být šťastný.
Na základě tohoto přesvědčení je Ruby navrženo tak, že je
nejenom snadné, ale i zábavné v něm programovat. Ruby vám
umožňuje soustředit se na kreativní stránku programování,
a nepřidělává vám další starosti.“
Yukihiro Matsumoto, p#edmluva k prvnímu vydání knihy Programming Ruby~
Do nitra stroje s programovacím jazykem Ruby
5.times { print "Hurá!" }
print ["banán", "citron", "ananas"].sort.last.capitalize
Syntax
Do nitra stroje s programovacím jazykem Ruby
class Pes
def velikost
return @velikost
end
def stekej
print “Haf!”
end
end
Objektově orientovaný jazyk
OBJEKT Pes věc/podstatné jméno
VLASTNOST malý vlastnost/přídavné jméno
METODA stekej činnost/sloveso
Do nitra stroje s programovacím jazykem Ruby
Knihovny
…
google-geo (2.0, 1.0)
A simple, elegant library for getting geocoding information from Google Maps.
…
googlecalendar (0.0.5, 0.0.4, 0.0.3, 0.0.2)
Google Calendar api for Ruby
…
iphoto2 (1.0.1, 1.0.0)
iphoto contains methods to parse and access the contents of the iPhoto pictures.
…
net-sftp (1.1.0, 1.0.1, 1.0.0, 0.9.0, 0.5.0)
Net::SFTP is a pure-Ruby implementation of the SFTP client protocol.
…
pdf-writer (1.1.3, 1.1.2, 1.1.1, 1.1.0, 1.0.1, 1.0.0)
A pure Ruby PDF document creation library.
…
yahoo-weather (1.0.0)
A Ruby object-oriented interface to the Yahoo! Weather service.
…
youtube (0.8.6, 0.8.5, 0.8.0, 0.1.1, 0.1.0, 0.0.1)
A Ruby object-oriented interface to the YouTube REST API.
…
Do nitra stroje s programovacím jazykem Ruby
Zdroje (viz www.ruby-lang.org/en/documentation)
www.pine.fm/LearnToProgram(původní verze)
Do nitra stroje s programovacím jazykem Ruby
www.poignantguide.net/ruby
NEJBLÁZNIVĚJŠÍ UČEBNICE PROGRAMOVÁNÍ NA SVĚTĚ
Do nitra stroje s programovacím jazykem Ruby
Ruby on Rails
Do nitra stroje s programovacím jazykem Ruby
Ruby on Rails
Do nitra stroje s programovacím jazykem Ruby
Vyzkoušejte na http://tryruby.hobix.com
Děkuji!
d

More Related Content

Viewers also liked

Aircraft detección before radar ¿como se detectaban aviones antes de la a (2)
Aircraft detección before radar ¿como se detectaban aviones antes de la a  (2)Aircraft detección before radar ¿como se detectaban aviones antes de la a  (2)
Aircraft detección before radar ¿como se detectaban aviones antes de la a (2)jlacevedo1
 
O olho de londres v
O olho de londres vO olho de londres v
O olho de londres vPaulo Bachur
 
Power point marc martínez roger f ont
Power point marc martínez roger f ontPower point marc martínez roger f ont
Power point marc martínez roger f ontrogerfontmarcmartinez
 
Powerdressing 090814081024-phpapp01
Powerdressing 090814081024-phpapp01Powerdressing 090814081024-phpapp01
Powerdressing 090814081024-phpapp01Cristina Aquino
 
ResearchPaperLisaRussellVersion21_May29_2012
ResearchPaperLisaRussellVersion21_May29_2012ResearchPaperLisaRussellVersion21_May29_2012
ResearchPaperLisaRussellVersion21_May29_2012Lisa Russell, AICP
 
Pro se plaintiff, “louis charles hamilton ii”, co plaintiff(s) “united states...
Pro se plaintiff, “louis charles hamilton ii”, co plaintiff(s) “united states...Pro se plaintiff, “louis charles hamilton ii”, co plaintiff(s) “united states...
Pro se plaintiff, “louis charles hamilton ii”, co plaintiff(s) “united states...Louis Charles Hamilton II
 
Unit 5-corporate governance
Unit 5-corporate governanceUnit 5-corporate governance
Unit 5-corporate governanceravalhimani
 
Unit 4 Services management
Unit 4 Services managementUnit 4 Services management
Unit 4 Services managementravalhimani
 
Brian Rosenblum: Roles for Academic Libraries in Supporting Open Scholarship
Brian Rosenblum: Roles for Academic Libraries in Supporting Open Scholarship Brian Rosenblum: Roles for Academic Libraries in Supporting Open Scholarship
Brian Rosenblum: Roles for Academic Libraries in Supporting Open Scholarship ÚISK FF UK
 
Module 2 marketing for customer value
Module 2 marketing for customer value Module 2 marketing for customer value
Module 2 marketing for customer value ravalhimani
 
Salud sexual y reproductiva en adolescentes y jóvenes
Salud sexual y reproductiva en adolescentes y jóvenes Salud sexual y reproductiva en adolescentes y jóvenes
Salud sexual y reproductiva en adolescentes y jóvenes Arturo Guardia Osorio
 
5 panes y 2 peces para 5000 personas
5 panes y 2 peces para 5000 personas5 panes y 2 peces para 5000 personas
5 panes y 2 peces para 5000 personasRaul Rey
 
Kinesiology planes of motion copy-1
Kinesiology planes of motion   copy-1Kinesiology planes of motion   copy-1
Kinesiology planes of motion copy-1Leesah Mapa
 
Foundational kinesiology module 1 basic concepts- jan 2011
Foundational kinesiology module 1  basic concepts- jan 2011Foundational kinesiology module 1  basic concepts- jan 2011
Foundational kinesiology module 1 basic concepts- jan 2011persaud_dan
 

Viewers also liked (18)

Elaboracion de cajitas y paletas
Elaboracion de cajitas y paletasElaboracion de cajitas y paletas
Elaboracion de cajitas y paletas
 
Mari trabajando
Mari trabajandoMari trabajando
Mari trabajando
 
Aircraft detección before radar ¿como se detectaban aviones antes de la a (2)
Aircraft detección before radar ¿como se detectaban aviones antes de la a  (2)Aircraft detección before radar ¿como se detectaban aviones antes de la a  (2)
Aircraft detección before radar ¿como se detectaban aviones antes de la a (2)
 
O olho de londres v
O olho de londres vO olho de londres v
O olho de londres v
 
Power point marc martínez roger f ont
Power point marc martínez roger f ontPower point marc martínez roger f ont
Power point marc martínez roger f ont
 
Piñata de bob esponja
Piñata de bob esponjaPiñata de bob esponja
Piñata de bob esponja
 
Powerdressing 090814081024-phpapp01
Powerdressing 090814081024-phpapp01Powerdressing 090814081024-phpapp01
Powerdressing 090814081024-phpapp01
 
ResearchPaperLisaRussellVersion21_May29_2012
ResearchPaperLisaRussellVersion21_May29_2012ResearchPaperLisaRussellVersion21_May29_2012
ResearchPaperLisaRussellVersion21_May29_2012
 
Pro se plaintiff, “louis charles hamilton ii”, co plaintiff(s) “united states...
Pro se plaintiff, “louis charles hamilton ii”, co plaintiff(s) “united states...Pro se plaintiff, “louis charles hamilton ii”, co plaintiff(s) “united states...
Pro se plaintiff, “louis charles hamilton ii”, co plaintiff(s) “united states...
 
Unit 5-corporate governance
Unit 5-corporate governanceUnit 5-corporate governance
Unit 5-corporate governance
 
Unit 4 Services management
Unit 4 Services managementUnit 4 Services management
Unit 4 Services management
 
Brian Rosenblum: Roles for Academic Libraries in Supporting Open Scholarship
Brian Rosenblum: Roles for Academic Libraries in Supporting Open Scholarship Brian Rosenblum: Roles for Academic Libraries in Supporting Open Scholarship
Brian Rosenblum: Roles for Academic Libraries in Supporting Open Scholarship
 
Mark twain overview
Mark twain overviewMark twain overview
Mark twain overview
 
Module 2 marketing for customer value
Module 2 marketing for customer value Module 2 marketing for customer value
Module 2 marketing for customer value
 
Salud sexual y reproductiva en adolescentes y jóvenes
Salud sexual y reproductiva en adolescentes y jóvenes Salud sexual y reproductiva en adolescentes y jóvenes
Salud sexual y reproductiva en adolescentes y jóvenes
 
5 panes y 2 peces para 5000 personas
5 panes y 2 peces para 5000 personas5 panes y 2 peces para 5000 personas
5 panes y 2 peces para 5000 personas
 
Kinesiology planes of motion copy-1
Kinesiology planes of motion   copy-1Kinesiology planes of motion   copy-1
Kinesiology planes of motion copy-1
 
Foundational kinesiology module 1 basic concepts- jan 2011
Foundational kinesiology module 1  basic concepts- jan 2011Foundational kinesiology module 1  basic concepts- jan 2011
Foundational kinesiology module 1 basic concepts- jan 2011
 

Similar to Karel Minařík: Do nitra stroje s programovacím jazykem Ruby

ORM Designer: Speed up your ORM development
ORM Designer: Speed up your ORM developmentORM Designer: Speed up your ORM development
ORM Designer: Speed up your ORM developmentBrnoPHP
 
Úvod do programování aneb Do nitra stroje
Úvod do programování aneb Do nitra strojeÚvod do programování aneb Do nitra stroje
Úvod do programování aneb Do nitra strojeKarel Minarik
 
KST/ICSHP - 1. přednáška
KST/ICSHP - 1. přednáškaKST/ICSHP - 1. přednáška
KST/ICSHP - 1. přednáškaJan Hřídel
 
Představení Ruby on Rails
Představení Ruby on RailsPředstavení Ruby on Rails
Představení Ruby on Railsigloonet
 
Deep learning (+ úvod do strojového učení)
Deep learning (+ úvod do strojového učení)Deep learning (+ úvod do strojového učení)
Deep learning (+ úvod do strojového učení)michalillich
 
Petr Hamerník: Textová analytika v mobilních aplikacích
Petr Hamerník: Textová analytika v mobilních aplikacíchPetr Hamerník: Textová analytika v mobilních aplikacích
Petr Hamerník: Textová analytika v mobilních aplikacíchmdevtalk
 
Úvod do vývoje pro platformu iOS [ZČU 24.4.2014]
Úvod do vývoje pro platformu iOS [ZČU 24.4.2014]Úvod do vývoje pro platformu iOS [ZČU 24.4.2014]
Úvod do vývoje pro platformu iOS [ZČU 24.4.2014]Kuba Břečka
 
Skripty v Skliku krok za krokem - Sklik Expert forum 2017
Skripty v Skliku krok za krokem - Sklik Expert forum 2017Skripty v Skliku krok za krokem - Sklik Expert forum 2017
Skripty v Skliku krok za krokem - Sklik Expert forum 2017Stanislav Jílek
 
Petr Valach: Free and open source software
Petr Valach: Free and open source softwarePetr Valach: Free and open source software
Petr Valach: Free and open source softwareExoSpace
 
Prototypování webových aplikací
Prototypování webových aplikacíPrototypování webových aplikací
Prototypování webových aplikacíJakub Španihel
 
Borek Bernard: TypeScript - příčetný jazyk pro web
Borek Bernard: TypeScript - příčetný jazyk pro webBorek Bernard: TypeScript - příčetný jazyk pro web
Borek Bernard: TypeScript - příčetný jazyk pro webDevelcz
 
Dotykova zarizeni ve vyuce informatiky
Dotykova zarizeni ve vyuce informatikyDotykova zarizeni ve vyuce informatiky
Dotykova zarizeni ve vyuce informatikyINTERES - KISK
 
Jak se stát skvělým programátorem
Jak se stát skvělým programátoremJak se stát skvělým programátorem
Jak se stát skvělým programátoremMiroslav Bajtoš
 
Co může udělat vaše firma pro open source
Co může udělat vaše firma pro open sourceCo může udělat vaše firma pro open source
Co může udělat vaše firma pro open sourceJachym Cepicky
 
SEO Restart 2023: Lukáš Kostka - AI a R studio – optimalizace meta tagů na ,,...
SEO Restart 2023: Lukáš Kostka - AI a R studio – optimalizace meta tagů na ,,...SEO Restart 2023: Lukáš Kostka - AI a R studio – optimalizace meta tagů na ,,...
SEO Restart 2023: Lukáš Kostka - AI a R studio – optimalizace meta tagů na ,,...Taste
 
Odpoledne se Seznamem II - Provozní bezpečnost
Odpoledne se Seznamem II - Provozní bezpečnostOdpoledne se Seznamem II - Provozní bezpečnost
Odpoledne se Seznamem II - Provozní bezpečnostchaplin06
 

Similar to Karel Minařík: Do nitra stroje s programovacím jazykem Ruby (19)

ORM Designer: Speed up your ORM development
ORM Designer: Speed up your ORM developmentORM Designer: Speed up your ORM development
ORM Designer: Speed up your ORM development
 
Úvod do programování aneb Do nitra stroje
Úvod do programování aneb Do nitra strojeÚvod do programování aneb Do nitra stroje
Úvod do programování aneb Do nitra stroje
 
KST/ICSHP - 1. přednáška
KST/ICSHP - 1. přednáškaKST/ICSHP - 1. přednáška
KST/ICSHP - 1. přednáška
 
Představení Ruby on Rails
Představení Ruby on RailsPředstavení Ruby on Rails
Představení Ruby on Rails
 
Deep learning (+ úvod do strojového učení)
Deep learning (+ úvod do strojového učení)Deep learning (+ úvod do strojového učení)
Deep learning (+ úvod do strojového učení)
 
Petr Hamerník: Textová analytika v mobilních aplikacích
Petr Hamerník: Textová analytika v mobilních aplikacíchPetr Hamerník: Textová analytika v mobilních aplikacích
Petr Hamerník: Textová analytika v mobilních aplikacích
 
Úvod do vývoje pro platformu iOS [ZČU 24.4.2014]
Úvod do vývoje pro platformu iOS [ZČU 24.4.2014]Úvod do vývoje pro platformu iOS [ZČU 24.4.2014]
Úvod do vývoje pro platformu iOS [ZČU 24.4.2014]
 
Skripty v Skliku krok za krokem - Sklik Expert forum 2017
Skripty v Skliku krok za krokem - Sklik Expert forum 2017Skripty v Skliku krok za krokem - Sklik Expert forum 2017
Skripty v Skliku krok za krokem - Sklik Expert forum 2017
 
Petr Valach: Free and open source software
Petr Valach: Free and open source softwarePetr Valach: Free and open source software
Petr Valach: Free and open source software
 
Prototypování webových aplikací
Prototypování webových aplikacíPrototypování webových aplikací
Prototypování webových aplikací
 
Borek Bernard: TypeScript - příčetný jazyk pro web
Borek Bernard: TypeScript - příčetný jazyk pro webBorek Bernard: TypeScript - příčetný jazyk pro web
Borek Bernard: TypeScript - příčetný jazyk pro web
 
Dotykova zarizeni ve vyuce informatiky
Dotykova zarizeni ve vyuce informatikyDotykova zarizeni ve vyuce informatiky
Dotykova zarizeni ve vyuce informatiky
 
Jak se stát skvělým programátorem
Jak se stát skvělým programátoremJak se stát skvělým programátorem
Jak se stát skvělým programátorem
 
openMagazin 1/2009
openMagazin 1/2009openMagazin 1/2009
openMagazin 1/2009
 
Nástěnka 01
Nástěnka 01Nástěnka 01
Nástěnka 01
 
Co může udělat vaše firma pro open source
Co může udělat vaše firma pro open sourceCo může udělat vaše firma pro open source
Co může udělat vaše firma pro open source
 
SEO Restart 2023: Lukáš Kostka - AI a R studio – optimalizace meta tagů na ,,...
SEO Restart 2023: Lukáš Kostka - AI a R studio – optimalizace meta tagů na ,,...SEO Restart 2023: Lukáš Kostka - AI a R studio – optimalizace meta tagů na ,,...
SEO Restart 2023: Lukáš Kostka - AI a R studio – optimalizace meta tagů na ,,...
 
Úvod do XAML
Úvod do XAMLÚvod do XAML
Úvod do XAML
 
Odpoledne se Seznamem II - Provozní bezpečnost
Odpoledne se Seznamem II - Provozní bezpečnostOdpoledne se Seznamem II - Provozní bezpečnost
Odpoledne se Seznamem II - Provozní bezpečnost
 

More from ÚISK FF UK

Martina Košanová: Komunikace s problémovými uživateli knihoven
Martina Košanová: Komunikace s problémovými uživateli knihovenMartina Košanová: Komunikace s problémovými uživateli knihoven
Martina Košanová: Komunikace s problémovými uživateli knihovenÚISK FF UK
 
Vojtěch Vojtíšek & Laďka Zbiejczuk Suchá: Redesign knihovních služeb: webové ...
Vojtěch Vojtíšek & Laďka Zbiejczuk Suchá: Redesign knihovních služeb: webové ...Vojtěch Vojtíšek & Laďka Zbiejczuk Suchá: Redesign knihovních služeb: webové ...
Vojtěch Vojtíšek & Laďka Zbiejczuk Suchá: Redesign knihovních služeb: webové ...ÚISK FF UK
 
Eva Novotná: Kartografické dědictví v Mapové sbírce Přírodovědecké fakulty UK
Eva Novotná: Kartografické dědictví v Mapové sbírce Přírodovědecké fakulty UKEva Novotná: Kartografické dědictví v Mapové sbírce Přírodovědecké fakulty UK
Eva Novotná: Kartografické dědictví v Mapové sbírce Přírodovědecké fakulty UKÚISK FF UK
 
Iva Horová: Sto let pokusů o vybudování národního zvukového archivu
Iva Horová: Sto let pokusů o vybudování národního zvukového archivuIva Horová: Sto let pokusů o vybudování národního zvukového archivu
Iva Horová: Sto let pokusů o vybudování národního zvukového archivuÚISK FF UK
 
Andrea Jelínková: Knihovědní detektivové
Andrea Jelínková: Knihovědní detektivovéAndrea Jelínková: Knihovědní detektivové
Andrea Jelínková: Knihovědní detektivovéÚISK FF UK
 
Martina Košanová: Vizuální smog v knihovnách
Martina Košanová: Vizuální smog v knihovnáchMartina Košanová: Vizuální smog v knihovnách
Martina Košanová: Vizuální smog v knihovnáchÚISK FF UK
 
Jana Šeblová: Samizdatová literatura a hudební publicistika
Jana Šeblová: Samizdatová literatura a hudební publicistikaJana Šeblová: Samizdatová literatura a hudební publicistika
Jana Šeblová: Samizdatová literatura a hudební publicistikaÚISK FF UK
 
Jiří Nechvátal: Projekt Obálkyknih.cz
Jiří Nechvátal: Projekt Obálkyknih.czJiří Nechvátal: Projekt Obálkyknih.cz
Jiří Nechvátal: Projekt Obálkyknih.czÚISK FF UK
 
Marie Balíková: Databáze věcných autorit
Marie Balíková: Databáze věcných autoritMarie Balíková: Databáze věcných autorit
Marie Balíková: Databáze věcných autoritÚISK FF UK
 
Eva Lesenková: Zdravotní gramotnost : Jak můžeme lépe získat informace o zdraví?
Eva Lesenková: Zdravotní gramotnost : Jak můžeme lépe získat informace o zdraví?Eva Lesenková: Zdravotní gramotnost : Jak můžeme lépe získat informace o zdraví?
Eva Lesenková: Zdravotní gramotnost : Jak můžeme lépe získat informace o zdraví?ÚISK FF UK
 
Anna Hoťová: Školní knihovny
Anna Hoťová: Školní knihovnyAnna Hoťová: Školní knihovny
Anna Hoťová: Školní knihovnyÚISK FF UK
 
Magdalena Paul: Fake news
Magdalena Paul: Fake newsMagdalena Paul: Fake news
Magdalena Paul: Fake newsÚISK FF UK
 
Rudolf Rosa: Milníky umělé inteligence
Rudolf Rosa: Milníky umělé inteligenceRudolf Rosa: Milníky umělé inteligence
Rudolf Rosa: Milníky umělé inteligenceÚISK FF UK
 
Pavel Berounský: Prohlídka datacentra Kokura (18. 10. 2021)
Pavel Berounský: Prohlídka datacentra Kokura (18. 10. 2021) Pavel Berounský: Prohlídka datacentra Kokura (18. 10. 2021)
Pavel Berounský: Prohlídka datacentra Kokura (18. 10. 2021) ÚISK FF UK
 
Pavel Herout: Datová centra (18. 10. 2021)
Pavel Herout: Datová centra (18. 10. 2021)Pavel Herout: Datová centra (18. 10. 2021)
Pavel Herout: Datová centra (18. 10. 2021)ÚISK FF UK
 
Anna Štičková: Čuchni ke knize
Anna Štičková: Čuchni ke knizeAnna Štičková: Čuchni ke knize
Anna Štičková: Čuchni ke knizeÚISK FF UK
 
Hana Šandová: Centrum technického vzdělávání Půda jako třetí oddělení knihovny
Hana Šandová: Centrum technického vzdělávání Půda jako třetí oddělení knihovnyHana Šandová: Centrum technického vzdělávání Půda jako třetí oddělení knihovny
Hana Šandová: Centrum technického vzdělávání Půda jako třetí oddělení knihovnyÚISK FF UK
 
Open data (Civic Tech)
Open data (Civic Tech) Open data (Civic Tech)
Open data (Civic Tech) ÚISK FF UK
 
Vojtěch Ripka: Taking Mediality Seriously
Vojtěch Ripka: Taking Mediality SeriouslyVojtěch Ripka: Taking Mediality Seriously
Vojtěch Ripka: Taking Mediality SeriouslyÚISK FF UK
 

More from ÚISK FF UK (20)

Martina Košanová: Komunikace s problémovými uživateli knihoven
Martina Košanová: Komunikace s problémovými uživateli knihovenMartina Košanová: Komunikace s problémovými uživateli knihoven
Martina Košanová: Komunikace s problémovými uživateli knihoven
 
Vojtěch Vojtíšek & Laďka Zbiejczuk Suchá: Redesign knihovních služeb: webové ...
Vojtěch Vojtíšek & Laďka Zbiejczuk Suchá: Redesign knihovních služeb: webové ...Vojtěch Vojtíšek & Laďka Zbiejczuk Suchá: Redesign knihovních služeb: webové ...
Vojtěch Vojtíšek & Laďka Zbiejczuk Suchá: Redesign knihovních služeb: webové ...
 
Eva Novotná: Kartografické dědictví v Mapové sbírce Přírodovědecké fakulty UK
Eva Novotná: Kartografické dědictví v Mapové sbírce Přírodovědecké fakulty UKEva Novotná: Kartografické dědictví v Mapové sbírce Přírodovědecké fakulty UK
Eva Novotná: Kartografické dědictví v Mapové sbírce Přírodovědecké fakulty UK
 
Iva Horová: Sto let pokusů o vybudování národního zvukového archivu
Iva Horová: Sto let pokusů o vybudování národního zvukového archivuIva Horová: Sto let pokusů o vybudování národního zvukového archivu
Iva Horová: Sto let pokusů o vybudování národního zvukového archivu
 
Andrea Jelínková: Knihovědní detektivové
Andrea Jelínková: Knihovědní detektivovéAndrea Jelínková: Knihovědní detektivové
Andrea Jelínková: Knihovědní detektivové
 
Martina Košanová: Vizuální smog v knihovnách
Martina Košanová: Vizuální smog v knihovnáchMartina Košanová: Vizuální smog v knihovnách
Martina Košanová: Vizuální smog v knihovnách
 
Jana Šeblová: Samizdatová literatura a hudební publicistika
Jana Šeblová: Samizdatová literatura a hudební publicistikaJana Šeblová: Samizdatová literatura a hudební publicistika
Jana Šeblová: Samizdatová literatura a hudební publicistika
 
Jiří Nechvátal: Projekt Obálkyknih.cz
Jiří Nechvátal: Projekt Obálkyknih.czJiří Nechvátal: Projekt Obálkyknih.cz
Jiří Nechvátal: Projekt Obálkyknih.cz
 
Jak na video?
Jak na video? Jak na video?
Jak na video?
 
Marie Balíková: Databáze věcných autorit
Marie Balíková: Databáze věcných autoritMarie Balíková: Databáze věcných autorit
Marie Balíková: Databáze věcných autorit
 
Eva Lesenková: Zdravotní gramotnost : Jak můžeme lépe získat informace o zdraví?
Eva Lesenková: Zdravotní gramotnost : Jak můžeme lépe získat informace o zdraví?Eva Lesenková: Zdravotní gramotnost : Jak můžeme lépe získat informace o zdraví?
Eva Lesenková: Zdravotní gramotnost : Jak můžeme lépe získat informace o zdraví?
 
Anna Hoťová: Školní knihovny
Anna Hoťová: Školní knihovnyAnna Hoťová: Školní knihovny
Anna Hoťová: Školní knihovny
 
Magdalena Paul: Fake news
Magdalena Paul: Fake newsMagdalena Paul: Fake news
Magdalena Paul: Fake news
 
Rudolf Rosa: Milníky umělé inteligence
Rudolf Rosa: Milníky umělé inteligenceRudolf Rosa: Milníky umělé inteligence
Rudolf Rosa: Milníky umělé inteligence
 
Pavel Berounský: Prohlídka datacentra Kokura (18. 10. 2021)
Pavel Berounský: Prohlídka datacentra Kokura (18. 10. 2021) Pavel Berounský: Prohlídka datacentra Kokura (18. 10. 2021)
Pavel Berounský: Prohlídka datacentra Kokura (18. 10. 2021)
 
Pavel Herout: Datová centra (18. 10. 2021)
Pavel Herout: Datová centra (18. 10. 2021)Pavel Herout: Datová centra (18. 10. 2021)
Pavel Herout: Datová centra (18. 10. 2021)
 
Anna Štičková: Čuchni ke knize
Anna Štičková: Čuchni ke knizeAnna Štičková: Čuchni ke knize
Anna Štičková: Čuchni ke knize
 
Hana Šandová: Centrum technického vzdělávání Půda jako třetí oddělení knihovny
Hana Šandová: Centrum technického vzdělávání Půda jako třetí oddělení knihovnyHana Šandová: Centrum technického vzdělávání Půda jako třetí oddělení knihovny
Hana Šandová: Centrum technického vzdělávání Půda jako třetí oddělení knihovny
 
Open data (Civic Tech)
Open data (Civic Tech) Open data (Civic Tech)
Open data (Civic Tech)
 
Vojtěch Ripka: Taking Mediality Seriously
Vojtěch Ripka: Taking Mediality SeriouslyVojtěch Ripka: Taking Mediality Seriously
Vojtěch Ripka: Taking Mediality Seriously
 

Recently uploaded

Project Restart 2024: Pavel Minář - Procesy pro lepší projekty
Project Restart 2024: Pavel Minář - Procesy pro lepší projektyProject Restart 2024: Pavel Minář - Procesy pro lepší projekty
Project Restart 2024: Pavel Minář - Procesy pro lepší projektyTaste
 
ZWT - co byste měli vědět - studijní program KIZI VŠE
ZWT - co byste měli vědět - studijní program KIZI VŠEZWT - co byste měli vědět - studijní program KIZI VŠE
ZWT - co byste měli vědět - studijní program KIZI VŠEStanislav Vojíř
 
Project Restart 2024: Jiří Langr - Mytologie projektů
Project Restart 2024: Jiří Langr - Mytologie projektůProject Restart 2024: Jiří Langr - Mytologie projektů
Project Restart 2024: Jiří Langr - Mytologie projektůTaste
 
Project Restart 2024: Hana Březinová - Psychologické tipy pro práci s lidmi n...
Project Restart 2024: Hana Březinová - Psychologické tipy pro práci s lidmi n...Project Restart 2024: Hana Březinová - Psychologické tipy pro práci s lidmi n...
Project Restart 2024: Hana Březinová - Psychologické tipy pro práci s lidmi n...Taste
 
Project Restart 2024: Jan Řezáč - Nahradí AI projektové manažery?
Project Restart 2024: Jan Řezáč - Nahradí AI projektové manažery?Project Restart 2024: Jan Řezáč - Nahradí AI projektové manažery?
Project Restart 2024: Jan Řezáč - Nahradí AI projektové manažery?Taste
 
Project Restart 2024: Karel Smutný - Specializace patří do 19. století
Project Restart 2024: Karel Smutný - Specializace patří do 19. stoletíProject Restart 2024: Karel Smutný - Specializace patří do 19. století
Project Restart 2024: Karel Smutný - Specializace patří do 19. stoletíTaste
 
Project Restart 2024: Martin Vasquez - Inteligence je schopnost reagovat na z...
Project Restart 2024: Martin Vasquez - Inteligence je schopnost reagovat na z...Project Restart 2024: Martin Vasquez - Inteligence je schopnost reagovat na z...
Project Restart 2024: Martin Vasquez - Inteligence je schopnost reagovat na z...Taste
 
Project Restart 2024: Lenka Auerová - Budování holistické organizace
Project Restart 2024: Lenka Auerová - Budování holistické organizaceProject Restart 2024: Lenka Auerová - Budování holistické organizace
Project Restart 2024: Lenka Auerová - Budování holistické organizaceTaste
 
Vybrané předměty vyučované KIZI pro studenty informatických oborů FIS VŠE
Vybrané předměty vyučované KIZI pro studenty informatických oborů FIS VŠEVybrané předměty vyučované KIZI pro studenty informatických oborů FIS VŠE
Vybrané předměty vyučované KIZI pro studenty informatických oborů FIS VŠEStanislav Vojíř
 
E-mail Date #2: Jan Krčmář - Retence a RFM: jak pomocí e-mailingu navýšit hod...
E-mail Date #2: Jan Krčmář - Retence a RFM: jak pomocí e-mailingu navýšit hod...E-mail Date #2: Jan Krčmář - Retence a RFM: jak pomocí e-mailingu navýšit hod...
E-mail Date #2: Jan Krčmář - Retence a RFM: jak pomocí e-mailingu navýšit hod...Taste
 

Recently uploaded (10)

Project Restart 2024: Pavel Minář - Procesy pro lepší projekty
Project Restart 2024: Pavel Minář - Procesy pro lepší projektyProject Restart 2024: Pavel Minář - Procesy pro lepší projekty
Project Restart 2024: Pavel Minář - Procesy pro lepší projekty
 
ZWT - co byste měli vědět - studijní program KIZI VŠE
ZWT - co byste měli vědět - studijní program KIZI VŠEZWT - co byste měli vědět - studijní program KIZI VŠE
ZWT - co byste měli vědět - studijní program KIZI VŠE
 
Project Restart 2024: Jiří Langr - Mytologie projektů
Project Restart 2024: Jiří Langr - Mytologie projektůProject Restart 2024: Jiří Langr - Mytologie projektů
Project Restart 2024: Jiří Langr - Mytologie projektů
 
Project Restart 2024: Hana Březinová - Psychologické tipy pro práci s lidmi n...
Project Restart 2024: Hana Březinová - Psychologické tipy pro práci s lidmi n...Project Restart 2024: Hana Březinová - Psychologické tipy pro práci s lidmi n...
Project Restart 2024: Hana Březinová - Psychologické tipy pro práci s lidmi n...
 
Project Restart 2024: Jan Řezáč - Nahradí AI projektové manažery?
Project Restart 2024: Jan Řezáč - Nahradí AI projektové manažery?Project Restart 2024: Jan Řezáč - Nahradí AI projektové manažery?
Project Restart 2024: Jan Řezáč - Nahradí AI projektové manažery?
 
Project Restart 2024: Karel Smutný - Specializace patří do 19. století
Project Restart 2024: Karel Smutný - Specializace patří do 19. stoletíProject Restart 2024: Karel Smutný - Specializace patří do 19. století
Project Restart 2024: Karel Smutný - Specializace patří do 19. století
 
Project Restart 2024: Martin Vasquez - Inteligence je schopnost reagovat na z...
Project Restart 2024: Martin Vasquez - Inteligence je schopnost reagovat na z...Project Restart 2024: Martin Vasquez - Inteligence je schopnost reagovat na z...
Project Restart 2024: Martin Vasquez - Inteligence je schopnost reagovat na z...
 
Project Restart 2024: Lenka Auerová - Budování holistické organizace
Project Restart 2024: Lenka Auerová - Budování holistické organizaceProject Restart 2024: Lenka Auerová - Budování holistické organizace
Project Restart 2024: Lenka Auerová - Budování holistické organizace
 
Vybrané předměty vyučované KIZI pro studenty informatických oborů FIS VŠE
Vybrané předměty vyučované KIZI pro studenty informatických oborů FIS VŠEVybrané předměty vyučované KIZI pro studenty informatických oborů FIS VŠE
Vybrané předměty vyučované KIZI pro studenty informatických oborů FIS VŠE
 
E-mail Date #2: Jan Krčmář - Retence a RFM: jak pomocí e-mailingu navýšit hod...
E-mail Date #2: Jan Krčmář - Retence a RFM: jak pomocí e-mailingu navýšit hod...E-mail Date #2: Jan Krčmář - Retence a RFM: jak pomocí e-mailingu navýšit hod...
E-mail Date #2: Jan Krčmář - Retence a RFM: jak pomocí e-mailingu navýšit hod...
 

Karel Minařík: Do nitra stroje s programovacím jazykem Ruby

  • 1. Do nitra stroje s programovacím jazykem Ruby Karel Minařík
  • 2. Do nitra stroje s programovacím jazykem Ruby www.google.com/search?q=karel+minařík1
  • 3. Do nitra stroje s programovacím jazykem Ruby Proč se na Studiích nových médií zabývat (nějakým) programováním? 2
  • 4. Do nitra stroje s programovacím jazykem Ruby „Používat nějaký nástroj na počítači vyžaduje zřídkakdy více než  umět klikat myší;vytvořit takový nástroj vyžaduje rozumět  tajemnému umění programovat počítač“ — John Maeda, Creative Code
  • 5. Do nitra stroje s programovacím jazykem Ruby
  • 6. Do nitra stroje s programovacím jazykem Ruby
  • 7. Do nitra stroje s programovacím jazykem Ruby Jared Tarbell: Substrate (www.complexification.net)
  • 8. Do nitra stroje s programovacím jazykem Ruby Orientace na rozumění člověku a společnosti SPOLEČENSKÉ VĚDY ! PŘÍRODNÍ VĚDY Orientace na rozumění přírodě a postižení zákonitostí
  • 9. Do nitra stroje s programovacím jazykem Ruby Demytologizace světa
  • 10. Do nitra stroje s programovacím jazykem Ruby
  • 11. Do nitra stroje s programovacím jazykem Ruby Rozumět
  • 12. Do nitra stroje s programovacím jazykem Ruby
  • 14. Do nitra stroje s programovacím jazykem Ruby Vztah ke stroji
  • 15. Do nitra stroje s programovacím jazykem Ruby
  • 16. Do nitra stroje s programovacím jazykem Ruby
  • 17. Do nitra stroje s programovacím jazykem Ruby Co se děje v „nitru stroje“? Jak se mu „udílí příkazy“? Kdo mu je udílí?
  • 18. Do nitra stroje s programovacím jazykem Ruby
  • 19. Do nitra stroje s programovacím jazykem Ruby Kontext vs. konzistence aneb „Jak uvažuje programátor?”3
  • 20. Do nitra stroje s programovacím jazykem RubyAda Lovelace (1815—1852)
  • 21. Do nitra stroje s programovacím jazykem Ruby …the Engine might compose elaborate and scientific pieces of music of any degree of complexity or extent. — Ada Lovelace
  • 22. Do nitra stroje s programovacím jazykem Ruby Příslib techniky
  • 23. Do nitra stroje s programovacím jazykem Ruby Neexistuje žádný důvod, aby jednotlivci měli v domácnosti počítače. — Ken Olsen, ředitel Digital Equipment Corporation, 1977
  • 24.
  • 25. Do nitra stroje s programovacím jazykem Ruby „Programátoři počítačů píšou, testují a udržují v chodu detailní instrukce, nazývané počítačové programy, které počítače dodržují, aby vykonávaly své funkce. Programátoři také vymýšlejí, navrhují a testují logické struktury pro řešení problémů za pomoci počítače.“ —Wikipedia.org
  • 26. Do nitra stroje s programovacím jazykem Ruby
  • 27. Do nitra stroje s programovacím jazykem Ruby Použitelnost — ergonomie ovládání Usability
  • 28. Do nitra stroje s programovacím jazykem Ruby Donald A. Norman, The Design of Everyday Things (1988) Ovládací prvky elektrického vařiče Která plotýnka se ovládá kterým knoflíkem?
  • 29. Do nitra stroje s programovacím jazykem Ruby
  • 30. „Zm!na“ aneb "eho se programáto#i nejvíce bojí...
  • 31. Do nitra stroje s programovacím jazykem Ruby HLEDISKO UŽIVATELE Kontext ! Konzistence HLEDISKO PROGRAMÁTORA
  • 32. Do nitra stroje s programovacím jazykem Ruby PŘÍKLAD Storno objednávek v aplikaci
  • 33. Do nitra stroje s programovacím jazykem Ruby Programátoři obtížně řeší kontextově závislé úlohy. Na rozdíl od počítačů.
  • 34. Do nitra stroje s programovacím jazykem Ruby Algoritmus4
  • 35. Do nitra stroje s programovacím jazykem Ruby Algoritmus je základem každého programu Algoritmus je sekvence příkazů
  • 36. Do nitra stroje s programovacím jazykem Ruby Algoritmus je konečný seznam uspokojivě definovaných instrukcí pro splnění určitého úkolu. Z počátečního stavu algoritmus skončí v definovaném konečném stavu. — Wikipedia
  • 37. Do nitra stroje s programovacím jazykem Ruby 1. Nalít olej do pánve 2. Zapálit plyn 3. Vzít vejce 4. Rozklepnout vejce o okraj pánve
  • 38. Do nitra stroje s programovacím jazykem Ruby ? Vzít pánev 1. Nalít olej do pánve 2. Zapálit plyn 3. Vzít vejce 4. Rozklepnout vejce o okraj pánve
  • 39. Do nitra stroje s programovacím jazykem Ruby ? Najít pánev ? Najít olej 1. Nalít olej do pánve 2. Zapálit plyn 3. Vzít vejce 4. Rozklepnout vejce o okraj pánve
  • 40. Do nitra stroje s programovacím jazykem Ruby ? Najít pánev ? Najít olej 1. Nalít olej do pánve 2. Zapálit plyn ? Čím zapálit plyn 3. Vzít vejce 4. Rozklepnout vejce o okraj pánve
  • 41. Do nitra stroje s programovacím jazykem Ruby ? Najít pánev ? Najít olej 1. Nalít olej do pánve 2. Zapálit plyn ? Čím zapálit plyn 3. Vzít vejce 4. Rozklepnout vejce o okraj pánve
  • 42. Do nitra stroje s programovacím jazykem Ruby ? Najít pánev ? Najít olej 1. Nalít olej do pánve 2. Zapálit plyn ? Čím zapálit plyn 3. Vzít vejce 4. Rozklepnout vejce o okraj pánve OK Fatal Error Do!ly vejce Cancel
  • 43. Do nitra stroje s programovacím jazykem Ruby Počítač nedělá to, co chceme, aby dělal. Počítač dělá přesně to, co mu řekneme, aby dělal.
  • 44. Do nitra stroje s programovacím jazykem Ruby JEDNODUCHÝ ALGORITMUS Nalezení největšího čísla z neuspořádaného seznamu čísel http://en.wikipedia.org/wiki/Algorithm#Example
  • 45. Do nitra stroje s programovacím jazykem Ruby POPIS 1. Předpokládejme, že první číslo v seznamu je největší. 2. Podívejme se na postupně na každé zbývající číslo v seznamu. Pokud je větší než dosud největší číslo, zapišme si je. 3. Jakmile jsme prošli všechna čísla, je poslední zapsané číslo největším číslem v seznamu.
  • 46. Do nitra stroje s programovacím jazykem Ruby FORMÁLNÍ ZÁPIS V ANGLIČTINĚ Input: A non-empty list of numbers L Output: The largest number in the list L largest " L0 for each item in the list L≥1, do if the item > largest, then largest " the item return largest
  • 47. Do nitra stroje s programovacím jazykem Ruby ZÁPIS V PROGRAMOVACÍM JAZYCE 1 #include <stdio.h> 2 #define SIZE 11 3 int main() 4 { 5 int input[SIZE] = {1, 5, 3, 95, 43, 56, 32, 90, 2, 4, 19}; 6 int largest = input[0]; 7 int i; 8 for (i = 1; i < SIZE; i++) { 9 if (input[i] > largest) 10 largest = input[i]; 11 } 12 printf("Nejvy!!í "íslo je: %dn", largest); 13 return 0; 14 } C
  • 48. Do nitra stroje s programovacím jazykem Ruby ZÁPIS V PROGRAMOVACÍM JAZYCE 1 class MaxApp { 2 public static void main (String args[]) { 3 int[] input = {1, 5, 3, 95, 43, 56, 32, 90, 2, 4, 19}; 4 int largest = input[0]; 5 for (int i = 0; i < input.length; i++) { 6 if (input[i] > largest) 7 largest = input[i]; 8 } 9 System.out.println("Nejvy!!í "íslo je: " + largest + "n"); 10 } 11 } Java
  • 49. Do nitra stroje s programovacím jazykem Ruby ZÁPIS V PROGRAMOVACÍM JAZYCE 1 input = [1, 5, 3, 95, 43, 56, 32, 90, 2, 4, 19] 2 largest = input.first 3 input.each do |i| 4 largest = i if i > largest 5 end 6 print "Nejvy!!í "íslo je: #{largest} n" Ruby
  • 50. Do nitra stroje s programovacím jazykem Ruby ZÁPIS V PROGRAMOVACÍM JAZYCE 1 #include <stdio.h> 2 #define SIZE 11 3 int main() 4 { 5 int input[SIZE] = {1, 5, 3, 95, 43, 56, 32, 90, 2, 4, 19}; 6 int largest = input[0]; 7 int i; 8 for (i = 1; i < SIZE; i++) { 9 if (input[i] > largest) 10 largest = input[i]; 11 } 12 printf("Nejvy!!í "íslo je: %dn", largest); 13 return 0; 14 } „tajemné umění programovat počítač“
  • 51. Do nitra stroje s programovacím jazykem Ruby ZÁPIS V PROGRAMOVACÍM JAZYCE 1 input = [1, 5, 3, 95, 43, 56, 32, 90, 2, 4, 19] 2 largest = input.first 3 input.each do |i| 4 largest = i if i > largest 5 end 6 print "Nejvy!!í "íslo je: #{largest} n" „tajemné umění programovat počítač“ Syntax
  • 52. Do nitra stroje s programovacím jazykem Ruby Programovací jazyk je umělý jazyk, který slouží k formální zápisu algoritmu.
  • 53. Do nitra stroje s programovacím jazykem RubyENIAC — „Program“ je nastavení kabelů a přepínačů
  • 54. Do nitra stroje s programovacím jazykem Ruby ZÁPIS V PROGRAMOVACÍM JAZYCE 1 input = [1, 5, 3, 95, 43, 56, 32, 90, 2, 4, 19] 2 largest = input.first 3 input.each do |i| 4 largest = i if i > largest 5 end 6 print "Nejvy!!í "íslo je: #{largest} n" Ruby
  • 55. Do nitra stroje s programovacím jazykem Ruby MAX/MSP www.cycling74.com/products/maxmsp
  • 56.
  • 57. 1986 1990 1990 1991 1991 1993 1994 1995 1996 1996 1997 1997 2000 2001 2001 2003 2003 2004 History of Programming Languages ©2004 O’Reilly Media, Inc. O’Reilly logo is a registered trademark of O’Reilly Media, Inc. All other trademarks are property of their respective owners. part#30417 19601954 1965 1970 1975 1980 1985 1990 1995 2000 20022001 2003 2004 For more than half of the fifty years computer programmers have been writing code, O’Reilly has provided developers with comprehensive, in-depth technical information. We’ve kept pace with rapidly changing technologies as new languages have emerged, developed, and matured. Whether you want to learn something new or need answers to tough technical questions, you’ll find what you need in O’Reilly books and on the O’Reilly Network. This timeline includes fifty of the more than 2500 documented programming languages. It is based on an original diagram created by Éric Lévénez (www.levenez.com), augmented with suggestions from O’Reilly authors, friends, and conference attendees. For information and discussion on this poster, go to www.oreilly.com/go/languageposter. www.oreilly.com
  • 58. 1986 1990 1990 1991 1991 1993 1994 1995 1996 1996 1997 1997 2000 2001 2001 2003 2003 2004 History of Programming Languages ©2004 O’Reilly Media, Inc. O’Reilly logo is a registered trademark of O’Reilly Media, Inc. All other trademarks are property of their respective owners. part#30417 19601954 1965 1970 1975 1980 1985 1990 1995 2000 20022001 2003 2004 For more than half of the fifty years computer programmers have been writing code, O’Reilly has provided developers with comprehensive, in-depth technical information. We’ve kept pace with rapidly changing technologies as new languages have emerged, developed, and matured. Whether you want to learn something new or need answers to tough technical questions, you’ll find what you need in O’Reilly books and on the O’Reilly Network. This timeline includes fifty of the more than 2500 documented programming languages. It is based on an original diagram created by Éric Lévénez (www.levenez.com), augmented with suggestions from O’Reilly authors, friends, and conference attendees. For information and discussion on this poster, go to www.oreilly.com/go/languageposter. www.oreilly.com
  • 60.
  • 61. Do nitra stroje s programovacím jazykem Ruby The days when it made sense to do your own memory management in a new program are long over, outside of a few specialty areas like kernel hacking, scientific computing and 3-D graphics—places where you absolutely must get maximum speed and tight control of memory usage, because you need to push the hardware as hard as possible. For most other situations, accepting the debugging overhead of buffer overruns, pointer-aliasing problems, malloc/free memory leaks and all the other associated ills is just crazy on today's machines. Far better to trade a few cycles and a few kilobytes of memory for the overhead of a scripting language's memory manager and economize on far more valuable human time. — Eric Raymond, Why Python?
  • 62. Do nitra stroje s programovacím jazykem Ruby Programovací jazyk Ruby5
  • 63. Do nitra stroje s programovacím jazykem Ruby
  • 65. Do nitra stroje s programovacím jazykem Ruby „Věřím, že – alespoň do jisté míry – je smyslem života být šťastný. Na základě tohoto přesvědčení je Ruby navrženo tak, že je nejenom snadné, ale i zábavné v něm programovat. Ruby vám umožňuje soustředit se na kreativní stránku programování, a nepřidělává vám další starosti.“ Yukihiro Matsumoto, p#edmluva k prvnímu vydání knihy Programming Ruby~
  • 66. Do nitra stroje s programovacím jazykem Ruby 5.times { print "Hurá!" } print ["banán", "citron", "ananas"].sort.last.capitalize Syntax
  • 67. Do nitra stroje s programovacím jazykem Ruby class Pes def velikost return @velikost end def stekej print “Haf!” end end Objektově orientovaný jazyk OBJEKT Pes věc/podstatné jméno VLASTNOST malý vlastnost/přídavné jméno METODA stekej činnost/sloveso
  • 68. Do nitra stroje s programovacím jazykem Ruby Knihovny … google-geo (2.0, 1.0) A simple, elegant library for getting geocoding information from Google Maps. … googlecalendar (0.0.5, 0.0.4, 0.0.3, 0.0.2) Google Calendar api for Ruby … iphoto2 (1.0.1, 1.0.0) iphoto contains methods to parse and access the contents of the iPhoto pictures. … net-sftp (1.1.0, 1.0.1, 1.0.0, 0.9.0, 0.5.0) Net::SFTP is a pure-Ruby implementation of the SFTP client protocol. … pdf-writer (1.1.3, 1.1.2, 1.1.1, 1.1.0, 1.0.1, 1.0.0) A pure Ruby PDF document creation library. … yahoo-weather (1.0.0) A Ruby object-oriented interface to the Yahoo! Weather service. … youtube (0.8.6, 0.8.5, 0.8.0, 0.1.1, 0.1.0, 0.0.1) A Ruby object-oriented interface to the YouTube REST API. …
  • 69. Do nitra stroje s programovacím jazykem Ruby Zdroje (viz www.ruby-lang.org/en/documentation) www.pine.fm/LearnToProgram(původní verze)
  • 70. Do nitra stroje s programovacím jazykem Ruby www.poignantguide.net/ruby NEJBLÁZNIVĚJŠÍ UČEBNICE PROGRAMOVÁNÍ NA SVĚTĚ
  • 71. Do nitra stroje s programovacím jazykem Ruby Ruby on Rails
  • 72. Do nitra stroje s programovacím jazykem Ruby Ruby on Rails
  • 73. Do nitra stroje s programovacím jazykem Ruby Vyzkoušejte na http://tryruby.hobix.com