Pereiti prie turinio

Silke

Patvirtinti nariai
  • Pranešimai

    6.462
  • Užsiregistravo

  • Lankėsi

  • Laimėta dienų

    11
  • Atsiliepimai

    100%

Reputacijos išklotinė

  1. Patinka
    Silke gavo reakciją nuo luknei Pagalba su mysql ir php.   
    Berods su PHP + unikodu tam reiktų naudoti mb_substr, nes substr gali perkirpti ir vidury UTF-8 simbolio: pvz., 10-11-12 baitai bus vienas simbolis, o paliks tik iki dešimto, ir gausis šlamštas.
     
    http://lt1.php.net/mb_substr
     
    Tikriausiai SQL injekcija.
  2. Patinka
    Silke sureagavo į wi_lius Struct ir Class (C++)   
    struct ir class yra beveik tas pats, tik kad struct pagal nutylėjimą (jei pats nenurodai) laukai ir metodai yra public, o class – private. O pagrindinis skirtumas yra semantinis: jei reikia metodų – imi klasę, jei nereikia – struktūrą.
     
  3. Patinka
    Silke gavo reakciją nuo arman Pagalba su mysql ir php.   
    Nu tai patys failai ne UTF-8, o ne mysql duomenys. Ieškok editoriui koduotės nustatymo ir saugok viską UTF-8 arba UTF-8 Without BOM.
  4. Patinka
    Silke gavo reakciją nuo arman Pagalba su mysql ir php.   
    Pačius PHP/HTML failus saugok UTF-8, nurodyk UTF-8 ir HTTP/HTML headeriuose, parink UTF-8 charsetą MySQL, įsitikink, kad laukeliuose stovi taisyklingi UTF-8 duomenys. Tada jau privalės veikt.
     
    Kaip sakė gio, mysql_ funkcijos yra pasenusios ir nebepatariamos naudoti. Geriausia naudoti PDO. http://wiki.hashphp.org/PDO_Tutorial_for_MySQL_Developers
     
    Kaip sakė Avice, dėl to viską padarei gerai.
     
    Patarimas, mokykis MySQL ne kaip kažkokį PHP priedą (nes taip nėra), o tvarkingai, nuosekliai ir išsamiai. Nekils tokių paprastų klausimų kaip „kaip surūšiuoti“, bus supratimas, kur MySQL prasideda ir baigiasi, ir t.t. :)
  5. Patinka
    Silke gavo reakciją nuo GiGalo Dėl virtualios valiutos bitkoino susikibo „Swedbank“ ir verslininkas iš Lietuvos   
    Daug „narkoteroristplovimžudynių“ verksnių. Nepriimkit atsiskaitymų litais, nes už litus narkotikai perkami, sutariam?
  6. Patinka
    Silke gavo reakciją nuo Andriuszz Užduotys pradžiamoksliui   
    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ų.
  7. Patinka
    Silke gavo reakciją nuo Serapke Užduotys pradžiamoksliui   
    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ų.
  8. Patinka
    Silke gavo reakciją nuo tiporimvis Įvestis/išvestis   
    stdprn ir stdaux net Google sunkiai randa – matyt kažkokios liekanos iš senų OS (pvz., DOS).
     
    Stdout yra standartinė išvestis – ten, kur programa išveda rezultatus. Stderr yra klaidų išvestis – į ten dažniausiai išvedami visi pranešimai, susiję su programos veikimu, bet kurie nėra rezultatai. Stdin yra standartinė įvestis (kita kryptis: iš vartotojo programai).
     
    Stdout ir stderr, jei leidi programą iš konsolės, dažniausiai ir yra ta konsolė. Stdin analogiškai yra tai, ką klaviatūra įvedi į tą konsolę.
     
    cin, cout (yra ir cerr) tėra C++ specifinis API naudoti stdin/stdout. T.y. tai nėra kažkoks atskiras dalykas. Lygiai taip pat Javoje tai yra System.in ir System.out, bet vėlgi, tai nėra kažkoks kalbos išradimas – visi tie dalykai vis tiek „po gaubtu“ naudoja stdout/stdin.
     
    Stdin, stdout, stderr tuo tarpu yra jau OS „išradimai“, ne programavimo kalbos.
  9. Patinka
    Silke sureagavo į sanis Darbo laiko saugojimas duombazėje   
    Gali kurt darbo-laikai(userid, diena, nuo, iki) . Bet iš esmės tas pats, tik struktūra kitokia
  10. Patinka
    Silke gavo reakciją nuo tiporimvis New/Delete C++   
    Šiaip jau visada reikėtų naudoti delete. Įsivaizduok, kad tavo programa veikia ilgą laiką (valandą, parą, savaitę, ...) ir neatlaisvina atminties, o tik paskiria dar, dar, dar... Galų gale (protinga) OS tiesiog nutrauks tavo programą.
     
    Su paprastais stack masyvais

    int skaiciai[100];
    viskas paprasta: funkcija baigiasi, atmintis anksčiau ar vėliau atsilaisvina (o ir šiaip stack'as ribotas). Su dinamine atmintimi kitaip – turi prižiūrėti kiekvieną alokavimą ir jiems prirašyti atitinkamus delete ar delete[] (jei kuri masyvą, bet naudoji paprastą delete – turėtų būti negerai).
     
    Į pointerius (tuos su žvaigždute) taip pat įsigilink – jie C ir C++ labai reikalingi. Dinaminė atmintis, masyvai, pointer arithmetic, ir kt. :)
     
    Pvz. iš esmės nėra tokio dalyko, kaip masyvo perdavimas į funkciją ar grąžinimas iš jos. „Už užuolaidos“ viskas vyksta taip, jog perduodamas pointeris į pirmą masyvo elementą (kiti išsidėstę paeiliui atmintyje, todėl juos paprasta pasiekti, turint pirmojo adresą). Lygiai taip pat galbūt pasirodė keistas new elgesys – prašai masyvo, o atiduoda pointerį :)
  11. Patinka
    Silke gavo reakciją nuo tiporimvis New/Delete C++   
    y turėtų būti deklaruotas kaip rodyklė į int

    int*
    O ne kaip tiesiog int.
     

    int x; int *y; y = &x; // Kintamajam y priskiriamas kintamojo x adresas *y = x; // Kintamajam, į kurio atminties vietą rodo y (x'ui), priskiriamas jis pats. // T.y., jei čia būtum rašęs x = x, būtų tas pats efektas. *y = &x // neturi prasmės – *y yra int, &x yra int* tipo.
     
    Kaip čia paprastai pasakius. Jei y storina būtent adresą, o ne pačią reikšmę

    int x = 10; int *y = &x;
    Tai jeigu keisis y:

    y = 20; // x == 10, y == 20
    Tai tiesiog y rodys į atminties laukelį, kurio numeris 20 (tikriausiai į kažką nesąmoningo, neleistiną atmintį).
     
    Tam, kad „prisikastum“ prie to elemento, į kurį rodo, reikia dereference operatoriaus (tos pačios žvaigždutės)

    int x = 10; int *y = &x; *y = 20 // x == 20, y == &x (nesikeičia)
  12. Patinka
    Silke gavo reakciją nuo luknei JavaScript onclick klausimas   
    var logo = document.getElementById("logo"); var photo = document.getElementById("photo"); logo.onclick = onClickLocation(); // blogai!! photo.onclick = onClickLocation(); // blogai!! logo.onclick = onClickLocation; // gerai photo.onclick = onClickLocation; // gerai
     
     
    () reiškia funkcijos kvietimą – tada onclick'ui prsikirtų ne pačią funkciją, o tai, ką ji grąžina (kadangi nieko negrąžina – tai undefined.
     
    Aišku, dar geriau būtų naudoti addEventListener https://developer.mozilla.org/en-US/docs/Web/API/EventTarget.addEventListener . Tik jei nori su juo palaikyti IE 8 ir žemesnius, reikia naudoti MS'o nuosavą attachEvent().
  13. Patinka
    Silke gavo reakciją nuo luknei JavaScript onclick klausimas   
    var logo = document.getElementById("logo"); var photo = document.getElementById("photo"); logo.onclick = onClickLocation(); // blogai!! photo.onclick = onClickLocation(); // blogai!! logo.onclick = onClickLocation; // gerai photo.onclick = onClickLocation; // gerai
     
     
    () reiškia funkcijos kvietimą – tada onclick'ui prsikirtų ne pačią funkciją, o tai, ką ji grąžina (kadangi nieko negrąžina – tai undefined.
     
    Aišku, dar geriau būtų naudoti addEventListener https://developer.mozilla.org/en-US/docs/Web/API/EventTarget.addEventListener . Tik jei nori su juo palaikyti IE 8 ir žemesnius, reikia naudoti MS'o nuosavą attachEvent().
  14. Patinka
    Silke sureagavo į mariuscre C++ savamokslis, mokymasis   
    Jeigu zmogus turetu geru ziniu is Java, tai nebutu tokiu klausimu per kiek laiko galima ismokti C++.
    Tiesiog pasakiau kokiu Lietuvoje zmoniu truksta. Su C++ pradedanciam programuotojui Lietuvoje sunkoka surasti darba.
  15. Patinka
    Silke sureagavo į g3dut1s New/Delete C++   
    Šie operatoriai naudojami skirti ir atlaisvinti dinaminę atmintį.
     
    Nebūtini, tačiau naudoti patogu, kai programos pradžioje nėra žinomas reikalingas atminties dydis (pvz.: duomenys iš failo).
     
    Pavyzdys su vienmačiu masyvu:

    // Atminties skyrimas: int kiekis = 5; int *skaiciai = new int [kiekis]; // Atlaisvinimas delete [] skaiciai;
     
    `new/delete` - vienam elementui.
    `new[]/delete[]` - keliems elementams (pvz.: masyvams)
     
    Žvaigždutės operatorius nurodo, kad kintamajame bus saugomos nurodyto tipo kintamojo adresas.
     
    Gali būti atvejų, kai nepavyksta skirti dinaminės atminties (pvz.: pamėgink taip sukurti labai didelį masyvą, kuris užimtų labai daug atminties). Tam įvykus, programa išveda išimtį (exception). Operatorius `nothrow` nurodo, kad įvykus klaidai, programa neišmestų išimties.
     
    Būtina nėra, tačiau rekomenduojama, nes taip programa išlaisvina atmintį.
  16. Patinka
    Silke gavo reakciją nuo Nerio Dėl virtualios valiutos bitkoino susikibo „Swedbank“ ir verslininkas iš Lietuvos   
    Labai gražus atsakymas būtų, bet visiškai ne į klausimą ir nieko neužtikrina, nes, vėlgi, nėra jokių galimybių užtikrinti.
     
    Taip, pats naudojau SpectroCoin. Viskas patogu, pirkti bitcoinams tereikia tapatybės dokumento kopijos – bet nusikaltėliui jpeg'ą nėra taip jau sunku pasidirbti...
  17. Patinka
    Silke gavo reakciją nuo Loganas Dėl virtualios valiutos bitkoino susikibo „Swedbank“ ir verslininkas iš Lietuvos   
    Aš ne apie pavedimus – apie grynuosius. Anonimiškiau, nei bitcoin, sakyčiau. O jei anonimiška, tai akivaizdu, jog perkami narkotikai ir samdomi žudikai :)
     
    Btw, nemanyčiau, kad pavedimais vaikščiojantys nešvarūs pinigai yra toks jau netikėtinas dalykas. Juolab, kad yra vietų, kur už tuos pačius Bitcoinus galima gauti tvarkingą anoniminę sąskaitą Lenkijoje... Kokia tik nori tapatybe. :lol:
     
    Užtat gali teisiškai pareikalaut piniginės adreso, jei tai būtina (o jei negali, tai neuždarinėk sąskaitų burdamas iš kavos tirščių bl) ir tada pagal pavedimus įvertinti, ar tikrai nusikaltimais užsiimama.
     
    Jei, tarkim, žmogus naudoja tumblerius (čia jau artėjama prie pinigų plovimo tiesiogine prasme), tada ok, tu gali turėt kažkokių įtarimų. Tas pats, jei pervedinėja į žinomas purvinas sąskaitas. O jei pervedė savo močiutei kalėdų dovaną ar nusipirko kompą iš Bitcoin Store, tai eikit jūs su tokiu terorizmu...
  18. Patinka
    Silke gavo reakciją nuo GiGalo Dėl virtualios valiutos bitkoino susikibo „Swedbank“ ir verslininkas iš Lietuvos   
    Daug „narkoteroristplovimžudynių“ verksnių. Nepriimkit atsiskaitymų litais, nes už litus narkotikai perkami, sutariam?
  19. Patinka
    Silke gavo reakciją nuo GiGalo Dėl virtualios valiutos bitkoino susikibo „Swedbank“ ir verslininkas iš Lietuvos   
    Daug „narkoteroristplovimžudynių“ verksnių. Nepriimkit atsiskaitymų litais, nes už litus narkotikai perkami, sutariam?
  20. Patinka
    Silke gavo reakciją nuo GiGalo Dėl virtualios valiutos bitkoino susikibo „Swedbank“ ir verslininkas iš Lietuvos   
    Daug „narkoteroristplovimžudynių“ verksnių. Nepriimkit atsiskaitymų litais, nes už litus narkotikai perkami, sutariam?
  21. Patinka
    Silke gavo reakciją nuo GiGalo Dėl virtualios valiutos bitkoino susikibo „Swedbank“ ir verslininkas iš Lietuvos   
    Na, čia jau tektų eiti į semantiką: „kovoti“ ir „užtikrinti“ ne visai tas pats... Ką aš ir bandžiau pasakyt – užtikrinti nėra įmanoma nei banku, nei BTC, nei grynaisiais. Tikrinti ID, žinoma, gražu ir gerai. :)
     
    Šaunu, jei jie moka gerai atsakyti į tokias užklausas. Aš tuo apeliavau kiek į kitą – teiginius, jog „va bankuose tai tikrai pinigai už narkotikus nevaikšto“. Vaikšto kas tik nori: ginklai, narkotikai, žmogžudystės... Ne su Bitcoinu atsirado, ne su juo ir išnyks.
     
    --
     
    Nesiginčiju – verslininko atsakymai nebuvo tinkami. Užkliuvo tai, kad net ne vienas forumietis iškart keityklos savininką prilygina teroristui ar narkotikų dyleriui. Net ne „kaip užtikrinate, kad nebus finansuojamas terorizmas“, kaip rašo klausimynas, o TIESIOGINE PRASME:
     
    Panašaus pseudoniminio (nors centralizuoto) e-gold laikais visi mielai clickindavo PTC už cento dalis ir nesirūpindavo, o dabar alternatyvi mokėjimų sistema lygu terorizmui ir narkotikams. Fu. :(
     
    Aišku, Nerijaus Mačiulio pozicija ne ką mažiau liūdna, kadangi leidžia suprasti, kad bankui BTC trukdo kaip visuma („narkotikų irštva!!!“), o ne vieno žmogaus netinkami atsakymai į standartinę procedūrą.
  22. Patinka
    Silke gavo reakciją nuo GiGalo Dėl virtualios valiutos bitkoino susikibo „Swedbank“ ir verslininkas iš Lietuvos   
    Darkart – mano minėtos sąskaitos, išduodamos bet kam, be jokio tapatybės patvirtinimo, su kokiu tik nori vardu (ar atsitiktiniu). Ir gali medžioti, kur tik nori, tą "Mr. Chuck Norris" :)
     
    Dar reiktų pridėt, kad juoduosiuose marketuose eina ir dokumentai: pasai, tapatybės kortelės... Ne šiaip kokie – lietuviški! B-)
     
    Yra žinoma, ką savininkas atsakė (bent į paskutinį klausimą). Ir sutinku, kad tai nebuvo labai diplomatiška.
     
    Aišku, mano pointas vis tiek išlieka tas, kad jau patys klausimai nėra visiškai logiški nei BTC atveju, nei kai kuriais kitais.
  23. Patinka
    Silke gavo reakciją nuo GiGalo Dėl virtualios valiutos bitkoino susikibo „Swedbank“ ir verslininkas iš Lietuvos   
    Žinoma, galima klausimyną laikyti šventa karve, bet aš taip nenorėčiau. Nes:
     
    Atsakyčiau labai buitiškai: „ką siūlot?“. Neįmanoma. Nope. Niekaip. Negali net surinkti visų BTC sąskaitų tapatybių, o ką jau kalbėti apie tai, kad sukurti naują piniginę – mygtuko paspaudimo reikalas?
     
    Bet BTC bent teoriškai galiu (stebėti kiekvieno savo kliento piniginę iki gyvenimo galo). Galim grįžt prie to, kad su grynais ar banko pavedimu aš jau niekaip negalėsiu užtikrinti. Ką jau kalbėt apie mano minėtas ofšorines-neofšorines banko sąskaitas. Ar mano pusbrolis man pervedinėja kalėdų dovaną, ar pradedantysis nusikaltėlis iš manęs perka pistoletą? Nežinos to nei pats bankas, nors tai ir eitų per jų sistemas. Tai kokių antžmogiškų galių jie gali reikalaut iš paprasto kliento? :)
  24. Patinka
    Silke sureagavo į acidminde Dėl virtualios valiutos bitkoino susikibo „Swedbank“ ir verslininkas iš Lietuvos   
    Jau įgriso tie nusipezėjimai, kad Bitcoin valiuta yra anoniminė - ji nėra tokia! Ji pseudonomininė, tik pas mus purvasklaida ir visokie Nerijai Mačiuliai užsisvaigę su dezinformavimu kaip reikalas (nors iš bankininko juk neįmanoma gauti teigiamos nuomonės apie Bitcoin, ir totaliam bukučiui turėtų būti akivaizdu kodėl).
    Kodėl ji ne anoniminė? Parodykit man kuo anoniminė sistema, kurios absoliučiai visų sąskaitų ir visų tranksakcijų išrašai VIEŠAI prieinami su visais likučiais, visais pinigų judėjimais? Kam reikėjo tas atkniso, kur nukeliavo baisingi kiekiai pinigų iš Black Sheep Marketplace, dabar tas žmogus turi gal trečdalį milijardo EUR, kurių negali niekur išgryninti.
    Tuo atžvilgiu pats bankas stipriai anonimiškesnis, nes viešai tokių duomenų nedalina.
  25. Patinka
    Silke gavo reakciją nuo GiGalo Dėl virtualios valiutos bitkoino susikibo „Swedbank“ ir verslininkas iš Lietuvos   
    Daug „narkoteroristplovimžudynių“ verksnių. Nepriimkit atsiskaitymų litais, nes už litus narkotikai perkami, sutariam?
×
×
  • Pasirinkite naujai kuriamo turinio tipą...