Articles

App Review Request in iOS

An important task that mobile app developers often face is encouraging users to rate and write reviews of their apps on the App Store or Google Play Store. In addition to increasing the popularity of the app, this can help you improve your app by getting users feedback. In this article, we will learn the best methods to request user ratings and reviews on the iOS platform. We will also look at how you can implement this process in both development frameworks with UIKit and SwiftUI.

Automatically Delete Screenshots on macOS

If we regularly take screenshots on our desktop or in a particular folder, these images can accumulate over time and consume unnecessary disk space. Additionally, these screenshots can be difficult to find and edit later. However, setting the default screenshot folder on macOS and clearing this folder regularly can help solve these problems. In this article, you will learn how you can set the default screenshot folder and set an automatic task to clean this folder regularly.

Higher Order Functions in Swift: A Guide to Improving Code Reusability and Readability

Higher Order Functions (HOFs) are powerful tools in Swift that can greatly improve the readability and reusability of code. These functions allow developers to pass functions as parameters or return functions as values from other functions, enabling the same functionality to be used across different functions. This can significantly reduce code repetition and make it easier to maintain and scale the codebase. Additionally, HOFs can make code more readable by using simple, concise functions with meaningful names.

How I Became an iOS Developer?

“I wrote this blog in Turkish about 1.5 years ago and it attracted a lot of attention. I wanted to share the English version with you again.” Last week, I posted a tweet to share my happiness, receiving more attention than expected, reaching 70,000+ people. Many people who have gone through similar paths or who want to start this journey have reached out to me and the questions were quite similar.

Hangi Dijital Araçları Kullanıyorum?

Teknoloji alanında hayatımı bir noktada kolaylaştırdığını düşündüğüm araçları kullanmayı oldukça seviyorum. Bu yüzden yeni çıkan araçları sürekli olarak deneyimleyip işime yarayanlar ile hayatıma devam ediyorum. Bu blogda yer alan araçların tamamını bir süredir (min. 2 ay) kullanıyorum ve bu deneyimlerimi sizlerle paylaşmak istedim. Blogu okumayı bitirdiğinizde, bahsettiğim toollardan bir tanesi dahi hayatınızı kolaylaştırmaya yardımcı olursa yazı amacına ulaşmış demektir. Araçları tanıtmaya başlamadan önce telefon ve bilgisayar tarafında Apple ekosistemini kullandığımı belirtmek isterim, bu bağlamda araçların bazıları diğer işletim sistemlerine uygun olmayabilir.

Swift'te Değer ve Referans Tipleri

Merhaba, bu blogda value/reference (değer/referans) tiplerinin özelliklerini, benzerliklerini ve farklılıklarını öğreneceksiniz. Aynı zamanda bu soyut kavramları aklınızda daha iyi canlandırmak için kod örnekleri ile pekiştireceğiz. Swift’teki türler iki kategoriye ayrılır. İlk kategori olan değer tipinde (value type) struct, enum, Tuple, Int, Bool, String ve Dictionary bulunur. Bu tiplerden biri ile tanımladığınız verilerin her biri hafızada benzersiz (unique) bir değer ile eşitlenir. Diğer kategori olan referans tipine örnek olarak class verilebilir. Class’tan oluşturduğumuz bir nesneyi farklı onlarca değişkene atasak bile hafızada karşılık geldiği değer aynı kalacaktır.

iOS Geliştiricilerinin 2022'de Odaklanması Gereken 5 Başlık!

Yeni bir yıl başladı ve çoğumuz muhtemelen bu yıl alanımızla alakalı neye odaklanmamız gerektiğini düşünüyoruz. iOS geliştirme dünyasında öğrenilecek ya da tekrar edilecek pek çok konu var. Donny Wals’un yazmış olduğu ve topluluğa katkı sağlayacağını düşündüğüm bu blogu Türkçeye çevirdim, keyifli okumalar! Bu kısa blogda, 2022’de daha iyi bir geliştirici olmanıza yardımcı olacağına inandığım beş şeyi listeledim. Daha doğrusu, 2022’nin ilk yarısı. Apple’ın bu yılki WWDC’de yeni ilginç şeyler yayınlamasını bekliyorum, yılın ikinci yarısı için yeni özelliklere göz atmak daha iyi olabilir.

Nasıl iOS Developer Oldum?

