Gå til innhold

kjey

Medlemmer
  • Innlegg

    348
  • Ble med

  • Besøkte siden sist

Innlegg skrevet av kjey

  1. Edorph: Har tenkt på noe av det samme som du eier, og er helt klart enig!

     

    Jeg snublet også over OIS sin signatur, "7 gode PHP OO vaner", som jeg synes forklarte litt :thumbup:

     

    Men et spørsmål angående planlegging av systemet: Er det nødvendig å planlegge hele systemet med én gang, eller holder det å ta del for del underveis? Synes det ihvertfall er litt vanskelig å visualisere alle klassene osv i systemet når jeg ikke har laget et lignende system før.

     

    Ihvertfall, takk for gode svar!

  2. Ja, det går jo det. Problemet er at jeg ikke ser noe vits i å gjøre det, kan jo heller bare lage metodene i User uten å implementere et interface. Slik jeg har forstått det skal jo interface brukes for sikre at klassene som implementerer dem har samme metoder som i interfacet. Men når jeg bare har én klasse som får bruk for UserManager ser jeg ikke helt vitsen.

  3. Hei.

     

    Begynte min "programmeringskarriere" med PHP, før jeg begynte på Java. Nå er jeg igjen på PHP'en og skal nå, med en kamerat, begynne å lage et meget stort nyhetsscript/system (noe ala Wordpress, bare mye mindre selvfølgelig!). Vi er nå i planlegginsfasen og prøver derfor å få ned noe på papiret (UML klassediagrammer, funksjonelle krav mm.).Det jeg fort oppdaget da jeg skulle sette meg ned med UML var at PHP er en del forskjellig fra Java. Altså, jeg synes så mange av metodene til de forskjellige klassene kunne være static i og med at funksjonene ikke hadde noe særlig med klassene å gjøre. F.eks. jeg har en klasse som heter User som holder all informasjon om en bruker. Så ville jeg ha en klasse UserManager som inneholder all funksjonalitet som kan utføres på brukeren. F.eks. registrering, sletting osv. Men disse funksjonene har jo ikke noe med UserManager å gjøre, så derfor ble alle metodene static. Er det egentlig noe vits å ha en egen klasse som håndterer brukerne da, når jeg like så greit kan klare meg med gode gamle funksjoner?

     

    Som dere sikkert skjønner er det design av klassene jeg synes er vanskeligere i PHP. Da jeg programmerte med Java var det veldig mye arv og bruk av interface rett og slett fordi det fikk alt til å stemme, men foreløpig har jeg ikke sett ett tilfelle hvor disse kraftige verktøyene kan brukes :thumbdown: Da får jeg rett og slett en følelse av at jeg tenker helt feil, og det gjør jeg nok!

     

    Håper noen har noen kloke ord! :new_woot:

  4. Jeg har nå brukt LYX en liten stund og er veldig fornøyd med programmet, men det er et par ting jeg ikke får til. Når jeg skal bruke floats (da tenker jeg spesielt Algorithm) kan jeg ikke bruke indention. Hvis jeg skal skrive en pseudokode nå blir det seenes slik ut:

    Algorithm 1 Navn på algoritme

    Input x

    While x > 0 do

    x = x - 1

    Output x

    Et av problemene er at selv om jeg setter dokumentspråket til norsk dukker ordet "Algorithm" pluss et nummer opp. Jeg vil gjerne at koden skal se noe slik ut:

    Algoritme 1 Navn på algoritme

    1. Input x

    2. While x > 0 do

    3. ___x = x - 1

    4. Output x

     

    Har sett at det noen pakker man kan laste ned for å få til dette. Så spørsmålet mitt er hvor jeg kan finne en slik pakke, og spesielt hvordan jeg kan installere den? (Jeg bruker Ubuntu 8.04)

  5. Hvis du vet hvor mange plasser du trenger bruker du vanlige arrayer. De opprettes slik:

     

    Object[] tabell = new Object[antall_plasser]; // Object: String, Person, Leietager etc.

    datatype[] tabell2 = new datatype[antall_plasser]; // datatype: int, char, double etc.

     

    Hvis det er snakk om å legge inn objekter mens programmet kjører manuelt, vet du jo ikke helt sikkert hvor mange objekter du vil legge til. Det kan derfor være lurt å bruke HashMap (spesielt hvis du vil søke etter objekter senere) eller ArrayList (tror HashMap er en viktig del av oblig 3). Forskjellen på en array og slike datastrukturer er at java automatisk utvider størrelsene ettersom du legger inn objekter i HashMap og ArrayList. Hvis du bruker vanlige arrayer vil størrelsen være konstant, og du kan da risikere og få en ArrayOutOfBoundsException som du sikkert kjenner til. :p

     

    Hvis du sliter i å skjønne arrayer er det jo ikke værre enn å lese i læreboka?

  6. Se om dere skjønner denne koden:

     

    String noe = "hei på deg, hei hei!";
    String sokeord = "hei";
    int teller = 0;
    int i = 0;
    
    for(int n = 0; n < noe.length(); n++) {
    if(noe.indexOf(sokeord, i) != -1) { // Funnet et "hei" =D
    	teller++;
    	i = noe.indexOf(sokeord, i) + 1; 
    	System.out.println("Funnet \'" + sokeord + "\', indeks: " + (i - 1));
    }
    }
    System.out.println("Ordet " + sokeord + " forekommer " + teller + " ganger.");

     

    Poenget er at du må bruke versjonen av indexOf() som kan starte å søke på en gitt index. Når du finner det første ordet i dette eksemplet står du på index 0, for "hei" eller altså "h" ligger i index 0. Da setter du "i" til denne indexen og plusser på 1 slik at du kommer deg et hakk videre i strengen. Neste gang den kjører igjennom begynner indexOf() å søke fra "1" til den kommer til "12" hvor neste "hei" står. setter i til 12+1 og søker videre.

     

    Vet ikke om dette er den optimale måten, men den fungerer ihvertfall (så vidt jeg vet) :innocent:

  7. public int hentPris()
       {
           String gruppe = hentAldersgruppe();
    
           if (gruppe.equals("voksen")) {
               return 200;
           }
           if (gruppe.equals("honnør")) {
               return 100;
           }
           if (gruppe.equals("barn")) {
               return 100;
           }
           return pris;
    }

    Kanskje dette hjelper? Du kan ikke deklarere en ny "String gruppe" uten å tilordne den noen verdi.

     

    Edit: Angående "identifier": du lager metoden hentPris, du kaller jo ikke på den. Det du har gjort feil er å kalle på en metode inne i parameterlisten til hentPris, men det går jo ikke. Altså det kompilatoren mener med <identifier expected> er at du må oppgi datatypen til argumentet, f.eks: public int hentPris(String gruppe). Her er "gruppe" parameter til metoden hentPris. Du hadde skrevet: public int hentPris(hentAldersgruppe()), og det går ikke.

  8. Takk for tipsene! Jeg skal helt klart planlegge godt i forveien, men prøver å lage meg en desktop-løsning for å se at jeg ihvertfall får det til, så skal jeg starte igjen fra scratch å skrive interfacene og de grunnleggende funksjonene til systemet, og til slutt fikse GUI'et.

     

    Men i sammenheng med at desktopen skal vises gjennom en web-browser (applet) så dukker det opp noen problemer... Jeg leste på sun sine sider om appleter, og der står det er en del begrensninger som en applet har. Jeg skriver opp de som hindrer i mitt tilfelle:

     

    - It cannot ordinarily read or write files on the host that's executing it.

    It cannot start any program on the host that's executing it.

     

    Betyr dette at en applet er nytteløst, eller mener de bare at man ikke kan accessere filer osv direkte fra appleten, men at man heller må bruke socketer (kan ikke mye om det enda)? Jeg husker jeg sendte en mail til hosten av webhotellet mitt (one.com), og der spurte jeg om jeg kunne logge inn på databasen min fra et java-program på min maskin, og de svarte nei. Er det vanlig at man ikke kan håndtere filer også fra "utestående" programmer?

  9. Ja, skjønner, var noe i den duren jeg hadde tenkt. Det som er "vanskelig" fra mitt ståsted er hvordan jeg skal få til selve brukergrensesnittet med drag and drop osv. Men takk for hjelpen ihvertfall! Skal se hva jeg finner på. Hvis det blir noe av dette systemet skal jeg ihvertfall opprette en tråd om prosjektet for videre feedback.

     

    Forresten, et spørsmål til. Siden systemet sannsynligvis skal ha annen funksjonalitet enn bare å laste opp filer osv, spørsmålet er da hva annet nyttig man kan gjøre med en server? Kan man beskytte filer for nedlastning? Kan man passordbeskytte områder? Altså hva annet ville dere sett som nyttig i et server-system?

  10. Hehe, jeg vet det ikke er et OS, derfor jeg brukte "" ;) Jeg vet rett og slett ikke hva det er for noe, fordi jeg ikke har bestemt meg for hva programmet skal gjøre for noe, men det jeg er mest interessert i er å lage et desktop system som kan laste opp filer etc.

     

    Grunnen til at jeg liker denne ideen er fordi jeg aldri har sett noen slike systemer som har et så "avansert" gui, og jeg har alltid hatt lyst til å ha et system på mitt eget webhotell hvor jeg kan laste opp dokumenter ol. Men du nevner at du ville løst dette på en annen måte, hva legger du i det?

     

    De grunnleggende kravene til systemet er ihvertfall filbehandling på serveren via et desktop-lignende GUI. Systemet må også ligge på selve serveren i og med at det skal være tilgjengelig overalt, uten å måtte laste ned programmet på maskinen.

  11. Ja, hadde tenkt å bruke swing. Hvis jeg forklarte litt dårlig så skal utseende på programmet være et skrivebord (som i linux, windows) med mapper man kan trykke på og filer man åpne/laste ned. I f.eks. JFileChooser er vel noe lignende allerede implementert for å lett kunne navigere gjennom filene på operativsystemet, men vet ikke noe om hvordan de har klart det.

     

    Spørsmålet mitt er bare en del av hele ideen min til dette programmet, jeg driver nemlig å tenker på å lage et slags "desktop OS" til servere som skal ha en del funksjonalitet. Programmet skal kanskje være en applet hvor eieren av serveren kan logge seg inn (via nettleseren) på serveren sin og bruke "OS'et" som et slags ftp-program og sikkert noe annet også. Jeg har ikke fått noe særlig ned på arket, og vet ikke om det er gjennomførbart, men skal prøve meg litt fram så får vi se. Tenker jeg legger ut en detaljert beskrivelse av prosjektet her på forumet hvis jeg planlegger å gjennomføre det. Tenkte ihvertfall i første omgang å lage en "prototype" som kan vises fram, så kanskje flere blir interessert i prosjektet og vil bidra. Men som sagt, jeg bare leker litt med ideen.

  12. Hei.

     

    Tenkte jeg skulle lage et java program som viser innholdet (filer/mapper) til en server. Poenget da er at filene og mappene skal vises akkurat som de gjør i et desktop OS som linux, windows etc. Finnes det et ferdig desktop som man kan bruke, eller må jeg designe alt selv med grafikk, bevegelseslyttere ol?

  13. Jeg bruker C fordi det er det språket jeg vil lære meg ;) Kommer garantert borti C++ også, men akkurat nå er det C som er tingen.

     

    Men uansett. Jeg har googlet en del og funnet noe, men ingenting som forklarer godt nok hvordan man kan oppnå dette. Det jeg tenkte litt på er å se på hvordan scanf(), gets() osv er implementert. På den måten kan jeg kanskje luke ut <enter>-mekanismen og heller si at funksjonen skal skifte linje. Har søkt en del på dette også, men kan ikke si at jeg har funnet noen implementasjon av disse funksjonene... Noen som vet hvor man kan finne disse (gjerne hjemmesnekra av vanlige folk)?

  14. Hei. Jeg har nå drevet på C en liten stund og lurer litt på om jeg skal bevege meg litt videre med å begynne på et "større" prosjekt. Det jeg da tenkte var å lage en tekst-editor som brukes via terminal (i Linux), akkurat som f.eks. nano, vim ol, bare mye enklere.

     

    Det første jeg føler jeg må adressere er hvordan terminalen kan bli som en teksteditor. Hvis jeg f.eks. bruker scanf() til å skrive inn tekst og trykker <enter>, kan jeg jo ikke gå tilbake å editere en tidligere linje. Med andre ord: jeg regner med at dette må gjøres på en helt annen måte.

     

    Det jeg da lurer på er om noen av dere har anelse om hvordan dette kan gjøres? Trenger ikke få en løsning på det, men en pekepinne ville ikke skadet :)

     

    Håper noen kan hjelpe!

     

    EDIT: Det jeg muligens trenger er en funksjon (lignende scanf) som ikke avsluttes når man trykker på enter, altså jeg kan lage linjeskift og gå tilbake osv uten at funksjonen returnerer, men aner ikke hvordan dette kan gjøres.

  15. Ja sant det! Fant også ut at allokeringen måtte skje inne i funksjonene... rart :hmm: Men uansett får jeg opp noen warnings, det virker som programmet fungerer, men:

     

    gcc main.c linked_list.c -o Run
    main.c: In function ‘main’:
    main.c:7: warning: incompatible implicit declaration of built-in function 
    ‘malloc’
    linked_list.c: In function ‘linked_list_addLast’:
    linked_list.c:6: warning: incompatible implicit declaration of built-in 
    function ‘malloc’

     

    Er disse noe å bry seg om?

  16. Hei. Driver å lager en liste-implementasjon i C, og sliter litt med noen pekere. Er egentlig ikke noe mer å fortelle, bare vise dere koden:

     

    main.c

    #include <stdio.h>
    #include "datastruct.h"
    
    LINKED_LIST *list;
    
    int main(void) {
    int i = 23, j = 2424, n = -12;
    linked_list_addLast(&i, list);
    return 0;
    }

     

    datastruct.h

    /* Structures and functions for linked lists */
    typedef struct linked_list {
    struct list_node *head;
    struct list_node *tail;
    int size;
    } LINKED_LIST;
    
    typedef struct list_node {
    struct list_node *next;
    void *data;
    } LL_NODE;
    
    void linked_list_addLast(void *data, LINKED_LIST *list);

     

    linked_list.c

    #include <stdio.h>
    #include "datastruct.h"
    
    void linked_list_addLast(void *data, LINKED_LIST *list) {
    LL_NODE *node;
    node->data = data;
    
    if(list->size == 0) {
    	list->head = node;
    	list->tail = node;
    	list->size++;
    } else {
    	list->tail->next = node;
    	list->tail = node;
    	list->size++;
    }
    }

     

    Er veldig fersk i C, så ikke mobb hvis feilen er dum :tease:

     

    På forhånd takk!

  17. Jeg har en database som heter Test jo. Oprettet den via MySQL klienten/kommandolinja. Når jeg skriver "show databases;" kommer den ihvertfall opp.

     

    Men uansett, prøvde endringene, og fikk en annen feilmelding nå:

    java.sql.SQLException: Unexpected exception encountered during query.
      at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1055)
      at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956)
      at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:926)
      at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2581)
      at com.mysql.jdbc.ConnectionImpl.configureClientCharacterSet(ConnectionImpl.java:1751)
      at com.mysql.jdbc.ConnectionImpl.initializePropsFromServer(ConnectionImpl.java:3425)
      at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2045)
      at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:718)
      at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:298)
      at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:282)
      at java.sql.DriverManager.getConnection(libgcj.so.81)
      at java.sql.DriverManager.getConnection(libgcj.so.81)
      at Database.main(Database.java:13)
    Caused by: java.io.CharConversionException
      at gnu.gcj.convert.Input_iconv.read(libgcj.so.81)
      at java.lang.String.init(libgcj.so.81)
      at java.lang.String.<init>(libgcj.so.81)
      at com.mysql.jdbc.SingleByteCharsetConverter.<init>(SingleByteCharsetConverter.java:152)
      at com.mysql.jdbc.SingleByteCharsetConverter.initCharset(SingleByteCharsetConverter.java:107)
      at com.mysql.jdbc.SingleByteCharsetConverter.getInstance(SingleByteCharsetConverter.java:85)
      at com.mysql.jdbc.ConnectionImpl.getCharsetConverter(ConnectionImpl.java:2759)
      at com.mysql.jdbc.StringUtils.getBytes(StringUtils.java:679)
      at com.mysql.jdbc.Buffer.writeStringNoNull(Buffer.java:663)
      at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2025)
      at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2536)
      ...9 more
    

  18. Hei.

     

    Jeg sliter som sagt med å koble til min MySQL database på ubuntu-linuxen min. Jeg bruker Connector/J som databasedriver, men tydeligvis vil ikke Java/OS'et la meg koble på. Her er koden jeg lagde for å prøve og logge meg inn:

     

    import java.sql.Connection;
    import java.sql.DriverManager;
    
    public class DatabaseApp {
    
    public static void main(String[] args) {
    	Database db = new Database("jdbc:mysql://localhost/Test user=root&password=********");
    	db.connect();
    }
    
    }
    
    class Database {
    
    private String url;
    
    public Database(String url) {
    	this.url = url;
    }
    
    public void connect() {
    	try {
    		Class.forName("com.mysql.jdbc.Driver").newInstance();
    		Connection c = DriverManager.getConnection(url);
    		System.out.println("Databasen er oppe å kjører...");
    		c.close();
    	} catch(Exception ex) {
    		System.out.println("Kunne i opprette kontakt med databasen: \n");
    		ex.printStackTrace();
    	}
    }
    }

     

    Når jeg kjører denne koden får jeg dette unntaket:

     

    com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Access denied for user ''@'localhost' to database 'Test user=root&password=********'
      at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1026)
      at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956)
      at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3491)
      at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3423)
      at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:910)
      at com.mysql.jdbc.MysqlIO.secureAuth411(MysqlIO.java:3923)
      at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1273)
      at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2031)
      at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:718)
      at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:298)
      at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:282)
      at java.sql.DriverManager.getConnection(libgcj.so.81)
      at java.sql.DriverManager.getConnection(libgcj.so.81)
      at Database.connect(Database.java:15)
      at DatabaseApp.main(DatabaseApp.java:5)

     

    Noen som kan komme med noen klok forklaring på dette? Fikk en lignende melding da jeg prøvde å kjøre MySQL klienten via terminal, men endret kommandoen fra

     

    $ mysql

     

    til

     

    $ mysql -uroot -p

     

    og da gikk det plutselig fint.

     

    På forhånd takk :D

  19. Hørtes spennende ut! Jeg har faktisk søkt "for moro skyld" på samordna opptak, så kommer til å se til sommeren om jeg kommer inn eller ikke, så får ta valget da. Er som sagt ikke helt sikker, men måtte nok begynt på robotikkstudiet i og med at jeg må ha kalkulus og en del andre mattefag.

     

    Men det står at fysikk fra vgs er anbefalt. Jeg har kun 3MX, men ikke noe fysikk. Ligger jeg da dårlig ann, eller får man en fin sjanse til å henge med uansett?

     

    Jeg er jo også veldig glad i programmering, men hvis jeg har mer programmering enn elektronikk, vil jeg nesten bare kunne få "vanlig" programmeringsjobber, eller har jeg andre kvalifikasjoner som en ren programmerer/systemutvikler ikke har som gjør at jeg har andre muligheter?

     

    Tusen takk for svar!

  20. Hei. Jeg har nå snart fullført 2 semester i informatikk bachelor på UiO. Gjør det ikke så værst, men har problemet at jeg ikke har noe særlig inspirasjon til å jobbe osv. Tanken streifet meg at kanskje jeg er på et litt feil studie. Altså det er noe innenfor IT jeg vil bli, men kanskje jeg ser etter et litt mer "målrettet" studie (hvis jeg kan si det :p). Jeg kom derfor over 5 års profesjonsstudie Robotikk og intelligente systemer.

     

    Dette studie synes jeg høres spennende ut, men vet så lite! Så mitt spørsmål er om noen kanskje kan komme noen kloke ord slik at jeg får flere perspektiver? Er f.eks. noen som har gått/går der? Er det noe marked/jobber for studentene når de er ferdigutdannet?

     

    Setter pris på hvis noen tar seg littegrann tid å svare, hjelper mye!

×
×
  • Opprett ny...