Išplė&mas. Esamo funkcionalumo papildymas naujomis galimybėmis

Size: px
Start display at page:

Download "Išplė&mas. Esamo funkcionalumo papildymas naujomis galimybėmis"

Transcription

1

2 Išplė&mas Esamo funkcionalumo papildymas naujomis galimybėmis

3 Kam to reikia? Realizuoti naujus įtaisytuosius (built- in) objektų tipus Iškviesti C bibliotekų funkcijas ir sisteminius kvietimus

4 Ko reikia? Reikalingas Python API: Funkcijos Makrokomandos Kintamieji Python.h

5 Paprastas pavyzdys >>> import spam >>> status = spam.system("ls - l")

6 #include <Python.h> // Čia turėtų būti norima C funkcija //Funkcijos API static PyObject * spam_system(pyobject *self, PyObject *args){ const char *command; int sts; if (!PyArg_ParseTuple(args, "s", &command)) return NULL; sts = system(command); if (sts < 0) { //PyErr_SetString(spamError, "System command failed"); return NULL; } return Py_BuildValue("i", sts); }

7 Paaiškinimai (I) Vyksta tiesioginis reikšmių iš Python o į C vertimas. C funkcija visada turi du kintamuosius self ir args self naudojamas realizuojant įtaisytuosius metodus, bet ne funkcijas args yra rodyklė į Python o kortežą (tuple), saugantį argumentus, kur kiekvienas elementas atitinka argumentą vertimo funkcijos argumentų sąrašę. Vertimą atlieka funkcija PyArg_ParseTuple()

8 Paaiškinimai (II) PyArg_ParseTuple grąžina True, jei visi argumentai turi atitinkamą tipą ir būna išsaugoti kintamųjų, kurių adresai perduoti grąžina False, jei perduotas neteisingas argumentų sąrašas Grąžinamas NULL yra klaidos požymis!!! sts yra funkcijos kvietimo rezultatas, bet jį reikia paversti Python o objektų

9 Paaiškinimai (III) Py_BuildValue(tipas, reikšmė) funkcija, verčianti rezultatą į objektą. Reikia nurodyti kokio tipo reikšmė bus verčiama. Jeigu funkcija yra void tipo, tuomet ji vistiek turi grąžinti Python o atitikmenį None Py_None

10 Metodų lentelė static PyMethodDef spammethods[] = { {"system", spam_system, METH_VARARGS, "Execute a shell command."}, {NULL, NULL, 0, NULL} /* Sentinel */ };

11 Paaiškinimai 1 parametras vardas 2 parametras funkcijos API vardas 3 parametras požymis (flag); visada turėtų būti METH_VARARGS [ METH_KEYWORDS]; 0 reiškia pasenusios (obsolete) funkcijos PyArg_ParseTuple naudojimą Jei naudojami vardiniai argumentai, tuomet reikalingas METH_KEYWORDS požymis ir PyArg_ParseTupleAndKeywords() funkcija

