<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Hali!<br>
    <br>
    Wow, thx, szerintem teljesen jó. Viszont akkor JUnit/JDBC teljesen
    kiihúzva?<br>
    <br>
    Az alapfeladat szövegén annyit változtatnék, hogy ne <i>null</i>
    értéket adjon vissza (socketen lehetne hibaüzenet is).<br>
    <br>
    Egy minimális kommunikációs példát belerakhatnánk, ilyesmit, hogy:<br>
    <blockquote><small><tt>Kliens 1:<br>
              Üzenet:<br>
                  write 1 message one<br>
              Válasz:<br>
                  OK ...<br>
              Blackboard tartalma:<br>
                  1 --> message one<br>
          <br>
          Kliens 2:<br>
              Üzenet:<br>
                  write 1 erroneous message<br>
              Válasz:<br>
                  ERR ...<br>
              Blackboard tartalma:<br>
                  1 --> message one<br>
          <br>
          Kliens 2:<br>
              Üzenet:<br>
                  read 1<br>
              Válasz:<br>
                  OK message one<br>
              Blackboard tartalma:<br>
                  1 --> message one<br>
          <br>
          Kliens 3:<br>
              Üzenet:<br>
                  take 1<br>
              Válasz:<br>
                  OK message one<br>
              Blackboard tartalma:<br>
                  -</tt></small><br>
    </blockquote>
    Vagy ilyesmi (persze, RMI-vel nem sok értelme van, de kb.
    illusztrálja, mik kellenek).<br>
    <br>
    Szinkronizációt biztos akarunk a kettesért?<br>
    <br>
    Loggerből nem elég, ha egyet csinálnak?<br>
    <br>
    Ne legyen egy +1 feladat, hogy valamelyik kiváltható legyen? (Előző
    félévekben mintha úgy lettek volna, hogy 5 db +1 feladat van, de
    lehet csak rosszul emlékszem.)<br>
    <br>
    My 2 cents - és nagyon köszi!<br>
    Ricsi<br>
    <pre class="moz-signature" cols="72">--
