Uvod v internet in programiranje: Enostavno, kratko in prijazno

Preview:

DESCRIPTION

Uvodno predavanje z osnovnimi koncepti spleta in spletnega programiranja za delavnico Rails Girls Ljubljana. Več o predavanju: http://ialja.blogspot.com/2012/12/explaining-web-and-web-programming-with.html

Citation preview

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!

Recommended