Skip to content

tufanoruk/Notlar

Repository files navigation

Giriş

Yazılım teknolojileriyle iligi yaptığım çalışmaları, öğrendiklerimi, aldığım dersleri ve okumaları zaman zaman burada paylaşıyorum. Kapsamın yazılım teknolojilerine yeni başlayan ya da başlayacak olanlar için faydalı olacağını düşünüyorum.

Çalışmaya yıllarca önce teknoloji öğrenmekle ilgili yaptığım denemeleri güncel geliştirme ortam ve araçlarına taşıyarak başlamaya karar verdim. Geliştirme ortamı olarak VSCode'u seçtim. Geçmişte yoğun olarak kulllandığım Vi, Emacs ve Eclipse'den sonra çalışma sürecini hızlandıran kolaylıklar sağlıyor. Ama temelde yapılan iş her zaman aynı.

  1. Kodu yaz,
  2. Konfigürasyon kontrole gir,
  3. Derle / inşa et,
  4. Çalıştır / test et / hata bul,
  5. Başa dön.

Geçmişte komut satırından elle yapılan bu işleri tek arayüzden yapmak kolaylık sağlıyor. Ama komutların detayını ve elle nasıl yapılacağını bilmeden bu zengin geliştirme ortamlarını (IDE) kullanmak, özellikle ortam problemlerinin tespit ve çözümünde zorluklara neden olabilir. Bu nedenle kullanılan ortamdaki araçlarla işleri elle / komut satırından yapacak bilgiye ya da bu bilgiye nasıl ulaşılacağını (man sayfaları gibi) bilmek gerekli. Kısaca IDE'den yapılan temel işlerin (derleme, kod çalıştırma, test, debug, konfigürasyon kontrol, ...) komut satırından da nasıl yapıldığının bilinmesinin önemli. Bu bilindiği taktirde hangi IDE'nin kullanıdlığının çok önemi yok ve herhangi bir IDE'yi öğrenmek hızlı ve daha kolay olur.

Yazılım geliştiren bir kişinin programlama dili yanında mutlaka onun derleyicisi (compiler) / yorumlayıcı (interpreter)'sının CLI komutlarının neler oldığunu, inşa (build) için kullanılan mekanizmayı (autoconf, makefile, cmake, ant, maven, ...) bilmesi gerekli. Diğer önemli konu da konfigürasyon kontrol. Konfigürasyon kontrolün önemi ilk kodun yazıldığı günlerden itibaren anlaşılmış ve araçlar geliştirilmiş. Kabaca sırasıyla SCCS, CVS, SVN ve şimdi de ağrılıklı olarak Git kullanılıyor. Ben de pek çok kişi gibi konfigürasyon kontrol aracı olarak Git ve uzak depo (remote repository) olarak da GitHub'ı seçtim.

İçerik

VSCode

Git

Docker

Kodlama Pratiği

Yazılım Mühendisliği

Servis "Docker"laştırma

"Vagrant Box"da "Docker Container"

Modern C++ (C++14)

OpenAPI


Kaynaklar


Projelerden seçmeler

Proje Teknoloji Not
Mosquito performans C / MQTT MQTT açık kaynak gelişitrmesi olan mosquito için gecikme, jitter ölçümü.
Kasa Python / AWS S3 Amazon S3 ve yerel makineye dosyaların yerelde şifrelenerek etkin şekilde yedeklenmesi.
PlatformData Python / node / PubSub / MQTT / Web Girilen rota, sürat ve mevki bilgisine göre platformu ilerleten ve MQTT pubsub mekanizması ile bunu Internet tarayıcı istemcilere dağıtan bir deneme.
HostPing Perl / JS / C / Apache / HTML Ping için basit bir web arayüzü. Teknoloji entegrasyon gösterimi.
Find Furthest Number C++17 / Boost asio İşe alımlarda uygulanan yetenek / algılama testlerinden biri.
WordleHelper Python Worlde kelime bulma oyununu oynarken kelime bulmaya yardımcı olan bir uygulama.

Releases

No releases published

Packages

No packages published