Sign in

Software Developer

Dokümantasyon konusunu ele aldığımız geliştirme sürecinin bu bölümünde Read the Docs(Sphinx) ile harici css kullanımı konusunu ele alacağız.

Yapılandırma

İlk adım olarak _static/css yolu altına bir css dosyası oluşturalım.


Dokümantasyon konusunu ele aldığımız bu geliştirme sürecinin üçüncü makalesi olarak bir önceki bölümde örneklediğimiz teknik dokümanı önce github hesabımıza yükleyeceğiz sonrasında Read the Docs altyapısı ile bağlayacağız. Bu sayede belirlediğimiz kriterler üzerinden ekip arkadaşlarımız veya açık kaynak bir proje söz konusuysa herhangi bir geliştirici github üzerinden bizim dokümanlarımızı geliştirmek adına pull requestler gönderebilirler.

Geliştirme sürecimizde izleyeceğimiz yoldan kısaca bahsettikten sonra hadi bu senaryoyu nasıl uygulayacağız bu sürece bir göz atalım.

Öncelikle ilk adım olarak bir git reposu oluşturuyoruz.


Bir önceki makalemizde Kaynak Kod Dokümantasyonu sürecini ele almıştık. Bu süreç içerisinde projelerimizin iş akışını geliştiriciye anlattığımız veya çalışma mantığını son kullanıcılara anlattığımız teknik (belge)dokümanlar hazırlama ihtiyacımız doğdu. Bu noktada Read the Docs ile yollarımız kesişti.

Read the Docs açık kaynak kodlu ve ücretsiz bir platform olup bize hızlı ve olabildiğince basit bir şekilde teknik dokümanlar oluşturabileceğimiz güçlü bir alt yapı sunuyor.

Read the Docs bizim için Sphinx Documentation Generator ile yazılımış dokümanlar oluşturmamızı sağlar. Sphinx, Python topluluğu tarafından oluşturulmuştur.

Sphinx ile web sayfaları, PDFler, e-Publar ve birçok farklı formatta dokümanlar oluşturabilirsiniz.

Detaylı teori bilgi için dokümantasyonun linkini buraya bırakıyorum.

Kurulum ve Hello World!


Son günlerdeki gündemim kaynak kod dokümantasyonu nedir? Her konuda olduğu gibi burada da farklı farklı (desenler) yaklaşımlar söz konusu mu? Temiz kod yazmak dokümantasyona girer mi? gibi sorular dönüp duruyor kafamın içinde.

Klasiklerden olan Structure and Interpretation of Computer Programs”, 1985 kitabının önsözünde geçen;

“Programlar insanların okuması için ve sadece tesadüfen makinelerde çalışması için yazılmalıdır.”

Yine Donald E. Knuth, Literate Programming”, 1984 tarihli makalesinde benzer bir vurguyla;

“Programların inşasına yönelik geleneksel tutumumuzu değiştirelim. Asıl görevimizin bir bilgisayara ne yapması gerektiğini söylemek olduğunu düşünmek yerine bir bilgisayarın ne yapmasını istediğimizi insanlara açıklamaya odaklanalım.”

Bugün arayacağımız cevaplar konusunda kafamızda bir şeyler oluşturduğumuza…


Bugün kurumsal bir proje geliştiriyorsanız mobil, web, masaüstü uygulamalar da dahil olmak üzere birçok farklı ortamdaki istemcileri desteklenmesi beklenebilir. Bu talepler yanında üçüncü tarafların kullanacağı APIler ve web servisler veya mesaj brokerlar aracılığıyla diğer uygulamalar ile entegre çalışması istenebilir.

İş mantığı çerçevesinde yukarıda bahsettiğimiz durumları göz önünde bulundurarak Monolitik ve Mikroservis yaklaşımlarını inceleyeceğiz.

Monolitik Mimari ve Mikroservis Mimarilerini önce ayrı ayrı ele alıp güçlü ve zayıf yönlerini ardından da yorumlar yaparak bu iki yaklaşım hakkında bilgi sahibi olacağız.

