Berat Bozkurt

Merhaba, Ben Berat Bozkurt 🤙🏼

Frontend developer olarak çalışıyorum

Fotoğraf çekmeyi, seyehat etmeyi seviyorum. Ayrıca yararlı bulduğum içerikleri twitter'da, açık kaynak projelerimi github'ta, çektiğim fotoğrafları ise unsplash üzerinden paylaşıyorum. Ayrıca bu blog da ise deneyimlerimden teknik yazılarımdan ve hayatımdaki gelişmelerden bahsediyorum.

# Son Yazılar

MacOS'ta Birden Fazla Github Hesabı Nasıl Kullanılır?

Teknik07 Ekim 2022 2 dk okuma

Eğer sizde benim gibi bilgisayarınızda birden fazla github hesabı kullananlardansınız problem yaşamışsınızdır. Sürekli hesap değiştirmek, config ayarlamak... Bir süre sonra insanı darlamakta. O yüzden bugün uyguladığım bir çözümü sizlerle de paylaşmak istedim.

Not: Bu anlattıklarım MacOS işletim sistemi için geçerlidir.

1. SSH Key Oluşturalım

# öncellikle ssh dizinine gidiyoruz
cd ~/.ssh  

# burada kisisel mail adresinizi ve dosya adını giriyorsunuz
ssh-keygen -t rsa -C "[email protected]" -f "kisisel-github" 

# burada iş mail adresinizi ve dosya adını giriyorsunuz
ssh-keygen -t rsa -C "[email protected]" -f "is-github" 

2. SSH Key'leri Bilgisayarımıza Kaydedelim

# burada kisisel github hesabınızın ssh key'ini ekliyoruz
ssh-add -K ~/.ssh/kisisel-github

# burada iş github hesabınızın ssh key'ini ekliyoruz
ssh-add -K ~/.ssh/is-github 

3. SSH Key'leri Github Hesaplarımıza Ekleyelim

### ssh keyimizi kopyalayıp kişisel github hesabımıza kayıt edelim.
pbcopy < ~/.ssh/kisisel-github.pub

Burada kopyalanmış olan kodu Github ayarlarından yeni SSH ekle deyip bu kodu kaydedelim. Aynı işlemi bir sonraki adım için de uygulayın.

### ssh keyimizi kopyalayıp iş github hesabımıza kayıt edelim.
pbcopy < ~/.ssh/is-github.pub

4. Config Dosyasını Oluşturalım

# config dosyasını oluşturalım ve düzenleyelim.
touch ~/.ssh/config
open -e ~/.ssh/config

Açılan pencerede şu yapılandırmaları ekleyelim.

#kişisel
Host kisisel-github.com
	HostName github.com
	User git
	IdentityFile ~/.ssh/kisisel-github

#iş
Host is-github.com
	HostName github.com
	User git
	IdentityFile ~/.ssh/is-github

5. İş Projelerine Özel Config Oluşturalım

İş ile ilgili projelerimizde özel bir config dosyası oluşturmamız gerekiyor. Bunun için iş ile ilgili olanların hepsini bir klasörde tutup oradan config dosyasını çekeceğiz. Bu şekilde iş klasörüne geçince farklı git bilgileri, kişisel projelerinize geçince de farklı bir git hesabı ile çalışmış olacaksınız. Bu şekilde aslında bölünmeden sağlıklı bir şekilde iş ve kişisel hesaplarınızı kullanabilirsiniz.

# iş klasörünüze gidin ve .gitconfig oluşturun
touch ~/work/.gitconfig
open -e ~/work/.gitconfig

Şimdi içerisine şu yapılandırmaları ekleyelim.

[user]
    name = Berat Bozkurt
    email = [email protected]

Şimdi son adım olarak ana .gitconfig dosyamıza iş klasöründe oluşturduğumuz yapılandırmaları dahil edelim. Bunun için şu yapılandırmayı eklemeniz yeterlidir.

# ana .gitconfig dosyasını açalım.
open -e ~/.gitconfig

