Pereiti prie turinio

Užduotys pradžiamoksliui


Rekomenduojami pranešimai

  • po 1 mėnesio...

Prikeliu temą, noriu darbų naujų, prašau pasiūlykit, ką galėčiau padaryti... :)

 

P.S. naujas darbas http://mp3cloud.wu.lt/smsm/new/ - http://mp3cloud.wu.lt/smsm/new/administrator (nick: demo, pass: demo), sistema pilnai automatizuota...

 

Beje norėčiau paklausti, kur galima gauti patrauklios ir patikimos informacijos apie f-jas, norėčiau ir su jomis išmokti naudotis :)

Redagavo Andriuszz
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Beje norėčiau paklausti, kur galima gauti patrauklios ir patikimos informacijos apie f-jas, norėčiau ir su jomis išmokti naudotis :)

Hmm, ko būtent tau reikia? Nemoki funkcijos kaip programavimo kalbos sudedamosios dalies? Kažin, ar dar ne per anksti tada registracijas kurti.

 

+ tau idėjų (aišku, jau išmokus PHP kalbos pagrindus). Matau, kad mėgsti CS: gali padaryti serverio status skriptą pats nuo nulio.

 

Aišku, tokių yra prikurta begalės. Tada galima šį tą unikalesnio, ko mažiau tenka matyt internete – svetainę, kuri atiduotų serverių sąrašą iš master serverio pagal tam tikrus filtrus, lygiai taip pat, kaip žaidimas. :) Valve protokolai yra pakankamai gerai dokumentuoti. https://developer.valvesoftware.com/wiki/Master_Server_Query_Protocol

 

Tokiu būdų susipažinsi su keliomis (tikriausiai naujomis) sritimis: UDP tinklo susijungimais, binary encodingu, ir t.t. Taip pat gali prireikti kešavimo, rate limitingo, ir pan. :) Ne vien SQL'u ir login sistemomis kelias grįstas.

 

Aišku, viskam yra bibliotekų, ir mano minėtiems dalykams, ir registracijai, ir loginui – ir dažniausiai naudotum būtent jas. Bet mokymasis yra išimtinis atvejis, kada išradinėti dviratį – netgi naudinga.

 

Dar papildomas žingsnis besimokant – kiekvieną svetainę kurdamas stenkis laikytis bent dalies PHP The Right Way praktikų, apsisaugok nuo pagrindinių (SSL gal nepirksi kiekvienam projektėliui, bet dažnai pamirštama, tarkim, CSRF) OWASP Top 10 spragų.

Redagavo Silke
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Hmm, ko būtent tau reikia? Nemoki funkcijos kaip programavimo kalbos sudedamosios dalies? Kažin, ar dar ne per anksti tada registracijas kurti.

 

+ tau idėjų (aišku, jau išmokus PHP kalbos pagrindus). Matau, kad mėgsti CS: gali padaryti serverio status skriptą pats nuo nulio.

 

Aišku, tokių yra prikurta begalės. Tada galima šį tą unikalesnio, ko mažiau tenka matyt internete – svetainę, kuri atiduotų serverių sąrašą iš master serverio pagal tam tikrus filtrus, lygiai taip pat, kaip žaidimas. :) Valve protokolai yra pakankamai gerai dokumentuoti. https://developer.valvesoftware.com/wiki/Master_Server_Query_Protocol

 

Tokiu būdų susipažinsi su keliomis (tikriausiai naujomis) sritimis: UDP tinklo susijungimais, binary encodingu, ir t.t. Taip pat gali prireikti kešavimo, rate limitingo, ir pan. :) Ne vien SQL'u ir login sistemomis kelias grįstas.

 

Aišku, viskam yra bibliotekų, ir mano minėtiems dalykams, ir registracijai, ir loginui – ir dažniausiai naudotum būtent jas. Bet mokymasis yra išimtinis atvejis, kada išradinėti dviratį – netgi naudinga.

 

Dar papildomas žingsnis besimokant – kiekvieną svetainę kurdamas stenkis laikytis bent dalies PHP The Right Way praktikų, apsisaugok nuo pagrindinių (SSL gal nepirksi kiekvienam projektėliui, bet dažnai pamirštama, tarkim, CSRF) OWASP Top 10 spragų.

 

Pusės teksto (sąvokų) nesupratau, tačiau klausimas ne apie tai...

Funkcijos kaip suprantu yra tiesiog dalykas kurį gali atkartoti, kitaip sakant pasirašai vieną funkciją ir ją naudoji kur tau reikia, kad nerašinėti 10 kartų to paties?

O jeigu pas mane kodas nėra labai ilgas, +/-10k eilučių PHP, SQL ir aš nenaudoju funkcijų? O naudoju paprastą stilių. Ir tas stilius net ne koks objektinis, o paprastas, nemoku net paaiškinti.

 

Ačiū.

Rytis

Redagavo SunkusTasGyvenimas
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Pusės teksto (sąvokų) nesupratau, tačiau klausimas ne apie tai...

