Programovanie v ubuntu. Linuxové programovanie. Základy príkazového riadku

  • 11.04.2019
  • Jonathan Bartlett, "Programovanie vysokovýkonných aplikácií na bunkovom procesore BE: Časť 4: Programovanie SPU pre výkon" Táto časť sa zaoberá vektorovým programovaním SIMD, elimináciou vetvenia, rozvinutím slučky, plánovaním inštrukcií plánovania a technikami hintingu vetví.

  • „8 najlepších bezplatných vývojových nástrojov s otvoreným zdrojom od InfoWorld“

  • "Testovanie od A po Z. Časť 1 - Základné princípy a prístupy"

  • Per Kroll, „OpenUP made easy“ Tento článok predstavuje OpenUP, novo vyvinutý rámec vývoja softvéru, ktorý stavia na agilných metódach vývoja pomocou Rational Unified Process.

  • "Výsledky štúdie popularity programovacích jazykov"

  • Griver Alexander a GIS-Lab, „Použitie Doxygenu na prácu so zdrojovým kódom GIS softvéru“ Jedna z metód práce s veľkými objemami cudzieho kódu, orientácia v ňom a využitie jeho komponentov vo vašich programoch.

  • Shevelev Denis, "Písanie "DÉMONA" vlastnými rukami" Naším cieľom je napísať sieťového démona, ktorý bude ovládať čokoľvek na Linuxe pod Windowsom z rôznych miest.

  • Martin Husemann, preklad - Sergey Kalichev, "Fighting the Lemmings" Popis typické problémy vyskytujúce sa pri písaní prenosného kódu, niektoré problémy sú zrejmé, ale s nimi spojené chyby sa v skutočnom kóde naďalej pravidelne objavujú.

  • Cameron Laird, „Techniky ladenia pamäte“ Chyby pamäte sú obrovskou brzdou výkonu aplikácie a len málo vývojárskych tímov má jasný plán na odstránenie týchto chýb. Ale tiež existuje dobré správy: chyby pamäte možno ľahko vyriešiť.

  • Avi Rozen, preklad A. Tarasova, "Vzdialené ladenie pomocou GDB a GDBserver" Zvažuje sa metóda ladenia aplikácií na vzdialenom systéme, ktorej platforma sa môže líšiť od platformy vývojára.

  • E. Ivanov, Review of the "Dragon Book" - "Compilers: Principles, technologies and tools" - preklad knihy (Compilers: Principles, Techniques and Tools. 2nd Edition. Alfred V. Aho, Monica S. Lam , Ravi Sethi , Jeffrey D. Ullman, 2007)

  • N.N. Ivanov, "Linuxové programovanie od nuly" Voľne distribuovaná učebnica programovania v Linuxe.

  • N. Ivanov zverejnil ďalšiu časť svojej knihy "Programovanie v Linuxe od nuly: "6.4. Nahradenie obrazu procesu"

  • Andrey Borovsky, "Programovanie pre Unix/Linux"

  • A. Borovsky, "Programovanie pre Unix/Linux" Séria článkov o programovaní Unix/Linux publikovaná v časopise Linux Format

  • Andrey Borovsky, "Démoni" Článok zo série "Programovanie pre Linux" uverejnený v časopise Linux Format.

  • Valerie Henson, preklad: V. Čerkasov, "Úvod do písania modulov jadra Linuxu."

  • Nickolay Tarasenko, "Implementácia systémových volaní soketov v jadre Linuxu. Vytvorenie soketu."

  • K. Kaspersky, „Hardcore ladenie s Linice: učenie sa pracovať v ladiacom nástroji konzoly jadra“ Linice je neoficiálny port legendárneho SoftICE pre Linux, ktorý si zachoval rozhranie, príkazový systém a väčšinu jeho funkcií.


  • D.V. Silakov, "Súčasný stav a vyhliadky rozvoja infraštruktúry LSB" Článok hovorí o technickú stránku vývoj Linux Standard Base a súvisiacej infraštruktúry.

  • Federico Kereki, preklad - A. Dmitriev,

  • Rodrigo Seron, "GNU Linear Programming Toolkit: Part 1: An Introduction to Linear Optimization" Tento článok je o popise GLPK (GNU Linear Programming Toolkit), klienta. obslužný program glpsol a jazyk GNU MathProg, navrhnutý na riešenie problémov s optimalizáciou operácií.

  • Rodrigo Seron, „Súprava nástrojov lineárneho programovania GNU: Časť 2: Problémy strednej zložitosti v lineárnom programovaní“

  • Rodrigo Seron, „Súprava nástrojov lineárneho programovania GNU: Časť 3. Ťažké problémy a elegantné riešenia“

  • V. Carkov poslal odkaz, kde si môžete stiahnuť knihu "Programovanie z gruntu" . Ako píše Vladimír: "Tu je odkaz na vynikajúcu knihu o assembleri pre prostredie GNU / Linux a informatiku všeobecne." Kniha je ale v angličtine a vo formáte PDF.


  • Kenneth Ballard, "Bezpečné programovanie s OpenSSL API, Časť 3: Zabezpečenie spoľahlivých služieb" Pomocou OpenSSL môžete vytvárať bezpečné serverové aplikácie, a hoci dokumentácia vyzerá odstrašujúco, nie je to také ťažké.

  • "Výsledky testov výkonnosti šiestich hlavných rámcov"

  • Alexander Miroch, „Running Shared Libraries on Linux“

  • Devin Watson, "Linux Daemon HOWTO" (Preklad). Ako napísať démona v Linuxe.

  • D. Panteleichev, "Vývoj softvéru pre Linux. Toolkit" .

  • Dmitrij Panteleichev, "OpenGL. Grafické programovanie v Linuxe" Volumetric výcvikový kurz, ktorá sa venuje programovaniu dvoj- a trojrozmernej grafiky pomocou OpenGL. Qt sa používa ako súprava nástrojov na vytváranie okien, ktorá v spojení s prenosným charakterom OpenGL umožňuje písať skutočne multiplatformové aplikácie.

  • Noel Rappin, „Vytváranie aplikácií GUI pre viacero platforiem pomocou wxWidgets“ Sada nástrojov wxWidgets poskytuje výkonné nástroje na vývoj GUI pre rôzne platformy. používateľské rozhranie(GUI). Nielen natívny C++, ale aj iné programovacie jazyky ponúkajú prostriedky na používanie tejto sady nástrojov. Naučte sa používať wxWidgets na vytváranie elegantných a veľmi užitočných GUI aplikácií vo vašom preferovanom programovacom jazyku.



  • K. Pfister, ruský preklad: Ermakov I.E., "Component software",

  • Nikolay N. Ivanov, "Linuxové programovanie od nuly" Projekt vytvorenia knihy na tému uvedenú v názve. Autor knihy je pripravený vziať do úvahy všetky vaše pripomienky a návrhy. Napíšte!




  • Sevryugin AI, "PCRE.RU" Univerzálna encyklopédia regulárnych výrazov štandardu PCRE, kompatibilná s Perl, PHP, Javascript.

  • "Lindevel.ru/" - stránka venovaná programovaniu Linuxu. Najzaujímavejšia vec je mailing list "Programovanie v Linuxe od nuly" v sekcii "Články".

  • Matt Frey (Matt Frye), preklad: Ivan Pesin, "Ladenie kódu pomocou strace" Preklad článku o použití utility strace ako nástroja na ladenie kódu.

  • Mark Wilkinson, preklad: Ivan Pesin „Automatizácia tvorby a testovania“ Tento článok vám predstavuje CruiseControl, softvér s otvoreným zdrojovým kódom, ktorý môžete použiť na automatizáciu procesov zostavovania a testovania jednotiek na projektoch, ktoré zahŕňajú viacerých vývojárov.

  • Dmitrij Bushenko,

  • Vadim Stankevič, .


  • Chris Herbort, „Vývoj softvéru UNIX s Eclipse“ Portovanie starého kódu na moderné IDE.

  • Chris Anischuk, David Gallardo, „Začíname s platformou Eclipse“

  • "Séria článkov o JasperReports" - generátor prehľadov, ktorý sa integruje s Eclipse.

  • Nathan A. Good, „Creating Your Own Eclipse Wizards“ Jednou z veľkých predností Eclipse ako platformy infraštruktúry a IDE je jeho rozšíriteľnosť. V tomto článku sa dozviete, ako rýchlo vytvoriť sprievodcu, ktorý automatizuje proces pridávania nového súboru.

  • Prashant Deva, „Eclipse uľahčuje prácu s editorom Ant“ Objavte integračné možnosti Ant v integrovanom vývojovom prostredí Eclipse (IDE) a naučte sa, ako písať programy, spájať ich a opravovať chyby v kóde v Eclipse pomocou editora Ant.

  • Platforma bohatého klienta Eclipse, časť 2: Rozšírenie základného pracovného stola
    Tento tutoriál pokračuje v prehľade platformy Eclipse Rich Client Platform. Ukazuje, ako používať zobrazenia, akcie a sprievodcov na vytvorenie kompletnej aplikácie.

  • „Inštalácia a používanie Eclipse pre Linux na počítačoch POWER“ Eclipse je rozšíriteľné open source IDE.

  • „10 najlepších trikov pre nových používateľov Eclipse“ jednoduché tipy o tom, ako efektívne využívať vývojové prostredie Eclipse.

  • "Mravec v 10 krokoch" (Preložil Mravec v desiatich krokoch od Russa Olsena). Ant je nástroj určený na automatizáciu procesu vytvárania softvéru.

  • Matt Talles, Yuan Hsih, prekl. z angličtiny. S. Lunin, "Štúdium slávnych (a nie tak slávnych) chýb" . Kapitola z The Science of Debugging


  • Dmitrij Bushenko, "Programovanie v Linuxe. Štvrtá časť. .NET v Linuxe"

  • Dmitrij Bushenko, "Programovanie .NET v systéme Linux. Časť 4. Prvky Gtk# v príkladoch"

  • Dmitrij Bushenko, "Programovanie v .NET na Linuxe" Časť 3. Okenná aplikácia na GTK#.

  • Dmitrij Bushenko, "Programovanie v .NET na Linuxe." "Časť 2. Prvá aplikácia Mono C#"



  • Nikolay N. Ivanov, "PROGRAMOVANIE V LINUXE" .


  • Maciej Katafiazh, preložil Sergei Bezdenezhnykh, „Základy GTK+, Časť 2: Ako používať GTK+“

  • "Používanie knižníc" Knižnice môžu byť statické alebo dynamické.

  • David Madeli, preložil Sergey Bezdenezhnykh, „Vytváranie miniaplikácií pomocou Cairo a GTK+ 2.8, časť 2“


  • Tony Gale, Ian Main a tím GTK, „Preklad príručky GTK+ 2.0“

  • "Vo vnútri správcu pamäte. Výber, prístupy a implementácia techník dynamickej alokácie pamäte" pojednáva o technikách správy pamäte, ktoré sú k dispozícii programátorom Linuxu.

  • Alexey Fedorchuk,

  • Andrey Dranitsa, "Basic Linux cheese pyra" Prehľad vývojových nástrojov pre Linux.

  • A.M. Vendrov, "Moderné technológie na tvorbu softvéru. Recenzia"

  • Edsger W. Dijkstra, Preklad - Alf, 14. august 2004, "Dva pohľady na programovanie"

  • Ak chcete začať, prečítajte si jednu časť z , preložil Alex Ott, v1.3.2, 22. februára 1999

  • „Vývoj modulu jadra Linuxu, ktorý implementuje algoritmus kryptoochrany GOST 28147-89“

  • „Spustenie programu vytvoreného pomocou inej verzie glibc“ Krátky užitočný tip.

  • Jasmin Blanchette, Mark Summerfield

  • Steve Litt, preklad: Alexander Kubyshkin, "Comparative Religion" Ako si vybrať svoj hlavný programovací jazyk. Diskutuje sa o výhodách a nevýhodách C, C++, Java, Perl, Python, Ruby.

  • Jeff Tranter, preklad: Andrey Kiselev, "Systémové volanie sendfile" Systémové volanie sendfile bolo pridané do linuxového jadra relatívne nedávno a stalo sa dôležitou akvizíciou pre aplikácie ako ftp alebo webové servery ktoré potrebujú efektívny mechanizmus prenosu súborov.

  • "Programovanie pod UNIXom" Škoda, že tu nie je autor, rok vydania.

  • Evgeny Khilko, „Nastavenie zostavovania win-aplikácií pomocou krížového kompilátora mingw32 v KDevelop“

  • „Desk Instrument“ Budeme hovoriť o verzii 3.2.0 prostredia KDevelop v distribúcii SuSE 9.3.


  • Sandeep S, preklad: Andrey Kiselev, "Trasovanie procesov s Ptrace", časť 2. Článok popisuje najmä štruktúru formátu spustiteľného súboru - ELF.

  • Sandeep S., "Sledovanie procesov s Ptrace -- Časť 3" Účelom tejto časti je ukázať, ako pristupovať k ID procesov za behu. Rozsah tejto techniky je taký široký, že je obmedzený iba vašou predstavivosťou.

  • V. Meshkov, "Zachytávanie systémových hovorov v OS Linux"

  • S. Gulenok, "Zábavné budovanie tučniakov. Nadácia" V rozhovoroch o Linuxe som sa často stretával s vetou "Linux píšu programátori pre programátorov." Je to tak?

  • Alexey Knyazev, "Ruská verzia linuxového ovládača zariadenia 2. vydanie" Toto nie je preklad, ale niečo "založené" na preklade slávneho manuálu od Alessandra Rubiniho a Jonatana Corbeta.

  • "Linux Device Driver 2-nd edition" Alexey Knyazev dokončil preklad ďalšej, 8. kapitoly Linux Device Driver 2-nd edition. Celkovo sú preložené kapitoly 0-8 a 13. Na preklade 9. kapitoly sa pracuje.

  • Kuzin Andrey, Programovanie pod Linuxom
    Krok 1 - Kompilácia programov v C/C++ (30.01.2002 - 2 Kb)
    Krok 2 – Informácie o ladení (30.01.2002 – 4,2 kB)
    Krok 3 – skompilovanie niekoľkých súborov (15.02.2002 – 3,7 kb)
    Krok 4 – Knižnice objektových súborov (20.02.2002 – 3,0 Kb)
    Krok 5 – Vytvorenie statickej knižnice (20.02.2002 – 3,7 Kb)
    Krok 6 – Vytvorenie dynamickej knižnice (20.02.2002 – 5,2 Kb)
    Krok 7 – Použitie dynamických knižníc (23.02.2002 – 4,9 Kb)
    Krok 8 - Funkcie pre prácu s dynamickými knižnicami (23.02.2002 - 5,0 Kb)
    Krok 9 – Inicializácia dynamických knižníc (27.02.2002 – 3,5 Kb)
    Krok 10 - Odovzdanie možností do programu - getopt (15.10.2002 - 6,6 Kb)
    Krok 11 – Odovzdanie dlhých možností programu – getopt_long (19.12.2002 – 11,2 Kb)
    Krok 12 – Zobrazenie chybových hlásení programu (22.12.2002 – 7,5 Kb)
    Krok 13 – Získanie informácií o používateľovi (22.12.2002 – 10,2 Kb)
    Krok 14 – Získanie údajov z tieňového hesla (22.12.2002 – 5,5 Kb)
    Krok 15 - Práca so systémovými heslami pomocou funkcie crypt() (24.12.2002 - 10,0 Kb)

  • Kotelnikov Ruslan.

  • Ruslan Popov, „Úvod do KDevelop“

  • I.Voronin, "Using CCache" Ccache poskytuje vynikajúce zvýšenie rýchlosti pri prestavbe programu. Napríklad som postavil linuxové jadro na stroji s procesorom Pentium MMX / 200 Mhz len za 10 minút.

  • Oleg Belenkov Prenos aplikácií z Windows do Linuxu [OPEN SYSTEMS, 2000/07-08]

  • S. Bogomolov, libdb

  • S. Bogomolov, Budovanie a používanie zdieľaných knižníc

  • S. Bogomolov, TclTk (inštalácia)

  • Systém riadenia softvérových projektov SCCS, T.A.Pivovarenok, Superpočítačové centrum

  • Mechanizmy medziprocesovej komunikácie v operačnom systéme Unix, Sergey Kuznetsov, školiace materiály z konferencie Programming Industry 96,

  • ITOLÓGIA - veda o informačných technológiách, V. Suchomlin, Výskumné a vývojové centrum Moskovskej štátnej univerzity, školiace materiály z konferencie Programming Industry 96, Centrum informačných technológií

  • "Programovací priemysel "96", Konferenčné materiály, Centrum informačných technológií

  • Andrey Bondarenko Visual Development Tools (IDE)

  • Prehľad IDE Sergeya Zhuravleva pre Linux

  • A. Chebotarev, "QT: rozhranie, a nielen..."

  • A.M. Vendrov, Argussoft Co. CASE technológie. Anotácia. Obsah CASE-technológie. Moderné metódy a prostriedky navrhovania informačných systémov.

  • Wolfgang Mauerer, (preklad: Alexander Mikhailov) Vizuálne ladenie v DDD. Nič nikdy nefunguje tak, ako by malo; všetky programy sú plné chýb; špecifikácie sú nesprávne a implementácia robí presný opak toho, čo sa očakáva. Hľadanie chýb je nielen nevyhnutnou súčasťou cyklu vývoja softvéru, ale aj dôležitou súčasťou „životnej cesty“ každého programu.

  • Guido Socher

  • Donald E. Knuth, "Sorting and Searching" The Art of Programming v.3

  • „Úvod do Simple DirectMedia Layer“ SDL je bezplatné multiplatformové rozhranie na programovanie multimediálnych aplikácií. Používa sa na vytváranie hier, knižníc hier, demo programov, emulátorov, prehrávačov MPEG a iných programov.

  • Grafické nástroje pre linuxové programy
    Grafické nástroje sú knižnice podprogramov, ktoré vám umožňujú pridať špecifickú sadu funkcií, pomocou ktorých programovací jazyk integruje grafické rozhranie do vášho programu.

  • Harvey Blume,

  • Denis Kolisnichenko, "Programové presmerovanie I/O" [Uverejnené 25.9.2002.]

  • "V moci skriptov" [OTVORENÉ SYSTÉMY, 2002/09]

  • Konstantin Mikhailenko, "Paralelný štýl" 01.03.2002, Článok je venovaný paralelným výpočtom

  • Leonardo Giordani, "Paralelné programovanie - interakcia medzi procesmi."

  • Leonardo Giordani, preložil Kirill Pukhlyakov, "Paralelné programovanie - fronty správ" časť 3.

  • Na základe materiálov od Dinil Divakaran, pripravených X-Strangerom, "Váš vlastný kompilátor pre Linux"

  • Vladimir Popov, „A ja som to urobil takto...“ Na otázku amatérskeho nováčika odpovedá neskúsený guru, no o svoje skúsenosti sa môže podeliť každý. V tomto prípade ide o kompiláciu.

  • S.Sandeep, preklad: Andrey Kiselev, "Sledovanie procesov pomocou Ptrace -- 1. časť." Systémové volanie ptrace je základom pre ladenie programov, ako je gdb, ale princípy práce s týmto systémovým volaním nie sú dostatočne pokryté dokumentáciou.

  • "ccache - cache pre kompilátor" Program ccache ukladá výsledky kompilácie do vyrovnávacej pamäte, čo vám umožňuje výrazne urýchliť opakované prestavby aplikácie.

  • V. Meshkov, "Programovanie CD/DVD zariadení v Linuxe" (súbor pdf). Kniha popisuje, ako riadiť pohon pomocou registrov regulátora, logická štruktúra optické médiá informácie, príklady použitia ovládačov ATAPI a SCSI zabudovaných v jadre Linuxu, algoritmy na zapisovanie rôznych informácií na disky CD a softvérová implementácia týchto algoritmov.

  • Davyd Madeley, preložil Sergey Bezdenezhnykh, "Vytváranie miniaplikácií pomocou Cairo a GTK+ 2.8" Počnúc verziou 2.8 GTK+ vykresľuje všetky svoje prvky rozhrania pomocou výkonnej knižnice vektorovej grafiky v Káhire. Tento článok ukazuje, ako si môžete vytvoriť svoj vlastný widget GTK+ pomocou knižníc v Káhire na jeho vykreslenie.

  • Ilya Evseev, "MPI for Beginners" MPI (Message Passing interface) je štandard pre softvérové ​​nástroje na poskytovanie komunikácie medzi vetvami paralelnej aplikácie.

  • "Qt bez KDevelop" Táto príručka vám pomôže pochopiť špecifiká vytvárania programov, ktoré používajú knižnicu QT. Na používanie knižnice QT vám postačí konzola, textový editor a grafické prostredie (napríklad KDE).

  • Objavila sa stránka http://corba.kubsu.ru/ venovaná technológii CORBA. Ako je uvedené na hlavnej stránke, vedľajším smerom tohto projektu je Linux, pretože pomerne veľký počet vývojárov využívajúcich technológie CORBA vyvíja softvér špeciálne pre tento operačný systém. (Odkaz poslal Alexey Kurgan).

  • "SVGAlib"
  • GCC

  • Mulyadi Santosa, "Skúmanie možností GCC."

  • GCC – Koreň všetkého od Lorne Baileyho
    GCC je skvelý kompilátor, ale manuálová stránka nie je príliš užívateľsky prívetivá. Poznámka hovorí o jednoduchosti použitia kompilátora.

  • Sergei Karasiov, „Ako gcc vlastne funguje“



  • gcc časť 1 C, C++, Objective C Compiler (časť 1) Používateľská príručka (gcc 2.7)

  • gcc časť 2 gcc: C, C++, kompilátor Objective C (časť 2) Portovanie na nové architektúry (gcc 2.7)

  • Autor: Jpiszcz, Preklad: Yuri Prushinsky, "Optimalizácia GCC"
  • assembler

  • Dmitrij Gribenko, "Linux Assembler pre programátorov C" Táto kniha je určená programátorom, ktorí už ovládajú C na primeranej úrovni. Jediná vec, ktorá je orientovaná na Linux, je použitá syntax assembleru. Programátori assembleru na DOS a Windows používajú syntax Intel, ale na *nix systémoch je zvyčajné používať syntax AT&T.

  • Ram Narayan, "Assemblers pre Linux: Porovnanie GAS a NASM" Tento článok vysvetľuje niektoré z najdôležitejších syntaktických a sémantických rozdielov medzi dvoma najpopulárnejšími assemblerom pre LinuxR - GNU Assembler (GAS) a Netwide Assembler (NASM), ako aj rozdiely v základnej syntaxi, premenných a prístupe do pamäte, spracovaní makier, funkciách a externých podprogramoch, manipulácii so zásobníkom a technikách jednoduchého opakovania blokov kódu.

  • Rostislav. "Assembler v prostredí UNIX alebo ako funguje shell kód"

  • Aleksey Yu. Ulasevich, "Často kladené otázky o používaní assembleru v Unixe."

  • Výber odkazov na dokumentáciu k assembleru.

  • K. Boldyshev, od autora.

  • Konstantin Boldyshev a F.-R. Rideau. Montáž HOWTO. Assembler pre DOS, Windows a Linux. (v angličtine).

  • Aleksey Ulaševič, „Často kladené otázky o používaní assembleru v Unixe“

  • Ak sa všeobecne zaujímate o programovanie pre Linux a jeho zariadenia na najnižšej úrovni, pozrite sa na stránku "http://www.lowlevel.ru/". Nájdete tam veľa užitočných vecí, napríklad „Popis formátu ELF“ , „Súborový systém EXT2“ „Časť 1“ , „Časť 2“ .



  • Linux/i386 Stránka programovania v assembleri Stránka venovaná programovaniu v assembleri pre Linux.

  • Jan's Linux & Assembler HomePage Assembler v DOS a Linuxe.

  • Alexander Kuprin, ...Píšeme hračkársky OS...Poďme hlbšie...

  • "Napísanie Toy OS (časť I)"

  • Krishnakumar R., Preklad: Alexander Kuprin, "Writing a Toy OS (Part II)"

  • Bob, „Implementácia nízkoúrovňovej podpory zbernice PCI v jadre Linuxu“

  • O dekompilácii Ani ten najlepší reassembler nedokáže presne zrekonštruovať kód programu. Kompilácia je jednosmerná funkcia. Výsledný assembler a potom strojový kód má špecifiká, ktoré závisia od mnohých faktorov a intelektuálna analýza nie je vždy vhodná ...

  • Intuit, "Základy programovania Netfilter Assembly." Článok o práci s Netfilter, subsystémom jadra, ktorý rozširuje možnosti OS pri práci so sieťovými rámcami. Programovacím jazykom je assembler. GAS syntax. Článok popisuje vytvorenie najjednoduchších modulov (LKM) na demonštráciu schopností tohto podsystému.
  • Jazyk mušlí

  • Michael Stutz, "Regular expressions" Koncept regulárnych výrazov (regexps) - zápis na opis vzorov, ktoré zodpovedajú množine reťazcov - je spoločný pre mnohé programy a programovacie jazyky. Rôzne implementácie regulárnych výrazov sa od seba líšia v detailoch, ale princípy potrebné na to, aby ste sa naučili vytvárať regulárne výrazy, sú vo všetkých ich implementáciách rovnaké.

  • "Shell-coding" Tento článok pojednáva o najjednoduchších príkladoch shell-programovania. Článok nie je vyčerpávajúci návod na shell-programovanie, ale môže byť užitočný pri zvládnutí jeho základov.

  • Mendel Cooper, „Advanced Bash-Scripting Guide“ alebo „The Art of Shell Scripting“ Táto príručka nepredpokladá, že čitateľ má znalosti o programovaní skriptovania, túto medzeru však rýchlo zaplní. . . postupne, krok za krokom, odhaľovať múdrosť a krásu UNIXu.

  • Ian Shields, „Tipy pre Linux: Porovnanie a testovacie funkcie v Bash“ Vysvetlenie testu , [, [[, ((, a if-then-else) konštrukty


  • Sunil Thomas Thonikuzhiyil, preklad: Ivan Pesin, Alexander Kuprin, "Vývoj jednoduchých rozhraní s dialógom/Xdialogom" . Článok uvažuje o použití dialógu programov a Xdialogu na implementáciu jednoduchých rozhraní do skriptov. To predpokladá, že ste oboznámení so skriptovaním shellu.

  • Tlmočník príkazového jazyka Shell
    Tlmočník príkazového jazyka Shell



  • Jos Nazario, Preklad: Jan Bezus, "Úvod do awk" Tento dokument je krátka recenzia schopnosti a vlastnosti awk (manipulácia s dátovými súbormi, vzorkovanie a spracovanie textu).

  • V. Kataev, "Život v Linuxe. Profesionálne poradenstvo. Od scenára k agentovi."

  • Abramov Alexey, "Skript na monitorovanie replikácie MySQL na shell"

  • Vadim Fedorov, "Ako poslať list s prílohou v UNIX?" O tom, ako prinútiť skript napísaný v bash alebo shell poslať e-mail s pripojeným súborom?

  • C-shell príkazový interpret, M.P. Krutikov, Superpočítačové centrum

  • Shell programovanie (Unix) A. Solovjov,
    Tá istá kniha, ale v textovom formáte.



  • SHuRuP   Kódovanie shellu: programovanie v konzole *nix

  • Andrey Golovin, Regulárne výrazy.
    Regulárne výrazy sú najmocnejším nástrojom na manipuláciu s reťazcami, aký boli moderní programátori schopní vynájsť. S ich pomocou môžete analyzovať reťazce na obsah sekvencií znakov, vykonať náhradu na základe tejto vzorky, rozdeliť reťazce do polí a oveľa viac.

  • S. Lapshansky, "Úvod do automatizácie [Zverejnené 23. 7. 2002] Časť 2. O užitočných skriptoch a ich spúšťaní cez cron.

  • Vadim Khokhlov, "Unixový spôsob:" Gariki ", v Linuxe sú tiež "gariki"." O súbore bash skriptov na výber rôznych zaujímavých vyhlásení z nejakej databázy.
  • Jazyk C a C++

  • N.Gorshkov, "C++ Programming Guide Using libxml++" libxml++ je C++ API pre populárny XML parser libxml, napísaný v C.

  • Alexander Sidorov, "MinGW + Qt + Emacs HOWTO (Windows)" O nastavení a používaní množstva MinGW, Qt4 a Emacs pod Windowsom na písanie aplikácií pre rôzne platformy v C++. Článok sa zaoberá inštaláciou kompilátora C++, multiplatformovej knižnice okien, inštaláciou a konfiguráciou vývojového prostredia.

  • Irtegov Dmitry V., "Viacvláknové programovanie pomocou vlákien POSIX" Materiály kurzu venované vývoju viacvláknových aplikácií v jazykoch C/C++ s použitím knižnice vlákien POSIX.

  • Nikolay N. Ivanov, "Tajomstvo ukazovateľov jazyka C. Časť I."



  • "C/C++ API pre SQLite 3" Viac ako polovica referenčnej knihy "C/C++ API pre SQLite 3" bola preložená do ruštiny, začal sa proces prekladu popisu SQL príkazov.

  • Značka ladenia
    Nástroje Make, ako napríklad GNU make, System V make a Berkeley make, sú základnými nástrojmi potrebnými na zjednodušenie procesu vytvárania aplikácií. Tento článok vám predstaví štruktúru makefile.

  • "Riešenie problémov s príkazmi ./configure, make a make install" Niekedy štandardná postupnosť kompilácie programu nefunguje. Začne zobrazovať rôzne chyby a nekompiluje program. Tento článok popisuje, ako sa zbaviť mnohých bežných chýb.

  • "Funkcie make.conf" /etc/make.conf je súbor, ktorý špecifikuje optimalizačné prepínače pre kompilátor.

  • Autor: Raghu J Menon, preklad: Andrey Kiselev, "setjmp/longjmp v príkladoch" Článok popisuje, ako pracovať s makrami setjmp/longjmp implementovanými v programovacom jazyku C.

  • „História jazyka C/C++“ Historicky je tento jazyk neoddeliteľný od operačného systému Unix, ktorý v súčasnosti zažíva svoje znovuzrodenie.

  • Konstantin Tayturov, "Penguin Armor" Väčšina moderných implementácií kompilátora C negeneruje kód, ktorý riadi integritu premenných hraníc.

  • Mike Goblin, „Písanie ovládačov pre Linux: Prvé kroky“ Písanie ovládačov pre Linux sa mi vždy zdalo byť mimoriadne ťažké a tajomné. Ale teraz - pred dvoma mesiacmi som potreboval napísať taký ovládač sám. Tento proces nebol vôbec náročný a veľmi ma potešil.
  • Mike Goblin, "Písanie ovládačov pre Linux, časť 2".

  • Kirill Kochetkov, "SPEC CPU2000. Časť 5 - Kompilátory. Dodatok 2" Porovnanie troch C kompilátorov pre Linux z hľadiska výkonu.

  • Rob Tougher, preklad: Andrey Kiselev „Vytváranie opakovane použiteľných knižníc“

  • Rob Tvrdší

  • „Fox-toolkit.Lekcie v ruštine.“ FOX Toolkit je rýchly a pohodlný multiplatformový súbor nástrojov (c++,ruby,python).

  • Autor: Bhaskaran, preklad: Andrey Kiselev, "Vytvorenie ovládača sieťového zariadenia - 1. časť" Tento článok má pomôcť čitateľovi pochopiť princípy vytvárania ovládača ethernetovej sieťovej karty pre OS Linux. Ale pomôže vám to a pochopíte, ako pripojiť sieťovú kartu.

  • Kotelnikov Ruslan, „Začiatok programovania v Linuxe“

  • Hyouck "Hawk" Kim


  • Rob Tougher, programovanie v C++ so zásuvkami Linux

  • Rob Tougher, Programovanie s Xlib v C++

  • "Nízkoúrovňové programovanie paralelných portov pod *nix" ,

  • Yu.Yu.Gromov, S.I.Tatarenko, Štátna technická univerzita Tambov, programovanie v jazyku C

  • Bjarne Stroustrap, Úvod do C++

  • Bjorn Stroustrup Návrh a vývoj jazyka C++. Táto kniha, ktorú napísal tvorca jazyka C++ Bjarne Stroustrup, popisuje proces navrhovania a vývoja programovacieho jazyka C++.



  • Referenčná príručka C++ Bjarne Stroustrap, Knižnica M. Moshkova

  • Čítačka o programovaní Unix C Andrey Bogatyrev, Knižnica M. Moshkova Kopírovať

  • Marčenko A.L. C++. Zamatová cesta. Vybrané kapitoly

  • A. Kalinin, "C alebo C++?"


  • Man to make (Preložil Yu. Kozlov)

  • Dmitrij Černyak. Pomocou GNU make



  • Vladimír Ignatov

  • Vladimir Ignatov „Efektívne využitie GNU Make“

  • Autor: (C) Tedi Heriyanto

  • Richard M. Stallman a Roland H. Pesch Debugger na zdrojovej úrovni GNU. Ôsme vydanie, pre verziu GDB 20000326. Marec 2000. Preložil Dmitrij Sivačenko.

  • Ivan Shmakov, "GDB Debugger"


  • "Spracovanie výnimiek v C++". Jazyk C poskytuje programátorovi veľmi obmedzenú schopnosť spracovávať výnimky, ktoré sa vyskytujú počas behu programu. V tomto smere je C++ oveľa rozvinutejšie ako C. Tu má programátor oveľa viac možností na priame spracovanie výnimiek. Výbor pre štandardy C++ poskytol veľmi jednoduchú, ale výkonnú formu spracovania výnimiek.

  • A. Kalinin, „Jednoduchý, ale užitočný alokátor pamäte“ Táto poznámka je pokračovaním „Postfixu zvnútra“ v tom zmysle, že postfix je opäť braný ako príklad. Ale ak sa minule postfix považoval „z vtáčej perspektívy“, teraz sa naopak uberie malý kúsok programový kód, ktorá nemá žiadnu špecializáciu a je uvedená ako príklad.


  • Programovanie mikrokontrolérov AVR pomocou GCC od Guida Sochera
    Poznámka popisuje, ako nastaviť vývojové prostredie pre 8-bitové mikrokontroléry Atmel AVR.

  • Gaurav Taneja, GUI Programovanie v C++ pomocou knižnice Qt, časť 1



  • Ariel Ortiz Ramirez, preložil Andrey Kiselev, "Programovanie: C# -- dátové typy"

  • Tom Bradley, Preklad: Andrey Kiselev, "Pridanie rozširujúcich modulov (pluginov) do programu."

  • Gleb Pakharenko, "Implementácia siete v operačnom systéme Linux" V tomto článku sa implementácia siete uvažuje na úrovni programového kódu.

  • "indent - program na automatické formátovanie C-zdrojov"
  • Pascal a Delphi

  • Joost van der Sluis, preložil A. Tarasov, nedávno vyšla verzia Free Pascal (FPC) 2.2.0. Tento kompilátor Pascal je dnes jedným z najvýznamnejších kompilátorov s otvoreným zdrojom. Každý deň sa viac programátorov dozvie o FPC a začne vyvíjať svoje aplikácie v Object Pascal. Tomu napomáha najmä vývoj Lazarus, grafického vývojového prostredia pre FPC, ktoré obsahuje rozšírenú sadu nástrojov na vývoj grafických (GUI) aplikácií.

  • Rudyuk SA, "Lazarus - Delphi na viacerých platformách. Programovanie pre slobodných ľudí" Hlavným cieľom tejto knihy je ukázať možnosť tvorby profesionálnych komerčných produktov v jazyku Pascal. Tieto softvérové ​​produkty musia fungovať nielen na platených operačných systémoch (napr. Windows), ale aj na bezplatných operačných systémoch (napr. FreeBSD, Linux). Je veľmi dôležité, aby vývoj programu prebiehal bez rušenia licenčné zmluvy a nákup drahého softvéru (a pre profesionálov je to jedna z najdôležitejších otázok našej doby).

  • Michail Prodan, "Lazarus - spoznávanie slobodných Delf"

  • Anatoly Kamynin, "Free Pascal: Slobodný softvér pre slobodných ľudí" Náš rozhovor sa zameria na Free Pascal Compiler (FPC), ktorý je distribuovaný skupinou vývojárov pod verejnou licenciou GNU.

  • Andrey Borovsky, „X-Window: Non-Secret Windows“ Tento článok sa zameria na prácu s X-Window pomocou nástrojov Kylix. Pozrieme sa na také užitočné funkcie, ako je vytváranie snímok obrazovky okien a jednotlivých ovládacích prvkov, vyhľadávanie okna v hierarchii okien X-Window a niektoré ďalšie.

  • Marius Popa Adrian, preklad: Ruslan Denisenko, "Inštalácia bezplatného vývojového prostredia pascal pod Ubuntu Linux" Sprievodca krok za krokom v ruštine na inštaláciu bezplatného kompilátora pascal a vývojového prostredia lazarus podobného delphi na Ubuntu Linux.

  • Serdtsev A.A., "Riešenie problémov s kompiláciou v Borland Kylix 3 s glibc 2.3.2"

  • Ilya Avvakumov, "GNU GDB Debugger" Tento článok popisuje tie príkazy GDB, ktoré vám umožňujú pohodlne krok za krokom ladiť programy napísané vo Free Pascal.

  • A. P. Polishchuk, S. A. Semerikov, "Programovanie v X Window pomocou Free Pascal" . Celá kniha, z ktorého sa dozviete nielen o programovaní, ale aj o zariadení X Window (odtiaľ autori začínajú)! Vo všeobecnosti je stránka venovaná jazyku Free Pascal, takže každému záujemcovi o programovanie pod Linuxom odporúčame pozrieť sa sem.

  • I. L. Shichalev, "Čo je to Free Pascal a s čím sa to je?" Všeobecný prehľad kompilátora Free Pascal, jeho funkcií, vlastností atď.

  • "Kylix tutorial" Séria článkov o programovacom prostredí Pascal pre Linux.


  • Arsenij Chebotarev, "Aplikácie pre Linux - variant Kylixu"

  • Goblin M., "Kylix tutorial" Popisuje inštaláciu Kylixu, prácu s databázami cez dbExpress atď.

  • Prehľad Kylixu (Delphi pre Linux) Nedávno vydaný Kylix (Delphi pre Linux) od Borlandu vzbudil medzi vývojármi veľký záujem. V štádiu vývoja pred vydaním boli názory na Kylix niekedy diametrálne odlišné, od exaltovaných nadšených až po agresívne negatívne. Autor sa v tomto článku pokúsil vyjadriť svoj názor na tento produkt.

  • Svet Borland Kylix Táto stránka je venovaná programovaniu v prostredí Borland Kylix, prostredí rýchleho vývoja aplikácií pre operačný systém Linux.

  • Michail Golovanov Séria článkov. Kylix návod. 1. Inštalácia Tak sa stalo, keď som prechádzal okolo stánku s CD, uvidel som CD s modrým štítkom a čarovným nápisom Kylix. Alebo lepšie povedané, boli tam dva disky a oba boli okamžite kúpené. Skúsil som nainštalovať Kylix pod RedHat Linux 7.0...

  • Michail Golovanov Séria článkov. Kylix návod. 2. Práca s databázami cez dbExpress V Kylix a Delphi 6 Borland implementoval nový engine pre prácu s databázou dbExpress.


  • M.Goblin Séria článkov. Kylix návod. 2. Práca s databázami cez dbExpress. Prvé kroky.

  • Vyacheslav Belyaev, Borland Kylix - inštalácia a prvé zoznámenie Prvé zoznámenie s Borland Kylix - programovacie prostredie pre Linux [Publikované 6.1.2001]

  • Peter Coffee, „Linux pre masy“ Prehľad nového systému Borland pre vývoj aplikácií Kylix, ktorý sa silne podobá Borlandovmu Delphi, objektovo orientovanému prostrediu založenému na jazyku Pascal.
  • jazyk Java

  • Nový zdroj správ v ruskom jazyku o technológiách Java - "javatech.info" .

  • Brian Goetz, Java Theory and Practice: Safe Design Practices

  • Sergei Bezdenezhnykh, "Programovanie Java s GTK+" V tomto článku sa dozviete o nástrojoch, ktoré potrebujete na vytváranie aplikácií Java pre Gtk+ a Gnome.

  • Maxim Bobachenko, „Úvod do Java Server Faces“ Java Server Faces (JSF) je komponentná, udalosťami riadená technológia na vytváranie webových aplikácií Java.

  • A.Fedotov, "Monitorovanie využitia pamäte pomocou Java SE 5"

  • "Vlastná montáž JAVA(TM) 2 SE v.1.4.1 zo zdrojov zo sun.com"


  • Matthias Kalle Dalheimer, preklad: Andi Peredri, "Porovnanie Qt a Java"

  • Lozovyuk A. História Javy. Ako začala internetová revolúcia. Ak chcete predvídať budúcnosť, musíte pochopiť minulosť. História projektu Java je sama o sebe zaujímavá a poučná. Poskytuje pochopenie toho, čo možno očakávať v budúcnosti. Všetko na svete sa vyvíja podľa rovnakých zákonov a počítačový priemysel nie je výnimkou.

  • Sponge Bob, "Java vs. NET - subjektívny pohľad"



  • Java2 pripravuje cestu pre Linux ( Michael Wizard, Dana Gardner, Paul Creel, COMPUTERWORLD RUSSIA #12, 99) Spoločnosť Sun Microsystems Corporation spolu s nezávislým tímom Linux Blackdown Porting Team vytvorila linuxovú verziu Java2 Development Kit (Java2DK).


  • S. B. Dunaev. Prístup k databázam z programov Java a problémy rusifikácie
  • jazyk JavaScript

  • Peter Seebach, „Introducing ECMAscript“ ECMAscript (populárne známy ako JavaScript) má zaujímavú históriu, pretože sa zrodil ako odklon od štandardov.


  • P. Chramcov. Praktický úvod do programovania v JavaScripte

  • Dynamická grafika v servletoch Java. Ako vytvoriť grafické počítadlo zásahov? Diagram zobrazujúci zaťaženie kanála poskytovateľovi alebo počet správ vo fronte? Jedným slovom, ako dynamicky generovať obrázok na žiadosť používateľa? Článok ponúka možnosti riešenia tohto problému ...

  • Melnikov M. "JavaScript: užitočné funkcie"
    Pokračujeme v rozhovore o používaní skriptov na webových stránkach. A začneme možno napísaním niektorých funkcií, ktoré sa nám budú neskôr veľmi hodiť.

  • Melnikov M. JavaScript a objektový model
    Skriptovacie jazyky nejakým spôsobom obrátili svet hore nohami a práve vďaka nim sa objavil DHTML, ktorý vám umožňuje so stránkou robiť takmer čokoľvek. Ako viete, iba dva jazyky si nárokujú vavríny víťaza v prehliadači. Toto je VBScript - podmnožina Visual Basic a JavaScript. Tu sa budeme zaoberať tým druhým, ako najuniverzálnejším.
  • Perl

  • N. Anisimova, "Príručka pre začiatočníkov k používaniu modulu Perl PDF::API2" Prehľadný materiál, ktorý má pomôcť programátorom v jazyku Perl v ich praktickej práci pri vytváraní dokumentov PDF.


  • Allan Peda, „Vytvorenie systému hlasovania Perl/CGI“

  • "Kyiv Perl User Group" Žiaľ, na Perle nie je veľa živých zdrojov v uanet a runet, možno to bude niekomu užitočné. Pár zaujímavých vecí tam už bolo zverejnených...



  • Xavier Calbet, preklad A. Tarasova, PDL sú rozšírenia jazyka Perl na numerické výpočty a vykresľovanie. V tomto článku bude Mandelbrotova množina skonštruovaná pomocou PDL a iných numerických výpočtových systémov. Vykonalo sa kvalitatívne porovnanie a porovnanie výkonu.



  • "Preklady dokumentácie Perl vo formáte pdf", ako napríklad: referencia MySQL Perl:DBI, dokumentácia modulu CGI.pm, tutoriál regexp, preklad dokumentácie modulu Libwww-perl, úplná špecifikácia DBI a DBD::mysql.

  • Arsenij Chebotarev, "Perl: kompletná expozícia s príkladmi"

  • Roman Imankulov, "O diamantoch pod nohami" Trochu o Perl a Makefile.

  • (12/20/2003) Nová stránka - "Perl 6" Odkazy a užitočné poznámky o používaní Perlu 6 a virtuálneho stroja Parrot. Akýsi učebný denník pre Perl 6....

  • V.Maximenko, "Implementácia Turingovho testu v Perle" Článok popisuje spôsob ochrany pred automatickým vyplnením a odoslaním formulára zo stránky dynamickým generovaním obrázku s kódom a potvrdením správnosti zadania.

  • Sean M. Burke, "Web Basics with LWP" LWP (skratka pre "Library for WWW in Perl") je veľmi populárna skupina modulov jazyka Perl na prístup k údajom na internete.

  • Dave Gross, preložil Alex Ten. "Zmena správania hash pomocou funkcie tie" "Z mojej skúsenosti je hash najužitočnejšou vstavanou dátovou štruktúrou v Perle."

  • Crash Course "Vytváranie serverových aplikácií v PERL".

  • Výber materiálov v jazyku Perl z tej istej "stránky"


  • Guido Socher

  • "Larry Wall on Perl 6" S láskavým dovolením Larryho Walla, vynálezcu Perlu, tu je preklad článkov Perl 6 zo série.

  • Stephen Wilhelm, preložil Dmitriy A. Kuvshinov, "Popis Gtk-Perl" Prekladateľ žiada o pomoc pri dokončení prekladu. Ak máte túžbu a príležitosť - pripojte sa!

  • S. Bogomolov, Perl (inštalácia)

  • Alexander Smyslovský. Perl, ktorý ocení každý. Jazyk Perl vznikol v roku 1986 a bol pôvodne určený na spracovanie textu. Odtiaľ pochádza jeho názov – Practical Extraction and Report Language (jazyk extrakcie a reportovania). Prešli však roky a teraz sa Perl používa na oveľa širší rozsah úloh. Je to jeden z najpopulárnejších jazykov na písanie CGI skriptov, vďaka čomu jeho popularita v posledných rokoch raketovo stúpa. Poďme sa zoznámiť!

  • en.Perl FAQ Pavel Ammosov , Artur Penttinen , Michail Polyakov , Grigory Strokin Copies

  • V. Maslov. "Úvod do Perlu"
    Kopírovať

  • Randal Schwartz, Tom Christiansen „Learning Perl“ Z angličtiny preložil C.M. Timacheva

  • Manuál Perl 5.003 v ruskej anotácii. Od jednoduchých po zložité. Spustenie Pearl - programov. Syntax. Vstavané premenné. Šablóny. Operátori a priority. Vstavané funkcie. podprogramy. Formáty správ. Ladenie.



  • Igor Yarovinsky, "Vytváranie grafických rozhraní v Perl+Tk."


  • Referenčná príručka pre Perl 5. Príručka Perl 5. Autor Johan Vromans. (v angličtine).

  • PERL - Praktický jazyk extrakcie a správ. Pre uľahčenie prístupu je príručka Perl rozdelená do mnohých častí. Perl kombinuje niektoré z charakteristík C, sed, awk a sh, takže ľudia oboznámení s týmito jazykmi by s tým nemali mať žiadne problémy. (v angličtine).

  • Ben Okopnik, Perla učenia, 1. časť

  • Ben Okopnik, Learning Perl, Časť 2

  • Ben Okopnik, Learning Perl. 4. časť

  • "Perlská línia mesiaca: Apríl je najťažší mesiac"

  • Ben Okopnik, Preklad: Pavel Sokolov, "Perl One-Liner of the Month: An Adventure with Misnamed Files"

  • Ben Okopník

  • Ben Okopnik, Preklad: Pavel Sokolov, "Perl One-liner of the Month: An Adventure with Custom Archives."

  • Mark Nielsen, Zaručené vyčistenie pevného disku pomocou Perlu

  • Mark Nielsen, Spoločné používanie Perlu a PostgreSQL

  • Ako oživiť skript Perl/CGI Tento článok je určený na pomoc tým, ktorí sa rozhodnú vytvoriť si vlastné webové aplikácie a zvolia si programovací jazyk Perl (Practical Electric Rubbish Lister), aby získali „rýchly štart“.

  • Vytvorte index pre lokalitu. Popisuje vytvorenie perlského skriptu, ktorý prehľadá všetky stránky webu na meta description a meta kľúčové slová a zostaví výslednú tabuľku – index, alebo predmetový index.


  • Tom Christiansen, Nathan Torkington, Perl: The Programmer's Library Kniha obsahuje rozsiahlu zbierku spôsobov riešenia väčšiny problémov, ktoré vznikajú pri práci s jazykom Perl. Zvažuje sa široká škála problémov: od základov programovacích techník po profesionálne jemnosti, od manipulácií s reťazcami, číslami a poľami až po vytváranie databáz. SQL dáta od skriptovania CGI a internetových aplikácií až po vývoj serióznych systémov klient-server.

  • WebScript.ru: skripty a programovanie pre web (PHP, Perl). Články o Perle.

  • Dmitrij Lyalyuev, "Tri písmená v Perle" Zvažuje sa písanie skriptu v tomto výkonnom programovacom jazyku na vytváranie a odosielanie listov.

  • Erizhokov AA, PCRE Článok o sade funkcií na podporu regulárnych výrazov pomocou syntaxe Perl.

  • Stas Bekman, "Prečo mod_perl?" Preklad: Zakharova Inga

  • Stas Bekman, "mod_perl za 30 minút. Časť I" Preklad: Zakharova Inga

  • Misko D. Ako oživiť Perl/CGI skript
    Tento článok je určený na pomoc pri „rýchlom štarte“ pre tých, ktorí sa rozhodnú vytvárať webové aplikácie „vlastnými rukami“ a ako nástroj na ich vytváranie si zvolili programovací jazyk Perl (Practical Electric Rubbish Lister).

  • "Skúmanie modulov Perl, časť 1. Vytváranie grafiky za behu pomocou GD"

  • Pradeep Padala, preložil Aleksey Cheglyakov, "Skúmanie modulov Perl, časť 2: Kreslenie diagramov pomocou GD::Graph"

  • Arsenij Chebotarev, „Zbytočný Perl a všeobecná teória zlepšovania sveta“ zdrojový kód s príkladmi v Perle.

  • Pavel Golubev, "Vytváranie webových stránok pre tlač PDF pomocou príkladu PDF::API2" Ukážka možností modulu PDF::API2 Perl na vytváranie správ PDF.
  • PHP

  • "Typické bezpečnostné problémy v PHP skriptoch v príkladoch" V prezentácii, na jednoduchých príkladoch v populárnych PHP skriptoch, prezentácia hovorí o typických chybách PHP programátorov, ktoré vedú k vážnym bezpečnostným problémom.

  • Sergej Ermakov, PHP ako FastCGI a distribúcia práv

  • Robert Bradley, „Ako pridať medzinárodnú podporu svojim aplikáciám PHP“

  • "Zverejnenie cesty: Cestovanie" O tom, ako sú skripty PHP hacknuté.

  • Učenie PHP, časť 3: Autentifikácia, tok údajov, objekty a výnimky
    V tomto návode sa naučíte, ako používať PHP na vytvorenie aplikácie schopnej workflow, dozviete sa o HTTP autentifikácii, dátových tokoch, vytváraní objektov a spracovaní výnimiek.

  • Učenie PHP, Časť 2: Nahrávanie súborov na server a používanie XML na ukladanie informácií o súboroch
    V tomto návode sa naučíte, ako používať PHP na vytvorenie aplikácie s podporou pracovného toku.

  • Učenie PHP Časť 1: Registračná stránka, formuláre a interakcia s databázou
    V tomto návode sa naučíte používať PHP na vytvorenie jednoduchej aplikácie s podporou pracovného toku, naučíte sa vytvárať stránky PHP pomocou formulárov HTML a pristupovať k databázam.

  • PHP relácie. Časť 4 (ďalšie a predchádzajúce časti si môžete prečítať)

  • Bojko Sergey, "Vlastný CMS v PHP. Časť 1"

  • Harry Fuecks, preklad: Mullin Sergey, Kuzma Feskov, "Caching v PHP"

  • John Lim, preložil Kuzma Feskov, „AKO na optimalizáciu PHP“

  • Andi Gutmans, Stig Bakken a Derick Rethans, v preklade Vadima Kryuchkova, "Čo je nové v PHP 5?"

  • Feskov Kuzma, „Veľké príležitosti pre malú lokalitu“ (Práca s ZIP archívy v PHP).

  • Preklad: Edgar Mkrtchyan, "PEAR HTML_QuickForm: Príručka pre začiatočníkov" Tu je jednoduchý úvod do HTML_QuickForm, jednej z častí PEAR (PHP Extension and Application Repository).

  • Sterling Hughes, preklad: Dmitrij Korolenko, „21 chýb programátora PHP“ PHP sa dá veľmi ľahko naučiť. To priťahuje veľa ľudí; napriek zjavnej jednoduchosti však nie je také ľahké naučiť sa správne a efektívne používať tento jazyk.

  • Sterling Hughes, "21 chýb v programovaní PHP".
    "Časť I
    „Časť II
    "Časť III "Top 21 PHP progamming errors" od Sterlinga Hughesa, 14. januára 2001 http://www.zend.com/zend/art/mistake2.php, Preklad: Danil Mironov.

  • "Bezpečné nastavenie PHP pre zdieľaný hosting v systéme UNIX"

  • "Zoznamy súborov" Naučte sa vykonávať základné operácie so skupinami súborov (čítanie obsahu priečinka, rekurzívne čítanie priečinka, rekurzívne čítanie priečinka pre určité typy súborov a tlač adresárového stromu) v PHP.

  • „PHP Inside“ je elektronický (PDF) časopis v ruskom jazyku určený pre webových programátorov, ktorí pri vývoji používajú PHP.

  • Monte Ohrt, Andrei Zmievski, Sergei Suslenkov, 21-05-2004, „Smarty je nástroj na zostavovanie šablón“ Hoci sa PHP nazýva „jazyk, ktorý je vložený do HTML“, po napísaní niekoľkých projektov, v ktorých sú PHP a HTML zmiešané, mnohí rozumejú že oddelenie formy a obsahu je dobrá vec!


  • Dávid Lechnýr



  • http://phpclub.unet.ru/ Klub vývojárov PHP a MySQL. Články, recenzie, zoznamy adries, ruská dokumentácia o príkladoch kódu PHP a MySQL. Užitočné informácie o vytváraní internetových obchodov, portálov, WWW databáz. K dispozícii sú hotové projekty (bezplatne).


  • D.Svirepchuk, "Osobný prieskum" O skripte PHP na vytvorenie prieskumu na stránke.

  • Denis Migachev, "PHP a MySQL. Časť 1. Priama práca s MySQL"

  • Alexander Netkachev, "Alternatíva k DOM XML v PHP (PHP4)", 04/15/2004.

  • Alexander Netkachev, "Migrácia na PHP5" Vo svojej recenzii som sa snažil podať čo najúplnejší prehľad o zmenách v PHP5.

  • Alexander Netkachev, „Písanie kódu PHP odolného voči chybám“
    "Písanie kódu PHP odolného voči chybám"

  • S. Tarasenko. Práca s cookies v PHP

  • A. Orlov PHP: tajomstvá interaktivity

  • Ambersky R., "skript na zobrazenie bannera PHP4" Skripty na zobrazenie bannera uvedené v tomto článku sú dosť elementárne. Popisy bannerov, počet kliknutí a zobrazení sú uložené v textovom súbore, takže MySQL nie je potrebný.

  • HTTP Inštalácia zabezpečenia na stránke pomocou MySQL a PHP. Toto je návod, ktorý by vám mal ukázať základy zabezpečenia vašich webových stránok pomocou HTTP autentifikácie. Namiesto tradičnej metódy .htaccess (server Apache) budeme na ukladanie používateľských údajov a ich hesiel používať MySQL. Pokúsim sa požuť všetko čo najviac na tom, čo je podľa mňa potrebné, aby sa začiatočník naučil MySQL a PHP.

  • Primer pre PHP a mySQL (súbor PDF) Táto práca nie je určená na nahradenie manuálov pre PHP a MySQL. Tento základ vám jednoducho pomôže urobiť prvé kroky pri učení sa PHP a jeho interakcie s databázou MySQL.

  • Adam Trachtenberg a David Sklar (8/3/99) Preklad N. V. Kostromina. (všetko v jednom súbore - ).

  • Osipov Alexey, "Zbierka štatistík o PHP" Každý webmaster chce vedieť aspoň trochu o svojich návštevníkoch. Tento článok vám ukáže, aké ľahké je vytvoriť jednoduchý systém zberu údajov o návštevníkoch.

  • Stig Sather Bakken a kol., "Manuál PHP"

  • T. Rathshiller, T. Gerken "Prístup k databázam pomocou PHP" Kapitola z knihy "PHP4: Vývoj webových aplikácií. Programátorská knižnica (+CD)"

  • Shawn Wallace Úvod do prekladu PHP: Mike J.K. ( [e-mail chránený])

  • S. Losev. PHP a MySQL sú pracovné nástroje tvorcu webových stránok.

  • S. Losev. Nástroje na tvorbu webových stránok.
    Tento článok zo série venovanej modernému „budovaniu stránok“ hovorí o populárnom systéme MySQL a programovacom jazyku PHP, ako ich možno využiť pri riešení problémov, s ktorými sa stretáva každý vývojár internetových stránok – príprava a zobrazovanie noviniek, zadávanie a zobrazovanie textových informácií, vyhľadávanie na stránke, organizácia doplnkových služieb („uznanie“ návštevníka, fóra, ankety atď.). Oba tieto nástroje sú bezplatné a poskytujú ich všetci poskytovatelia hostingu bez výnimky.
    Časť 1. Začíname s PHP a MySQL
    Časť 2. Všetky správy, ale ako ich zadať a zobraziť?
    Časť 3. Články pre stránku
    Časť 4. Doplnkové služby

  • Techniky zabezpečenia webových aplikácií PHP Účelom tohto článku je ukázať niektoré techniky zabezpečenia webových aplikácií, ako sú WWW chaty, knihy návštev, webové fóra a iné aplikácie tohto druhu... Kopírovať .

  • Bryan Brunton, Merchant Empires: Programovanie vlastného vesmíru v PHP

  • WebScript.ru: skripty a programovanie pre web (PHP, Perl). Články o PHP.

  • Ilyin S. Religion PHP PHP je interpretovaný jazyk na vytváranie aktívnych webových stránok. Je to veľmi podobné Perl a ASP, ale oveľa pohodlnejšie ako oni. Apache s PHP je v súčasnosti najpopulárnejším webovým serverom.

  • A. Kukharchik PHP pre každého!




  • Denis Kolisnichenko, Prehľad sieťových funkcií PHP (Originál: http://www.softerra.ru/review/program/16851/) Zverejnené: 21.3.2002

  • Andrey Goncharenko,
  • Knihy o programovaní v systéme Linux, stiahnite si bezplatné knihy, návody a návody o programovaní v systéme Linux na dobrá kvalita

    Popis knihy UNIX. Vývoj sieťových aplikácií: Nové vydanie knihy o budovaní webových serverov, aplikácií klient-server alebo akéhokoľvek iného sieťového softvéru na operačnom systéme UNIX, klasického sprievodcu sieťovými API, najmä soketmi. Je založený na spisoch Williama Stevensa a bol kompletne revidovaný a aktualizovaný dvomi poprednými odborníkmi na sieťové programovanie.

    Kniha obsahuje popis kľúčových moderných štandardov, implementácií a metód, obsahuje veľký počet názorné príklady a možno ich použiť ako učebnicu programovania v sieťach a ako referenciu pre skúsených programátorov. Komplexný materiál o sieťovom programovaní na systémovej úrovni je prezentovaný neuveriteľne jednoduchým a konzistentným spôsobom. Prvé kapitoly sa čítajú ako fascinujúci román, všetko je rozložené na poličkách, každý riadok kódu je vysvetlený. Posledné kapitoly možno považovať za referenčnú knihu, obsahujú veľké množstvošpeciálne informácie.

    Popis knihy Python v správe systémov UNIX a Linux:
    Kniha „Python v správe systému UNIX a Linux“ ukazuje, ako efektívne riešiť rôzne úlohy správy serverov UNIX a Linux pomocou jazyka Python. Programovanie v Pythone. Každá kapitola sa zameriava na konkrétnu úlohu, ako je multitasking, zálohovanie dát alebo vytváranie vlastných nástrojov príkazový riadok a ponuky praktické metódy jeho riešenia v Pythone.

    Medzi preberané témy: organizácia vetvenia procesov a prenos informácií medzi nimi pomocou sieťových mechanizmov, vytváranie interaktívnych utilít s grafickým rozhraním, organizácia interakcie s databázami a tvorba aplikácií pre Google App motora. Okrem toho autori knihy vytvorili stiahnuteľnú a voľne šíriteľnú virtuálny prístroj založené na Ubuntu, vrátane zdrojového kódu pre príklady v knihe a schopné spúšťať príklady pomocou SNMP, IPython, SQLAlchemy a mnohých ďalších nástrojov.

    Publikácia je určená širokému spektru odborníkov – všetkým, ktorí sa len začínajú učiť jazyk Python, či už ide o skúsených vývojárov skriptov v jazykoch shellu alebo relatívne neznalých programovania vo všeobecnosti.

    Popis knihy gcc. Počítačová kniha pre používateľov, programátorov a správcov systému: GCC je hlavný kompilátor pre projekt GNU. Podporuje sadu všetkých najpoužívanejších programovacích jazykov a poskytuje prenosnosť programov na desiatky hardvérových platforiem. Všetok slobodný softvér, vrátane kompilátorov, je na určitej úrovni založený na GCC.

    Kniha poskytuje podrobné informácie o získaní, konfigurácii, inštalácii a testovaní kompilátora. Prezentovaná je konštrukcia krížového kompilátora a tvorba vstavaných systémov, podrobne je popísaná kompilácia programov v C, C++, Objective-C, Fortran, Java a Ada. Rovnako ako kombinácia niekoľkých programovacích jazykov v jednom programe a zahrnutie častí napísaných v assembleri alebo jazykoch na systémovej úrovni. V tejto knihe môžete nájsť takmer všetky informácie, ktoré postačujú nielen na vyriešenie vašich problémov, ale aj na spoluúčasť na vývoji a podpore samotného kompilátora GCC Kniha bude užitočná: Vývojár programátorov a manažérov softvérových projektov; správcovia a systémoví programátori, ktorí sa musia zaoberať prenosom softvéru a aplikácií; používateľov so záujmom o používanie programov s otvoreným zdrojovým kódom. A všetkým priaznivcom rozvoja hnutia za vytváranie slobodného softvéru.

    Popis knihy linux. Systémové programovanie:
    Táto kniha je o tom, ako písať softvér pre Linux s využitím schopností systému – funkcií jadra a základných knižníc vrátane shellu, textového editora, kompilátora, debuggeru a systémových rutín. Veľká časť kódu pre Unix a Linux je napísaná na systémovej úrovni, takže kniha sa zameriava na aplikácie mimo jadra, ako sú Apache, bash, cp, vim, Emacs, gcc, gdb, glibc, ls, mv a ďalšie.

    Kniha je napísaná špeciálne pre vývojárov a je nevyhnutný nástroj akýkoľvek programátor.

    1. Úvod a kľúčové pojmy
    2. Súbor I/O
    3. I/O s vyrovnávacou pamäťou
    4. Rozšírený súbor I/O
    5. Riadenie procesov
    6. Pokročilé riadenie procesov
    7. Správa súborov a adresárov
    8. Správa pamäte
    9. Signály
    10. čas

    Popis knihy Základy programovania v Linuxe:
    Štvrté vydanie populárnej príručky pokrýva základy programovania v systéme Linux. Zvažuje sa: použitie knižníc C / C ++ a štandardných vývojových nástrojov, organizácia systémových volaní, vstup / výstup súborov, interakcia procesov, programovanie shell, vytváranie grafických používateľských rozhraní pomocou nástrojov GTK + alebo Qt, použitie zásuviek atď.

    Je popísané kompilovanie programov, ich prepojenie s knižnicami a práca s terminálovým vstupom/výstupom. Sú uvedené techniky písania aplikácií v prostrediach GNOME a KDE, ukladanie údajov pomocou MySQL DBMS a programy na ladenie. Kniha je dobre štruktúrovaná, takže učenie je ľahké a rýchle.

    • Začíname
    • Shell programovanie
    • Práca so súbormi
    • Linuxové prostredie
    • Terminály
    • Ovládanie textových obrazoviek pomocou knižnice kliatieb
    • Správa údajov
    • MySQL
    • Vývojové nástroje
    • Ladenie
    • Procesy a signály
    • Vlákna POSIX
    • Komunikácia medzi procesmi: kanály
    • Semafory, zdieľaná pamäť a fronty správ
    • zásuvky
    • Programovanie v GNOME s GTK+
    • Programovanie v KDE s Qt
    • Linuxové štandardy

    • Sivarama P. Dandamudi
    • Vydavateľstvo: Springer
    • Rok: 2005
    • anglický jazyk
    • Stránky: 568
    • Formát: pdf
    • Veľkosť: 26 MB

    Popis knihy :
    Táto jedinečná príručka poskytuje komplexné pokrytie kľúčových prvkov programovania v jazyku Assembly s podrobným pokrytím Linuxu operačný systém, čo je najrýchlejšie rastúci operačný systém s odhadovaným počtom 18 miliónov používateľov Linuxu na celom svete. Kniha sa špecificky zameriava na profesionálov, ktorí by sa chceli naučiť montáž a plánujú alebo očakávajú prechod na operačný systém Linux.

    Táto veľmi užitočná príručka je dodávaná so všetkým potrebným softvérom (Linux, NASM, debugger), vďaka čomu je mimoriadne cenným nástrojom zdrojov pre všetkých, ktorí sa chcú naučiť programovanie v assembleri a Linux. Čitatelia musia mať iba základné znalosti akéhokoľvek štruktúrovaného jazyka na vysokej úrovni, ako je C, aby mohli využiť všetky výhody tejto príručky. Sivarama P. Dandamudi je profesor počítačovej vedy na Carleton University v Ottawe, Ontario, Kanada, ako aj pridružený redaktor zodpovedný za počítačovú architektúru v International Journal of Computers and Their Applications. Má viac ako dve desaťročia skúseností s výučbou počítačových systémov a organizácie.

    • Organizácia počítača, vrátane digitálnych logických obvodov, organizácia pamäte, architektúra IA-32
    • Inštalácia a používanie Linuxu a NASM
    • Ladenie programov v assembleri
    • Prehľad pokynov v jazyku symbolických inštrukcií
    • Zápisové procedúry, režimy adresovania, podmienené vykonávanie, logické a bitové operácie
    • Pokročilý jazyk symbolov vrátane spracovania reťazcov, aritmetiky ASCII a BCD, rekurzie, spracovania prerušenia v chránenom režime, jazykového rozhrania na vysokej úrovni, operácií s pohyblivou rádovou čiarkou

    Popis knihy Pro Oracle Database 11g RAC na Linuxe:
    Pro Oracle Database 11g RAC na Linuxe poskytuje návod na celý životný cyklus implementácie Oracle Real Application Clusters v prostredí Linuxu. Real Application Clusters, bežne skracované ako RAC, je špičková architektúra Oracle pre škálovateľné databázy odolné voči chybám. RAC vám umožňuje škálovať nahor a nadol jednoduchým pridávaním a odčítaním lacných serverov Linux. Redundancia poskytovaná týmito viacerými, lacnými servermi je základom pre núdzové prepnutie a ďalšie funkcie odolnosti proti chybám, ktoré RAC poskytuje.

    Pro Oracle Database 11g RAC na Linuxe, ktorú napísali autori, ktorí sú známi svojim talentom pre RAC, vám poskytuje pevný a technicky bezchybný základ, na ktorom môžete budovať svoje zručnosti v oblasti správy RAC. Autori Julian Dyke a Steve Shaw sa podelia o svoje ťažko nadobudnuté skúsenosti s budovaním klastrov RAC a ukážu vám, ako úspešne stavať pomocou najnovších technológií Oracle, ako je Automatic Storage Management (ASM) a Oracle Clusterware. Naučíte sa riešiť problémy s výkonom a iné problémy. Dokonca sa naučíte, ako správne nasadiť RAC v prostredí virtuálneho stroja založenom na Oracle VM, čo je jediné virtualizačné riešenie podporované spoločnosťou Oracle Corporation.

    RAC je komplexná a výkonná technológia. Vyžaduje si to odborné znalosti pri jeho nasadení. Pri vytváraní RAC riešenia nemôžete len tak „okrídliť“. Julian a Steve získali právo nazývať sa expertmi na Pro Oracle Database 11g RAC na Linuxe, ponúkajú dôsledné a technicky správne spracovanie RAC, ktoré vám pomôže vybudovať pevné základy odbornosti a dosiahnuť úspech.

    Popis knihy Python pre správu systému Unix a Linux:
    Python je ideálny jazyk na riešenie problémov najmä v sieťach Linux a Unix. S touto pragmatickou knihou môžu správcovia preskúmať rôzne úlohy, ktoré sa často vyskytujú pri správe týchto systémov, a zistiť, ako môže Python poskytnúť efektívnejší a menej bolestivý spôsob, ako ich zvládnuť.

    Každá kapitola v Pythone pre Unix a Linux System Administration predstavuje konkrétny administratívny problém, ako napríklad súbežnosť alebo zálohovanie dát, a predstavuje riešenia Pythonu prostredníctvom praktických príkladov. Po dokončení tejto knihy budete môcť v Pythone vyvinúť vlastnú sadu nástrojov príkazového riadku na riešenie širokého spektra problémov.

    Zistite, ako vám tento jazyk môže pomôcť:

    * Čítajte textové súbory a extrahujte informácie
    * Spúšťajte úlohy súbežne pomocou možností spájania vlákien a rozdeľovania
    * Získajte informácie z jedného procesu do druhého pomocou sieťových zariadení
    * Vytvárajte klikacie GUI na prácu s veľkými a zložitými nástrojmi
    * Monitorujte veľké klastre strojov pomocou programovej interakcie s SNMP
    * Osvojte si interaktívny Python shell IPython, ktorý nahradí alebo rozšíri Bash, Korn alebo Z-Shell
    * Integrujte Cloud Computing do svojej infraštruktúry a naučte sa písať aplikáciu Google App Engine
    * Vyriešte jedinečné problémy so zálohovaním údajov pomocou prispôsobených skriptov
    * Interakcia s MySQL, SQLite, Oracle, Postgres, Django ORM a SQLAlchemy

    S touto knihou sa naučíte, ako zabaliť a nasadiť svoje Python aplikácie a knižnice a písať kód, ktorý funguje rovnako dobre na viacerých Unixových platformách. Dozviete sa tiež o niekoľkých technológiách súvisiacich s Python, ktoré vám uľahčia život.

    Popis knihy Programovanie v Linuxe. Návod:
    Základy programovania Linuxu sa berú do úvahy: súprava nástrojov, nízkoúrovňové I/O, multitasking, súborový systém, medziprocesová komunikácia a spracovanie chýb. Kniha je zameraná najmä na praktickú aplikáciu načrtnutých pojmov. Má všetko, čo začiatočník potrebuje, a hĺbkové štúdium každej témy ju robí cennou aj pre skúsených programátorov. Každá téma je ilustrovaná veľkým množstvom príkladov, ktoré môže čitateľ použiť ako predlohy pre svoje vlastné programy.

    Popis knihy Programovanie v C++ na Linuxe:
    Kniha sa venuje tvorbe aplikácií napísaných v C++ vo vývojovom prostredí KDevelop. Je uvedený popis spôsobov interakcie komponentov aplikácie. Zohľadňuje sa práca s nástrojom Qt Designer a hlavné ovládacie prvky používané v dialógové okná, ako aj triedy vytvorené na prácu s nimi. Čitateľ sa zoznámi s konceptom Document/View a naučí sa vytvárať prvky používateľského rozhrania aplikácie. Okrem toho sa samostatné kapitoly venujú problematike zobrazovania rôznych informácií na obrazovke, ich ukladania a obnovy zo súboru, vytvárania textové editory, práca so šablónami tried a funkcií a organizovanie multitaskingu v aplikácii na základe interagujúcich procesov. V závere sú uvedené pokyny na vytvorenie systému pomoci aplikácie.

    Kniha sa zaoberá programovaním GUI aplikácií pomocou Qt4 a vývojového prostredia KDevelop.

    Tento článok je určený pre dva typy čitateľov. Po prvé, sú to ľudia, ktorí majú skúsenosti s programovaním pod MS Windows, ale nemajú také skúsenosti pod GNU/Linuxom. Po druhé, sú to ľudia, ktorí nemajú vôbec žiadne skúsenosti s programovaním. Predpokladám však, že čitateľ je vo všeobecnosti oboznámený s bežnou programátorskou terminológiou a netreba mu napríklad vysvetľovať, čo je to „program“, „funkcia“, „prekladač“ či „ladenie“.

    Vývojové nástroje

    Budem sa pozerať na vývoj s nástrojmi, ktoré sú najprirodzenejšie pre GNU/Linux. Tie obsahujú:

      programovací jazyk C

      príkazový shell bash

      Textové editory Vim a Emacs

      Kompilátor GCC

      Debugger GDB

      GNU make project build utility

      Systém riadenia verzií Git

      okenný systém X11

    Výber týchto prostriedkov nie je dogma. Každý z vyššie uvedených prostriedkov môže byť v prípade potreby nahradený iným. Frázy ako „vývojové prostredie Linuxu“ však zvyčajne označujú túto sadu nástrojov.

    Programovacie jazyky

    Najprirodzenejším programovacím jazykom pre GNU/Linux je C. Je to spôsobené nasledujúcimi faktormi:

      GNU/Linux si požičiava mnohé nápady (prakticky ideológiu) z operačného systému UNIX;

      Operačný systém UNIX bol napísaný v jazyku C (v skutočnosti bol tento jazyk vytvorený špeciálne na písanie tohto OS);

      V súlade s tým je jadro Linuxu a systémové prostredie GNU tiež napísané v jazyku C.

    Nižšie sa budem zaoberať vývojom pomocou jazyka C. Táto voľba však nie je dogmou. Ďalšie populárne jazyky pre vývoj GNU/Linux sú C++, Python, Perl. Samozrejme je možné použiť aj akékoľvek iné jazyky.

    Vývojové prostredie

    Za posledné dve desaťročia sa tzv. IDE - Integrované vývojové prostredia. Toto prostredie zahŕňa textový editor, kompilátor, debugger, nástroje na vytváranie projektov a ďalšie. Pod GNU/Linuxom sú také prostredia (najpopulárnejšie sú Eclipse, NetBeans, IDEA, KDevelop, Anjuta). História vývoja systémov podobných UNIX však ukazuje, že IDE nie sú len jediným, ale aj najefektívnejším vývojovým nástrojom. V praxi je správna odpoveď na otázku „aké je najlepšie IDE pre GNU/Linux“ „GNU/Linux je IDE“.

    Často sa môžete stretnúť s názorom, že bez IDE nie je možné vyvinúť veľký projekt. Tento názor sa dá ľahko vyvrátiť. Prvé verzie UNIXu ani neboli napísané vo Vime (vtedy ešte neexistoval), ale v Ed. Ide o takzvaný „riadkový“ textový editor, v ktorom môžete naraz upravovať iba jeden riadok textu. Na obrazovke sa nezobrazuje celý súbor. V prípade UNIX to nemohlo byť inak - vývojári nemali žiadne obrazovky a komunikácia so systémom prebiehala pomocou teletypov. Moderné jadro Linuxu je napísané primárne v editoroch Emacs a Vim.

    Mnoho pomôcok systému UNIX vyvoláva „predvolený textový editor“. Príkaz, ktorý spúšťa predvolený textový editor, je prevzatý z premennej prostredia $EDITOR. Niektoré nástroje sa najprv pozerajú na premennú $VISUAL a iba ak nie je nastavená, na premennú $EDITOR. Ide o historické správanie: staré počítače často nemali pripojený žiadny displej, ale iba ďalekopis, takže nemalo zmysel spúšťať on-screen (vizuálny) editor. Moderné distribúcie zvyčajne predvolene používajú EDITOR=vi alebo EDITOR=nano . Môžete určiť použitie iného editora pre jeden príkaz takto:

    EDITOR=emacs nejaký-príkaz

    Použit požadovaný editor vždy štandardne musíte do súboru ~/.profile pridať takýto riadok

    export EDITOR=emacs

    Historicky jedinými „skutočnými“ textovými editormi pre programátorov sú Vim a Emacs (jednoducho preto, že majú najdlhšiu históriu vývoja ako textové editory pre programátorov). Zvyšok redaktorov je v pozícii dobiehania.

    príkazový shell

    Shell (alebo príkazový interpret) je program, ktorý na niektorých prijíma príkazy od užívateľa jednoduchý jazyk ich programovanie a vykonávanie. Väčšina príkazov spúšťa programy s rovnakým názvom. Jednotlivé príkazy sú konštrukcie shell programovacích jazykov.

    Štandard POSIX obsahuje popis minimálnej množiny funkcií poskytovaných shellom. Skutočne používané škrupiny poskytujú spravidla viac možností.

    OS rodiny DOS a Windows si požičali niektoré funkcie príkazového shellu z UNIXu, ale ich autori urobili výrazné zjednodušenia, vďaka ktorým sa funkčnosť COMMAND.COM a cmd.exe ukázala ako značne obmedzená. PowerShell je celkom na úrovni, ale funguje výrazne iným spôsobom.

    Na účely tohto článku sa obmedzím na použitie shellu bash (ako najbežnejšieho a predvoleného vo väčšine distribúcií) na spustenie kompilátora a iných vývojových nástrojov. Dobrý prehľad o používaní príkazového shellu nájdete napríklad v známej knihe .

    Dokumentácia

    Všetky vývojové nástroje a knižnice v GNU/Linuxe sú zvyčajne pomerne dobre zdokumentované. Na dokumentáciu sa tradične používa špeciálny formát a nástroj na jej prezeranie je man . Dokumentácia v systéme je rozdelená do niekoľkých sekcií:

      Používateľské príkazy (napríklad ls, gcc alebo man)

      Systémové volania - API jadra OS

      Funkcie knižnice

      Ovládače atď.

      Formáty súborov

      Hry atď.

      Prehľady rôznych podsystémov

      Príkazy používané na správu systému

    Ak chcete volať sekciu dokumentácie podľa názvu, musíte zadať tento názov pri vyvolaní príkazu man (napríklad man ls). Niekedy sú sekcie s rovnakým názvom v niekoľkých sekciách dokumentácie súčasne. Pri volaní man môžete zadať konkrétnu sekciu (napríklad man 3 printf).

    Viac informácií o systéme man help nájdete v man man .

    Obslužné programy systémového prostredia GNU často používajú informačný formát pre dokumentáciu. Pozri napríklad info Coreutils.

    Kompilátor

    Teraz existuje veľa kompilátorov C, ktoré sú viac-menej kompatibilné s rôznymi štandardmi. V súčasnosti však zostáva najviac použiteľný v prostredí GNU/Linux kompilátor C, ktorý je súčasťou GNU Compilers Collection (GCC). Tento kompilátor okrem štandardu C podporuje množstvo rozšírení štandardu. Najmä tieto rozšírenia sú široko používané v zdrojoch jadra Linuxu. Nedávno sa objavili kompilátory, ktoré dokážu skompilovať jadro Linuxu (napríklad llvm-clang, alebo EKO).

    Kompilátor GCC sa spúšťa z príkazového shellu pomocou príkazu ako

    program gcc.c

    kde program.c je názov vstupného súboru. Podľa štandardu POSIX je možné kompilátor spustiť aj príkazom cc program.c (cc znamená "C kompilátor").

    Pri normálnom spustení sa kompilátor pokúsi vygenerovať spustiteľný súbor. Štandardne je výstupný súbor pomenovaný a.out (názov, ktorý zostal zo starých verzií UNIX). Pomocou voľby kompilátora -o je možné zadať iný názov, napr.

    gcc -o program program.c

    Pri zostavovaní programu z niekoľkých modulov môže byť kompilátor napájaný niekoľkými zdrojovými súbormi alebo súbormi objektového kódu ako vstup, napr.

    gcc -o program main.c module1.o module2.o ...

    Ak chcete skompilovať iba jeden zdrojový súbor do objektového kódu (bez pokusu o kompiláciu spustiteľného súboru), musíte zadať príkaz ako

    (predvolený názov výstupného súboru bude module.o).

    Na zostavenie programu sú často potrebné knižnice. V Linuxe sa používajú dva typy knižníc: knižnice pre statické prepojenie a dynamické prepojenie. Pri statickom prepojení je celá knižnica zahrnutá do spustiteľného súboru, keď je program zostavený. Pri dynamickom prepájaní sa do spustiteľného súboru zadá iba názov dynamickej knižnice a pri spustení programu dôjde k vyhľadaniu tohto súboru a k prepojeniu.

    Statická knižnica na systémoch podobných UNIX je archív (starého formátu ar), ktorý obsahuje súbor objektových súborov. Takýto archív sa vytvorí príkazom ako

    ar r libsomething.a module1.o module2.o ...

    Názvy súborov knižnice tradične začínajú predponou lib.

    Dynamicky načítaná knižnica je objektový súbor špeciálneho formátu (určený pre dynamické zaťaženie). Takáto knižnica je vytvorená príkazom like

    gcc -shared -o libsomething.so module1.c module2.c ...

    Ak chcete použiť knižnicu pri zostavovaní programu, musíte ju zadať kompilátoru napríklad pomocou voľby -l

    gcc -o program -lm program.c

    (tu bude použitý súbor knižnice libm.so, kompilátor štandardne nahradí predponu lib). V predvolenom nastavení kompilátor vytvára program, ktorý používa dynamické knižnice. Ak chcete používať statické verzie knižníc, musíte kompilátoru zadať voľbu -static.

    Viac informácií o možnostiach gcc nájdete v man gcc.

    Ahoj svet!

    Verí sa, že tradícia začínať štúdium programovacieho jazyka napísaním programu, ktorý zobrazuje reťazec „Ahoj, svet!“, pochádza z knihy Kernighana a Ritchieho „Jazyk C“ . V prípade jazyka C tento program vyzerá takto:

    #include

    int Hlavná(int argc, char * argv) (
    printf("Ahoj svet! \n" );
    vrátiť 0 ;
    }

    Ak chcete spustiť tento program, tento text musí byť zapísaný do súboru s názvom, povedzme, hello.c , a z adresára, v ktorom sa tento súbor nachádza, zadajte príkaz ako

    gcc -o ahoj ahoj.c

    V prípade takéhoto jednoduchého programu však stačí zadať príkaz

    (Nižšie vysvetlím, prečo tieto dva príkazy fungujú rovnakým spôsobom). V dôsledku toho sa v rovnakom adresári objaví spustiteľný súbor s názvom hello. Môžete ho spustiť pomocou príkazu

    Montážny poriadok

    Pozrime sa bližšie na to, čo presne robí kompilátor. Postup kompilátora C je tradičný a používajú ho kompilátori niektorých iných jazykov.

    Na vstupe má kompilátor vo všeobecnosti sadu súborov so zdrojovými textami. Pred začatím samotnej kompilácie sú tieto súbory spracované tzv. preprocesor (program cpp). Hlavnou funkciou tohto programu je vykonávať príkazy #include. Pri stretnutí s takouto direktívou preprocesor vloží obsah zadaný súbor(v tomto prípade stdio.h) namiesto tejto smernice. Preprocesor rozumie ešte niektorým direktívam, ale tým sa teraz nebudem zaoberať.

    Po preprocesore sa vykoná skutočná kompilácia. Zo zdrojových súborov v tejto fáze vzniká tzv. objektové súbory. Sú to súbory, ktoré obsahujú spustiteľný strojový kód, ale ešte nie sú pripravené na spustenie. Chýbajú im hlavne adresy volaných knižničných funkcií. Napríklad kód funkcie printf() je obsiahnutý v knižnici libc. A objektový súbor obsahuje iba názov tejto funkcie. Okrem toho objektový súbor obsahuje názvy všetkých funkcií, ktoré sú v ňom deklarované.

    Súbory objektov, ako aj použité knižnice, sa dodávajú ako vstup do linkera (programu ld). Linker hľadá všetky funkcie volané z rôznych objektových súborov (podľa názvu) v objektových súboroch a knižniciach. Ak sa nájdu všetky funkcie, linker vytvorí skutočný spustiteľný súbor. V tomto prípade sú názvy volaných funkcií nahradené špecifickými adresami pamäte. V prípade použitia dynamickej knižnice zostáva názov použitej funkcie a je k nemu pridaný názov súboru dynamickej knižnice, v ktorej pri spustení programu bude potrebné túto funkciu vyhľadať.

    Samotný program gcc je takzvaný ovládač. Spúšťa vyššie uvedené programy (alebo len niektoré z nich, v závislosti od možností), aby získal spustiteľný súbor.

    Druhý príklad: riešenie kvadratických rovníc

    Ako trochu viac komplexný príklad Zvážte program, ktorý musí vyriešiť kvadratické rovnice. Používateľ zadá koeficienty štvorcovej trojčlenky a program vráti jej skutočné korene. Tu je úplný text takéhoto programu:

    #include
    #include

    /* vyriešiť: vypočítať korene štvorcovej rovnice.
    * a, b, c sú koeficienty v rovnici.
    * Korene budú uložené v x1, x2.
    * Návratová hodnota: počet skutočných koreňov.
    */
    int vyriešiť (dvojité a, dvojité b, dvojité c,
    double* x1, double* x2) (
    dvojité D = b*b - 4*a*c;
    dvojité sqrtD;

    ak (D > 0) (
    sqrtD = sqrt(D);
    *x1 = (-b - sqrtD)/(2,0 * a);
    *x2 = (-b + sqrtD)/(2,0 * a);
    návrat 2;
    ) inak ak (D< 0)
    návrat 0;
    inak(
    *x1 = -b/(2,0*a);
    návrat 1;
    }
    }

    int main (int argc, char* argv) (
    dvojité a, b, c;
    dvojité x1, x2;
    int pocet_korenov;

    // Vstupné koeficienty
    printf("A:");
    scanf("%lf", &a);
    printf("B: ");
    scanf("%lf", &b);
    printf("C:");
    scanf("%lf", atď);

    // Vyriešte rovnicu
    počet_korenov = vyriešiť(a,b,c, &x1, &x2);

    // výstup výsledkov
    prepínač (počet_korenov) (
    prípad 0:
    printf("Žiadne (skutočné) korene.\n");
    prestávka;
    prípad 1:
    printf("Jeden koreň: %0,4lf\n", x1);
    prestávka;
    prípad 2:
    printf("Dva korene: %0,4lf a %0,4lf\n",
    x1, x2);
    prestávka;
    }

    Analogicky s predchádzajúcim príkladom zapíšeme tento text do súboru square.c a pokúsime sa ho skompilovať pomocou príkazu

    gcc -o štvorcový štvorec.c

    Tentokrát však dostaneme takúto chybu:

    /tmp/cc6RNFIi.o: Vo funkcii „solve“: square.c:(.text+0x6d): nedefinovaný odkaz na „sqrt“ collect2: ld vrátil 1 stav ukončenia

    O čo tu ide? Kompilátorovi sa zjavne z nejakého dôvodu nepáčilo volanie funkcie sqrt(). Navyše sa už nesťažuje na súbor zdrojového kódu, ale na objektový súbor (tento cc6RNFIi.o). To znamená, že zdrojový súbor sa úspešne skompiloval, ale problémy sa vyskytli vo fáze spájania (čo možno vidieť aj zo zmienky v texte chyby programu ld - toto je štandardný linker v GNU/Linux). Linker nemohol nájsť funkciu sqrt(). V tomto prípade sa to stalo, pretože táto funkcia je obsiahnutá v knižnici libm a nepožiadali sme kompilátor, aby ju použil. Aby sme sa zbavili tejto chyby, musíme zmeniť príkaz na kompiláciu na nasledujúci:

    gcc -o štvorec -lm štvorec.c

    Tento príkaz by mal fungovať bez chýb a vytvoriť štvorcový spustiteľný súbor.

    Pri vytváraní akéhokoľvek pomerne zložitého programu budeme musieť použiť niekoľko knižníc a možno budeme musieť zadať nejaké ďalšie možnosti pre kompilátor. Príkaz môže trvať dosť dlho. Čo, zakaždým to zadať ručne? nie Jedným z princípov filozofie UNIX je: „Všetko, čo sa dá automatizovať, by malo byť automatizované.“ Tu sa hodí jeden z najstarších UNIXových nástrojov, program make. Aby sme ho mohli použiť, musíme napísať súbor s názvom Makefile (v rovnakom adresári ako náš zdrojový súbor) s nasledujúcim obsahom:

    štvorec: štvorec.c $(CC) -o [e-mail chránený]-lm $<

    Teraz môžete zostaviť spustiteľný súbor jednoducho zadaním príkazu make. Ako to funguje?

    Urobiť

    Nástroj make je určený na vytváranie programov (hoci ho možno použiť na automatizáciu mnohých ďalších podobných úloh). Číta súbor s názvom Makefile a vidí ho ako súbor pravidiel. Každé pravidlo definuje tri veci: cieľ (cieľ, t. j. to, čo je potrebné zostaviť), zoznam zdrojových súborov a súbor príkazov, ktoré sa majú vykonať na zostavenie cieľa zo zdrojových súborov. Vo vyššie uvedenom príklade je square názov cieľa, square.c je v tomto prípade jediný zdrojový súbor (ak ich je viac, sú uvedené oddelené medzerami) a druhý riadok je príkaz. Príkaz môže používať premenné. Niektoré z premenných majú osobitný význam. Najmä v akomkoľvek pravidle [e-mail chránený] znamená názov cieľa a $< — первый исходный файл. Переменная $(CC) указывает на компилятор C, используемый в системе по умолчанию (в большинстве случаев это gcc , но бывает и что-нибудь другое).

    Zástupný znak % možno použiť v cieľovom názve a zozname zdrojových súborov. Napríklad toto pravidlo:

    %.o: %.c $(CC) -c $<

    znamená, že súbory s názvom končiacim na .o by mali byť zostavené zo zodpovedajúcich súborov s príponou .c.

    Okrem toho sa vopred informujte o množstve predvolených pravidiel. Medzi nimi je aj ten spomenutý v poslednom príklade, ako aj pravidlo

    %:%.c $(CC) -o [e-mail chránený] $<

    Vďaka tomuto pravidlu, v príklade s "Ahoj, svet!" len príkaz make hello by spustil cc -o hello hello.c .

    Make vytvorí na základe sady pravidiel graf závislosti cieľov na sebe a na zdrojových súboroch a vykoná len tie príkazy, ktoré sú potrebné na zostavenie cieľa zadaného v príkazovom riadku. Ak nie sú špecifikované žiadne ciele, vytvorí sa prvý cieľ opísaný v Makefile.

    Viac informácií o tomto nástroji nájdete napríklad v man make .

    Verziovanie

    Na správu verzií zdrojového kódu možno použiť ľubovoľný VCS. Keďže však hovoríme o GNU/Linuxe, pozrime sa v krátkosti na systém použitý na vývoj linuxového jadra: git. Na git je pomerne rozsiahla dokumentácia, vrátane. a v ruštine. Pozri napríklad môj článok alebo známa séria článkov .

    Ak chcete začať používať git, musíte si vytvoriť úložisko – úložisko pre verzie súborov. Toto robí tím

    Teraz môžete pridávať súbory do úložiska. Nepotrebujeme však sledovať verzie niektorých súborov, konkrétne objektových súborov a spustiteľných súborov. Ak ich chcete okamžite vylúčiť z posudzovania git, napíšme súbor .gitignore s nasledujúcim obsahom:

    *.o štvorec ahoj

    Teraz tím

    pridá do úložiska všetky súbory v aktuálnom adresári okrem tých, ktoré sú uvedené v súbore .gitignore. Potom sa môžete zaviazať príkazom

    Tento príkaz otvorí predvolený textový editor. Tu budete musieť napísať komentár k odovzdaniu. V tomto prípade stačí riadok ako "Initial commit".

    Ladenie

    Na ladenie v systéme Linux sa používa debugger gdb. Ale najprv, aby sa program dal ľahko ladiť, musí byť skompilovaný s voľbou -g. Teraz nám stačí zmeniť Makefile a uviesť ho do formulára

    štvorec: štvorec.c $(CC) -o [e-mail chránený]-lm -g $<

    a prestavať program.

    Pri bežnej kompilácii sa do spustiteľného súboru nedostanú názvy funkcií, premenných a pod. Voľba -g hovorí kompilátoru, aby zapísal tieto informácie do príslušnej časti spustiteľného súboru. Okrem toho táto možnosť zapíše do spustiteľného súboru informácie o zhode medzi posunmi a číslami riadkov v zdrojovom súbore.

    Ladenie sa spustí príkazom ako

    gdb ./nejaký-program -a -b

    Keď spustíte debugger, zobrazí sa príkazový riadok takto:

    GNU gdb (GDB) 7.2-ubuntu Copyright (C) 2010 Free Software Foundation, Inc. Licencia GPLv3+: GNU GPL verzia 3 alebo novšia NEPOSKYTUJE ŽIADNA ZÁRUKA v rozsahu povolenom zákonom. Podrobnosti získate zadaním „zobraziť kopírovanie“ a „zobraziť záruku“. Táto GDB bola nakonfigurovaná ako „i686-linux-gnu“. Pokyny na hlásenie chýb nájdete na: ... Čítanie symbolov z /home/portnov/LUG/src/square...hotovo. (gdb)

    Práca s debuggerom je vo všeobecnosti ako práca s príkazovým shellom. Zadáte príkazy, debugger ich vykoná. Rovnako ako v príkazovom prostredí funguje automatické dopĺňanie príkazov pomocou klávesu Tab. Navyše, kvôli stručnosti môžete príkazy skrátiť na niekoľko prvých písmen – len aby ste sa vyhli nejednoznačnosti.

    Medzi najčastejšie používané príkazy patria:

    Vytlačte ďalšiu časť zdrojového kódu (vytlačí sa 10 riadkov). Za názvom príkazu môžete zadať špecifické čísla riadkov, napríklad l 10,15 .

    Spustite program na spustenie pod ladiacim programom. Program sa spustí do najbližšieho bodu prerušenia alebo do konca.

    Nastavte bod prerušenia. Číslo riadku, na ktorom chcete nastaviť bod prerušenia, je uvedené za názvom príkazu.

    Vykonajte jeden riadok programu.

    Vypočítajte a vytlačte výraz. Výraz je uvedený za príkazom. Takto je možné sa napríklad raz pozrieť na hodnotu premennej.

    Pridajte výraz do trvalo zobrazeného zoznamu. Hodnoty týchto výrazov sa zobrazia po vykonaní každého príkazu. Vedľa každého výrazu je vytlačené jeho číslo v zozname. Výraz môžete zo zoznamu odstrániť príkazom undisplay s číslom výrazu.

    Ukončite ladiaci program.

    Viac informácií o GDB nájdete v man gdb.

    okenný systém X11

    Historicky UNIX nemal a ani nemohol mať žiadne grafické prostredie, pretože neexistovali žiadne grafické zobrazenia. Grafické prostredie pre UNIX sa objavilo približne v čase, keď sa objavili bežné grafické displeje: v roku 1984. Najprv sa nazývalo W (pre Window), potom bolo vylepšené a nazývalo sa ďalšie písmeno abecedy - X, ďalšia verzia sa nazývala X2 . .. Teraz máme X11.

    X11 je primárne sieťový protokol cez TCP/IP a UDP/IP. Protokol má klienta a server. Klient odošle sekvenciu požiadaviek ako „nakresli mi okno“, „nakresli naň tlačidlo“ a server ich vykoná. Jednou z hlavných zásad X11 je „definovať mechanizmy, nie politiky“. Protokol poskytuje možnosť, povedzme, kresliť okná, ale neurčuje, ako presne sa budú zobrazovať.

    Najbežnejším X serverom je teraz Xorg (http://x.org); XFree86 je stále nažive; pod Windowsom je Xming relevantný; Hardvérové ​​X-servery sa vyrábajú - zostavy „monitor + klávesnica + myš“, v ktorých je hardvérovo implementovaná podpora funkčnosti servera X11 - takéto zostavy sa používajú ako grafické terminály.

    Protokol X11, povedzme, na rozdiel od HTTP je binárny, nie textový – robí sa to z dôvodov úspory šírky pásma sieťového pripojenia a jednoduchosti analýzy požiadaviek serverom. To však komplikuje vytváranie klientov tohto protokolu: zostavovanie zložitých binárnych požiadaviek X11 je samozrejme ťažšie ako napríklad textové požiadavky HTTP. Preto sa na písanie X klientov používajú špeciálne knižnice funkcií, ktoré tvoria a odosielajú X požiadavky na server. Najbežnejšou knižnicou je libX11. Modernejšou možnosťou je libxcb.

    Požiadavky X11 sú na veľmi nízkej úrovni. Napríklad, ak chcete implementovať funkčnosť tlačidla, musíte v okne nakresliť obdĺžnik, napísať doň text, počkať v cykle kliknutia na tlačidlo myši a pri každom kliknutí skontrolovať, či ste klikli do obdĺžnika alebo mimo neho. . Preto sa začali objavovať takzvané toolkity – knižnice, ktoré sú obalmi na vysokej úrovni nad libX11.

    Historicky prvou súpravou nástrojov bola Athena3D. Potom tu boli Motif a Tk. V súčasnosti sú najbežnejšie GTK+ a Qt (prísne povedané, Qt nie je súprava nástrojov X11, ale viacúčelová multiplatformová sada knižníc, ktorú možno použiť ako súpravu nástrojov X11).

    Ahoj, svet na GTK+

    Ako príklad si predstavte nasledujúci program. Zobrazuje okno s jedným tlačidlom. Po stlačení tohto tlačidla sa zobrazí správa „Ahoj, svet“.

    #include

    // Táto funkcia zobrazí dialógové okno so správou.
    // parameter main_window by mal byť nastavený na rodičovské okno dialógového okna.
    void message_box (GtkWindow* main_window, gchar *message) (
    GtkWidget *dialógové okno, *štítok, *oblasť_obsahu;

    // Vytvorenie dialógového okna
    dialóg = gtk_dialog_new_with_buttons("Správa",
    hlavné_okno,
    GTK_DIALOG_DESTROY_WITH_PARENT,
    GTK_STOCK_OK,
    GTK_RESPONSE_NONE,
    NULOVÝ);
    // Vytvorte štítok
    obsahová_oblasť = gtk_dialog_get_content_area(GTK_DIALOG(dialógové okno));
    štítok = gtk_label_new(správa);

    // Na signál „reakcia“ (volá sa, keď používateľ klikne na tlačidlo
    // dialógové okno), zničte dialógové okno.
    g_signal_connect_swapped(dialógové okno,
    odozva,
    G_CALLBACK (gtk_widget_destroy),
    dialóg);

    // Pridať štítok
    gtk_container_add(GTK_CONTAINER(oblasť_obsahu), označenie);
    // Zobraziť dialógové okno
    gtk_widget_show_all(dialógové okno);
    }

    // Spätné volanie pre signál vymazania udalosti
    static gboolean delete_event(GtkWidget *widget,
    GdkEvent *udalosť,
    gpointerdata)
    {
    // Ak vráti hodnotu TRUE, okno sa nezatvorí.
    // Toto môže byť použité na zabránenie zatvorenia okna v niektorých situáciách.
    návrat FALSE;
    }

    // Spätné volanie pre signál zničenia
    statické zničenie void (GtkWidget *widget,
    gpointerdata)
    {
    // Ukončenie hlavnej slučky udalostí GTK+
    gtk_main_quit();
    }

    // Spätné volanie pre kliknutie na tlačidlo
    static void ahoj (GtkWidget *widget,
    gpointerdata)
    {
    // parameter "data" tu predstavuje hlavné okno
    message_box(GTK_WINDOW(údaje), "Ahoj svet!");
    }

    int main(int argc,
    char*argv)
    {
    GtkWidget *okno;
    GtkWidget *tlačidlo;

    // Spustite GTK+
    gtk_init(&argc, &argv);

    // Vytvorenie hlavného okna
    okno = gtk_window_new(GTK_WINDOW_TOPLEVEL);

    // Nastavenie spätných volaní pre niektoré signály
    g_signal_connect(okno, "odstrániť-udalosť",
    G_CALLBACK(vymazanie_udalosti), NULL);

    G_signal_connect(okno, "zničiť",
    G_CALLBACK(zničiť), NULL);

    // Nastavenie šírky okrajov okna
    gtk_container_set_border_width(GTK_CONTAINER(okno), 10);

    // Vytvorenie označeného tlačidla
    button = gtk_button_new_with_label("Ahoj svet");

    // Nastavenie spätného volania pre "kliknutý" signál tlačidla.
    // Odovzdať hlavné okno ako druhý parameter.
    g_signal_connect(tlačidlo, "kliknuté", G_CALLBACK (ahoj), (gpointer)okno);

    // Zabaliť tlačidlo do okna
    gtk_container_add(GTK_CONTAINER(okno), tlačidlo);

    // Zobraziť tlačidlo
    gtk_widget_show(tlačidlo);

    // Zobrazte okno
    gtk_widget_show(okno);

    // Spustenie hlavnej slučky udalostí GTK+.
    gtk_main();

    Tento program je zostavený s príkazom ako

    gcc -o gtk-hello $(pkg-config --cflags gtk+-2.0) $(pkg-config --libs gtk+-2.0) gtk-hello.c

    doplnková literatúra

    Raymond, Eric S. The Art of UNIX Programming. — Trans. z angličtiny. - M .: Williams Publishing House, 2005. - 544 s., ill.

    Kernighan B., Pike R. UNIX. Softvérové ​​prostredie. — Per z angličtiny. - Petrohrad: Symbol-Plus, 2003. - 416 s., ill.

    Kernighan B., Ritchie D. Programovací jazyk C. - Per. z angličtiny. - Moskva: Williams, 2006. - 304 s.

    Zostavili sme pre vás 10 najlepších video kurzov, ktoré vám pomôžu začať s Linuxom a pochopiť funkcie tohto systému.

    1. Linux pre začiatočníkov

    Začnime školiacim video kurzom o Linuxe, ktorý hovorí o systéme ako celku a o tom, ako s ním začať. Tento video kurz je vhodnejší pre tých, ktorí sa s Linuxom len začínajú zoznamovať.

    2. Séria lekcií „Naučte sa Linux“

    Tento video kurz je navrhnutý tak, aby vám pomohol začať s Linuxom. Pomôže vám nainštalovať tento systém na váš počítač. Publikum tohto video kurzu sú ľudia, ktorí o Linuxe niečo málo počuli.

    3. Kurz prednášok o administrácii Linuxu

    Podrobný video kurz o administrácii Linuxu. Zaoberá sa témami od účelu systému až po správu MySQL. Vhodné pre začiatočníkov aj skúsených používateľov Linuxu.

    4. Programovanie v Bash

    Vynikajúci návod v anglickom jazyku na učenie sa programovania Bash. Pomôže vám pochopiť veľmi dôležitý aspekt práce s Linuxom, no najlepšie je začať sa učiť tento kurz po zhliadnutí niektorého z predchádzajúcich.

    5. Administrácia Linuxu

    Tento kurz vám poskytne základné znalosti Linuxu a pomôže vám získať certifikáciu LPIC-1. Ak chcete svoje vedomosti podložiť certifikátom LPIC-1, potom je tento kurz určite pre vás.

    6. Základy Linuxu

    Malý video kurz o základoch práce s Linuxom. Ak chcete začať s týmto konkrétnym video kurzom, potom vám odporúčam, aby ste sa oboznámili s inštaláciou Linuxu, keďže tento video kurz sa zaoberá aspektmi práce priamo v samotnom systéme.

    7. Základy príkazového riadku

    Malý, ale veľmi užitočný návod v angličtine na prácu s príkazovým riadkom Linuxu. V tomto video kurze sa naučíte také jednoduché operácie, ako je vytváranie a odstraňovanie súborov alebo adresárov. Vhodné pre každého, kto si chce rozšíriť znalosti práce v Linuxe.

    8. Video kurz o GNU/Linux od Vladimíra Mozhenkova

    Video kurz základov práce s GNU / Linux, jednoduchý a zrozumiteľný. Tento video kurz je určený pre začiatočníkov aj skúsených používateľov Linuxu.

    9. Séria lekcií "Vaša cesta do sveta Linuxu!"

    Tento video tutoriál vám ukáže, ako pracovať s vecami, ako je systémový plánovač Cron a premenná cesta. Odporúčam vám, aby ste s týmto kurzom nezačínali, kým sa neoboznámite s niektorým z predchádzajúcich.

    10. Administrácia Linuxu

    Posledným na našom zozname je video kurz, ktorý podrobne vysvetľuje všetky aspekty práce s Linuxom. Tento video kurz rozšíri vedomosti skúsených používateľov, kurz je určený pre tých, ktorí už Linux ako-tak poznajú, no chcú sa o ňom dozvedieť viac.

    Linux má vynikajúce prostredie na vývoj aplikácií.

    Trochu o programovacom prostredí Gambas. Programovací jazyk a prostredie vytvoril mladý Francúz Benoit Minisini z predmestia Paríža pre vlastné potešenie, ktoré získava jednak z tvorby kompilátorov a hry na flaute, jednak z výučby herectva a z práce profesionálneho programátora.

    Ako každý program navrhnutý na prácu ako súčasť operačného systému, aj Gambas podporuje známe používateľské rozhranie – to grafické používateľské prostredie a dnešné operačné systémy sa bez neho nezaobídu, čo je používateľovi známe, čo mu pomáha rýchlo nájsť požadovanú sekciu v menu, rýchlo začnite pracovať na svojom vlastnom probléme.


    Položka menu súbor, čo je zvyčajne na prácu so súbormi, v tomto prípade je to na prácu so súbormi projektu: Nový projekt...(vytvoriť nový projekt), otvorený projekt...(otvorený projekt) Otvoriť posledné(otvorený nedávny projekt), otvorený príklad(otvorený príklad) uložiť projekt(uložiť projekt) Ukončite(a odísť).

    Na prácu na projekte existuje sekcia projektu:

    Ide o zostavenie súboru, zostavenie projektu, vytvorenie spustiteľného súboru, vytvorenie zdrojového archívu, vytvorenie inštalačného balíka, vlastnosti projektu, čistenie a aktualizácia projektu.

    Dve položky ponuky môžu byť pre používateľov Windows neznáme – vytvorenie zdrojového archívu a inštalačný balík. Netreba však zabúdať na to, že programy aj samotný operačný systém Linux vždy existujú vo forme otvorených zdrojových kódov. V systéme Linux môžete program nainštalovať dvoma spôsobmi, a to buď pomocou zdrojového kódu a nástrojov operačného systému na kompiláciu a inštaláciu programu, alebo pomocou hotového inštalačného balíka, ktorý je podobný Inštalácii v systéme Windows. Pravda, v rôznych linuxových distribúciách môže byť takýto inštalačný balík odlišný a nie vždy je možné ho nainštalovať dvojitým kliknutím na inštalačný balík.

    Ďalšia položka ponuky odkazuje na debugger novovytvoreného programu Gambas a má viac-menej štandardnú sadu nástrojov na ladenie, ako je spustenie, pozastavenie, zastavenie spusteného programu, krokovanie programu a pohyb vpred a vymazanie všetkých bodov prerušenia.

    Nasledujú časti formulára - vyhliadka(otvorí a zatvorí všetky dialógové okná pracovného priestoru), nástroje ( Nástroje) a rady ( ? ). Posledná časť obsahuje pomerne podrobné Pomocník prehliadača, založený na Wiki v najnovšej verzii programu.

    Hlavný panel nástrojov, ako je zvykom, opakuje najčastejšie používané časti hlavného menu a obsahuje popisky pre priradenia klávesov.

    Grafickú prácu na formulári projektu a kóde programu je možné vykonávať rýchlym prepínaním pomocou skratiek na obrázku nižšie fmain.form a Fmain.class, kliknutím na ktorý sa dostanete do grafického editora alebo editora kódu. Každý z nich má svoju vlastnú hlavnú ponuku nástrojov. Na obrázku nižšie je zobrazená ponuka nástrojov grafického editora.

    Okrem bežných nástrojov, ktoré opakujú nástroje hlavného menu, ako je uloženie a aktualizácia, vrátenie späť a návrat, mazanie a prilepenie z vyrovnávacej pamäte, má panel aj niektoré špecifické komponenty, ako napríklad vstup do editora menu. Koniec koncov, takmer všetky formuláre, ktoré sa stanú oknami programu, keď je program spustený, musia mať hlavné menu. Práve editor menu umožňuje vytvárať hierarchiu hlavného menu s jeho sekciami a podmenu.

    Pri vytváraní komplexného projektu s mnohými formulármi a vlastnými triedami môžete použiť okno stromu projektu.

    Spustite Gambas, ktorý sa nachádza v sekcii hlavného menu Aplikácie:

    V sekciách sa okrem tradičných a nevyhnutných akcií, akými sú: vytvorenie nového projektu, otvorenie existujúceho, použitie nedávno použitého projektu, nachádza aj sekcia príkladov ( Príklady). Príkladov je tam veľa, môžete ich využiť pri práci na vlastných projektoch.

    Ak chcete vytvoriť nový projekt, vyberte nový projekt.

    Otvorí sa dialóg, v ktorom môžete zadať názov projektu, jeho názov, určiť miesto, kde sa bude projekt nachádzať. Gambas ukladá všetko, čo súvisí s projektom, do daného adresára, ktorý bude pomenovaný podľa projektu. Ak chcete prechádzať dialógom, stačí stlačiť kláves . Ďalšie, ale hneď na začiatku by ste si mali vybrať, aký projekt chcete vytvoriť. Na výber sú tri možnosti - grafický projekt, terminálový projekt, použitie kópie existujúceho (vášho alebo iného) projektu

    Vyberáme napríklad grafický projekt.

    Po výbere grafického projektu, jeho pomenovaní a bydlisku sa ocitneme v programovacom prostredí, ktoré nám umožní urobiť prvý krok – vytvorenie formulára. Ak to chcete urobiť, v pravom okne projektového manažéra, kde je zobrazený „strom“ projektu, kliknite pravým tlačidlom myši na sekciu Formuláre a v rozbaľovacej ponuke vyberte sekciu Nový, čo vedie k výberovému menu, ktoré obsahuje položku Formulár(vytvorte nový formulár).Formulár je hlavné okno programu, ktoré sa zobrazí, keď sa formulár naplní nejakým obsahom a projekt je zostavený. V dialógovom okne vytvárania formulára môžete nastaviť názov formulára, čo je dôležité pre stredné a veľké projekty obsahujúce veľa okien, môžete nastaviť množstvo možností.

    Kliknutím na kľúč OK, zobrazí sa editor formulára a programu. Na formulári bude zrejme možné umiestniť rôzne tlačidlá, okná a ďalšie programové nástroje. A do editora sa zmestí všetko, čo bude programový kód.

    Formulár, rovnako ako mnohé ovládacie prvky, má vlastnosť Text, toto je text, ktorý sa zobrazí namiesto titulku Formulár1.Formulár pri vykonávaní programu. Ak tykliknite pravým tlačidlom myši na formulár, položka sa zobrazí v rozbaľovacej ponuke kód, ktorý volá editor kódu.


    Samostatnú oblasť zaberajú projektové nástroje - Toolbox. Postavený podobne ako pracovný priestor, má tiež rôzne karty, ktoré otvárajú stránky s nástrojmi na vytváranie projektov.

    Okno zoznamu dostupných komponentov Gambas

    Program je intuitívny a veľmi pohodlný, okrem toho vám vďaka popisom pomôže napísať programový kód.

    Zanechajte svoj komentár!