# açılan pencerede bu yapılandırmaları ekleyelim.
[user]
    name = Berat Bozkurt
    email = [email protected]
[includeIf "gitdir:~/works/"]
    path = ~/works/.gitconfig

Arkanıza yaslanın ve kodunuza bakın. Sürekli hesap değiştirmekle, giriş yapmakla uğraşmayın. Keyifle kodlayınız...

Sevgiler.

Referanslar:

Neler Yapıyorum? Aklımda Neler Var? #4

Kişisel19 Eylül 2022 3 dk okuma

Eylül ayı bayağı üretken geçmiş gibi gözüküyor. Eski düzenime dönüp gerekse işlerimde gerekse blog'da aktif olmaya başladım. Bu şekilde devam ettiği için mutluyum. Çünkü bu şekilde kendimi daha iyi geliştirdiğimin farkındayım. Bundan dolayı da en azından belli bir süre boyunca böyle devam etmesi süper!

Neler Yapıyorum?

30 Temmuz'da düğünüm oldu ve bekarlığa veda ettim. Bu süreçte kah yorulduk kah koşturduk derken bayağı yoğun geçen bir dönem oldu. İstesen de istemesen de o stres her türlü oluyormuş. Bunu öğrendim; kilo veriyorsun, saçların beyazlıyor, durgunlaşıyorsun ve daha bir çok şey. Tatlı telaş falan da diyorlar ama öyle düşünmüyorum :) Her neyse yine de iyisiyle kötüsüyle bu süreci de kazasız belasız atlattık.

Düğünden hemen sonra 31 Temmuz'da yeni bir şehire yeni bir eve göç ettik. Artık bundan sonra memleketimiz Sakarya -şuanlık-. Yeni hayatımıza yeni bir şehir tercih ederek bilmediğimiz bir ortamın, bilmediğimiz bir iklimin ve bilmediğimiz insanların ortasında kendimizi bulduk. Bu şekilde hayallerimizi gerçekleştirmek için bir adım atmış oluyoruz. Ama hayaller biter mi? Asla...

Bir diğer yandan da blogu geliştirmeye devam ediyorum. Yeni bir görünümle ve özelliklerle şu an yayında. Zamanla yeni özellikler de getirmeyi düşünüyorum. Bu şekilde istediğim kıvama getirip rahat bir şekilde yazı yazma noktasına erişmeyi hedefliyorum.

Ayrıca kariyer adımlarımı da atmaya devam ediyorum ve Swift öğrenerek şu an yeni bir dile yelken açtım. Bu şekilde software engineer yolunda ilerlemeyi düşünüyorum. Frontend ve backend bir şekilde var. Mobil'de aslında react-native var ama native iOS tarafımı geliştirmek istedim. DevOps tarafı şu an için muallak. Bunu zaman gösterecektir.

Aklımda Neler Var?

Aklımda teknik olarak iki yazı fikri var. Bunlardan birisi sıfırdan Swift ile uygulamalar yapma temalı, diğeri ise React uygulamasına test yazalım serisinin 2'ncisini yazmayı düşünüyorum. Ufak bir spoiler vereyim. Bu sefer integration test yazacağız ve cypress kullanacağız, öhö öhö neyse hadi devam edelim...

Yazıları ne zaman yazacağım henüz belli değil ama biraz zaman alabilir. Bu aralar yoğunluğum var. Ama en yakın zamanda diyelim biz şimdilik. :)

Evlilikten sonra kendime yeni alışkanlık edinmeye çalışıyorum ve bu noktada blogu da o denli geliştirip gelişmeleri paylaşmayı planlıyorum. Daha aktif olmak adına şimdiden iki farklı sayfa ekledim. Bunlardan biri Yer imleri bir diğeri ise Yolculuk sayfası.

Gelecek ne gösterir bilmem ama küçük çaplı birkaç iOS uygulama yapmayı ve backend tarafında (Node.JS) kendimi geliştirmek adına birkaç ufaklı büyüklü projeler yapmayı planlıyorum. Bu şekilde bir sonraki iş yerimde software engineer olarak çalışmayı hedefleyebilirim. Kariyer planını da bu şekilde şekillendirebilirim diye düşünüyorum. Varsa yorumu olan istedikleri zaman benimle iletişim geçebilir.