Funkcijos kaip suprantu yra tiesiog dalykas kurį gali atkartoti, kitaip sakant pasirašai vieną funkciją ir ją naudoji kur tau reikia, kad nerašinėti 10 kartų to paties?

O jeigu pas mane kodas nėra labai ilgas, +/-10k eilučių PHP, SQL ir aš nenaudoju funkcijų? O naudoju paprastą stilių. Ir tas stilius net ne koks objektinis, o paprastas, nemoku net paaiškinti.

 

Ačiū.

Rytis

Na, visų pirma, tai taip, funkcijos viena iš pagrindinių savybių ir yra tai, kad ją galima pernaudoti. Kitaip nelabai ir padarysi kažkokį vieną komponentą, kurį vėliau galėtum naudoti daug kartų (include() dažniausiai nėra patogus tinkamas tokiam dalykui dėl galybės priežasčių).

 

Antra, man sunku suvokti 10000 eilučių projektą nerašant funkcijų. Apie kokį dar objektinį čia galima galvoti (keista, kad žinai, jog rašai neobjektinį, bet kam reikalinga funkcija, tenka pasitikslinti...). Ir sunku suvokti, kaip galima mokytis SQL, jei dar neapsipratai su tiesiog pagrindinėmis kalbos sudedamosiomis dalimis...

 

Daug kas gali galvoti priešingai, bet SQL nėra kažkoks būtinas įrankis, nėra PHP dalis, nėra tai, ko būtinai reikia vos išmokus programavimo kalbos pagrindus. Kodėl nereikėtų visko mokymosi suplakti į vieną, nebeskiriant, kur kas prasideda ir baigiasi, kartą jau rašiau. Gerokai piktai, bet iš esmės nuomonės nekeičiu.

 

Darkart, funkcijos yra tiesiog esminė programavimo kalbos dalis. Veiklų atskyrimas, programos struktūrizavimas, Don't Repeat Yourself, lengvesnis automatinis testavimas – tik keli dalykai, kuriuos suteikia veiklos skaidymas į funkcijas.

 

--

 

Dėl įdomumo paskaičiavau, kiek kodo sveria (iš dalies mano kurta) pilna el. parduotuvė su įvairiomis funkcijomis, kurių nerasi įprastoje. Skaičiavau tik Python, HTML ir CSS failus. Gavosi 14501 eilutė. Čia, aišku, nekreipiant dėmesio į tai, kad naudojamos išorinės bibliotekos, frameworkas, ir pan. Bet vėlgi, su PHP irgi naudoji kažkokias bibliotekas (mysql'ui, dar kažkam), tik jos dažniausiai ateina kartu su interpretatoriumi.

 

Nereikia didžiuotis tuo, jei paprastam projektui parašei 10000 eilučių – tikriausiai tai parodo tik tą, jog dirbi neefektyviai. Ir kartu nereikia imtis didelių projektų, jei neišmokai kalbos pagrindų.

Redagavo Silke
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Hmm, ko būtent tau reikia? Nemoki funkcijos kaip programavimo kalbos sudedamosios dalies? Kažin, ar dar ne per anksti tada registracijas kurti.

 

+ tau idėjų (aišku, jau išmokus PHP kalbos pagrindus). Matau, kad mėgsti CS: gali padaryti serverio status skriptą pats nuo nulio.

 

Aišku, tokių yra prikurta begalės. Tada galima šį tą unikalesnio, ko mažiau tenka matyt internete – svetainę, kuri atiduotų serverių sąrašą iš master serverio pagal tam tikrus filtrus, lygiai taip pat, kaip žaidimas. :) Valve protokolai yra pakankamai gerai dokumentuoti. https://developer.valvesoftware.com/wiki/Master_Server_Query_Protocol

 

Tokiu būdų susipažinsi su keliomis (tikriausiai naujomis) sritimis: UDP tinklo susijungimais, binary encodingu, ir t.t. Taip pat gali prireikti kešavimo, rate limitingo, ir pan. :) Ne vien SQL'u ir login sistemomis kelias grįstas.

 

Aišku, viskam yra bibliotekų, ir mano minėtiems dalykams, ir registracijai, ir loginui – ir dažniausiai naudotum būtent jas. Bet mokymasis yra išimtinis atvejis, kada išradinėti dviratį – netgi naudinga.

 

Dar papildomas žingsnis besimokant – kiekvieną svetainę kurdamas stenkis laikytis bent dalies PHP The Right Way praktikų, apsisaugok nuo pagrindinių (SSL gal nepirksi kiekvienam projektėliui, bet dažnai pamirštama, tarkim, CSRF) OWASP Top 10 spragų.

 

