Uvod v internet in programiranje
Enostavno, kratko in prijazno
3 osnovna vprašanja
Kaj so in kako delujejo spletne aplikacije?
Kaj je Ruby in kako je povezan z Railsi?
Kaj so Railsi in kaj z njimi početi?
Kako deluje internet?
• Poglejmo si na primeru:- Kaj se zgodi, ko v spletni brskalnik
vpišem railsgirls.com?
1) Spletni brskalnik preko DNS poišče IP naslov spletne strani
Hočem vedeti več o Rails Girls
Avtor fotografije: Ed Yourdon
Čakaj, da najdem naslov strežnika, ki ti
lahko to pove.
(109.74.202.152)
2) Brskalnik strežniku pošlje zahtevo “GET”
HTTP zahteva GETHost: railsgirls.com
Hej, potrebujem informacije o Rails Girls!
Trenutek ...
tvoj računalnikstrežnik, ki gosti
railsgirls.com
j j
3) Strežnik brskalniku odgovoris spletno stranjo, napisano v jeziku HTML
odgovor v jeziku HTML
tvoj računalnikstrežnik, ki gosti
railsgirls.com
j j
Aha! Našel!
Čaki, da vidim, kaj si mi to poslal ...
4) Brskalnik poskrbi za ustrezen prikaz spletne strani
Ta-da! A ni fajn stran?
Torej, kaj bomo danes naredili?
Spletno aplikacijo za zbiranje idej
j
Kako bo spletna aplikacija izgledala v brskalniku?
Hmm... kaj sploh so spletne aplikacije?
In kaj spletne strani?
Avtorica fotografije: melanie_hughes
sushi.html
simplsushi.com
Octocat
jHočem sushi!
spletna stran
j
sushi.html
simplsushi.com
Octocat
jAmpak ...
ne jem rib ...
statičnaspletna stran
j
sushi.html je tak, kot je!
fensisushi.com
Octocat
jKaj pa tu?
Lahko dobim sushi brez rib?
fensisushi.com
Octocat
jKaj pa tu?
Lahko dobim sushi brez rib?
Seveda, Octocat, naš sushi mojster
se ti prilagodi!
spletna aplikacija na strežniku
jAvtor fotografije: iwillbehomesoon
fensisushi.com
Octocat
j
Izvoli sushi po meri, lahko ti takoj
naredimo novega
spletna aplikacija na strežniku
j
sushi.html
rezultat je spet spletna stran
j
fensisushi.com
spletna aplikacija na strežniku
j
vendar je to sedaj dinamična spletna stran, ki se prilagodi uporabniku
Octocat
j
sushi.html
j
facebook.com
spletna aplikacija na strežniku
j
zato je Facebook za vsekega izmed nas drugačen
Octocat
j
jV praksi ...
Če torej hočemo delati spletne aplikacije ...
Če torej hočemo delati spletne aplikacije ...
Se moramo znati pogovarjati s sushi mojstrom na strežniku
j
Ruby je en izmed programskih jezikov, ki ga lahko uporabimo v aplikacijah
Če hočeš, da kaj naredim, mi moraš povedati v Ruby-ju
Drugi priljubljeni jeziki: PHP, Python, Java, ASP.NET, Perl ...
Za začetek:1) Imeti moramo inštaliran Ruby (Installation Party!)
2) Uporabimo Terminal oz. Command Prompt (Win)
Kako se lahko z računalnikom pogovarjamo v Ruby-ju?
Preprost primerUporabimo irb = Interactive RuBy
“Rails Girls”
"Rails Girls" 2 + 2 2 * 2"Rails " * 2"Rails " + "Girls" "Rails" * "Girls""Rails Girls".length"Rails Girls".reverse ime = "Rails Girls" ime.lengthime.reverseime.upcaseime.downcaseime + ime
irb examples# nizi znakov (strings)# števila (integers)# Ruby kot preprost kalkulator# nice lahko pomnožimo š številom# združimo dva niza# množenje dveh nizov ne dela# imamo pa na voljo posebne metode
# za poenostavitev dela shranimo objekte v spremenljivke# na spremenljivki uporabimo isto metodo kot prej
# združevanje spremenljivk, isto kot prej
Preprost primerProgram shranimo v datoteko .rb za lažji dostop
Sublime Text 2 Terminal
simpl.rb
puts “Rails Girls”
ime.rb
puts "Kako ti je ime?"
ime = gets.chomp!
puts "#{ime}, tvoje ime ima #{ime.length} znakov."
racun.rb
puts "Koliko je 2 + 2?"
rezultat = 2 + 2
odgovor = gets.to_i
if odgovor == rezultat
puts "Bravo!"
else
puts "Hmm... Jaz dobim #{rezultat}"
end
Tudi velik, strašen zmaj je sestavljen iz preprostih Lego kock!
Avtor fotografije: themickeyd
Bonus namig: za lažje učenje doma obišči
http://www.codecademy.com
http://tryruby.org http://www.codeschool.com
Kaj pa Rails?
= ogrodje (framework), ki poskrbi, da Ruby enostavno uporabimo za izdelavo spletnih aplikacij
Rails = Ruby on Rails = RoR = “Ruby na tračnicah” :)
= hitre tračnice za Ruby na internetu
Današnjo aplikacijo bomo izdelali z Railsi ...
... sestavljajo jo različne tekstovne datoteke z Ruby, HTML in ostalo kodo
Rails* aplikacije imajo v osnovi tri dele
* Pa tudi veliko ostalih spletnih aplikacijah v drugih jezikih
MVC arhitektura = Model | View | Controller
Avtor fotografije: Michael Kappel
Controller = sushi šefsprejema zahteve, povezuje vse
dele v delujočo celoto
Model = sestavinepredstavlja podatke iz baze View = sushi
predstavitev rezultata, ki ga vidimo uporabniki
Nič jasno? Nič panike :)
Pri programiranju je:• Googlanje zaželjeno;• copy-paste ok;• važno, da dela.
P.S.: Vaja dela mojstrico!
My Bentobox
Backend.
How the application works.
Frontend.
How the application looks.
Backend.
How the application runs.
Backend.
How the application stores data.
Storage Logic
Style and structure
Infrastructure
Application: Designed by:
Ogrevanje pred izdelavo aplikacije:spoznajmo spletne tehnologije!