Geçtiğimiz hafta yalnızca mutluluğumu paylaşmak için attığım bir tweet, “beklediğimden” fazla ilgi gördü ve 70.000+ kişiye ulaştı. Benimle benzer yollardan geçen ya da bu yolculuğa başlamak isteyen pek çok kişi bana ulaştı ve aslında sorular birbirine oldukça benzerdi. Ben de tüm bu yolculuğu ve soruları tek bir blog yazısında toparlayarak topluluk için daha yararlı ve kalıcı bir hale dönüştürmeyi amaçladım. İşte karşınızda Sıfırdan Bire — iOS Developer Olmak! iOS Öncesi Üniversitenin ilk yıllarından itibaren günümüzün en popüler alanlarından biri olan yapay zeka, makine öğrenimi konularına ilgi duyuyordum fakat bir süre geçtikten sonra bu alanda çalışırken çok da keyif almadığımı “belki de benim için doğru alan bu değildir.

Swift ve Sınıflar

Bu yazıda Nesneye Yönelik Programlama’nın temel kavramlarından biri olan sınıfların (classes) Swift dilinde nasıl kullanıldığından bahsedeceğim. Olabildiğince sade ve gerçek hayattan örnekler vererek açıkladığım bir yazı olacak, şimdiden keyifli okumalar. Sınıf Nedir? Sınıf, nesne yönelimli programlama dillerinde nesnelerin özelliklerini, davranışlarını ve başlangıç durumlarını tanımlamak için kullanılan şablonlara verilen addır. Evet bu tanım biraz soyut olmuş olabilir, daha somut hale getirmek için gerçek hayattan örneklersek bu konunun daha net anlaşılacağını düşünüyorum.

SwiftUI ve Butonlar

Apple, butonları “Bir eylemi başlatan kontrol.” olarak tanımlıyor. Bu yazımda sizlere SwiftUI’da butonların işlevini ve bu butonları özelleştirmeyi anlatacağım. SwiftUI ve Butonlar Kapak Fotoğrafı Button nedir? Butonların ne olduğunu uzun uzadıya anlatmaya gerek olmadığını düşünüyorum, hepimizin bildiği gibi kullanıcıların dokunmasıyla aksiyon alan bir kontrol. Daha önce UIKit deneyiminiz var ise orada bulunan “UIButton” ile oldukça benzer. Fakat daha esnek ve çok daha kolay özelleştirilebilir. Az sonra bir kaç satırda oldukça güzel bir buton oluşturduğumuzu göreceksiniz.

Hangi Dijital Araçları Kullanıyorum?

Markdown desteği, yeni buton stili, özelleştirilebilir listeler ve daha fazlası Apple’ın her yıl düzenlemiş olduğu Worldwide Developers Conference yani kısaca WWDC, 2021 yılında bizleri pek çok yenilik ile karşıladı. Bu yazımda SwiftUI 3.0 ile birlikte gelen yenilik ve geliştirmelerden bahsedeceğim. SwiftUI 3.0’ın iOS 15, iPadOS 15, macOS 12 ve watchOS 12 ve üzeri sürümlerle uyumlu olduğunu hatırlatmakta fayda var. Tüm bu güncellemeleri anlatmaya başlamadan önce minik bir değişiklikten bahsetmek isterim, bir Xcode projesinde Info.

Python 3.9 - Bilmeniz Gerekenler

