Forum Sveta kompjutera

Nazad   Forum Sveta kompjutera > Test Run > Programiranje

Programiranje Programski jezici, tehnike, alatke...

Odgovor
 
Alatke vezane za temu Vrste prikaza
Stara 18.1.2017, 17:40   #121
LoneWolf
Deo inventara foruma
 
Član od: 9.1.2006.
Lokacija: Kafana
Poruke: 7.665
Zahvalnice: 1.612
Zahvaljeno 2.006 puta na 1.418 poruka
Slanje poruke preko Skypea korisniku LoneWolf
Određen forumom Programiranje - prvi koraci

Citat:
DiplomiraniDuduk kaže: Pregled poruke
Verujem da ćeš biti i bolji! Granice starosti se neprekidno pomeraju. Kada tvoja generacija dođe u te godine više se neće ni smatrati starima.





Budi ljubazan pa navedi literaturu koju si koristio. Da vidim mogu li da je nabavim


Ovdje imate dosta dobrih resursa:
http://tutoriali.org/

Koristio sam i sajt Planet Source Code, iako je na engleskom on sadrži veliku bazu gotovih ili polugotovih "programa" koji su zapravo otvoreni za dalju obradu (izvorni kod je otvoren i ljudi ga razmjenjuju otvoreno).

Takođe, imate i knjige na našem u izdanju Mikro knjige:
http://www.mikroknjiga.rs/store/prik...=86-7555-130-4

Možda je bolja preporuka da nađete "naše" tutorijale na Youtube-u pa da učite gledajući video, tako se ne izlažete troškovima jer pretpostavljam da je ionako teško živjeti od penzije. Ako pronađem PDF knjigu na našem jeziku poslaću vam.
LoneWolf je offline   Odgovor sa citatom ove poruke
Sledeći korisnik se zahvaljuje korisniku LoneWolf na korisnoj poruci:
DiplomiraniDuduk (18.1.2017)
Stara 18.1.2017, 19:26   #122
analayzer
Starosedelac
 
Član od: 2.6.2008.
Lokacija: Vršac
Poruke: 1.752
Zahvalnice: 92
Zahvaljeno 311 puta na 294 poruka
Određen forumom Re: Programiranje - prvi koraci

Imate i ovde par komada samo pogledajte skroz do kraja i drugu stranicu jer je malo "mešano" sa izdanjima u "pripremi". http://knjige.kombib.rs/oblasti-knjiga-165-1
analayzer je offline   Odgovor sa citatom ove poruke
Sledeći korisnik se zahvaljuje korisniku analayzer na korisnoj poruci:
DiplomiraniDuduk (18.1.2017)
Stara 7.2.2017, 23:08   #123
Schnak3
Starosedelac
 
Član od: 1.9.2008.
Lokacija: ¯\_(ツ)_/¯🍸
Poruke: 2.047
Zahvalnice: 610
Zahvaljeno 434 puta na 256 poruka
Određen forumom Re: Programiranje - prvi koraci

Krenuo sam da ucim Python. Za sada mi je misljenje da je ovo veoma los programski jezik za pocetnike

Kod:
for count in [1, 2, 3]:
    print(count)
    print(count)
print('Kraj.')
Da pocnemo od toga sto telo petlje oznacava, \t odnosno tab karakter! Ova petlja daje izlaz

Kod:
1
1
2
2
3
3
Kraj.
Sa druge strane radio sam malo u ASP.NET Core. Odusevljen sam jer mozete u C# da napisete API koji radi na Linux serveru, ne morate da pisete u PHP ili node.js. Mnoge biblioteke nisu podrzane, ali moze da se nadje ponesto za .NET Core. Posto ovo nije potpuni .NET, odnosno C#, nisu sve funkcionalnosti podrzane, neke se malo drugacije zovu ali skoro sve radi. Podrska za thread-ove je odlicna.
Schnak3 je offline   Odgovor sa citatom ove poruke
Stara 8.2.2017, 0:01   #124
voodoo_
V.I.P. GNU/Linux
 
Avatar korisnika voodoo_
 
Član od: 1.11.2005.
Poruke: 11.163
Zahvalnice: 2.079
Zahvaljeno 4.921 puta na 2.857 poruka
Određen forumom Re: Programiranje - prvi koraci

U pajtonu je "telo" sve što je uvučeno istim brojem znakova. Ne mora tab, može i jedan, dva, tri spejsa, nije bitno.

