Jump to content
php.lv forumi

Didulis

Reģistrētie lietotāji
  • Posts

    12
  • Joined

  • Last visited

About Didulis

  • Birthday 02/21/1983

Contact Methods

  • Website URL
    http://
  • ICQ
    0

Profile Information

  • Location
    Jūrmala

Didulis's Achievements

Newbie

Newbie (1/14)

  1. Uzrakstīju garu apcerējumu un tad vēlreiz apskatījos rūpīgāk to skriptu. Sākumā padomāju, ka tas ir pliks deployment skripts, taču izrādās, ka tas prot drusku vairāk, tajā skaitā git clone. Bet īsos vilcienos es ieteiktu pieturēties pie plika deployment. Tālāk tas, ko es biju sākumā uzrakstījis. Tas skripts veic maģisko darbību "Deploy", kas nozīmē, ka uz servera tiek uzlikts tikai update, nevis initial version. Tādēļ pirmkārt uz servera obligāti ir jābūt uzinstallētam GIT klientam. Ja ir normāls hostings, tad to vienmēr var sarunāt. Otrkārt, tev uz servera vienmēr vajadzēs caur komandrindu izpildīt "git clone repo_url /webroot/folder/" Treškārt tev bitbucket`ā vajadzēs nokonfigurēt repozitorijam 2 lietas - 1) https://confluence.atlassian.com/display/BITBUCKET/Use+deployment+keys'>Deployment Key (iekopēt repozitorija settingos, servera komandrindā uzģenerēto, SSH public key). 2) url uz https://confluence.atlassian.com/display/BITBUCKET/POST+hook+management'>deployment skriptu (tas ir darāms repozitorija settingos zem Hooks -> Select a hook... -> POST -> Add Hook). Te vajag atcerēties, ka Bitbucket serveris izsauks šo skriptu, kad tu būsi izpildījis PUSH request, tādēļ ir jāgarantē, lai tava deplayment skripta URL būtu pieejams vismaz no Bitbucket IP adresēm, kuras viņi draņķi ik pa laikam pamainam. Pilnīgi bez komandrindas iztikt būs grūti. Ja tev atsakās dot SSH pieejas, bet ir gatavi uzinstallēt GIT klientu, tad pats vari mierīgi uzrakstīt PHP skriptu, kurš izsauc shell komandu - "git clone" (kā tikko atklāju, tad šis skripts to prot, bet tev uz servera obligāti vajag GIT klientu, kura atrašanās vieta ir norādīta webservera jūzera PATH mainīgajā, otrkārt tev obligāti vajag nokonfigurēt bitbucket deployment key). Pēc tam var mierīgi darbināt konkrēto deployment skriptu. Jebkurā gadījumā es ieteiktu skripta sākumā pievienot pārbaudi uz IP adresēm, lai laiž klāt tikai no bitbucket IP adresēm. Savādāk kāds trollis uzminēs tava skripta adresi un nepārtraukti liks tavam serverim izpildīt git pull.
  2. Ņāāā!!!!!! HTML nav patvaļīga simbolu virkne, kuru browseris attēlos kā tu vēlies. HTML ir strukturēta valoda ar kuru tu apraksti kā konkrētās lietas izvietosies browserī. Es ieteiktu tev sākt lasīt šo. Un pievērs uzmanību, ka tur ir pogas "Previous" un "Next". Sākumā obligāti vajag saprast ka visam apkārt ir čaula <html></html>, kam iekšā ir galva <head></head> un ķermenis <body></body>. Tad iemācies, ko drīkst un vajag rakstīt uz pieres (starp <head> un </head>) un ko uz krūtīm (starp <body> un </body>). Kad to būsi sapratis, tad var mēģināt atgriezties pie šī tava jautājuma. Ātrāk nav jēgas. Un web dizaineri darbojas ar photoshop, kurā tikai uzzīmē kā izskatīsies mājas lapas. Tie kas nodarbojas ar koda rakstīšanu ir saucami par web developer`iem vai vienkārši rupji - webkoderi.
  3. Tika atrisināts rupjā un brutālā veidā, izmantojot tos pašus DIV blokus apkārt, taču submit pogai tika aizvāktas robežas un fons un apkārt aplikts <a> tegs (pārsteidzoši, bet tas pasākums validējās), kuram tika uzlikts display:block un background bilde, kas attiecīgi tika nopozicionēta kā vajag. Tā sakot nečakarējos ar vispārīgo gadījumu, pieķēros pie prasību realizēšanas.
  4. Šāds HTML (jebkādos apstākļos - XHTML strict, no doctype utt) <form class="search" action="#" method="get"> <input type="text" name="q" /><input type="submit" name="submit" class="srch-sbmt" value="" /> </form> ar šādu CSS form.search input{ width: 95px; height: 30px; } form.search input.srch-sbmt{ width: 25px; } uz Firefox 2.0.0.4 veido vertikālas lauku nobīdes. T.i. input text nobīdās uz leju un lauki veido tādus kā pakāpienus jeb input text offsetTop ir 13 un input submit offsetTop veidojas 8. Varbūt kāds ir ar šo saskāries un ir zināms risinājums? Kā es novēroju, ka offset izmaiņa nav tieši proporcionāli saistīta ar height izmaiņām. Googlējot es atradu kaut ko līdzīgu, taču tas nebija gluži tas, jo tur problēmas sagādāja absolūtā pozicionēšana. Tā joprojām neesmu atradis neko vērtīgu. Update: izmēģināju ielikt laukus DIV blokos, kurus nopozicionē ar float: left. Šoreiz uz FF viss OK, taču IE veidojas tādas pašas, taču nedaudz mazākas nobīdes. Serverpusē pārbaudīt browseri nav vēlēšanās, tādēļ gribās nedaudz tīrāku hack`u.
  5. Thnx. Offset atvasinājumi (offsetHeight, offsetTop utt) ir tas, ko es šoreiz vēlējos. Nebiju pievērsis šamiem uzmanību iekš FF DOM Inspector.
  6. Ik pa brīdim uzpeld šāda nepieciešamība, taču DOM tās neglabājas. Googlēju pēc risinājumiem, taču bez panākumiem. Viss strādā, kamēr ir nodefinēts CSS stils vai onload event`ā tiek sabarotas vērtības iekš DOM, taču reizēm bloka augstumu nosaka tā saturs, tādēļ rodas vēlēšanās noskaidrot automātiski uzstādītās vērtības. Ir jau mēģināts 1. alert(document.getElementById('ID').style.{property}); // atgriež tukšu string`u; 2. alert(document.getElementById('ID').getAttribute('{property}')); // atgriež null; Būšu pateicīgs, ja kāds varētu uzrakstīt vismaz atslēgas vārdus angliski pēc kuriem meklēt. Manas smadzenes vairs nespēj sakarīgas kombinācijas uzģenerēt.
  7. Kā reiz ņemos ar līdzīgām darbībām un varu pāris piemērus te iebarot. Pirmkārt jau height nevis hight. 1. Tas ko v3rb0 minēja par class mainīšanu. Ērts risinājums 2. var el = getElementById('tavsID'); el.style.width = '100px'; el.style.border = '1px dotted rgb(170, 170, 0)'; 3. var el = getElementById('tavsID'); el.setAttribute('width', '100px');
  8. Didulis

    Div, div 100%

    Jautājums no šīs pašas tēmas, taču nedaudz atšķirīgs. Tiek veidots float izklājums (layout) ar 3 kolonām, vēlos panākt, lai visas kolonas ir vienāda augstuma, vadoties pēc augstākās no tām. Googlējot atrodas 2 risinājumi - 'display: tablex' (x vietā '', '-row', '-cell') un 'position: absolute'. Praktiski sanāk, ka 'display: tablex' ir tas pats, kas izmantot tabulas un 'position: absolute' ir nejēdzīgākais čakars un kaudze workaround`u jātaisa (z-index header`im, lieli padding`i u.c.). Varbūt kāds ir kaut kur manījis metodi, kā to panākt neizmantojot, kādu no tikko aprakstītajām metodēm. HTML man paskatās šāds: <div id="wrap"> <div id="title"> ... </div> <!-- logo tiek mests pāri, jo zirnekļiem labāk patīk, ka heading un saturs ir pēc iespējas tuvāk <body> tegam --> <div id="login"> ... </div> <div id="logo"> ... </div> <div id="main-content"> ... </div> <!-- ar navigation tas pats, kas ar logo --> <div id="side-bar"> ... </div> <div id="navigation"> ... </div> <div id="copy-right"> ... </div> <div id="foot-nav"> ... </div> </div> logo, title un login veido lapas header sadaļu (kā jau minēju, tad logo ar negatīvu margin tiek pārmests pāri) un tiem visiem ir gan konstants platums, gan konstants augstums. navigation, main-content un side-bar veido to daļu, kurai es kolonām vēlos vienādus bet mainīgus garumus (tb augstums nav konstants lielums). Un pēdējie 2 div bloki veido footer ar konstantiem platumiem un augstumu. Mēģināju arī grupēt vidējo rindu ar vēl vienu div bloku, kas to ieskauj un tā iekšienē izmantot position:absolute, taču tad footer aizbrauc labi zināmā virzienā - uz augšu. Vienu vārdu sakot veidojās ļoti cūcīgs a.k.a nesmuks CSS.
  9. Joks slēpjas browser`u default`ajās vērtībās un tās var nonullēt, lai katram elementam nebūtu tās jāmaina atsevišķi. * { margin: 0; }
  10. Tikpat labi var būt, ka nav iestartēts pats sendmail (ir man tā gadījies ;-) ). Caur to pašu putty izpildam komandu Ja nav rezultāta, tad ir skaidrs, ka sendmail daemon`s negriežas. Tālāk meklējam kā tavam distributīvam piedabūt šamo startēties automātiski. FreeBSD (pēdējā laikā vienīgas NIX pie kura man sanāk sēdēt) tas darās ierakstot /etc/rc.conf failā Update: Ieteiktu arī aizkomentēt php.ini tās 2 rindiņas pie sadaļas "For Win32 only" (kaut kā sēž prātā, ka tas kaut ko tomēr ietekmēja) P.S. Man ir sanācis tik vienreiz ar mail() ņemties un jau minēju, kas man bija par vainu (nebija iestartēts Sendmail). Un starp citu tikko piefiksēju PHP manuālī šo teikumu -> Iespējams, ka PHP pa taisno vēršās pie Sendmail funkcijas mail().
  11. -->>Hedera: Šo vismaz 3 reizes tev centās pateikt, taču tu palaid to gar ausīm. Tev prasīja vai piemēros, no kuriem kopēji/skatījies/mācījies nebija lietots register_globals=on, nevis vai tavā php.ini failā ir register_globals=on. Pārskrienot pāri kodam ir skaidri manāms, ka piemēros tā ir bijis. Ir arī skaidri manāms, ka tev nav priekšstats kā webbrowser`is komunicējas ar serveri, tādēļ iesaku uzmest aci RFC 2616, taču tas ir nepieciešams padziļinātai izpratnei par šo tēmu, kas tev ir maz nepieciešama. Tavā gadījumā viennozīmīgi nevar izmantot $_POST, taču obligāti vajag izmantot $_GET masīvu, lai tiktu klāt mainīgajiem, kas tiek padoti caur URL. Sesijām es vēl neieteiktu ķerties klāt, jo tās šajā problēmā diez vai palīdzēs. Iesaku vēlreiz no viena gala uzmanīgi izlasīt šo tēmu un nedaudz padomāt. Viss, kas ir sasteigts noved pie ne pārāk jauka rezultāta. -->>Delfins: Ne vienmēr vajag sākt ar blogu, forumu utt. Ja cilvēks zin, ko dara (ne tā kā šajā gadījumā), tad viņa pirmais PHP projekts var būt jebkas.
  12. Didulis

    PEAR

    Aizsāku jau veidot jaunu tēmu un tad saslēdzās, ka skan līdzīgi šai. Esmu vienis prātis ar šī komentāra otro teikumu. Tā kā netā PEAR klases ir izslavētas no vienas vietas, tad radās interese par tām. So mani interesē vietējo speciālistu viedokļi, vai kāds maz tās reāli izmanto ("ir pamēģinājis" un "pāris projektos iekļāvis" neskaitīsim pie lietotājiem), nelieto jo tās ir bezcerīgs gadījums un tamlīdzīgi, varbūt ir konkrēti gadījumi, kuros var lietot (ir izdevīgi) un kuros ne. Runājot par ātrumu, tad tas ir pats par sevi skaidrs, ka viss kas ir universāls būs pasmags un nedaudz bremzēs.
×
×
  • Create New...