Python, topluluğun ihtiyaçları doğrultusunda sürekli olarak güncellenmeye devam ediyor. Aynı zamanda yakın gelecekte en çok kullanılan dil olma konusunda da büyük bir aday. Python’ın yeni versiyonu olan 3.9 sürümünde pek çok yenilik mevcut. Bu yazımda bu yeniliklerden bahsedeceğim. Beta Versiyon Kurulumu Beta versiyonu kullanabilmek için bazı kurulumlar yapmamız gerekiyor. Bu kurulumları yapmak için ihtiyacımız olan adımlar şunlar: wget [https://www.python.org/ftp/python/3.9.0/Python-3.9.0a5.tgz tar](https://www.python.org/ftp/python/3.9.0/Python-3.9.0a5.tgztar) xzvf Python-3.9.0a5.tgz cd Python-3.9.0a5 ./configure — prefix=$HOME/python-3.9.0a5 make make install $HOME/python-3.

Flutter’da Dinamik Tema Oluşturmak

Flutter’da çok pratik ve hızlı bir şekilde mobil uygulamalar oluşturabiliyoruz. Aynı zamanda Flutter uygulamamız için dinamik temalar oluşturmak da bir bu kadar kolay. MaterialApp widget’ın içinde koyu ve açık renk temalar için renk paleti belirleyebilirsiniz. Ayrıca uygulamanızın bazı kısımlarında Theme widget kullanarak temayı özelleştirebilirsiniz. Bununla birlikte, uygulamanızı geliştirirken kendi özel temanızı uygulamak isteyebilirsiniz. Flutter’da bulunan yerleşik tema, daha gelişmiş Flutter projeleri için yeterli gereksinimleri sağlayamayabilir. Diyelim ki uygulamanızın bir bölümünde çok fazla metin kutusu (textbox) var ve hepsine belirli renkler tanımlamak istiyorsunuz.

En Çok Kullanılan Python Metod ve Fonksiyonları

En Çok Kullanılan Python Metod ve Fonksiyonları Fonksiyonların, Python’ın en büyük avantajlarından olduğunu söylesek yanılmayız sanıyorum. En azından Veri Bilimi ile uğraşırken bizlere pek çok kolaylık sağlarlar. Ben de bu yazıda sizlere Veri Bilimi’nde en çok ihtiyacımız olan fonksiyon ve metodları derledim. Bir çoğumuz bu fonksiyonlara hakim olsak da zaman zaman unutulan veya eksik kalan kısımlar olabiliyor. O yüzden en temelden başlayalım! Aşağıdaki gibi bir değişkenimiz olduğunu varsayalım: a = ‘selam!

VS Code ile Jupyter Notebook

Bir çok yazılımcının en sevdiği IDE muhtemelen Visual Studio Code. Gerek stabilliği, gerek bilgisayarı az yorması ve temiz arayüzü sayesinde gönülleri fethetmeyi başarıyor. VS Code sayesinde pek çok yazılım dilini tek bir IDE ile yazabilmek mümkün. Az sonra VS Code üzerinde Jupyter Notebook kullanımı için gerekli kurulumları sizlere anlatacağım. Öncelikle, neden Jupyter Notebook? Kodun sadece belirli bir kısmını çalıştırabilirsiniz. (Yüzlerce satırlık programın sadece revize ettiğiniz yerini çalıştırarak daha çabuk çıktıya ulaşırsınız.

Google Developer Student Clubs Yolculuğu!

Herkese selam, bu yazıda sizlere Developer Student Clubs maceramdan ve deneyimlerimden bahsedeceğim. Öncelikle, Nedir bu Developer Student Clubs nam-ı diğer DSC? Google Developers tarafından desteklenen öğrenci topluluklarıdır. Adından da belli olduğu üzere teknolojiyle ilgilenmeyi seven geliştirici öğrencileri bir araya toplamayı amaçlıyor. Ayrıca tüm lisans ve lisans üstü öğrencileri kapsıyor. Bir çok yerde bu şekilde tanımlanıyor DSC, fakat bu kadar mı? Hayır, çok daha fazlası. :) Developer Student Clubs sayesinde öncelikle kendinizi ve core ekibinizi, daha sonrasında ise topluluğunuzdaki insanları güncel teknolojiler, bilhassa Google Teknolojileri hakkında bilgilendirip, Study Jam olarak isimlendirdiğimiz workshoplar düzenleyebiliyorsunuz.

Nasıl iOS Developer Oldum?

Planted December 21, 2021

Geçtiğimiz hafta yalnızca mutluluğumu paylaşmak için attığım bir tweet, “beklediğimden” fazla ilgi gördü ve 70.000+ kişiye ulaştı. Benimle benzer yollardan geçen ya da bu yolculuğa başlamak isteyen pek çok kişi bana ulaştı ve aslında sorular birbirine oldukça benzerdi. Ben de tüm bu yolculuğu ve soruları tek bir blog yazısında toparlayarak topluluk için daha yararlı ve kalıcı bir hale dönüştürmeyi amaçladım. İşte karşınızda Sıfırdan Bire — iOS Developer Olmak!

iOS Öncesi

Üniversitenin ilk yıllarından itibaren günümüzün en popüler alanlarından biri olan yapay zeka, makine öğrenimi konularına ilgi duyuyordum fakat bir süre geçtikten sonra bu alanda çalışırken çok da keyif almadığımı “belki de benim için doğru alan bu değildir.” diye düşünmeye başladım. Ek olarak bunu da eklemeliyim ki cross-platform dillerden biri olan Flutter ile 2019 yılında tanışıp bir süre haşır neşir olmuştum. Belki de mobil ile olan maceram Flutter ile ilerleyecekken, yapay zekanın sektördeki popülerliği sayesinde Flutter’a ara vermiştim.

Yapay zekanın benim için uygun olmadığına karar verdiğim ve arayışta olduğum süreçte radikal bir karar ile Monster’dan Macbook Pro’ya geçiş yaptım. Neden böyle bir geçiş yaptığımı blogun en altında soru cevap bölümünde detaylı anlatacağım. :)