Malonu, kad parašei gan nemažai informacijos ir pasiūlei sukurti serverio statuso skriptą, bet kol kas dar susilaikysiu su tavo pasiūlymu... kodėl? Todėl, nes aš drįsčiau sakyti, kad man dar toks dalykas per anksti, iš pradžių noriu pradėti nuo kur kas lengvesnių dalykų, o ne šokti prie aukšto lygio programavimo, tai sakau savo atžvilgiu, nes kitiems gali pasirodyti tai pradinis lygis, bet man ne man... Labai ačiū už tavo pateiktas nuorodas, kuriomis tikrai pasinaudosiu, tikiuosi nedarau tokių pažeidimų kaip XSS injekcijų, bent jau aš to nepastebėjau :)

 

Be to, esu linkęs prie gražesnio kodo rašybos

 

Norėčiau sulaukti šiek tiek lengvesnio lygio užduočių, ką galėčiau padaryti :)

Redagavo Andriuszz
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Labai ačiū už tavo pateiktas nuorodas, kuriomis tikrai pasinaudosiu, tikiuosi nedarau tokių pažeidimų kaip XSS injekcijų, bent jau aš to nepastebėjau :)

Nelabai toks dalykas, kai tiesiog „ai turbūt nepadariau, nes nepastebėjau“. SQL injekcijos, XSS, CSRF – nuo šitų apsaugos turi būti automatiškai visada, nėra jokių „bet“. Jei nesi apsisaugojęs (ir neapsaugojo kas nors už tave), tai greičiausiai skylė yra. :)

 

O ką lengvesnio duoti, nežinau. Visokias ale login sistemas jau darei. Kaip sakiau, dabar jas perdaryk pagal OWASP ir PHP The Right Way, pritaikyk bent minimalią savą struktūrą (MVC ar kokią kitokią), jei dar nedirbi su jokiais frameworkais. Atskirk atvaizdavimą nuo logikos.

 

Jei bent kiek įdomu saugumas ir kriptografija už būtinybės ribų gali padaryti, tarkim, slaptų žinučių talpyklą. Tarkim, peržiūrėti būtų galima tik su slaptažodžiu, kurio nežinotum net pats – net duomenų bazėje žinutės būtų užšifruotos jų autorių pasirinktais slaptažodžiais.

 

Nors, aišku, čia vėl reikės kažką išorinio naudoti, nes kriptografu būti – ne kiekvienam :) Bet bet kokiu atveju realiam pasauly visko nuo nulio nekursi. Jei nesinori į kriptografiją lįst – padaryk sistemą, kurioje žinutę galėtum peržiūrėti tik vieną kartą. Pasunkintas lygis – net jei vienu metu ateina dvi užklausos į serverį, žinutę tegul grąžina tik vienam, o kitam jau atiduoda atgal pranešimą, jog ši žinutė sunaikinta. Arba, kad žinutę būtų galima perskaityti tik per tam tikrą laiko tarpą nuo sukūrimo (30 min.?).

 

Šiaip jau idėjų pilna visur. Kol rašiau šitą sakinį, dar sugalvojau vieną – aukcionų sistema (panaši į ebay?). Praktikai gali implementuoti vien su virtualiais pinigais (skaičiukai tavo DB) ar išvis be mokėjimų – tik su varžymusi. Jei gerai seksis, gal net paleisi tikrą projektą... su kokiais nors bitcoinais? :)

 

Implementuok rate limitingą (puslapio atvertimų skaičiaus vienam klientui per tam tikrą laiką apribojimą) savo tinklalapiui. Tam geriau būtų naudoti kokį nors cache mechanizmą (APC, Memcache) ar Redis, nei SQL duomenų bazę.

 

Dar: unit testai ir apskritai testavimas! („nu patikrinsiu rankom ar veikia“ nėra testavimas ;)) Labai šaunus dalykas, kažkodėl daug kieno neįvertinamas. Išmok jais naudotis ir ištestuok savo esamą aplikaciją, arba naudok juos nuo pat pradžių rašydamas naują.

 

Tik nežinau, kokios PHP bibliotekos tam skirtos ir ar matuoja jos automatiškai, kiek kodo padengia testai, bet bandyk artėt su tuo prie 100%. :)

Redagavo Silke
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

  • Prisijunk prie bendruomenės dabar!

    Uždarbis.lt nariai domisi verslo, IT ir asmeninio tobulėjimo temomis, kartu sprendžia problemas, dalinasi žiniomis ir idėjomis, sutinka būsimus verslo partnerius ir dalyvauja gyvuose susitikimuose.

    Užsiregistruok dabar ir galėsi:

    ✔️ Dalyvauti diskusijose;

    ✔️ Kurti naujas temas;

    ✔️ Rašyti atsakymus;

    ✔️ Vertinti kitų žmonių pranešimus;

    ✔️ Susisiekti su bet kuriuo nariu asmeniškai;

    ✔️ Naudotis tamsia dizaino versija;

    ir dar daugiau.

    Registracija trunka ~30 sek. ir yra visiškai nemokama.

  • Naujausios temos

  • Karštos temos

×
×
  • Pasirinkite naujai kuriamo turinio tipą...