Pereiti prie turinio

Klicko

Patvirtinti nariai
  • Pranešimai

    1.859
  • Užsiregistravo

  • Lankėsi

  • Laimėta dienų

    2
  • Atsiliepimai

    100%

Reputacijos išklotinė

  1. Patinka
    Klicko gavo reakciją nuo k163 Kodo gražintojas   
    omg omg omg dar nemaciau, kad taip kas darytu, imtu koda is IDE kistu i beautifer ir mestu atgal :D adekvatus zmones iskarto raso normalu koda :D
  2. Patinka
    Klicko gavo reakciją nuo ReikiaPuslapio Apklausa: Kiek Lietuvoje uždirba PHP programuotojai?   
    Iseinu is IT varau dirbti ekstrasensu ...
  3. Patinka
    Klicko sureagavo į flyeris Krentančių domenų paieška programiškai   
    Džiugu, kad prisidedi prie bendruomenės, bet tokie kodo pavyzdžiai tikrai nėra skatintinas dalykas. Galiu patikinti, kad mano domenų duomenų bazė tikrai nėra surinkta "brute force" metodu tiesiog bandant visas kombinacijas. Jei tai pradės daryti visi ir masiškai - netrukusu galimybės tikrinti domenų statusą neliks išvis dėl perteklinio srauto generavimo į KTU serverį ;) Toks tikrinimas tolygu DDOS...
     
    Sėkmės
  4. Patinka
    Klicko gavo reakciją nuo Impaler Apklausa: Kiek Lietuvoje uždirba PHP programuotojai?   
    Vienas 1300eu kitas 700eu su tom paciom zinio, nes nemoka saves parduot. Taip ir gyvena IT'shnikai nekomunikabilus life is life, jeigu pats neprasysi daugiau retai kas tau daugiau mokes.
  5. Patinka
    Klicko gavo reakciją nuo Impaler Apklausa: Kiek Lietuvoje uždirba PHP programuotojai?   
    Vienas 1300eu kitas 700eu su tom paciom zinio, nes nemoka saves parduot. Taip ir gyvena IT'shnikai nekomunikabilus life is life, jeigu pats neprasysi daugiau retai kas tau daugiau mokes.
  6. Patinka
    Klicko sureagavo į ReikiaPuslapio Apklausa: Kiek Lietuvoje uždirba PHP programuotojai?   
    Sveiki,
    Atsakykite į anoniminę apklausą. Analogišką dariau 2015 m. sausį, bus labai įdomu palyginti rezultatus, kas pasikeitė per metus ir po euro įvedimo. Ir persiųskite pažįstamiems kas gali atsakyti, kad būtų kuo daugiau respondentų ir galima būtų statistines išvadas daryti.
     
    http://apklausa.lt/f/kiek-lietuvoje-uzdirba-php-programuotojai-2016-m-vasaris-qc6e7rp/answers/new.fullpage
     
    Po rezultatų suvedimo jaučiu kokį pirmadienį postą atnaujinsiu su rezultatais.
  7. Patinka
    Klicko sureagavo į HOST321 WP svetaine uzkresta virusais. Reikia pagalbos   
    Man tai tokie juokintojai kaip pats juokina. Pirmiausia - kuo daugiau pluginu - tuo daugiau tikimybe visom skylem:) Pasikliauti pluginais tai tas pats, kas ziema iseiti i lauka su vienu batu ir galvoti kad abu apauti:)
  8. Patinka
    Klicko sureagavo į Darius SSL sertifikatas ant VPS'e laikomos svetainės   
    Parasyk AZ galiu susiintaliuoti profesionaliai SSL.
     
     
    Cia tavo 5min darbas? https://www.ssllabs.com/ssltest/analyze.html?d=clustspace.com
     
    Kai ismoksi suiinstaliuot ssl ir gauti A arba A+ tada siulykis zmonem.
  9. Patinka
    Klicko gavo reakciją nuo ReikiaPuslapio Mano paskaitos apie freelancinimą ir programavimą [VIDEO]   
    Tau tik taip atrodo, is tikro freelanceriai dirba prie dideliu projektu keliese ir gauna kaip imonei 5 zmoniu teamas :D
  10. Patinka
    Klicko gavo reakciją nuo Mazeika Konkursas: Wordpress svetainės kūrimas   
    Pagal etiketo taisykles reikia skelbti laimetoja viesai.
  11. Patinka
    Klicko gavo reakciją nuo Mazeika Konkursas: Wordpress svetainės kūrimas   
    Pagal etiketo taisykles reikia skelbti laimetoja viesai.
  12. Patinka
    Klicko gavo reakciją nuo SauliusVy Paprasta programa kompiuterio valymui   
    CCleaner
  13. Patinka
    Klicko gavo reakciją nuo SauliusVy Paprasta programa kompiuterio valymui   
    CCleaner
  14. Patinka
    Klicko gavo reakciją nuo SauliusVy Paprasta programa kompiuterio valymui   
    CCleaner
  15. Patinka
    Klicko gavo reakciją nuo SauliusVy Paprasta programa kompiuterio valymui   
    CCleaner
  16. Patinka
    Klicko sureagavo į fad Google pagaliau oficialiai išleido SEO gidą   
    Puiki žinia, Google pagaliau viešai išleido SEO gidą instrukcijas tinklapių vertintojams, kuriose išsamiau paaiškina pagal kokius kriterijus reitinguojamos svetaines. Išleista 2015 metų pilna versija (net 160 psl.), planuojama ją nuolat atnaujinti, todėl tikriausiai visada bus viešai prieeinama aktuali info.
     
    Nuoroda į straipsnį
     
    Nuoroda į PDF failą
  17. Patinka
    Klicko gavo reakciją nuo Auksinis Freelance'inimas užsienyje   
    Manau vienas is padoriausiu atveju rasti per oDesk'a koki zmogeli ar imone, pas kuri yra pastoviai part time darbo ir su juo dirbti. Nes zvejuoti atskirus valandinius darbus per daug laiko suryja ....
  18. Patinka
    Klicko sureagavo į Povilasarl Patirtis dirbant pusę metų programuotojų (web developerių) įmonėje   
    Dirbau ir aš prieš tai įmonėj panašioj į NFQ patiko irgi atrodė, kad viskas smagu įdomu dirbt ir pan. Išdirbau beveik metus ir gavau pasiūlymą kitur. Dabar, kai žiūriu į aną įmonę atrodo vienintelis pliusas nemokama kava virtuvėj. Nors manau visose įmonėse tas pats šiandien yra. Dirbu dabar tarptautinėj kompanijoj. Kodo lygis nepalyginamas su tuo ką mačiau anksčiau. Aišku visur yra to pacrapinimo, bet čia jo daug mažiau, ir tas pats laikui einant bus perrašyta. Visiškai kitaip žiūrima į darbuotoją, nėra jokių pliusiukų minusiukų kaip kažkuris narys sakė. Pats nusistatai savo "estimate" užduotim, jei nespėji niekas neverčia jaustis nevykeliu ir pan. Ilguoju laikotarpiu kiti pamato kiek padarai ir nuo to tavo alga kyla. :) Komanda pasiskirsčiusi visam pasaulį, tai ir per scrumus dar ir savo anglų kalbos žinias kaip reikiant pakeli. Dabar dirbu komandoje, kurioj esu vienas lietuvis, tai visa komunikacija anglų kalba.
     
    Pagrindinė bėda, kad daugumoj lietuviškų įmonių dirba studentai arba katik baigę studijas ir iš komandos tik vienas kitas developeris turi 10m+ patirties. Todėl kodo lygis apgailėtinas. Bet tikiuos, kad su laiku situacija keisis. :) Taip, kad šaunuolis, bet neužsistovėk vietoj, o žvalgytis yra dar daug kur, įgausi patirties, tada pamatysi dar vieną naują lygį.
  19. Patinka
    Klicko sureagavo į HOST321 Technical error: mysql database connection failed:   
    Neklaidink žmonių, per DA perkėlinėjant problemų kyla dažnai. Ypač tada, kaip yra skirtingi vartotojai.
  20. Patinka
    Klicko gavo reakciją nuo Skuduras Karjera PHP ar JAVA?   
    kad facebook php tai jau pasenusi info :)
  21. Patinka
    Klicko gavo reakciją nuo SAULIUS888 „Google“ įvardino populiariausius šįmet lietuvių internete ieškotus žodžius   
    Š o ne straipsnis, galėtų lentelę pateikti ir būtų rami galva, o dabar rakiokis per visa pievą :angry:
  22. Patinka
    Klicko gavo reakciją nuo GPC Kategorijų su subkategorijomis principas, duomenų bazė   
    Struktura:
     

    id name parent
     
    jeigu kateogrija gali priklausyti keliom kateogrijom/subkategorim tai surisima reikia perkelt i atskira table.
     

    id cat_id parent_id
  23. Patinka
    Klicko sureagavo į Ainas Uzdarbis.lt | Patobulinimas   
    Manau reikia pridėti prie šio forumo ajax, kad automatiškai atnaujintu naujas temas ir komentarus, nes kartais net refresh'inant (perkraunant) puslapį jau būna parašytas panašus komentaras, na ir žinoma dėl patogumo, matant naujas temas. Ką manot apie įdėja?
    Na nebent nepatems serveris dėl resursų :)
  24. Patinka
    Klicko sureagavo į klientas Žaisdamas runescape lietuvis uždirba daugiau nei 3000-5000 € / mėn   
    buvau cia nesenai Vilniuje del darbo, pokalbyje. Siule darba, parduoti runescape gold, USA,EU rinkai :)) tipo kaip supportas, ir pirkimo/pardavimo vadybininkas :) sake apie 6-8 darbuotojus turi :))) va tokius darbus galima rasti CVbankas.lt puslapyje :))))
  25. Patinka
    Klicko sureagavo į alter Sukūriau mažą skriptą, reiktų kuris galėtų patikrinti klaidas   
    TL;DR: Pažaidžiau su index puslapiu, panaudojau Silex mikro-karkasą, Twig šablonus, Doctrine DBAL (DB abstrakciją).
     
    Repositorija - https://github.com/apsimetu/tex (pakeistas tik index.php failas)
    Silex šaka - https://github.com/apsimetu/tex/tree/silex/tex (Silex, Twig, Doctrine)
     
    Kad būtų aiškesnė veiksmų eiga, galima eiti per kiekvieną kodo pakeitimą - https://github.com/apsimetu/tex/commits/silex
     
     
    Pirmas pastebėjimas, kad SQL faile https://github.com/apsimetu/tex/blob/4aa5618f7e12ca2d89a3b9cc004811d93069ede0/nimbo_tex.sql#L22 ir https://github.com/apsimetu/tex/blob/4aa5618f7e12ca2d89a3b9cc004811d93069ede0/nimbo_tex.sql#L43 vietoj latin1 turėtų būti UTF8 kitaip projektas turės problemų ateityje su koduotėmis.
     
     
    Viena svarbiausių problemų projekte yra kodo ir atvaizdavimo maišymas kartu. Pradėjau iškeldamas dalį PHP kodo į failo viršų - https://github.com/apsimetu/tex/blob/a06054e01d8a198843c9bed5f72e88328037d8c2/tex/index.php
     
    Čia autorius matyt per klaidą paliko fetch_array - https://github.com/apsimetu/tex/commit/6ad798da914de5bc8df5ea1582d01796ae28c64f
     
    Čia berods dar viena autoriaus klaida. Manau bandyta vietoj datos su laiku rodyti tik datą, bet gavosi taip, kad visi įrašai rodo šiandienos datą - https://github.com/apsimetu/tex/commit/364b24ae418233d03bf843c0feb261cfafd91604
     
    Jau iškelta pagrindinė puslapio lentelė, tačiau šablone dar likę šiek tiek logikos kurią reikėtų ištraukti - https://github.com/apsimetu/tex/blob/f4482605ef57520c249a562b731382d11239ad9a/tex/index.php
     
    Apvalom šabloną ištraukdami stilaus logiką į atskirą funkciją - https://github.com/apsimetu/tex/commit/b72d5921f10b2c6276c8be19b6aef7a6b8e8c620
     
    Ištraukiam Facebook kodą į atskirą funkciją, kad dar šiek tiek apvalyti šabloną - https://github.com/apsimetu/tex/commit/d2787a5890bf98ef107568deb52ffa62ea6e6d40
     
    Ištraukiamas paskutinis didesnis PHP logikos kodas naudojamas puslapiavimui. Dabar jau PHP kodas atskirtas nuo HTML, puslapis atrodo švaresnis - https://github.com/apsimetu/tex/blob/73169452b1f3b562571e07fd77e78566f47e4fce/tex/index.php
     
    Nedidelė optimizacija - https://github.com/apsimetu/tex/commit/41fb46ba934254712a429a4e92d595e4ec88457b
     
     
    Dabar jau būtų galima pradėti galvoti apie PHP kodo atskirimą į atskirą failą, duomenų bazės funkcijų atskyrimą, šablonų sistemos naudojimą. Dviračio išradinėti nereikia, visa tai padeda atlikti karkasai (framework'ai). Šiam pavyzdžiui nenorėjau naudoti pilno karkaso, tokio kaip Symfony, Laravel ar Yii, tad buvo puiki proga man pačiam susipažinti su vienu iš mikro-karkasų - Silex. Twig šablonus taip pat naudoju pirmą kartą (geriau vėliau negu niekada) :)
     
    Silex karkasas
     
    Susiinstaliuojam Silex naudodami Composer - https://github.com/apsimetu/tex/commit/44725ee87246d287fb3f67b61203cfd508ece5e8
     
    Susiinstaliuojam Twig šablonus naudodami Composer ir bandom index failo šablona naudodami tik statinę informaciją (tiesiog HTML be PHP) - https://github.com/apsimetu/tex/commit/b329b6c9e20bc9f412bff8affca2835e8a3b6a64
     
    Iš seno index failo perkeliam DB prisijungimą ir funkciją kuri generuoja statistikos rezultatus. Šiuos rezultatus paduodam į šabloną ir pačiam šablone naudojam Twig ciklo funkciją atvaizdavimui.
     
    Kaip ir su statistika, tuo pačiu būdu įkeliam puslapiavimą - https://github.com/apsimetu/tex/commit/bf07363ce143e416cc075346040a3c0deae528ca
     
    Toliau eina pagrindinė lentelė, bet kol kas praleidžiam stulpelius, kur reikia šiek tiek logikos - https://github.com/apsimetu/tex/commit/4f23cfbd500f4df9885b3b11bba81022af57ba3d
     
    Twig leidžia gan elegantiškai formatuoti datą - https://github.com/apsimetu/tex/commit/56efb6cc6b60c1e0b28824d0f661a4cc6fbdec6a
     
    Lentelės eilučių spalvai nustatyti galim naudoti CSS klases. Pasirodo lietuviškos raidės klasių pavadinimam tinka :) - https://github.com/apsimetu/tex/commit/0dc8a42b884043dfd4dc5923fc3b1f8680d8a857
     
    Su Facebook stulpelio logika šiek tiek sudėtingiau, reikia susikurti Twig pagalbinę funkciją - https://github.com/apsimetu/tex/commit/6db40016dd30f57597c4df32ad0731b2f06c88fe
     
    Viskas veikia, bet procedūrinės mysqli funkcijos atrodo ne savo vietoj :) Kad jau naudojam karkasą, galim pasinaudoti ir karkaso suteikiama duomenų bazės abstrakcija. Silex naudoja Doctrine DBAL (be ORM). Instaliuojam naudodami Composer https://github.com/apsimetu/tex/commit/ec3b9fa70e7bf782216d7bb70ac9299baf9bd44e
     
    Bandom konvertuoti pirmą mysqli funkciją į Doctrine. Atrodo viskas veikia - https://github.com/apsimetu/tex/commit/ce4ef5815e2242d3dd04f770c1b892841e814895
     
    Žinoma query() metodas neduoda jokių pranašumų prieš mysqli funkciją ir jo naudoti nepatartina, tad keičiam į fetchAll() metodą ir tuo pačiu nebereikia kurti masyvo laikyti rezultatams - https://github.com/apsimetu/tex/commit/e3f61c45c582151176cf52b3240e1391650e29d4
     
    Toliau konvertuojam puslapiavimo užklausą - https://github.com/apsimetu/tex/commit/ea3ffc3acdf52b7d46c5c106939e065cb81c47cd
     
    Toliau imam lentelės rezultatus. Čia pasinaudojam parametrų atskirimu nuo pačios SQL užklausos. Lipdyti SQL užklausą maišant tekstą ir kintamuosius yra bloga praktika - https://github.com/apsimetu/tex/commit/a32b956ae8d42cd7f36b5d27127c465cc3789517
     
    Dabar visos mysqli funkcijos jau pakeistos, todėl galim panaikinti mysqli prisijungimą prie DB - https://github.com/apsimetu/tex/commit/746088795dd7acfe3a983d927352c10db4ea5bbf
     
    HTTP užlausos parametrams skaityti, vietoj _GET masyvo galim naudotis patogesniu Request objektu - https://github.com/apsimetu/tex/commit/870de1a29f76d2be0048989046d5c044c3b6107b
     
    Dabar silex.php failas atrodo jau neblogai, bet gan didelę dalį jame užima Twig pagalbinės funkcijos kodas. Jam kontroleryje ne vieta, tad sukuriam atskirą klasę TwigExtensions, kur laikysim visas pagalbines Twig funkcijas reikalingas šiam projektui - https://github.com/apsimetu/tex/commit/2e58a8e97ae65fd2d01cbdf9a24cc54a18b1ce6b
     
    Daug geriau, bet nesinori kiekvieną kartą sukūrus naują klasę naudoti require_once failo viršuje. Mes naudojam Composer, tad galim pasinaudoti autoload funkcionalumu - https://github.com/apsimetu/tex/commit/5a90cded278fbce836ca75056f2bcb370da85567
     
    Užklausos į duomenų bazę kontroleryje yra bloga praktika, tad iškeliam jas į repositoriją - https://github.com/apsimetu/tex/commit/25b9774c22e0b9ad5124461dd95b3ef6cb24ef9c
     
    Na ir skaitomumo dėlei galim iškelti visą su aplikacijos inicijavimu susijusį kodą į atskirą failą - https://github.com/apsimetu/tex/commit/4aa5618f7e12ca2d89a3b9cc004811d93069ede0
     
     
    Šiuo metu orginalaus index.php failo atitikmuo atrodytu taip:

    <?php require_once __DIR__.'/../vendor/autoload.php'; require_once __DIR__.'/bootstrap.php'; use Symfony\Component\HttpFoundation\Request; $app->get('/', function (Request $request) use ($app) { $headerStats = $app['repository']->getHeaderStats(); $numberOfPages = $app['repository']->getNumberOfPages(); $page = $request->get('page', 1); $start_from = ($page-1) * 5; $bets = $app['repository']->getPaginatedBets($start_from, 5); return $app['twig']->render('index.twig', [ 'headerStats' => $headerStats, 'numberOfPages' => $numberOfPages, 'bets' => $bets, ]); }); $app->run();
     
    Tai tiek šiam kartui. Komentarai? Pull requests welcome :)
×
×
  • Pasirinkite naujai kuriamo turinio tipą...