Kod:
for i in [1, 2, 3]:
      for j in [1, 2, 3]:
         print(i, j)
Ima to svoje prednosti, na primer nema divljanja sa izborom stilova uvlačenja (tabovi ili spejsovi) i pozicioniranja vitičastih zagrada. Sav pajton kod deluje manje-više isto, dok sličan C/C++ kod može biti napisan na najmanje tri načina.

A što se tiče početnika, njima je svejedno. Zapravo ovako u pajtonovskom minimalističkom stilu je mnogo čitljivije u odnosu na C/C++, a naročito u odnosu na Javu gde je 80% koda boilerplate a 20% radi nešto korisno. U pajtonu otkucaš prototip nekog algoritma očas posla, a u Javi izgubiš triput više vremena dok ispoštuješ sve konstrukte.
voodoo_ je offline   Odgovor sa citatom ove poruke
Sledećih 3 korisnika se zahvaljuje korisniku voodoo_ na korisnoj poruci:
DiplomiraniDuduk (16.10.2018), Schnak3 (8.2.2017), zokocx (8.2.2017)
Stara 8.2.2017, 0:14   #125
doctor
Deo inventara foruma
 
Član od: 14.3.2008.
Lokacija: EHCPCGG
Poruke: 12.110
Zahvalnice: 4.319
Zahvaljeno 3.295 puta na 2.274 poruka
Određen forumom Re: Programiranje - prvi koraci

Citat:
voodoo_ kaže: Pregled poruke
...a naročito u odnosu na Javu gde je 80% koda boilerplate a 20% radi nešto korisno...
Naježio sam se od same pomisli na ovo. So true. Trebalo mi je vremena da skontam da ja zapravo Javu i enterprise sektor ne mogu da smislim.
doctor je offline   Odgovor sa citatom ove poruke
Stara 8.2.2017, 11:25   #126
DiplomiraniDuduk
Novi član
 
Član od: 13.1.2017.
Poruke: 8
Zahvalnice: 10
Zahvaljeno 5 puta na jednoj poruci
Određen forumom Re: Programiranje - prvi koraci

Sebe smatram početnikom iako sam nekada koristio BASIC. Osnovni mi je problem neznanje engleskog.

Mislim da Python nije teško pratiti, ako bi naredbe bile detaljno objašnjene.

Literatura na našem jeziku je suviše štura i ne opisuje naredbe u celosti. Daje samo neke primere konkretne primene.

Sada mi je problem što kada koristim recimo naredbe

import random
.....
a = random.randint(1, 100)


nakon uključenja zadaci počinju uvek istim brojem. Koju naredbu da zadam da bi slučajno izabrani broj uvek bio drugi. Video sam nešto vezano za vreme ali ne mogu da nađem gde je to.
DiplomiraniDuduk je offline   Odgovor sa citatom ove poruke
Stara 8.2.2017, 11:56   #127
voodoo_
V.I.P. GNU/Linux
 
Avatar korisnika voodoo_
 
Član od: 1.11.2005.
Poruke: 11.163
Zahvalnice: 2.079
Zahvaljeno 4.921 puta na 2.857 poruka
Određen forumom Re: Programiranje - prvi koraci

Prethodno treba da se inicijalizuje random generator koristeći tzv. seme, koje može biti bilo koja vrednost i trebalo bi da bude svaki put drugačija vrednost (ako se ne navede, koristi se trenutno vreme na računaru).

random.seed()
a = random.randint(1, 100)
voodoo_ je offline   Odgovor sa citatom ove poruke
Sledeći korisnik se zahvaljuje korisniku voodoo_ na korisnoj poruci:
DiplomiraniDuduk (8.2.2017)
Stara 16.10.2018, 20:37   #128
DiplomiraniDuduk
Novi član
 
Član od: 13.1.2017.
Poruke: 8
Zahvalnice: 10
Zahvaljeno 5 puta na jednoj poruci
Određen forumom Re: Programiranje - prvi koraci

Uspeo sam da napravim jednostavan program za uvežbavanje sabiranja za osnovce - zahvaljujući i pomoći sa ovog foruma.
Izgleda nekako ovako:

