Jump to content
php.lv forumi

black

Reģistrētie lietotāji
  • Posts

    421
  • Joined

  • Last visited

Posts posted by black

  1. Par gettext gan nesapratu - pašlaik templeitēs tiek izmantots "T_". Kas būtu pārskatāmāks, ja es izmantotu, piemēram, tikai "_"?

     

    (Starp citu, konkrētajā gadījuma T_ ir nevis divritenis, bet gan gettext wrapperis, kurš detektē, vai ir pieejams gettext modulis. Ja ir, tad tiek izmantots tas, ja nē - tiek palaists gettext php emulators)

  2. Piedāvāju salīdzināt 2 identiskas templeites, kas kodētas Smarty un PHP.

     

    P.S.

    Es secināju, ka man joprojām Smarty patīk labāk :) Vienīgais, syntax highlighting Smartijam parasti nevienā editorā nestrādā. Templeišu saturs ne uz kādiem konkursiem nepretendē, paņēmu vienkāršu piemēru no visprastākā projekta.

     

    Edit: palaboju linkus

  3. Vēl viens zvaigznītes mīnuss - lauki tiek atgriezti tādā secībā, kā ir definēti tabulā. (Tas ir, vai nu jāizmanto "mysql_fetch_assoc", vai arī jāparraksta laba tiesa koda gadījumā, ja mainās tabula un pa vidu tiek pielikts kāds lauks)

  4. Gaumes lieta, protams. (Par gaumi nestrīdas - vai nu ir, vai nav. :)

     

    Un ja to 35 lauku tabulu joinosi ar 2 citām 55 lauku tabulām, un no joina vajadzīgi tikai 3-4 lauki - arī rakstīsi zvaigznīti?

  5. Man pašlaik tur galvenais kverijs ir ~ tāds: SELECT * FROM news GROUP by id LIMIT 0,10

     

    Iesaku SELECT kverijos nekad nelietot zvaigznīti. Tā vietā labāk izmanto SELECT lauks1, lauks2 FROM table. (Tā varēsi norādīt tikai tos datus, kas pašreiz ir vajadzīgi.)

  6. Drīzumā man vajadzēs izstrādāt (pārstrādāt) lietotāja interfeisu tikko tapušai mājaslapai. Saistībā ar šo arī mans jautājums:

     

    1) Vai Latvijā ir cilvēki (firmas), kas specializējas tieši uz UI (koncepcijas) izstrādi? Es šeit nedomāju grafisko noformējumu, bet gan usability (kāda izmēra fonti, kur atrodas linki un pogas, kā informācija/formas lauki ir sagrupēti lapā, utt)

     

    2) Kādus blogus / lapas lasāt saistībā ar usability?

  7. bet varbūt padomā kā pelnīt, nevis saņemt algu?

     

    Ir diezgan liela varbūtība, ka lielākā daļa šī topika lasītāju strādā algotu darbu, nevis ir uzņēmuma īpašnieki. Ja Robis būtu gribējis uzzināt par peļņas iespējām, būtu nosaucis topiku "Peļņa", nevis "Algas".

     

    Skaidrs, ka peļņa var būt krietni lielāka par algu, bet tajā pašā laikā ir arī krietni lielāks risks palikt bez brokastīm (vai kredītā paņemtā dzīvokļa).

  8. netaisi visu vienā lauciņā

    taisi 2 tabulas

    lietotāji

     

    CREATE TABLE USERS (

    user_id int not null auto_increment,

    nick varchar(30) not null,

    PRIMARY KEY(user_id))

     

    un raksti

    CREATE TABLE ARTICLES (

    article_id int not null auto_increment,

    user_id int not null REFERENCES USERS(user_id),

    short_version varchar(255) not null,

    long_version lob not null,

    date_created datetime not null,

    PRIMARY KEY(article_id))

     

    Rakstīju nepārbaudot, ja kas neiet (nebūs brīnums) tad pielabo. Galvenā doma ir tā, ka rakstu īsā versija parasti var atšķirties no garās. Bieži vien garajā raksta versijā svarīgākās raksta daļas (summary) nav raksta sākumā. Lai uzraksītu sakarīgu īso versiju, parasti vajag vai nu cilvēku, vai arī mākslīgo intelektu. Esmu dzirdējis, ka US armija pašlaik taisa kaut kādu summarizētāju, kurš, piemēram, 10lpp tekstu spēj sasummarizēt pāris teikumos. Bet nu jādomā, ka Tev līdz teksta semantiskajai analīzei un neironu tīkliem vēl kāds brītiņš jāpamācās.

  9. Welcome back, Robi!

     

    Par "augstāko izglītību IT nozarē". Man ir daži paziņas, kuriem ir 7+ gadu darba pieredze IT, pēdējie pāris gadi no tiem LIELAJĀS Latvijas IT firmās, ir (pagaidām) nepabeigts maģistra grāds biznesa vadībā, kur apgūti tādi ar IT "nesaistīti" priekšmeti kā IT projektu vadība (pasniedza bijušais IBM projektu menedžeris, starp citu), utt. utjpr. Bet ja pieiet formāli - cilvēks neder darba sludinājumam.

  10. Varam jau piemeklēt arī motivāciju :)

     

    http://www.brockman.se/writing/method-references.html.utf8

     

    "This code works as intended, but the solution is inelegant. While it is unlikely that the name eventRouter will ever conflict with anything, you’re still essentially polluting someone else’s namespace.

     

    Another problem with this approach is that it theoretically breaks encapsulation, since you are in fact setting up a backdoor to your logic. Anyone with access to the HTML document that your element is attached to could aquire a reference to your backdoored element, and, by extension, your private data. This will probably not present itself as a practical problem to anyone, but it necessarily remains a fundamental inelegancy.

     

    Binding a variable to the value of this and then closing over it is a superior approach"

  11. Nu ir jau vēl arī citi varianti, tikai jautājums, vai tie ir labāki. Zemāk skat. variantu ar 'closures', anonīmu funkciju, kas paliek 'karājoties' ārpus metodes pēc tam, kad 'init' ir pabeidzis izpildīties.

     

    Gribētos atrast variantu, kuram ir vismazāk trūkumu, lai to tad visur varētu izmantot.

     

    function LoginManager() {
    this.button=null;
    }
    
    LoginManager.prototype.init = function() {
    this.button = document.getElementById("buttonId");
    
    var self = this;
    var clickHandler = function() {
    	self.onClickHandler(this);
    }
    this.button.onclick = clickHandler;
    }
    
    LoginManager.prototype.onClickHandler = function(event) {
    alert(this.id);
    self.doSomething();
    }
    
    LoginManager.prototype.doSomething = function() {
    alert("done");
    }

  12. Vēl kādam ir kāds variants? Es pats esmu sameklējis vairākus (bet neviens, ieskaitot šo, īsti nepatīk). john.brown piemērs ir 1:1 no AJAX in Action, skat. pie "Attaching a Model to the DOM node"

     

    Mīnuss konkrētajam piemēram - "When using this pattern, we create a cyclic reference between a DOM and a non-DOM variable, and web browser folklore has it that this is bad for garbage collection under certain popular browsers of the day."

  13. Kā zināms, JavaScripts eventus izpilda tā DOM elementa kontekstā, kurš ir eventa avots. Zemāk redzamajā piemērā onClickHandler() funkcijai 'this' atgriezīs nevis 'LoginManager' instanci, bet gan 'input' elementa instanci.

     

    Jautājums - kāds ir vislabākais veids, lai eventu handlerī (onClickHandler) varētu izsaukt LoginManager.doSomething() funkciju?

     

    <form>
    <input type="submit" id="buttonId" name="button" value="Send Me!" />
    </form>

     

    function LoginManager() {
    this.button=null;
    this.id = "LoginManager";
    }
    
    LoginManager.prototype.init = function() {
    this.button = getById("buttonId");
    this.button.onclick = this.onClickHandler;
    }
    
    LoginManager.prototype.onClickHandler = function(event) {
    alert(this.id); // displays 'buttonId' instead of 'LoginManager'
    this.doSomething(); // error
    }
    
    LoginManager.prototype.doSomething = function() {
    alert("done");
    }

  14. Būtu jau jauki, ja būtu norādīts, tieši KĀDU Javas programmētāju meklējat. Ir Java UI programmētāji (prot taisīt Swing applikācijas), ir Java Web programmētāji (māk taisīt interneta lapas ar Apache Struts), ir J2EE programmētāji (māk JDBC/EJB, utt), ir Java spēļu programmētāji, kas specializējušies strādāt ar J2ME (Java Micro Edition priekš mobilo telefonu applikācijām spēlēm), utt. Kā tajā reklāmā - "kas der visam, neder nekam".

  15. Konkrētajai lapai "Lūdzu uzgaidiet" ir tik tiešām nepieciešams. Ar manu ~10Mbps pieslēgumu, jauns tabs atveras apmēram 15 sekundes. Droši vien tas ir tāds pagaidu risinājums, kamēr tiek atrasts kāds, kas salabos ar līkām rociņām rakstītos kverijus.

  16. Varbūt IE nepatīk, ka Tu mēģini nolasīt rezultātu ("alert(xhrObj.responseText);") vēl pirms tas tiek atgriezts? Tieši tur jau tas asinhronums (no Ajax) arī izpaužas - rezultāts var atnākt arī vēlāk.

     

    Pirms "xhrObj.send" ieliec kaut ko apmēram šādu:

    var me = this;
    xhrObj.onreadystatechange = function() {
    if(me.xhrObj.readyState == 4) {
    	if(me.xhrObj.responseText) {
    		alert(xhrObj.responseText);
    	}
    }
    };

  17. Java:

     

    Plusi:

    1) drošāka (izmanto gandrīz visas internetbankas)

    2) labāk piemērota lieliem projektiem (jau no dzimšanas ir pieejami private keywords, utt.)

    3) aktīvs atbalsts no "lielajiem vaļiem" - Sun Microsystems, IBM, utt.

     

    Mīnusi:

    1) lai redzētu veiktās izmaiņas, var nākties pārstartēt webserveri. Atsevišķos gadījumos no tā gan var izvairīties.

    2) diezgan sarežģīta (no pirmās web lapas līdz pirmajam sertifikātam man pagāja kādi 3 gadi)

    3) dēļ 2 punkta ir mazāk javas programmētāju, tādēļ projekti izmaksā vairāk

    4) prasa diezgan daudz operatīvo atmiņu

    5) daudzi webhosti nepiedāvā hostēt javas applikācijas

×
×
  • Create New...