Problem

13.1 Problem 

Ali ja nemam nikakvih problema....
Stvarno? Znači, sve želje su ti ispunjene, svi snovi ostvareni? Čekaj da ti stegnem ruku, izgleda da si jedinstven primerak ljudskog bića koje hoda na ovoj planeti....
Haloooooo! Osvesti se! Problemi su svuda oko tebe, oko mene, oko bilo kog čoveka koji trenutno diše – problemi su sastavni deo života, i bez problema, ne bi bilo ni tog istog života, ni za koga! Čak i biljka ima problem – kako da se nahrani dovoljno iz zemljišta koje se nalazi ispod nje, i kako da izbegne da je ne pojede neka druga životna vrsta. Životinje moraju da brinu gde će da nađu hranu.... A ti? Pa, možda je tvoj problem razočarenje u neki proizvod, koji si skupo platio – svi su ti rekli da je „savršen“, na reklami „ispunjava snove“, i svi žele da ga imaju... I ti veruješ, i nadaš se da je sve to istina, ali na kraju, izgleda da to i nije bilo tako. Onda je tvoj problem taj što isuviše veruješ reklamama, ili imaš isuviše čvrst stav koji te koči da realno sagledaš osobine nečega?
A možda ti se, sa vremena na vreme, zagubi neki važan podatak na računaru....
Problemi su svuda oko nas, neki su kompleksni, neki prosti, ali sve što ti treba je samo malo hrabrosti, vremena i volje, kako bi se „suočio“ sa nekim od njih - izoluješ jedan konkretan problem ili njegov deo, i počneš da razmišljaš kako bi se mogao rešiti. Razmišljanje ne rešava problem, i ako ne možeš da smisliš konkretne korake kojima ćeš rešiti neki problem – odmah da ti kažem, ni ne trudi se, nije to za tebe, idi beri maline ili kopaj u rudniku, i to su poštena zanimanja.
Nemoj da se ljutiš zbog mojih oštrih reči, one služe samo da te „trgnu“ i vrate u stvarnost. Da je lako rešavati probleme, živeli bi smo u idealnom svetu, ali nije... Taman nađeš rešenje, i primeniš ga na problem, i time rešiš taj problem, ali, na žalost, tvoje rešenje izazove drugi problem, i tako u krug.
Ali, da krenemo mi od nekog konkretnog problema.
Problem koji želimo da rešimo može da glasi: "Ja želim da napravim program koji će da mi napravi rezervnu kopiju važnih datoteka".
Ovo je prvi korak – jasno smo definisali problem, i jasno znamo šta želimo da postignemo na kraju. 
Iako smo definisali prilično jednostavan problem, nismo sagledali ili prikupili dovoljno informacija koje bi nam pomogle da počnemo sa rešavanjem. Neophodno je da izvršimo malu analizu, kako problema, tako i svega što može da utiče na njega. Na primer, kako ćemo skupljati datoteke koje treba da budu kopirane? Na koji način ćemo ih čuvati? Na kom mestu će se čuvati?....
Ovo je drugi, kod složenijih problema možda i najteži, korak – pohvatati relevantne činjenice na koje možemo uticati, nije uvek lako.
Nakon dobre analize problema, mi počinjemo da dizajniramo naš program. Prvo, na nekom papiriću, u sveski ili gde ti je volja, pravimo spisak stvari koje nam govore kako želimo da naš program radi. U ovom našem slučaju, JA sam napravio sledeću listu, kako bih JA rešio ovaj problem. Kada ti budeš pravio svoj dizajn, apsolutno nemoraš doći do ovakve konstrukcije, jer svako od nas je drugačiji i ima neki svoj način na koji obavljanja neki posao ili rešava neki problem, tako da je različitost u dizajnu sasvim ok, čak, šta više, veoma je poželjna.
Rezultat mog razmišljanja: 
  • Fajlovi i direktorijumi koje želim da budu bekapovani će da se prikupljaju u listi, jer mi ona pruža mogućnosti dodavanja i menjanja.
  • Bekap se čuva u tačno određenom direktorijumu. 
  • Fajlovi će se bekapovati u zip arhivu. 
  • Naziv zip arhive će biti trenutni datum i vreme.

Naravno, svaki od navesenih koraka možemo dodatno analizirati – na primer, da li ćemo pitati korisnika da unosi imena fajlova, ili ćemo ih mi sami navesti u programu? Da li ćemo dozvoliti korisniku da bira destinaciju? Kako ćemo kreirati zip arhivu (cilj nam je da naučimo Python i njegove mogućnosti, možda u njegovim standardnim bibliotekama postoji nešto što bi nam pomoglo – na primer zipfile? Pokušaj da nađeš dokumentaciju, pa da vidimo kako da ga primenimo).
Kada imamo napisano šta želimo, možemo da krenemo u nove radne pobede.... Vraćam se kada oberem 100 gajbica maline jer se ispostavilo da nisam baš dobar u rešavanju problema, budi tu, nemoj da bežiš, eto mene čim zaradim za 'lebac....

13 Rešavanje
problema
Indeks 13.2 Rešavanje

Коментари

Popularno

Audacious - program za slušanje muzike

LibreOffice Calc - program za izradu tabela

Brasero - program za rezanje CD-ova

Bekstvo iz Titela

Prevelika očekivanja

Minitube - program za praćenje YouTube sadržaja

Idemo

Bezimena

Pozadina Bekstva iz titela

Pažljivo sa MS Word dokumentima koje primate putem elektronske pošte