12 Inicializavimas Python 2 Python 3 PyMODINIT_FUNC initspam (void){ (void) Py_InitModule ("spam", spammethods); } static struct PyModuleDef spammodule = { PyModuleDef_HEAD_INIT, "spam", // name of module NULL, // module documentation - 1, // size of per- interpreter state spammethods }; PyMODINIT_FUNC PyInit_spam (void){ return PyModule_Create (&spammodule); }

13 Paaiškinimai Python 2 atveju initname() yra inicializuojanti funkcija, kur name yra modulio vardas Py_InitModule(modulio_vardas, metodų_lentelė) Python 3 atveju reikia apsirašyti modulio struktūrą ir tik tada inicializuojamas modulis PyInit_name, kur name yra modulio vardas PyModule_Create(modulio_struktūra)

14 Kompiliavimas distutils paprastas įrankis, trūksta funkcionalumo setuptools iš esmės išplečia distutils apribojimus distribute sujungtas su setuptools distutils2 apleistas projektas distlib - vystomas? bento turėtų pakeisti ankstesnius įrankius. Vystomas?

15 setup.py from distutils.core import setup, Extension module1 = Extension( demo, sources = [ demo.c ]) setup (name = PackageName, version = 1.0, description = This is a demo package, ext_modules = [module1])

16 Pavyzdys from distutils.core import setup from distutils.core import Extension MOD = "spam" module = Extension(MOD, sources = ["spammodule.c"]) setup(name = MOD, ext_modules = [module])

17 Baigiant python3 setup.py build python3 setup.py install python3 setup.py install - - user

18 Reikšmių ver&mas į C Reikšmės verčiamos į C dviejų funkcijų pagalba: PyArg_ParseTuple(PyObject *arg, char *format,...) PyArg_ParseTupleAndKeywords(PyObject *arg, PyObject *kwdict, char *format, char *kwlist[],...)

19 PyArg_ParseTuple(PyObject *arg, char *format,...) Kadangi verčiamas objektas, tai jo struktūra gali būti sudėtinga, bet ją galima apsirašyti *format pagalba s simbolių eilutė (ii)s# dviejų sveikųjų skaičių kortežas ir simbolių eilutė su jos ilgiu s si simbolių eilutė ir galimi papildomai antra simbolių eilutė ir sveikasis skaičius

20 PyArg_ParseTupleAndKeywords(PyObject *arg, PyObject *kwdict, char *format, char *kwlist[],...) arg argumentai kwdict vardiniai argumentai format formatavimas kwlist vardinių argumentų vardų sąrašas int voltage; char *state; static char *kwlist[] = { voltage, state, NULL} PyArg_ParseTupleAndKeywords(args, keywds, i s, kwlist, &voltage, &state)

21 Reikšmių ver&mas į Python ą PyObject *Py_BuildValue(char *format,...) None i sveikas skaičius (ii) dviejų sveikųjų skaičių kortežas s# simbolių eilutė ir ją sudarančių simbolių skaičius [i,i] dviejų sveikųjų skaičių sąrašas {s:i, s:i} - žodynas

22 Rodyklių skaičiavimas (reference count) Metodika skirta atminties nutekėjimo (memory leak) valdymui Kiekvienas objektas turi skaitliuką, kuris padidinamas, kai yra išsaugoma rodyklė į objektą, ir sumažinamas, kai rodyklė ištrinama.

23 Py_INCREF, Py_DECREF Makrosai, atsakingi už objekto rodyklių skaitliukų valdymą Egzistuoja analogiški makrosai Py_XINCREF ir Py_XDECREF Patikrina NULL rodyklių egzistavimą

24 NULL problema Funkcijų argumentai neturėtų būti NULL Funkcijos rezultatas neturėtų būti NULL NULL suprantamas kaip įvykusi klaida Priešingu atveju reikėtų rašyti daug perteklinio kodo NULL rodyklėms suvaldyti

25 Klaidos ir išimtys Išimtys saugomos statinio globalaus kintamojo interpretatoriaus viduje, jei jis yra NULL, išimtis neįvykusi Antrasis globalus kintamasis saugo išimties susijusią reikšmę Trečiasis kintamasis saugo steko pėdsaką (stack traceback) Šie trys kintamieji yra C kalbos ekvivalentas Python o kintamiesiems sys.exc_type, sys.exc_value, sys.exc_traceback

26 Klaidų funkcijos PyErr_SetString(exception_object, string) Išimties objektas paprastai būna iš anksto apibrėžtas objektas kaip PyExc_ZeroDivisionError Simbolių eilutė aprašo klaidos priežastį PyErr_SetFromErrno(exception_argument) PyErr_SetObject(exception, value) bendriausia funkcija PyErr_Occured() leidžia patikrintiar įvyko klaida klaidos objektas arba NULL

27 Klaidų mechanizmas Jei funkcija f kviečia funkciją g ir pastaroji grąžino klaidą, funkcija f taip pat turėtų grąžinti klaidos reikšmę (NULL arba - 1) PyErr_* funkcijų tokiu atveju kviesti papildomai nebereikia Gali pasitaikyti atvejų, kuomet tai vis dėlto daroma tam, kad tiksliau aprašyti klaidą PyErr_Clear() išvalo klaidą jos neperduodant interpretatoriui

28 Nauja klaida Galima sukurti naują klaidą (Python 2 kodas): static PyObject *spamerror; initspam(void){ PyObject *m; spamerror = PyErr_NewException("spam.error", NULL, NULL); Py_INCREF(spamError); PyModule_AddObject(m, "error", spamerror); }

29 Nauja klaida Galima sukurti naują klaidą (Python 3 kodas): static PyObject *spamerror; PyMODINIT_FUNC PyInit_spam(void){ PyObject *m=pymodule_create(&spammodule); spamerror = PyErr_NewException("spam.error", NULL, NULL); Py_INCREF(spamError); PyModule_AddObject(m, "error", spamerror); }

30 Naujo &po apibrėžimas Python o interpretatorius mato visus objektus kaip PyObject PyObject saugo rodyklės skaitliuką ir rodyklę į objekto tipą ( type object ) Tipas apibrėžia kokios funkcijos (dar vadinamos tipo metodais) yra kviečiamos

31 Tipas typedef struct{ PyObject_HEAD /* Type-specific fields go here. */ } noddy_noddyobjec t; PyObject_HEAD makrosas, kuris užtikrina rodyklės skaitliuko ir rodyklės įtraukimą Kabliataškis nededamas!

32 Objektas static PyTypeObject noddy_noddytype ={ PyVarObject_HEAD_INIT(NULL, 0) "noddy.noddy", /*tp_name*/ sizeof(noddy_noddyobject), / *tp_basicsize*/ 0, /*tp_itemsize*/ 0, /*tp_dealloc*/ 0, /*tp_print*/ 0, /*tp_getattr*/ 0, /*tp_setattr*/ 0, /*tp_reserved*/ 0, /*tp_repr*/ 0, /*tp_as_number*/ 0, /*tp_as_sequence*/ 0, /*tp_as_mapping*/ 0, /*tp_hash */ 0, /*tp_call*/ 0, /*tp_str*/ 0, /*tp_getattro*/ 0, /*tp_setattro*/ 0, /*tp_as_buffer*/ Py_TPFLAGS_DEFAULT, /*tp_flags*/ "Noddy objects", /* tp_doc */ }; PyTypeObject C įrašo tipas, aprašantis įtaisytuosius tipus Laukų yra daugiau, tačiau paprastai jie paliekami užpildyti kompiliatoriui Kiekvienas iš šiuo metu neaprašytų laukų turi savo paskirtį, pavyzdžiui, tp_itemsize reikalingas kintamo dydžio objektams

33 Modulis static struct PyModuleDef noddymodule ={ PyModuleDef_HEAD_INIT, "noddy", // name of module "Example of new type", // module documentation, may be NULL -1, // size of perinterpreter state of the module, or -1 if the module keeps state in global variables. NULL, NULL, NULL, NULL, NULL}; Modulio aprašymas

34 PyType_GenericNew PyMODINIT_FUNC PyInit_noddy(void) { PyObject* m; noddy_noddytype.tp _new = PyType_GenericNew; if (PyType_Ready (&noddy_noddytype) < 0) return NULL; PyType_GenericNew bendroji funkcija (generic handler), sukurianti naują objektą (atminties išskyrimas) PyType_Ready() inicializuoja tipą

35 Užbaigiant modulį m = PyModule_Create (&noddymodule); if (m == NULL) return NULL; Py_INCREF (&noddy_noddytype); PyModule_AddObject (m, "Noddy", (PyObject *)&noddy_noddytype); return m;} PyModule_AddObject() įtraukia tipą į modulio žodyną

36 Suteikiant funkcionalumo Įrašo tipą galima papildyti norimais laukais Aprašomos funkcijos objektui sukurti (pvz. new, init ir t.t.) ar sunaikinti ir valdyti (pvz. set, get), taip pat metodai Užpildoma laukų lentelė PyMemberDef Užpildoma valdymo funkcijų lentelė PyGetSetDef Užpildoma metodų lentelė PyMethodDef Aprašomas objektas PyTypeObject, nurodant metodus ir lenteles Užpildomas modulio aprašas ir aprašoma modulio inicializavimo funkcija

37 Įterpimas Duomenų konvertavimas iš C į Python ą Kviečiama Python o sąsaja Duomenų konvertavimas iš Python o į C

38 #include <Python.h>! int main(int argc, char *argv[]){! Py_Initialize();! PyRun_SimpleString("from time import time,ctime\n"! "print('today is', ctime(time()))\n");! Py_Finalize();! return 0;! } Pats paprasčiausias būdas įterpti Python o kodą: Inicializuojame Python o interpretatorių Įvykdome kodą Užbaigiame darbą su interpretatorium

39 Sudė&ngesnis pavyzdys #include <Python.h>! int main(int argc, char *argv[]){! PyObject *pname, *pmodule, *pdict, *pfunc;! PyObject *pargs, *pvalue;! int i;! if (argc < 3) {! fprintf(stderr,"usage: call pythonfile funcname [args]\n");! return 1;! }! Standartinė pradžia. Patikriname ar pakaks parametrų.

40 Pradedame darbą Py_Initialize(); pname = PyString_FromString(argv[1]); PyRun_SimpleString("import sys"); PyRun_SimpleString("sys.path.insert(0, '')"); pmodule = PyImport_Import(pName); Py_DECREF(pName); Pirmasis programos parametras paverčiamas objektu, tai bus Python o failo (modulio) vardas Nustatome, kad darbinis Python o katalogas būtų dabartinis katalogas, kuriame yra failas Importuojame failą kaip modulį

41 Judame toliau if (pmodule!= NULL) { pfunc = PyObject_GetAttrString (pmodule, argv[2]); /* pfunc is a new reference */ if (pfunc && PyCallable_Check (pfunc)) { pargs = PyTuple_New(argc - 3); Jei su moduliu viskas gerai, iš jo pasiimame funkciją, kurios vardas yra antrasis programos parametras Jei su funkcija viskas gerai, konstruojame kortežą parametrams

42 Parametrai, parametrai... for (i = 0; i < argc - 3; ++i) { pvalue = PyInt_FromLong(atoi(argv[i + 3])); if (!pvalue) { Py_DECREF(pArgs); Py_DECREF(pModule); fprintf(stderr, "Cannot convert argument\n"); return 1; } /* pvalue reference stolen here: */ PyTuple_SetItem(pArgs, i, pvalue); } Nuskaitome funkcijos parametrus iš programos parametrų ir juos konvertuojame į Python o tipus Jei konvertavimas pavyko, įdedame reikšmę į kortežą

43 Funkcijos kvie&mas pvalue = PyObject_CallObject(pFunc, pargs); Py_DECREF(pArgs); if (pvalue!= NULL) { printf("result of call: %ld\n, PyInt_AsLong(pValue)); Py_DECREF(pValue); } else { Py_DECREF(pFunc); Py_DECREF(pModule); PyErr_Print(); fprintf(stderr,"call failed\n"); return 1; } } Kviečiame funkciją jai perduodami paramtrus Jei funkcija sėkmingai įvykdyta, rezultatą spausdiname kaip C reikšmę (long) Jei blogai spausdinamas klaidos pranešimas

44 Pabaiga else { if (PyErr_Occurred()) PyErr_Print(); fprintf(stderr, "Cannot find function \"%s\"\n", argv[2]); } Py_XDECREF(pFunc); Py_DECREF(pModule); } else { PyErr_Print(); fprintf(stderr, "Failed to load \"%s \"\n", argv[1]); return 1; } Py_Finalize(); return 0; } Sutvarkome likusias klaidas

45 Failas Dešinėje matoma reikalinga funkcija Funkcija turėtų būti patalpinta faile multiply.py, nors tiktų bet koks pavadinimas Šis failas ir programos c kodas turėtų btūi viename kataloge def multiply(a, b): print ("Will compute", a, "times", b) c = 0 for i in range(0, a): c = c + b return c

46 Kompiliavimas Norint sukompiliuoti įterptinį kodą, reikia kompiliatoriui nurodyti papildomas instrukcijas Kokias žymes naudoti compiliuojant, galima sužinoti komandos python3- config cflags pagalba Kokias žymes naudojant susiejant (linking), galima sužinoti komandos python3- config ldflags pagalba Pavyzdys (MIF linux klasėse): gcc - I/usr/include/python3.4m embed.c - lpython3.4m

47 Pagaliau! $./a.out multiply multiply 3 2 Will compute 3 times 2 Result of call: 6 Kviečiame sukompiliuotą programą Vykdymo rezultatas

Extending and Embedding Python

Extending and Embedding Python Extending and Embedding Python Release 2.7.6 Guido van Rossum Fred L. Drake, Jr., editor November 10, 2013 Python Software Foundation Email: docs@python.org CONTENTS 1 Extending Python with C or C++ 3

More information

Extending and Embedding the Python Interpreter

Extending and Embedding the Python Interpreter Extending and Embedding the Python Interpreter Release 2.5.2 Guido van Rossum Fred L. Drake, Jr., editor 21st February, 2008 Python Software Foundation Email: docs@python.org Copyright c 2001-2008 Python

More information

Extending and Embedding Python

Extending and Embedding Python Extending and Embedding Python Release 3.4.3 Guido van Rossum and the Python development team February 25, 2015 Python Software Foundation Email: docs@python.org CONTENTS 1 Recommended third party tools

More information

C programavimo kalba. 3 paskaita (Sąlygos ir ciklo operatoriai, funkcija scanf() )

C programavimo kalba. 3 paskaita (Sąlygos ir ciklo operatoriai, funkcija scanf() ) C programavimo kalba 3 paskaita (Sąlygos ir ciklo operatoriai, funkcija scanf() ) Sąlygos operatorius if - else Sąlygos operatoriai skirti perduoti programos vykdymą vienai ar kitai programos šakai. Operatorius

More information

SCRIPTING I/III EXTENDING PYTHON. References:

SCRIPTING I/III EXTENDING PYTHON. References: SCRIPTING I/III EXTENDING PYTHON References: https://docs.python.org/3.4/c-api/ https://docs.python.org/3.4/extending/index.html#extending-index GOALS Part I: Create a module (a C dll), callable from python

More information

JAVA pagrindai Lek. Liudas Drejeris

JAVA pagrindai Lek. Liudas Drejeris JAVA pagrindai Lek. Liudas Drejeris Programa (1) Programa, tai eilė instrukcijų (vadinamų programiniais sakiniais), kurie vykdomi paeiliui, kol gaunamas norimas rezultatas. Programa (2) Programa (2) /*

More information

Kas yra masyvas? Skaičių masyvo A reikšmės: Elementų indeksai (numeriai): Užrašymas Turbo Paskaliu: A[1] A[2] A[3] A[4] A[5]

Kas yra masyvas? Skaičių masyvo A reikšmės: Elementų indeksai (numeriai): Užrašymas Turbo Paskaliu: A[1] A[2] A[3] A[4] A[5] Masyvas 2013 1 Vienmatis masyvas Veiksmai su masyvo elementais: reikšmių priskyrimas ir išvedimas, paieška, rikiavimas. Masyvų perdavimas procedūros (funkcijos) parametrais. 2 Kas yra masyvas? Masyvu vadinamas

More information

C programavimo kalba. 5 paskaita (Funkcijos, masyvai)

C programavimo kalba. 5 paskaita (Funkcijos, masyvai) C programavimo kalba 5 paskaita (Funkcijos, masyvai) Funkcijų pavyzdys // Skaičių lyginimo programa #include void pmax(int, int); /* prototipas */ int main() {int i, j; for (i = -10; i

More information

Struktūrų sintaksė Struktūra tai vienodo arba skirtingo tipo kintamųjų rinkinys. Sintaksė: struct vardas { ; type1 var1; type2 var2;... typen varn; //

Struktūrų sintaksė Struktūra tai vienodo arba skirtingo tipo kintamųjų rinkinys. Sintaksė: struct vardas { ; type1 var1; type2 var2;... typen varn; // C programavimo kalba 10 paskaita (Struktūros) Struktūrų sintaksė Struktūra tai vienodo arba skirtingo tipo kintamųjų rinkinys. Sintaksė: struct vardas { ; type1 var1; type2 var2;... typen varn; // Gale

More information

Parengė ITMM Artūras Šakalys 1

Parengė ITMM Artūras Šakalys 1 2014.02.02 Parengė ITMM Artūras Šakalys 1 2014.02.02 Parengė ITMM Artūras Šakalys 2 Kaip suprantame masyvą? Pavyzdys: Peteliškių šeima; Gėlių laukas; 2014.02.02 Parengė ITMM Artūras Šakalys 3 Kaip suprasti

More information

C++ programavimo kalba. Konstruktorius, destruktorius, klasių metodų modifikatoriai, objektų masyvai (4 paskaita)

C++ programavimo kalba. Konstruktorius, destruktorius, klasių metodų modifikatoriai, objektų masyvai (4 paskaita) C++ programavimo kalba Konstruktorius, destruktorius, klasių metodų modifikatoriai, objektų masyvai (4 paskaita) Konstruktorius Sukuriant objektą, jo duomenims paprastai turi būti priskiriamos pradinės

More information

Kodėl programą sudaro daug failų? Sukurtos tipinės funkcijų galėtų būti panaudojamos dar kartą; Sudaroma aiškesnė programos struktūra; Sudaroma galimy

Kodėl programą sudaro daug failų? Sukurtos tipinės funkcijų galėtų būti panaudojamos dar kartą; Sudaroma aiškesnė programos struktūra; Sudaroma galimy C programavimo kalba 12 paskaita (Daugiafailinės programos, laiko ir datos funkcijos) Kodėl programą sudaro daug failų? Sukurtos tipinės funkcijų galėtų būti panaudojamos dar kartą; Sudaroma aiškesnė programos

More information

Buferio perpildymo klaida Įvadas, techniniai klausimai

Buferio perpildymo klaida Įvadas, techniniai klausimai Buferio perpildymo klaida Įvadas, techniniai klausimai Rolandas Griškevičius rolandas.griskevicius@fm.vgtu.lt MSN: rgrisha@hotmail.com http://fmf.vgtu.lt/~rgriskevicius 2009-10-16 R. Griškevičius, Saugus

More information

PHP PROGRAMOS EIGOS VYKDYMO VALDYMAS

PHP PROGRAMOS EIGOS VYKDYMO VALDYMAS PHP PROGRAMOS EIGOS VYKDYMO VALDYMAS Sąlygos sakiniai PHP skriptų vykdymo eigą galite valdyti naudodami sąlygos sakinius. Sąlygos sakiniai tai loginės struktūros, kuriose saugomas kodas, įvykdomas įgyvendinus

More information

Come to the TypeScript

Come to the TypeScript Come to the TypeScript we have type hinting! Sergej Kurakin Sergej Kurakin Amžius: 36 Dirbu: NFQ Technologies Pareigos: Programuotojas Programuoti pradėjau mokytis 1996 metais. Programuotoju dirbu nuo

More information

Gijos. Gijų modelis Javoje. R.Vaicekauskas, OP, 2017

Gijos. Gijų modelis Javoje. R.Vaicekauskas, OP, 2017 Gijos Gijų modelis Javoje R.Vaicekauskas, OP, 2017 1 Turinys Motyvacija Sukūrimas Valdymas Sinchronizacija Susijusios klasės 2 Motyvacija Gijos reikalingos tam, kad išreikšti lygiagretumą vieno proceso

More information

PYTHON IS SLOW. Make it faster with C. Ben Shaw

PYTHON IS SLOW. Make it faster with C. Ben Shaw PYTHON IS SLOW Make it faster with C Ben Shaw It s OK that Python isn t fast, you can write your slow functions in C! Everyone TABLE OF CONTENTS C Module vs C Types TABLE OF CONTENTS C Module vs C Types

More information

C - extensions. only a small part of application benefits from compiled code

C - extensions. only a small part of application benefits from compiled code C - EXTENSIONS C - extensions Some times there are time critical parts of code which would benefit from compiled language 90/10 rule: 90 % of time is spent in 10 % of code only a small part of application

More information

C++ programavimo kalba

C++ programavimo kalba C++ programavimo kalba Šablonai (10 paskaita) Kodėl šablonai (templates)? Programuojant egzistuoja situacijos, kai reikia atlikti tuos pačius veiksmus su skirtingais duomenų tipais (pvz. modulio radimas,

More information

Extending and Embedding the Python Interpreter

Extending and Embedding the Python Interpreter Extending and Embedding the Python Interpreter Release 2.1.1 Guido van Rossum Fred L. Drake, Jr., editor July 20, 2001 PythonLabs E-mail: python-docs@python.org Copyright c 2001 Python Software Foundation.

More information

C++ programavimo kalba

C++ programavimo kalba C++ programavimo kalba Operatorių perkrovimas (7 paskaita) Operatorių perdengimas Programavimo kalbose naudojami operatoriai pasižymi polimorfizmu (daugiavariantiškumu). Kaip pavyzdys gali būti operatorius

More information

Elektroninis.lt šakninių sertifikatų diegimas

Elektroninis.lt šakninių sertifikatų diegimas Elektroninis.lt šakninių sertifikatų diegimas Ši instrukcija aprašo, kaip į kompiuterį įdiegti šakninius elektroninis.lt sertifikatus. Diegimo darbus galima atlikti turint kompiuterio administratoriaus

More information

El. pašto konfigūravimas

El. pašto konfigūravimas El. pašto konfigūravimas Outlook Express (integruota Windows XP) elektroninio pašto klientas Žemiau pateikta instrukcija, kaip sukonfigūruoti savo elektroninį paštą vartotojams, turintiems elektroninio

More information

Apletai (įskiepiai) Lekt. dr. Pijus Kasparaitis m. m. pavasario semestras.

Apletai (įskiepiai) Lekt. dr. Pijus Kasparaitis m. m. pavasario semestras. Apletai (įskiepiai) Lekt. dr. Pijus Kasparaitis pkasparaitis@yahoo.com 2008-2009 m. m. pavasario semestras Java grafinės bibliotekos AWT (Abstract Window Toolkit) Swing 2009.04.09 P.Kasparaitis. Objektinis

More information

Polimorfizmas. Lekt. dr. Pijus Kasparaitis m. m. pavasario semestras.

Polimorfizmas. Lekt. dr. Pijus Kasparaitis m. m. pavasario semestras. Polimorfizmas Lekt. dr. Pijus Kasparaitis pkasparaitis@yahoo.com 2009-2010 m. m. pavasario semestras Dar apie paveldėjimą Java kalboje kiekvienas paveldėtos klasės objektas gali būti naudojamas ten, kur

More information

Python Optimization and Integration

Python Optimization and Integration [Software Development] Python Optimization and Integration Davide Balzarotti Eurecom Sophia Antipolis, France 1 When Python is not Enough Python is great for rapid application development Many famous examples...

More information

2017 m. pagrindinės sesijos informacinių technologijų valstybinio brandos egzamino programavimo užduoties galimi sprendimai

2017 m. pagrindinės sesijos informacinių technologijų valstybinio brandos egzamino programavimo užduoties galimi sprendimai Pavyzdys A 2017 m. pagrindinės sesijos informacinių technologijų valstybinio brandos egzamino programavimo užduoties galimi sprendimai int konvertuojamas(int skaic, int id); char konvertuojamas2(int dal);

More information

Informacijos apsaugos standartai serija

Informacijos apsaugos standartai serija Informacijos apsaugos standartai 27000 serija Pareng : Marius Celskis www.isec.lt 2007 m. balandis 12 d. ISO 27000 serija 2 iš 9 Tarptautin standartizacijos organizacija ISO informacijos apsaugos standartizavimui

More information

Projektas. .h failai Header failai (interface) .m failai Pačios programos failai ( .xib /.storyboard Vartotojo sąsajos failai

Projektas. .h failai Header failai (interface) .m failai Pačios programos failai ( .xib /.storyboard Vartotojo sąsajos failai ios Projektas.h failai Header failai (interface).m failai Pačios programos failai (.xib /.storyboard Vartotojo sąsajos failai AppDelegate.h / AppDelegate.m aplikacijos pradiniai startavimo prpograminiai

More information

Paskirstytos atminties lygiagretusis programavimas Įvadas į MPI

Paskirstytos atminties lygiagretusis programavimas Įvadas į MPI Paskirstytos atminties lygiagretusis programavimas Įvadas į MPI Distributed memory parallel programming Paskirstytos atminties lygiagretieji kompiuteriai Kiekvienas procesorius turi tik savo nuosavą atmintį

More information

Web servisai WSDL. Osvaldas Grigas

Web servisai WSDL. Osvaldas Grigas Web servisai WSDL Osvaldas Grigas Web servisų aprašymas Kiekvienas web servisas yra unikalus Jis turi adresą(arba kelis adresus), kuriuo į jį galima kreiptis. Jis supranta tik tam tikros struktūros įeinančius

More information

C++ programavimo kalba

C++ programavimo kalba C++ programavimo kalba Rodyklė this, C++ string klasė (9 paskaita) Rodyklėthis Visos objekto funkcijos gali naudotis rodykle this, kuri rodo į patį objektą. Tokiu būdu kiekviena funkcija gali rasti objekto,

More information

C++ programavimo kalba

C++ programavimo kalba C++ programavimo kalba Klasės, klasių savybės, vardų erdvės (3 paskaita) OOP Struktūrinio programavimo modelio problema: Didelės programos tampa labai sudėtingos t.y. egzistuoja tūkstančiai kintamųjų ir

More information

Amadeus On-Line Helpdesk

Amadeus On-Line Helpdesk Amadeus On-Line Helpdesk Vartotojo instrukcija Skirta kelionių agentūroms Turinys Įžanga... 3 Jungimasis prie Amadeus Helpdesk... 3 Patarimai ir pastabos... 7 Dokumento valdymas 2007 Apsauga Viešas Įmon

More information

K R I S T I N A L A P I N. I dalis. Matematikos ir statistikos studijų krypčių pirmo kurso studentams

K R I S T I N A L A P I N. I dalis. Matematikos ir statistikos studijų krypčių pirmo kurso studentams V I L N I A U S U N I V E R S I T E T AS M A T E M A T I K O S I R I N F O R M A T I K O S F A K U L T E T A S P R O G R A M Ų S I S T E M Ų K A T E D R A K R I S T I N A L A P I N Programavimas C I dalis

More information

KRISTINA LAPIN PROGRAMAVIMAS PASKALIU IR C. II dalis MATEMATIKOS IR STATISTIKOS STUDIJŲ KRYPČIŲ PIRMO KURSO STUDENTAMS

KRISTINA LAPIN PROGRAMAVIMAS PASKALIU IR C. II dalis MATEMATIKOS IR STATISTIKOS STUDIJŲ KRYPČIŲ PIRMO KURSO STUDENTAMS VILNIAUS UNIVERSITETAS MATEMATIKOS IR INFORMATIKOS FAKULTETAS PROGRAMŲ SISTEMŲ KATEDRA KRISTINA LAPIN PROGRAMAVIMAS PASKALIU IR II dalis MATEMATIKOS IR STATISTIKOS STUDIJŲ KRYPČIŲ PIRMO KURSO STUDENTAMS

More information

Simboliai ir simbolių eilutės 2 val. Standartinės procedūros ir funkcijos darbui su simbolių eilutėmis

Simboliai ir simbolių eilutės 2 val. Standartinės procedūros ir funkcijos darbui su simbolių eilutėmis T8 Simboliai ir simbolių eilutės 2 val. Standartinės procedūros ir funkcijos darbui su simbolių eilutėmis 1 Kintamasis, kurio tipas nurodomas žodžiu char, skirtas simboliui saugoti. var a, b : char; Su

More information

Python/C API Reference Manual

Python/C API Reference Manual Python/C API Reference Manual Release 2.5.2 Guido van Rossum Fred L. Drake, Jr., editor 21st February, 2008 Python Software Foundation Email: docs@python.org Copyright c 2001-2008 Python Software Foundation.

More information

The Python/C API. Release Guido van Rossum Fred L. Drake, Jr., editor. January 04, Python Software Foundation

The Python/C API. Release Guido van Rossum Fred L. Drake, Jr., editor. January 04, Python Software Foundation The Python/C API Release 2.6.4 Guido van Rossum Fred L. Drake, Jr., editor January 04, 2010 Python Software Foundation Email: docs@python.org CONTENTS 1 Introduction 3 1.1 Include Files.............................................

More information

PHP Lietuviškai. Turinys

PHP Lietuviškai. Turinys PHP Lietuviškai Informacija iš interneto pakampių surinko, visa savaitgalį prie Easy PDF sėdėjo ir kankinosi Justinas L. aka scooox. Taigi, kad visi girdėtų, sakau: šitas dokumentas yra surinktas iš visų

More information

C++ programavimo kalba

C++ programavimo kalba C++ programavimo kalba Santrauka doc.dr. Dalius Mažeika Dalius.Mazeika@fm.vtu.lt VGTU SC L318 Programavimo kalbos Procedūrinės (Assembler, ankstyvos, Fortran versijos) Pagrindą sudaro procedūros. Kiekvienas

More information

Pažintis su C++ Builder

Pažintis su C++ Builder Pažintis su C++ Builder Turinys C++ Builder aplinka... 2 Komponentai, jų savybės ir metodai, įvykiai... 2 Programos objektų savybių keitimas... 4 Vartotojo programos kūrimas, saugojimas ir vykdymas...

More information

Programavimas C kalba

Programavimas C kalba Programavimas C kalba Mokomoji priemonė Elektronikos specialybės studentams Vytautas Vyšniauskas 2008.01.28 09:26 Šiaulių Universitetas, 2007 Turinys Įvadas... 4 1 Simbolių kodavimas ir ASCII kodų lentelė...

More information

C programos struktūra ir funkcijos

C programos struktūra ir funkcijos C programos struktūra ir funkcijos 1. C programą sudaro 1 arba daugiau failų (arba kompiliavimo vienetų). programa ::= { failas 1+ 2. C programos failas tai vienas paskui kitą einantys kintamųjų, funkcijų

More information

An Introduction to Programming in Python. Stephen White

An Introduction to Programming in Python. Stephen White An Introduction to Programming in Python Stephen White What is Python? Portable open source interpreted programming language Object Oriented (by design) Named after Monty Python's Flying

More information

ios Uždara operacinė sistema skirta tik Apple įrenginiams: iphone ipad ipod touch Apple TV

ios Uždara operacinė sistema skirta tik Apple įrenginiams: iphone ipad ipod touch Apple TV ios Uždara operacinė sistema skirta tik Apple įrenginiams: iphone ipad ipod touch Apple TV Pagrindas OS X, skirtas ARM įrenginiams Programavimo aplinka: XCode ir Objective-C Programavimo kompiuteris -

More information

Vilniaus universitetas Fizikos fakultetas Radiofizikos katedra R. Grigalaitis Programavimas (Programavimo C++ kalba paskaitų konspektas)

Vilniaus universitetas Fizikos fakultetas Radiofizikos katedra R. Grigalaitis Programavimas (Programavimo C++ kalba paskaitų konspektas) Vilniaus universitetas Fizikos fakultetas Radiofizikos katedra R. Grigalaitis Programavimas (Programavimo C++ kalba paskaitų konspektas) Vilnius 2010 - 2 - Turinys PROGRAMAVIMO SAMPRATA... - 4 - KINTAMIEJI

More information

ĮVADAS JVM Java Virtual Machine Java virtualios mašinos (JVM) JVM write once, run everywhere

ĮVADAS JVM Java Virtual Machine Java virtualios mašinos (JVM) JVM write once, run everywhere ĮVADAS The Java programming language was introduced in 1995 by Sun Microsystems which has since merged into Oracle Corporation. Derived from languages such as C and C++. Pradžioje Java buvo skirta programuoti

More information

double *pdouble1, *pdouble2, *pdouble3, double4;

double *pdouble1, *pdouble2, *pdouble3, double4; 11. RODYKLĖS Rodyklė (angl. pointer) kintamasis, saugantis kito konkretaus tipo kintamojo adresą. Rodyklės taikomos: - Netiesioginei prieičiai prie kintamojo - Prieičiai prie masyvo elementų - Argumentų

More information

Paveikslėliai. Lekt. dr. Pijus Kasparaitis m. m. pavasario semestras.

Paveikslėliai. Lekt. dr. Pijus Kasparaitis m. m. pavasario semestras. Paveikslėliai Lekt. dr. Pijus Kasparaitis pkasparaitis@yahoo.com 2008-2009 m. m. pavasario semestras Klasė Image Priklauso paketui java.awt Abstrakti klasė paveldėta iš Object Tai visų grafinių paveikslėlių

More information

Embedding Python in Your C Programs

Embedding Python in Your C Programs 1 of 7 6/18/2006 9:05 PM Embedding Python in Your C Programs William Nagel Abstract C, meet Python. Python, this is C. With surprisingly little effort, the Python interpreter can be integrated into your

More information

Trumpai-ilga istorija

Trumpai-ilga istorija Įvadas į Web Services Kas yra Web Service? Kas ką žino??? 70-ieji: Mainframe Trumpai-ilga istorija 80-ieji: Client-Server Istorijos 90-ieji: Web 2000: SOA 2010: Cloud Computing Šaltinis: Sergejus Barinovas,

More information

II SEKCIJA. Duomenų bazės ir modeliai

II SEKCIJA. Duomenų bazės ir modeliai II SEKCIJA Duomenų bazės ir modeliai VEIKLOS TAISYKLIŲ SAUGYKLA, INTEGRUOTA SU VEIKLOS TAISYKLIŲ IŠKVIETIMO MECHANIZMU 1 Rimantas Butleris, Liudas Motiejūnas Kauno technologijos universitetas Straipsnyje

More information

Programinio kodo saugumas

Programinio kodo saugumas Programinio kodo saugumas Rolandas Griškevičius rolandas.griskevicius@fm.vgtu.lt MSN: rgrisha@hotmail.com http://fmf.vgtu.lt/~rgriskevicius 2009-12-18 R. Griškevičius, Saugus programavimas, VGTU, 2009

More information

Interaktyviame režime: visi 5 etapai vykdomi nuosekliai; DBVS SQL sakinius interpretuoja. Programose: dalis etap gali bti atlikti kompiliuojant.

Interaktyviame režime: visi 5 etapai vykdomi nuosekliai; DBVS SQL sakinius interpretuoja. Programose: dalis etap gali bti atlikti kompiliuojant. 8. SQL sakiniai taikomosiose programose SQL gali bti vartojama dviem režimais: interaktyviai taikomosiose programose Dvilypumo privalumai: interaktyvaus režimo prieinamos ir programose; SQL derinamas interaktyviai

More information

Weather Visualizing Cloud Lamp

Weather Visualizing Cloud Lamp Weather Visualizing Cloud Lamp Elizabeth Poss and Cordelia Stiff E155 Final Project Report December 8, 2017 Abstract: String lights of various shapes and sizes have become a staple of whimsical interior

More information

Register your product and get support at SHB9100. LT Vartotojo vadovas

Register your product and get support at   SHB9100. LT Vartotojo vadovas Register your product and get support at www.philips.com/welcome SHB9100 Vartotojo vadovas Turinys 1 Svarbu 4 Klausos sauga 4 4 Bendroji informacija 4 5 5 5 5 Kai garsas iš mobiliojo telefono perduodamas

More information

HTML dokumentai. Praktinės užduotys

HTML dokumentai. Praktinės užduotys HTML dokumentai Praktinės užduotys 1. DzSoft PHP Editor šablonai Pakeiskite HTML šabloną į: ... Programos

More information

16. ŠABLONAI. int abs( int ); float fabs( float ); double dabs( double ),...

16. ŠABLONAI. int abs( int ); float fabs( float ); double dabs( double ),... 16. ŠABLONAI Šablonas (angl. template) lakoniškas mechanizmas užrašyti funkcijų ar klasių, besiskiriančių tik argumentų ar laukų formatais, šeimą. Pavyzdžiui, absoliutinis dydis C kalboje (joje nėra šablonų)

More information

KAUNO TECHNOLOGIJOS UNIVERSITETAS

KAUNO TECHNOLOGIJOS UNIVERSITETAS KAUNO TECHNOLOGIJOS UNIVERSITETAS INFORMATIKOS FAKULTETAS VALDIKLIŲ PROGRAMAVIMAS STANDARTO IEC 61131-3 KALBOMIS Referatas Atliko: Kęstutis Valinčius Kaunas 2011 Turinys 1 Įvadas... 3 2 Struktūriniai elementai...

More information

Naujos galimybės su Lotus Notes 8.5.1: naudotojams ir programuotojams

Naujos galimybės su Lotus Notes 8.5.1: naudotojams ir programuotojams Naujos galimybės su Lotus Notes 8.5.1: naudotojams ir programuotojams IBM Programinės įrangos diena 2009 m. spalio 21 d. Andrejus Chaliapinas, IĮ Infosana vadovas http://www.infosana.com Prezentacijos

More information

Interneto technologijų taikymai

Interneto technologijų taikymai Interneto technologijų taikymai Mantas Puida (mantasp@gmail.com) VI paskaita Entity pirminis raktas Kiekviena Entity klasė privalo turėti pirminį raktą (Primary Key). Jei turima Entity objektų hierarchija,

More information

1. AJAX įvadas. AJAX principai:

1. AJAX įvadas. AJAX principai: 1. AJAX įvadas AJAX principai: Naršyklė talpina programą (application), ne turinį. Serveris siunčia duomenis ne turinį. Asinchroniškumas - asinchroninio request/response siuntimo pagrindinis principas

More information

6-7-8 PASKAITOS. Bendros žinios

6-7-8 PASKAITOS. Bendros žinios 6-7-8 PASKAITOS Turinys: Paveldimumas Bendros žinios. Išvestinės klasės konstruktoriai. Paveldimumas ir metodų perkrovimas. Įvadas į abstrakčias klases. Bendrasis ir dalinis paveldimumas. Daugybinis paveldimumas.

More information

2-3 PASKAITOS. Paprasčiausia programa:

2-3 PASKAITOS. Paprasčiausia programa: 2-3 PASKAITOS Turinys: Paprasčiausios programos pavyzdys. Darbas su programavimo terpėmis. Duomenys. Duomenų tipai ir charakteristikos. Paprasčiausia įvestis/išvestis. Paprasčiausia programa: /* Pirmoji

More information

Objektiškai Orientuotas Programavimas su C++

Objektiškai Orientuotas Programavimas su C++ Vilniaus Universitetas Matematikos ir Informatikos fakultetas Kompiuterijos katedra Saulius Narkevičius Objektiškai Orientuotas Programavimas su C++ paskaitų konspektai pavasaris 2005 Turinys Pratarmė...

More information

A Lithuanian Verbalization Template for ORM conceptual models and rules

A Lithuanian Verbalization Template for ORM conceptual models and rules A Lithuanian Verbalization Template for ORM conceptual models and rules Mustafa Jarrar, Vrije Universiteit Brussel, Belgium. (Contact Author) Maria Keet, Free University of Bozen-Bolzano, Italy. Juozas

More information

C++ programavimo kalba

C++ programavimo kalba C++ programavimo kalba I/O biblioteka (2 paskaita) I/O operatoriai Išvedimo > #include using namespace std; void main() { float A = 18.236; cout

More information

The Python/C API Release Guido van Rossum and the Python development team

The Python/C API Release Guido van Rossum and the Python development team The Python/C API Release 3.4.3 Guido van Rossum and the Python development team February 25, 2015 Python Software Foundation Email: docs@python.org CONTENTS 1 Introduction 3 1.1 Include Files.............................................

More information

A.Kynienė. С, C++ kalbų ABC. Metodinė priemonė

A.Kynienė. С, C++ kalbų ABC. Metodinė priemonė A.Kynienė С, C++ kalbų ABC Metodinė priemonė Vilnius 2004 TURINYS C KALBOS PRIVALUMAI...4 PROGRAMAVIMO PROCESAS...5 OPERACIJOS...6 PAPRASTOS PROGRAMOS STRUKTŪRA...8 DUOMENŲ IR KINTAMŲJŲ TIPAI...9 SIMBOLINĖS

More information

DTD aprašas gali būti XML failo viduje. Šiuo atveju jis įterpiamas į žymę DOCTYPE naudojant tokią sintaksę:

DTD aprašas gali būti XML failo viduje. Šiuo atveju jis įterpiamas į žymę DOCTYPE naudojant tokią sintaksę: XML DTD paskirtis DTD (angl. Document Type Definition) paskirtis nusakyti, iš kokių blokų gali būti sudarytas XML (o taip pat ir HTML) dokumentas. Taigi DTD apibrėžia dokumento struktūrą išvardindama leistinus

More information

ŠIAULIŲ UNIVERSITETAS MATEMATIKOS IR INFORMATIKOS FAKULTETAS INFORMATIKOS KATEDRA. Mindaugas Gapšys BAKALAURO DARBAS

ŠIAULIŲ UNIVERSITETAS MATEMATIKOS IR INFORMATIKOS FAKULTETAS INFORMATIKOS KATEDRA. Mindaugas Gapšys BAKALAURO DARBAS ŠIAULIŲ UNIVERSITETAS MATEMATIKOS IR INFORMATIKOS FAKULTETAS INFORMATIKOS KATEDRA Mindaugas Gapšys Informatikos specialybės IV kurso dieninio skyriaus studentas Bash skriptų panaudojimas Unix/Linux operacinių

More information

Paprastų lentelių kūrimas

Paprastų lentelių kūrimas HTML lentelės Lentelės Informacijos pateikimas HTML-dokumentuose lentelių pagalba yra vienas iš dažniausiai naudojamų. HTML kalboje lentelės yra naudojamos ne tik tradiciškai, kaip duomenų pateikimo metodas,

More information

C++ programavimo kalba

C++ programavimo kalba C++ programavimo kalba Standartinė šablonų biblioteka (STL) Duomenų struktūros (11paskaita) Šablonai Programuojant egzistuoja situacijos, kai reikia atlikti tuos pačius veiksmus su skirtingais duomenų

More information

Masyvai Javoje. Masyvai. Objektų talpyklos. Masyvo tipas. Deklaravimo pavyzdžiai. Deklaracija ir sukūrimas. Masyvo superklas - Object

Masyvai Javoje. Masyvai. Objektų talpyklos. Masyvo tipas. Deklaravimo pavyzdžiai. Deklaracija ir sukūrimas. Masyvo superklas - Object Masyvai Javoje Masyvai. Objektų talpyklos (Arrays, collections) Dinamiškai sukuriami java objektai iš anksto apibr žtam komponenčių skaičiui saugoti. Komponent s g.b. primityvaus tipo arba nuorodos tipo

More information

Collections (Java) Collections Framework

Collections (Java) Collections Framework Collections (Java) https://docs.oracle.com/javase/tutorial/collections/index.html Collection an object that groups multiple elements into a single unit. o store o retrieve o manipulate o communicate o

More information

Alien GOO a Lightweight C Embedding Facility. Jonathan Bachrach MIT CSAIL. Alien MIT 1 19DEC03

Alien GOO a Lightweight C Embedding Facility. Jonathan Bachrach MIT CSAIL. Alien MIT 1 19DEC03 Alien GOO a Lightweight C Embedding Facility Jonathan Bachrach MIT CSAIL Alien GOO @ MIT 1 Quick Goo Intro! Dynamic type-based object-oriented language! Interpreter semantics! Classes, multiple inheritance,

More information

http://tinyurl.com/cq-advanced-python-20151029 1 2 ##: ********** ## csuser## @[S## ********** guillimin.hpc.mcgill.ca class## ********** qsub interactive.pbs 3 cp -a /software/workshop/cq-formation-advanced-python

More information

Uždavinių sprendimas MATLAB aplinkoje

Uždavinių sprendimas MATLAB aplinkoje Operacijų tyrimas. Įvadas. Laboratoriniai darbai 1 Uždavinių sprimas MATLAB aplinkoje Matlab tai interaktyvi sistema, skirta atlikti inžinerinius bei mokslinius skaičiavimus. Sistemos aplinkoje galima

More information

4 SKYRIUS. Programuojamieji loginiai valdikliai. Įvadas

4 SKYRIUS. Programuojamieji loginiai valdikliai. Įvadas 4 SKYRIUS Programuojamieji loginiai valdikliai Įvadas Programuojamieji loginiai valdikliai tai esminis pramonės automatizavimo veiksnys. Juos naudojant galima lanksčiai prisitaikyti prie besikeičiančių

More information

Redis Ma as, greitas, galingas. Specialiai VilniusPHP

Redis Ma as, greitas, galingas. Specialiai VilniusPHP Redis Ma as, greitas, galingas Specialiai VilniusPHP 2013.06.06 Sergej Kurakin Na, Jūs mane jau nekarta matėte, tai nieko nesakysiu apie save. Kaip aš susipa inau! Tai buvo prieš keletą metų! Projektas

More information

WWW aplikacijų saugumas 2

WWW aplikacijų saugumas 2 WWW aplikacijų saugumas 2 Rolandas Griškevičius rolandas.griskevicius@fm.vgtu.lt MSN: rgrisha@hotmail.com http://fmf.vgtu.lt/~rgriskevicius 2010-11-26 R. Griškevičius, Saugus programavimas, VGTU, 2009

More information

Duomenų vietisumo užtikrinimas

Duomenų vietisumo užtikrinimas Duomenų vietisumo užtikrinimas Reikalavimai duomenų vientisumui Duomenų vientisumas siejamas su informacijos, esančios DB-je, teisingumu ir išsamumu. RDBVS užtikrina šiuos reikalavimus: Reikšmių būtinumas

More information

Web technologijos. Hostingas JavaScript PHP

Web technologijos. Hostingas JavaScript PHP jquery & PHP Web technologijos Hostingas JavaScript PHP Kelios hostingo kompanijos serveriai.lt hostex.lt hostinger.lt Nemokamas hostingas su PHP/mysql http://mindaugas.zz.mu/jm1.html Hostingo paslaugų

More information

Tautvydas Dagys Microsoft Lietuva

Tautvydas Dagys Microsoft Lietuva Tautvydas Dagys Microsoft Lietuva Programos akademinėms institucijoms ir studentams Studentų partnerių programa Akademinės institucijoms Studentams MSDN AA Tai efektyvus būdas aprūpinti savo laboratorijas/klases

More information

TIES VMI duomenų mainų posistemis. Duomenų teikimo sąsajos aprašas

TIES VMI duomenų mainų posistemis. Duomenų teikimo sąsajos aprašas VALSTYBINĖ MOKESČIŲ INSPEKCIJA PRIE LIETUVOS RESPUBLIKOS FINANSŲ MINISTERIJOS TIES VMI duomenų mainų posistemis Duomenų teikimo sąsajos aprašas Versija: 2.12 VILNIUS 2018-01-30 KEITIMŲ CHRONOLOGIJA Versija

More information

T u r b o P a s k a l i s 7.0

T u r b o P a s k a l i s 7.0 Vilniaus universitetas Matematikos ir informatikos fakultetas Programų sistemų katedra I N F O R M A T I K A T u r b o P a s k a l i s 7.0 Doc. V. Undzėno paskaitų konspektai (skaitoma Fizikos fakulteto

More information

CS 3113 Introduction to Operating Systems Midterm October 11, 2018

CS 3113 Introduction to Operating Systems Midterm October 11, 2018 General instructions: CS 3113 Introduction to Operating Systems Midterm October 11, 2018 Please wait to open this exam booklet until you are told to do so. This examination booklet has 10 pages. You also

More information

CS 3113 Introduction to Operating Systems Midterm October 11, 2018

CS 3113 Introduction to Operating Systems Midterm October 11, 2018 General instructions: CS 3113 Introduction to Operating Systems Midterm October 11, 2018 Please wait to open this exam booklet until you are told to do so. This examination booklet has 10 pages. You also

More information

Objektinis programavimas su C++ naudojant Qt 4

Objektinis programavimas su C++ naudojant Qt 4 Vilniaus Universitetas Matematikos ir Informatikos fakultetas Kompiuterijos katedra Saulius Narkevičius Objektinis programavimas su C++ naudojant Qt 4 mokomoji priemon ruduo 2007 Turinys Pratarm...5 Literatūra...7

More information

Cython. April 2008 Brian Blais

Cython. April 2008 Brian Blais Cython O p t i m i z a t i o n i n P y t h o n April 2008 Brian Blais Rule #1 of Optimization Premature optimization is the root of all evil - Donald Knuth What is Cython/Pyrex? Python to C/Python-API

More information

LOGINĖS DB SCHEMOS ATSTATYMAS NAUDOJANT JDBC

LOGINĖS DB SCHEMOS ATSTATYMAS NAUDOJANT JDBC LOGINĖS DB SCHEMOS ATSTATYMAS NAUDOJANT JDBC Bronius Paradauskas, Aurimas Laurikaitis, Sigitas Paulavičius, Anna Truncaitė Kauno technologijos universitetas, Informacijos sistemų katedra, Studentų g. 50,

More information

KLIENTŲ DUOMENŲ BAZĖS IR SANTYKIO SU KLIENTAIS VALDYMO PROGRAMA

KLIENTŲ DUOMENŲ BAZĖS IR SANTYKIO SU KLIENTAIS VALDYMO PROGRAMA KTU INFORMATIKOS FAKULTETAS HENRIKAS SINICKAS KLIENTŲ DUOMENŲ BAZĖS IR SANTYKIO SU KLIENTAIS VALDYMO PROGRAMA MAGISTRO DARBAS Darbo vadovas doc. dr. Ojaras Purvinis KAUNAS 2004 TURINYS 2 1. ĮVADAS... 3

More information

HTML dokumentai aprašo tinklalapius. HTML dokumentus sudaro HTML gairės ir grynas tekstas. HTML dokumentai vadinami tinklalapiais.

HTML dokumentai aprašo tinklalapius. HTML dokumentus sudaro HTML gairės ir grynas tekstas. HTML dokumentai vadinami tinklalapiais. 1 P u s l a p i s HTML dokumentai HTML kalba HTML yra kalba, naudojama tinklalapių aprašymui. HTML kilo iš HyperText Markup Language. HTML nėra programavimo kalba, ji yra žymėjimo kalba. Žymėjimo kalba

More information

Step-by step guide for MRU students to uploading Master s Thesis to elaba repository

Step-by step guide for MRU students to uploading Master s Thesis to elaba repository Step-by step guide for MRU students to uploading Master s Thesis to elaba repository www.elaba.lt Log in the repository Go to www.elaba.lt Select Submit to repository Select your institutional affiliation

More information

Vienlusčių įtaisų projektavimas. 1 paskaita

Vienlusčių įtaisų projektavimas. 1 paskaita Vienlusčių įtaisų projektavimas 1 paskaita HDL įvadas Tradicinės programavimo kalbos (C, Pascal, Python) yra nuoseklios: jomis parašytos programos yra kompiliuojamos į universalaus procesoriaus instrukcijų

More information

Windows saugumo požiūriu

Windows saugumo požiūriu Windows saugumo požiūriu Rolandas Griškevičius rolandas.griskevicius@fm.vgtu.lt MSN: rgrisha@hotmail.com http://fmf.vgtu.lt/~rgriskevicius 2009-09-25 R. Griškevičius, Saugus programavimas, VGTU, 2009 1

More information

ELEKTRONINIŲ PROJEKTŲ RENGIMO IR VALDYMO SISTEMA

ELEKTRONINIŲ PROJEKTŲ RENGIMO IR VALDYMO SISTEMA ŠIAULIŲ UNIVERSITETAS MATEMATIKOS IR INFORMATIKOS FAKULTETAS INFORMATIKOS KATEDRA Asta Drukteinien ELEKTRONINIŲ PROJEKTŲ RENGIMO IR VALDYMO SISTEMA MAGISTRO DARBAS Darbo vadov : Doc. S. Turskien Recenzentas:

More information

Asta Čitavičienė LIBRARY

Asta Čitavičienė LIBRARY elaba REPOSITORY USER GUIDE FOR A STUDENT Asta Čitavičienė LIBRARY 2016-09-10 Login Go to elaba website at www.elaba.lt Select a reference Deposit to elaba Login 1. 2. Select your institution: Kauno technologijos

More information

KOMPIUTERIŲ TINKLAI. 5 paskaita Tinklo lygmuo, IP protokolas

KOMPIUTERIŲ TINKLAI. 5 paskaita Tinklo lygmuo, IP protokolas KOMPIUTERIŲ TINKLAI 5 paskaita Tinklo lygmuo, IP protokolas Lokalus tinklas (kartojimas) Lokalaus tinklo technologijos: Kokius žinote prieigos prie terpės metodus? Kas yra Ethernet, kokie jo skiriamieji

More information