Pereiti prie turinio

Ispirit

Nariai
  • Pranešimai

    189
  • Užsiregistravo

  • Lankėsi

  • Atsiliepimai

    0%

Reputacijos išklotinė

  1. Patinka
    Ispirit gavo reakciją nuo tdk jquery vs ajax   
    Panasu, kad nelabai supranti skirtumo tarp jquery ir ajax. Jquery yra javascript biblioteka, o ajax yra technologija. Ajax galima atlikti tiek su paprastu Javascript tiek naudojant jQuery biblioteka, cia jau nuo taves priklauso, kuriuom nori naudotis. Zinoma, kadangi jQuery tikslas supaprastinti Javascript, tad ir Ajax callus atlikti yra paprastciau, nors veikimo principas yra 100% toks pat.
  2. Patinka
    Ispirit gavo reakciją nuo ReikiaPuslapio Apklausa: koks PHP frameworkas populiariausias Lietuvoje?   
    Duoda zmones, CMS naudojasi ir galvoja, kad framework.
  3. Patinka
    Ispirit sureagavo į Imago Pascal uždavinys   
    uztenka paprastos matematikos:

    penketu:= n div 5; trejetu:= (n mod 5) div 3; vienetu:= (n mod 5) mod 3;
     
  4. Patinka
    Ispirit gavo reakciją nuo ReikiaPuslapio PHP kalbos egzaminas - pasitikrinkite savo žinias   
    Labai jau paprasti klausimai, 30/30. Nors pripazinsiu, kad teko pasukti galva ties kai kuriais, kad prisimit kas grazinama, bet cia ne sudetingumo problema, o kada teke paskutini karta su tuom dirbti.
  5. Patinka
    Ispirit gavo reakciją nuo SeC Naujo elemento pridėjimas į PHP masyvą.   
    Nesu tikras, kaip tu bandai prideti elementa, bet duosiu visus pavyzdzius.
     
    1. Pridedame su masyvas[key] = value

    $arr = array( 'vardas' => 'Jonas', 'pavarde' => 'Jonaitis' ); $arr['naujas_elementas']=123456;
    foreach rezultatas bus:

    vardas|Jonas pavarde|Jonaitis naujas_elementas|123456
     
    2. Perduodame masyva i funkcija ir pridedame elementa

    $arr = array( 'vardas' => 'Jonas', 'pavarde' => 'Jonaitis' ); function bad_add($arr,$k,$v){ $arr[$k] = $v; // Kadangi PHP i funkcija elementai perduodami kaip copy, o ne reference, tad // $arr pakitimas matomas tik funkcijoje, jeigu noretume, kad jis butu matomas ir originaliame // masyve, reiktu sitoje funkcijoje: // return $arr; // ir kvieciant: // $arr = bad_add($arr,'naujas_elementas',123456); } bad_add($arr,'naujas_elementas',123456);
    foreach rezultatas bus:

    vardas|Jonas pavarde|Jonaitis
     
    3. Perduodame masyva kaip reference i funkcija ir pridedame elementa

    $arr = array( 'vardas' => 'Jonas', 'pavarde' => 'Jonaitis' ); function good_add(&$arr,$k,$v){ $arr[$k] = $v; // Pridedant '&' prie elemento nurodome, kad norime ne kaip copy, bet kaip reference } good_add($arr,'naujas_elementas',123456);
    foreach rezultatas bus:

    vardas|Jonas pavarde|Jonaitis naujas_elementas|123456
  6. Patinka
    Ispirit gavo reakciją nuo leoleva [PHP/SQL] Kaip padaryti row su dviem skirtingom užklausom?   
    Naudok UNION su LIMIT x OFFSET y del pagination:

    (SELECT `name`,`about` FROM lentele WHERE `vip`=1 LIMIT 1,10) UNION ALL (SELECT `name`,`about` FROM lentele LIMIT 5,15)
    Count del puslapiu skaiciaus:

    SELECT COUNT(*) FROM ( (SELECT `name`,`about` FROM lentele WHERE `vip`=1) UNION ALL (SELECT `name`,`about` FROM lentele) ) cnt;
    Papildomos informacijos:
    http://dev.mysql.com/doc/refman/5.0/en/union.html
     
    Paprastas PHP del pagination, gali buti klaidu, rasiau is galvos:

    $puslapis = 1;//tavo puslapis $limit = 3; $vip_count = get_vip_count();//grazina vip skaiciu, sakykim 5 $vip_offset = ($puslapis - 1) * $limit; $other_offset = ($puslapis * $limit <= $vip_count ? 0 : ($puslapis - ((int) ($vip_count / $limit)) - 1) * $limit - $vip_count % $limit); $other_offset = $other_offset < 0 ? 0 : $other_offset; $other_limit = ($puslapis * $limit <= $vip_count ? 0 : ($puslapis * $limit - $vip_count > $limit ? $limit : $limit - ($vip_count % $limit))); // Jei tik imanoma venkime UNION $query = $puslapis * $limit <= $vip_count + ($limit - ($vip_count % $limit)) ? "(SELECT `name`,`about` FROM lentele WHERE `vip`=1 LIMIT {$vip_offset},{$limit}) UNION ALL (SELECT `name`,`about` FROM lentele LIMIT {$other_offset},{$other_limit}) ;" : "SELECT `name`,`about` FROM lentele LIMIT {$other_offset},{$other_limit};";
     
    P.s. turejau siek tiek laisvo laika, tad:

    for($i=1;$i<6;$i++){ echo query($i)."</br>"; } function query($puslapis){ $limit = 3; $vip_count = 5;//grazina vip skaiciu, sakykim 5 $vip_offset = ($puslapis - 1) * $limit; $other_offset = ($puslapis * $limit <= $vip_count ? 0 : (($puslapis - ((int) ($vip_count / $limit)) - 1) * $limit - $vip_count % $limit)); $other_offset = $other_offset < 0 ? 0 : $other_offset; $other_limit = ($puslapis * $limit <= $vip_count ? 0 : ($puslapis * $limit - $vip_count > $limit ? $limit : $limit - ($vip_count % $limit))); $query = $puslapis * $limit <= $vip_count + ($limit - ($vip_count % $limit)) ? "(SELECT `name`,`about` FROM lentele WHERE `vip`=1 LIMIT {$vip_offset},{$limit}) UNION ALL (SELECT `name`,`about` FROM lentele LIMIT {$other_offset},{$other_limit}) ;" : "SELECT `name`,`about` FROM lentele LIMIT {$other_offset},{$other_limit};"; return $query; }
     
    Queries:

    (SELECT `name`,`about` FROM lentele WHERE `vip`=1 LIMIT 0,3) UNION ALL (SELECT `name`,`about` FROM lentele LIMIT 0,0) ; (SELECT `name`,`about` FROM lentele WHERE `vip`=1 LIMIT 3,3) UNION ALL (SELECT `name`,`about` FROM lentele LIMIT 0,1) ; SELECT `name`,`about` FROM lentele LIMIT 1,3; SELECT `name`,`about` FROM lentele LIMIT 4,3; SELECT `name`,`about` FROM lentele LIMIT 7,3;
     
    Rezultatai:

    1: vip1 vip2 vip3 2: vip4 vip5 vip1 3: nevip1 vip2 nevip2 4: vip3 nevip3 vip4 5: nevip4 vip5 nevip5
  7. Patinka
    Ispirit gavo reakciją nuo Silke Programavimo pradmenys.   
    Neziurint i tai kas mainstream, JAVA turi labai galingu DSL, kuriuos naudoja pacios didziausios kompanijos. Kitaip sakant, ismanant JAVA visad rasi darba + nebusi aprobotas viena nisa.
     
     
    Nepritars tau patys geriausi pasaulio universitetai, kur pagrindus duoda su tokiom kalbom kaip Python, Java, C# ir t.t. Problema su low-level kalbomis ta, kad jos turi per maza abstraction level pradedanciajam programuotojui. Juk statant nama nepradedi nuo ziniu, kurios paaiskintu kodel cementas stingsta, tu pirma suzinai kaip nama reik pastatyt (high level), o tik tada jeigu idomu pradedi duometis, kodel medziagos elgiasi vienaip, o ne kitaip (low level).
  8. Patinka
    Ispirit gavo reakciją nuo leoleva [PHP/SQL] Kodėl taip jautriai reguoja į mažąsias ir didžiąsias raides?   
    Perskaityk http://dev.mysql.com/doc/refman/5.0/en/case-sensitivity.html ,turetum suprast kame pas tave beda.
     
     
    Reikia, kad mysql query neekreiptu demesio i lower/upper, yra kvaila, kai bandoma sita problema apeiti per PHP su strtolower ir pan.
  9. Patinka
    Ispirit gavo reakciją nuo pakartoti PHPmyadmin mysql užklausos.   
    Tvarkingai problema parasyk ir tai ko nori, dabar viduryje pameciau.
  10. Patinka
    Ispirit gavo reakciją nuo Marw Sukūriau mažą skriptą, reiktų kuris galėtų patikrinti klaidas   
    Pora pastebejimu:

    pasikartojantis kodas - iskelk tokius dalykus kaip DB connection i objekta, nereikes perrasineti kodo;
    venk ranka rasyti SQL queries, geriau pasirasyk paprasta query construktoriu, kuris tvarkingai visus gaunamus duomenis escapintu ir pan, daug saugiau ir tvarkingiau;
    venk bereikalingai kurti kintamuosius
    $result = mysql_query($order); //order executes if($result){...} //pakeisciau i if(mysql_query($order)){...} //ypac tada, kai nezadi $result naudoti

    uzmesk aki i MVC, daug tvarkingiau viskas atrodys
    cia jau asmeninis principas, bet man niekad nepatiko, kai html su php maisomas kodas:
    echo "<tr style='".$style."'>"; echo "<td>".$row['id']."</td>"; echo "<td>".$row['date']."</td>"; // pakeisciau i <tr style='<?php echo $style; ?>'> <td><?php echo $row['id']; ?></td> <td><?php echo $row['date']; ?></td>


  11. Patinka
    Ispirit sureagavo į Deviltry Uzduotys is informatiku olipiados ir siaip pamastymai   
    So wrong.
     
    Saugumas tau - trečioje vietoje? Galėčiau čia ir nustoti. Tikiuosi su tokiu požiūriu žmonės nedirba kokiam SEB'e. Praradai metų santaupas? Heh, whatever, žiūrėk koks mūsų internetinis bankas funkcionalus - braižo grafikus and stuff. Sėdai į kalėjimą už fraudą, kurį realiai įvykdė kenkėjas? Heh, whatever, konkurentų internetiniai bankai užsikrauna per 150 ms, mūsų - per 20 ms. Totally ######ing worth it.
     
    Kodo kokybė - ketvirtoje vietoje? Beabejo, po 2 metų su tokiu prioritetu kiekvieną pakeitimą darant reikės knaisiotis po šiukšles, perrašyti daug ką, impact visai sistemai nerealus - puikus būdas tapti nebekonkurencingu ir naują versiją perrašyti iš naujo. Naujų programuotojų įvedimas? Kam rūpi, po metų daugmaž suvoks, kas per chujnia kodo bazė.
     
    Eiii, dėl duomenų struktūrų mes labai greitai veikiame ant vieno serverio ar net ant vieno branduolio. Šaunuoliai mes! Tikėkimės, neteks scalinti toliau elementaraus load balancerio, nes tuomet reikėtų perrašyti 100k eilučių, kadangi kam rūpi sistemos architektūra? Algoritmai, algoritmai, algoritmai. Eiiii, turim geras duomenų struktūras, apgailėtina dokumentacija šimtu procentu pritrauks daugybę trečiųjų šalių. Eiiii, šitas algoritmas toks super optimizuotas, kad be barzdoto senio Jono jo niekas nesugebės ateity papildyti (Jonui laikrodukas tiksi, o sistemą tai teks prižiūrėti, kuomet Jonas susitiks su Šv. Petru), BET KAM ###### RŪPI - mūsų sistema dėl šito unmaintanable (nei dokumentacijos, nei kodo readability) rezultatus in big picture grąžina ne po 50 ms, o po 49,95 ms. Totally ######ing worth it. Išradinėti ratą, jį pertestuoti - nėra nieko smagesnio gyvenime.
     
    Ir išvis - koks tamstelė susireikšminęs. Interceptini kokią užklausą, patikrini validumą - holy ###### koks aš algoritmuotojas proto bokštelis. Taip, tikrąja to žodžio prasme tai yra algoritmas. Kaip ir kvėpavimas labai sudėtingas reikalas - kiek dachuja raumenų veikia, dar smegenų siunčiami signalai. Bet come on, proto bokšteli, nei kvėpavimas sudėtingas, nei dauguma rašomo kodo yra algoritmai. It's ######ing natural. Algoritmų galvojimas - kuomet visa įmonė sėdi ant vienos specifinės užduoties ir tobuliną kelis algoritmus. Paprasčiausias pavyzdys - transporto įmonė sumoka 85k eurų už kelio planavimo algoritmą, kur gauta algoritmo bibliotekėlė mažutė, o tuomet parašo nesveikai daug kodo web api servisams, planšetinei programai, backend servisams, integracijoms su apskaita ir t.t. Tai tipo planšetinės programulkos patikrinimas, ar turi internetą ir jei turi - nusiunčia kelionės ir užsakymų duomenus, jau yra algoritmas? Ne, yra vienas algoritmas - kelio planavimo ir aplink jį pastatyta milžiniška infrastruktūra. Ir tie faini pfafėsoviai su savo tikrai labai geru algoritmu nesugebėtų suprojektuoti tokios sistemos. Akademikai parašė algoritmą, programuotojai užsiėmė programavimu. And that's what software developing is about.
     
    Jėj IBM'ui svarbiausia algoritmai ir achujieniškiausios duomenų struktūros. Požiūris 1980 metų, kuomet pasaulyje buvo 20k IBM kompiuterių, o dabar milijonų milijonai kompiuterių, tačiau IBM'o vis dar 20k.
     
    Laukiu nesulaukiu nišinio atsakymo, kuomet duomenų struktūros ir algoritmai labai svarbūs Maximos automatinių durų resources restrained mikrokontroleriams. Nes nišiniai pavyzdžiai generalizuojant - puikus diskusijos varikliukas.
     
    Ir šiaip - kalbi kaip koks neapsiplunksnavęs studentas, kurį universitetas temoko rašyti programas su duomenų struktūromis ir algoritmais, o apie palaikymą, taisymą, plėtimą, testavimą visiškai nieko. Pasaulis taip nevažiuoja. Dėstytojai žiauriai žiauriai žiauuuuriai atitrūkę nuo realybės. Tu jų neklausyk taip, antraip gausi kultūrinį šoką atėjęs į pirmą darbą.
  12. Patinka
    Ispirit gavo reakciją nuo weduokle Startupo Sharecruit.lt Landing page Testavimas   
    Naujoji versija labiau patinka
  13. Patinka
    Ispirit gavo reakciją nuo mdainius PHP custom forumo klausimėlis   
    Hmm, kas kaip cia sudetingai su tais trinimais :/
     
    Buciau pasinaudojes one-to-many struktura, kur vienas vartotojas gali tureti daug perskaitytu postu: user_id, post_id, read (datetime).
     
    Uzejus i forumo skilti (turetum sarasa su visais matomu postu ids) uztektu patikrinti ar post_id egzistuoja lenteleje (jeigu protingai atliekama, tai turetu buti O(n) = n):
    a)egzistuoja - patikrinti kada buvo paskutini karta atnaujintas post ir jeigu 'read' yra senesnis - rodyti, kad yra nauju atsakymu;
    b)neegzistuoja - rodyti kaip nauja post.
     
    Vartotojui uzejus i tema, uztektu patikrinti ar post_id egzistuoja:
    a)neegzistuoja - sukurti nauja irasa;
    b)egzistuoja - atnaujinti read.
     
    P.s. kas liecia tavo klausima, tai siulyciau viska rodyti kaip NEW, cia butu susije su marketing puse, nes uzejus i foruma, kuriame atrodo, kad yra nauju postu, susidaro ispudis, kad jis aktyvus.
  14. Patinka
    Ispirit gavo reakciją nuo mdainius PHP custom forumo klausimėlis   
    Galima butu read/unread padaryti su cookies, taciau iskiltu problema su persistency. Kad nebutu jokiu problemu, pats paprastciausias budas yra saugoti vartotojo meta-data duomenu bazeje. Siam konkreciam atvejui uztektu tureti read_ids laukeli, kuriame butu saugojama visi ids postu kurie read. Kad sutaupyti DB calls butu galima cachinti tuos ids session arba cookie (abu turi privaumu/trukumu) ir atnaujinti DB+cache tik kai vartotojas perskaito posta.
     
    P.s. jeigu noretum padaryti, kad rodytu jog buvo nauju atsakymu, tada logika ta pati, tik reketu papildomo check, bet cia jau nuo tavo forumo strukturos priklausytu.
  15. Patinka
    Ispirit gavo reakciją nuo ModestasV PHP MYSQL teksto puslapiavimas   
    Daviau beveik veikianti koda, jeigu neiseina jo prisitaikyt sau, vadinasi laikas skirti laiko pasomokyt programavimo, nes tavo problemai isspresti reikia apie 20min (jeigu darant, kad graziai atrodytu su substr)
  16. Patinka
    Ispirit gavo reakciją nuo ModestasV PHP MYSQL teksto puslapiavimas   
    Daviau beveik veikianti koda, jeigu neiseina jo prisitaikyt sau, vadinasi laikas skirti laiko pasomokyt programavimo, nes tavo problemai isspresti reikia apie 20min (jeigu darant, kad graziai atrodytu su substr)
  17. Patinka
    Ispirit gavo reakciją nuo ModestasV PHP MYSQL teksto puslapiavimas   
    Daviau beveik veikianti koda, jeigu neiseina jo prisitaikyt sau, vadinasi laikas skirti laiko pasomokyt programavimo, nes tavo problemai isspresti reikia apie 20min (jeigu darant, kad graziai atrodytu su substr)
  18. Patinka
    Ispirit gavo reakciją nuo Ere5 Advanced PHP OOP knygos   
    http://www.apress.com/9781430260318 Puiki knyga
  19. Patinka
    Ispirit gavo reakciją nuo Ere5 Advanced PHP OOP knygos   
    http://www.apress.com/9781430260318 Puiki knyga
  20. Patinka
    Ispirit gavo reakciją nuo M16 Padėkit su c++ uzdavinu   
    Algoritmo logika gera, taciau O(n)=1,6^n, reiktu idet rezultatu saugojima, kad padaryt O(n)=n:

    $mem = array(); function f($n) { global $mem; if ($n==1) return 1; if ($n==2) return -2; return $mem[$n] = (isset($mem[$n-1])?$mem[$n-1]:f($n-1)) + (isset($mem[$n-2])?$mem[$n-2]:f($n-2)); }
  21. Patinka
    Ispirit sureagavo į Imago Padėkit su c++ uzdavinu   
    Na, su c++ nemoku, bet cia paprasta rekursija

    function f(int n) { if (n==1) return 1; if (n==2) return -2; return f(n-1)+f(n-2); } f(4);
     
  22. Patinka
    Ispirit gavo reakciją nuo Aliarth Java FileReader neranda file'o   
    Viskas labai paprasta - FileReader() klases konstruktorius yra nurodes, kad " throws FileNotFoundException", vadinasi, jeigu naudoji FileReader tu privalai bandyti pagauti ta klaida su try/catch arba nurodyti, kad metodas gali mesti si error pridedant siuo atveju "public static void main(String args[]) throws FileNotFoundException".
     
    Priesingai nei kai kurios kitos programavimo kalbos, java yra itin griezta, kai kalbame apie tokius dalykus kaip errors.
  23. Patinka
    Ispirit gavo reakciją nuo pakartoti ciklas atspausdina tik viena reiksme   
    Net nezinau nuo ko pradeti... bent supratima kaip HTML ir Javascript veikia reiktu turet, nes dabar bandai nei si nei ta padaryti.
  24. Patinka
    Ispirit gavo reakciją nuo dromey PHP saugumas, svetainiu pažeidžiamumas   
    Kadangi file injection apsauga, nera ta sritis, apie kuria galeciau sakyti, kad gerai nusimanau, galiu duoti tik tips, be tikru pavyzdziu:

    Naudok scaneri incoming failams, kuris sugebetu aptikti ar tas failas tikrai yra tas kas sakosi yra. Sie scaneriai pagrinde naudojami tam, kad sakykim .exe failas, kuris padarytas kad atrodytu kaip .jpg nebutu ileistas i tavo serveri.
    Pro scaneri praleistus failus regeneruok (pvz.: pakeisk dydi->ji vel atstatyk), tai apsaugos vartotojus kurie nores ta paveiksliuka parsisiusti i kompiuteri, nes viduje esantis injection bus sugadintas.

     
    Sitai apsaugos tavo sistema nuo 99,9% visu file injections, o tas likes 0,1% tau nelabai aktualus, nes duodu garantija, kad nebent tavo svetaineje esanti informacija labai vertinga, niekas negais laiko kuriant ta 0,1% faila =] (nelabai daug zmoniu moka tai daryti aplamai ir tai uzima daug laiko)
  25. Patinka
    Ispirit gavo reakciją nuo sensejus Reikia programuotoju konsultacijos   
    Jeigu darbas tvarkingoje imoneje tai normalu, kad nenorima sakyti kur dirbama. As asmeniskai irgi niekada nesakau sitokiuose svetainese/forumuose kur dirbu, nes gali kadanors tai atsiliepti.
×
×
  • Pasirinkite naujai kuriamo turinio tipą...