Yolculuğun başlangıcı!

Yeni aldığım MBP’nun en büyük nimetlerinden birinin iOS geliştirme olduğunun farkındaydım. Her ne kadar Flutter konusunda belirli bir temele sahip olsam da sektördeki deneyimli abilerimden/ablalarımdan aldığım ve sizin de mutlaka en az bir kere duymuş olduğunuz “native asla ölmez.” tavsiyelerini dikkate alarak iOS geliştirmeye karar verdim. Başlarken bir yol haritasına da ihtiyacım olduğundan Udemy ve benzer platformlarda sıfırdan başlayan bir kurs araştırmaya başladım. Çevrenin tavsiye ettiği ve genel olarak beğenilen üç farklı içerik vardı.

İlk olarak Angela Yu’nun kursunu aldım ve 10 gün sonra iade ettim, peki neden? Bu kurs üzerinde çalışırken projeyi sıfırdan oluşturma, uygulamaya icon ekleme ve benzeri adımları Angela Yu bizler için hazırlamış ve direkt olarak repoyu klonlayarak üzerine yazdığımız bir senaryo hazırlanmış. iOS geliştirme ile belirli bir vakit geçirmiş insanlar için proje oluşturma adımları kolay olsa da benim gibi yeni başlayan kişilerin her seferin bu adımları tekrarlamasının kalıcılık sağladığını düşünüyorum. Ayrıca Udemy kurslarının pek çoğunun ezbere dayalı olduğunu, videoda gördüğün şeyi IDE’ye yaz ve çıktıyı gör şeklinde olduğunu düşünüyorum. (umarım linç yemem. 😶) Bu bağlamda bu seçenek elendi.

Dürüst olmak gerekirse Raywenderlich hakkında pek bir deneyimim yok bu seçeneği elememin sebebi içeriklerinin bir çoğunun ücretli olmasıydı. Çevreden duyduğum kadarı ile kaliteli içeriklere sahip bir platform.

Son olarak benim de seçtiğim ve tavsiye ettiğim seçenek olan hackingwithswift.com’a gelelim. Bu site üzerinde yeni başlayanlar için iki farklı challenge var. Bir tanesi UIKit diğeri ise SwiftUI. Ben Apple’ın en güncel frameworkü olması nedeniyle 100DaysOfSwiftUI tarafını seçtim fakat biraz yanlış bir başlangıç olmuş sanırım, bunu da soru cevap kısmında detaylı açıklayacağım.

Bana göre 100DaysOfSwiftUI içeriğini diğerlerinden ayıran ve verimli hale getiren pek çok özellik var. Bunlardan bir kaçından bahsetmek gerekirse, içeriğin günlük planlar halinde ayrılması ve 100 günlük bir yol haritasını sizler için oluşturması. Aynı zamanda bir şeyler öğrenmek için video izlemek herkes için en uygun seçenek olmayabilir, bu noktada videoların metin haline de ulaşabiliyorsunuz. Ayrıca tüm anlatılanlar proje üzerinden ilerliyor ve projelerin son kısımları “challenge day” içeriyor. Challenge günlerinde projeye kendi çabanızla bir şeyler eklemeniz bekleniyor ve ihtiyaç duymanız halinde “herhangi bir kod paylaşımı” olmadan minik ipuçları paylaşılıyor.

Elbette her zaman bu challenge günleri başarı ile tamamlanamayabiliyor. Bu noktada da stackoverflow ve benzeri platformlarda yaptığınız araştırmalar, araştırma yeteneğinizi arttırıyor.

