Konfiguráció menedzsment ansible-vel. Kadlecsik József MTA Wigner FK
|
|
- Krisztián Kis
- 6 évvel ezelőtt
- Látták:
Átírás
1 Konfiguráció menedzsment ansible-vel Kadlecsik József MTA Wigner FK
2 Tartalom Konfiguráció menedzsment általában Verziókezelés Ansible telepítés Host inventory Playbook alapok Role és include Változók Templating Feltételek Hibakezelés Ansible vault Tagek Best practices
3 Konfiguráció menedzsment I. OS konfiguráció (fájl) menedzsment Infrastructure as code (IaC) Bare-metal, virtualizált, konténerek, microservices Előnyök (Humán) erőforrásigény csökkentés Sebesség Kockázatcsökkentés
4 Konfiguráció menedzsment II. Megközelítési módszerek: what, how, why Deklaratív (funkcionális): mi a célzott konfiguráció A kívánt állapot definiálása Imperatív (procedurális): hogyan kell megváltoztatni a rendszert, hogy azt elérje Milyen parancsokat milyen sorrendben kell végrehajtani Módszerek: Push management target Pull management target
5 Konfiguráció menedzsment III. Eszköz Módszer Megközelítés Nyelv Ansible push deklaratív és imperatív python cfengine pull deklaratív C Chef pull imperatív ruby Puppet pull deklaratív ruby SaltStack push és pull deklaratív és imperatív python
6 Miért ansible? Nem kell hozzá agent, csak ssh! Öndokumentált a YAML szintaxisú konfigurációs fájljain keresztül Python Mindenre van modul, vagy könnyedén megírható Unix way!
7 Verziókezelés Git :-) init; add/rm/mv; commit; push, pull
8 Ansible telepítés Kontroll gépen Python (2.6, 2.7; van 3.5 support) python-jinja2 Csomagból, vagy inkább: git clone git://github.com/ansible/ansible.git Menedzselt gépeken: ssh access Root vagy sudo root Python python-simplejson
9 Host inventory I. hosts fájl a menedzselt hostok és csoportjainak listája INI formátumban (YAML is támogatott) Default csoportok all ungrouped Inventory változó könyvtárak: host_vars/ group_vars/
10 Host inventory II. [web] ansible-2 ansible_host= ansible_port=2222 ansible-4 httpd=lighttpd [mail] ansible-[15:18] [cluster:children] web mail
11 Host inventory III. Az inventory dinamikusan generálható Tetszőleges forrásból (pl. adatbázisból, DNS-ből, stb.) Tetszőleges nyelven írt programmal YAML szintaxis
12 Playbook Ansible konfigurációs nyelve YAML szintaxissal, Jinja2 tempate támogatással: site.yml hosts: web become: true vars: tasks: # remote_user: root web_package: {{ httpd default('apache2') }} web_service: {{ httpd default('apache2') }} - name: Ensure webserver is at the latest version apt: name= {{ web_package }} state=latest - name: Ensure webserver is running service: name= {{ web_service }} enabled=yes state=started
13 YAML alternatív szintaxisok Lista mylist: [ 1, 2, 3, 4 ] Dictionary mydict: { a : 1, b : 2, c : 3, d : 4 }
14 Playbook: hosts Hostok megadása: hosts: host0[:host1...] hosts: group0[:group1 ] # OR hosts: group0:!group1 # exclude hosts: group0:&group1 # AND hosts: * hosts: web*.exaple.com
15 Playbook: users User, akinek a nevében belépünk: remote_user User, akinek a nevében végre akarunk hajtani egy utasítást: become_user, become, become_method - name: Remove pgsql test user from test db postgresql_user: db: test name: test priv: ALL state: absent become_user: postgres become: true
16 Playbook: taskok A feladatok listája, amelyeket a megadott hostokon a megadott sorrendben, egymás után végrehajtunk A feladatoknak idempotentnek kell lenni! Többször végrehajtva ugyan az a hatása, mint egyszer Minden task kezdődjék egy name: opcióval: A tasklist így öndokumentált A key=value argumentumok átírhatók YAML szintaxisra (key: value sub-elemek)
17 Különleges task-ok - hosts: all environment: - SHELL_EXTRA_ENV: foo pre_tasks: - name: Update apt cache apt: update_cache=yes cache_valid_time=3600 tasks: post_tasks: - debug: msg: Nice playbook!
18 Playbook: command, shell Használjunk modult, amikor csak lehet és kerüljük a command, shell modulok használatát. Visszatérési értéket figyelembe veszi az ansible - name: Enable SELinux command: /sbin/setenforce 1 ignore_errors: true
19 Playbook: handlers Változások kezelésére notify triggeren keresztül: Minden handler egyszer fut le (ha volt változás) a tasks lista után. A végrehajtáskor a handlerek definíciós sorrendje számít. Ha szükséges, az adott lépésig triggerelt handlerek azonnali végrehajtása kierőszakolható.
20 Playbook: handlers handlers: - name: Restart memcached service: name=memcached state=restarted - name: Reload apache service: name=apache2 state=reloaded tasks: - name: Generate config file from template template: src=template.j2 dest=/etc/... notify: - Restart memcached - Reload apache
21 Playbook: listen handlers handlers: - name: Restart memcached service: name=memcached state=restarted listen: Restart webservices - name: Reload apache service: name=apache2 state=reloaded listen: Restart webservices tasks: - name: Generate config file from template template: src=template.j2 dest=/etc/config notify: - Restart webservices
22 Playbook: copy Az egyik leggyakrabban használt task modul - name: Copy apache2 config file copy: src: apache2.conf dest: /etc/apache2/apache2.conf notify: - Reload apache
23 Ansible config és shell változók ansible.cfg [defaults] remote_user = debian become_method = sudo ask_pass = false private_key_file = ~/.ssh/ansible.key [ssh_connection] # sudoers: disable 'requiretty' in /etc/sudoers pipelining = true Shell paraméterek PYTHONPATH=/usr/local/ansible/lib PATH=$PATH:/usr/local/ansible/bin ANSIBLE_CONFIG=$HOME/playbook/ansible.cfg export PYTHONPATH ANSIBLE_CONFIG
24 Ad-hoc parancsok ansible -i hosts mail -a /usr/bin/reboot ansible -i hosts mail -m copy \ src=/file/path dest=/target/path ansible -i hosts mail -m apt \ name=package state=present
25 Playbook futtatás :-) ansible-playbook -i hosts --syntax-check site.yml ansible-playbook -i hosts --list-tasks site.yml ansible-playbook -i hosts --check site.yml ansible-playbook -i hosts --check --diff site.yml ansible-playbook -i hosts -h host group site.yml
26 Roles I. Taskok, handlerek, változók automatikus betöltése egy rögzített könyvtár-struktúrán keresztül: site.yml roles/apache2/tasks/, handlers/ files/, templates/ vars/, defaults/ meta/
27 Roles II. Végrehajtáskor: Minden pre_tasks végrehajtódik Minden triggerelt handler Minden függőségi role Minden task Minden triggerelt handler Minden post_tasks Minden triggerelt handler
28 Roles III. Függőségek roles/php/meta/main.yml: --- dependencies: - { role: apache2 } - { role: memcached }
29 Include/Import I. Tartalom újra felhasználása Statikus: import_plays, import_role, import_tasks Dinamikus: include_role, include_tasks, include_vars
30 Include/Import II. Statikus (import_*): Ansible parsing alatt feldolgozza Parent task opciók elérhetők a child taskokban Nem használható loop-ban Dinamikus (include_*): Ansible runtime-kor dolgozza fel Loop-ban használható Tagek (--list-tags), taskok (--list-tasks) nem listázhatók ki ansbile által
31 Roles IV. Szerepekre változókkal lehet hivatkozni --- hosts: web tasks: - import_role: name: apache2 vars: https: true
32 Roles V. Feltételes betöltés # roles/apache2/tasks/main.yml (debian.yml,redhat.yml) name: Handle Debian import_tasks: debian.yml when: ansible_os_platform lower == 'debian' - name: Handle RedHat import_tasks: redhat.yml when: ansible_os_platform lower == 'redhat'
33 Roles VI. Feltételes betöltés # roles/apache2/tasks/main.yml name: Set variable for distribution set_fact: osname= {{ ansible_os_platform lower }} - name: Load distribution specific role file import_tasks: {{ osname }}.yml
34 Változók YAML változók: skalár, list, dictionary users: - name: kissp shell: bash - name: nagyp shell: zsh Jinja2 hivatkozás users[0]['name'] users[0].name
35 Változó megadása Bárhol : cmdline Inventory Playbook Role Precedencia jól definiált és intuitív
36 Facts Adott hostról ansible által begyűjtött adatok Hostname, IP címek OS, distribúció neve, verziója Virtualizáció és típusa Az adatok másik host számára elérhetők: {{ hostvars['hostname']['ansible_default_ipv4']['address'] }}
37 Local facts Hostról begyűjtött adatok tetszőlegesen bővíthetők # /etc/ansible/facts.d/drbd.fact #!/usr/bin/perl use JSON; my $primary = `/usr/sbin/drbd-overview`; my $data = { primary => $primary =~ /Connected Primary/? 1 : 0 }; my $JSON->new; print $json->pretty->encode($data), \n ; Elérhető ansible_local ág alatt: {{ hostvars['hostname'].ansible_local.drbd.primary }}
38 Local facts kezelése ansible-vel :-) handlers: - name: Call local facts setup: tasks: - name: Copy local facts copy: src={{ item }} dest=/{{ item }} with_items: - etc/ansible/facts.d/drbd.fact notify: - Call local facts - name: Run local facts if changed meta: flush_handlers
39 Regisztrált változók I. Task modulok változóban elmentett eredménye - name: Check enabled extra apache2 modules stat: path=/etc/apache2/mods-enabled/{{ item }}.load register: mod_enabled with_items: - {{ extra_modules }} - name: Print registered variable debug: var=mod_enabled
40 Regisztrált változók II. { failed : false, mod_enabled : { results : [ { item : ssl, stat : { exists : false, }, },
41 Regisztrált változók III. - name: Check enabled extra apache2 modules stat: path=/etc/apache2/mods-enabled/{{ item }}.load register: mod_enabled with_items: - {{ extra_modules }} - name: Enable extra apache2 modules command: /usr/sbin/a2enmod {{ item.item }} when: item.stat.exists == false with_items: {{ mod_enabled.results }}
42 Jinja2 I. Változók felhasználása ansible playbook-ban, template fájlokban Tesztek Jinja2 builtin defined, undefined, match, search is_file, is_dir, exists, - do something when: myvar defined and myvar match( foo* )
43 Jinja2 II. Filterek Default értékek: {{ myvar default( foo [] {}) }} Halmaz műveletek: unique, union, intersect,.. sort(reverse,case, attr); dictsort(case, key value) JSON query ipaddr filter {{ (myvar == true) ternary( a, b ) }} basename, dirname regexp
44 Jinja2 III. Paraméter kihagyása - name: Copy files and set access rights copy: src: {{ item.name }} dest:.ssh/ {{ item.name }} mode: {{ item.mode default(omit) }} with_items: - name: ssh_key.pub - name: ssh_key mode: 600
45 Templating Statikus fájl helyett dinamikusan generált fájl copy, files könyvtár template, templates könyvtár # /etc/postfix/main.cf.j2 myhostname = {{ ansible_fqdn }} relayhost = {{ mail_gateway }}
46 Feltételek I. when and, or, zárójelezés, and megadható listaként when: - ansible_distribution == Debian - ansible_virtualization_role == guest Filterek természetesen használhatók when: - ansible_distribution lower == debian - ansible_virtualization_role == guest
47 Feltételek és import_tasks, roles Az ansible a feltételt az importált task, role minden task elemére alkalmazza! tasks: - import_tasks: tasks/debian.yml when: ansible_os_family == 'Debian' tasks: - import_role: name=debian when: ansible_os_family == 'Debian'
48 Feltételek és include_tasks Az ansible a feltételt csak az include_tasks, include_role műveletre alkalmazza: tasks: - include_tasks: tasks/debian.yml when: ansible_os_family == 'Debian'
49 Feltételes var fájl include vars_files lista esetén az első talált fájlt használja - hosts: all vars_files: - common.yml - [ {{ ansible_os_family lower }}.yml, os_default.yml ]
50 Első találat copy, template esetén vars_files-hoz hasonló - name: Copy sshd_config copy: src={{ item }} dest=/etc/ssh/sshd_config with_first_found: - files: - sshd_config.{{ ansible_hostname }} - sshd_config.default
51 Loops when minden iterációnál kiértékelődik Standard loop: with_items : Listaelem bármi lehet with_nested with_dict with_first_found with_fileglob etc/foo/conf.d/* with_lines cat /etc/aliases
52 Hibakezelés I. Parancsvégrehajtás hibájának figyelmen kívül hagyása: ignore_errors: yes Mit tekintsünk hibának: failed_when: result.rc == 0 or result.rc >= 2 Mit tekintsünk változásnak: changed_when: false
53 Hibakezelés II. Saját init script kezelése :-) - name: Check that init script already enabled shell: /bin/ls /etc/rc?.d/*myservice register: ls_rc_myservice ignore_errors: true changed_when: false - name: Enable init script command: /usr/sbin/update-rc.d myservice defaults when: ls_rc_myservice failed
54 Ansible vault I. Jelszavak biztonságos/titkosított tárolása.gitignore és git-ben nem tárolt var fájl(ok) ansible vault Vault: bármi titkosítható String Strukturált adat Tetszőleges fájl (copy, template) YAML fájlban tárolható titkosított érték Szükséges: pip install -U cryptography
55 Ansible vault, fájl műveletek Create/encrypt/decrypt/view/edit $ cat vars.yml --- var1: foo var2: bar $ ansible-vault --vault-id secretfile encrypt vars.yml $ cat vars.yml $ANSIBLE_VAULT;1.1;AES a a
56 Ansible vault, string műveletek encrypt_string $ ansible-vault encrypt_string --vault-id vault_id --name 'somevar' 'value' somevar:!vault $ANSIBLE_VAULT;1.1;AES a a
57 Vault ajánlott használata Pl. group_vars/groupname fájl helyett: group_vars/groupname/vars --- var1: foo passwd1: {{ vault_passwd1 }} group_vars/groupname/vault --- vault_passwd1:!vault...
58 Tagek A taskok, role-ok tagelhetők Tetszőleges számú tag lehet A handlereknek a megfelelő taggel rendelkezni kell A tag segítségével a playbook lejátszása hoston belül leszűkíthető! tasks: - import_role: name: apache2 tags: - apache2 - httpd
59 Ansible Galaxy Egymással megosztható role-ok gyűjteménye $ ansible-galaxy search slapd Found 50 roles matching your search: Name Description debops.slapd Manage slapd - OpenLDAP server
60 Komplex rendszerek kezelhetők Dinamikus inventory # etc/postfix/relay_domains.j2 {% for t in hostvars.gw.tenant._data %} {% if hostvars.gw.tenant.data[t].state == 'present' %} {% set relay = hostvars.gw.tenant.data[t].ansible_ssh_host %} {% for d in hostvars.gw.tenant.data[t].domains %} {{ d }} relay:[{{ relay }}] {% endfor %} {% endif %} {% endfor %}
61 Nem elég? :-) Bővíthető {{ (var['foo'] is defined) ternary(var['foo'], bar) }} {{ var dict_exists(foo, bar) }} # filter_plugins/myfilter.py def dict_exists(d, e, defval): if e in d: return d[e] else: return defval...
62 Best practices Kövessük az ajánlott könyvtár struktúrák valamelyikét Használjunk csoport, host változókat Használjunk role-okat Használjunk tag-eket Mindig nevezzük meg a task-okat Ne bonyolítsuk túl Használjunk verziókezelő rendszert
Verziókezelt konfigurációmanagement++ Pásztor György, SZTE Klebelsberg Könyvtár pasztor@ek.szte.hu
Verziókezelt konfigurációmanagement++ Pásztor György, SZTE Klebelsberg Könyvtár pasztor@ek.szte.hu Áttekintés 2 Probléma felvetése: konfiguráció verziókezelten Igények áttekintése Saját megoldás nyújtotta
Automatikus infrastruktúra menedzsment és alkalmazástelepítés
Intelligens rendszerfelügyelet Automatikus infrastruktúra menedzsment és alkalmazástelepítés Szatmári Zoltán Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék
Szkriptnyelvek. 1. UNIX shell
Szkriptnyelvek 1. UNIX shell Szkriptek futtatása Parancsértelmez ő shell script neve paraméterek shell script neve paraméterek Ebben az esetben a szkript tartalmazza a parancsértelmezőt: #!/bin/bash Szkriptek
Mérési útmutató a Secure Shell (SSH) controll és audit című méréshez
Mérési útmutató a Secure Shell (SSH) controll és audit című méréshez 2016. február A mérést kidolgozta: Höltzl Péter Balabit Europe Kft. BME, CrySyS Adat- és Rendszerbiztonság Laboratórium 1. Elméleti
S z á m í t ó g é p e s a l a p i s m e r e t e k
S z á m í t ó g é p e s a l a p i s m e r e t e k 7. előadás Ami eddig volt Számítógépek architektúrája Alapvető alkotóelemek Hardver elemek Szoftver Gépi kódtól az operációs rendszerig Unix alapok Ami
11. Gyakorlat: Certificate Authority (CA), FTP site-ok
11. Gyakorlat: Certificate Authority (CA), FTP site-ok 11.1. A CA szerver szerepkör telepítése a DC01-es szerverre 11.2. Az FTP szervíz telepítése a DC01-es szerverre 11.3. A szükséges DNS rekordok létrehozása
Egészítsük ki a Drupal-t. Drupal modul fejlesztés
Egészítsük ki a Drupal-t Drupal modul fejlesztés Drupal 6.0 2008. február 13. Miért írjunk Drupal modult? Nincs az igényeinknek megfelelő modul Valamilyen közösségi igény kielégítése Valami nem úgy működik
Nagios NSCA Indirect Monitoring, Passive Check
Nagios NSCA Indirect Monitoring, Passive Check NSCA passzív monitoring Az NSCA-val végrehajtott passive check monitoringnak a lényege az ábrán jól látszódik. A központi Nagios nem küld (aktív) check parancsokat,
Adatbázis-kezelés ODBC driverrel
ADATBÁZIS-KEZELÉS ODBC DRIVERREL... 1 ODBC: OPEN DATABASE CONNECTIVITY (NYÍLT ADATBÁZIS KAPCSOLÁS)... 1 AZ ODBC FELÉPÍTÉSE... 2 ADATBÁZIS REGISZTRÁCIÓ... 2 PROJEKT LÉTREHOZÁSA... 3 A GENERÁLT PROJEKT FELÉPÍTÉSE...
SAMBA. Forrás: Lajber Zoltán: SAMBA alapok dia, SZIE
Forrás: Lajber Zoltán: SAMBA alapok dia, SZIE https://www.samba.org Mi a SAMBA? Windows "Fájl és nyomtatómegosztás", illetve a "Microsoft Networks Kliens" szolgáltatásokat tartalmazó szoftvercsomag. NETBIOS
Cisco Catalyst 3500XL switch segédlet
Cisco Catalyst 3500XL switch segédlet A leírást készítette: Török Viktor (Kapitány) GAMF mérnökinformatikus rendszergazda FOSZK hallgató, Hálózatok II. tárgy Web: http://prog.lidercfeny.hu/ Források: Medgyes
2. lépés: openssh szerver telepítés sudo apt-get install openssh-server
1. lépés: (master- és datanode esetén) Csoport készítés: sudo addgroup hadoop Felhasználók készítése: sudo adduser --ingroup hadoop yarn sudo adduser --ingroup hadoop hdfs sudo adduser --ingroup hadoop
Source control systems. Horváth Ernő, Dr. Pozna Claudiu Radu
Source control systems Horváth Ernő, Dr. Pozna Claudiu Radu Verziókezelés A verziókezelő rendszerek angolul revision control, version control, source control. Leggyakrabban a mérnöki tudományokban és a
BASH script programozás II. Vezérlési szerkezetek
06 BASH script programozás II. Vezérlési szerkezetek Emlékeztető Jelölésbeli különbség van parancs végrehajtása és a parancs kimenetére való hivatkozás között PARANCS $(PARANCS) Jelölésbeli különbség van
AWK programozás, minták, vezérlési szerkezetek
10 AWK programozás, minták, vezérlési szerkezetek AWK adatvezérelt szkriptnyelv text processing, adat kiterjesztés, tagolt adatok automatizált soronkénti feldolgozása a forrásállományt soronként beolvassa
Operációs rendszerek. 9. gyakorlat. Reguláris kifejezések - alapok, BASH UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED
UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED Reguláris kifejezések - alapok, BASH Operációs rendszerek 9. gyakorlat Szegedi Tudományegyetem Természettudományi és Informatikai Kar Csuvik Viktor
S z á m í t ó g é p e s a l a p i s m e r e t e k
S z á m í t ó g é p e s a l a p i s m e r e t e k 11. Előadás Ami eddig volt Számítógépek architektúrája Alapvető alkotóelemek Hardver elemek Szoftver Gépi kódtól az operációs rendszerig Unix alapok,shell
Imperatív programozás
Imperatív programozás 7. Előadás Függvények, láthatóság (folytatás) Modulok Kivételkezelés Beágyazott függvény def lnko(x, y): def kivon(m, n): return m - n while not (x == y) : if x > y : x = kivon(x,y)
Viczián István IP Systems http://jtechlog.blogspot.hu/ JUM XIX. - 2012. szeptember 18.
Viczián István IP Systems http://jtechlog.blogspot.hu/ JUM XIX. - 2012. szeptember 18. Két projekt Mindkettőben folyamatirányítás Eltérő követelmények Eltérő megoldások Dokumentum gyártási folyamat Üzemeltetés
Operációs rendszerek. 9. gyakorlat. BASH recap, reguláris kifejezések UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED
UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED BASH recap, reguláris kifejezések Operációs rendszerek 9. gyakorlat Szegedi Tudományegyetem Természettudományi és Informatikai Kar Csuvik Viktor
Beállítások 1. Töltse be a Planet_NET.pkt állományt a szimulációs programba! A teszthálózat már tartalmazza a vállalat
Planet-NET Egy terjeszkedés alatt álló vállalat hálózatának tervezésével bízták meg. A vállalat jelenleg három telephellyel rendelkezik. Feladata, hogy a megadott tervek alapján szimulációs programmal
Bevezetés a Python programozási nyelvbe
Bevezetés a Python programozási nyelvbe 8. Gyakorlat modulok random számok (utolsó módosítás: 2017. aug. 3.) Szathmáry László Debreceni Egyetem Informatikai Kar 2017-2018, 1. félév Modulok Amint a programunk
Imperatív programozás
Imperatív programozás 2. Előadás Python alapok Elérhetőség Tejfel Máté Déli épület, 2.616 matej@elte.hu http://matej.web.elte.hu Python Script nyelv Értelmezett (interpretált) Dinamikus típusrendszer Gyors
eseményvezérelt megoldások Vizuális programozás 5. előadás
Programozási architektúrák, eseményvezérelt megoldások Vizuális programozás 5. előadás Komponens-alapú programozás Kezdelteges formája, az első komponensek: DLL-ek Black box ujrahasznosítható kód Függvényeket
Az internet ökoszisztémája és evolúciója. Gyakorlat 1
Az internet ökoszisztémája és evolúciója Gyakorlat 1 GNS3: installálás és konfiguráció GNS3: hálózatszimulátor Valódi router/hoszt image-ek hálózatba kapcsolása emulált linkeken keresztül: CISCO, Juniper,
Teszt topológia E1/1 E1/0 SW1 E1/0 E1/0 SW3 SW2. Kuris Ferenc - [HUN] Cisco Blog -
VTP Teszt topológia E1/1 E1/0 SW1 E1/0 E1/0 SW2 SW3 2 Alap konfiguráció SW1-2-3 conf t interface e1/0 switchport trunk encapsulation dot1q switchport mode trunk vtp domain CCIE vtp mode transparent vtp
LINUX LDAP címtár. Mi a címtár?
Forrás: https://wiki.hup.hu/index.php/ldap http://tldp.fsf.hu/howto/ldap-howto-hu/ Budapesti Műszaki és Gazdaságtudományi Egyetem, Micskei Zoltán: Címtárak Kezelése, 2012. https://hu.wikipedia.org/wiki/c%c3%admt%c3%a1rszolg%c3%a1ltat%c3%a1sok
Imperatív programozás
Imperatív programozás 6. Előadás Python típusok (folytatás) Függvények Típusok + műveleteik Listák - mutable (változtatható) - heterogén lista >>> lista = ["szo", 12, 3.5] >>> lista[1] 12 >>> lista[1:3]
Python tanfolyam Python bevezető I. rész
Python tanfolyam Python bevezető I. rész Mai tematika Amiről szó lesz (most): Interpretált vs. fordított nyelvek, GC Szintakszis Alaptípusok Control flow: szekvencia, szelekció, iteráció... Függvények
Szalai Ferenc szferi@gluon.hu. http://www.gluon.hu
Amit mindig is tudni akartál az LDAP-ról, de sosem merted megkérdezni Szalai Ferenc szferi@gluon.hu Bevezető Mi szösz az az LDAP? OpenLDAP szerver adatbázis felépítése szerver beállítása Mire jó az LDAP
Komputeralgebra Rendszerek
Komputeralgebra Rendszerek Programozás Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék 2014. február 23. TARTALOMJEGYZÉK 1 of 28 TARTALOMJEGYZÉK I 1 TARTALOMJEGYZÉK 2 Értékadás MAPLE -ben SAGE -ben 3
2. gyakorlat: Tartományvezérlő, DNS, tartományba léptetés, ODJ, Core változat konfigurálása, RODC
2. gyakorlat: Tartományvezérlő, DNS, tartományba léptetés, ODJ, Core változat konfigurálása, RODC 2.1. Tartományvezérlő és DNS szerver szerepkör hozzáadása a DC01-hez 2.2. Az SRV01 és a Client01 tartományba
Kézikönyv Nyomtatók kezelése Linuxon
Kézikönyv Nyomtatók kezelése Linuxon Tartalomjegyzék 1 4 2 AMD:CCC-AEMCAPTURINGWINDOW... 7 3 ROOT@SEPTEMBER:~... 8 4 ROOT@SEPTEMBER:/ETC/CUPS... 9 5 AMD:CCC-AEMCAPTURINGWINDOW... 11 6 AMD:CCC-AEMCAPTURINGWINDOW...
Summer of LabVIEW The Sunny Side of System Design
Summer of LabVIEW The Sunny Side of System Design 30th June - 18th July 1 Adatbázis kapcsolatok, adattárolás és a LabVIEW Ványi Zoltán Hungary Kft. Agenda az előadás tematikája Bevezető - bemutatkozás
Programozási technológia 2.
Programozási technológia 2. Cserép Máté ELTE Informatikai Kar 2019. Folyamatos integráció A folytonos integráció (continuous integration, CI) egy olyan gyakorlati módszer, amely lehetővé teszi a programkódok
Think customer 2001. Hatékony ügyfélszolgálat és megvalósítási módszertan. WorkShop
Think customer 2001 Hatékony ügyfélszolgálat és megvalósítási módszertan WorkShop Tóthné Katona Márta eadvisor Oracle Hungary Hogyan is kezdjünk hozzá? Értsük meg üzleti környezetünket: melyek a problémáink
Szathmáry László Debreceni Egyetem Informatikai Kar
Szathmáry László Debreceni Egyetem Informatikai Kar 1. Gyakorlat bevezető JSON telepítés (utolsó módosítás: 2018. szept. 12.) 2018-2019, 1. félév MongoDB https://www.mongodb.com/ A MongoDB egy nem-relációs,
Hálózati operációs rendszerek II.
Hálózati operációs rendszerek II. Novell Netware 5.1 Web-es felügyelet, DNS/DHCP szerver, mentési alrendszer 1 Web-es felügyelet Netware Web Manager HTTPS protokollon keresztül pl.: https://fs1.xy.hu:2200
SQL ALAPOK. Bevezetés A MYSQL szintaxisa Táblák, adatok kezelésének alapjai
SQL ALAPOK Bevezetés A MYSQL szintaxisa Táblák, adatok kezelésének alapjai BEVEZETÉS SQL: Structured Query Language Strukturált Lekérdező Nyelv Szabvány határozza meg, azonban számos nyelvjárása létezik
Konfiguráljuk be a TCP/IP protokolt a szerveren: LOAD INETCFG A menüpontokból válasszuk ki a Proctcols menüpontot:
A TCP/IP protokolll konfigurálása Konfiguráljuk be a TCP/IP protokolt a szerveren: LOAD INETCFG A menüpontokból válasszuk ki a Proctcols menüpontot: A NetWare-ben beállítható protokolllok jelennek meg
Az internet ökoszisztémája és evolúciója. Gyakorlat 1
Az internet ökoszisztémája és evolúciója Gyakorlat 1 GNS3: installálás és konfiguráció GNS3: hálózatszimulátor Valódi router/hoszt image-ek hálózatba kapcsolása emulált linkeken keresztül: CISCO, Juniper,
Copyright 2012, Oracle and/or its affiliates. All rights reserved.
1 Oracle Konfiguráció Kezelő Gruhala Izabella 2013. Április 8. 2 Agenda Mi az Oracle Konfiguráció Kezelő (Configuration Manager - OCM)? Milyen adatokat gyűjt a Konfiguráció Kezelő? Előnyök, jellemzők,
SOPHOS simple + secure. A dobozba rejtett biztonság UTM 9. Kókai Gábor - Sophos Advanced Engineer Balogh Viktor - Sophos Architect SOPHOS
SOPHOS simple + secure A dobozba rejtett biztonság UTM 9 Kókai Gábor - Sophos Advanced Engineer Balogh Viktor - Sophos Architect SOPHOS SOPHOS simple + secure Megint egy UTM? Egy újabb tűzfal extrákkal?
AWK programozás, minták, vezérlési szerkezetek
10 AWK programozás, minták, vezérlési szerkezetek AWK futtatási módok AWK parancs, közvetlen programkódmegadás: awk 'PROGRAMKÓD' FILE példa: ls -l awk '{print $1, $5}' a programkód helyére minden indentálás
Moodle-integrálás intézményi környezetben
Moodle-integrálás intézményi környezetben Dr. Tornóci László, Dr. Kokovay Ágnes Semmelweis Egyetem E-learning és Digitális Tartalomfejlesztő Igazgatóság A felhasználóazonosítás és a jogosultságkezelés
és DKIM. Kadlecsik József MTA Wigner Fizikai Kutatóközpont ISZT 2018, Budapest
Email és DKIM Kadlecsik József MTA Wigner Fizikai Kutatóközpont kadlecsik.jozsef@wigner.mta.hu Tartalom SMTP (ESTMP) DKIM DMARC Tapasztalatok SMTP I. Kliens EHLO client-fqdn MAIL FROM:
Eseményvezérelt alkalmazások fejlesztése II 12. előadás. Objektumrelációs adatkezelés (ADO.NET) Giachetta Roberto
Eötvös Loránd Tudományegyetem Informatikai Kar Eseményvezérelt alkalmazások fejlesztése II 12. előadás Objektumrelációs adatkezelés (ADO.NET) Giachetta Roberto A jegyzet az ELTE Informatikai Karának 2014.
10. Gyakorlat: Alkalmazások publikálása Remote Desktop Szervízen keresztül
10. Gyakorlat: Alkalmazások publikálása Remote Desktop Szervízen keresztül 10.1. Jogosultságok és csoportok létrehozása 10.2. Az RDS szerver szerepkör telepítése a DC01-es szerverre 10.3. Az RDS01-es szerver
Programozási nyelvek JAVA EA+GY 1. gyakolat
Programozási nyelvek JAVA EA+GY 1. gyakolat EÖTVÖS LORÁND TUDOMÁNYEGYTEM INFORMATIKAI KAR PROGRAMOZÁSI NYELVEK ÉS FORDÍTÓPROGRAMOK TANSZÉK 2018/2019. tavaszi félév Tartalom 1 A Java alapjai 2 Java program
PHP. Telepítése: Indítás/újraindítás/leállítás: Beállítások: A PHP nyelv
PHP A PHP rövidítés jelentése hivatalosan: PHP Hypertext Preprocessor. Ez egy kiszolgáló-oldali parancsnyelv, amit jellemzően HTML oldalakon használnak. A különbség a két nyelv között az, hogy a kiszolgáló
A fordítónak mindenhez lehet
2. Ubuntu Akadémia 2009. szeptember 13. Szalai KAMI Kálmán (kami911@gmail.com) A fordítónak mindenhez lehet köze Az előadóról OpenOffice.org rajongó több, mint 6 éve Részvétel a fordításban Részletes tippek
Symfony kurzus 2014/2015 I. félév. Controller, Routing
Symfony kurzus 2014/2015 I. félév Controller, Routing Request - Response GET / HTTP/1.1 Host: xkcd.com Accept: text/html User-Agent: Mozilla/5.0 (Macintosh) HTTP/1.1 200 OK Date: Sat, 02 Apr 2011 21:05:05
1. Kapcsolók konfigurálása
1. Kapcsolók konfigurálása Üzemmódok: Felhasználói Privilegizált Globális konfigurációs váltás: enable (en), váltás: exit váltás: configure terminal (conf t), váltás: exit váltás: változó, váltás: exit,
A függvény kód szekvenciáját kapcsos zárójelek közt definiáljuk, a { } -ek közti részt a Bash héj kód blokknak (code block) nevezi.
Függvények 1.Függvények...1 1.1.A függvény deníció szintaxisa... 1..Függvények érték visszatérítése...3 1.3.Környezettel kapcsolatos kérdések...4 1.4.Lokális változók használata...4 1.5.Rekurzív hívások...5.kód
BackupPC. Az /etc/hosts fájlba betehetjük a hosztokat, ha nem a tejles (fqdn, DNS név) névvel hivatkozunk rájuk: # /etc/hosts #... 192.168.1.
BackupPC Bevezető A BackupPC számítógépek (szerver és munkaállomások) mentését megvalósító szoftver. Legfontosabb jellemzője, hogy távoli mentést alkalmaz smb, ftp, ssh/rsync segítségével. A szoftver perl
S z á m í t ó g é p e s a l a p i s m e r e t e k
S z á m í t ó g é p e s a l a p i s m e r e t e k 10. előadás Ami eddig volt Számítógépek architektúrája Hardver elemek Szoftver Gépi kódtól az operációs rendszerig Unix alapok Shell script Windows adminisztráció
VIRTUAL APPLIANCE KÉZIKÖNYV VIRTUAL APPLIANCE KÉZIKÖNYV
VIRTUAL APPLIANCE KÉZIKÖNYV VIRTUAL APPLIANCE KÉZIKÖNYV www.eset.hu support@sicontact.hu 1. oldal Tartalomjegyzék Alaprendszer installálása 3 Szükséges alapfeltételek 3 A rendszer installálása 3 ESET Remote
Automatizált Java Build. ApacheAnt használatával
Automatizált Java Build ApacheAnt használatával 1 TARTALOMJEGYZÉK 1 Tartalomjegyzék... 2 2 Bevezetés... 3 3 Az Apache Ant... 3 4 Felhasználás... 5 5 Összefoglalás... 9 6 Irodalomjegyzék... 9 30_Automatizalt
Jelszavak helyes megválasztása, szótáras törés. Pánczél Zoltán
Jelszavak helyes megválasztása, szótáras törés Pánczél Zoltán 1 Miért fontos a megfelelő jelszó? Nagyban növeli a rendszer biztonságát. Könnyű jelszó = Nincs jelszó A teljes rendszer biztonsága tőlünk
SQL*Plus. Felhasználók: SYS: rendszergazda SCOTT: demonstrációs adatbázis, táblái: EMP (dolgozó), DEPT (osztály) "közönséges" felhasználók
SQL*Plus Felhasználók: SYS: rendszergazda SCOTT: demonstrációs adatbázis, táblái: EMP dolgozó), DEPT osztály) "közönséges" felhasználók Adatszótár: metaadatokat tartalmazó, csak olvasható táblák táblanév-prefixek:
Operációs rendszerek gyak.
Operációs rendszerek gyak. Linux alapok III., Bash Cirok Dávid Hirling Dominik Szegedi Tudományegyetem Cirok.David@stud.u-szeged.hu Hirling.Dominik@stud.u-szeged.hu Linux alapok III., Bash 1 Linkelés 2
SQLServer. SQLServer konfigurációk
SQLServer 2. téma DBMS installáció SQLServer konfigurációk 1 SQLServer konfigurációk SQLServer konfigurációk Enterprise Edition Standart Edition Workgroup Edition Developer Edition Express Edition 2 Enterprise
Processzusok (Processes), Szálak (Threads), Kommunikáció (IPC, Inter-Process Communication)
1 Processzusok (Processes), Szálak (Threads), Kommunikáció (IPC, Inter-Process Communication) 1. A folyamat (processzus, process) fogalma 2. Folyamatok: műveletek, állapotok, hierarchia 3. Szálak (threads)
Virtualizációs technológiák Linux alatt (teljesítményteszt)
Virtualizációs technológiák Linux alatt (teljesítményteszt) Ebben a dokumentációban a virtualizációs technológiák sebességét, teljesítményét hasonlítom össze RedHat-alapú Linux disztribúciókkal. A teszteléshez
Linux hálózati adminisztráció
Linux hálózati adminisztráció Tantárgykód: MIN7K0IN-T Göcs László főiskolai tanársegéd Neumann János Egyetem GAMF Műszaki és Informatikai Kar Informatika Tanszék 8. 2018-19. tanév 1. félév Informatia.Neked
Mérési útmutató az Access Control (ACC) cím méréshez
Mérési útmutató az Access Control (ACC) cím méréshez 2016. április 11. A mérést kidolgozta: Bencsáth Boldizsár Holczer Tamás Papp Dorottya BME, CrySyS Adat- és Rendszerbiztonság Laboratórium Tartalomjegyzék
Csatlakozás a BME eduroam hálózatához Setting up the BUTE eduroam network
Csatlakozás a BME eduroam hálózatához Setting up the BUTE eduroam network Table of Contents Windows 7... 2 Windows 8... 6 Windows Phone... 11 Android... 12 iphone... 14 Linux (Debian)... 20 Sebők Márton
AWK programozás Bevezetés
09 AWK programozás Bevezetés AWK adatvezérelt szkriptnyelv text processing, adat kiterjesztés, tagolt adatok automatizált soronkénti feldolgozása a forrásállományt soronként beolvassa és feldolgozhatóvá
GUSE BEMUTATÓ. Az MTA CLOUD felhasználói számára készült guse bemutató v2.0. MTA Cloud csapat
GUSE BEMUTATÓ Az MTA CLOUD felhasználói számára készült guse bemutató v2.0 MTA Cloud csapat info@mta.cloud.hu Tartalom Mi a guse?... 2 A telepítéshez szükséges képfájlok... 2 A belépéshez szükséges azonosítók...
Data Vault 2.0 és az Oracle DW/BD referencia architektúra. Gollnhofer Gábor Meta Consulting Kft.
Data Vault 2.0 és az Oracle DW/BD referencia architektúra Gollnhofer Gábor Meta Consulting Kft. Az Oracle referencia architektúrák Rövid bevezető Az IT Strategies from Oracle (ITSO) része Átgondolt, bevált,
DWL-G520 AirPlus Xtreme G 2,4GHz Vezeték nélküli PCI Adapter
Ez a termék a következő operációs rendszereket támogatja: Windows XP, Windows 2000, Windows Me, Windows 98SE DWL-G520 AirPlus Xtreme G 2,4GHz Vezeték nélküli PCI Adapter Előfeltételek Legalább az alábbiakkal
NEPTUN ID BMENET ID. Címtár BME VPN. vcenter VPN SVN. Trac Wiki. Wifi
Tanszék N NEPTUN ID Címtár vcenter Trac Wiki SVN Wifi VPN BMENET ID BME VPN BME címtár elérés Drupal alól Ujhelyi Zoltán Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek
Windows rendszeradminisztráció és Microsoft szerveralkalmazások támogatása. 9. óra. Kocsis Gergely, Kelenföldi Szilárd
Windows rendszeradminisztráció és Microsoft szerveralkalmazások támogatása 9. óra Kocsis Gergely, Kelenföldi Szilárd 2015.04.30. PowerShell PowerShell alapok Bemutatás: 2006 PowerShell 1.0 Telepíthető
Adatbázis másolás Slony-I segítségével
Adatbázis másolás Slony-I segítségével Akár a magas elérhetõség érdekében, akár mentésként vagy leállás nélküli verziófrissítés miatt van szükségünk másolatkészítésre, ez a rugalmas eszköz mindent szinkronban
8. Gyakorlat SQL. DDL (Data Definition Language) adatdefiníciós nyelv utasításai:
8. Gyakorlat SQL SQL: Structured Query Language; a relációs adatbáziskezelők szabványos, strukturált lekérdező nyelve SQL szabványok: SQL86, SQL89, SQL92, SQL99, SQL3 Az SQL utasításokat mindig pontosvessző
WEBFEJLESZTÉS 2. ADATBÁZIS-KEZELÉS, OSZTÁLYOK
WEBFEJLESZTÉS 2. ADATBÁZIS-KEZELÉS, OSZTÁLYOK Horváth Győző Egyetemi adjunktus 1117 Budapest, Pázmány Péter sétány 1/C, 2.420 Tel: (1) 372-2500/1816 2 Ismétlés Ismétlés 3 Fájl/Adatbázis 3 4 Szerver 2 CGI
Operációs Rendszerek II. labor. 4-5. alkalom
Operációs Rendszerek II. labor 4-5. alkalom Több program egyszerre Többszörös bejelentkezéssel triviális Egy shell alól is lehet: Indítás háttérben: & Futó program felfüggesztése: CTRL-Z Háttérbe
Ismerkedés a Python programnyelvvel. és annak micropython változatával
Ismerkedés a Python programnyelvvel és annak micropython változatával A Python programozási nyelv története Az alapötlet 1980-ban született, 1989 decemberében kezdte el fejleszteni Guido van Rossum a CWI-n
SZERVER OLDALI JAVASCRIPT. 3. hét Javascript nyelvi elemek
SZERVER OLDALI JAVASCRIPT 3. hét Javascript nyelvi elemek NYELVI ALAPOK: Ez sajnos igen száraz anyag, Viszont a megértékhez és a nyelv elsajátításához kell. Próbáljuk meg random gifekkel feldobni. MIRŐL
Sintony SAK 41. Kezelési utasíitás 8AA10865 - D0-20/10/99 - UK -
Sintony SAK 41 Kezelési utasíitás 8AA10865- D0-20/10/99 - UK - 1 Mûszaki kifejezések Riasztás Kikapcsolt Hiba : Valamely érzékelõ jelzése (aktív állapota), amely valamilyen jelzést vált ki (hangjelzés,
BIG DATA ÉS GÉPI TANULÁS KÖRNYEZET AZ MTA CLOUD-ON KACSUK PÉTER, NAGY ENIKŐ, PINTYE ISTVÁN, HAJNAL ÁKOS, LOVAS RÓBERT
BIG DATA ÉS GÉPI TANULÁS KÖRNYEZET AZ MTA CLOUD-ON KACSUK PÉTER, NAGY ENIKŐ, PINTYE ISTVÁN, HAJNAL ÁKOS, LOVAS RÓBERT TARTALOM MTA Cloud Big Data és gépi tanulást támogató szoftver eszközök Apache Spark
Saját Subversion tároló üzemeltetése i. Saját Subversion tároló üzemeltetése
i Saját Subversion tároló üzemeltetése ii KÖZREMŰKÖDŐK CÍM : Saját Subversion tároló üzemeltetése TEVÉKENYSÉG NÉV DÁTUM ALÁÍRÁS ÍRTA Jeszenszky, Péter 2014. február 16. VERZIÓTÖRTÉNET VERZIÓ DÁTUM LEÍRÁS
SSH haladóknak. SSH haladóknak
1 minden ami a sima jelszavas bejelentkezésen túl van, kulcsok, port forward szegény ember vpn-je Zámbó Marcell Andrews IT Engineering Kft. Amit az sshról tudni érdemes... 2 man ssh man
4. Gyakorlat: Csoportházirend beállítások
4. Gyakorlat: Csoportházirend beállítások 4.1. A Default Domain Policy jelszóra vonatkozó beállításai 4.2. Parancsikon, mappa és hálózati meghajtó megjelenítése csoport házirend segítségével 4.3. Alkalmazások
2019, Funkcionális programozás. 2. el adás. MÁRTON Gyöngyvér
Funkcionális programozás 2. el adás Sapientia Egyetem, Matematika-Informatika Tanszék Marosvásárhely, Románia mgyongyi@ms.sapientia.ro 2019, tavaszi félév Mir l volt szó? Követelmények, osztályozás Programozási
JavaScript Web AppBuilder használata
JavaScript Web AppBuilder használata Kiss András Esri Magyarország Kft. 2015. október 8. Az ArcGIS Platform lehetővé teszi a Web GIS-t Térinformatika elérése bárhonnan Desktop Web Eszköz Egyszerű Egységes
Internetkonfigurációs követelmények. A számítógép konfigurálása. Beállítások Windows XP alatt
Internetkonfigurációs követelmények Annak érdekében, hogy csatlakoztatni tudja a Hozzáférési Pontját a Hozzáférési Pont Kezelőhöz, a következő konfigurációs paramétereket kell beállítania a számítógépe
Fási PHP függőségkezelés composerrel
@maerlyng http://maerlyn.eu/ PHP függőségkezelés composerrel Csomagok és Függőségek kezelése A jelenlegi helyzet PEAR PECL A jelenlegi helyzet A composer birodalom Composer - CLI eszköz egyszerű használat
3. Gyakorlat: Bevezetés a vbs script-be és a powershell-be, AD recycle bin
3. Gyakorlat: Bevezetés a vbs script-be és a powershell-be, AD recycle bin 3.1. Szervezeti egységek létrehozása az AD-ban 3.2. Kötegelt user létrehozás vb script segítségével 3.3. Ismerkedés a powershell-lel
file./script.sh > Bourne-Again shell script text executable << tartalmat néz >>
I. Alapok Interaktív shell-ben vagy shell-scriptben megadott karaktersorozat feldolgozásakor az első lépés a szavakra tördelés. A szavakra tördelés a következő metakarakterek mentén zajlik: & ; ( ) < >
Szkriptnyelvek II. Perl programok
Szkriptnyelvek II. Perl programok Perl Practical Extraction and Report Language Interpreteres nyelv alkalmas szövegfeldolgozó alklmazások készítésére strukturált programszerkezet Szubrutinok támogatása
WCF, Entity Framework, ASP.NET, WPF 1. WCF service-t (adatbázissal Entity Framework) 2. ASP.NET kliens 3. WPF kliens
WCF, Entity Framework, ASP.NET, WPF 1. WCF service-t (adatbázissal Entity Framework) 2. ASP.NET kliens 3. WPF kliens Hozzunk létre egy ASP.NET Empty Web Site projektet! A projekt neve legyen WCFAPP1. Ez
MDAC - Microsoft Data Access Components
MDAC - Microsoft Data Access Components 1 ODBC Open DataBase Connectivity ODBC software API adatbáziskezeléshez. Nyelvfüggetlen, Adatbázisfüggetlen Operációsrendszer-független Standard adathozzáférés SQL
12.2.2 Laborgyakorlat: A Windows XP haladó telepítése
12.2.2 Laborgyakorlat: A Windows XP haladó telepítése Bevezetés Nyomtasd ki a laborgyakorlatot és végezd el lépéseit! Ebben a laborgyakorlatban automatizálva fogjuk telepíteni a Windows XP Professional
Processzusok (Processes), Szálak (Threads), Kommunikáció (IPC, Inter-Process Communication)
1 Processzusok (Processes), Szálak (Threads), Kommunikáció (IPC, Inter-Process Communication) 1. A folyamat (processzus, process) fogalma 2. Folyamatok: műveletek, állapotok, hierarchia 3. Szálak (threads)
Tájékoztató a kollégiumi internet beállításához
Tájékoztató a kollégiumi internet beállításához V 1.3 A támogatott operációs rendszerekhez tartozó leírás hamarosan bıvülni fog, jelenleg a következı leírásokat tartalmazza: Windows XP, Windows Vista,
ROS Remote Operations Service
ROS Remote Operations Service Adamis Gusztáv (adamis@tmit.bme.hu) Réthy György (Gyorgy.Rethy@ericsson.com) Ziegler Gábor (gabor.ziegler@ericsson.com) 2015.03.13. Távközlési szoftverek 1 Példa: szendvicsautomata
Webes alkalmazások fejlesztése 8. előadás. Webszolgáltatások megvalósítása (ASP.NET WebAPI)
Eötvös Loránd Tudományegyetem Informatikai Kar Webes alkalmazások fejlesztése 8. előadás (ASP.NET WebAPI) 2016 Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto A webszolgáltatás
ios alkalmazásfejlesztés Koltai Róbert
ios alkalmazásfejlesztés Koltai Róbert robert.koltai@ponte.hu Mi az a block? Utasítások sorozata { }-ek között, amit egy objektumként tuduk kezelni. ios 4.0 és Mac OSX 10.6 óta 2 Egy példa a felépítésére