İlk adım olarak Monolitik Mimari’yi inceleyelim.

Geleneksel yaklaşımımız olan Monolitik yaklaşım sergilenerek geliştirilen projeler genellikle bir istemci, bir sunucu ve bir veri tabanı içerirler.

  • Monolitik yaklaşım için birden…


Selamlar, son zamanlarda Burak Selim Hocamızın makalelerinden etkilenerek ben de konfor alanımı terkederek Linux ortamında geliştirme alıştırmaları yapmaya karar verdiğim bu süreçte, ilk iş olarak eski bilgisayarımı yedekleyip Ubuntu üzerinde koşmasını sağlamak oldu. Ve bu durum beraberinde git/github terminali daha etkin kullanmam gerektiği sonucunu doğurdu. Ve bu teknik döküman ortaya çıktı.

GIT

  • Git’e kendimizi tanıtmak.
$ git config --global user.name "Mustafa Dikyar"
$ git config --global user.email "iammustafadikyar@gmail.com"
  • Yapılandırmamızı kontrol etmek.
$ git config --global user.name
$ git config --global user.email
  • Bulunduğumuz dizinin yolu almak.
$ pwd
  • Bulunduğumuz dizin içerisindeki dosyaları listelemek.
$ ls
  • Farklı bir dizine (Change Directory) geçmek.
$…


Herkese selamlar, bugün kaleme alacağım konu bir yazılım geliştirici olarak Unit Test noktasından başlayıp ne imiş arkadaş bu test diyerek incelemeye başladığım ve uçsuz bucaksız (Bu arada her birinin belirli bir sınırı ve amacı var :)) bir deryanın içerisinde kaybolduğum ve kendi penceremden anlamlandırmaya çalıştığım bu süreci sizler ile paylaşmak istedim.

image source : symmetrymagazine.org

Şimdi sözü fazla uzatmadan konumuza gelelim.

SDLC(Software Development Life Cycle) did you mean Yazılım Geliştirme Yaşam Döngüsü evet tam olarak bu arkadaşa nerede dahil oldukları ve içerdikleri ayrıntı düzeylerine göre dört temel gruba ayrılıyorlar.

Test süreçlerinde temel olarak eksik alanları belirlemek, bu döngünün aşamaları arasında oluşabilecek çakışmaları ve tekrarları…


Herkese selamlar, bugün ele alacağımız konu yine bir devam yazısı olacak. Identity makale serimizin bu beşinci yazısında identity kütüphanesi ile hazır olarak gelen hata mesajlarının nasıl özelleştirileceği konusunu ele alacağız.

Yazımıza devam etmeden önce konu bütünlüğünü kaybetmemeniz adına

makalelerini okuyarak devam etmenizi öneririm.

Hata Mesajlarının Özelleştirilmesi

Burada da özel validasyonların oluşturulması konusunda yaptığımız geliştirmeler benzer geliştirmeler yapacağız.

İlk olarak CustomErrorDescriberValidator adında bir sınıf oluşturuyoruz. Bu…


Herkese selamlar, bugün ele alacağımız konu yine bir devam yazısı olacak. Identity makale serimizin bu dördüncü yazısında kullanıcı belirli bir sayıda hatalı giriş denemesinden sonra ne gibi kısıtlamalar uygulayabiliriz? konusunu ele alacağız.

Yazımıza devam etmeden önce konu bütünlüğünü kaybetmemeniz adına

makalelerini okuyarak devam etmenizi öneririm.

KISITLAMALAR


Herkese selamlar, bugün ele alacağımız konu yine bir devam yazısı olacak. Identity makale serimizin bu üçüncü yazısında Identity Kütüphanesi ile varsayılan olarak gelen Çerez(Cookie) yapılandırmasının yönetilmesi konusunu ele alacağız.

Yazımıza devam etmeden önce konu bütünlüğünü kaybetmemeniz adına

makalelerini okuyarak devam etmenizi öneririm.

ÇEREZLERİN (COOKIE) YAPILANDIRILMASI

Mustafa Dikyar

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store