100 Days of SwiftUI programında ilerlerken motivasyonumu korumak için sosyal medya hesaplarımdan günlük öğrendiklerimi paylaşmaya ve aynı zamanda GitHub hesabımdan da commit atmaya başladım. Unutmayın bu süreç bir sprint değil uzun bir maraton, o yüzden ani bir hype ile başlayıp 1 ay sonra bırakmaktansa, motivasyonunuzu koruyarak sakin ve emin adımlarla ilerlemek çok daha önemli.

Altın Kural

Bu süreçte tek bir altın kural edinmenizi tavsiye ederim. En yoğun gününüzde dahi en az 1 saat Swift ya da iOS geliştirme ile alakalı herhangi bir video, makale, blog ya da kod yazmak. Hatta bir arkadaşınızla iOS geliştirme hakkında ettiğiniz sohbeti bile buna dahil edebilirsiniz.

Mülakatlara başlama

Challenge’ın 3/4’üne geldiğimde kendimi daha rahat hissettiğimi ve en azından bir şeyler yazabildiğimi gördüm. Henüz üniversite son sınıf öğrencisi olduğumdan staj ve part-time ilanlara başvurmaya başladım. CV’mde iOS ile alakalı herhangi deneyim olmadığı için GitHub profilimde olan 100DaysOfSwiftUI reposunu öne çıkarmaya çalıştım. Bu süreçte ilanların bir çoğundaki gereksinimleri karşılamasam da yine de başvurmaktan çekinmedim ve şansımı denedim.

Pek çok şirketin juniorlar için oluşturmuş olduğu study-case birbiriyle benzer. Genel olarak API’den veriyi çekmek ve bunu listeye yansıtmak ve sonrasında detay sayfasına navigate etmenizi isteyen mobil uygulamalar oluşturmanızı bekliyorlar. Ben de bu süreçte öğrendiklerim ile bir şekilde buna benzer projeler oluşturmaya başladım, tabii o sıralar “design pattern”, “üçüncü parti kütüphaneler” ve benzeri konulardan bihaberdim.

Şirketlerin sizden beklediği, çalışan bir uygulama oluşturmanın yanı sıra uygulamayı oluştururken örneğin MVVM gibi bir design pattern ile oluşturmak ve “Alamofire” ya da benzer bir kütüphaneyi kullanarak resimleri getirmek gibi detaylar. Ayrıca yazdığınız kodların bilincinde olmak da önemli detaylardan bir tanesi. Tahmin edersiniz ki ilk yazdığım uygulamalarda bu söylediklerimin hiçbiri bulunmuyordu. Bu noktada 100 günlük challenge’a ara verip spesifik olarak öğrenmek istediğim kavramları araştırmaya başladım.

Mülakatlarca defalarca red aldım fakat her seferinde yaptığım projenin bir diğerinden daha iyi olduğunun farkındaydım. Ayrıca mülakatların bir diğer faydası ise kendi kendinize çalışırken hiç rastlamadığınız ya da öğrenmediğiniz konuları çok kısa sürede araştırma ile öğrenebiliyorsunuz. Bu yüzden mülakatlarda başarısız dahi olunsa gelişim için çok yararlı olduğunu düşünüyorum.

Ayrıca bu süreçte Türkiye’nin önde gelen markalarından birinin mobil takım lideri ile görüşme şansı yakaladım ve onun ile yaptığım görüşmeler mobil geliştirmeye olan vizyonumu arttırdı, hazır yeri gelmişken teşekkürlerimi iletmek isterim.

Tüm bu süreçlerin sonunda Appcent ile olan mülakat aşamaları olumlu tamamlandı ve bu sayede 6 ay önce başlayan iOS serüvenime “insanlık için küçük, benim için büyük” bir adım atmış oldum.

Ayrıca Appcent ekibine katıldığım ilk andan itibaren karşılama harikaydı, böyle bir ekibe dahil olduğum için oldukça mutluyum!

Sıkça Sorulan Sorular

Bu sorular bana Twitter ve Superpeer üzerinden en çok sorulan sorular, cevaplar kesinlikle doğru olmamakla beraber yalnızca fikrimi belirttiğimi eklemek isterim.

Genel Sorular

  • iOS geliştirmek istiyorum ama Mac’im yok mümkün mü?

Hackintosh ile mümkün olabilir fakat uzun vadede mutlaka bir MacOS işletim sistemine sahip bir donanıma ihtiyacın olacak.

  • SwiftUI ile mi başlamalıyım UIKit ile mi başlamalıyım?