Javascript İpuçları #1

Yazılım06 Eylül 2022 2 dk okuma

Günlük hayatta kullandığımız kodları yeri geliyor bazen daha sade bir şekilde yazmak istiyoruz. Kısım kısım bunlar işimizi çok kolaylaştırırken bazıları ise okunabilirliği bozabiliyor. Bu yazıda javascript ile ilgili birkaç ipucu paylaşacağım.

Alt başlıkları yazarken genel adı olanları ingilizce olarak yazacağım. Bu şekilde araştırmak isteyenler için anahtar kelimeyi vermiş olurum.

Nesnelerde Koşullu anahtar

Elimizde bir nesne olduğunu varsayalım. Bu nesneye de ekstra bir özellik tanımlamak için önce bir koşul koymamız gerekiyor. Bunu ise eğer bu özelliğimiz boş ise bu keyi listelemek istemiyoruz. Bunun için Logical And başlığından yararlanabiliriz. Hadi gelin örneğimize bakalım.

    const name = "Berat";
    const surname = "Bozkurt";
    const age = 23;
    const photo = null;
    const title = "frontend developer"

    const user = {
        name,
        surname,
        age,
        ...photo && {photo},
        ...title && {title}
    }

    console.log(user); {name: "Berat", surname: "Bozkurt", age: 23, title: "frontend developer"}

Yukarıdaki örnekte photos değişkeni herhangi bir değer dönmediği için user nesnesine eklemedik ve daha sade bir yapı oluşturmuş olduk.

Bu yapıyı daha çok API'ye gönderirken boş değerli key'leri göndermek istemediğim zaman kullanıyorum. Bu şekilde daha temiz bir yapı oluşturmuş oluyor. Ayrıca nesnemizdeki özellikler fazla olduğu zaman da kontrol etmek ayrıca kolay olmaktadır.

Nullish Coalescing Operator (??)

Kontrolünü sağladığımız değişkenin değeri eğer null veya undefined ise istediğimiz değeri atayabiliriz. Şöyle bir örnekle bunu somutlayabiliriz. PostCard diye bir bileşinimiz olsun. Bu bileşenin içinde de bir öne çıkarılan görseli olsun. Eğer bu öne çıkarılan görsel eklenmediyse buraya arkaplanı gri olan bir görsel yükleyeceğimizi düşünelim. Hadi bunu koda dökelim.,

var firstImage =
  'https://tr.m.wikipedia.org/wiki/Dosya:Image_created_with_a_mobile_phone.png';
var secondImage = null;

var firstPostImage = firstPostImage ?? 'https://via.placeholder.com/150';
var secondPostImage = secondImage ?? 'https://via.placeholder.com/150';

console.log(firstPostImage); // https://tr.m.wikipedia.org/wiki/Dosya:Image_created_with_a_mobile_phone.png
console.log(secondPostImage); // https://via.placeholder.com/150

Logical And (&&)

Kontrolünü sağladığımız değişkenin değeri eğer null veya undefined değilse istediğimiz değeri atayabiliyoruz. Somut bir örnek olması için şu örneği verebilirim. Kullanıcı başarılı bir şekilde sisteme giriş yaptıysa 'Hoşgeldiniz Berat Bozkurt' yazsın.

var user = {
  name: 'Berat',
  surname: 'Bozkurt',
  isLogin: true
};

var welcomeMessage = user.isLogin && 'Hoşgeldiniz ' + user.name + ' ' + user.surname;

console.log(welcomeMessage); // Hoşgeldiniz Berat Bozkurt

Teknik yazılara bu şekilde başlangıç yapıp devamını da kısa sürede yazmak ümidiyle yazıyı sonlandırmak istiyorum. Sağlıcakla!

Diğer yazılara göz at!

# Son Fotoğraflar

Two people in train
Diğer fotoğraflara göz at!