Richard O. Legendi
PhD Student
Eötvös Loránd University, Faculty of Informatics
Department of Programming Languages and Compilers
<a class="moz-txt-link-freetext" href="http://people.inf.elte.hu/legendi/">http://people.inf.elte.hu/legendi/</a>
</pre>
    On 2012.05.15. 21:19, Zaicsek Balázs wrote:
    <blockquote cite="mid:4FB2AC5B.5050508@pnyf.inf.elte.hu" type="cite">
      <meta content="text/html; charset=ISO-8859-1"
        http-equiv="Content-Type">
      <tt>Sziasztok!<br>
        <br>
           A következőre gondolok:<br>
      </tt>
      <ul>
        <li><tt>Alap feladat:</tt></li>
        <ul>
          <li><tt>Egy BlackBoard, amire mindenki szabadon helyezhet el
              üzeneteket</tt></li>
          <ul>
            <li><tt>Minden üzenetnek van Id-ja, és tartalma (int,
                String)</tt></li>
            <li><tt>Az üzeneteket az id-juk alapján lehet kérni</tt></li>
            <li><tt>Az üzenet ID-ját a kliens határozza meg, létező ID
                újraelhelyezése hibajelzést ad (szabadon eldönthető,
                hogy milyet)<br>
              </tt></li>
          </ul>
          <li><tt>Egy üzenetet lehet olvasni (read)</tt></li>
          <ul>
            <li><tt>Ha nincs a kért ID-jú üzenet, a visszatérési érték
                null<br>
              </tt></li>
          </ul>
          <li><tt>Egy üzenetet lehet elhelyezni (write)</tt></li>
          <li><tt>Egy üzenetet le lehet venni a BlackBoard-ról (take)</tt></li>
          <ul>
            <li><tt>Ha nincs a kért ID-jú üzenet, a visszatérési érték
                null<br>
              </tt></li>
          </ul>
          <li><tt>Oldja meg a helyes szinkronizációt, és készítse fel a
              rendszert több kliensre</tt></li>
        </ul>
        <li><tt>Hármasért:</tt></li>
        <ul>
          <li><tt>Írj Logger-t a BlackBoard-hoz</tt></li>
          <li><tt>Ha az előzőt RMI-vel írtad, ezt Socket-ekkel készítsd,
              és fordítva</tt></li>
          <li><tt>A Logger magától kéri el a BlackBoard aktuális
              állapotát, és ennek gyakorisága parancssori paraméter</tt></li>
          <li><tt>Ha a Logger csak egy paramétert kap, akkor a konzolra
              ír, ha 2-t, akkor a második paraméterként kapott file-ba</tt></li>
          <li><tt>A Loggernek a konzolról lehet parancsot küldeni</tt></li>
          <ul>
            <li><tt>"force" -- azonnali üzenet lekérés</tt></li>
            <li><tt>"exit" -- kilép</tt></li>
          </ul>
          <li>Több Logger is futhasson egy időben</li>
        </ul>
        <li>+1 jegy:</li>
        <ul>
          <li> Ha valaki olyan ID-val kér üzenetet, ami nincs, akkor
            addig várakozzon a kérése, amíg ilyen ID-jú üzenet nem
            érkezik a BlackBoard-ra</li>
        </ul>
        <li>+1 jegy:</li>
        <ul>
          <li>Mirror készítése</li>
          <li>Akárhány Mirror lehet egy BlackBoard-hoz</li>
          <li>A Mirror magától regisztrál a BlackBoard-ra</li>
          <li>A Mirrorok kezdeti állapotát a BlackBoard beállítja</li>
          <li>A Mirrorok állapotát a BlackBoard tartja karban</li>
        </ul>
      </ul>
      <p>Szerintem ez így kerek, és megfelelően nehezedő feladat. Nem
        lesz sok ötös, de ha valaki 2-est, 3-ast szeretne, az viszonylag
        könnyen megkapja. Szerintetek?<br>
      </p>
      <p>Balu<br>
      </p>
      <br>
      <br>
      <br>
      2012.05.15. 10:19 keltezéssel, Richard O. Legendi írta:
      <blockquote cite="mid:4FB21195.3020200@elte.hu" type="cite">
        <meta content="text/html; charset=ISO-8859-1"
          http-equiv="Content-Type">
        Örülnék is neki!<br>
        Ricsi<br>
        <pre class="moz-signature" cols="72">Richard O. Legendi
