Visualizzazione dei risultati da 1 a 10 su 30

Hybrid View

  1. #1
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,509
    Certo che si può, ma risulta molto più complicato stare dietro a tutto.

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    306
    Quote Originariamente inviata da Alhazred Visualizza il messaggio
    Certo che si può, ma risulta molto più complicato stare dietro a tutto.
    esatto

    il problema che mi pongo nella programmazione, per cui non ne volevo sapere nulla e che mi ha portato a non lavorare per due/tre anni , era che devi tenere a mente tremila cose che non so gestire tutte e perdo le giornate intere senza risolvere, ed io che tengo alle cose a fine giornata sono distrutto e demoralizzato.

    Io infatti nel primo post, volevo proprio chiedere di capire come bisogna ragionare riga di codice per riga di codice per poter programmare con una certa filosofia ("dividi et impera") e non perdermi in ragionamenti che non portano a nulla

  3. #3
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    Quote Originariamente inviata da Alfoxx Visualizza il messaggio
    Io infatti nel primo post, volevo proprio chiedere di capire come bisogna ragionare riga di codice per riga di codice per poter programmare con una certa filosofia ("dividi et impera") e non perdermi in ragionamenti che non portano a nulla
    questo però porta il discorso su un piano diverso, non solo allo sviluppo del codice ma alla progettazione
    io ti dico come mi approccio io ad un problema, considera che sono un appassionato autodidatta:
    - guardo attentamente all'obiettivo che si vuole ottenere
    - verifico quali sono i dati in input al problema e alla loro struttura (il file di testo nel tuo caso)
    - disegno mentalmente il flusso di lavoro
    - scompongo il flusso di lavoro in parti definite
    - progetto cosa deve fare ogni singola parte del codice guardando anche ai sistemi da utilizzare (DB, file di output, uso di dati in memoria, ecc) ed al riutilizzo del codice (creazione di oggetti o di funzioni)
    - sviluppo le parti di codice in ordine di esecuzione (nel tuo caso, apertura del file, recupero dei dati, inserimento dei dati in una struttura più flessibile di quella originale, ecc)
    - testo il codice parte per parte e lo risistemo per correggere i bug o efficientarlo

    Ovviamente, ognuno ha il suo percorso di "produzione" ed esistono varie tecniche e processi strutturati da applicare (mi vengono in mente lo sviluppo AGILE, le tecniche MVC, il paradigma Test Driven Development e tanti altri)

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2016
    Messaggi
    112
    Quote Originariamente inviata da clasku Visualizza il messaggio
    questo però porta il discorso su un piano diverso, non solo allo sviluppo del codice ma alla progettazione
    io ti dico come mi approccio io ad un problema, considera che sono un appassionato autodidatta:
    - guardo attentamente all'obiettivo che si vuole ottenere
    - verifico quali sono i dati in input al problema e alla loro struttura (il file di testo nel tuo caso)
    - disegno mentalmente il flusso di lavoro
    - scompongo il flusso di lavoro in parti definite
    - progetto cosa deve fare ogni singola parte del codice guardando anche ai sistemi da utilizzare (DB, file di output, uso di dati in memoria, ecc) ed al riutilizzo del codice (creazione di oggetti o di funzioni)
    - sviluppo le parti di codice in ordine di esecuzione (nel tuo caso, apertura del file, recupero dei dati, inserimento dei dati in una struttura più flessibile di quella originale, ecc)
    - testo il codice parte per parte e lo risistemo per correggere i bug o efficientarlo

    Ovviamente, ognuno ha il suo percorso di "produzione" ed esistono varie tecniche e processi strutturati da applicare (mi vengono in mente lo sviluppo AGILE, le tecniche MVC, il paradigma Test Driven Development e tanti altri)
    Bravissimo. Permettimi di aggiungere l'ultimo tassello a quanto hai detto ovvero ricercare gli effetti collaterali. Ovvero prevenire "input" indesiderati che possono compromettere il normale funzionamento del codice. In altre parole validare opportunamente l'input implementando una adeguata gestione degli errori.

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    306
    grazie ragazzi per i vostri interventi.
    Penso che questa parte del ragionamento è da affinare, per riuscire bene a fare cose e non perdersi
    - disegno mentalmente il flusso di lavoro
    - scompongo il flusso di lavoro in parti definite
    - progetto cosa deve fare ogni singola parte del codice guardando anche ai sistemi da utilizzare (DB, file di output, uso di dati in memoria, ecc) ed al riutilizzo del codice (creazione di oggetti o di funzioni)
    Con questo problema io ho pensato inizialmente che il programma apre il file ed esegue il ciclo while, ad ogni ciclo si chiama la funzione che apre anche'essa lo stesso file.
    all'inizio non ragionando immaginavo che sia il programma che la funzione leggessero lo stesso indirizzo e quindi dovevo fare in modo da memorizzare i vecchi indirizzi per poterli confrontare. Poi ho ragionato sul fatto che la funzione con il suo ciclo while non leggeva lo stesso indirizzo, mi sono inventato dei contatori per memorrizzare tre indirizzi diversi....insomma un sacco di cose che non hanno portato a nulla.

    Fra alcuni giorni cmq mi metto a ragionare sull'ultimo codice che mi è stato proposto e lo studio ben bene, in modo da ricavare anche un modo di ragionare per questa fase della progettazione del codice.

    Intanto vi auguro buon fine settima e buon ferragosto a tutti.
    Da ieri mi sono fermato con lo studio, ripartirò fra alcuni gg. Non faccio vacanze, ma sto studiando da tanto tempo e vorrei fermarmi un pochino.
    ciaociao

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    306
    Anche se mi reputo ancora in vacanza, perchè non sto tutto il giorno a studiare, sono riuscito ad avere qualche oretta e ragionare sul problerma.



    Considerando l'ultimo codice di Alhazred ed in particolare questo pezzo di codice

    codice:
    array_key_exists($ip, ${'pulsante_'.$cliccato}) ?
        ${'pulsante_'.$cliccato}[$ip] += 1 :
        ${'pulsante_'.$cliccato}[$ip] = 1;
    
    
    l'ho tradotto così:


    codice:
    if(array_key_exists($indirizzo, ${'sul_pulsante_'.$click})){
        
    
        
        ${'sul_pulsante_'.$click}[$indirizzo] = ${'sul_pulsante_'.$click}[$indirizzo]+1 ;
            
            }else{
                ${'sul_pulsante_'.$click}[$indirizzo] = 1;
                
        }



    quindi prima di ? è come se ci fosse una domanda, ciò che viene dopo è la risposta
    affermativa e poi la risposta negativa separata da :


    quindi se esiste l'indirizzo nell'array un indice pari all'indirizzo, aggiungici 1 a quel
    particolare elemento dell'array


    se non esiste, mettilo nell'array e dacci valore 1


    Corretto?


    Nel primissimo ciclo, quando non ci sono elementi negli array
    con questo assegnamento
    codice:
    ${'sul_pulsante_'.$click}[$indirizzo] = 1
    quindi vado ad inserire
    nell'array sia la chiave ($indirizzo]) che il valore (1)?


    giusto?





    come si può usare la variabile variabile nelle espressioni echo ?
    così


    codice:
    echo" se è presente allora aggiunge 1 all'elemento nell'array $sul_pulsante_.$click ";
    


    non funziona


    se è così nemmeno


    codice:
    echo" se è presente allora aggiunge 1 all'elemento nell'array ${'sul_pulsante_'.$click} ";
    Ultima modifica di Alfoxx; 17-08-2016 a 16:02

  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    306
    mi sono reso conto solo adesso che poichè ho rifatto il programma può sembrare che quelle variabili che ho scritto nel messaggio precedente non dipendono da nulla.

    Il codice che ho scritto io è

    codice:
    $sul_pulsante_p1=array(); //definisco due array
    $sul_pulsante_p2=array();
    $clicktotali=0;  //contatore dei click totali ricevuti dai due indirizzi
    
    
    $textfile = fopen("test.txt", "r"); //apro il file da contare
    
    
    
    
    while ( $rigafile=fgets($textfile,1024) ) {
        $campiriga = explode("|", $rigafile); //estraggo tutti i campi di riga
        $click=$campiriga[0]; //prelevo da ogni riga il campo relativo al click
        $indirizzo=$campiriga[2]; //prelevo da ogni riga il campo relativo all'indirizzo
        $clicktotali++;
    Quindi il codice di Alhazred

    codice:
    array_key_exists($ip, ${'pulsante_'.$cliccato}) ?
        ${'pulsante_'.$cliccato}[$ip] += 1 :
        ${'pulsante_'.$cliccato}[$ip] = 1;
    l'ho trasformato così
    codice:
    if(array_key_exists($indirizzo, ${'sul_pulsante_'.$click})){    
                    
        ${'sul_pulsante_'.$click}[$indirizzo] = ${'sul_pulsante_'.$click}[$indirizzo]+1 ;
    
            }else{
                ${'sul_pulsante_'.$click}[$indirizzo] = 1;
                  }
    ovviamente rimangono le domande di prima

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.