Jump to content
php.lv forumi

Java

Reģistrētie lietotāji
  • Posts

    575
  • Joined

  • Last visited

Everything posted by Java

  1. Tās ir vai nu valsts iestādes, kas ar Birkava palīdzību lobē M$ vai nu arī privātie M$ lobiji - kā zināms, tādu Latvijā netrūkst un speķa mūlis to arī simboliski pierādīja, sarokojoties ar Bilu. Tas jau nekas, ka M$ ir praktiski sūdīgākā produkcija, ko no šīs jomas korporatīviem izvēlēties (Apple nesalīdzināmi labāks, Unix un Linux arī labāk veic savas funkcijas). Protams, jūzerim Internet Explorerī draugiem.lv darba laikā lūrēt valsts kantoros (ko tad viņi citu dara, ja valsts ir novesta līdz bankrotam?) ir vienkāršāk uz ierasto Windows.
  2. P.S.S. Par to error reportingu - man vēl nav galējais slēdziens kā sakārtot to lietu... Bet fakts, ka procedūra var pildīt to pašu, ko attiecīgās php 50 rindiņas ir fakts un tā arī vajag.
  3. Tu jau nepārbaudi vai dati ir valīdi, to pārbaudi pirms sūti tos vispār uz datubāzi. Datubāzē tu vienkārši veic visus selektus, kverijus un error apstrādi, kas no tiem izriet - procedūrās, trigeros utml. Tieši šis darbiņš būtu jāuztic mysql (šeit - datubāzes serverim), jo es saku - kāpēc php (šeit - server puses skriptam) ir jādara tas, kas patiesībā ir jādara MySQL - tas, ko patiesībā dara MySQL, runa ir par to, ka tu netaisi no php n-kverijus uz datubāzi, bet nodot sagatavotos datus procedūrai, kura atgriezīs rezultātu vai erroru - datu formā. Kur tev te ir datu pārbaudes ar datubāzi? Es tak teicu, ka vispirms php jāpārbauda vai dati ir valīdi, ko nodot datubāzei + to tips (int,string utml.) - tātad - datu pārbaude, kas attiecas uz php tiek veikta php, bet tā, kas attiecas uz MySQL - to veic MySQL. Rezultātā mēs iegūstam loģiskāku un labāk uzturamu programmas arhitektūru (vismaz kas attiecas uz šiem aspektiem). Runājot par citām tehnoloģijām un MS - tieši tā - gadās, ka klientam ir savs serveris un viņš vēlas izmantot tur tehnoloģijas, kas viņam labāk patīk. Lieta tāda, ka tiem, kam nepatīk konsoles un logu pētīšana, kas vēlas spaidīt ikdienā tikai Windows pogas un klikšķināt logus, tiem patīk tas IIS ar ASP un .NET. Viņiem ne pārāk interesē programmas teksts, viņiem patīk, ka ir sajūta, ka viņiem ir lietotāju ērtības plus MS "kvalitāte" jeb garantija par ko viņi samaksājuši (par to kvalitāti varētu vēl smagi pastrīdēties). Protams, nav viegli pārslēgties uz citu tehnoloģiju, bet ja tev ir zināmi pamati tai tehnoloģijā un ir pieredze uz to, tad vienkāršus un vidējus projektus vari uzņemties veidot. Principi jau paliek visur ļoti līdzīgi, atšķiras tikai valoda un prasības. Tiesa gan - php smagi atpaliek ar savām iespējām rakstīt absolūti sviestainu kodu kā newbie - Javā tik vienkārši to neizdarīsi - tai valodai ir krietni augstākas prasības pret cilvēka intelektu, kas to lieto - un līdz ar to, garantētais kvalitātes līmenis - augstāks, attiecīgi arī cena - augstāka. Piemēram, kāda veida funkcijas varētu un vajadzētu, manuprāt, darīt datubāzei: * constraintu (ierobežojumu) pārkāpumiem - jāatgriež errora msg vai arī tā numurs, kurš glabājas php array - tas vēl ir jautājums, kā labāk; * ja dati neeksistē, atgriež kur un kas neeksistē; * ja dati eksistē un ir nepieciešama iterācija - izdarīt to varētu procedūra, bet php atgriezt plain array; Visiem tiem messagiem jābūt šabloniskiem bez db specifiskās valodas un php var tos arī šabloniski tulkot, ja vajag. Ir skaidrība? P.S. Kas db logos neglabājas oriģinālie MySQL errori? Nafig tie būtu jāredz apmeklētājiem? No otras puses - tik un tā apmeklētājiem jāzin, kur ir errors! Nedomāju, ka tas ir labi ne no labā stilā, ne drošības viedokļa. Bet error-reporting sistēmai jābūt universālai un manuprāt, nebūtu godīgi, ja pilnībā apstrādāt MySQL errorus vajadzētu uzkraut uz nabaga php pleciem!
  4. Hostingi daudz biežāk un vairāk atbalsta MySQL. Taisīt, lai iet tikai uz PostGre SQL būtu tas pats, kas taisīt teiksim skriptu uz Python, nevis PHP - ies ta ies, varbūt pat ātrāk, taču reti kurš hosteris atbalstīs. Protams, ja savs serveris, tad var visu kaut vai programmēt valodā XYU.
  5. Es esmu reāls un realitāte ir tāda, ka ir vajadzīga nauda par ko dzīvot, apmaksāt visus rēķinus, un, iespējams, svinēt Jauno Gadu. Šī realitāte var būt pietiekami sāpīga, lai pacenstos paveikt kaut ko vairāk arī, nekā pašam patiktos! Dzīve smaga, ko darīs.
  6. SQL visur ir līdzīgs! Pareizi? Tātad - teorētiski, nevajadzētu būt smagām problēmām db profesionālim migrēt pat lielu datubāzi no MySQL uz Oracle - darbs gan var būt laikietilpīgs gan. Klez - nu a ko darīt, ja gadās klients, kas grib tikai Microsoft un opensource - ninini! Un viņš ir gatavs par to maksāt! Sūtīsi 3 mājas tālāk šais krīzes laikos, jo tev aplikācija uzrakstīta php un tu ienīsti Bilu principa pēc? Nedomāju viss, darbs ir, pārrakstīsi līdzīgā stilā uz .NET, nomigrēsi MySQL datubāzi uz MS SQL Server un rullēsi zirgā.
  7. v3rb0 - ieguvums tāds - ja man skripts ir jāparraksta citā valodā (piemēram, asp, python, jsp...), tad man nepieciešamas krietni mazāk modifikācijas, visas db lietas darbosies vienkārši un šabloniski. Bet ja jāveic migrācija uz citu datubāzes serveri vai jaunu datubāzes struktūru - jāpārraksta jebkurā gadījumā gandrīz visa datubāze, atšķirība tik tā, ka pēc šīs metodes, ko aprakstīja, nebūs arī tik smagi jāpārraksta skripts (iespējams, vispār nebūs jāpārraksta, izņemot konfig vērtību maiņu) ;) Noteikti, Gints Plivna, piemēram, no šejienes zin, ka datubāzes migrācija ir kārtīgs darbelis (ja db ir pietiekami nopietna) - bez maz atsevišķs projekts, par ko maksā kaudzēm naudas. Neieteiktu nekad tādu uzticēt iesācējam puņķutapai, jo, ja db migrācijas procesā pieļauj kļūdas jau sākumā, pēc tam ko labot ir grūti un beigās var tā visu nojāt, ka darbs jāveic pa jaunu no nulles. ;) Tā, ka redzu tikai plusus šādai metodei.
  8. Grey_Wolf - vēlreiz: 1) klienta gals - useris iesniedz datus - daļu datu pārbaudi (formās, piemēram) veicu ar javascript palīdzību (tikai un vienīgi, lai uzlabotu usability), sūtu uz servera; 2) neuzticos nevienam klienta vārdam (atsūtītajam datam), caur php pārbaudi vai vērtības ir valīdas - tik daudz valīdas, lai varētu sūtīt uz MySQL (nevis veikt selectu, vai, piemēram, šāds ieraksts eksistē) 3) sūtu MySQL procedūrai attiecīgos parametrus; 4) MySQL procedūra veic datu apstrādi - selecto utt. Secina, ka nav datu vai ir constrainta pārkāpums - nu jebkas, kas var atgadīties pat BIEŽI! Vai arī nav errors. Abos gadījumos, procedūra atgriež masīvu. 5) php uzdevums ir viens - atpazīt, vai rezultāts ir errora msg vai arī valīds rezultāts. Atkarībā no šī, atrādīt to savā veidā un aizsūtīt atpakaļ klientam. Ir skaidrība tagad, ko es domāju? Klienta gals (pārbaude, vai jūzeris nesniedz aplamus datus, piem, e-pasta vietā "asdf") -> PHP gals (pārbauda vai jūzera atsūtītos datus DRĪKST padot datubāzei) -> MySQL gals - datu apstrāde un rezultāta atgriešana (pat ja errors, tiek atgriezts errora rezultāts) -> PHP gals - nosakām atgrieztā datu tipa - errors vai vēlamais rezultāts - atkarībā no tā vienkārši tos apstrādājam, neveicot nekādus papildu pieprasījumus MySQL un nosūtam klientam, viņam pieņemamā formā -> atkal Klienta gals - saņēmis rezultātu ir vai nu priecīgs un lec pa gaisu vai arī sarūgtināts un raud spilvenā.
  9. Grey Wolf - ok, kļūdas numurs - ja tas sniedz visu ko vajag zināt - ok, tad php izņemu no masīva un parādu kļūdu... Tev nav taisnība - arī datubāzes procedūru rakstīšana ir programmēšana. Praktisks piemērs: Man mājās ir teiksim, 20 zaļas paciņas ar ābolu, 10 sarkanas paciņas ar ābolu sulu un 30 oranžas paciņas ar apelsīnu sulu. Man ir jāiznes no mājas uz busiņu 5 zaļas paciņas, 3 sarkanas un 15 oranžas un jāiznes 3 litru burkā vēl sajauktas zaļo paciņu saturs ar sarkano attiecībā 1:2. Pieņemsim, mana māja ir datubāze - bet busiņš - rezultāts, ko attēlot klientam. Vai iznest sākumā 20 zaļās un pārliecināties busiņā, ka trūkst vēl 3 sarkanās, tad nest 3 sarkanās un pārliecināties, ka vēl nav oranžās un burka, vai arī to visu izdarīt mājās - sašķirot paciņas un sajaukt burkā to ļergu un visu iznest vienā kastē uz busiņu? Tā ir atšķirība starp php un datubāzes mijiedarbību pretstatā procedurālām darbībām jau pa taisno datubāzē. Errors būtu, ja izrādās, ka man mājās ir tikai 2 sarkanās kandžas, kaut arī jāiznes 3.
  10. Doma ir apmēram tāda: $request_param = parametru_apstrade_pofig_kas($_REQUEST['my_param']); $res = mysql_query("CALL procedure1("+$request_param+");"); // esmu ieguvis rezultātu array formā - pat ja tas ir errors - izvadu uz ekrānu saprotamā formā Doma tāda, ka man nav vajadzīgas praktiski nekādas php db klases. Vienkārši - vajag projektā vienkāršot pēc iespējas server puses skriptu darbības ar datubāzi: 1) pārbaudam request parametrus (vai ir valīdi vienkārši); 2) maucam tos iekšā vienā querijā, kurš vienkārši izsauc procedūru; 3) procedūra izdara visu ko vajag un atgriež vai nu array ar visiem datiem, ko loopot pēc tam caur php vai arī erroru saprotamā valodā, ko var pa taisno izvadīt uz ekrāna Pieņemsim, procedūra Generate_Menus - lai man nav jāveic n-tās pārbaudes vai tur jau tāds unikālais neims ir, mysql atgriezīs erroru, es gribu, lai šis errors izvadās nevis mysql formā - tas var sniegt par daudz informācijas nevēlamām personām, bet vienkārši - "Neimam jābūt unikālam, šāds neims jau ir", nevis "Unique constraint violated in query ...." ļaļaļa. Un es gribu, lai to dara procedūras jau iekš mysql, lai tas MySQL pats veic savu erroru apstrādi, nevis uztic to php! :P Ideja tāda vēl arī, ka, piemēram, ģenerējot to menu, es visus nepieciešamos ciklus un atlases veicu jau procedūra un atgūstu galarezultātu un to iedodu php kā array - php nezin nemaz, kas tai array ir iekšā, bet zin, ka viss ir korekti atlasījies un veic pāris rindiņas garu foreach, lai to visu atrādītu uz ekrāna ;) P.S. Daudzie MySQL errori var atgriezties, jo ir tāda fiška, ka esmu salicis smuki visus FK, UNIQUE, Indexus, sasaistījis visu tik smuki kopā, ka greizas variācijas nemaz nevar ievietot ;) Attiecīgi - gribu, lai arī visas tās pārbaudes un errorus user friendly formā atgriež pats MySQL, jo kāda velna pēc php jāķidā MySQL errori ;) Saprati?
  11. andrisp - īsiem vārdiem sakot - es gribu MySQL galā ar procedūru un trigeru palīdzību izdarīt visu iespējamo, lai man pēc iespējas mazāk darba paliek php galā. Fiška tāda, ka piemēram, iesniedzot formu - es nočekoju ar javascript vērtības, bet pēc tam jau tās n-tās pārbaudes veicu nevis php, bet MySQL un atgriežu atpakaļ ar php - php tikai kā starpnieks, kurš tīri no datubāzes paņem datus kā array vai string un attēlo un viss - pats ar to nedarbojas! :P Saprati domu?
  12. Vai ar MySQL procedūrām ir iespējams, atkarībā no mysql errora atgriezt kaut kādu custom paziņojumu? Respektīvi - vai ir iespējams ar procedūrām db error reportingu veikt, nevis veikt to php galā, piemēram?
  13. Sākumā uztaisi uz MySQL Workbench (tā būs vieglāk), izmanto arī diagramu ģenerēšanu, lai apskatītu diagrammu un novērtētu, vai viss ir pareizi (profesionāli veidojot datubāzi, diezvai bez tā var iztikt - Gints Plivna piekritīs?), pēc tam, kad esi pārliecināts, ka db struktūra ir sataisīta ok (ar visiem indeksiem), importē datubāzē, izmantojot phpMyAdmin un tad turpini darbības. Sākumā pamata insertus ar iesaku uztaisīt jau MySQL Workbench. Nu pēc tam var var rakstīt procedūras iekš MySQL Workbench vai phpMyAdmin un turpināt darbu ar datubāzi, tur ir tāda eksporta iespēja alter arī, bet nezinu, kā būs ar sinhronizāciju, lai nav ar roku jāizgriež attiecīgie skripti no dumpa? Anyway, domu saprati - sākumā taisi datubāzi pēc tīri teorētiskiem pamatiem uz MySQL Workbench, pārbaudot arī atbilstību vismaz pirmajām 3 normālformām. Projektē un gatavo tik ilgi, kamēr praktiski visa struktūra un rutīnas ir gatavas, protams, ja nav pieredze procedūru rakstīšanās, būs grūti uzrakstīt pareizu rutīnu bez praktisko datu un to rezultātu aplūkošanas, bet jāmēģina. Tik un tā pēc tam jau tev būs jālaiž reāli testa dati un viss jātestē. Problēma - kā sinhronizēt db modeli ar reālo datubāzi (skriptiem)?
  14. Squad - cik tu pelni šobrīd?
  15. Lieliski! :) Es te vienkārši ņirdzu par jums un zirgāboliem! :) Vienkārši - tas, ka es cenšos pieklusināt plātīzerus, nenozīmē, ka es esmu kāds trollis. Kamōn, te tiešām neviens no tiem lielākajiem žagargaiļiem šeit tā arī nav no sevis neko ievērojamu cienīgu pierādījis.
  16. Liekam tev arī 0 un ierindojam nespējniekos (pēc Grey_Wolf metodes). Atbilde: Vienādojums ir: Zirgābols+Pļūts=codez
  17. Sliktam dejotājam pat sava paša zirgāboli traucē.
  18. 6 minūtēs, tas ko maina? Nezinu, uzdosim jautājumu arī tev Grey_Wolf stilā: Kāpēc nav redzēts, ka zirgs kādreiz būtu appļūtījies, bet kaķis pļūta samērā bieži?
  19. 5 min cauri, nespējnieks nav spējis atbildēt uz jautājumu. Es vismaz atbildēju kaut ko - izteicu kādu pieņēmumu.
  20. Jā, web programmētājiem tiešām ir daudz jāzina par zirgiem un govīm! Nespējniek, varbūt atbildi 5 minūšu laikā uz šādu jautājumu: Kurā datumā Hitlers iznāca no cietuma (kā nacionālsociālistu kustības vadonis vai kas tur) un kā sauc šo cietumu un kurā vietā viņš precīzi atrodas un no kā tas ir/bija būvēts?
  21. Tāpēc, ka zirgam ir savādāks zarnu trakts un govij savādāks.
  22. Nu kopš tā brīža, kad to aplūkošu un sākšu drukāt atbildes, aptuveni 5-10 min paies. Neiet runa par minūtēm. Runa iet par to, ka viņš te grib stundām domāt atbildes.
  23. Nekāds vakarpusē. Normāli, ja 5 min laikā nespēj sniegt atbildi, tad arī esi "nespējnieks". Dienas laikā var izrakņāt googli krustu šķērsu.
  24. Nezinu vai kreditē vai nē, man kredītu pagaidām nevajag, jo NĪ netaisos pirkt. Bet patēriņa vajadzībām, bez šaubām, banka man iedotu naudu, ja vajadzētu. Starp citu - Latvijas finanšu sistēma nebruks un lats nedevalvēsies un punkts.
  25. Grey_Wolf - es saku, lielākā daļa klientu ir idioti, jo paši neprot darbu novērtēt pareizi gandrīz nekad. Ir gatavi atmest 200-300 Ls par vizītkartes mājaslapas programmēšanu (2 vakaru darbs, ja veic uz savu php iestrādni), bet par portālu, kur būtu 3 cilvēku komandai jāstrādā 2, 3 mēnešus, ir gatavi atmest kaut kādus nožēlojamus 2000 Ls. Viss ir ierobežots finansu līdzekļos. Saku - Squad 20 Ls/h nav atbilstoši vispār situācijai valstī, pie tam viņš ir pilnīgs mūjābelis, par ko ātri varētu pārliecināties, uzdodot šim vienkāršus jautājumus (bez šaubām). Ja sētnieks maksā 1.5-2.5 Ls/h (minu), augstskolas profesors par pusotru stundu lekciju, iespējams prasa kādus 35 Ls (minu) - bet nu salīdzināt nevar profesoru ar Squad - tas ir kā salīdzināt jaunu mercedes ar nolietojušos padomju laiku invalīdu vāģīti. Lab, 5 Ls/h priekš programera kurš prot savu darbu un nemeklē kaut vai 30% no veicamā googlē, bet gan kādus 10% tikai, tomēr ir par mazu, nestrīdos. Saku - 5 Ls/h priekš manis ir minimālā robeža par ko vispār var runāt - bet tas nenozīmē, ka es uz to piekritīšu. Protams, par 10 Ls/h es jau diezvai atteikšos no darba, bet 20 Ls/h? Kamōn - ja kāds maksā, ok!? Es pieļauju, ka esmu arī tik pelnījis tīri praktiski (uz mazajām vizītkartes mājaslapām), bet man tādi darbiņi neinteresē, kurus cepj kā pankūkas, bet nopietnākos projektos, kur ir savs menedžeris, neviens nemaksās 20 Ls/h - uz tādu likmi varētu parakstīties tikai idiots. Kur Squad rauj tādus idiotus, nezinu. Nenāktu par sliktu šo notestēt - lai pārliecinātos, vai viņš atbilst tam, ko prasa! :D Man ja būtu projekts, es Squad līmeņa programmerim piedāvātu 5 Ls stundā (ar nodokļiem jau iekšā) - ja nepatīk, lai iet taisni, ja var noiet, tad jau es pats labāk izdarīšu nekā viņš, par to es pat nešaubos.
×
×
  • Create New...