Ugrás a fő tartalomra

Bejegyzések

Bejegyzések megjelenítése ebből a hónapból: január, 2022

Szoftver fejlesztés evolúció új szintje az MI, ML belépése

  Hip-hop megjelent a számítógép és megjelent a szoftver amely az önmagában halom vasat értékes eszközzé teszi. A számítógépek fejlődésével együtt járt a szoftver fejlesztése is. Fejlesztő környezetek, eszközök és módszerek is egyre gyorsulva fejlődtek. Hogy is zajlott ez le? Ez a folyamatosan fejlődő operációs rendszerek, azokon nyújtott magasabb szintű szolgáltatások kultúrájának növekedését eredményezte a felhasználói interakciókból származó hatalmas mennyiségű adat gyűjtése, tárolása és feldolgozása és ehhez alkalmazkodás. Az igény a mozgatórugó, amely megköveteli hogy egy-egy alkalmazás/program/szoftver ne évente változzon hanem képes legyen hetente megújulni. Most ne is beszéljünk a biztonság, adatvédelem, BigData szorító kényszereiről mert az más jellegű aspektus felé kormányozna bennünket. Hát a teremtés (számító gép létrehozása) után egyből jött a visszajelzés, hogy ez jó. Hogy mire? Milyen módon? Mennyire? Miért? .. még nem volt világos a szegényes elinduláskor mutatott jelle

Adatbázis objektumok

Jelen anyagban az objektumok példáinál az oracle adatbázisra jellemzőket használom amelyek más adatbázis kezelő esetében esetleg eltérhetnek. Tábla (Table):  a logikai adattárolás alapegysége, amely sorokból és oszlopokból áll. Megfeleltethető egy relációnak. A táblát egyértelműen azonosíthatjuk a tábla nevével (pl. SCOTT.EMP). Az oszlopokat a nevük, a típusuk és a méretük jellemzi. Egy táblában csak egyféle típusú adatrekordot tárolhatunk. A sorok sorrendje lényegtelen. Egy tábla létrehozásakor meg kell adni a tábla nevét, valamint a tábla oszlopainak nevét, típusát és méretét. Az alábbi ábra egy táblát, és az abban tárolt adatokat mutatja.  Nézet (View):  egy vagy több táblából összeszerkesztett adatok megjelenítésére alkalmas felhasználói objektum. Felfogható úgy is, mint egy tárolt lekérdezés; se nem tartalmaz, se nem tárol (fizikailag) adatot, csak származtatja az adatokat azokból a táblákból, amelyeken értelmezték. Az ilyen táblákat hívjuk a nézet alaptábláinak (base table, maste

Haladó SQL

  Adatbázisok tanulmányozás kezdetén megismerkedünk a relációs adatmodellel, adatmodellezéssel, relációs sématervezéssel, lekérdező nyelvekkel, adat beírás, módosítás, törlés műveletekkel és tranzakciókezeléssel. Érdemes még megismerkedni az adatbázis létrehozásával, majd tábla és nézet létrehozásával, jogosultságok adásával és megvonásával, adatbázis hangolási lehetőségekkel. Az analitikus függvények használatával és egyéb speciális eljárások, függvények használatával. Az adatbáziskezelés speciális lehetőségeivel, különböző indexek használata, megkötések, particionálás, tábla tömörítés, kiterjesztett tábla használat, DbLink és heterogén DbLink használat specifikumaival, a tábla statisztikák frissítésének hasznosságával. Adatbáziskezelő által nyújtott adatmodell objektumok használatának lehetőségivel, hiba és anomália felderítés lehetőségeivel. Külön kitérő lehetőség a tárolt eljárások, függvények írásának lehetősége, ezek csomagba helyezése és JOB-ok készítése, naplózás kialakítása és

SqlDeveloper parancssoros használat

  SqlDeveloper parancssoros / CommandLine (cl) használat Nem csak  grafikus felületről hanem parancssorbol illetve konzolként és sql állomány futtatásként is használható az a program csomag amelyet SqlDeveloper tartalmaz. Csak meg kell keresni és használatba kell venni. SQLcl indítása: (.\sqldeveloper\sqldeveloper\ bin\sql.exe) sql.exe db_nev/db_jelszo   Futtatási módok .\sqldeveloper\sqldeveloper\ bin\sql.exe HN_user/db_jelszo@ szerv.hu : 1521/T1 @c:\Temp\kl.sql pause .\sqldeveloper\sqldeveloper\ bin\sql.exe HN_user/db_jelszo@ szerv.hu : 1521/T1 pause .\sqldeveloper\sqldeveloper\ bin\sql.exe /nolog pause   A cl specialitás: sql /nolog                                                                  ---- a /nolog kapcsoló miatt itt nem kér connection string-et) CONNECT db_nev@db_jelszo/szerver:1521/ sema   ---- a következőképpen kapcsolódhatunk az adatbázisszerverhez: SPOOL <fájlnév>                                                     ---- paranccsal kapcsolható be SQLcl-ben az á

