Ubuntu'da programlama. Linux programlama. Komut satırı temelleri

  • 11.04.2019
  • Jonathan Bartlett, "Bir Hücre BE İşlemcisinde Yüksek Performanslı Uygulamaları Programlama: Bölüm 4: Performans için SPU'ları Programlama" Bu bölüm, SIMD vektör programlama, dal eleme, döngü açma, zamanlama talimatı zamanlama ve dal ipucu gibi konuları kapsar.

  • InfoWorld'ün En İyi 8 Ücretsiz Açık Kaynak Geliştirme Aracı

  • "A'dan Z'ye Test Etme. Bölüm 1 - Temel ilkeler ve yaklaşımlar"

  • Kroll'a göre, "OpenUP Kolaydır" Bu makale, Rational Unified Process kullanarak çevik geliştirme uygulamalarına dayanan yeni geliştirilmiş bir yazılım geliştirme çerçevesi olan OpenUP'ı tanıtmaktadır.

  • "Programlama Dillerinin Popülerliği Çalışmasının Sonuçları"

  • Griver Alexander ve GIS-Lab, "CBS yazılımının kaynak koduyla çalışmak için Doxygen'i kullanma" Başka birinin kodunun büyük hacimleriyle çalışma yöntemlerinden biri, oryantasyon ve programlarında bileşen parçalarını kullanma.

  • Denis Shevelev, "Kendi ellerimizle" İblis "Yazmak" Amacımız, Linux üzerinde çeşitli yerlerden Windows altında herhangi bir şeyi kontrol etmek için bir ağ arka plan programı yazmaktır.

  • Martin Husemann, Sergey Kalichev tarafından çevrildi, "Lemminglerle Savaşmak" Açıklama tipik problemler taşınabilir kod yazarken, bazı sorunlar açıktır, ancak bunlarla ilişkili hatalar gerçek kodda düzenli olarak görünmeye devam eder.

  • Cameron Laird, "Bellek Kullanımında Hata Ayıklama Yöntemleri" Bellek hataları, uygulamaların performansını önemli ölçüde düşürür ve çok az geliştirme ekibinin bu hataları düzeltmek için net bir planı vardır. Ama ayrıca var iyi haberler: bellek hatalarını anlamak oldukça kolaydır.

  • Avi Rozen, çeviri A. Tarasov, "GDB ve GDBserver Kullanarak Uzaktan Hata Ayıklama" Platformu geliştiricinin platformundan farklı olabilen uzak bir sistemdeki uygulamalarda hata ayıklama yöntemi olarak kabul edilir.

  • E. Ivanov, "Dragon Book" İncelemesi - "Derleyiciler: İlkeler, Teknikler ve Araçlar. 2. Baskı. Alfred V. Aho, Monica S. Lam , Ravi Sethi, Jeffrey D. Ullman, 2007)

  • NNIvanov, "Sıfırdan Linux Programlama" Linux programlama üzerine serbestçe yeniden dağıtılabilir ders kitabı.

  • N. Ivanov, "Sıfırdan Linux'ta Programlama" kitabının bir sonraki bölümünü yayınladı: 6.4. İşlem görüntüsünün değiştirilmesi "

  • Andrey Borovsky, "Unix / Linux için Programlama"

  • A. Borovskiy, "Programming for Unix / Linux" Linux Format dergisinde yayınlanan Unix / Linux programlama üzerine bir dizi makale

  • Andrey Borovskiy, "Şeytanlar" Linux Format dergisinde yayınlanan Linux Programlama serisinden bir makale.

  • Valerie Henson, çeviri: V. Cherkasov, "Linux Kernel Modüllerini Yazmaya Giriş."

  • Nickolay Tarasenko, "Linux Çekirdeğinde Soket Sistemi Çağrılarının Uygulanması. Bir Soket Oluşturma."

  • K.Kasperski, "Linice ile Sert Hata Ayıklama: Konsol Çekirdek Hata Ayıklayıcısında Çalışmayı Öğrenme" Linice, efsanevi SoftICE for Linux'un resmi olmayan bir bağlantı noktasıdır ve arabirimi, komut sistemini ve ikincisinin yeteneklerinin çoğunu korur.


  • D.V.Silakov, "LSB altyapısının mevcut durumu ve gelişme beklentileri" teknik taraf Linux Standard Base ve ilgili altyapının geliştirilmesi.

  • Federico Kereki, çeviri - A. Dmitriev,

  • Rodrigo Seron, "GNU Doğrusal Programlama Araç Takımı: Bölüm 1: Doğrusal Optimizasyona Giriş" Bu makalede, bir istemci olan GLPK (GNU Doğrusal Programlama Araç Takımı) anlatılmaktadır. yardımcı program glpsol ve operasyon optimizasyon problemlerini çözmek için tasarlanmış GNU MathProg dili.

  • Rodrigo Seron, "GNU Doğrusal Programlama Araç Takımı: Bölüm 2: Doğrusal Programlamada Orta Düzey Zorluk Sorunları"

  • Rodrigo Seron, "GNU Doğrusal Programlama Araç Takımı: Bölüm 3. Karmaşık Sorunlar ve Zarif Çözümler"

  • V. Tsarkov, "Temelden Programlama" kitabını indirebileceğiniz bir bağlantı gönderdi. Vladimir'in yazdığı gibi: "İşte GNU / Linux ortamı ve genel olarak bilgisayar bilimi için montajcı üzerine harika bir kitabın bağlantısı." Ama kitap İngilizce ve PDF formatında.


  • Kenneth Ballard, "OpenSSL API ile Güvenli Programlama, Bölüm 3: Güvenilir Hizmet Sağlama" OpenSSL ile, güvenli sunucu tarafı uygulamaları oluşturabilirsiniz ve belgeler göz korkutucu görünse de, o kadar da zor değil.

  • "Performans için önde gelen altı çerçeveyi test etmenin sonuçları"

  • Alexander Miroch, "Paylaşılan Kitaplıkları Linux'ta Yürütme"

  • Devin Watson, "Linux Daemon NASIL" (Çeviri). Linux'ta bir arka plan programı nasıl yazılır.

  • D. Panteleichev, "Linux için yazılım geliştirme. Araç Takımı".

  • Dmitry Panteleichev, "OpenGL. Linux'ta Grafik Programlama" Hacimsel Eğitim Kursu OpenGL kullanarak 2D ve 3D grafiklerin programlanması üzerine. Qt, OpenGL'nin taşınabilir doğasıyla birleştiğinde, gerçekten çapraz platform uygulamaları yazmanıza izin veren bir pencereleme araç takımı olarak kullanılır.

  • Noel Rappin, "wxWidgets Kullanarak Platformlar Arası GUI Uygulamaları Oluşturma" wxWidgets araç takımı, güçlü platformlar arası grafik geliştirme araçları içerir. Kullanıcı arayüzü(GUI). Yalnızca yerel C++ değil, diğer programlama dilleri de bu araç setini kullanmanın yollarını sunar. Tercih ettiğiniz programlama dilinde zarif ve son derece kullanışlı GUI uygulamaları oluşturmak için wxWidget'ları nasıl kullanacağınızı öğrenin.



  • K. Pfister, Rusça çeviri: Ermakov I.E., "Bileşen yazılımı",

  • Nikolay N. Ivanov, "Sıfırdan Linux programlama" Başlıkta belirtilen konuyla ilgili bir kitap oluşturma projesi. Kitabın yazarı tüm yorum ve önerilerinizi dikkate almaya hazırdır. Yazı yazmak!




  • AI Sevryugin, "PCRE.RU" Perl, PHP, Javascript ile uyumlu PCRE standardının düzenli ifadelerinin evrensel ansiklopedisi.

  • "Lindevel.ru/" - Linux programlamaya adanmış bir site. Buradaki en ilginç şey, "Makaleler" bölümündeki "Sıfırdan Linux'ta Programlama" posta listesinin arşividir.

  • Matt Frye, Ivan Pesin tarafından çevrildi, "Strace ile kod hata ayıklama" Kod hata ayıklama aracı olarak strace yardımcı programını kullanma hakkında bir makalenin çevirisi.

  • Mark Wilkinson, tercümesi Ivan Pesin "Yapım ve Test Süreçlerini Otomatikleştirme" Bu makale, birden fazla geliştirici içeren projelerde yapı ve birim test süreçlerini otomatikleştirmek için kullanabileceğiniz açık kaynaklı bir yazılım olan CruiseControl'ü tanıtmaktadır.

  • Dimitri Bushenko,

  • Vadim Stankeviç,.


  • Chris Herbort, "Eclipse ile UNIX için Yazılım Geliştirme" Eski Kodu Modern Bir IDE'ye Taşıma.

  • Chris Anischuk, David Gallardo, "Eclipse Platformuna Başlarken"

  • "JasperReports hakkında bir dizi makale" - Eclipse ile entegre olan bir rapor oluşturucu.

  • Nathan A. Good, "Kendi Eclipse Sihirbazlarınızı Oluşturmak" Bir altyapı platformu ve IDE olarak Eclipse'in en güçlü yönlerinden biri, genişletilebilirliğidir. Bu makale, yeni bir dosya ekleme işlemini otomatikleştiren bir sihirbazın nasıl hızlı bir şekilde oluşturulacağını gösterecektir.

  • Prashant Deva, "Eclipse, Ant düzenleyiciyle çalışmayı kolaylaştırır" Eclipse entegre işleme ortamındaki (IDE) Ant entegrasyon özelliklerini keşfedin ve Ant düzenleyiciyi kullanarak Eclipse'de program yazmayı, kod hatalarını bağlamayı ve düzeltmeyi öğrenin.

  • Eclipse'in Zengin İstemci Platformu, Bölüm 2: Temel Çalışma Tezgahını Genişletme
    Bu eğitim, Eclipse Zengin İstemci Platformuna genel bir bakışla devam eder. Eksiksiz bir uygulama oluşturmak için görünümleri, eylemleri ve sihirbazları nasıl kullanacağınız aşağıda açıklanmıştır.

  • "POWER Bilgisayarlarda Linux için Eclipse'i Yükleme ve Kullanma" Eclipse, genişletilebilir bir açık kaynaklı IDE'dir.

  • "Yeni Eclipse Kullanıcıları için En İyi 10 Püf Noktası" 10'dan Makale Çevirisi basit ipuçları Eclipse geliştirme ortamının etkin kullanımı için.

  • "10 adımda Karınca" (Çev. Russ Olsen tarafından On Adımda Karınca). Ant, yazılım oluşturma sürecini otomatikleştirmek için tasarlanmış bir araçtır.

  • Matt Telles, Yuan Hsih, çev. İngilizceden S. Lunin, "Ünlü (ve Pek Ünlü Olmayan) Hatalar Üzerine Bir Araştırma". "Hata Ayıklama Bilimi" kitabından bölüm


  • Dmitry Bushenko, "Linux'ta Programlama. Dördüncü Bölüm. Linux'ta NET"

  • Dmitry Bushenko, "Linux'ta .NET Programlama. Bölüm 4. Gtk # Örneklerdeki Öğeler"

  • Dmitry Bushenko, "Linux'ta .NET Programlama" Bölüm 3. GTK'da Pencere Uygulaması #.

  • Dmitry Bushenko, "Linux'ta .NET Programlama." "Bölüm 2. İlk Mono C# Uygulaması"



  • Nikolay N. Ivanov, "LINUX PROGRAMLAMASI".


  • Maciej Katafiazh, Sergey Bezdenezhnykh tarafından çevrildi, "GTK + Temelleri, Bölüm 2: GTK + Nasıl Kullanılır"

  • "Kütüphaneleri Kullanma" Kitaplıklar statik ve dinamiktir.

  • David Madeli, Sergey Bezdenezhnykh tarafından çevrildi, "Kahire ve GTK + 2.8 kullanarak widget oluşturma, bölüm 2"


  • Tony Gale, Ian Main ve GTK ekibi, "GTK + 2.0 Eğitimini Çevirme"

  • "Hafıza Yöneticisinin İçinde. Dinamik Bellek Tahsis Yöntemlerinin Seçimi, Yaklaşımları ve Uygulanması", Linux programcılarının kullanabileceği bellek yönetimi tekniklerini tartışıyor.

  • Alexey Fedorchuk,

  • Andrey Dranitsa, "Temel Linux peynirli buğday çimi" Linux için geliştirme araçlarının gözden geçirilmesi.

  • NS. Vendrov, "Modern yazılım geliştirme teknolojileri. İnceleme"

  • Edsger W. Dijkstra, Translated - Alf, 14 Ağustos 2004, "Programlama Üzerine İki Görüş"

  • Başlamak için, Alex Ott tarafından çevrilmiş, v1.3.2, 22 Şubat 1999'dan bir bölüm okuyun.

  • "GOST 28147-89 kripto koruma algoritmasını uygulayan bir Linux çekirdek modülünün geliştirilmesi"

  • "Farklı bir glibc sürümüyle oluşturulmuş bir programı çalıştırmak" Hızlı bir ipucu.

  • Jasmin Blanchette, Mark Summerfield, Tercüme: Andrey Kiselev, "Qt3 Kitaplığı ile bir GUI Geliştirme"

  • Steve Litt, Alexander Kubyshkin tarafından çevrildi, "Karşılaştırmalı Din" Birincil Programlama Dilinizi Nasıl Seçersiniz. C, C++, Java, Perl, Python, Ruby'nin avantajları ve dezavantajları tartışılmıştır.

  • Jeff Tranter, Andrey Kiselev tarafından çevrildi, "Sendfile sistem çağrısı" Sendfile sistem çağrısı, Linux çekirdeğine nispeten yeni bir eklemeydi ve ftp veya benzeri uygulamalar için önemli bir kazanım haline geldi. web sunucuları sadece verimli bir dosya aktarım mekanizmasına ihtiyaç duyanlar.

  • "UNIX için Programlama" Ne yazarın ne de yayın yılının olmaması üzücü.

  • Evgeniy Khilko, "KDevelop'ta mingw32 çapraz derleyici ile win uygulamalarının birleştirilmesini yapılandırma"

  • "Yazma aracı" SuSE 9.3 dağıtımında KDevelop ortamının 3.2.0 versiyonundan bahsedeceğiz.


  • Sandeep S, çeviri: Andrey Kiselev, "Ptrace ile süreç izleme", bölüm 2. Makale, özellikle yürütülebilir dosya biçiminin yapısı hakkında bilgi verir - ELF.

  • Sandeep S., Tercüme: Andrey Kiselev, "Ptrace ile Süreçleri İzleme - Bölüm 3" Bu bölümün amacı, çalışma zamanında süreç kimliklerine erişmek için bir teknik göstermektir. Bu tekniğin kapsamı o kadar geniştir ki sadece hayal gücünüzle sınırlıdır.

  • V. Meshkov, "Linux İşletim Sisteminde Sistem Çağrılarını Engelleme"

  • S. Gülenok, "Eğlenceli penguen inşası. Temel Bilgiler" Linux'tan bahsederken sık sık "Linux, programcılar tarafından programcılar için yazılır" ifadesine rastladım. Öyle mi?

  • Knyazev Aleksey, "Linux Device Driver 2. baskının Rusça versiyonu" Bu bir çeviri değil, Alessandro Rubini & Jonatan Corbet'in ünlü kılavuzunun çevirisine "dayanan" bir şey.

  • "Linux Aygıt Sürücüsü 2. Sürüm" Knyazev Aleksey, Linux Aygıt Sürücüsü 2. Sürümün bir sonraki 8. bölümünün çevirisini tamamladı. Toplamda 0-8 ve 13. bölümler çevrilmiştir, 9. bölümün çeviri çalışmaları devam etmektedir.

  • Kuzin Andrey, Linux Programlama
    Adım 1 - C/C++ dilinde programların derlenmesi (30.01.2002 - 2 Kb)
    Adım 2 - Hata ayıklama bilgisi (30.01.2002 - 4.2 Kb)
    Adım 3 - Birkaç dosyanın derlenmesi (15.02.2002 - 3.7 Kb)
    Adım 4 - Nesne Dosya Kitaplıkları (20.02.2002 - 3.0 Kb)
    Adım 5 - Statik bir kitaplık oluşturma (20.02.2002 - 3.7 Kb)
    Adım 6 - Dinamik kitaplık oluşturma (20.02.2002 - 5.2 Kb)
    Adım 7 - Dinamik kitaplıkları kullanma (23.02.202 - 4.9 Kb)
    Adım 8 - Dinamik kitaplıklarla çalışma işlevleri (23.02.202 - 5.0 Kb)
    Adım 9 - Dinamik kitaplıkların başlatılması (27.02.202 - 3.5 Kb)
    Adım 10 - Seçenekleri programa geçirme - getopt (15.10.2002 - 6.6 Kb)
    Adım 11 - Programa uzun seçeneklerin geçirilmesi - getopt_long (12/19/2002 - 11.2 Kb)
    Adım 12 - Program hata mesajlarının görüntülenmesi (22.12.202 - 7.5 Kb)
    Adım 13 - Kullanıcı hakkında bilgi edinme (22.12.202 - 10.2 Kb)
    Adım 14 - Gölge şifreden veri alma (22.12.202 - 5.5 Kb)
    Adım 15 - Şifreleme () işlevini kullanarak sistem parolalarıyla çalışma (12.24.2002 - 10.0 Kb)

  • Kotelnikov Ruslan.

  • Ruslan Popov, "KDevelop'a Giriş"

  • I. Voronin, "CCache Kullanımı" Ccache, programı yeniden oluştururken mükemmel bir hız artışı sağlar. Örneğin bir Pentium MMX / 200 Mhz makinede sadece 10 dakikada bir Linux çekirdeği oluşturuyordum.

  • Oleg Belenkov Uygulamaları Windows'tan Linux'a Taşıma [OPEN SYSTEMS, 2000 / 07-08]

  • S. Bogomolov, libdb

  • S. Bogomolov, Paylaşılan kitaplıkları oluşturma ve kullanma

  • S. Bogomolov, TclTk (kurulum)

  • SCCS yazılım proje yönetim sistemi, TA Pivovarenok, Süper Bilgisayar Merkezi

  • Unix işletim sisteminde süreçler arası iletişim mekanizmaları, Sergey Kuznetsov, Konferans Programlama Endüstrisi 96 Çalışma Materyalleri,

  • İTOLOJİ, bilgi teknolojisi bilimidir, V. Sukhomlin, Moskova Devlet Üniversitesi Araştırma Bilgi İşlem Merkezi, Programlama Endüstrisi 96, Bilgi Teknolojileri Merkezi konferansının öğretim materyalleri

  • "Programlama Endüstrisi" 96 ", Konferans materyalleri, Bilgi Teknolojileri Merkezi

  • Andrey Bondarenko Görsel Geliştirme Araçları (IDE)

  • Sergey Zhuravlev Linux için IDE'ye Genel Bakış

  • A. Chebotarev, "QT: arayüz ve sadece ..."

  • NS. Vendrow, Argussoft Co. CASE teknolojileri. Dipnot. CASE teknolojisinin içeriği. Bilgi sistemlerinin tasarımı için modern yöntemler ve araçlar.

  • Wolfgang Mauerer, (çeviri: Alexander Mikhailov) DDD'de Görsel Hata Ayıklama. Hiçbir şey olması gerektiği gibi çalışmaz; tüm programlar hatalarla dolu; teknik özellikler yanlıştır ve toplama beklenenin tam tersini yapar. Hata bulmak, yalnızca yazılım geliştirme döngüsünün kaçınılmaz bir parçası değil, aynı zamanda herhangi bir programın "yaşam yolunun" önemli bir parçasıdır.

  • Guido Socher, çeviri: Pukhlyakov Kirill, "Neden çalışmıyor !? Linux uygulamalarındaki hataları tespit etme ve düzeltme yolları"

  • Donald E. Knuth, "Sıralama ve Arama" Programlama Sanatı Cilt 3

  • "Basit DirectMedia Katmanına Giriş" SDL, ücretsiz bir platformlar arası multimedya API'sidir. Oyunlar, oyun kitaplıkları, demolar, öykünücüler, MPEG oynatıcılar ve diğer programlar oluşturmak için kullanılır.

  • Linux programları için grafiksel araçlar
    Grafiksel araçlar, bir programlama dilinin bir grafik arabirimi programınıza entegre ettiği belirli bir işlev kümesi eklemenize izin veren rutin kitaplıklardır.

  • harvey Blume,

  • Denis Kolisnichenko, "Yazılım I/O Yönlendirmesi" [25.09.2002'de yayınlandı.]

  • "Senaryoların Gücünde" [AÇIK SİSTEMLER, 2002/09]

  • Konstantin Mikhailenko, "Paralel stil" 01 Mart 2002, Makale paralel hesaplamaya ayrılmıştır

  • Leonardo Giordani, "Paralel programlama - süreçler arasındaki iletişim."

  • Kirill Pukhlyakov tarafından çevrilen Leonardo Giordani, "Paralel programlama - mesaj kuyrukları" bölüm 3.

  • X-Stranger tarafından hazırlanan Dinil Divakaran'dan alınan materyallere dayanarak, "Linux için kendi derleyiciniz"

  • Vladimir Popov, "Ve ben bu şekilde yaptım..." Tecrübeli bir guru değil, amatör bir acemi sorusuna cevap verir, ancak herkes deneyimlerini paylaşabilir. Bu durumda derleme tartışılır.

  • S. Sandeep, çeviren Andrey Kiselev, "Ptrace ile Süreç İzleme - Bölüm 1." ptrace sistem çağrısı, gdb gibi hata ayıklayıcı programların temelidir, ancak bu sistem çağrısıyla çalışma ilkeleri iyi belgelenmemiştir.

  • "ccache - derleyici için önbellek" ccache programı, derleme sonuçlarını önbelleğe alarak uygulama yeniden oluşturma işlemlerini önemli ölçüde hızlandırmanıza olanak tanır.

  • V. Meshkov, "Linux'ta CD / DVD cihazlarını programlama" (pdf dosyası). Kitap, denetleyici kayıtlarını kullanarak sürücüyü kontrol etme prosedürünü açıklar, mantıksal yapı optik ortam bilgiler, Linux'ta yerleşik ATAPI çekirdeği ve SCSI sürücülerinin kullanım örnekleri, çeşitli bilgileri CD disklerine yazmak için algoritmalar ve bu algoritmaların yazılım uygulaması.

  • Davyd Madeley, tercümesi Sergey Bezdenezhnykh, "Kahire ve GTK + 2.8 Kullanarak Widget'lar Oluşturma" 2.8 sürümünden başlayarak, GTK + tüm arayüz öğelerini Kahire'nin güçlü vektör grafik kitaplığını kullanarak işler. Bu makale, onu oluşturmak için Kahire kitaplıklarını kullanarak kendi başınıza bir GTK + widget'ını nasıl oluşturabileceğinizi gösterecektir.

  • Ilya Evseev, "Yeni Başlayanlar için MPI" MPI (Mesaj geçiş arayüzü), paralel bir uygulamanın dalları arasında iletişim sağlamak için yazılım araçları için bir standarttır.

  • "KDevelop olmadan Qt" Bu öğretici, QT kitaplığını kullanarak program oluşturmanın özelliklerini anlamanıza yardımcı olacaktır. QT kitaplığını kullanmak için tek ihtiyacınız olan bir konsol, bir metin düzenleyici ve bir grafik ortamdır (KDE gibi).

  • CORBA teknolojisine adanmış http://corba.kubsu.ru/ sitesi ortaya çıktı. Ana sayfada belirtildiği gibi, bu projenin bir yan yönü Linux konusudur, çünkü CORBA teknolojilerini kullanan oldukça fazla sayıda geliştirici özellikle bu işletim sistemi için yazılım geliştirmektedir. (Link Alexey Kurgan tarafından gönderildi).

  • "SVGAlib"
  • Gcc

  • Mulyadi Santosa, "GCC Parametrelerinin İncelenmesi."

  • Lorne Bailey, GCC Her Şeyin Köküdür
    GCC harika bir derleyicidir, ancak kılavuz sayfası çok kullanıcı dostu değildir. Gönderi, derleyicinin kullanım kolaylığı hakkında konuşuyor.

  • Sergei Karasiov, "gcc gerçekten nasıl çalışıyor"



  • gcc part1 C, C ++, Objective C Derleyici (bölüm 1) Kullanıcı Kılavuzu (gcc 2.7)

  • gcc part2 gcc: C, C ++, Objective C için derleyici (bölüm 2) Yeni mimarilere taşıma (gcc 2.7)

  • Yazar: Jpiszcz, Çeviri: Yuri Prushinsky, "GCC Optimizasyonu"
  • montajcı

  • Dmitry Gribenko, "C Programcıları için Linux'ta Assembler" Bu kitap, C'yi yeterli düzeyde bilen programcılara yöneliktir. Linux odağını ifade eden tek şey, kullanılan montajcı sözdizimidir. DOS ve Windows'taki Assembly dili programcıları Intel sözdizimini kullanır, ancak AT&T sözdizimi * nix sistemlerinde yaygındır.

  • Ram Narayan, "Linux için Assemblers: Comparing GAS ve NASM" Bu makale, LinuxR için en popüler iki derleyici, GNU Assembler (GAS) ve Netwide Assembler (NASM) arasındaki en önemli sözdizimsel ve anlamsal farklılıkları açıklamaktadır. temel sözdizimindeki farklılıklar, değişkenler ve bellek erişimi, makroları, işlevleri ve harici rutinleri işleme, yığınla çalışma ve basitçe kod bloklarını tekrarlama teknikleri.

  • Rostyslav. "UNIX ortamında birleştirici veya kabuk kodunun nasıl çalıştığı"

  • Alexey Y. Ulasevich, "Unix'te assembler kullanımı hakkında sık sorulan sorular."

  • Derleme dili belgelerine bir dizi bağlantı.

  • K. Boldyshev, yazardan.

  • Konstantin Boldyshev ve F.-R. Rideau. Montaj NASIL. DOS, Windows ve Linux için Assembler. (İngilizce).

  • Aleksey Ulasevich, "Unix'te assembler kullanımı hakkında sık sorulan sorular"

  • Genel olarak Linux ve en düşük seviyedeki cihazı için programlama ile ilgileniyorsanız, "http://www.lowlevel.ru/" sitesine bir göz atın. Orada birçok faydalı şey bulacaksınız, örneğin "ELF Format Açıklaması", "EXT2 Dosya Sistemi", "Bölüm 1", "Bölüm 2".



  • Linux / i386 Assembly programlama sayfası Linux için Assembly dili programlama sayfası.

  • Jan "s Linux & Assembler DOS ve Linux için Ana Sayfa Assembler.

  • Alexander Kuprin, ... Bir oyuncak işletim sistemi yazmak ... Daha derine inelim ...

  • "Oyuncak İşletim Sistemi Yazma (Bölüm I)"

  • Krishnakumar R., Tercüme: Alexander Kuprin, "Oyuncak İşletim Sistemi Yazmak (Bölüm II)"

  • Bob, "Linux Çekirdeğinde Düşük Düzeyli PCI Veri Yolu Desteğinin Uygulanması"

  • Decompilation Hakkında En iyi yeniden birleştirici bile bir programın kodunu doğru bir şekilde yeniden oluşturamaz. Derleme tek yönlü bir işlevdir. Ortaya çıkan montaj ve ardından makine kodu birçok faktöre bağlı bir özelliği vardır ve entelektüel analiz her zaman yararlı değildir ...

  • Intuit, "Netfilter Montaj Programlamanın Temelleri." İşletim sisteminin ağ çerçeveleriyle çalışma yeteneklerini genişleten bir çekirdek alt sistemi olan Netfilter ile çalışma hakkında bir makale. Programlama dili birleştiricidir. GAZ sözdizimi. Makale, bu alt sistemin yeteneklerini göstermek için en basit modüllerin (LKM) oluşturulmasını açıklamaktadır.
  • Kabuk dili

  • Michael Stutz, "Normal İfadeler" Düzenli ifadeler (regexps) kavramı - bir dizi diziyle eşleşen kalıpları açıklamak için bir gösterim - birçok program ve programlama dilinde ortaktır. Çeşitli normal ifade uygulamaları ayrıntılı olarak farklılık gösterir, ancak normal ifadenin nasıl oluşturulacağını öğrenmek için gereken ilkeler tüm uygulamalarında aynıdır.

  • "Kabuk Kodlaması" Bu makale, kabuk programlamanın en basit örneklerini tartışır.Makale, kabuk programlama için kapsamlı bir kılavuz değildir, ancak temellerini öğrenmek için yararlı olabilir.

  • Mendel Cooper, Çeviren Andrey Kiselev, "Gelişmiş Bash Komut Dosyası Oluşturma Kılavuzu" veya "Kabuk Komut Dosyası Oluşturma Sanatı" Bu kılavuz, okuyucunun komut dosyası oluşturma bilgisine sahip olduğu anlamına gelmez, ancak bu boşluğu hızla doldurur. ... ... yavaş yavaş, adım adım UNIX'in bilgeliğini ve güzelliğini ortaya çıkarıyor.

  • Ian Shields, "Linux İpuçları: Bash Karşılaştırma ve Test İşlevleri" Test, [, [[, (( ve if-then-else) ile ilgili açıklamalar


  • Sunil Thomas Thonikuzhiyil, çeviri: Ivan Pesin, Alexander Kuprin, "Diyalog / Xdialog ile basit arayüzler geliştirme". Bu makale, komut dosyalarına basit arabirimler uygulamak için iletişim ve Xdialog programlarının kullanımını tartışır. Bu, kabuk komut dosyası oluşturmaya aşina olduğunuzu varsayar.

  • Kabuk yorumlayıcı
    Kabuk yorumlayıcı



  • Jos Nazario, Tercüme: Jan Bezus, "awk'a Giriş" Bu belge, kısa inceleme awk'nin yetenekleri ve özellikleri (veri dosyalarını değiştirme, metin getirme ve işleme).

  • V. Kataev, "Linux'ta Yaşam. Profesyonel tavsiye. Senaryodan aracıya."

  • Alexey Abramov, "Kabukta MySQL çoğaltmasını izlemek için komut dosyası"

  • Vadim Fedorov, "UNIX'te ekli bir mektup nasıl gönderilir?" Ekli bir dosya içeren bir e-posta göndermek için bash veya Shell'de yazılmış bir komut dosyası nasıl zorlanır?

  • C-shell komut yorumlayıcısı, M.P. Krutikov, Süper Bilgisayar Merkezi

  • Kabuk Programlama (Unix) A. Solovyev,
    Aynı kitap, ancak metin biçiminde.



  • SHuRuP & nbsp Kabuk kodlaması: * nix konsolunda programlanabilir

  • Andrey Golovin, Normal İfadeler.
    Normal ifadeler, modern programcıların ortaya çıkardığı en güçlü dize işleme aracıdır. Onların yardımıyla, karakter dizilerinin içeriği için dizeleri analiz edebilir, bu seçime göre değiştirmeler yapabilir, dizeleri dizilere ayırabilir ve çok daha fazlasını yapabilirsiniz.

  • S.Lapshansky, "Otomasyona Giriş [23.07.2002 tarihinde yayınlandı] Bölüm 2. Yararlı komut dosyaları ve bunları cron üzerinden çalıştırma hakkında.

  • Vadim Khokhlov, "Unix yolu:" Gariki ", ayrıca Linux" ve "Gariki" de.
  • C ve C++ dili

  • N. Gorshkov, "Libxml ++ Kullanarak C++ Programlama Kılavuzu" libxml ++, popüler XML ayrıştırıcı libxml için C ile yazılmış bir C++ API'sidir.

  • Alexander Sidorov, "MinGW + Qt + Emacs NASIL (Windows)" C ++ ile platformlar arası pencereleme uygulamaları yazmak için Windows altında MinGW, Qt4 ve Emacs kurulumu ve kullanımı hakkında. Makale, C++ derleyicisinin kurulumunu, platformlar arası pencereleme kitaplığını, geliştirme ortamının kurulumunu ve konfigürasyonunu tartışır.

  • Irtegov Dmitry Valentinovich, "POSIX İş Parçacıklarını kullanarak çok iş parçacıklı programlama" POSIX İş Parçacığı Kitaplığını kullanarak C / C ++ dilinde çok iş parçacıklı uygulamaların geliştirilmesine ilişkin ders materyalleri.

  • Nikolay N. Ivanov, "C dili işaretçilerinin sırları. Bölüm I."



  • "C/C++ API for SQLite 3" "C/C++ API for SQLite 3" referansının yarısından fazlası Rusça'ya çevrildi, SQL komutlarının açıklamalarının çevrilme süreci başladı.

  • make yardımcı programında hata ayıklama
    GNU make, System V make ve Berkeley make gibi make yardımcı programları, uygulama oluşturma sürecini basitleştirmek için gereken temel araçlardır. Bu yazıda makefile yapısını tanıyacaksınız.

  • "Sorun giderme / yapılandırma, oluşturma ve yükleme komutları oluşturma" Bazen bir programı derlemek için standart sıralama çalışmaz. Çeşitli hatalar göstermeye başlar ve programı derlemez. Bu makale, birçok yaygın hatadan nasıl kurtulacağınızı açıklar.

  • "Make.conf özellikleri" /etc/make.conf, derleyici için optimizasyon anahtarlarını belirten dosyadır.

  • Raghu J Menon tarafından, Andrey Kiselev tarafından çevrilmiş, "örneklerde setjmp / longjmp" Bu makale, C programlama dilinde uygulanan bir dizi setjmp / longjmp makrosu ile nasıl çalışılacağını açıklar.

  • "C/C++ Dilinin Tarihi" Tarihsel olarak bu dil, bugün yeniden doğuşunu yaşayan Unix işletim sisteminden ayrılamaz.

  • Konstantin Titurov, "Penguen için Zırh" C derleyicisinin modern uygulamalarının çoğu, değişken sınırların bütünlüğünü kontrol eden kod üretmez.

  • Mike Goblin, "Linux Sürücülerini Yazmak: İlk Adımlar" Linux sürücüleri yazmak bana her zaman son derece zor ve gizemli gelmiştir. Ancak iki ay önce kendim böyle bir sürücü yazmam gerekiyordu. Süreç hiç de zor olmadı ve bana çok keyif verdi.
  • Mike Goblin, "Linux Sürücülerini Yazma, 2. Kısım."

  • Kirill Kochetkov, "SPEC CPU2000. Bölüm 5 - Derleyiciler. Ek 2" Linux için üç C derleyicisinin hız açısından karşılaştırılması.

  • Rob Tougher, çeviri: Andrey Kiselev "Yeniden Kullanılabilir Kitaplıklar Oluşturma"

  • Rob Tougher, çeviri: Andrey Kiselev, "C++ Uygulama Sunucuları Oluşturma Platformu"

  • "Fox-toolkit. Rusça Dersler." FOX Toolkit, hızlı ve kullanışlı bir çapraz platform araç takımıdır (c ++, ruby, python).

  • Bhaskaran tarafından çevrilmiş, Andrey Kiselev tarafından çevrilmiş, "Bir Ağ Aygıtı Sürücüsü Oluşturma - Bölüm 1" Bu makale, okuyucunun Linux için bir ağ ethernet kartı sürücüsü oluşturma ilkelerini anlamasına yardımcı olmayı amaçlamaktadır. Ancak size yardımcı olacak ve sadece ağ kartını nasıl bağlayacağınızı anlayacaktır.

  • Ruslan Kotelnikov, "Linux programlamanın başlangıcı"

  • Hyock "Hawk" Kim, Çeviri (c): Andrey Kiselev, "Linux'ta ana () işlevi nasıl çalıştırılır"


  • Rob Tougher, Linux'ta C ++ Soket Programlama

  • Rob Tougher, C++'da Xlib Programlama

  • "* nix için paralel portların düşük seviyeli programlanması",

  • Yu.Yu Gromov, S.I. Tatarenko, Tambov Devlet Teknik Üniversitesi, C Programlama

  • Bjarne Stroustrap, C++ Diline Giriş

  • Bjarne Stroustrup C++ dilinin tasarımı ve gelişimi. C++ dilinin yaratıcısı Bjarne Stroustrup tarafından yazılan kitap, C++ programlama dilinin tasarım ve geliştirme sürecini anlatıyor.



  • C++ Referans Kılavuzu Bjarn Stroustrap, M. Moshkov Kütüphanesi

  • Unix'te C programlama için bir okuyucu Andrey Bogatyrev, M. Moshkov Kütüphanesi kopyala

  • A.L. Marchenko C++. Kadife yolu. Seçilmiş bölümler

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


  • Yapacak adam (Çev. Yu. Kozlov)

  • Dmitry Chernyak. GNU markasını kullanma



  • Vladimir Ignatov

  • Vladimir Ignatov "GNU Make'ı Etkili Kullanmak"

  • Yazar: (C) Tedi Heriyanto, Çeviri: (C) Andrey Kiselev, "Makefile Oluşturmak için Mini Kılavuz"

  • Richard M. Stallman ve Roland H. Pesch GNU kaynak düzeyinde hata ayıklayıcı. Sekizinci Baskı, GDB 20000326 sürümü için. Mart 2000. Çeviren Dmitry Sivachenko.

  • Ivan Shmakov, "GDB Hata Ayıklayıcısı"


  • "C++'da İstisna İşleme". C dili, programcıya, program çalışırken ortaya çıkan istisnaları işlemek için çok sınırlı seçenekler sunar. Bu açıdan, C ++, C'den çok daha gelişmiştir. Burada, programcının doğrudan istisna işleme için önemli ölçüde daha fazla fırsatı vardır. C ++ Standartlar Komitesi, çok basit ama güçlü bir istisna işleme biçimi sağlamıştır.

  • A. Kalinin, "Basit ama kullanışlı bir bellek ayırıcı" Bu not, postfix'in tekrar örnek alınması anlamında "Postfix içeriden" devamı niteliğindedir. Ancak son düzeltmeye "kuş bakışı" bakıldıysa, şimdi tam tersine, küçük bir parça alınacaktır. program kodu, herhangi bir uzmanlığı olmayan ve örnek olarak verilmiştir.


  • Guido Socher tarafından GCC kullanılarak AVR mikro denetleyicilerinin programlanması
    Bu gönderi, Atmel'in 8-bit AVR mikrodenetleyicileri için bir geliştirme ortamının nasıl kurulacağını açıklar.

  • Gaurav Taneja, Qt Kitaplığını Kullanarak C ++ GUI Programlama, Bölüm 1



  • Ariel Ortiz Ramirez, Çeviren Andrey Kiselev, "Programlama: C# - Veri Tipleri"

  • Tom Bradley, Tercüme: Andrey Kiselev, "Programa genişletme modülleri (eklentiler) ekleme."

  • Gleb Pakharenko, "Linux işletim sisteminde ağ uygulaması" Bu makalede, ağ uygulaması program kodu düzeyinde ele alınmaktadır.

  • "indent - C kaynaklarının otomatik biçimlendirilmesi için program"
  • Pascal ve Delphi

  • A. Tarasov tarafından tercüme edilen Joost van der Sluis, Free Pascal (FPC) 2.2.0 sürümü yakın zamanda yayınlandı. Bu Pascal derleyicisi, günümüzün en dikkate değer açık kaynak derleyicilerinden biridir. Her gün daha fazla programcı FPC hakkında bilgi edinmekte ve uygulamalarını Object Pascal'da geliştirmeye başlamaktadır. Bu, özellikle grafik (GUI) uygulamaları geliştirmek için kapsamlı bir araç seti içeren FPC için bir grafik geliştirme ortamı olan Lazarus'un geliştirilmesiyle tercih edilir.

  • Rudyuk SA, "Lazarus - Delphi çapraz platform. Özgür insanlar için programlama" Bu kitabın temel amacı Pascal'da profesyonel ticari ürünler yaratma olasılığını göstermektir. Bu yazılım ürünleri yalnızca ücretli işletim sistemlerinde (örneğin Windows) değil, ücretsiz işletim sistemlerinde de (örneğin FreeBSD, Linux) çalışmalıdır. Programın geliştirilmesinin bozulmadan yapılması çok önemlidir. lisans anlaşmaları ve pahalı yazılımların satın alınması (ve profesyoneller için bu, zamanımızın en önemli sorunlarından biridir).

  • Mikhail Prodan, "Lazarus - Ücretsiz Delphi ile Tanışın"

  • Anatoly Kamynin, "Özgür Pascal: Özgür insanlar için özgür yazılım" Sohbetimiz, GNU kamu lisansı altında bir grup geliştirici tarafından dağıtılan Özgür Pascal Derleyicisi (FPC) üzerinde odaklanacak.

  • Andrey Borovskiy, "X-Windows: Sınıflandırılmamış Windows" Bu makale Kylix araçlarını kullanarak X-Windows ile çalışmaya odaklanacaktır. Pencerelerin ve bireysel kontrollerin ekran görüntülerini oluşturma, X-Window hiyerarşisinde bir pencere arama ve diğer bazı yararlı özelliklere bakacağız.

  • Marius Popa Adrian, çeviri: Ruslan Denisenko, "Ubuntu Linux altında ücretsiz bir pascal geliştirme ortamı kurmak" Ubuntu Linux'ta ücretsiz pascal derleyicisi ve delphi benzeri lazarus geliştirme ortamının kurulumuna ilişkin Rusça adım adım bir kılavuz.

  • AA Serdtsev, "Borland Kylix 3'te Derleme Sorunlarını Glibc 2.3.2 ile Çözme"

  • Ilya Avvakumov, "GNU GDB Hata Ayıklayıcı" Bu makale, Free Pascal ile yazılmış programlarda adım adım hata ayıklamayı kolaylaştıran GDB komutlarını açıklar.

  • A. P. Polishchuk, S. A. Semerikov, "Serbest Pascal ile X Penceresinde Programlama". Tüm kitap, sadece programlama hakkında değil, aynı zamanda X Window cihazı hakkında da (yazarların başladığı yer) öğrenebileceğiniz! Genel olarak, site Free Pascal diline adanmıştır, bu nedenle Linux için programlama ile ilgilenen herkesin buraya bakmaları önerilir.

  • I. L. Shikhalev, "Free Pascal nedir ve ne ile yenir?" Free Pascal derleyicisine genel bakış, yetenekleri, özellikleri vb.

  • "Kylix öğreticisi" Linux için Pascal programlama ortamı hakkında bir dizi makale.


  • Arseny Chebotarev, "Linux için Uygulamalar - Kylix varyantı"

  • Goblin M., "Kylix öğreticisi" Kylix'in kurulumunu, dbExpress vb. aracılığıyla veritabanlarıyla çalışmayı açıklar.

  • Kylix'e (Linux için Delphi) Genel Bakış Borland'ın yakın zamanda piyasaya sürülen ürünü Kylix (Linux için Delphi), geliştiriciler arasında büyük ilgi gördü. Geliştirmenin yayın öncesi aşamasında, Kylix hakkındaki görüşler bazen coşkulu-hevesliden agresif olumsuza kadar taban tabana zıttı. Yazar, bu makalede bu ürün hakkındaki görüşlerini belirtmeye çalıştı.

  • Borland Kylix World Bu site, Linux işletim sistemi için hızlı bir uygulama geliştirme ortamı olan Borland Kylix ortamında programlamaya adanmıştır.

  • Mihail Golovanov Makaleler dizisi. Kylix Eğitimi. 1. Kurulum Öyle oldu, CD standının yanından geçerken mavi etiketli ve sihirli Kylix yazılı bir CD gördüm. Bunun yerine iki disk vardı ve ikisi de hemen satın alındı. Kylix'i RedHat Linux 7.0 altında yüklemeyi denedim ...

  • Mihail Golovanov Makaleler dizisi. Kylix Eğitimi. 2. dbExpress aracılığıyla Veritabanlarıyla Çalışma Kylix ve Delphi 6'daki Borland şirketi, dbExpress veri tabanıyla çalışmak için yeni bir motor uyguladı.


  • M.Goblin Serisi makaleler. Kylix Eğitimi. 2. dbExpress aracılığıyla veritabanlarıyla çalışma. İlk adımlar.

  • Vyacheslav Belyaev, Borland Kylix - kurulum ve ilk tanışma Borland Kylix ile ilk tanışma - Linux için bir programlama ortamı [Published 01.06.2001]

  • Peter Coffee, "Kitlelere Linux" Borland'ın Pascal diline dayalı nesne yönelimli bir çerçeve olan Borland Delphi'ye çok benzeyen yeni uygulama geliştirme sistemi Kylix'e genel bir bakış.
  • Java dili

  • Java teknolojileri hakkında yeni Rusça haber kaynağı - "javatech.info".

  • Brian Goetz, "Java Teorisi ve Uygulaması: Güvenli İnşaat Teknikleri"

  • Sergey Bezdenezhnykh, "GTK + Kullanarak Java Programlama" Bu makalede, Gtk + ve Gnome için Java uygulamaları oluşturmak için gereken araçları öğreneceksiniz.

  • Maxim Bobachenko, "Java Sunucu Yüzlerine Giriş" Java Sunucu Yüzleri (JSF), Java web uygulamaları oluşturmak için bileşen tabanlı, olaya dayalı bir teknolojidir.

  • A. Fedotov, "Java SE 5 ile Bellek Kullanımını İzleme"

  • "sun.com'daki kaynaklardan kendi kendine montajlı JAVA (TM) 2 SE v.1.4.1"


  • Matthias Kalle Dalheimer, Andi Peredri tarafından çevrilmiş, "Qt ve Java'nın Karşılaştırılması"

  • Lozovyuk A. Java Tarihi. İnternet devrimi nasıl başladı. Geleceği öngörmek için geçmişi anlamak gerekir. Java projesinin tarihi kendi içinde ilginç ve öğreticidir. Gelecekte ne bekleyeceğiniz konusunda fikir verir. Dünyadaki her şey aynı yasalara göre gelişir ve bilgisayar endüstrisi de bir istisna değildir.

  • Sünger Bob, "Java vs. .NET - Öznel Bir Bakış"



  • Java2, Linux'un yolunu açıyor ( Michael Sihirbaz, Dana Gardner, Paul Creel, COMPUTERWORLD RUSYA # 12, 99) Sun Microsystems, Java2 Development Kit'in (Java2DK) bir Linux sürümünü oluşturmak için bağımsız Linux Blackdown Porting Team ile ortaklık kurdu.


  • S.B.Dunaev. Java programlarından veri tabanlarına erişim ve Ruslaştırma sorunları
  • JavaScript dili

  • Peter Seebach, "ECMAscript'i Tanımak" ECMAscript (popüler olarak JavaScript olarak bilinir), standartlardan bir sapma olarak ortaya çıktığı için oldukça ilginç bir tarihe sahiptir.


  • P. Khramtsov. JavaScript Programlamaya Pratik Bir Giriş

  • Java sunucu uygulamalarında dinamik grafikler. Nasıl grafiksel bir isabet sayacı oluşturabilirim? Sağlayıcıya kanal yükünü veya kuyruktaki harf sayısını gösteren bir diyagram mı? Kısacası, kullanıcının isteği üzerine dinamik olarak bir görüntü nasıl oluşturulur? Makale bu sorunu çözmek için seçenekler sunuyor ...

  • Melnikov M. "JavaScript: kullanışlı işlevler"
    Web sayfalarında komut dosyalarının kullanımı hakkında konuşmaya devam ediyoruz. Ve belki daha sonra bizim için çok faydalı olacak bazı fonksiyonlar yazarak başlayacağız.

  • Melnikov M. JavaScript ve Nesne Modeli
    Komut dosyası dilleri bir şekilde dünyayı alt üst etti ve onlar sayesinde bir sayfayla neredeyse her şeyi yapmanıza izin veren DHTML ortaya çıktı. Bildiğiniz gibi, tarayıcıda kazananın defnelerini sadece iki dil talep ediyor. Bu VBScript bir alt kümesidir Visual Basic ve JavaScript. Burada ikincisini en evrensel olarak ele alacağız.
  • Perl

  • N. Anisimova, "Perl modülünü kullanma kılavuzu PDF :: Yeni başlayanlar için API2" PDF belgeleri oluştururken Perl programcılarına pratik çalışmalarda yardımcı olmayı amaçlayan materyali gözden geçirin.


  • Allan Peda, "Perl / CGI Oylama Sistemi Oluşturma"

  • "Kiev Perl Kullanıcı Grubu" Ne yazık ki, Pearl'de Uanet ve Runet'te yaşayan çok fazla kaynak yok, belki birileri onu faydalı bulacaktır. Orada zaten birkaç ilginç materyal yayınlandı ...



  • A. Tarasov tarafından çevrilen Xavier Calbet, PDL, sayısal hesaplamalar ve grafikler için Perl uzantılarıdır. Bu makale, PDL ve diğer sayısal hesaplama sistemlerini kullanarak bir Mandelbrot seti oluşturacaktır. Nitel ve performans karşılaştırmaları yapıldı.



  • "Perl pdf dokümantasyon çevirileri" örneğin: Perl referansı: MySQL için DBI, CGI.pm modül dokümantasyonu, regexp öğreticisi, Libwww-perl dokümantasyon çevirisi, tam DBI spesifikasyonu ve DBD :: mysql.

  • Arseniy Chebotarev, "Perl: örneklerle tam sunum"

  • Roman Imankulov, "Ayaklarımızın altındaki elmaslar hakkında" Perl ve Makefile hakkında biraz.

  • (20.12.2003) Yeni site - "Perl 6" Perl 6 ve Parrot sanal makinesinin kullanımına ilişkin bağlantılar ve faydalı notlar. Perl 6 öğrenmek için bir tür günlük ....

  • V. Maksimenko, "Perl'de Turing testinin uygulanması" Makale, dinamik olarak bir kodla bir resim oluşturarak ve girişin doğruluğunu onaylayarak bir siteden bir formun otomatik olarak doldurulmasına ve gönderilmesine karşı koruma yöntemini açıklar.

  • Sean M. Burke, Çeviren Dmitry Nikolaev, "LWP ile Web Temelleri" LWP ("Perl'de WWW Kitaplığı"nın kısaltması), İnternet'teki verilere erişmek için çok popüler bir Perl modülleri grubudur.

  • Dave Gross, Alex Ten tarafından çevrildi. "Bir karmanın davranışını bağlama işlevini kullanarak değiştirme" "Deneyimlerime göre karma, Perl'deki en kullanışlı yerleşik veri yapısıdır."

  • "PERL'de Sunucu Uygulamaları Oluşturma" Hızlandırılmış Kurs.

  • Aynı "siteden" Perl dilinde bir malzeme seçimi


  • Guido Socher, Rusça'ya çeviri: K. Pukhlyakov, "HTML kodunun Perl'de işlenmesi, HTML :: TagReader"

  • "Larry Wall on Perl 6" Perl'in mucidi Larry Wall'un izniyle, dizideki Perl 6 makalelerini çevirmeye davetlisiniz.

  • Stephen Wilhelm, Dmitriy A. Kuvshinov tarafından çevrildi, "Gtk-Perl'in Tanımı" Çevirmen, çevirinin tamamlanması için yardım ister. Bir arzu ve fırsat varsa - bağlanın!

  • S. Bogomolov, Perl (kurulum)

  • Alexander Smyslovski. Herkesin takdir edeceği Perl. Perl dili 1986'da oluşturuldu ve başlangıçta kelime işlemeye yönelikti. Bu nedenle adı - Pratik Çıkarma ve Rapor Dili. Ancak yıllar geçtikçe, Perl artık çok daha geniş bir görev yelpazesi için kullanılıyor. Son yıllarda popülaritesinin hızla artması sayesinde CGI betikleri yazmak için en popüler dillerden biridir. Hadi tanışalım!

  • ru.Perl SSS Pavel Ammosov, Arthur Penttinen, Mikhail Polyakov, Grigory Strokin Copies

  • V. Maslov. "Perl'e Giriş"
    kopyala

  • Randal Schwartz, Tom Christiansen "Öğrenme Perl" İngilizce'den C.M. Timacheva

  • Rusça Açıklamada Perl 5.003 Kılavuzu. Basitten karmaşığa. Pearl - programların lansmanı. Sözdizimi. Yerleşik değişkenler. Şablonlar. Operatörler ve Öncelikler. Yerleşik işlevler. Altyordamlar. Rapor biçimleri. Hata ayıklama.



  • Igor Yarovinsky, "Perl + Tk'de grafik arayüzlerin oluşturulması."


  • Perl 5 Başvuru Kılavuzu. Perl 5 Kılavuzu Johan Vromans tarafından. (İngilizce).

  • PERL - Pratik Çıkarma ve Rapor Dili. Kolay erişilebilirlik için Perl kılavuzu birçok bölüme ayrılmıştır. Perl, C, sed, awk ve sh'nin bazı özelliklerini bir araya getirir, bu nedenle bu dillere aşina olan kişilerin onunla bir sorunu olmaması gerekir. (İngilizce).

  • Ben Okopnik, İnci'yi Keşfetmek, Bölüm 1

  • Ben Okopnik, Perl Öğrenme, Bölüm 2

  • Ben Okopnik, Öğrenme Perl. 4. Bölüm

  • "Perl'de ayın tek satırı: Nisan en kötü aydır"

  • Ben Okopnik, Tercüme: Pavel Sokolov, "Perl Ayın Tek Satırı: Yanlış Adlandırılmış Dosyalarla Bir Macera"

  • Ben Okopnik, Tercüme: Pavel Sokolov, "Perl Ayın Tek Satırı: Eşleşen UID Örneği"

  • Ben Okopnik, Tercüme: Pavel Sokolov, "Perl Ayın Tek Satırı: Keyfi Arşivlerle Bir Macera."

  • Mark Nielsen, Perl Garantili Sabit Disk Temizleme

  • Mark Nielsen, Perl ve PostgreSQL'i Birlikte Kullanmak

  • Bir Perl / CGI betiği nasıl "canlandırılır" Bu makale, Web uygulamalarını "kendi elleriyle" oluşturmaya karar veren ve programlama dili olarak Perl'i (Pratik Elektrikli Çöp Listeleyici) seçenler için "hızlı bir başlangıç" elde etmenize yardımcı olmayı amaçlamaktadır. yaratmaları için bir araçtır.

  • Site için bir dizin oluşturma. Meta açıklama ve meta anahtar kelimeler için sitenin tüm sayfalarını tarayan ve nihai tabloyu oluşturan bir Perl betiğinin oluşturulmasını açıklar - bir dizin veya bir konu dizini.


  • Tom Christiansen, Nathan Torkington, Perl: Programmer's Library Kitap, Perl diliyle çalışırken ortaya çıkan sorunların çoğuna yönelik kapsamlı bir çözüm koleksiyonu içerir. Geniş bir konu yelpazesi göz önünde bulundurulur: programlama tekniklerinin temellerinden profesyonel inceliklere, dizileri, sayıları ve dizileri manipüle etmekten taban oluşturmaya kadar. SQL verileri, CGI komut dosyası oluşturma ve İnternet uygulamalarından ciddi istemci-sunucu sistemlerinin geliştirilmesine kadar.

  • WebScript.ru: web için komut dosyaları ve programlama (PHP, Perl). Perl makaleleri.

  • Dmitry Lyaluev, "Perl'de Üç Harf" Harfleri oluşturmak ve göndermek için bu güçlü programlama dilinde bir komut dosyası yazmak düşünülür.

  • AA Erizhokov, PCRE Perl sözdizimini kullanarak düzenli ifadeleri desteklemek için bir dizi fonksiyon hakkında bir makale.

  • Stas Bekman, "Neden mod_perl?" Tercüme: Zakharova Inga

  • Stas Bekman, "mod_perl in 30 dakika. Kısım I" Tercümesi: Inga Zakharova

  • Misko D. Perl / CGI betiği nasıl canlandırılır
    Bu makale, Web uygulamalarını "kendi elleriyle" oluşturmaya karar veren ve oluşturma aracı olarak Perl (Pratik Elektrikli Çöp Listeleyici) programlama dilini seçenler için "hızlı bir başlangıç" elde etmenize yardımcı olmayı amaçlamaktadır.

  • "Perl Modüllerini Keşfetmek, Bölüm 1. GD Kullanarak Anında Grafik Oluşturma"

  • Pradeep Padala, Aleksey Cheglyakov tarafından çevrildi, "Perl Modüllerini Keşfetmek, Bölüm 2: GD Kullanarak Diyagramları Çizmek :: Grafiği"

  • Arseniy Chebotarev, "Yararsız Perl ve dünyayı iyileştirmenin genel teorisi" Tersine kaynak kodu Perl'deki örneklerle.

  • Pavel Golubev, "PDF örneğinde PDF yazdırma yeteneğine sahip sitelerin oluşturulması :: API2" PDF raporları oluşturmak için Perl modülünün PDF :: API2 yeteneklerinin gösterilmesi.
  • PHP

  • "Örneklerde PHP betiklerinin tipik güvenlik sorunları" Sunumda, popüler PHP betiklerinde basit örnekler kullanılarak, PHP programcılarının ciddi güvenlik sorunlarına yol açan yaygın hataları anlatılmaktadır.

  • Sergej Ermakov, FastCGI ve Hak Tahsisi olarak PHP

  • Robert Bradley, "PHP Uygulamalarınıza Uluslararası Destek Nasıl Eklenir"

  • "Yol Açıklaması: Seyahat Vakaları" PHP betiklerinin nasıl hacklendiği.

  • PHP Öğrenin, Bölüm 3: Kimlik Doğrulama, Veri Akışları, Nesneler ve İstisnalarla Çalışma
    Bu eğitim size bir iş akışı uygulaması oluşturmak için PHP'yi nasıl kullanacağınızı gösterecek, HTTP kimlik doğrulaması, veri akışları, nesne oluşturma ve istisna işleme hakkında bilgi edinecektir.

  • PHP Öğrenin, Bölüm 2: Dosyaları Sunucuya Yükleme ve Dosya Bilgilerini Depolamak için XML Kullanma
    Bu öğretici, bir iş akışı uygulaması oluşturmak için PHP'yi nasıl kullanacağınızı gösterecektir.

  • PHP'yi Öğrenin, Bölüm 1: Kayıt Sayfası, Formlar ve Veritabanı Etkileşimi
    Bu öğretici, temel bir iş akışı uygulaması oluşturmak, HTML formlarını kullanarak PHP sayfaları oluşturmak ve veritabanlarına erişmek için PHP'yi nasıl kullanacağınızı gösterecektir.

  • PHP oturumları. 4. Bölüm (sonraki ve önceki bölümler okunabilir)

  • Boyko Sergey, "PHP'de Kendi CMS'niz. Bölüm 1"

  • Harry Fuecks, çeviri: Mullin Sergey, Kuzma Feskov, "PHP'de Önbelleğe Alma"

  • John Lim, Kuzma Feskov tarafından çevrildi, "PHP Optimizasyon NASIL"

  • Vadim Kryuchkov tarafından çevrilen Andi Gutmans, Stig Bakken ve Derick Rethans, "PHP 5'teki Yenilikler?"

  • Feskov Kuzma, "Küçük bir sitenin büyük fırsatları" (İle çalışmak Zip arşivleri PHP'de).

  • Tercüme: Edgar Mkrtchyan, "PEAR HTML_QuickForm: Başlangıç ​​Kılavuzu" Bu, PEAR'ın (PHP Uzantısı ve Uygulama Deposu) bölümlerinden biri olan HTML_QuickForm'a basit bir giriş niteliğindedir.

  • Dmitry Korolenko tarafından tercüme edilen Sterling Hughes, "21 PHP Programcı Hataları" PHP'yi öğrenmek çok kolay. Bu birçok insanı cezbeder; ancak görünen basitliğine rağmen, bu dili doğru ve etkili kullanmayı öğrenmek kolay değildir.

  • Sterling Hughes, "21 PHP Programcı Hatası".
    "I. kısım
    "Bölüm II
    "Bölüm III" İlk 21 PHP programlama hatası "Sterling Hughes tarafından, 14 Ocak 2001 http://www.zend.com/zend/art/mistake2.php, Çeviren Danil Mironov.

  • "PHP'yi UNIX'te Paylaşılan Barındırma için Güvenli Bir Şekilde Yapılandırma"

  • "Dosya Listeleri" PHP'de dosya gruplarıyla (bir klasörün içeriğini okuma, bir klasörü tekrar tekrar okuma, belirli dosya türleri için bir klasörü tekrar tekrar okuma ve bir dizin ağacı yazdırma) temel işlemlerin nasıl gerçekleştirileceğini inceler.

  • "PHP Inside", geliştirmelerinde PHP kullanan web programcıları için tasarlanmış bir Rusça elektronik (PDF) dergisidir.

  • Monte Ohrt, Andrei Zmievski, Sergei Suslenkov, 05/21/2004, "Akıllı - bir derleme şablonlama motoru" PHP, "HTML'de gömülü dil" olarak adlandırılsa da, PHP ve HTML'nin karıştırıldığı birkaç proje yazdıktan sonra, çoğu kişi bu ayrımı anlar biçim ve içerik İyi Bir Şeydir!


  • Andrey Kiselev tarafından çevrilen David Lechnyr, "PHP Superglobal Array Security"



  • http://phpclub.unet.ru/ PHP ve MySQL Geliştiriciler Kulübü. Makaleler, incelemeler, posta listeleri, PHP ve MySQL kod örnekleriyle ilgili Rusça belgeler. Çevrimiçi mağazaların, portalların, WWW veritabanlarının oluşturulması hakkında faydalı bilgiler. Hazır geliştirmeler var (ücretsiz).


  • D.Svirepchuk, "Kişisel anket" Sitede anket oluşturmak için PHP betiği hakkında.

  • Denis Migachev, "PHP ve MySQL. Bölüm 1. MySQL ile doğrudan çalışma"

  • Alexander Netkachev, "PHP'de (PHP4) DOM XML'e Alternatif", 15.04.2004.

  • Alexander Netkachev, "PHP5'e Geçiş" İncelememde PHP5'teki değişiklikleri olabildiğince eksiksiz bir şekilde vermeye çalıştım.

  • Alexander Netkachev, "Hataya Dayanıklı PHP Kodu Yazma"
    "Hataya Dayanıklı PHP Kodu Yazma"

  • S. Tarasenko. PHP'de çerezlerle çalışma.

  • A. Orlov PHP: etkileşimin sırları

  • Ambersky R., "PHP4'te afişleri görüntülemek için bir komut dosyası" Bu makalede açıklanan afişleri görüntülemek için komut dosyaları oldukça basit. Banner açıklamaları, tıklama sayısı ve gösterimler bir metin dosyasında saklanır, bu nedenle MySQL gerekli değildir.

  • MySQL ve PHP kullanarak HTTP Ayar sayfası koruması. Bu, HTTP kimlik doğrulaması kullanarak web sayfalarınızın güvenliğini sağlamanın temellerini size göstermesi gereken bir eğitimdir. Geleneksel .htaccess yöntemi (Apache sunucusu) yerine, kullanıcı verilerini ve şifrelerini depolamak için MySQL kullanacağız. Yeni başlayan birinin MySQL ve PHP öğrenmesi için gerekli olduğunu düşündüğüm şeyleri mümkün olduğunca çiğnemeye çalışacağım.

  • PHP ve mySQL üzerine bir başlangıç ​​(pdf dosyası) Bu çalışma PHP ve MySQL'deki kılavuzların yerini almak için tasarlanmamıştır. Bu primer, PHP öğrenmenin ilk adımlarını atmanıza ve MySQL veritabanıyla nasıl etkileşime gireceğinize yardımcı olacaktır.

  • Adam Trachtenberg ve David Sklar (8/3/99) Çeviren N.V. Kostromina. (hepsi bir dosyada -).

  • Alexey Osipov, "PHP'de istatistik toplama" Her webmaster, ziyaretçileri hakkında en azından biraz bilgi sahibi olmak ister. Bu makale, basit bir ziyaretçi veri toplama sistemi oluşturmanın ne kadar kolay olduğunu gösterir.

  • Stig Sater Bakken ve diğerleri, "PHP Kılavuzu"

  • T. Ratshiller, T. Gerken "PHP4: Web Application Development. Programmer's Library (+ CD)" kitabından "PHP Kullanarak Veritabanı Erişimi" bölümü

  • Shawn Wallace PHP Çevirisine Giriş: Mike J.K. ( [e-posta korumalı])

  • S. Losev. PHP ve MySQL, site oluşturucunun çalışma araçlarıdır.

  • S. Losev. Site oluşturucu çalışma araçları.
    Modern "site oluşturma" konulu bir diziden bu makale, popüler MySQL sistemi ve PHP programlama dili, herhangi bir web sitesi geliştiricisinin karşılaştığı sorunları çözmek için nasıl kullanılabileceğini anlatıyor - haber hazırlama ve görüntüleme, metin bilgilerini girme ve görüntüleme, arama sitede, ek hizmetlerin organizasyonu ("ziyaretçinin tanınması", forumlar, anketler vb.). Bu araçların her ikisi de ücretsizdir ve istisnasız tüm barındırma sağlayıcıları tarafından sağlanır.
    Bölüm 1. PHP ve MySQL'e Başlarken
    Bölüm 2. Her yerde haberler, ancak nasıl girilir ve gösterilir?
    Bölüm 3. Site için makaleler
    Bölüm 4. Ek hizmetler

  • PHP'de Güvenli Web Uygulaması Programlama Teknikleri Bu makalenin amacı, WWW sohbetleri, ziyaretçi defterleri, web forumları ve diğer benzer uygulamalar gibi web uygulamalarının güvenliğini sağlamak için bazı teknikleri göstermektir ... Kopyala.

  • Bryan Brunton, Trade Empires: PHP'de Kendi Evreninizi Programlama

  • WebScript.ru: web için komut dosyaları ve programlama (PHP, Perl). PHP makaleleri.

  • Ilyin S. PHP Dini PHP, aktif web sayfaları oluşturmak için yorumlanmış bir dildir. Perl ve ASP'ye çok benzer, ancak onlardan daha uygun bir büyüklük sırası. PHP ile Apache şu anda en popüler web sunucusudur.

  • Herkes için A.Kukharchik PHP!




  • Denis Kolisnichenko, PHP Ağ İşlevlerine Genel Bakış (Orijinal: http://www.softerra.ru/review/program/16851/) Yayınlanma: 03/21/2002

  • Andrey Goncharenko,
  • Linux programlama kitapları, adresinden ücretsiz Linux programlama kitapları, öğreticiler ve öğreticiler indirin. iyi kalite

    Kitap açıklaması UNIX. Ağ uygulamalarının geliştirilmesi: UNIX işletim sisteminde web sunucuları, istemci-sunucu uygulamaları veya diğer herhangi bir ağ yazılımının oluşturulmasına adanmış kitabın yeni baskısı, ağ programlama arayüzleri, özellikle soketler için klasik bir kılavuzdur. William Stevens'ın yazılarına dayanmaktadır ve ağ programlamada önde gelen iki uzman tarafından tamamen gözden geçirilmiş ve güncellenmiştir.

    Kitap, temel modern standartların, uygulamaların ve yöntemlerin bir tanımını içerir, şunları içerir: çok sayıda açıklayıcı örneklerdir ve ağlarda programlama konusunda bir ders kitabı olarak ve deneyimli programcılar için bir referans olarak kullanılabilir. Sistem düzeyinde ağ programlamaya ilişkin karmaşık malzeme, inanılmaz derecede basit ve tutarlı bir şekilde sunulur. Büyüleyici bir roman gibi okunan ilk bölümler, her şey raflara dizilmiş, her kod satırı anlatılmış. Son bölümler referans olarak kabul edilebilir, büyük miktarözel bilgi.

    Kitap açıklaması UNIX ve Linux Sistem Yönetiminde Python:
    "UNIX ve Linux Sistem Yönetiminde Python" kitabı, çeşitli UNIX ve Linux sunucu yönetimi görevlerinin bu dili kullanarak nasıl etkin bir şekilde çözüleceğini gösterir. Python programlama... Her bölüm, çoklu görev, veri yedekleme veya kendi araçlarınızı oluşturma gibi belirli bir göreve odaklanır. Komut satırı, ve teklifler pratik yöntemler Python'daki çözümleri.

    Ele alınan konular arasında: süreçlerin dallanmasını organize etmek ve ağ mekanizmalarını kullanarak aralarında bilgi aktarımı yapmak, grafiksel bir arayüz ile etkileşimli yardımcı programlar oluşturmak, veritabanları ile etkileşimi düzenlemek ve uygulamalar oluşturmak. Google Uygulaması Motor. Buna ek olarak, kitabın yazarları indirilebilir ve ücretsiz olarak yeniden dağıtılabilir bir kitap oluşturdular. sanal makine Kitaptaki örneklerin kaynak kodunu içeren Ubuntu tabanlıdır ve SNMP, IPython, SQLAlchemy ve diğer birçok yardımcı programı kullanarak örnekleri çalıştırabilir.

    Yayın, geniş bir uzman yelpazesine yöneliktir - Python dilinde uzmanlaşmaya yeni başlayan herkes, ister kabuk dillerinde deneyimli komut dosyası geliştiricileri olsun, ister genel olarak programlamaya nispeten az aşina olsun.

    Kitap açıklaması GCC. Kullanıcıların, programcıların ve sistem yöneticilerinin masaüstü kitabı: GCC, GNU projesinin ana derleyicisidir. En yaygın olarak kullanılan tüm programlama dillerini destekler ve düzinelerce donanım platformuna yazılım taşınabilirliği sağlar. Derleyiciler dahil tüm özgür yazılımlar, şu veya bu düzeyde GCC'ye dayanır.

    Kitap, derleyiciyi edinme, yapılandırma, yükleme ve test etme hakkında ayrıntılar sağlar. Bir çapraz derleyicinin inşası ve gömülü sistemlerin oluşturulması sunulmuş, programların C, C ++, Objective-C, Fortran, Java ve Ada'da derlenmesi ayrıntılı olarak anlatılmıştır. Ayrıca birkaç programlama dilinin tek bir programda birleştirilmesi ve montaj veya sistem düzeyinde dillerde yazılmış parçaların buna dahil edilmesi. Bu kitapta, yalnızca sorunlarınızı çözmek için değil, aynı zamanda GCC derleyicisinin geliştirilmesine ve desteklenmesine katılmak için yeterli olan hemen hemen her türlü bilgiyi bulabilirsiniz.Kitap aşağıdakiler için yararlı olacaktır: yazılım projelerinin programcıları-geliştiricileri ve yöneticileri; yazılım ve uygulamaların taşınmasıyla uğraşmak zorunda olan yöneticiler ve sistem programcıları; açık kaynaklı yazılım kullanmakla ilgilenen kullanıcılar. Ve özgür yazılım yaratma hareketinin gelişiminin tüm destekçilerine.

    Kitap açıklaması Linux. Sistem Programlama:
    Bu kitap, sistemin gücünden – kabuk, metin düzenleyici, derleyici, hata ayıklayıcı ve sistem rutinleri dahil olmak üzere çekirdek işlevleri ve temel kitaplıklardan – yararlanarak Linux yazılımının nasıl oluşturulacağı hakkındadır. Unix ve Linux için kodların çoğu sistem düzeyinde yazılmıştır, bu nedenle kitap Apache, bash, cp, vim, Emacs, gcc, gdb, glibc, ls, mv ve diğerleri gibi çekirdek olmayan uygulamalara odaklanır.

    Kitap özellikle geliştiriciler için yazılmıştır ve gerekli araç herhangi bir programcı

    1. Giriş ve temel kavramlar
    2. Dosya G / Ç
    3. Tamponlu G / Ç
    4. Genişletilmiş dosya G / Ç
    5. Süreç yönetimi
    6. Gelişmiş proses kontrolü
    7. Dosya ve dizin yönetimi
    8. Hafıza yönetimi
    9. sinyaller
    10. Zaman

    Kitap açıklaması Linux programlama temelleri:
    Popüler kılavuzun dördüncü baskısı, Linux programlamanın temellerini kapsar. Dikkate alınan: C/C++ kitaplıkları ve standart geliştirme araçlarının kullanımı, sistem çağrılarının organizasyonu, dosya G/Ç, süreç etkileşimi, kabuk programlama, GTK+ veya Qt araçları kullanılarak grafiksel kullanıcı arayüzlerinin oluşturulması, soketlerin kullanımı , vesaire.

    Programların derlenmesi, kütüphanelerle bağlantıları ve terminal giriş/çıkışları ile çalışmaları anlatılmaktadır. GNOME ve KDE ortamlarında uygulama yazma, MySQL DBMS kullanarak veri depolama ve hata ayıklama programları için teknikler verilmektedir. Kitap iyi yapılandırılmış, bu da öğrenmeyi kolay ve hızlı hale getiriyor.

    • Başlarken
    • Kabuk Programlama
    • Dosyalarla çalışma
    • Linux ortamı
    • Terminaller
    • Metin ekranlarını küfürlerle kontrol etme
    • Veri yönetimi
    • MySQL
    • Geliştirme araçları
    • hata ayıklama
    • Süreçler ve sinyaller
    • POSIX akışları
    • Süreçler arası iletişim: kanallar
    • Semaforlar, Paylaşılan Bellek ve Mesaj Kuyrukları
    • Soketler
    • GTK + ile GNOME Programlama
    • Qt ile KDE Programlama
    • Linux standartları

    • Sivarama P. Dandamudi
    • Yayımcı: Springer
    • Yıl: 2005
    • ingilizce dili
    • Sayfalar: 568
    • Biçim: pdf
    • Boyut: 26 MB

    Kitap açıklaması :
    Bu benzersiz kılavuz, Linux'un derinlemesine kapsamı ile Assembly dili programlamanın temel öğelerinin kapsamlı kapsamını sağlar. işletim sistemi, dünya çapında tahmini 18 milyon Linux kullanıcısı ile en hızlı büyüyen işletim sistemidir. Kitap, özellikle Assembly öğrenmek isteyen ve Linux işletim sistemine geçme niyetinde olan veya bunu bekleyen profesyonelleri hedeflemektedir.

    Bu son derece kullanışlı kılavuz kitap, gerekli tüm yazılımlarla (Linux, NASM, hata ayıklayıcı) birlikte gelir ve bu, onu Assembly programlama ve Linux öğrenmek isteyenler için son derece değerli bir kaynak aracı haline getirir. Okuyucuların, bu kılavuzun tüm avantajlarından yararlanabilmeleri için, C gibi herhangi bir yapılandırılmış, üst düzey dil hakkında temel bilgilere sahip olmaları yeterlidir. Sivarama P. Dandamudi, Ottawa, Ontario, Kanada'daki Carleton Üniversitesi'nde bilgisayar bilimi profesörü ve ayrıca International Journal of Computers and Its Applications'da bilgisayar mimarisinden sorumlu yardımcı editördür. Bilgisayar sistemleri ve organizasyonu hakkında yirmi yıldan fazla öğretim deneyimine sahiptir.

    • Dijital mantık devreleri, bellek organizasyonu, IA-32 mimarisi dahil olmak üzere bilgisayar organizasyonu
    • Linux ve NASM'yi yükleme ve kullanma
    • Assembly dili programlarında hata ayıklama
    • Montaj dili talimatlarına genel bakış
    • Yazma prosedürleri, adresleme modları, koşullu yürütme, mantıksal ve bit işlemleri
    • Dize işleme, ASCII ve BCD aritmetiği, özyineleme, korumalı mod kesme işleme, üst düzey dil arabirimi, kayan nokta işlemleri dahil olmak üzere gelişmiş derleme dili

    Kitap açıklaması Linux'ta Pro Oracle Veritabanı 11g RAC:
    Pro Oracle Database 11g RAC on Linux, bir Linux ortamında Oracle Real Application Clusters'ın uygulanması konusunda tam yaşam döngüsü kılavuzu sağlar. Genellikle RAC olarak kısaltılan Gerçek Uygulama Kümeleri, Oracle'ın ölçeklenebilir ve hataya dayanıklı veritabanları için endüstri lideri mimarisidir. RAC, ucuz Linux sunucularını basitçe ekleyip çıkararak ölçeği büyütmenize ve küçültmenize olanak tanır. Bu birden çok, ucuz sunucu tarafından sağlanan yedeklilik, RAC'ın sağladığı yük devretme ve diğer hataya dayanıklılık özelliklerinin temelidir.

    RAC konusundaki yetenekleriyle tanınan yazarlar tarafından yazılan Linux'taki Pro Oracle Database 11g RAC, RAC yönetimi becerilerinizi geliştirmeniz için size kaya gibi sağlam ve teknik olarak kusursuz bir temel sağlar. Yazarlar Julian Dyke ve Steve Shaw, Otomatik Depolama Yönetimi (ASM) ve Oracle Clusterware gibi en son Oracle teknolojilerini kullanarak başarı için nasıl oluşturulacağını göstererek, RAC kümeleri oluşturma konusundaki zor kazanılmış deneyimlerini paylaşıyorlar. Performans ve diğer sorunları gidermeyi öğreneceksiniz. Hatta Oracle Corporation tarafından desteklenen tek sanallaştırma çözümü olan Oracle VM'ye dayalı bir sanal makine ortamında RAC'yi nasıl doğru şekilde dağıtacağınızı öğreneceksiniz.

    RAC, karmaşık ve güçlü bir teknolojidir. Dağıtımında uzmanlık gerektirir. Bir RAC çözümü oluştururken öylece “kanat” yapamazsınız. Julian ve Steve, kendilerini Linux'ta Pro Oracle Database 11g RAC uzmanı olarak adlandırma hakkını kazandılar, sağlam bir uzmanlık temeli oluşturmanıza ve başarıya ulaşmanıza yardımcı olan titiz ve teknik olarak doğru bir RAC tedavisi sunuyorlar.

    Kitap açıklaması Unix ve Linux Sistem Yönetimi için Python:
    Python, özellikle Linux ve Unix ağlarında problem çözmek için ideal bir dildir. Bu pragmatik kitapla yöneticiler, bu sistemlerin yönetiminde sıklıkla meydana gelen çeşitli görevleri gözden geçirebilir ve Python'un bunları ele almak için nasıl daha verimli ve daha az zahmetli bir yol sağlayabileceğini öğrenebilir.

    Unix ve Linux Sistem Yönetimi için Python'daki her bölüm, eşzamanlılık veya veri yedekleme gibi belirli bir yönetim sorununu ve uygulamalı örnekler aracılığıyla Python çözümlerini sunar. Bu kitabı bitirdiğinizde, çok çeşitli sorunların üstesinden gelmek için Python ile kendi komut satırı yardımcı programlarınızı geliştirebileceksiniz.

    Bu dilin size nasıl yardımcı olabileceğini keşfedin:

    * Metin dosyalarını okuyun ve bilgileri çıkarın
    * İş parçacığı oluşturma ve çatallama seçeneklerini kullanarak görevleri aynı anda çalıştırın
    * Ağ olanaklarını kullanarak bir süreçten diğerine bilgi alın
    * Büyük ve karmaşık yardımcı programları işlemek için tıklanabilir GUI'ler oluşturun
    * SNMP ile programlı olarak etkileşim kurarak büyük makine kümelerini izleyin
    * Bash, Korn veya Z-Shell'i değiştirmek veya artırmak için IPython Interactive Python kabuğunda ustalaşın
    * Bulut Bilişimi altyapınıza entegre edin ve bir Google App Engine Uygulaması yazmayı öğrenin
    * Özelleştirilmiş komut dosyalarıyla benzersiz veri yedekleme zorluklarını çözün
    * MySQL, SQLite, Oracle, Postgres, Django ORM ve SQLAlchemy ile etkileşim kurun

    Bu kitapla, "Python uygulamalarınızı ve kitaplıklarınızı nasıl paketleyip dağıtacağınızı ve birden çok Unix platformunda eşit derecede iyi çalışan kod yazmayı öğreneceksiniz." Ayrıca hayatınızı çok daha kolaylaştıracak Python ile ilgili birkaç teknolojiyi öğreneceksiniz.

    Kitap açıklaması Linux programlama. Kendi kendine talimat kitabı:
    Linux programlamanın temelleri dikkate alınır: takım oluşturma, düşük seviyeli G / Ç, çoklu görev, dosya sistemi, süreçler arası iletişim ve hata işleme. Kitap, ana hatlarıyla belirtilen kavramların pratik uygulamasına odaklanmıştır. Yeni başlayanların ihtiyaç duyduğu her şeye sahiptir ve her konunun derinlemesine incelenmesi onu deneyimli programcılar için de değerli kılar. Her konu, okuyucunun kendi programları için örnek olarak kullanabileceği çok sayıda örnekle gösterilmiştir.

    Kitap açıklaması Linux'ta C++ Programlama:
    Kitap, KDevelop geliştirme ortamında C++ dilinde yazılmış uygulamaların oluşturulmasına ayrılmıştır. Uygulama bileşenlerinin etkileşim yollarının açıklaması verilmiştir. Qt Designer yardımcı programı ile çalışma düşünülür ve ana kontroller diyalog kutuları, onlarla çalışmak için oluşturulan sınıfların yanı sıra. Okuyucu, Belge / Sunum konseptiyle tanışır ve uygulama kullanıcı arabirimi öğeleri oluşturmayı öğrenir. Ayrıca, ayrı bölümlerde ekranda çeşitli bilgilerin görüntülenmesi, bir dosyadan kaydedilmesi ve geri yüklenmesi, metin editörleri, sınıf ve işlev şablonlarıyla çalışma ve etkileşimli süreçlere dayalı bir uygulamada çoklu görev düzenleme. Son olarak, bir uygulama yardım sistemi oluşturmak için yönergeler sağlanmıştır.

    Kitap, Qt4 ve KDevelop geliştirme ortamını kullanarak GUI uygulamalarının programlanmasıyla ilgilidir.

    Bu makale iki tür okuyucu için tasarlanmıştır. Birincisi, bunlar MS Windows altında programlama deneyimi olan, ancak GNU/Linux altında böyle bir deneyimi olmayan kişilerdir. İkincisi, bunlar hiç programlama deneyimi olmayan insanlar. Bununla birlikte, okuyucunun genel programlama terminolojisine genel olarak aşina olduğunu ve örneğin bir "program", "fonksiyon", "derleyici" veya "hata ayıklamanın" ne olduğunun açıklanmasına gerek olmadığını varsayıyorum.

    Geliştirme araçları

    En çok GNU/Linux'a özgü olan araçları kullanarak geliştirmeye bakacağım. Bunlar şunları içerir:

      C programlama dili

      Bash kabuğu

      Vim ve Emacs metin düzenleyicileri

      GCC derleyicisi

      GDB hata ayıklayıcı

      GNU projesini oluşturmak için yardımcı program

      Git sürüm kontrol sistemi

      X11 pencereleme sistemi

    Bu özel araçların seçimi bir dogma değildir. Yukarıda listelenen fonların her biri istenirse bir başkasıyla değiştirilebilir. Ancak, "Linux geliştirme ortamı" gibi ifadeler genellikle bu araçlar kümesine atıfta bulunur.

    Programlama dilleri

    GNU / Linux için en "yerli" programlama dili C'dir. Bunun nedeni aşağıdaki faktörlerdir:

      GNU / Linux, UNIX işletim sisteminin birçok fikrini (pratikte ideolojiyi) ödünç alır;

      UNIX işletim sistemi C dilinde yazılmıştır (aslında bu dil tam olarak bu işletim sistemini yazmak için oluşturulmuştur);

      Buna göre Linux çekirdeği ve GNU sistem ortamı da C ile yazılmıştır.

    Aşağıda C dilini kullanarak geliştirmeyi ele alacağım, ancak bu seçim bir dogma değildir. GNU / Linux altında geliştirme için diğer popüler diller C ++, Python, Perl'dir. Tabii ki, başka herhangi bir dil kullanılabilir.

    Geliştirme ortamı

    Son yirmi yılda, sözde. IDE'ler entegre geliştirme ortamlarıdır. Böyle bir ortam, bir metin düzenleyici, derleyici, hata ayıklayıcı, proje oluşturma araçları ve daha fazlasını içerir. Bu tür ortamlar GNU / Linux için de mevcuttur (en popülerleri Eclipse, NetBeans, IDEA, KDevelop, Anjuta'dır). Bununla birlikte, UNIX benzeri sistemler için geliştirme tarihi, IDE'lerin yalnızca tek değil, aynı zamanda en etkili geliştirme aracı olduğunu göstermektedir. Pratikte “GNU/Linux için en iyi IDE nedir” sorusunun doğru cevabı “GNU/Linux is IDE”dir.

    IDE olmadan büyük bir proje geliştirmenin imkansız olduğu görüşüyle ​​sık sık karşılaşabilirsiniz. Bu görüş kolayca reddedilir. UNIX'in ilk sürümleri Vim'de bile değil (henüz orada değildi), Ed'de yazılmıştır. Bu, aynı anda yalnızca bir metin satırını düzenleyebileceğiniz, "satır satır" olarak adlandırılan bir metin düzenleyicidir. Dosyanın tamamı ekranda görüntülenmiyor. UNIX durumunda, başka türlü olamazdı - geliştiricilerin ekranları yoktu ve sistemle iletişim teletipler kullanılarak gerçekleştirildi. Modern Linux çekirdeği öncelikle Emacs ve Vim editörlerinde yazılmıştır.

    Birçok UNIX yardımcı programı "varsayılan metin düzenleyiciyi" çağırır. Varsayılan metin düzenleyiciyi başlatan komut, $ EDITOR ortam değişkeninden alınır. Bazı yardımcı programlar önce $ VISUAL değişkenine ve ayarlanmamışsa $ EDITOR değişkenine bakar. Bu, tarihsel olarak geliştirilmiş bir davranıştır: genellikle eski bilgisayarlara hiçbir ekran bağlı değildi, sadece bir teletip vardı, bu nedenle ekran (görsel) düzenleyiciyi başlatmanın bir anlamı yoktu. Modern dağıtımlar genellikle varsayılan olarak EDITOR = vi veya EDITOR = nano şeklindedir. Bunun gibi bir komut için farklı bir düzenleyicinin kullanımını belirtebilirsiniz:

    EDİTÖR = bazı komutları emacs

    Kullanmak istenen düzenleyici varsayılan olarak, her zaman gibi bir satır eklemeniz gerekir.

    dışa aktar EDİTÖR = emacs

    Tarihsel olarak, yalnızca Vim ve Emac'lar programcılar için "gerçek" metin editörleridir (çünkü bunlar tam olarak programcılar için metin editörleri olarak en uzun geliştirme geçmişine sahiptirler). Editörlerin geri kalanı yakalama pozisyonunda.

    Komut kabuğu

    Komut kabuğu (veya komut yorumlayıcısı), herhangi bir nedenle kullanıcıdan komutları kabul eden bir programdır. basit dil bunları programlamak ve yürütmek. Komutların çoğu aynı adı taşıyan programları çalıştırır. Bireysel komutlar, kabuk programlama dilinin yapılarıdır.

    POSIX standardı, komut kabuğu tarafından sağlanan minimum yetenek kümesinin bir tanımını içerir. Aslında kullanılan mermiler, kural olarak, daha fazla olanak sağlar.

    DOS ve Windows ailelerinin işletim sistemi, komut kabuğunun bazı işlevlerini UNIX'ten ödünç aldı, ancak yazarları, COMMAND.COM ve cmd.exe'nin işlevselliğinin ciddi şekilde kısıtlandığı için önemli basitleştirmeler yaptı. PowerShell oldukça eşittir, ancak önemli ölçüde farklı bir şekilde çalışır.

    Bu makalenin amaçları doğrultusunda, derleyiciyi ve diğer geliştirme araçlarını çalıştırmak için kendimi bash kabuğunu (çoğu dağıtımda en yaygın ve varsayılan olarak) kullanmakla sınırlayacağım. Kabuk kullanımına ilişkin iyi bir genel bakış, örneğin ünlü kitapta bulunabilir. .

    belgeler

    GNU / Linux'taki tüm geliştirme araçları ve kitaplıkları genellikle oldukça iyi belgelenmiştir. Geleneksel olarak, dokümantasyon için özel bir format kullanılır ve onu görüntülemek için bir yardımcı programdır. Sistemdeki belgeler birkaç bölüme ayrılmıştır:

      Kullanıcı komutları (ls, gcc veya man gibi)

      Sistem Çağrıları - OS Kernel API

      Kütüphane işlevleri

      Sürücüler, vb.

      Dosya formatları

      Oyunlar vb.

      Çeşitli alt sistem görünümleri

      Sistem Yönetimi için Kullanılan Komutlar

    Bir belge bölümünü adıyla çağırmak için, man komutunu (örneğin, man ls) çağırırken bu adı belirtmelisiniz. Bazen aynı ada sahip bölümler aynı anda belgelerin birkaç bölümünde görünür. man'ı arayarak belirli bir bölüm belirtebilirsiniz (örneğin, man 3 printf).

    Man yardım sistemi hakkında daha fazla bilgi için bkz. man man.

    GNU sistem ortamı yardımcı programları, dokümantasyon için genellikle bilgi biçimini kullanır. Örneğin Coreutils bilgisine bakın.

    Derleyici

    Artık çeşitli standartlarla az çok uyumlu birçok C derleyicisi var. Ancak GNU Derleyiciler Koleksiyonu (GCC) içerisinde yer alan C derleyicisi hala GNU/Linux ortamı için şimdiye kadarki en kullanışlı derleyicidir. Bu derleyici, C standardına ek olarak, standardın bir dizi uzantısını destekler. Bu uzantılar özellikle Linux çekirdek kaynaklarında yaygın olarak kullanılmaktadır. Son zamanlarda, Linux çekirdeğini derleyebilen derleyiciler ortaya çıktı (örneğin, llvm-clang veya EKO).

    GCC derleyicisi, aşağıdaki gibi bir komutla komut kabuğundan başlatılır:

    gcc programı.c

    program.c giriş dosyasının adıdır. Ayrıca, POSIX standardına göre, derleyici cc program.c komutuyla başlatılabilir (cc, "C derleyicisi" anlamına gelir).

    Normal başlangıçta, derleyici oluşturmaya çalışır. çalıştırılabilir dosya... Varsayılan olarak, çıktı dosyası a.out olarak adlandırılır (bu ad eski UNIX sürümlerinden kalmadır). Derleyici seçeneği -o ile farklı bir ad verilebilir, örneğin,

    gcc -o program programı.c

    Birkaç modülden bir program oluştururken, derleyici birkaç kaynak dosyası veya nesne kodu dosyası girebilir, örneğin,

    gcc -o programı ana.c modül1.o modül2.o ...

    Yalnızca bir kaynak dosyayı nesne kodunda derlemek için (çalıştırılabilir bir dosya oluşturmaya çalışmadan), aşağıdaki gibi bir komut vermeniz gerekir.

    (varsayılan çıktı dosyası adı module.o olacaktır).

    Bir program oluşturmak için genellikle kütüphanelere ihtiyaç vardır. Linux iki tür kitaplık kullanır: statik bağlantı kitaplıkları ve dinamik bağlantı kitaplıkları. Statik bağlama ile, program oluşturulduğunda tüm kitaplık yürütülebilir dosyaya dahil edilir. Dinamik bağlama ile, yürütülebilir dosyaya yalnızca dinamik kitaplığın adı sığar ve bu dosyanın aranması ve bağlantı oluşturma, program başladığında gerçekleşir.

    UNIX benzeri sistemlerdeki statik kitaplık, bir dizi nesne dosyası içeren bir arşivdir (eski ar biçimindedir). Böyle bir arşiv, formun bir komutuyla oluşturulur.

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

    Kitaplık dosya adlarının önüne geleneksel olarak lib eklenir.

    Dinamik olarak yüklenen bir kitaplık, özel bir biçime sahip bir nesne dosyasıdır (bunun için tasarlanmıştır). dinamik yükleme). Böyle bir kitaplık, aşağıdaki gibi bir komutla oluşturulur.

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

    Bir program oluştururken kütüphaneyi kullanmak için derleyiciye -l seçeneğini kullanarak belirtmeniz gerekir, örneğin

    gcc -o programı -lm programı.c

    (burada libm.so kitaplık dosyası kullanılacaktır, derleyici varsayılan olarak lib önekini değiştirir). Varsayılan olarak, derleyici dinamik kitaplıkları kullanan bir program oluşturur. Kitaplıkların statik sürümlerini kullanmak istiyorsanız, derleyicinin -static seçeneğini belirtmesi gerekir.

    gcc seçenekleriyle ilgili ayrıntılar için man gcc'ye bakın.

    Selam Dünya!

    "Merhaba dünya!" dizesini veren bir program yazarak bir programlama dili öğrenmeye başlama geleneğinin Kernighan ve Ritchie'nin "C Dili" kitabıyla başladığına inanılıyor. ... C dili durumunda, bu program şöyle görünür:

    #Dahil etmek

    int ana(int argc, char * argv) (
    baskı("Merhaba dünya! \ N");
    dönüş 0 ;
    }

    Bu programı çalıştırmak için, bu metin merhaba.c adlı bir dosyaya yazılmalı ve bu dosyanın bulunduğu dizinden formun bir komutunu vermelisiniz.

    gcc -o merhaba merhaba.c

    Ancak bu kadar basit bir program olması durumunda şu komutu vermeniz yeterlidir.

    (Bu iki komutun neden aynı şekilde çalıştığını aşağıda açıklayacağım). Sonuç olarak, aynı dizinde merhaba adlı yürütülebilir bir dosya görünecektir. komutu ile başlatabilirsiniz.

    Montaj sırası

    Derleyicinin ne yaptığına daha yakından bakalım. C derleyicisinin prosedürü gelenekseldir ve diğer bazı dillerin derleyicileri tarafından kullanılır.

    Genel durumda, derleyici girdi olarak bir dizi kaynak dosyaya sahiptir. Gerçek derlemeye başlamadan önce, bu dosyalar sözde tarafından işlenir. önişlemci (cpp programı). Bu programın ana işlevi, #include gibi direktiflerin yürütülmesidir. Böyle bir yönergeyle karşılaşıldığında, önişlemci içeriği ekler. belirtilen dosya(bu durumda, stdio.h) bu yönerge yerine. Önişlemci birkaç yönergeyi daha anlıyor, ancak şimdi bunlar üzerinde durmayacağım.

    Önişlemciden sonra asıl derleme yapılır. Bu aşamada kaynak dosyalardan sözde. nesne dosyaları. Bunlar, yürütülebilir makine kodu içeren ancak henüz çalıştırılmaya hazır olmayan dosyalardır. İçlerinde eksik olan asıl şey, çağrılan kütüphane işlevlerinin adresleridir. Örneğin, printf() işlevinin kodu libc kitaplığında bulunur. Ve nesne dosyası bu işlevin yalnızca adını içerir. Ayrıca, nesne dosyası, içinde bildirilen tüm işlevlerin adlarını içerir.

    Nesne dosyaları ve kullanılan kitaplıklar, bağlayıcıya (ld programı) beslenir. Bağlayıcı, nesne dosyalarında ve kitaplıklarda çeşitli nesne dosyalarından (ada göre) çağrılan tüm işlevleri arar. Tüm işlevler bulunursa, bağlayıcı gerçek yürütülebilir dosyayı oluşturur. Bu durumda, çağrılan işlevlerin adları belirli bellek adresleriyle değiştirilir. Dinamik kitaplık kullanılması durumunda, kullanılan işlevin adı kalır ve program başladığında bu işlevi aramak için gerekli olacak dinamik kitaplık dosyasının adı buna eklenir.

    Gcc programının kendisi sözde bir sürücüdür. Yürütülebilir dosyayı almak için yukarıda belirtilen programları (veya seçeneklere bağlı olarak yalnızca bazılarını) çalıştırır.

    İkinci örnek: ikinci dereceden denklemleri çözme

    biraz daha fazla olarak karmaşık örnekİkinci dereceden denklemleri çözmesi gereken bir program düşünün. Kullanıcı kare üç terimlinin katsayılarını girer ve program gerçek köklerini döndürür. İşte böyle bir programın tam metni:

    #Dahil etmek
    #Dahil etmek

    / * çöz: kare denklemin köklerini hesapla.
    * a, b, c denklemdeki katsayılardır.
    * Kökler x1, x2'de saklanacaktır.
    * Dönüş değeri: gerçek köklerin sayısı.
    */
    int çöz (çift a, çift b, çift c,
    çift ​​* x1, çift * x2) (
    çift ​​D = b * b - 4 * a * c;
    çift ​​sqrtD;

    eğer (D> 0) (
    kareD = kare (D);
    * x1 = (-b - sqrtD) / (2.0 * a);
    * x2 = (-b + sqrtD) / (2.0 * a);
    dönüş 2;
    ) aksi takdirde (D< 0)
    0 döndür;
    Başka (
    * x1 = -b / (2.0 * bir);
    dönüş 1;
    }
    }

    int ana (int argc, karakter * argv) (
    çift ​​a, b, c;
    çift ​​x1, x2;
    int kök_sayısı;

    // Girdi katsayıları
    printf ("A:");
    scanf ("% lf", & a);
    printf("B:");
    scanf ("% lf", & b);
    printf("C:");
    scanf ("% lf", & c);

    // Denklemi çözün
    root_count = çöz (a, b, c, & x1, & x2);

    // Çıktı sonuçları
    geçiş (roots_count) (
    durum 0:
    printf ("(gerçek) kök yok. \ n");
    kırmak;
    dava 1:
    printf ("Bir kök:% 0.4lf \ n", x1);
    kırmak;
    durum 2:
    printf ("İki kök:% 0.4lf ve % 0.4lf \ n",
    x1, x2);
    kırmak;
    }

    Bir önceki örneğe benzeterek bu metni square.c dosyasına yazıp komut ile derlemeye çalışalım.

    gcc -o kare kare.c

    Ancak bu sefer şöyle bir hata alıyoruz:

    /tmp/cc6RNFIi.o: "çöz" işlevinde: square.c :(. metin + 0x6d): "sqrt" için tanımsız başvuru Collect2: ld 1 çıkış durumu döndürdü

    Burada sorun ne? Derleyicinin nedense sqrt () işlevine yapılan çağrıyı beğenmediği açıktır. Üstelik artık kaynak kod dosyasından değil, nesne dosyasından (bu cc6RNFIi.o) şikayet ediyor. Bu, kaynak dosyanın başarılı bir şekilde derlendiği ve bağlantı aşamasında problemlerin ortaya çıktığı anlamına gelir (metindeki program hatasından da anlaşılacağı gibi, ld standart GNU / Linux bağlayıcısıdır). Bağlayıcı sqrt () işlevini bulamadı. Bu durumda, bunun nedeni, bu işlevin libm kitaplığında yer almasıydı ve derleyiciden onu kullanmasını istemedik. Bu hatadan kurtulmak için derleme komutunu aşağıdaki şekilde değiştirmemiz gerekiyor:

    gcc -o kare -lm kare.c

    Bu komut hatasız çalışmalı ve yürütülebilir bir kare oluşturmalıdır.

    Oldukça karmaşık bir program oluştururken, birkaç kitaplık kullanmamız gerekecek ve belki de derleyiciye daha fazla seçenek belirtmemiz gerekecek. Komut oldukça uzun sürebilir. Peki, her seferinde manuel olarak yazmak mı? Numara. UNIX felsefesinin ilkelerinden biri şudur: "Otomatikleştirilebilen her şey otomatikleştirilmelidir." Burası en eski UNIX yardımcı programlarından birinin kullanışlı olduğu yer olan make programıdır. Kullanmak için Makefile adında (kaynak dosyamızla aynı dizinde) aşağıdaki içeriğe sahip bir dosya yazmamız gerekiyor:

    kare: kare.c $ (CC) -o [e-posta korumalı]-lm $<

    Artık sadece make komutunu vererek yürütülebilir dosyayı oluşturabilirsiniz. Nasıl çalışır?

    Yapmak

    Make, programlar oluşturmak içindir (ancak benzer birçok görevi otomatikleştirmek için kullanılabilir). Makefile adlı bir dosyayı okur ve içinde bir dizi kural görür. Her kural üç şeyi tanımlar: bir hedef (yani, birleştirilmesi gereken), kaynak dosyaların bir listesi ve kaynak dosyalardan bir hedef oluşturmak için yürütülmesi gereken bir dizi komut. Yukarıdaki örnekte square hedefin adıdır, square.c bu durumda tek kaynak dosyadır (birden fazla varsa boşluklarla ayrılırlar) ve ikinci satır komuttur. Değişkenler komutta kullanılabilir. Bazı değişkenlerin özel anlamları vardır. Özellikle, herhangi bir kuralda [e-posta korumalı] hedefin adını belirtir ve $< — первый исходный файл. Переменная $(CC) указывает на компилятор C, используемый в системе по умолчанию (в большинстве случаев это gcc , но бывает и что-нибудь другое).

    % joker karakter, hedef adında ve kaynak listesinde kullanılabilir. Örneğin, şöyle bir kural:

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

    adları .o ile biten dosyaların, .c son ekine sahip ilgili dosyalardan derlenmesi gerektiği anlamına gelir.

    Ek olarak, önceden bir dizi varsayılan kuralı bilmesini sağlayın. Bunlar arasında son örnekte bahsedilen kural ve kural vardır.

    %:% .c $ (CC) -o [e-posta korumalı] $<

    Bu kural sayesinde, "Merhaba dünya!" sadece merhaba komutunu çalıştırın cc -o merhaba merhaba.c.

    Bir dizi kuralla, make, hedeflerin birbirlerine ve kaynak dosyalara bağımlılıklarının bir grafiğini derler ve yalnızca komut satırında belirtilen hedefi oluşturmak için gereken komutları yürütür. Hiçbir hedef belirtilmezse, Makefile'de belirtilen ilk hedef oluşturulur.

    Bu yardımcı program hakkında daha fazla bilgi için, örneğin man make'ye bakın.

    sürüm kontrolü

    Kaynak kodu sürümlerini kontrol etmek için herhangi bir VCS kullanılabilir. Ancak GNU/Linux'tan bahsettiğimize göre, Linux çekirdeğini geliştirmek için kullanılan sisteme hızlıca bir göz atalım: git. Git, dahil olmak üzere oldukça fazla belge var. ve Rusça. örneğin benim makaleme bakın veya iyi bilinen bir dizi makale .

    Git'i kullanmaya başlamak için bir havuz - dosya sürümleri için bir havuz - oluşturmanız gerekir. Bu komutla yapılır

    Artık depoya dosya ekleyebilirsiniz. Ancak, nesne dosyaları ve yürütülebilir dosyalar gibi bazı dosyaların sürümlerini izlememize gerek yoktur. Bunları git değerlendirmesinden hemen hariç tutmak için aşağıdaki içeriğe sahip bir .gitignore dosyası yazın:

    * .o kare merhaba

    Şimdi komut

    file.gitignore içinde belirtilenler dışında, geçerli dizindeki tüm dosyaları depoya ekleyecektir. Bundan sonra, komutla taahhütte bulunabilirsiniz.

    Bu komut varsayılan metin düzenleyiciyi açacaktır. Burada taahhüde bir yorum yazmanız gerekecek. Bu durumda "Initial commit" gibi bir satır yeterlidir.

    hata ayıklama

    Linux'ta hata ayıklamak için gdb hata ayıklayıcı kullanılır. Ama önce programın hata ayıklamasının kolay olması için -g seçeneği ile derlenmesi gerekir. Şimdi sadece Makefile'ı değiştirip forma getirmemiz gerekiyor.

    kare: kare.c $ (CC) -o [e-posta korumalı]-lm -g $<

    ve programı yeniden oluşturun.

    Normal derleme sırasında, işlevlerin, değişkenlerin vb. adları yürütülebilir dosyaya girmez. -g seçeneği, derleyiciye bu bilgiyi yürütülebilir dosyanın uygun bölümüne yazmasını söyler. Ayrıca bu seçenek ile kaynak dosyadaki ofsetlerin ve satır numaralarının yazışmaları ile ilgili bilgiler çalıştırılabilir dosyaya yazılır.

    Hata ayıklama gibi bir komutla başlatılır

    gdb ./some-program -a -b

    Hata ayıklayıcıyı başlattığınızda, aşağıdaki gibi bir komut satırı istemi görünür:

    GNU gdb (GDB) 7.2-ubuntu Telif Hakkı (C) 2010 Free Software Foundation, Inc. Lisans GPLv3 +: GNU GPL sürüm 3 veya üstü Bu ücretsiz bir yazılımdır: onu değiştirmekte ve yeniden dağıtmakta özgürsünüz. Yasaların izin verdiği ölçüde HİÇBİR GARANTİ YOKTUR. Ayrıntılar için "kopyalamayı göster" ve "garantiyi göster" yazın. Bu GDB, "i686-linux-gnu" olarak yapılandırılmıştır. Hata raporlama talimatları için lütfen bakınız: ... /home/portnov/LUG/src/square...'den sembollerin okunması tamamlandı. (gdb)

    Hata ayıklayıcıyla çalışmak, genel olarak komut kabuğuyla çalışmaya benzer. Komutları girersiniz, hata ayıklayıcı bunları yürütür. Komut kabuğunda olduğu gibi, Tab tuşu kullanılarak komut tamamlama çalışır. Ek olarak, kısa olması için, belirsizliği önlemek için komutları ilk birkaç harfe kısaltabilirsiniz.

    En sık kullanılan komutlar şunlardır:

    Kaynağın başka bir parçasını yazdırın (10 satır yazdırılır). Komut adından sonra belirli satır numaralarını belirtebilirsiniz, örneğin l 10,15.

    Hata ayıklayıcı altında yürütmek için programı çalıştırın. Program en yakın kesme noktasına veya sonuna kadar çalışacaktır.

    Bir kesme noktası ayarlayın. Kesme noktasını ayarlamak istediğiniz satır numarası, komut adından sonra görünür.

    Bir satır program yürütün.

    İfadeyi değerlendirin ve yazdırın. İfade, komuttan sonra belirtilir. Böylece örneğin bir değişkenin değerine bir kez bakabilirsiniz.

    Sürekli görüntülenenler listesine bir ifade ekleyin. Bu ifadelerin değerleri her komut yürütüldükten sonra gösterilecektir. Her ifadenin yanında listedeki numarası yazdırılır. İfade numarasıyla birlikte undisplay komutunu kullanarak bir ifadeyi listeden kaldırabilirsiniz.

    Hata ayıklayıcıdan çıkın.

    GDB hakkında daha fazla bilgi için bkz. man gdb.

    X11 pencereleme sistemi

    Tarihsel olarak, UNIX, grafiksel görüntüler olmadığı için herhangi bir grafik ortamına sahip değildi ve olamazdı. UNIX'in grafik ortamı, ortak grafik ekranların ortaya çıkmasıyla aynı zamanda ortaya çıktı: 1984'te. İlk başta W (Pencere için) olarak adlandırıldı, daha sonra geliştirildi ve alfabenin bir sonraki harfi olarak adlandırıldı - X, sonraki sürüm X2 denir ... Şimdi X11'imiz var.

    X11, öncelikle TCP/IP ve UDP/IP üzerinden bir ağ protokolüdür. Bir protokolün bir istemcisi ve bir sunucusu vardır. İstemci "benim için bir pencere çiz", "üzerine bir düğme çiz" gibi bir dizi istek gönderir ve sunucu bunları yürütür. X11'in ana ilkelerinden biri "politikaları değil mekanizmaları tanımlamak"tır. Protokol, örneğin pencere çizme yeteneği sağlar, ancak tam olarak nasıl görüntüleneceğini belirlemez.

    Günümüzde en yaygın X sunucusu Xorg'dur (http://x.org); XFree86 hala hayatta; Xming, Windows için geçerlidir; donanımda X11 sunucu işlevselliği desteğinin uygulandığı donanım X sunucuları - "monitör + klavye + fare" kitleri vardır - bu tür kitler grafik terminalleri olarak kullanılır.

    X11 protokolü, örneğin HTTP'den farklı olarak, metin değil ikilidir - bu, ağ bant genişliğinden tasarruf ve sunucu tarafından istekleri ayrıştırma kolaylığı nedenleriyle yapılır. Ancak bu, bu protokol için istemcilerin oluşturulmasını karmaşıklaştırır: karmaşık ikili X11 isteklerini toplamak, örneğin metinsel HTTP isteklerine göre açıkça daha zordur. Bu nedenle, X istemcileri yazmak için, sunucuya X istekleri oluşturan ve gönderen özel işlev kitaplıkları kullanılır. En yaygın kütüphane libX11'dir. Daha modern bir seçenek libxcb'dir.

    X11 sorguları çok düşük seviyede. Örneğin, bir düğmenin işlevselliğini uygulamak için, pencereye bir dikdörtgen çizmeniz, içine metin yazmanız, fare düğmesini tıklamak için döngüde beklemeniz ve her tıklama ile tıkladığınız yeri kontrol etmeniz gerekir - dikdörtgenin içinde veya dışında o. Bu nedenle, sözde araç takımları ortaya çıkmaya başladı - libX11 üzerinde üst düzey sarmalayıcılar olan kitaplıklar.

    Tarihsel olarak, ilk araç seti Athena3D idi. Sonra Motif ve Tk vardı. Şimdi en yaygın olanları GTK + ve Qt'dir (kesinlikle konuşursak, Qt bir X11 araç takımı değil, X11 araç takımı olarak kullanılabilecek çok amaçlı bir çapraz platform kitaplığıdır).

    Merhaba, dünya GTK +

    Örnek olarak aşağıdaki programı düşünün. Tek düğmeli bir pencere gösterir. Bu düğmeye tıkladığınızda, "Merhaba dünya" mesajı görünür.

    #Dahil etmek

    // Bu fonksiyon mesaj diyaloğunu görüntüler.
    // main_window parametresi, iletişim kutusunun üst penceresine ayarlanmalıdır.
    geçersiz mesaj_kutusu (GtkWindow * ana_pencere, gchar * mesaj) (
    GtkWidget * iletişim kutusu, * etiket, * içerik_alanı;

    // Bir diyalog oluştur
    dialog = gtk_dialog_new_with_buttons ("Mesaj",
    ana pencere,
    GTK_DIALOG_DESTROY_WITH_PARENT,
    GTK_STOCK_Tamam,
    GTK_RESPONSE_NONE,
    BOŞ);
    // Bir etiket oluştur
    content_area = gtk_dialog_get_content_area (GTK_DIALOG (iletişim kutusu));
    etiket = gtk_label_new (mesaj);

    // "Yanıt" sinyalinde (kullanıcı bir düğmeyi tıkladığında çağrılır
    // diyalog), diyalogu yok et.
    g_signal_connect_swapped (iletişim kutusu,
    "cevap",
    G_CALLBACK (gtk_widget_destroy),
    diyalog);

    // Bir etiket ekle
    gtk_container_add (GTK_CONTAINER (içerik_alanı), etiket);
    // İletişim kutusunu göster
    gtk_widget_show_all (diyalog);
    }

    // Silme olayı sinyali için geri arama
    statik gboolean delete_event (GtkWidget * widget'ı,
    GdkEvent * olayı,
    işaretçi verileri)
    {
    // TRUE dönerse pencere kapanmaz.
    // Bu, bazı durumlarda pencerenin kapanmasını önlemek için kullanılabilir.
    YANLIŞ döndür;
    }

    // Yok etme sinyali için geri arama
    statik boşluk yok etme (GtkWidget * widget'ı,
    işaretçi verileri)
    {
    // Ana GTK + olay döngüsünü sonlandır
    gtk_main_quit();
    }

    // Düğme tıklaması için geri arama
    statik void merhaba (GtkWidget * widget'ı,
    işaretçi verileri)
    {
    // "data" parametresi burada ana pencereyi temsil eder
    message_box (GTK_WINDOW (veri), "Merhaba dünya!");
    }

    int ana (int argc,
    karakter * argv)
    {
    GtkWidget * penceresi;
    GtkWidget * düğmesi;

    // GTK +'yı başlat
    gtk_init (& argc, & argv);

    // Ana pencere oluştur
    pencere = gtk_window_new (GTK_WINDOW_TOPLEVEL);

    // Bazı sinyaller için geri aramaları ayarla
    g_signal_connect (pencere, "delete-olay",
    G_CALLBACK (delete_event), NULL);

    G_signal_connect (pencere, "yok et",
    G_CALLBACK (yok), NULL);

    // Pencere kenarlıkları genişliğini ayarla
    gtk_container_set_border_width (GTK_CONTAINER (pencere), 10);

    // Etiketli buton oluştur
    button = gtk_button_new_with_label ("Merhaba Dünya");

    // Düğmenin "tıklanan" sinyali için geri aramayı ayarla.
    // Ana pencereyi ikinci parametre olarak ilet.
    g_signal_connect (düğme, "tıklandı", G_CALLBACK (merhaba), (gpointer) penceresi);

    // Düğmeyi pencereye paketle
    gtk_container_add (GTK_CONTAINER (pencere), buton);

    // Düğmeyi göster
    gtk_widget_show (düğme);

    // Pencereyi göster
    gtk_widget_show (pencere);

    // Ana GTK + olay döngüsünü çalıştırın.
    gtk_main();

    Bu program, formun bir komutu ile birleştirilir

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

    ek literatür

    Raymond, Eric S. UNIX Programlama Sanatı. - Per. İngilizceden - M.: Yayınevi "Williams", 2005. - 544p., Ill.

    Kernighan B., Pike R. UNIX. Yazılım çevrilidir. - İngilizce'den Per. - SPb: Symbol-Plus, 2003 .-- 416s., Ill.

    Kernighan B., Ritchie D. Programlama dili C. - Per. İngilizceden - Moskova: Williams, 2006 .-- 304 s.

    Linux'a nasıl başlayacağınızı öğrenmeniz ve bu sistemin özelliklerini anlamanız için en iyi 10 video kursunu bir araya getirdik.

    1. Yeni Başlayanlar için Linux

    Size sistemi bir bütün olarak ve nasıl başlayacağınızı anlatan Linux hakkında bir video eğitimi ile başlayalım. Bu video kursu, Linux ile tanışmaya yeni başlayanlar için daha uygundur.

    2. Bir dizi ders "Linux Öğrenin"

    Bu video kursu, Linux'a başlamanız için tasarlanmıştır. Bu sistemi PC'nize kurmanıza yardımcı olacaktır. Bu video kursunun izleyicileri, Linux hakkında biraz bilgi sahibi olan kişilerdir.

    3. Linux yönetimi üzerine bir ders dersi

    Linux yönetimi hakkında ayrıntılı video kursu. Sistemin amacından MySQL yönetimine kadar değişen konularla ilgilenir. Hem yeni başlayanlar hem de deneyimli Linux kullanıcıları için uygundur.

    4. Bash'te Programlama

    Bash programlamayı öğrenmek için mükemmel bir İngilizce eğitimi. Linux ile çalışmanın çok önemli bir yönünü anlamanıza yardımcı olacaktır, ancak bu kursa önceki kurslardan birini izledikten sonra başlamak en iyisidir.

    5. Linux yönetimi

    Bu kurs size temel bir Linux bilgisi sağlayacak ve LPIC-1 sertifikalı olmanıza yardımcı olacaktır. LPIC-1 sertifikası ile bilginizi pekiştirmek istiyorsanız bu kurs tam size göre.

    6. Linux temelleri

    Linux ile çalışmanın temelleri üzerine kısa bir video kursu. Bu video kursuyla başlamak istiyorsanız, Linux kurulumuna aşina olmanızı tavsiye ederim, çünkü bu video kursu doğrudan sistemin kendisinde çalışmanın yönlerini tartışıyor.

    7. Komut satırıyla çalışmanın temelleri

    Linux komut satırıyla çalışma hakkında küçük ama çok kullanışlı bir İngilizce eğitimi. Bu video kursunda, dosya veya dizin oluşturma ve silme gibi basit işlemleri öğreneceksiniz. Linux'ta çalışma bilgilerini genişletmek isteyen herkes için uygundur.

    8. Vladimir Mozhenkov'dan GNU / Linux üzerine video kursu

    GNU / Linux ile çalışmanın temelleri üzerine basit ve anlaşılır bir video eğitimi. Bu video kursu hem acemi hem de deneyimli Linux kullanıcılarına yöneliktir.

    9. Bir dizi ders "Linux dünyasına giden yolunuz!"

    Bu eğitim videosu, sistem cron zamanlayıcısı ve yol değişkeni gibi şeylerle çalışmakla ilgilidir. Önceki derslerden birini okumadan bu kursa başlamamanızı tavsiye ederim.

    10. Linux yönetimi

    Listemizin sonuncusu, Linux ile çalışmanın tüm yönlerini detaylandıran bir video kursudur. Bu video kursu, deneyimli kullanıcıların bilgilerini genişletecek, kurs Linux'a zaten bir şekilde aşina olan ancak bu konuda daha fazla bilgi edinmek isteyenler için tasarlanmıştır.

    Linux mükemmel bir uygulama geliştirme ortamına sahiptir.

    Gambas programlama ortamı hakkında biraz. Programlama dili ve ortamı, Paris'in kenar mahallelerinden genç bir Fransız Benoit Minisini tarafından hem derleyicilerin yaratılmasından hem de flütten, oyunculuk öğretmekten ve profesyonel bir programcı olarak çalışmaktan aldığı zevk için yaratıldı.

    Bir işletim sisteminin parçası olarak çalışmak üzere tasarlanmış herhangi bir program gibi, Gambas da kullanıcının aşina olduğu bir arayüzü destekler - bu, grafiksel kullanıcı ortamı ve günümüz işletim sistemlerinin onsuz yapamayacağı, kullanıcının aşina olduğu, bu da kullanıcının istediği bölümü hızlı bir şekilde bulmasına yardımcı olur. menüde, kendi göreviniz üzerinde hızla çalışmaya başlayın.


    Menü seçeneği Dosya genellikle dosyalarla çalışmaya hizmet eden , bu durumda proje dosyalarıyla çalışmaya hizmet eder: Yeni proje ...(yeni bir proje oluşturma), Açık proje...(açık proje), En son aç(yeni bir proje açın), Açık örnek(açık örnek), Projeyi kaydet(projeyi kaydedin), Çıkış yapmak(ve çıkış).

    Bir proje üzerinde çalışmak için bir bölüm var Proje:

    Bunlar sırasıyla dosya derleme, proje derleme, yürütülebilir dosya oluşturma, kaynak arşiv oluşturma, kurulum paketi oluşturma, proje özellikleri, proje temizleme ve güncellemedir.

    Windows kullanıcıları için iki menü öğesi alışılmadık olabilir - bir kaynak arşivi ve bir yükleme paketi oluşturmak. Ancak unutulmamalıdır ki hem programlar hem de Linux işletim sisteminin kendisi her zaman açık kaynak kodları şeklinde mevcuttur. Linux'ta bir programı, programı derlemek ve kurmak için kaynak kodu ve işletim sistemi araçlarını kullanarak veya Windows'ta Kurulum'a benzer şekilde hazır bir kurulum paketi kullanarak iki şekilde kurabilirsiniz. Ancak, farklı Linux dağıtımlarında böyle bir kurulum paketi farklı olabilir ve kurulum paketine çift tıklayarak kurulumu yapmak her zaman mümkün değildir.

    Sonraki menü öğesi, yeni oluşturulan Gambas programının hata ayıklayıcısına atıfta bulunur ve başlat, duraklat, çalışan bir programı durdur, programı adımla ve ilerle ve tüm kesme noktalarını temizle gibi aşağı yukarı standart hata ayıklama araçlarına sahiptir.

    Bunu formun bölümleri takip eder - görüş(çalışma alanının tüm iletişim pencerelerini açar ve kapatır), araçlar ( Aletler) ve ipuçları ( ? ). Son bölüm oldukça ayrıntılı Yardım tarayıcısı programın en son sürümündeki Wiki'ye dayanmaktadır.

    Ana araç çubuğu, alışılageldiği gibi, ana menünün en sık kullanılan bölümlerini tekrarlar, tuşların atanması için araç ipuçlarına sahiptir.

    Proje formundaki grafik çalışması ve program kodu, aşağıdaki şekilde kısayollar kullanılarak hızlı geçiş yapılarak gerçekleştirilebilir. fmain.form ve Fmain.class, üzerine tıklayarak bir grafik düzenleyiciye veya bir kod düzenleyiciye girebilirsiniz. Her birinin kendi ana araç menüsü vardır. Aşağıdaki şekil, grafik düzenleyicinin araç menüsünü göstermektedir.

    Panodan kaydetme ve güncelleme, geri alma ve döndürme, silme ve yapıştırma gibi ana menü araçlarını tekrar eden olağan araçlara ek olarak, panelde ayrıca menü düzenleyiciye girme gibi bazı özel bileşenler de vardır. Sonuçta, program çalışması sırasında program penceresi haline gelen hemen hemen tüm formların bir ana menüsü olmalıdır. Bölümleri ve alt menüleri ile ana menünün hiyerarşisini oluşturmanızı sağlayan menü düzenleyicisidir.

    Birçok şekil ve özel sınıf içeren karmaşık bir proje oluştururken proje ağacı penceresini kullanabilirsiniz.

    Ana menü bölümünde bulunan Gambas'ı başlatın Uygulamalar:

    Bölümlerde, yeni bir proje oluştur, mevcut bir projeyi aç, yakın zamanda kullanılan bir projeyi kullan gibi geleneksel ve gerekli eylemlere ek olarak, bir örnek bölümü vardır ( Örnekler). Orada bir çok örnek var, kendi projeleriniz üzerinde çalışırken bunları kullanabilirsiniz.

    Yeni bir proje oluşturmak için öğesini seçin. Yeni proje.

    Projenin adını, başlığını girebileceğiniz, projenin yerleştirileceği yeri belirtebileceğiniz bir iletişim kutusu açılır. Gambas, bir projeyle ilgili her şeyi, projeden sonra isimlendirilecek olan belirli bir dizinde saklar. İletişim kutusunda gezinmek için sadece tuşuna basın Sonraki, ancak en başta ne tür bir proje yaratmayı düşündüğünüzü seçmelisiniz. Seçilebilecek üç seçenek vardır - bir grafik proje, bir terminal projesi, mevcut (sizinki veya değil) bir projenin bir kopyasını kullanan bir proje

    Örneğin bir grafik projesi seçelim.

    Bir grafik proje seçtikten, ona bir isim ve ikamet yeri verdikten sonra, kendimizi ilk adımı atmamıza izin verecek bir programlama ortamında buluyoruz - bir form oluşturmak. Bunu yapmak için, projenin "ağacının" görüntülendiği proje yöneticisinin sağ penceresinde, bölüme sağ tıklayın. Formlar ve açılır menüden bölümü seçin Yeni bir öğeye sahip bir seçim menüsüne yol açan Biçim(yeni bir form oluşturun).Form, form bir miktar içerikle doldurulduğunda ve proje oluşturulduğunda görünecek olan programın ana penceresidir. Form oluşturma iletişim kutusunda, çok sayıda pencere içeren orta ve büyük projeler için önemli olan formun adını ayarlayabilir, bir dizi seçenek belirleyebilirsiniz.

    Anahtarı tıklayarak Tamam, form ve program düzenleyicisi görünür. Görünüşe göre forma çeşitli düğmeler, pencereler ve programın diğer araçlarını yerleştirmek mümkün olacak. Ve editörde program kodu olacak her şey sığacak.

    Form, birçok kontrol gibi şu özelliğe sahiptir: Metin, bu, resim yazısı yerine görünecek metindir Form1.Form programı yürütürken. Eğer senSağ fare tuşuyla forma tıklayın, öğe açılır menüde görünecektir kod hangi kod düzenleyiciyi çağırır.


    Proje araç takımı tarafından ayrı bir alan işgal edilmiştir - araç kutusu... Çalışma alanına benzer şekilde inşa edilmiş olup, proje oluşturma araçlarının bulunduğu sayfaları açan çeşitli kısayollara da sahiptir.

    Mevcut Gambas bileşenlerinin listesi

    Program sezgisel ve çok kullanışlıdır, ayrıca araç ipuçları sayesinde program kodunu yazmanıza yardımcı olur.

    Yorumunuzu bırakın!