Greisis
-
Pranešimai
223 -
Užsiregistravo
-
Lankėsi
-
Atsiliepimai
0%
Turinio tipas
Forumas
Kalendorius
Parduotuvė
Akademija
Skelbimai
Greisis Pranešimai
-
-
Parodyk ne ad hoc query kokį nors, kad būtų keletas join'ų, sub query'ių, dar ko nors, tai bus aiškiau, kas skaitosi, o kas ne :/
Žinoma. Viskas gerai persiskaito, bet kiti mėgsta daryti išvadas iš anksto.
http://image.prntscr.com/image/a965a49205f94041a0662090d108cd09.png
Jeigu neryški nuotrauka, tai tiesioginė nuoroda čia:
Iš seno skripto suradau.
-
Sveiki,
Ar lankėte kas Vilnius Coding School organizuojamus programavimo kursus Vilniuje arba kitame mieste? Kokie atsiliepimai? Arba gal kas lankėte kitus kursus ir galite rekomenduoti?
Rekomenduoju mokytis pačiam, o ne eiti į kursus. Šia tema jau buvo diskutuota, Jums tik naujas temas kurti. Reikėtų truputį pasižvalgyti po forumą.
-
Panašu, kad tai, ką nori atlikti, vadinasi Captive Portal. Padaryti įmanoma, bet informacijos nėra daug. Panašu, kad reikia nusi'root'inti prietaisą ir po to pažaisti su Android'o Linux'iniais viduriais.
Tavo pateikta aplikacija veikia ne ant visų įrenginių. O „Root” yra tik tiems, kurie išmano kaip elgtis. Tai gan pavojingas dalykas. + „Android” sistemos kodo geriau nekeisti, nes gali labai lengvai paversti įrenginį į „plytą”, kartais ir nepataisomai („Flash Stock ROM” nepadėtų). =]
-
Nereikia matyti darbų, man tiesiog užtenka matyti pasipūtimą ir aišku kad nesi dirbęs komandoje ar prie didesnio projekto kur reikia bendrauti su kolegomis ir/ar daręs code review.
Ir taipogi nieko asmeniško, pats kadaise dariau lygiai tą patį. Bet sakydamas nieko asmeniško sugebėjai prisikabinti prie parašo. Žinau kad gražus, ačiū. Apie 2012 metais firma sumanė kad bus lengviau gauti PCI sertifikaciją jei galės pasakyti kad pagrindiniai developeriai turi Zend ir Oracle sertifikatus, na ir teko laikyti.
Jau kurį laiką dirbu prie savo gan rimto projekto, jau kažkur apie 3 metus. Projektas bus automatizuotas. Nepažįsti manęs ir darai tokias išvadas, o vėliau automatiškai suklysti. ^_^ Negalima spręsti iš žmogaus charakterio jo sugebėjimus, kadangi sprendimas bus neteisingas.
Galbūt ir galėčiau dirbti komandoje, bet... daug kas neatitinka mano reikalavimų. Ir taip, nelabai galima pasitikėti žmonėmis šiais laikais, žinai, yra daug „lamų”. ;)
Jam tik +- 16m. Tad tavo pasakytas "junior" puikiai jam tinka. Ir net nėra ką šnekėti apie darbą komandoje, bendravimą etc. O ir neprašovei su arogancija ir pasipūtimu, dar pridėčiau narcisizmą, paskaičius jo žinutes kitose temose. :)
Ačiū, bet lyg nuomonės neprašiau. + Prieš rašant kritiką, prašome pateikti argumentus, kitu atveju - ji neturi jokios reikšmės.
O pabaigai: „Amžius tėra tik skaičius, kuris neparodo nei žmogaus proto, nei jo požiūrio į gyvenimą.”
-
Patikrink su daug įrašų, tada kažką sakyk kad nepagal paskirtį ;D
Pasidomėjau apie tai, taip, mysqli_num_rows tikrai lėtesnis, kai duomenų bazėje labai daug įrašų. Mhm, keista, net nežinojau. Buvau naudojęs COUNT funkciją tik su MySQL, bet kai perėjau į objektinį MySQLi, tai kažkaip ją užmiršau. Visada kažką naujo išmokstame. ;)
-
list($rezultatas) = mysql_fetch_row(mysql_query("SELECT count(id) FROM table "));
Ant galo naudoji arba TRUE/FALSE if ($rezultatas) else ..
Ne, taip negalima. Naudoji funkcijas ne pagal paskirtį.
-
,,Q: Jeigu žmogaus kodas buvo pateiktas MYSQL, kodėl čia kišat tuos PDO, MySQLi? :D" - o kur tu matai MySQL?
Aš matau objektinį MySQLi.
http://image.prntscr.com/image/0d817dcc8fe04a0cba6a0aa5e75cb265.png
Negabus.
-
Jei num_rows reikia tai ant mysql geriau, fetch_row -> count(id) atrodo bus geriausias variantas ir greičiausias B-)
Nesutikčiau. ;) Jeigu rezultatų nėra, tai iškarto bus klaida, todėl prieš while reikia patikrinti ar yra rezultatų, t. y. daugiau už nulį.
Be to, mysqli_num_rows nereikia ciklo. :)
-
Ką turi omenyje, rašydamas naujas Ramūnas? Kalbos tiklsumas.
... Aš tau žodį, o tu man dvidešimt. Mano pataisymuose buvo minimalus optimizavimas, nieko čia ypatingo. Parašiau tai, ką visi turėtų žinoti, o tu kaip iškritęs iš medžio, kartoji visiškai nesusijusius straipsnius.
Eik pasiskaityti programavimo dokumentacijos, nes kaip matau, tavo žinios yra pasenusios.
Kaip gerai, kad yra tokių kurie žino kaip dar geriau padaryt ^_^
Visada vietoj *, galima pakeist į id, ir bus optimaliau :ph34r:
Sutinku. Čia labai patogu su funkcija mysqli_num_rows.
-
Greisis šaunu kad bandai padėti žmonėms bet pats esi dar junioras ir patarčiau nesisvaidyti apibendrinimais "siauras mąstymas", "griežtai draudžiama", "tinginiai", "nesiginčyk su manimi, nes nelaimėsi". Labai neprofesionalu ir arogantiška - just tone it down a bit.
Nesi matęs mano darbų, tad nedrįsčiau vadinti Junior. =] O tas ekrano užfiksavimas buvo tiesiog pavyzdys, nieko asmeniško.
Be to, gražus parašas.
Asmeniškai negaisčiau tokiems dalykams, kadangi žinių neparodo. :rolleyes:
http://image.prntscr.com/image/dcb0eced82394e9f990ec3413717ecaf.png
-
Aš ir sugebėjau rasti tik viena forumą kur toks klausimas užduotas :D
Tai nepavyks žinok, vien dėl saugumo niekas nedarytų.
-
Gal tada yra galimybė kaip kitaip su apps'ų priversti tai daryt?
Nežinau, buvau bandęs ieškoti, bet neradau nieko.
-
Gal žinote kaip naudojant Android hotspot'a nustatyti default home page? Kad tiem kurie pasijungia iškarto naršyklėje atidarytu nustatytą mano www puslapį :)?
Android neturi tokios funkcijos, nebent aukštesnė nei Android 7, bet nesidomėjau šios versijos funkcijomis.
-
Tai kad bergždžias reikalas su tavim ginčytis, kai tau vien galvoj optimizacija. Žmogus matyt daro kokį laboratorinį darbą, o tu apie Facebook'us kalbi.
Žmonės pirma paprofiliuoja kodą ir tik tada nusprendžia, ar vertą kažką optimizuoti. O tu nusprendei net nežinodamas kas per projektas…
Su SELECT * dar bent jau normalus patarimas, nes vis dėl to nekokia praktika. Bet su tuo kintamuoju tai… Ką tas kintamasis sutaupys, 1 ns? Kiek iš viso laiko bus sutaupyta per tuos 53 paleidimus, kurių prireiks, kad žmogus pabaigtų rašyti kodą ir atsisakytų laboratorinį darbą? 53 ns? Gerai kad dar Assembler'iu nepasiūlei perrašyti…
Ką žinau, man tai taip užklausos kodas geriau skaitosi:
$getMostPopularCategory = "SELECT `kategorija` FROM `logistas` GROUP BY `kategorija` ORDER BY COUNT(`kategorija`) DESC LIMIT 1;"; $menurez = $this->conn->query(getMostPopularCategory);
Aš esu toks žmogus, kuris visada siekia tobulumo. O nesuprantu, kodėl yra blogai galvoti apie optimizavimą. Tai puiku, jeigu daro laboratorinį darbą, dėstytoją manau nustebintų toks taisyklingas darbas.
„Žmonės pirma paprofiliuoja kodą ir tik tada nusprendžia, ar vertą kažką optimizuoti. O tu nusprendei net nežinodamas kas per projektas…” - nusišnekėjai, kad net nejaukiai pasijutau. Žmonės pirmiausiai rašo kodą ir iškarto optimizuoja, bent jau turėtų taip būti. Juk neparašom kažkokios nesąmonės ir vėliau taisome. Gal vėliau, dar galima kažką papildyti, analizuojant kodą.
„Bet su tuo kintamuoju tai… Ką tas kintamasis sutaupys, 1 ns?” - žinai, yra toks žinomas posakis: „Lašas po lašo ir akmenį pratašo”. Kaip manai, kiek kartų vidutiniškai projektas kreipiasi į duomenų bazę? Tarkim 10 kartų, bent jau čia minimaliai, tai sukuri 10 visiškai nereikalingų kintamųjų su dideliu turiniu. Tavo mąstymas yra toks siauras, kad graudu darosi. Tikiuosi niekam neatlieki programavimo darbų, kadangi tektų viską iš naujo perrašyti, kitam vyr. programuotojui.
„Su SELECT * dar bent jau normalus patarimas, nes vis dėl to nekokia praktika.” - dar pamiršai paminėti mysqli_close, kadangi privalai uždaryti bet kokį sujungimą, priešingu atveju, puslapio krovimosi ilgis padidės netik milisekundėmis. Tai irgi buvau pabrėžęs. =]
Įdomu, ką dabar parašysi (rekomenduoju nerašyti). :rolleyes:
Be to, kažką sakei apie gražumą? <_<
http://image.prntscr.com/image/d25d3013db3845d8975cd8d684c8afcb.png
^_^
-
O tu toks nusistatelis pries musu foruma ar kaip?
Ne, forume tiesiog mažėja rimtų žmonių, tai savaime suprantama. Pažiūrėk ankstesnius pranešimus, dauguma neturi reikšmės. =]
Žmogus normaliai parašo, o čia tik dauguma ateina pajuokauti.
-
Jeigu connection objektas bus null, kompiliatorius klaida tik išmes ir nuluš viskas. Čia tavo pavzydyje nėra šansų, kad taip būtų, bet jai projektas didžiulis tai dažnai taip būna.
Galima įdėti tikrinimus, jei pageidaujate. Nematau šio pranešimo tikslo. Jei sujungimas nepavyks, tai visas skriptas savaime neveiks - critical error, nemanau, kad gali kažką padaryti specialaus. Kai sujungi duomenų bazę, galima tiesiog patikrinti sujungimą.
Bet jeigu optimizuotas kodas, tai tokie pranešimai bus reti. Žinoma, dar reikia turėti galingą serverį.
-
Tai čia Jūs norėsite investuoti ar pats ieškote? Be to, kaip dėl idėjos pasisavinimo?
-
O kas jai connectionas nusprogs? sugrius visa programa, tai ne visur tokie tiesioginiai kreipiniai tinka
Kaip suprasti? Taip ir taip Php uždarys komandą. Nebent paslėpsi klaidos pranešimą.
-
Is premature optimization really the root of all evil?
Tiksliai nežinau kokio čia dydžio projektas, bet jeigu optimizuojat SQL užklausas duombazėm su 20 įrašų ar netgi string'ų žūt būt nepriskirinėjat kintamiesiems, tai jau panašu į priešlaikį optimizavimą (arba norą pasirodyti).
Be to, PHP iš tiesų tokia nevykus, kad keli papildomi kintamieji sukelia pastebimą spartos sumažėjimą? Aš kaip tik sakyčiau, kad geriau priskirti užklausą kintamajam, o patį užklausos tekstą parašyti per kelias eilutes, kad būtų lengviau skaityti.
Kai tu parašysi, tai verkti norisi. Ten elementarus, taisyklingas SQL kodas, koks ir turėtų būti rašomas. Dauguma žmonių yra tinginiai (primeni man į tokį), taip paskui ir iškraipo informaciją, o naujokams rodomas netinkamas pavyzdis.
Aha, privelk tokių klaidų visuose failuose, tai efektai bus tokie žymūs, kad teks pirkti galingesnį serverį, tikriausiai ir nori išleisti pinigus. Vėliau verkia, kad PHP nėra graži, taisyklinga (palyginus su kt. programavimo kalbomis), o apie 60 - 70% programuotojų (jei taip galima pavadinti), nesugeba net taisyklingai parašyti kodą, kodas pagrinde rašomas, kad tik veiktų, neatsižvelgiant į optimizaciją (įsk. micro, jos sudeda pakankamai sekundžių, jei projektas didelis, o Facebook geras pavyzdys, daug sumokėjo, norint ištaisyti tas klaidas). Dar net kiti nemoka HTML4, HTML5 rašyti taisyklingai, o naršyklės pačios turi taisyti snarglių kodą.
Tarp kita ko, žinai bent kintamųjų reikšmę ir jų tikslą? Tas kintamasis eis po visą skriptą, nors nebus naudojamas. O dėl grožio, tai galime ginčytis. Galėsiu atsiųsti ekrano užfiksavimą, kaip gražiai kodas atrodo.
Nesiginčyk su manimi, nes nelaimėsi. Pateikdamas straipsnius, kurie bando pateisinti žinių trūkumą, tau tiesiog nepadės. B-)
-
Nemanau, kad gausi gerų patarimų iš čia, todėl pateikiu kelias naudingas nuorodas, kurios galbūt tau pravers. Žinoma, visi straipsniai yra parašyti anglų kalba.
- http://www.wikihow.com/Overcome-Public-Restroom-Embarrassment
- http://www.uncommonhelp.me/articles/how-to-stop-shy-bladder-syndrome/
- http://ask.metafilter.com/11324/How-can-you-overcome-pee-shyness-in-public-urinals - Forumas, kur žmonės diskutavo apie tai (žymiai daugiau patarimų).
- http://www.embarrassingproblems.com/problem/urination-shyness
Ši problema yra gan sunki, tad prireiks daug ryžto. ;)
- http://www.wikihow.com/Overcome-Public-Restroom-Embarrassment
-
Užpildžiau sąžiningai, nors nelabai nusimanau apie tai. Tikiuosi padės. ;)
-
Geriausias sertifikatas yra tavo darbų pavyzdžiai - viską pasako.
-
"SELECT kategorija FROM logistas GROUP BY kategorija ORDER BY count(kategorija) DESC LIMIT 5;"
Stulpelio kiekvienoj eilutej tik po viena žodį ir daugelis jų kartojasi, COUNT, jog rikiuotų pagal vienodų įrašų kiekį. Distinct tik ištryniau.
OK, žiūrėk kaip tau geriau. Nežinau kategorijos tipo, todėl ir parinkau tokį kodą.
-
O jeigu man reikia visko? :huh:
Nesvarbu, lenteles turi nurodyti individualiai. Ta funkcija yra tiesiog lėta, nes turi dar patikrinti kiek yra lentelių, gauti jų pavadinimus ir t. t. Negi sunku daugiau parašyti?
Be to, kam autorius sukuria naują kintamąjį, kuris visiškai nereikalingas? SQL kodą rašykite iškarto į funkciją, o ne sukurkite naują kintamąjį, tiesiog apkraunate nereikalingai variklį.
Pataisau šį kodą ir parodau kaip pavyzdį.
$menurez = $this->conn->query("SELECT `kategorija` FROM `logistas` GROUP BY `kategorija` ORDER BY COUNT(`kategorija`) DESC LIMIT 1;");
Gale nebūtinas kabliataškis (SQL kode, jeigu pastebėjote), bet oficialus PHPMyAdmin prideda prie pabaigos, tad rekomenduoju irgi jį pridėti (taisyklingiau bus).
Redagavimas: dar nesupratau vieno dalyko, kodėl buvo panaudota COUNT funkcija? Taip pat, ORDER BY turėtų būti data arba skaičius, nežinau, kokio tipo ta kategorija. Šiuo atveju, parenku `id` atributą.
Pastebėjau, kad gale nėra uždarymo funkcijos. Kai pasiimi kažką iš lentelės, po bet kokios MySQLi funkcijos, visada uždaryk sesiją. HTML kabutes nekeisk. Jos rašomos dvigubomis kabutėmis, o ne viengubomis. Matau, nuorodoje nurodai $_GET['kat'] atributą, nemanai, kad jis turėtų būti ID (skaičiais nurodytas)? Kaip rašiau, nežinau, koks kategorijos tipas, varchar ar int, bet jei varchar, rekomenduoju naudoti ID. Reikėtų pridėti: SELECT `id`, `kategorija`, o tada $row[0] nuorodoje palikti, o nuorodos tekste pakeisti į $row[1].
Galinis kodas:
$menurez = $this->conn->query("SELECT `kategorija` FROM `logistas` GROUP BY `kategorija` ORDER BY COUNT(`kategorija`) DESC LIMIT 1;"); if ($menurez->num_rows > 0) { while ($row = $menurez->fetch_row()) { echo '<ul><li><a href="index.php?kat='.$row[0].'">'.$row[0].'</a></li></ul>'; } } else { echo 'Rezultatų nėra.'; } $menurez->close();
Pridėjau atgal COUNT(`kategorija`).
del funkcijos atvaizdavimo
Programuotojų kampas
Atrašyta · Redagavo Greisis
Suprantama. Čia tik buvo pavyzdis, nerašiau nieko apie taisyklingumą. O „status” yra iš pirmojo „FROM”, t. y. „users”. Taip, sutinku, kad reikėtų nurodyti, bet kaip ir rašiau, tai yra senas skriptas, kuris yra uždarytas ir nenaudojamas dėl optimizavimo / logikos klaidų. „`users`.`adress`” nėra unikalus raktas. Tik „id“ yra, bet jo nereikėjo šioje užklausoje. Prašai vaizdinio pavyzdžio, bet sugebi prisikabinti prie taisyklingumo. Tikriausiai smagu „pulti“ vieną žmogų keliems, bet nesureikšminu. Lol. ^_^