Python SqLite Pyqt5

  Alkalmazás GUI (grafikus felhasználói interfész) generáló modul fejlett alkalmazás létrehozási funkciókkal. Installálása: pip install PyQt5 Alábbi komponensei vannak: QtCore − Core non-GUI classes used by other modules QtGui − Graphical user interface components QtMultimedia − Classes for low-level multimedia programming QtNetwork − Classes for network programming QtOpenGL − OpenGL support classes QtScript − Classes for evaluating Qt Scripts QtSql − Classes for database integration using SQL QtSvg − Classes for displaying the contents of SVG files QtWebKit − Classes for rendering and editing HTML QtXml − Classes for handling XML QtWidgets − Classes for creating classic desktop-style UIs QtDesigner − Classes for extending Qt Designer Egy minimalista képernyő létrehozása from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QVBoxLayout ''' PyQt5 minta    [Klajosw] két gombos kezdő képernyő ''' app = QApplication([]) window = QWidget() window.setWin

Groovy beviteli ablak

  Hogyan kezdjünk hozzá? Legyen felületünk és eseményünk Pár minta program sor import javax.swing.* import java.awt.* import java.awt.event.* frame = new JFrame(size: [300, 300], layout: new FlowLayout(), defaultCloseOperation: javax.swing.WindowConstants.EXIT_ON_CLOSE) button = new JButton("KL GOMB minta") positionLabel = new JLabel("") msgLabel = new JLabel("") frame.contentPane.add button frame.contentPane.add positionLabel frame.contentPane.add msgLabel button.addActionListener( { JOptionPane.showMessageDialog(frame, "Rám klikkeltél!") } as ActionListener ) displayMouseLocation = { positionLabel.setText("$it.x, $it.y") } frame.addMouseListener(displayMouseLocation as MouseListener) frame.addMouseMotionListener(displayMouseLocation as MouseMotionListener) handleFocus = [ focusGained : { msgLabel.setText("Jó látni!") }, focusLost : { msgLabel.setText("Gyere vissza!") } ] button.addFocusListener(handleFocus as Focus

SqlDeveloper debug (hibakeresés)

SQL -en túl van a Pl-Sql melyet nem csak megírni kell, hanem tesztelni is kell és hibakeresési tevékenységet is igényel(-het). A hibakereséshez jog is kell:  - DEBUG CONNECT SESSION  - DEBUG ANY PROCEDURE USE DBMS_DEBUG beállítás  Lépések - Kikeressük a sémából az szükséges procedúrát, függvényt, triggert - Megnyitjuk az adott procedúrát, függvényt, triggert (egyszer rákattintunk) - Begin-End közötti sorokban teszünk egy Breakpoint -ot - Az adott procedúrát, függvényt, triggert kompiláljuk debugra ( Compile for Debug ) - A katicabogár ikonra rákattintva megadjuk az adott procedúra, függvény, trigger paramétereit (ha szükséges azokat megadni), majd az OK gombra rányomva elindítjuk a debugolást. Fontos megjegyzés:  A debug során a sémánk nem fog módosulni! A megjelenített Debug PL/SQL ablakban ha lejjebb görgetünk akkor látni fogjuk, hogy a PL/SQL blokk végén van egy rollback utasítás, ami gondoskodni fog arról, hogy a sémánkban valóban ne történjék változás. A fenti két navigálási menün

Sankey diagram pythonnal

Sankey diagram  A diagramok egyik kedvence, amely lehet bármilyen anyag/információ, vagy bármiféle tárgy vagy közeg áramlását úgy akarjuk ábrázolni úgy, hogy az egymásból történő következések, és az egymáshoz viszonyított arányok és eloszlások egyértelműek legyenek. Az ábrán a két különálló elemet csomópontoknak nevezzük, és kapcsolatoknak a két különféle elem között összeköttetést ezt hivatkozásnak is nevezünk.  Alapvetően a Matplotlib és Plotly csomagok használata szükséges import numpy as np import matplotlib.pyplot as plt from matplotlib.sankey import Sankey fig = plt.figure(figsize = (15,8)) ax = fig.add_subplot(1, 1, 1, xticks=[], yticks=[],                      title="Sankey5") #sankey = Sankey(ax=ax, unit=None) sankey = Sankey(ax=ax, scale=2, offset=1, unit='%') sankey.add(flows=[1.0, -0.3, -0.1, -0.1, -0.5],      #      labels=['Lajos-1', 'Lajos-2', 'Lajos-3', 'Lajos-4', 'lajos-5'],            label='Lajos',    

Groovy alapok 3.

  Műveletek Futtatás script-ként groovy Main.groovy Fordítás Class-ba groovyc Main.groovy   Futtatás java Class-ként java -cp .;c:\Users\kecskemetil\Documents\prg\groovy-3.0.8\lib\* Main   Fordítás JAR-ba jar cvf myclasses.jar -C classes   Groovy konzol használata Szerkesztés és futtatás Minta XML (file)   def ErsteBankStatements = new XmlSlurper().parse(new File('c://Temp//kl//ebhtsym3//utl_file_ebhtsym3_20220103//STTD_20220103_001ZIR_EM_EHEH_1_EBE_F_E.xml')) for (Setting in ErsteBankStatements.Setting) { println "${Setting.BANK_NAME} " } for (Statement in ErsteBankStatements.Statement) { println "${Statement.STMT_SEQ}  " }   for (Account in ErsteBankStatements.Statement.Account) { println " ${Account.ACCOUNT_NO} " }     Minta XML (stuktura)   def text = ''' <customers> <corporate>     <customer name="Lajos Kecskeméti" company="ERSTE" />     <customer name=