Bana göre UIKit ile başlamalısın. SwiftUI ile pek çok şey daha kolay hale gelmiş olsa da UIKit bilmeyen bir geliştiricinin sektörde yer bulması henüz çok zor.

  • Bende iOS geliştirici olmak istiyorum, nasıl bir yol izlemeliyim?

İnternette pek çok roadmap var, bunlardan bir tanesini kaynak alıp ilerleyebilirsin. Ayrıca 100 days of Swift içeriği de ilk 100 gün için iyi bir yol haritası.

  • Macbook almak istiyorum hangisini alayım?

Tamamen bütçeniz ile alakalı bir durum. Hali hazırda satılan tüm Macler (M1 ve üzeri) iOS geliştirme için oldukça uygun, eğer bütçeniz el veriyorsa RAM’i 16GB yapmak güzel bir yatırım olabilir. Ayrıca eski intel maclerde pek tabii kullanılabilir fakat satın almadan önce detaylı araştırmakta fayda var.

  • İngilizce bilmiyorum, Türkçe kaynak var mı?

Udemy üzerinden Türkçe iOS kursları da var fakat ben deneyimlemediğim için yorum yapmam doğru olmaz. Seyfeddin abinin ve Veli abinin Youtube kanallarında SwiftUI içerikleri var, tavsiye ederim.

  • İlanlara başvuruyorum bir türlü kabul almıyorum, ne yapabilirim?

Eğer ilk aşamada red alıyorsanız GitHub üzerinde yaptığınız projeleri çeşitlendirebilirsiniz ve CV’de bu projeleri öne çıkarabilirsiniz. Study case aşamasında red alıyorsanız, yazıda da bahsettiğim gibi design pattern, cocoa pods ve benzeri detayları öğrenip kodunuzu geliştirebilirsiniz.

Kişisel Sorular

  • Herhangi bir altyapın var mıydı?

Bilgisayar mühendisliği okuduğum için elbette bir miktar altyapım vardı. Öncesinde java, dart ve python dilleri ile ilgilendiğim için OOP yapısına bir miktar aşinaydım fakat bu demek değil ki bu temel sayesinde bu hale geldim. Bölümünüz ne olursa olsun yeterli gayreti gösterirseniz başaracağınızı düşünüyorum.

  • Neden Monster satıp Macbook aldın?

Monster bilgisayara sahip olduğum zamanlar zamanımın pek çoğunu oyun oynayarak geçiriyordum. O sıralar iOS geliştirme ile hiç alakam olmamasına rağmen Macbook alarak kendime oyun oynamayı yasakladım diyebilirim aslında. Bu sayede oyun oynayarak geçirdiğim zamanları daha verimli hale getirdim.

  • Motivasyonunu kaybettiğin zamanlar oldu mu?

Elbette oldu, bu süreçte zaman zaman çalışma sürelerimi azalttım fakat genel olarak motivasyonumu korumamın en büyük sebebi atmış olduğum günlük commit ve instagram hikayeleri oldu. Ayrıca kendinize bir study-buddy bulmanızı tavsiye ederim, bu maraton tek başına çekilmiyor. :)

Hazır study-buddy konusu açılmışken, bu maratonda bana eşlik eden Mehmet Ali ve Giray’a da selamlarımı iletiyorum.

  • Daha fazla sorum var.

Twitter ya da Superpeer hesabım üzerinden sorularını sorabilirsin, en yakın zamanda cevaplıyor olacağım!

Kapanış

6 ay önce başlayan tüm bu serüvenimi sizlere anlatmaya çalıştım. Umarım burada yazılanlar birilerine ilham olur. Bu yolculuğun bir maraton olduğunu unutmayın, uzun ama bir o kadar da keyifli bir maraton. Ayrıca burada yazanların tamamı 4. sınıf üniversite öğrencisi bir junior iOS geliştirici ağzından yazıldı, elbette yanlış bildiğim detaylar olabilir, amacım yalnızca bu yolculuktaki deneyimleri diğer insanlara aktarmak. Umarım keyifle okumuşsunuzdur. :)

Ayrıca bu yazıyı yazarken verdiği geri bildirimler için İrem’e teşekkürler. 🐨

Geri bildirim ve sorularınız için bana Twitter, Superpeer ya da hi@dogancan.dev mail adresinden ulaşabilirsiniz.