import random
kont=0
zbir = 101
while zbir > 100 or zbir<1:
.....a = random.randint(1, 100)
.....b = random.randint(-100, 100)
.....zbir = a + b
.....if zbir > 100 or zbir<1:
.........continue
.....while kont<5:
.........print('Koliko je ',a, end=' ')
.........if b>0: print('+', end=' ')
.........print(b, '=', end=' ')
.........unos = input()
.........unos = int(unos)
.........if unos == zbir:
.............print('Tačno\n')
.............kont=kont+1
.............if kont>5rint('\a')
.............zbir = 101
.............break

.........else:
.............print('Netačno')
.............continue

Problem je što kada se završi program prosto nestaje sa ekrana.
Hteo bih da nakon završetka program obriše zadatke i ispiše recimo: "Dobro si uradio." i da to stoji sve dok se ne ukuca određena reč, recimo "kraj", pa da se tek onda izgubi sa ekrana.
Pošto nisam uspeo da uvlačim tekst na drugi način stavljao sam tačkice. Njih u programu, naravno, nema.
Unapred hvala na svakom odgovoru!

Poslednja ispravka: DiplomiraniDuduk (16.10.2018 u 20:45)
DiplomiraniDuduk je offline   Odgovor sa citatom ove poruke
Stara 30.10.2018, 1:02   #129
Patrick
Član
 
Član od: 12.6.2006.
Poruke: 112
Zahvalnice: 19
Zahvaljeno 6 puta na 6 poruka
Određen forumom Re: Programiranje - prvi koraci

Citat:
doctor kaže: Pregled poruke
Naježio sam se od same pomisli na ovo. So true. Trebalo mi je vremena da skontam da ja zapravo Javu i enterprise sektor ne mogu da smislim.

Jel može neko da mi objasni to oko boilerplate-a u Javi (može i neki link ka primeru) i kako to onda može drugačije da bude? Nije mi jasno, a ne sad da ovo pitam što ne verujem ili da branim Javu. Znači pitam kao neko ko ima manje iskustva od vas. Da li to sve može može toliko kraće da bude napisano, ako već manje od pola koda ne radi nešto korisno? Zašto onda tako nije napravljeno?
I šta je "enterprise sektor"? Java EE?
Za potrebe objašnjavanja: znam C, C++, Javu, C#, a Python nisam učio. (Planiram kad imam vremena obavezno.)
Patrick je offline   Odgovor sa citatom ove poruke
Stara 30.10.2018, 11:34   #130
voodoo_
V.I.P. GNU/Linux
 
Avatar korisnika voodoo_
 
Član od: 1.11.2005.
Poruke: 11.163
Zahvalnice: 2.079
Zahvaljeno 4.921 puta na 2.857 poruka
Određen forumom Re: Programiranje - prvi koraci

Boilerplate postaje problem s porastom koda i nije tako očigledan u kratkim programima, ali npr. gledaj sledeći C++ konstruktor:

Kod:
Objekat(int a, int b = 0, int c = 0) {
    this->A = a;
    this->B = b;
    this->C = c;
}
Javin ekvivalent bi bila četiri konstruktora:

Kod:
Objekat(int a) {
    this.A = a;
    this.B = 0;
    this.C = 0;
}

Objekat(int a, int b) {
    this.A = a;
    this.B = b;
    this.C = 0;
}

Objekat(int a, int c) {
    this.A = a;
    this.B = 0;
    this.C = c;
}

Objekat(int a, int b, int c) {
    this.A = a;
    this.B = b;
    this.C = c;
}
Suštinski, kad god jezik ili kompajler traže da im sve "nacrtaš" umesto da neke stvari sami prokljuve, boilerplate kod će rasti.

E sad, Java je neke stvari rešavala u novijim verzijama (npr. u Javi 8 možeš da uz argument zakačiš @NotNull anotaciju čime se forsira da argument ne sme da bude null, pa ako imaš gomilu metoda koje ne smeju da rade sa null vrednostima, na početku njihovih tela izostavljaš zamorne "if (vrednost == null)" pitalice).

Drugi primer za rešavanje boilerplate koda je takozvani Builder pattern, gde metode nekog objekta vraćaju referencu na taj isti objekat, pa možeš da napraviš lanac poziva tipa:

Objekat o = Objekat.Builder.setA(5).setC(20).setD(15).build();

umesto da implementiraš mnogo verzija konstruktora, ili da radiš pešački nakon kreiranja objekta čime rizikuješ da programer zaboravi da pozove neki setter i ostavi objekat nepotpuno inicijalizovanim

