gabaman

Hozzászólások

10 bejegyzés megtekintése - 931-940 / 2,173
  • Szerző
    Bejegyzés
  • Hozzászólás: SQL lekerdezes #1971352
    gabaman
    Felhasználó

      Hmm, a PostgreSQL nagyon sok mindent ismer, azt gondoltam jelent vmit, hogy az elején kihangsúlyoztad. Tehát SQL’92 megoldás kell, íme:

      Code:
      SELECT * FROM pelda GROUP BY a HAVING p = MIN(p);

      Problémák:
      – nem hatékony, sokkal lassabb, mint az elõbbi megoldás
      – egyezõ priorításokat nem lehet szûrni: a p = MIN(p) helyett nem lehet betenni részlistát
      – ha ez egy részprobéma, akkor a részmegoldások nem minden esetben vagy rendkívül nehezen kombinálhatóak
      – a GROUP BY a feltételben az a értékeit nem lehet behelyettesíteni (késõbb gond lehet)

      Hozzászólás: SQL lekerdezes #1971350
      gabaman
      Felhasználó

        Tehát az A és a B között 1:N kapcsolat van, lekérdezéseknél az 1:1 leképezést a min(P) bevezetésével oldod meg. Azaz a lekérdezés: SELECT * FROM pelda WHERE a=”A” ORDER BY p ASC LIMIT 1 minden egyes A sorra.

        Vhogy így oldanám meg a problémát (röviden, mert sietek):

        Code:
        CREATE TABLE pelda (
         id NUMERIC,
         a NUMERIC,
         b NUMERIC,
         p NUMERIC);

        CREATE TABLE pelda_seged (
         a NUMERIC,
         id NUMERIC);

        CREATE PROCEDURE insert (A NUMERIC, B NUMERIC, P NUMERIC) AS
         BEGIN
           i NUMERIC;
           ptr NUMERIC;
           INSERT INTO pelda (a, b, p) VALUES (A, B, P);
           i = SELECT COUNT(*) FROM pelda WHERE a=A;
           IF i=0 THEN
             ptr = SELECT id FROM pelda WHERE a=A;
             INSERT INTO pelda_seged VALUES (ptr, A);
           ELSE
             ptr = SELECT id FROM pelda WHERE a=A ORDER BY p ASC LIMIT 1;
             UPDATE pelda_seged SET id = ptr, a=A;
           ENDIF
         END;

        CREATE PROCEDURE delete (A NUMERIC, B NUMERIC, P NUMERIC) AS
         BEGIN
           i NUMERIC;
           ptr NUMERIC;
           DELETE FROM pelda WHERE a=A, b=B, p=P;
           i = SELECT COUNT(*) FROM pelda WHERE a=A;
           IF i=0 THEN
             DELETE FROM pelda_seged WHERE a=A;
           ELSE
             ptr = SELECT id FROM pelda WHERE a=A ORDER BY p ASC LIMIT 1;
             UPDATE pelda_seged SET id = ptr, a=A;
           ENDIF
         END;

        Lekerdezes:
        SELECT pelda.* FROM pelda, pelda_seged WHERE pelda.id = pelda_seged.id;

        Hozzászólás: szövegfelolvasó program linuxra #1970995
        gabaman
        Felhasználó

          szevasztok, érdekelne,  hogy van e szövegfelolvasó, vagy diktáló program linuxra, elég ha angolul tud, és ha igen, honnan lehet ezeket letölteni. köszi

          Természetesen létezik, méghozzá minden nagyobb disztrib alapvetõ része (festival és festvox). Magyarul sajnos nem tudnak (ha jól tudom), de van egy FlexVoice nevû magyarul beszélõ progi, de az kereskedelmi termék.

          http://www.cstr.ed.ac.uk/projects/festival/
          http://festvox.org/

          http://freshmeat.net/browse/124/

          http://www.flexvoice.com/

          Hozzászólás: Programok fordítísa különbözõ nyelvekre #1970448
          gabaman
          Felhasználó

            Tehát a forráskódból szeretnéd kibányászni a fordítandó sorokat? Sajnos kissé kuszán írtad le, így nem egyértelmû. Ha igen, akkor a gettext-re van szükséged.

            http://www.gnu.org/software/gettext/manual…no/gettext.html
            http://www.szabilinux.hu/forditasok/gnome-faq/i18n.html

            Hozzászólás: streamek #1970445
            gabaman
            Felhasználó

              Két lehetõséged van: vagy egymás után, vagy párhuzamosan adod át az adatokat.

              A soros megoldás:
              Parancs: progi1 | progi2
              Progi2 kódvázlat (csak C-s, de C++-ban is mûködik):

              Code:
              #include
              #include
              #include [I]

              int main (int argc, char- argv[])
              {
               int fd[2];

               pipe (fd);

               (…)

               read (fd[0], inputbuf, bufsize);

               (…)

               close (fd[0]);
               close (fd[1]);
              }

              a pipe() lényegében két fájlt nyit meg, az fd[0] a bejövõ, az fd[1] a fimenõ adatforgalom.

              Párhuzamos megoldásokat csak felsorolom: named pipe, socket, shared memory (System V IPC).

              Bõvebben:
              http://www.tldp.org/LDP/lpg/

              Hozzászólás: Winex CVS fordításakor hiba #1967841
              gabaman
              Felhasználó

                Hmm, egyáltalán melyik vátlozatot próbálod lefordítani? Sztm elfelejtetted (vagy nem tudod), hogy a stabil és a fejlesztõi változat letöltését csak egy hajszál választja el, ha CVS-bõl töltesz.

                Hozzászólás: Winex CVS fordításakor hiba #1967839
                gabaman
                Felhasználó

                  A *.d fájlok 99%-ban a függõségi adatokat tartalmaznak. Néhol autómatikusan létrejönnek, máshol meg külön paranccsal kell létrehozni õket.

                  gabaman
                  Felhasználó

                    Az ékezetekkel annyi a baj, hogy a text/plain típusú tartalomnál 7 bites kódolás van, és néhány news motor nem, vagy hibásan végzi el a 7->8 bites konverziót, az utf8-as text/html tartalmú leveleket meg pár helyen helybõl visszadobják.

                    Pl. rossz kódolással:

                    ARISZTID Tasziló => ARISZTID Taszil=F3
                    Sárási Péter => S=E1r=E1si P=E9ter

                    A másik probléma, hogy a latin-1-es karakterkészletben (iso8859-1) nincsen hosszú

                    gabaman
                    Felhasználó

                      Angol nyelvû fórumoknál inkább a vastag betûs vezetéknevet szokásos használni, és az egész nevet ékezetek nélkül.

                      Hozzászólás: gcc3.1 +java #1938168
                      gabaman
                      Felhasználó

                        Ez engem is érdekelne, mivel a Mandrake-t a 6.0-tól használom, de ilyen gondom sosem volt. A java plugint egyszerû megoldani, a gcc3.1 meg már alapértelmezett dolog. Talán már a 9.0-tól.
                        [align=right][snapback]54068[/snapback][/align]

                        Réggebben elég sok problémát okozott, hogy a 3.x-es GCC-vel fordított C++ kód nem kompatibilis a 2.xx szériával. Ezért a 3.1-es GCC-vel fordított mozillánál nem lehetett betölteni a 2.95-tel fordított java plugint, vagy a flash-t. Ez utóbbit sajna még újrafordítani sem lehet.

                      10 bejegyzés megtekintése - 931-940 / 2,173