BACKEND Eğitimi:
Nest.js Eğitimi ve Sunucu taraflı uygulama geliştirme (230 saat):
Modül 1: Nest.js Girişi
1.1 Nest.js Nedir?
- js’in temel prensipleri
- TypeScript ve Express.js ile ilişkisi
1.2 Kurulum ve Proje Yapısı
- js projesi oluşturma
- Temel proje yapısı ve dosya organizasyonu
1.3 Temel Kavramlar
- Module, Controller, Service
- Dependency Injection
- Middleware kullanımı
1.4 RESTful API Temelleri
- Endpoint tanımlama
- HTTP metotları ve route parametreleri
- Request ve response Nesneleri
Modül 2: Veritabanı Entegrasyonu
2.1 TypeORM ve PostgreSQL
- TypeORM nedir?
- PostgreSQL ile veritabanı oluşturma ve Veritabanına bağlanılması
2.2 TypeORM ile Modelleme
- Entity ve Repository kullanımı
- Veritabanı tablolarının oluşturulması
2.3 CRUD Operasyonları
- Temel CRUD operasyonlarını gerçekleştirme
- TypeORM query builder kullanımı
2.4 Validation ve DTOs
- DTO (Data Transfer Object) kavramı
- Class-validator ile veri doğrulama
Modül 3: JWT Authentication ve Güvenlik
3.1 Passport.js ve JWT
- js kullanımı
- JWT ile kullanıcı doğrulama
3.2 Guard ve Middleware
- Auth guard ve middleware kullanımı
- Role-based yetkilendirme
3.3 OAuth ve Social Media Authentication
- OAuth protokolü
- Dış servislerle entegrasyon
3.4 Güvenlik Pratikleri
- SQL Injection, Cross-Site Scripting (XSS) önlemleri
- HTTPS kullanımı
Modül 4: GraphQL ve Nest.js
4.1 GraphQL Temelleri
- GraphQL kavramları
- GraphQL query ve mutationlar
4.2 Nest.js ve GraphQL Entegrasyonu
- js ile GraphQL servisi oluşturma
- Resolver ve schema kullanımı
4.3 Apollo Server ve Client
- Apollo Server kullanımı
- Frontend ile GraphQL entegrasyonu
Modül 5: Testing ve Hata Ayıklama
5.1 Birim Testleri
- Jest ve Supertest kullanımı
- Unit ve integration testler
5.2 Hata Ayıklama (Debugging)
- js uygulamalarını hata ayıklama
- Hata ayıklama stratejileri
Modül 6: Mikroservisler ve Nest.js
6.1 Mikro Servis Kavramları
- Mikro servis mimarisi nedir?
- Avantajları ve zorlukları
6.2 Nest.js ile Mikro Servis Geliştirme
- js ile mikro servis oluşturma
- İletişim ve veri paylaşımı
Modül 7: WebSocket ve Real-Time Uygulamalar
7.1 WebSocket ve Nest.js
- WebSocket protokolü
- WebSocket ile iletişim kurma
7.2 Real-Time Uygulama Geliştirme
- WebSocket ile anlık haberleşme
- Real-time uygulama senaryoları
Modül 8: Performans ve Optimizasyon
8.1 Performans Analizi
- Uygulama performansının değerlendirilmesi
- Optimizasyon stratejileri
8.2 Cache ve CDN
- Veri önbellekleme stratejileri
- CDN kullanımı
Modül 9: Docker ve Konteynerizasyon
9.1 Docker Temelleri
- Docker nedir?
- Docker konteynerleri ve avantajları
9.2 Nest.js ve Docker Entegrasyonu
- js uygulamasını Dockerize etme
- Docker-compose kullanımı
Modül 10: Proje Geliştirme ve Bitirme
10.1 Büyük Ölçekli Bir Proje Geliştirme
– Öğrenilen bilgilerin pratiğe dönüştürülmesi
– Projeyi planlama ve geliştirme
10.2 Bitirme ve Değerlendirme
– Projenin tamamlanması ve sunumu
– Öğrencilerle geri bildirim oturumları düzenleme
* Bu kurs C ve Sistem Programcıları Derneği ve Sistem Bilgisayar işbirliği ile düzenlenmektedir.
React, Capacitor.js ile Platform Bağımsız (Web, Mobil) Uygulama Geliştirme
FRONTEND Eğitimi:
React, TypeScript ve Capacitor.js kullanarak platform bağımsız (Web, Mobil, Masaüstü) uygulama geliştirme eğitimi: (220 saat)
Modül 1: Temel Arayüz Teknolojileri
1.1 HTML ve CSS Temelleri
- Temel HTML etiketleri
- CSS seçiciler, özellikler ve değerler
1.2 Uyumlu (Responsive) Tasarım ve Mobil öncelikli(Mobile First) Yaklaşımı
- Ortam sorguları (Media queries) kullanımı
- Mobil öncelikli (Mobile First) tasarım prensipleri
1.3 Temel JavaScript ve ES6+ Özellikleri
- JavaScript temelleri
- ES6+ özellikleri
Modül 2: React.js ve TypeScript
2.1 React.js Temelleri
- React bileşenleri ve JSX
- React State ve Props kullanımı
2.2 React Router ve Navigasyon
- React Router kullanımı
- Sayfa geçişleri ve navigasyon stratejileri
2.3 React State Yönetimi
- Context API ve Redux kullanımı
- Redux Toolkit, React-Redux Hooks ve Redux Saga
2.4 TypeScript ile React Entegrasyonu
- TypeScript temelleri
- TypeScript ile React uygulaması geliştirme
Modül 3: Capacitor.js ve Platform Bağımsız Uygulama Geliştirme
3.1 Capacitor.js Nedir?
- js’in temel prensipleri
3.2 Mobil Uygulama Geliştirme
- js ile mobil uygulama projesi oluşturma
- js eklentisinin kullanımı
3.3 Web Uygulama Geliştirme
- js ile web uygulama projesi oluşturma
- Platform bağımsız kodlama
3.4 Electron.js Temelleri
- js nedir?
- js electron.js eklentisi kullanımı
3.5 Masaüstü Uygulama Geliştirme
- js ve Electron.js ile masaüstü uygulama geliştirme
Modül 4: Tailwind CSS ve Responsive Tasarım
4.1 Tailwind CSS Temelleri
- Tailwind CSS’in avantajları
- Sınıf tabanlı CSS yaklaşımı
4.2 Responsive Tasarım
- Tailwind CSS ile uyumlu tasarım stratejileri
- Ekran boyutlarına göre düzen yönetimi
Modül 5: Hata Ayıklama (Debugging) ve Test Süreçleri
5.1 Hata Ayıklama Stratejileri
- Tarayıcı geliştirici araçları kullanımı
- Mobil ve masaüstü uygulamalarda hata ayıklama
5.2 Test Süreçleri
- Birim testleri (Unit test) ve entegrasyon testleri (integration test)
- React Testing Library ve Jest kullanımı
Modül 6: Uygulama Dağıtımı (Deployment) ve CI/CD
6.1 Uygulama Dağıtım Stratejileri
- Web, mobil ve masaüstü uygulamalarını yayınlama
- Apple App Store, Google Play markete uygulama ekleme
6.2 CI/CD ve Otomatik Dağıtım
- Continuous Integration (CI) ve Continuous Deployment (CD)
- GitHub Actions veya başka CI/CD araçları ile entegrasyon
Modül 7: Mobil ve Masaüstü Uygulama Optimizasyonu
7.1 Performans Analizi
- Uygulama performansının değerlendirilmesi
- Optimizasyon stratejileri
7.2 Offline Çalışma ve Cache Stratejileri
- Service Worker kullanımı
- Veri önbellekleme ve offline çalışma
Modül 8: Proje Geliştirme ve Bitirme
8.1 Büyük Ölçekli Bir Proje Geliştirme
– Öğrenilen bilgilerin pratiğe dönüştürülmesi
– Projeyi planlama ve geliştirme
8.2 Bitirme ve Değerlendirme
– Projenin tamamlanması ve sunumu
* Bu kurs C ve Sistem Programcıları Derneği ve Sistem Bilgisayar işbirliği ile düzenlenmektedir.
Typescript Programlama Dili
Typescript Programlama Dili (160 saat)
Modül 1: TypeScript Temelleri
1.1 Giriş
- TypeScript’in Önemi ve Kullanım Alanları
- JavaScript ve TypeScript arasındaki temel farklıklar
- TypeScript’in avantajları ve güçlü yanları
1.2 Kurulum ve Ayarlar
- js ve npm kurulumu
- TypeScript kurulumu
- TypeScript Proje yapılandırması ve “tsconfig.json” dosyası
1.3 İlk TypeScript Uygulaması
- Bir TypeScript dosyası oluşturma
- Temel TypeScript sentaksı
- TypeScript dosyasını derleme ve çalıştırma
1.4 TypeScript Entegrasyonu
- TypeScript ile yaygın IDE’lerin (VS Code, WebStorm, …) kullanımı
- TypeScript entegrasyonu için geliştirme araçları
Modül 2: Veri Tipleri ve Değişkenler
2.1 Temel Veri Türleri
- string, number, boolean, array, object veri türleri
- Tür çıkarımları ve tür bilgilendirmeleri
2.2 Değişkenler ve Sabitler
- let, const, var anahtar sözcükleri ile değişken tanımlama
- Blok faaliyet alanı ve fonksiyon faaliyet alanı
2.3 Türlere Alternatif İsimler Verilmesi ve Birlik Türleri
- Tür takma adları (Type aliases)
- Birlik türleri ve Kesişim türleri
2.4 Türlere İlişkin İleri Düzey Bilgiler
- Sayımlama Türleri ve Sabitleri ve literal türler
- Null Türü ve Undefined Türü
- Tür söylemleri (Type assertions)
Modül 3: Fonksiyonlar
3.1 Fonksiyon Tanımlama ve Çağırma
- Fonksiyonların ve Metotların Parametre Değişkenleri ve geri dönüş değerleri
- İsimli parametreler ve default argüman kullanımı
3.2 Rest Parametreler ve Spread Operatorü
- Rest parametrelerin ve spread operatorünün kullanımı
- İleri seviye fonksiyon kullanımı
3.3 Yüksek Düzeyli Fonksiyonları
- Callback fonksiyonlar
- Promise ve Async/Await kullanımı
3.4 Jenerik Fonksiyonlar ve Sınıflar
- Jenerik fonksiyonlar
- Jenerik sınıflar
Modül 4: Sınıflar ve Nesne Yönelimli Programlama (OOP)
4.1 Sınıflar ve Nesne Yaratma
- Sınıfların Tanımlanması ve Sınıflar Türünden Nesnelerin Yaratılması
- Yapıcı metotlar ve this kullanımı
4.2 Türetme İşlemleri ve Arayüzler
- Kalıtım (inheritance)
- Arayüzler (interfaces) ve implementasyon
4.3 Soyut Sınıflar ve Arayüzler
- Soyut sınıfların kullanımı
- İnterface’lerin ayrıntı
4.4 Sınıfların Statik Metotları
- Sınıfların Statik Metotları ve Statik Elemanları
- Örnek uygulamalar
Modül 5: Modüllerle Çalışma
5.1 Modüllerin Tanımlaması ve Kullanma
- Modüllerin avantajları
- Modüllerin tanımlaması ve kullanması
5.2 Modüllerde Import ve Export işlemleri
- Modüller arası veri alışverişi
- Default ve ismlendirilmiş exports
5.3 Modül Yapılandırma ve Farklı Modül Sistemleri
- CommonJS ve ES6 modül sistemleri
- Uygulama senaryoları
Modül 6: Genel Tavsiyeler ve İleri Seviye Konular
6.1 TypeScript Projelerinde Genel Tavsiyeler
- Kod düzeni ve yazım kuralları
- Kaynak Kodun Dokümantasyonu ve Kod İçi açıklamalar
6.2 İleri Seviye Konular
- Dekoratörler
- Tür Korumaları ve Koşullu Türler
- Yardımcı türler (Utility types) ve Eşleşmiş türler (mapped types)
Modül 7: TypeScript ve Web Geliştirme Entegrasyonu
7.1 Webpack ve TypeScript
- TypeScript projelerini yapılandırma
- Webpack entegrasyonu
7.2 TypeScript ve React, Angular, Vue.js Entegrasyonu
- TypeScript ile sık kullanılan framework’lerle çalışma
- Uygulama senaryoları
Modül 8: Hata Ayıklama ve Performans İyileştirmeleri
8.1 Hata Ayıklama Stratejileri
- TypeScript hata ayıklama araçları
- Hata ayıklama stratejileri ve ipuçları
8.2 Performans İyileştirmeleri
- TypeScript projelerinde performans analizi
- Optimizasyon stratejileri
Modül 9: TypeScript Ekosistemi ve Araçlar
9.1 TypeScript Ekosistemi
- Çok Kullanılan kütüphaneler ve araçlar
- TypeScript Kullanan Topluluklar ve TypeScrşpt İçin Kaynaklar
9.2 TypeScript İçin Editörler ve IDE’ler
- TypeScript ile uyumlu IDE’lerin kullanımı
- VS Code, WebStorm gibi yaygın kullanılan editörler
Modül 10: Proje Geliştirme ve Bitirme
- Küçük Proje Geliştirme
– Öğrenilen bilgilerin uygulamaya dönüştürülmesi
– Gerçek dünya senaryolarına dayalı küçük bir proje
* Bu kurs C ve Sistem Programcıları Derneği ve Sistem Bilgisayar işbirliği ile düzenlenmektedir.
Javascript ve Node.js ile Uygulama Geliştirme
Kursumuza ön kayıt yaptırmak için bu bağlantıyı kullanabilirsiniz.
Javascript programlama dili
Bu bölümde daha önce herhangi bir programlama dilinde çalışanlara yönelik Javascript programlama dili anlatılacaktır:
- Temel türler
- Tür dönüşümleri
- Fonksiyonlar
- Kontrol deyimleri (if, while, do-while, for, break, continue, switch, …)
- Nesneler
- Fonksiyon türleri
- Diziler
- Lambda ifadeleri
- Prototype kavramı
- Sınıflar
- import bildirimleri
Typescript programlama dili
Bu bölümde Typescript programlama dili Javascript programlama dili ile benzerlikleri ve farklılıkları doğrultusunda ele alınacaktır
Node.js
- Node.js kurulumu
- Node.js uygulaması geliştirmede kullanılan araçlar
- Javascript’in ES6’da eklenen özelliklerinin Node.js ile kullanımı
Node.js modül geliştirme
- Geliştirilen modüllerin kullanılabilir hale getirilmesi
- Geliştirilen modüllerin npm’ yüklenmesi
- Github ile repository oluşturma
- Örnek uygulamalar
Node.js Event
- EventEmitter sınıfı
- Ebvent Listener
- Örnek uygulamalar
Node.js IO (Input Output) işlemleri
- Standard IO (STDIN, STDOUT ve STDERR)
- fs modülü ile dosya işlemleri
- Dosya değişiklerinin izlenmesi
- Örnek uygulamalar
Node.js Streams
- Stream kullanımı
- Piped stream
- Paused Stream
- Örnek uygulamalar
Node.js Web Protokolleri
- http modülü
- HTTP GET
- HTTP POST
- WebSocket işlemleri
- SMTP Server
- Örnek uygulamalar
Çok kullanılan Node.js Framework’ler
- Express.js
- Koa.js
- Örnek uygulamalar
Node.js veritabanı işlemleri
- Node.js ile PostgreSQL kullanımı
- Node.js ile MongoDB kullanımı
- Node.js ile Temel Redis kullanımı
- Örnek uygulamalar
NodeJS ile TCP/IP Programlama
- TCP protokolü
- UDP protokolü
- Örnek uygulamalar
Node.js Test İşlemleri
- Birim testleri
- Örnek uygulamalar
Node.js Güvenlik
- Örnek uygulamalar
Node.js Uygulamalarının Performansı
- Örnek uygulamalar
Node.js Microservice uygulamaları
- Örnek uygulamalar
Node.js Uygulamalarının Debug Edilmesi.
Önkoşul: Daha önce herhangi bir programlama dilinde uygulamalı çalışma yapmış olmak veya C ve Sistem Programcıları Derneği’nin açmış olduğu Programlamaya Giriş kursu başarıyla bitirmiş olmak.
Kursumuza ön kayıt yaptırmak için bu bağlantıyı kullanabilirsiniz.
* Kurs ücreti duyuru sayfasında belirtilmektedir.
* Kursumuz gerçek zamanlıdır. Derslerimiz interaktif olarak yapılmaktadır.
Bu kurs C ve Sistem Programcıları Derneği ve Sistem Bilgisayar işbirliği ile düzenlenmektedir.
.NET Core FullStack (Backend + FrontEnd) Uygulama Geliştirme
Kursumuza ön kayıt yaptırmak için bu bağlantıyı kullanabilirsiniz.
Açıklama:Bu kurs, piyasada “full stack” kavramıyla anılan uygulama geliştirme yaklaşımının gerektirdiği konular gözetilerek oluşturulmuştur. Kurs içeriği, backend ve frontend konuları biçiminde ikiye ayrılmış olup, backend tarafında ASP.NET Core, frontend tarafında ise JavaScript, TypeScript, Vue.js, React, Angular, BootStrap gibi araçların kullanımı anlatılacaktır.
Kurs konularından bazıları aşağıdadır:
1) BackEnd Tarafı:
- Middleware kavramı
- Request ve Response Manipülasyonları
- Dependency Inversion, Inversion Of Control
- Dependency Injection
- Repository, UnitOfWork kalıpları
- Razor sentaksı
- MVC (Model ViewController) kalıbı
- Razor Engine ve Razor sentaksı
- Dinamik tür sistemi ve Expando Nesneler
- Transfer Data (ViewBag, ViewData, TempData)
- Tag Helper’lar, Validasyon, HTML Helper’lar
- Blazor Framework
- Entity Framework Core ile veritabanı işlemleri
- Authentication, Authorization, Oauth
- WebAPI ile Rest Servislerin Yazılması
- JWT (Json Web Token)
- CQRS Paterni
- Mikroservis Mimarisi
- Cookie, Session
- Onion Architecture
- RabbitMQ, MSMQ gibi mesaj kuyruklama altyapılarının kullanımı
- ASP.NET Core 9 ile Gelen Yeni Özellikler
2) FrontEnd Tarafı:
Temel HTML ve CSS konularının gözden geçirilmesi
BootStrap CSS Framework’ü
JavaScript
Bu kısımda JavaScript isimli script (betik) dili üzerinde durulacaktır.
- Veri türleri ve Dinamik Tür Sistemi
- Tür dönüşümleri
- Fonksiyonlar
- Akış kontrol mekanizmaları, Döngüler
- JavaScript ile Nesne Yönelimli Programlama
- Fonksiyonlar
- Diziler
- Lambda ifadeleri
- Prototype kavramı
- import bildirimleri
- Çalışma zamanı hatalarının yakalanması
React.js
- Dosya, Dizin Organizasyonu
- Komponent Oluşturmak
- React Hooks (Callback, Reducer)
- Navigasyon
- Material UI bileşenleri
- Flexbox
- Durum Yönetimi
- Context API ve Redux Toolkit
- JSX, Props
Vue.js
- Fonksiyonlar
- V-html, V-Once, VBind
- Event Binding, Modifier
- Two Way Binding
- Computed, Watchers
- js’de CSS sınıfları
- CLI
- Form ve Komponentler
- Yaşam Döngüsü
- Routing, Props
Angular
- Ng Direktifleri (Ngİf, NgFor, …)
- Angular form işlemleri
- Pipe, Routing
- Lazy Loading, Eager Loading
- RxJS Observable
- ServiceWorker
- Event Binding
- Property Binding
- Interpolation
- Change Eventleri
- Angular Material Component’leri
- ve diğerleri.
Önkoşul: Daha önce C# ile Nesne Yönelimli Programlama konusunda çalışma yapmış olmak ya da C ve Sistem Programcıları Derneği’nin açmış olduğu C# ile Nesne Yönelimli Programlama kursuna katılmış olmak.
* Kurs ücreti duyuru sayfasında belirtilmektedir.
Kursumuza ön kayıt yaptırmak için bu bağlantıyı kullanabilirsiniz.
Bu kurs C ve Sistem Programcıları Derneği ve Sistem Bilgisayar işbirliği ile düzenlenmektedir.
Gömülü Linux Sistemleri – Geliştirme ve Programlama
Kursumuza ön kayıt yaptırmak için bu bağlantıyı kullanabilirsiniz.
Online Gömülü Linux Sistemleri – Geliştirme ve Programlama Kursu (320 saat)
Giriş ve Temel Bilgiler
- Gömülü Sistemlere Genel Bir Bakış
- Gömülü Sistemlerin Karakteristik Özellikleri
- Bir Kaynak Yöneticisi Olarak İşletim Sistemi
- İşletim Sistemlerinin Alt Sistemleri
- Linux Sistemlerinin Tarhihsel Gelişimi
- Gömülü Linux Sistemi Ne Anlama Gelmektedir?
- Gömülü Linux Sistemlerinin Masaüstü Linux Sistemlerinden Farklılıklları
- Mikroişlemci, Mikrodenetleyici, SOC (System on Chip) ve SBC (Single Board Computer) Kavramları
- Gömülü Linux Sistemleri için Kullanılan Donanımlar, Raspberry Pi, Beaglebone ve Diğerleri
- Gömülü Sistemlerin Çevre Birimleri
- Gömülü Sistemlerde Bellek Birimleri
- Gömülü Sistemler İçin Emülatörler ve QEMU
Single Board Bilgisayarlar
- Single Board Bilgisayar Nedir?
- Yaygın Kullanılan Single Board Bilgisayarlar
- Single Board Bilgisayarların Uygulama Alanları
- Single Board Bilgisayarların Sınırlılıkları ve Handikapları
Raspberry Pi Donanımının Özellikleri
- Raspberry Pi Donanımındaki CPU, GPU ve RAM Özellikleri
- ARM İşlemcilerinin Özellikleri
- ARM işlemcilerinde Cortex Türleri ve Komut Kümeleri Çeşitliliği
- SD Kart Arabirimi
- GPIO Arabirimi
- I2C ve SPI Veri Yolları
- USB Arabirimi
- Video/Audio Özellikleri
- Ethernet ve Wireless Birimleri
- HDMI ile Bağlantı
- Güç Kaynağının Olması Gereken Özellikleri ve Soğutucu Gereksinimi
- Raspberry Pi Donanımında Kullanılan Soketler ve Kablolar
BeagleBone Black Donanımının Özellikleri
- BeagleBone Black Donanımındaki CPU, GPU ve RAM Özellikleri
- SD Kart Arabirimi
- GPIO Arabirimi
- I2C ve SPI Veri Yolları
- USB Arabirimi
- Video/Audio Özellikleri
- Ethernet ve Wireless Birimleri
- HDMI ile Bağlantı
- Güç Kaynağının Olması Gereken Özellikleri ve Soğutucu Gereksinimi
- BeagleBone Donanımında Kullanılan Soketler ve Kablolar
Gömülü Sistemlere Linux İşletim Sisteminin Yüklenmesi ve Kullanıma Hazır Hale Getirilmesi
- Uygun Linux Dağıtımının Belirlenmesi
- Gömülü Linux Sistemleri İçin Kullanılan Dağıtımlar ve Özellikleri
- Raspberry Pi Donanımlarında Kullanılan Yaygın Dağıtımlar
- Linux Dağıtımlarının Gömülü Sisteme Yüklenmesi
- Diskin Bölümlendirilmesi ve Buna İlişkin Komutlar ve Utility Programlar
- Toolchain Kavramı
- Doğal (Native) ve Çapraz (Cross) Toolchain’ler
- Gömülü Sistemler İçin Çapraz Derleyiciler (Cross Compilers)
- Ethernet ve Wireless Network Bağlantılarının Sağlanması
Linux Sistemlerinde Dosya Sistemleri
- ext2, ext3, ext4, xfs Dosya Sistemlerinin Genel Özellikleri
- Dosya Sistemlerinin Mount Edilmesi
- Dosya Sistemlerindeki Temel Dizinler ve Anlamları
- Dosya Bloklerı, i-node Kavramı
- Linux’ta Kullanılan Dosya Sistemlerinin Aşağı Seviyeli Tasarımları
- Dosya Sistemlerine Yönelik Aygıt Sürücüler
- Dosya Sistemi İle İlgili Komutlar ve Utility Programlar
- tmpfs ve ramfs Dosya Sistemleri ve Linux’ta Ramdisk Kullanımı
Ekran ve Görüntü Birimlerinin Programlanması
- Terminal Aygıt Sürücüleri
- Terminal Aygıt Sürücülerinin Programlanması
- X Window Sistemleri
- X Window Sistemlerinin Tasarımı ve Programlanmasıne İlişkin Temel Bilgiler
- Qt Framework hakkında Temel Bilgiler ve Basit Örnekler
- Framebuffer Kavramı ve Kullanım Alanları
- Framebuffer Aygıt Sürücüleri
- Linux’ta Framebuffer Kütüphanesinin Kullanımı
Çevre Birimlerinin Programlanması
- USB Arabiriminin Özellikleri
- libusb Kütüphanesinin Kullanımı
- Raspberry Pi ve BeagleBone Donanımlarında GPIO Uçlarının Kullanımı
- GPIO Uçlarının Programlanmasına İlişkin Örnekler
- I2C ve SPI Arayüzlerinin Kullanılması
- UART Kullanımı
- Raspberry Pi ve BeagleBone Black İçin Tasarlanmış GPIO Uçlarını Kullanan Hazır Kartlar (Add-on Boards)
- Sensörlerin İşlevleri ve Sensörlerin Kullanımına İlişkin Örnekler
- LCD Kullanımına İlişkin Örnekler
Linux Çekirdeğinin Konfigüre Edilmesi ve Derlenmesi
- Konfigürasyon İşleminin Anlamı
- Önemli Konfigürasyon Parametreleri
- Kernel Modüllerinin Çekirdeğe Eklenmesi
- Kernel Modüllerinin Bağımlılıkları
- Kernel Modülleri ile İlgili Araçlar, Komutlar ve Utility Programlar
- GNU Make Aracının Temel Düzeyde Kullanımı ve Make Dosyalarının Oluşturulması
- Linux Çekirdeğinin Derlenmesi
Gömülü Linux Sistemlerinde Kullanılan Ön Yükleyici (Boot Loader) Programlar
- Ön Yükleyici Kavramı ve Ön Yükleyicileri İşlevleri
- Birinci ve İkinci Düzey Ön Yükleyiciler
- Raspberry Pi ve BeagleBone Black Ön Yükleyici Mekanizması
- U-Boot (Das U-Boot) Önyükleyicisinin Genel Yapısı ve Kullanımı
Linux Sistemlerinin Başlatılma Süreci
- Masaüstü ve Gömülü Sistemlerde Linux Sistemlerinin Başlatılması
- Kernel Konfigürasyon Parametrelerinin Boot Sürecindeki Etkileri
- Linux Çekirdeğinin Yüklenmesine İlişkin Aşamalar
- Boot Süreci Sırasında Dosya Sistemlerinin Mount Edilmesi
- Boot Sürecinde Etkili Olan Script Dosyaları
Linux Sistemlerinde Kullanılan Init Paketleri ve Systemd Init Paketinin Kullanımı
- Init Paketlerinin İşlevi
- SysVInit ve Upstart Paketleri Hakkında Temel Bilgiler
- Systemd Paketinin Kurulumu
- Systemd Paketinin İşlevleri
- Daemon Kavramı
- Unit Dosyalarının Oluşturulması ve Servislerin Yönetilmesi
- Systemd İle Servis Yönetiminin Ayrıntıları
- Systemd Paketine İlişkin Komutların Kullanımı
Aygıt Ağacı (Device Tree)
- Aygıt Ağacı Nedir ve Ne Amaçla Kullanılmaktadır?
- Aygıt Ağaçlarına Neden Gereksinim Duyulmuştur?
- Aygıt Ağaçlarının Genel Yapısı
- Agıt Ağaçlarının Oluşturulması
- Aygıt Ağaçlarının Derlenmesi ve Tersine Derlenmesi (Decompile Edilmesi)
- Aygıt Ağaçları ve Boot Süreci
- Aygıt Ağaçları ve Aygıt Dosyaları
- Sistem Çalışırken Aygıt Konfigürasyonlarının Ayarlanması
Yocto Projesi
- Yocto Projesi Nedir?
- Poky ve bitbake Kavramları
- Katman (Layer) Kavramı ve Kullanımı
- Image Kavramı ve Kullanımı
- Image İsimleri
- Recipe Kavramı ve Kullanımı
- Log Mekanizması
- Build İşlemi
Buildroot Projesi
- Buildroot Projesi Nedir?
- Buildroot Çalışma Mekanizması
- Buildroot Konfigürasyonu
- Sistemin İsteğe Göre Özelleştirilmesi (Customization)
- Buildroot’a Yeni Paketlerin Eklenmesi
- Build İşlemi
Linux Sistemlerinde Kullanılan Log Sistemi
- log Mesajlarının User Mod ve Kernel Modda Oluşturulması
- syslod Daemon Programın İşlevi
- Loglamanın User Modda Programlama Yoluyla Yapılması
Linux Daemon (Servis) Programlarının Yazımı
- Daemon Programların Anlamı
- Daemon Programların Oluşturulması ve Devreye Sokulması
- Daemon Programların Konfigüre Edilmesi
- User Mod ve Kernel Mod Daemon Kavramı
- Linux Kernel İçerisindeki Kernel Mod Daemon’lar ve İşlevleri
Procfs ve sysfs Dosya Sistemlerinin Kullanımı
- proc Dosya Sisteminin Genel Yapısı ve Kullanımı
- sys Dosya sisteminin Genel Yapısı ve Kullanımı
Linux Aygıt Sürücülerinin Yazımı
- Aygıt Sürücülerinin Anlamı
- Linux Aygıt Sürücü Mimarisinin Tanıtımı
- Linux Çekirdek Modüllerinin Yazımı
- Çekirdek Modüllerinin Yüklenmesi ve Boşaltılması
- Karakter Aygıt Sürücülerinin Yazımı
- Aygıt Sürücülerde Senkronizasyon İşlemleri
- Aygıt Sürücülerde Bekleme Kuyruklarının Yaratılması ve Bloke İşlemlerinin Sağlanması
- Aygıt Sürücülerde Bellek Tahsisatları
- Aygıt Sürücülerin IO Portlarını Kullanması
- Aygıt Sürücülerde Kesme İşlemlerinin Yönetilmesi
- Blok Aygıt Sürücülerinin Yazımı
- Blok Aygıt Sürücülerinde Bellek Haritalaması ve DMA Kullanımı
- USB Aygıt Sürücüleri
- Kernel Thread’lerin Yaratılması ve Kullanımı
Kursumuza ön kayıt yaptırmak için bu bağlantıyı kullanabilirsiniz.
* Kurs ücreti duyuru sayfasında belirtilmektedir.
Bu kurs C ve Sistem Programcıları Derneği ve Sistem Bilgisayar işbirliği ile düzenlenmektedir.
Rust Programlama Dili
Kursumuza ön kayıt yaptırmak için bu bağlantıyı kullanabilirsiniz.
Kursun süresi: 250 Saat
Eğitmen : Kaan Aslan
Giriş
- Programlama Dillerine Genel Bakış
- Programlama Dillerinin Tarihsel Gelişimi
- Rust Programlama Dilinin Doğuşu ve Gelişimi
- Rust Programlama Dilinin Kullanım Alanları
- Rust Programlama Dilinin Tasarımsal Özellikleri
- Sistem Programlama Dili Olarak Rust
- Rust Dökümanları
- Yardımcı Kaynaklar ve Kitaplar
Rust Geliştirme Sisteminin Kurulumu ve Kullanımı
- Rust Geliştirme Araçlarının Windows, Linux ve macOS Sistemlerinde Kurulumu
- Rust Programlarının Derlenmesi ve Çalıştırılması
- Rust’ta “Merhaba Dünya” Programı
- Cargo Paket Yöneticisinin kullanımı
- Rust Kaynak Dosyalarının Organizasyonu
- Rust’ta Atomlara Ayırma ve Yazım Kuralı
Rust’ta Temel Türler ve Değişken Bildirimleri
- Statik ve Dinamik Tür Sistemine Sahip Programlama Dilleri
- Rust’ta Tür Sistemi ve Rust’taki Temel (Skaler) Türler
- Değişkenlerin Bildirimleri
- Değişkenlere İlkdeğer Verilmesi
- Değişkenlerde Değiştirilebilirlik (Mutability)
- Sabit İfadeleri ve const Bildirimleri
- Değişkenlerin Gölgelenmesi
Sabitler (Literals)
- Tamsayı Sabitleri
- Gerçek Sayı Sabitleri
- Karakter ve Byte Sabitleri
- String Sabitleri
- Ham String Sabitleri
- Byte String Sabitleri
- Ham Byte String Sabitleri
- C String Sabitleri
- Byte C String Sabitleri
- Bool Sabitler
Demetler, Diziler ve Dilimler
- Demetlerin (Tuples) Bildirimleri
- Demet Elemanlarına Erişim
- Demetlerin Açılması
- Dizi Bildirimleri
- Dizilere İlkdeğer Verilmesi
- Dizi Elemanlarına Erişim
- Demetlerle ve Dizilerle İşlemler
- Dilimlerin (Slices) Oluşturulması
- Dilimlerde Elemanlara Erişim
Fonksiyonların Tanımlanması ve Çağrılması
- Fonksiyon Tanımlanması
- Fonksiyonların Parametreleri
- Fonksiyonların Geri Dönüş Değerleri
- Fonksiyonların Çağrılması
Temel Operatörler ve Operatör Öncelikleri
- Aritmetik Operatörler
- Karşılaştırma Operatörleri
- Mantıksal Operatörler
- Bit Operatörleri
- Özel Amaçlı Operatörler
- Rust’ta Operatör Öncelikleri
Tür Dönüştürmeleri
- Programlama Dillerinde Kuvvetli ve Zayıf Tür Kontrolleri
- Otomatik Dönüştürme Kavramı ve Rust’ın Katı Tür Kontrolü
- as Operatörü
- From ve Into Trait’leri
- TryFrom ve TryInto Trait’leri
Deyimler
- Rust Deyimlerine Genel Bakış
- Rust Deyimlerinin Diğer Dillerdeki Deyimlerle Karşılaştırılması
- Rust’ta Deyimler de İfade Gibidir
- Rust’ta Deyimlerin Sınıflandırılması
- let Deyimi
- İfadesel Deyimler (Expression Statements)
- Bloklu İfadeler (Expression With Block)
- Bloksuz İfadeler (Expression Without Block)
- Blok İfadeleri
- Etiketki Blok İfadeleri
- if ve if let İfadeleri
- while ve while let İfadeleri
- for İfadesi
- İteratörlü for İfadesi
- loop İfadesi
- Range İfadesi
- break İfadesi
- continue İfadesi
- match İfadesi
- match Kalıpları
- Rust Deyimlerinin C, C++, Java ve C# Deyimleriyle Karşılaştırılması, Benzerlikler ve Farklılıklar
Değişkenlerin Faaliyet Alanları (Scopes) ve Ömürleri
- Modül Faaliyet Alanı (Item Scope)
- Kalıp Bağlama Faaliyet Alanı (Pattern Binding Scope)
- Blok İçerisinde Bildirilen Değişkenlerin Faaliyet Alanları
- if, for, while, match Gibi Deyimlerde Bildirilen Değişkenlerin Faaliyet Alanları
- Döngü Etiketlerinin Faaliyet Alanları (Loop Label Scopes)
- Başlangıç Faaliyet Alanı (Prelude Scope)
- Değişken Bildirimlerinde Gölgeleme ve Derleyici Optimizasyonu
- static Değişkenler
- Rust’taki Faaliyet Alanlarının C, C++, C# Dillerindeki Faaliyet Alanlarıyla Karşılaştırılması, Benzerlikler ve Farklılıklar
Referanslar ve Göstericiler
- Referans Bildirimleri
- Referansların Kullanımları
- Gösterici Bildirimleri
- Göstericilerin Kullanımları
- Değiştirilebilir (Mutubale) Referanslar ve Göstericiler
- Güvenli Olmayan Kod Blokları
- & ve * Operatörleri
- Göstericilerin Artırılması ve Eksiltilmesi
- Referanslar ve Göstericilerle İlgili Tür Uyuşumları
- Dizilerin Fonksiyonlara Parametre Referans Yoluyla Aktarılması
- Dizilerin Fonksiyonlara Dilimleme Yoluyla Aktarılması
- Dizilerin Fonksiyonlara Gösterici Yoluyla Aktarılması
- Rust’taki Göstericilerin ve Referansların C’deki Göstericilerden ve C++’taki Referanslardan Farklılıkları
Yapılar
- Yapıların Bildirimleri
- Yapı Elemanları
- Yapı Türünden Nesnelerinin Bildirilmesi
- Yapı Elemanlarına Erişim
- Yapıların İliştirilmiş (Associated) Fonksiyonları
- İliştirilmiş Fonksiyonların Tanımlanması ve Kullanımı
- Yapıların Demet Biçiminde Bildirilmesi
- Yapı Elemanlarında Görünürlük
- Yapı Elemanlarının Başka Bir Yapı Türünden Olması Durumu
- Yapı Türünden Göstericiler ve Referanslar
- Yapıların Fonksiyonlara Referans Yoluyla Aktarılması
- Yapıların Fonksiyonlara Gösterici Yoluyla Aktarılması
- Rust’taki Yapılarla C’deki Yapıların ve C++’taki Sınıfların Karşılaştırılması
Sahiplik ve Ödünç Alma
- Nesnelerinin Sahipliği
- Nesnelerinin Sahipliğinin Devredilmesi ve Taşıma Süreci
- Nesnelerin Ödünç Alınması
- Değiştirilebilen Nesnelerin Ödünç Alınması
- Nesnelerin Taşınmasının ve Ödünç Alınmasının Anlamı ve Rust İçin Önemi,
- Nesnelerin Kopyalanması
- Nesnelerin Taşınması ve Kopyalanmasının C++’taki Nesnelerin Kopyalanması ve Taşınması İle İlgisi
enum Bildirimi ve enum Sabitleri
- enum Bildirimi
- enum Sabitlerinin Kullanımı
- enum Sabitlerine Tür İliştirilmesi
Modüller
- Modüllerin Tanımlanması
- Modül Öğelerine Erişim
- Modül Öğelerinin Görünürlüğü
- use Bildirimi
Trait’ler
- Trait’lerin Tanımlanması
- Trait’lerin Gerçekleştirilmesi
- Default Trait Metotları
- Fonksiyonlarda Trait Bağlaması (Trait Bound)
- Trait’lerle Java ve C# Gibi Dillerdeki Arayüzlerin Karşılaştırılması
Makrolar ve Inline Fonksiyonlar
- Makro Kavramı, Makrolara Neden Gereksinim Duyulmaktadır?
- Dekleratif Makrolar
- Prosedürel Makrolar
- Metaprogramlama Kavramı ve Metaprogramlamaya İlişkin Temel Örnekler
- Inline Fonkisyonlar
- C’nin Önişlemcisi İle Rust Makrolarının Karşılaştırılması
- C’nin ve C++’ın Inline Fonksiyonlarıyla Rust’ın Inline Fonksiyonlarının Karşılaştırılması
Genelleştirilmiş (Generic) Fonksiyonlar, Yapılar ve Trait’ler
- Genelleştirilmiş Fonkiyonlar
- Genelleştirilmiş Yapılar
- Genelleştirilmiş Trait’ler
- Genelleştirilmiş Trait’lerde Bağlama (Trait Bound)
- Genelleştirilmiş enum Türleri
Öznitelikler (Attributes)
- Öznitelik Nedir?
- Rust’ta Özniteliklerin Oluşturulması
- Çok Kullanılan Standart Özniteliker ve İşlevleri
- Prosedürel Makrolarla Öznitelikler Oluşturma
Rust ve Nesne Yönelimlilik
- Rust Nesne Yönelimli Bir Dil Midir?
- Rust Nesne Tabanlı bir Dil Midir?
- Rust ve Nesne İlişkisi
- Rust’ın Nesne Yönelimlilik Bakımından Diğer Dillerle Karşılaştırılması
- İliştirilmiş Fonksiyonlar ve Trait’lerin Diğer Dillerdeki Benzerleri
Akıllı Göstericiler
- Box<T> Kullanımı
- Rc<T> Kullanımı
- Arc<T> Kullanımı
- Cell<T> Kullanımı
- RefCell<T> Kullanımı
- Weak<<T> Kullanımı
Rust’ta Çok Kullanılan Nesne Tutan Yapılar
- String Yapısı
- Vec<T>Yapısı ve Kullanımı
- VecDeque<T> Yapısı ve Kullanımı
- HashMap<K, V> Yapısı ve Kullanımı
- HashSet<T> Yapısı ve Kullanımı
- LinkedList<T> Yapısı ve Kullanımı
Dosya İşlemleri
- Dosya Kavramı ve Temel Bilgiler
- File Yapısı
- Dosyaların Açılması ve Kapatılması
- Dosyalardan Okuma Yapılması ve Dosyalara Yazma Yapılması
- BufReader ve BufWriter Yapıları Kullanılarak Okuma Yazma İşlemleri
- Dosyalar Üzerinde Diğer Temel İşlemler
Rust’ın Standart Kütüphanesinin Genel Tanıtımı
- Standart Kütüphanenin Genel Kapsamı ve İçeriği
- Kütüphane Öğelerinin Kod İçerisinden Kullanılması
Tarih ve Zaman İşlemleri
- Geçen Zamanın Temsili ve Duration Yapısı
- Sistem Zamanının Elde Edilmesi ve Değiştirilmesi
- Zamansal İşlemler
- Tarihlerle işlemler ve chrono Kütüphanesi
Dosya Sistemine İlişkin İşlemler
- Dosyaların Silinmesi, Kopyalanması, İsimlerinin Değiştirilmesi
- Dizinlerin yaratılması ve Silinmesi
- Dizin Girişlerinin Elde Edilmesi
- Diğer Önemli Dosya ve Dizin İşlemleri
Kütüphanedeki Nesne Tutan Diğer Önemli Yapılar
- BTreeMap ve BTreeSet Yapıları
- BinaryHeap Yapısı
İteratörler ve İteratörlerin Kullanımı
- Iterator Trait’i
- for Döngüsünün Iteratör Karşılığı
- İteratör Türleri
- Iteratör Trait’ini Destekleyen Yapıların Yazılması
- Nesne Tutan Yapıların İteratör Yoluyla Dolaşılması
- İteratör Yoluyla Geriye Doğru Dolaşım
- String Nesnelerinin İteratör Yoluyla Dolaşılması
- Dosya İşlemlerinde İteratör Kullanımı
- Özel İteratör Türleri
Rust’ta Asenkron Programlama Modeli
- İşbirliği İle Birlikte Çalışma (Coopertaive Multitasking)
- async/await Modeli
- async/await Modelinin Gerçekleştirimleri
- Asenkron Akım İşlemleri
Prosesler İle İlgili İşlemler
- Proses Kavramı
- Proseslerin Exit Kodları
- Proseslerin Çevre Değişkenlerinin Elde Edilmesi ve Oluşturulması
- Proseslerin Çalışma Dizinlerinin Elde Edilmesi ve Değiştirilmesi
- Proseslerin Yaratılması (Başka Bir Programın Çalıştırılması)
Thread’ler ve Thread Senkronizasyonu
- Thread Kavramı, Thread’lere Neden Gereksinim Duyulmaktadır?
- Thread’lerin Yaratılması
- Temel Thread İşlemleri
- Thread Senkronizasyonu ve Önemli Senkronizasyon Kalıpları
- Thread Havuzları
- Rust’ta Thread Güvenliliği
- Çok Thread’li Uygulamalarda Dikkat Edilmesi Gereken Durumlar
- Rust’ta Paralel Programlama
Soket Programlama ve Ağ Üzerinde İşlem Yapan Kütüphane Öğeleri
- Ağ Haberleşmesinin Tarihçesi ve OSI Katmanları
- IP Protokol Ailesi
- Soket Kütüphaneleri
- TCP/IP Programlama
- Server ve Client Programların Yazımı
- Çok Client’lı Server Uygulamaları
- UDP/IP Programlama
- UDP Server ve UDP Client Programların Yazılması
- Blokeli ve Blokesiz Soket İşlemleri
- Çok Client’lı Uygulamalarda Performans İyileştirmeleri
Rust’ın Standart Makroları
- Assert Makroları
- Debug Makroları
- Print ve Format Makroları
- Diğer Önemli Standart Makrolar
Rust Ekosistemi
- Cargo Build Sistemi ve Paket Yöneticisi
- Önemli Rust Araçları
- crates.io Merkezi Paket Deposu
- Ekosistemdeki Önemli Kütüphaneler
Rust’ın C İle Entegrasyonu
- C’de Yazılmış OLan Fonksiyonların Rust’tan Kullanılması
- Rust’ta Yazılmış Olan Fonksiyonların C’den Kullanılması
Ön Koşul: Daha önce herhangi bir programlama dilinde uygulamalı çalışma yapmış olmak ya da C ve Sistem Programcıları Derneğinde “Programlamaya Giriş” kursuna katılmış olmak.
Kursumuza ön kayıt yaptırmak için bu bağlantıyı kullanabilirsiniz.
* Kurs ücreti duyuru sayfasında belirtilmektedir.
Bu kurs C ve Sistem Programcıları Derneği ve Sistem Bilgisayar işbirliği ile düzenlenmektedir.
Go Programlama Dili ve Uygulamaları
Temel kavramlar
- Çevirici programlar, derleyiciler yorumlayıcılar
- İşletim Sistemleri
- IDE (Integrated Development Environment) programları
- Temel sayı sistemleri
- Go programlama dili hakkında temel bilgiler
- Go ortamının kurulması
- Hello, World programı
- Fonksiyon bildirimi
- Fonksiyonların çağrılması
Tür kavramı
- Go’da temel türler
- Tamsayı türleri, gerçek sayı türleri, char türü ve boolean türü
- Değişkenler ve faaliyet alanı
Fonksiyonlar
- Fonksiyonların geri dönüş değerleri
- return deyimi
- Fonksiyonların parametre değişkenleri
- Matematiksel işlem yapan yararlı metotlar
Sabitler
- Sabit kavramı
- Sabitlerin türleri
- Tamsayı sabitleri
- Gerçek sayı sabitleri
- bool türden sabitleri
- Karakter sabitleri
- Escape sequence karakterler
- Tamsayı sabitlerinin hexadecimal, binary ve octal gösterilişleri
- Gerçek sayı sabitlerinin bilimsel gösterilişi
- Sabit bildiriminde alttire karakterinin kullanımı
Temel Operatörler
- Operatörlerin sınıflandırılması
- Operatör önceliği
- Aritmetik Operatörler
- Karşılaştırma operatörleri
- Mantıksal operatörler
- Mantıksal operatörlerin kısa devre davranışları
- Atama operatörü
- İşlemli atama operatörleri
Kontrol deyimleri
- if deyimi
- for döngü deyimi
- break ve continue deyimleri
- switch deyimi
- select deyimi
- Örnek programlar
Tür dönüştürmeleri
- Farklı türlerin birbirine atanması
- İşlem öncesi otomatik tür dönüşümleri
- Tür dönüştürme operatörü
Paketler
- Paket kavramı
- Paket oluşturma
- Örnek programlar
Adres kavramı
- Adres kavramı
- Stack ve heap alanları
- Ömür (storage duration) kavramı
Göstericiler (Pointers)
- Gösterici kavramı
- Gösterici kavramı
- Gösterici parametreli fonksiyonlar
- call by value ve call by value kavramları
- Göstericiye geri dönen fonksiyonlar
- Göstericiyi gösteren göstericiler (pointer to pointrs)
- null adres kavramı ve nil sabiti
- nil sabitinin (null adresin) kullanını
- Örnek programlar
Yapılar
- Yapı bildirimleri
- Yapı elemanlarına erişim
- Yapı türünden göstericiler
- Örnek yararlı yapılar
Rassal sayı üretimi
- Rassal sayı üretimi
- Rassal sayı üretimi için kullanılan fonksiyonlar
- Örnek programlar
Go’da yazılarla (string) işlemler
- String kavramı
- Yaz ile işlem yapan Fonksiyonlar
- strings paketi
- Yazılarla işlem yapan diğer paketler
- Örnek programlar
Temel algoritma analizi
- Algoritmanın karmaşıklığı
- Karmaşıklığın ölçütü
- Karmaşıklığın gösterimine ilişkin notasyonlar
- Big O notasyonu ile çeşitli karmaşıklık durumlarının incelenmesi
- O(1), O(logn), O(n), O(n * Logn), O(n ^ 2), O(n ^ 3), … , O(n ^ k) karmaşıklıkları
- O(k ^ n), O(n!) gibi özel karmaşıklıklar
Diziler (Arrays) ve uygulamalar
- Dizi tanımlama
- Diziye ilişkin nesnelerin bellekteki durumu
- Dizi elemanlarına erişim
- Dizilere ilk değer verilmesi
- Dizilerin fonksiyonlara geçirilmesi
- Dizi döndüren fonksiyonlar
- Dizilere ilişkin temel algoritmaların yazımı
- Dizilere ilişkin yararlı fonksyionların yazımı
- Dizilerde bazı sıralama algoritmaları: kabarcık sıralaması (bubble sort) ve seçerek sıralama (selection sort) algoritmaları
- Yapı dizileri
- Gösterici dizileri
- Örnek programlar
Slices
- Slice kavramı
- Slice tanımlama
- Global slice fonksiyonları (len, cap, append, copy ve diğerleri)
- Slice ile ilgili işlemler
- Nil slice
- Örnek uygulamalar
range
- range kavramı
- range anahtar söcüğü ve kullanımı
- Örnek uygulamalar
Arayüzler (Interfaces)
- Arayüz kavramı
- Arayüzlerin kullanını
- Örnek uygulamlar
Hataların Ela Alınması (Error Handling)
- Standart error arayüzü
- Standart fonksiyonlarda hata işlemleri
- Hataların ele alınmasına yönelik fonksiyonların yazılması
- Örnek uygulamalar
Çöp Toplayıcı (garbage collector)
- Nesnelerin ömürleri
- Nesnelerin seçilebilir (garbage collected) duruma gelmesi
- Çöp toplayıcı’nın çalışma biçimi
- Çöp toplayıcıya ilişkin kullanılan bazı algoritmalar
Programın Komut Satırı Argümanları
- Program ve Process kavramları
- Programın komut satırı argümanları
- Progamın giriş noktası (entry point) olan main metodunun parametresi ve anlamı
- Örnek uygulamalar
* Kurs ücreti duyuru sayfasında belirtilmektedir.
Bu kurs C ve Sistem Programcıları Derneği ve Sistem Bilgisayar işbirliği ile düzenlenmektedir.
Flutter Ortamında Dart Programlama Dili İle Uygulama Geliştirme
Flutter Ortamında Dart Programlama Dili İle Uygulama Geliştirme
Kursun süresi: 180 Saat
Eğitmen : Kaan Aslan
Ön Koşul: Daha önce herhangi bir programlama dilinde uygulamalı çalışma yapmış olmak ya da C ve Sistem Programcıları Derneğinde “Programlamaya Giriş” kursuna katılmış olmak.
Python Uygulamaları
Kursumuza ön kayıt yaptırmak için bu bağlantıyı kullanabilirsiniz.
Genel Amaçlı Bazı İşlemlerin Gerçekleştirilmesi
Standart Kütüphanede Tarih ve Zaman İşlemleri Yapan Fonksiyonların ve Sınıfların Kullanımı
Dizin ve Dosyalar Üzerinde İşlemler Yapan Fonksiyonların ve Sınıfların Kullanımı
İşletim Sistemi İle İlgili Aşağı Seviyeli Önemli Bazı İşlemlerin Yapılması
Python’da Log’lama İşlemleri
Python’da Debugger Kullanımı
Zaman Ölçme İşlemleri ve Profiling
Sisteme İlişkin Önemli Bilgilerin Elde Edilmesi ve Değiştirilmesi
Çöp Toplayıcı Mekanizmanın Ayrıntıları
Nesnelerin Seri Hale Getirilmesi
Programların Komut Satırı Argümanları
Python’da Veritabanı İşlemleri
Veritabanı Yönetim Sistemleri (VTYS)
SqLite, MySQL ve SqlServer VTYS’leri Hakkında Temel Bilgiler
İlişkisel Veritabanları
Temel SQL Komutları
Python’da VTSY’e Bağlanma
VTYS’lere SQL Komutlarının Gönderilmesi
VTYS’lerle Sorgulama İşlemleri
Python’da Anahtar Değer Temelli DBM Veritabanı Kullanımı
Python’da Thread Uygulamaları
Thread Kavramı
Thread’lerin Yaratılması ve Sonlanması
Thread’lerle İlgili Temel İşlemler
Thread’lerin Stack’leri
Thread’lerin Bloke Olması
Thread Senkronizasyonu
Lock (Mutex) Mekanizması
Semaphore Nesnelerinin Kullanımı
Tipik Senkronizasyon Problemlerinin Ele Alınması
Senkronize Kuyruk Nesneleri
Python’da Paralel Programlama
Prosesler Arası Haberleşme Kavramı
Paylaşılan Bellek Alanlarının Kullanımı
Boru Mekanizmasının Kullanımı
Python’da GUI Uygulamaları
GUI Ortamlarında Mesaj Tabanlı Çalışma Modeli
PyQt Kütüphanesinin Kullanılması
Tkinter Kütüphanesinin Kullanılması
Python’da Proseslerarası Haberleşme ve Network Ağ Haberleşmeleri
IP Protokol Ailesi
Python’da Soket Programlama
Client-Server Çalışma Modeli
TCP/IP Uygulamaları
UDP/IP Uygulamaları
E-Posta Alma ve Gönderme
FTP İşlemleri
Dağıtık Uygulamaların Temelleri
Çeşitli Dosya Formatları Üzerinde İşlemler
Dosya Sıkıştırma ve Açma İşlemleri
CSV Dosyalarıyla ve Konfigürasyon Dosyalarıyla İşlemler
Temel XML İşlemleri
Temel HTML Parse İşlemleri
Numpy Kütüphanesinin Kullanımı
Numpy Kütüphanesinde Temel İşlemler
Numpy Dizileri İle Vektörel İşlemler
NumPy Dizilerinde İndeksleme ve Dilimleme
NumPy Kütüphanesinde Vektörel İşlemler Yapan Fonksiyonlar
NumPy ile Lineer Cebir İşlemleri
NumPy Dosya İşlemleri
İleri Düzey Numpy İşlemleri
Sembolik Matemetiksel İşlemler ve SymPy Kütüphanesinin Kullanımı
SymPy Kütüphanesinin Tanıtımı
SymPy’da İfadelerin Oluşturulması ve İfade Ağaçları
İfadelerin Sadeleştirilmesi
İfadelerin Açılması
İfadelerin Değerlerinin Elde Edilmesi
İfadeler Üzerinde Matematiksel İşlemler
Python’da Grafik Çizimleri ve PyPlot Kütüphanesinin Kullanımı
Grafik Çizimi İle İlgili Temel Nesneler
Grafiklerin Çizdirilmesi
Çizim Nesnelerine İlişkin Ayrıntılar
Çizgi Grafikleri, Çubuk Grafikleri, Histogram’lar, Pasta Grafikleri
Pandas Kütüphanesinin Kullanımı
Pandas Kütüphanesinin Amacı
Seriler Üzerinde İşlemler
Seriler Üzerinde İndeksleme
Seriler Üzerinde Dilimleme
DataFrame Nesneleri
DaraFrame Üzerinde Satır ve Sütun Seçme İşlemleri
DataFrame’ Sütun Ekleme ve Silme
DataFrame Üzerinde Aritmetik İşlemler
CSV Dosyalarının DataFrame Olarak Okunması
Eksik Veriler Üzerinde İşlemler
Verilerin Gruplanması ve Birleştirilmesi
Pandas’ta Verilerin Görüntülenmesi
Özel Bazı Konular
Şifreleme İşlemleri
Pyton’da Yazılım Test İşlemleri
Düzenli İfadelerle İşlemler (Regular Expressions)
Python’dan C ve C++ Kodlarının Çağrılması
Ön Koşul: Python Programlama dilinde çalışma yapmış olmak ya da C ve Sistem Programcıları Derneği’nin açmış olduğu Python Programlama Dili kursunu başarıyla bitirmiş olmak.
Kursumuza ön kayıt yaptırmak için bu bağlantıyı kullanabilirsiniz.
* Kurs ücreti duyuru sayfasında belirtilmektedir.
* Kursumuz gerçek zamanlıdır. Derslerimiz interaktif olarak yapılmaktadır.
Bu kurs C ve Sistem Programcıları Derneği ve Sistem Bilgisayar işbirliği ile düzenlenmektedir.