Objekat o = new Objekat();
o.setA(5);
o.setC(20);
o.setD(15);

Ima gomila boljih primera na internetu, guglaj "java how to avoid boilerplate"
voodoo_ je offline   Odgovor sa citatom ove poruke
Sledeći korisnik se zahvaljuje korisniku voodoo_ na korisnoj poruci:
Patrick (30.10.2018)
Stara 30.10.2018, 22:59   #131
Patrick
Član
 
Član od: 12.6.2006.
Poruke: 112
Zahvalnice: 19
Zahvaljeno 6 puta na 6 poruka
Određen forumom Re: Programiranje - prvi koraci

Hvala. Super su primeri, shvatio sam.

Čitaću još o ovome, sad vidim u kom smeru da guglam.


Samo da proverim:

Treći Java konstruktor je višak (greškom si ga napisao) ili ne? U C++ primeru bi konstruktor koj prihvata dva integera inicijalizovao a i b. A i Java bi prijavila grešku jer ima dva različita (int, int) konstruktora? Ili ja grešim?
Patrick je offline   Odgovor sa citatom ove poruke
Stara 31.10.2018, 9:59   #132
voodoo_
V.I.P. GNU/Linux
 
Avatar korisnika voodoo_
 
Član od: 1.11.2005.
Poruke: 11.163
Zahvalnice: 2.079
Zahvaljeno 4.921 puta na 2.857 poruka
Određen forumom Re: Programiranje - prvi koraci

U pravu si, kucao sam na poslu na brzinu
voodoo_ je offline   Odgovor sa citatom ove poruke
Sledeći korisnik se zahvaljuje korisniku voodoo_ na korisnoj poruci:
Oggy (1.11.2018)
Stara 6.11.2018, 14:29   #133
Dreamfall
Banned
 
Član od: 8.7.2006.
Lokacija: Above the Abyss
Poruke: 1.879
Zahvalnice: 584
Zahvaljeno 910 puta na 523 poruka
Određen forumom Re: Programiranje - prvi koraci

Imam jedno pitanje,a vidim ova tema je najaktivnija u ovom podforumu pa rekoh da pitam ovde.

Elem,uhvatila me neka paranoja oko lozinki i keylogger-a pa sam ispisao python skripte koje koriste Selenium WebDriver(chrome webdriver) za automatski login na sajtove.Skripte se nalaze u zakljucanom folderu i interesuje me koliko je to bezbednije od kuckanja ili browser-ovog pamcenja sifri?

primer skripte za sk forum

Kod:
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import os

dir = os.path.dirname(__file__)
driver_loc = dir + "/chromedriver.exe"
driver = webdriver.Chrome(driver_loc)

driver.get("https://www.sk.rs/forum/")
driver.maximize_window()
username = driver.find_element_by_id('navbar_username')
username.send_keys("#korisnicko ime")
username.send_keys(Keys.TAB)
password = driver.find_element_by_id('navbar_password')
password.send_keys("#lozinka korisnika")
password.send_keys(Keys.ENTER)
driver.implicitly_wait(30)
driver.find_element_by_xpath('//*[@id="f51"]/div[1]/a').click()
Dreamfall je offline   Odgovor sa citatom ove poruke
Odgovor

Bookmarks sajtovi

Alatke vezane za temu
Vrste prikaza

Vaš status
Ne možete postavljati teme
Ne možete odgovarati na poruke
Ne možete slati priloge uz poruke
Ne možete prepravljati svoje poruke

BB kod: uključeno
Smajliji: uključeno
[IMG] kod: uključeno
HTML kod: isključeno


Slične teme
tema temu započeo forum Odgovora Poslednja poruka
Prvi koraci Wolf1996 otpaTci 2 30.9.2015 19:12
Genericko programiranje (OOP) PeTkO Programiranje 4 5.9.2013 23:05
Poziv za predaju radova za Prvi Balkan kompjuter kongres milobit Dešavanja i događaji 10 27.3.2013 20:27
Kada ste dobili svoj prvi komp? Covenant Brbljaonica 131 13.2.2010 17:46
Prvi crnogorski ICT casopis Dimo Zanimljive Web lokacije 13 27.10.2006 20:18


Sva vremena su po Griniču +2 h. Sada je 13:18.


Powered by vBulletin® verzija 3.8.7
Copyright ©2000–2024, vBulletin Solutions, Inc.
Hosted by Beograd.com