PhD Student
Eötvös Loránd University, Faculty of Informatics
Department of Programming Languages and Compilers
<a moz-do-not-send="true" class="moz-txt-link-freetext" href="http://people.inf.elte.hu/legendi/">http://people.inf.elte.hu/legendi/</a>
</pre>
        <br>
        On 2012.05.15. 9:37, Zaicsek Balázs wrote:
        <blockquote cite="mid:4FB207B3.6050803@pnyf.inf.elte.hu"
          type="cite">
          <meta content="text/html; charset=ISO-8859-1"
            http-equiv="Content-Type">
          Hi!<br>
          <br>
             Alapvetően jó, csak nekem egy kicsit bonyolult, ha
          belerakhatok pár javaslatot, szólj!<br>
          <br>
          Balu<br>
          <br>
          2012.05.14. 13:23 keltezéssel, Richard O. Legendi írta:
          <blockquote cite="mid:4FB0EB2D.1080102@elte.hu" type="cite">
            <meta http-equiv="content-type" content="text/html;
              charset=ISO-8859-1">
            Sziasztok!<br>
            <br>
            Múltkor Balu említette hogy szívesen írna ki feladatot, én
            örülnék neki.<br>
            <br>
            Ötletem nekem is lenne, csak nem biztos, hogy le tudom
            kerekíteni: valami minimális Linda rendszert lehetne íratni
            velük, az nem túl bonyolult.<br>
            <br>
            Legyen egy központ (space/blackboard), ahová kliensek tudnak<i>
              write()</i>-olni, <i>read()</i>-elni, meg <i>take()</i>-elni


            feladatokat (mint pl. a JavaSpaces-ben, ha ismeritek).
            Konkrétan <i>(ID, String)</i> típusú üzenetekre gondoltam.
            Lehetne <i>ID</i> alapján szűrni az üzenetekre, esetleg <i>*</i>-ozni,

            hogy azt az üzenetet bárki olvashatja, elveheti, etc. A
            kommunikációt megoldhatnák RMI-vel vagy sockettel, amelyik
            jobban tetszik vagy megy nekik. Kettesért ennek kéne mennie
            (pl. 2 konzolos klienssel, a blackboard tartalmát kéne még
            tudni listázni, hogy ellenőrizni tudjuk a működést).<br>
            <br>
            További feladatok tetszés szerinti sorrendben megoldhatók
            (több is van, ha valamelyik problémás esetleg).<br>
            <br>
            +1 jegy Felkészítés N db kliensre, megfelelő
            szinkronizációval. Legyen egy író, meg egy olvasó kliens,
            ami x időnként pakolászik meg olvas.<br>
            <br>
            +1 jegyért Checkpointing: lehessen kérni backupot JDBC-vel
            az aktuális tartalommal, valamint annak visszaállítását is
            (az aktuális tartalom eldobásával pl.).<br>
            <br>
            +1 jegyért legyenek tesztek (inicializált blackboardon nincs
            üzenet, ha rárakunk egyet, akkor az ott van, ha valaki csak
            olvassa, akkor még mindig ott van, ha a címzett leveszi,
            akkor meg megint nincs ott, etc.).<br>
            <br>
            +1 jegyért üzenetek naplózása: legyen valami logger worker,
            ami minden üzenetet sasol, és logol fájlba (minden felkerülő
            üzenet először a loggernek visz fel a rendszer, majd az
            leveszi, feldolgozza, és visszaírja a feladatot a
            blakcboardra az eredeti címzettnek).<br>
            <br>
            Vélemény? Túl egyszerű, túl bonyolult? Esetleg van már
            másnak konkrét feladatkiírása? :-)<br>
            <br>
            Igyekeztem figyelembe venni, hogy csak Java referencia lesz
            (elvileg, legalábbis nekem ez rémlik), illetve nem árt majd
            gondolom némi segédszöveg a JUnithoz (nem mindenki IDE-zik
            tippre), valamint a Jarokra is szükség van - btw én
            Derby-ztem a srácokkal, mert az alapból van a JDK-ban,
            kivéve talán az 1.6u26-ot, amiből véletlen kihagyták :-)<br>
            <br>
            Comments are welcome,<br>
            Ricsi<br>
            <pre class="moz-signature" cols="72">-- 
Richard O. Legendi
PhD Student
Eötvös Loránd University, Faculty of Informatics
Department of Programming Languages and Compilers
<a moz-do-not-send="true" class="moz-txt-link-freetext" href="http://people.inf.elte.hu/legendi/">http://people.inf.elte.hu/legendi/</a>
</pre>
          </blockquote>
          <br>
          <br>
          <fieldset class="mimeAttachmentHeader"></fieldset>
          <br>
          <pre wrap="">_______________________________________________
Orgyak mailing list
<a moz-do-not-send="true" class="moz-txt-link-abbreviated" href="mailto:Orgyak@plc.inf.elte.hu">Orgyak@plc.inf.elte.hu</a>
<a moz-do-not-send="true" class="moz-txt-link-freetext" href="https://plc.inf.elte.hu/mailman/listinfo/orgyak">https://plc.inf.elte.hu/mailman/listinfo/orgyak</a>
</pre>
        </blockquote>
      </blockquote>
      <br>
    </blockquote>
  </body>
</html>