"Enter"a basıp içeriğe geçin

Kategori: Kendime Not

Mac Mini’mi Yapay Zeka Sunucusuna Çevirdim

Uzun süredir aklımın bir köşesinde duran bir şeyi sonunda hayata geçirdim: Bir kaç ay önce TurkNet’in 1000 mpbs download 1000 mpbs upload hizmetini almaya başladığım gün “ofis bilgisayarı” olarak ofiste tuttuğum M4 Mac Mini’yi sıfırlayıp bir “web server” haline getirmiştim. 30+ irili ufaklı blog ve web sitesini host etmek için gayet iyi olsa da yeni duyduğum CloudPanel’in de gazıyla Hetzner’a bir sunucu daha açıp bu ufak hostingleri oraya geri koydum. CloudPanel kadar sevindiğim diğer husus; bu sitelerin çoğu WP olduğu için hepsini birden yönetecek bir eklenti varmış. Onu da kurup 20 yılda sayısı 30’a yaklaşan blogları tek yerden yönetmeyi anca…

Macos komut satırından bir şeyi kopyalayıp yapıştırmak

Elbette fare kullanarak komut satırı / terminal ekranından bir şeyi kopyalayıp yapıştırabilirsiniz. Fakat ben uzun bir environment (.env) dosyasını cat ettiğimde bunu kopyalamak için fareyi dosya boyunca yukarı doğru çekmek fikrini sevmedim. Onun yerine cat ettiğim dosyayı doğrudan clipboard’a (macos dünyasında meğer bunun adı pasteboard’mış) aktarmak daha kolay bir yöntem olurdu. Her Türk gibi ben de GPT’ye sordum ve beklediğim üzere böyle bir komut olduğunu öğrendim. Aslında iki komut: Biri pbcopy, diğer pbpaste. veya Bu şekilde kullandığınızda dosyanın içini doğrudan panoya aktarmış oluyorsunuz. Panodaki kopyalanmış bilginin içeriğini görmek için de komut satırında demek yeterli.

Bıldırki hurmalar: Kod yazarken yorum koymanın önemi

Çalıştığım yer için bir süredir geliştirmekte olduğum yazılımda invitation-link denen bir mekanizma kurdum. Yazılımı kullanacak kişiye bir davetiye linki üretiyorum. O linke tıklayan sisteme girebiliyor. Bu link aslında bir JWT token. Çok uzun bir link olduğu ve içerisinde bir kaç yerde nokta (.) geçtiği için Whatsapp’dan gönderince insanlar linke tıklayamıyor. Bunu görünce belki bunu bir URL kısaltma servisi ile kısaltırsam daha şık olur diye düşündüm. Bunu in-house olarak proje içerisinde de yapabilirim ama; 1) Token’i ürettiğim yer ile kullandığım yer aynı ortam değil. 2) Tükettiğim yerde MySQL gibi bir veritabanı yok. İki platformun ortak kullandığı bir Redis var. Orayı da…

macos Dock’ta uygulama simgelerini gruplamak

macOS kullanıcısı iseniz Dock’taki uygulamalarınızın sayısı arttıkça onları gruplamak isteyebilirsiniz. Bazı kullanıcılar Dock’ta çok az uygulama tutup gerisini arama ile buluyor. Ben de pek çok uygulamayı arayıp bulmayı tercih ediyorum ama yine de Dock’ta 20’ye yakın sabit uygulamam var. Bunları amaçlarına göre başta Mail, WhatsApp, Telegram, Slack gibi iletişim uygulamaları, sonra VS Code, Sublime Text, TablePlus, Brave, Chrome, Safari, Opera gibi web geliştirme araçları, sonrasında da Calendar, Notes gibi ufak tefek uygulamaları sıralıyorum. İşte bu grupların arasına boşluk koyabilmek ilk bakışta ayırmak için çok faydalı oluyor. Ben neredeyse bir yıldır böyle kullanıyorum ama blogumda paylaşmamıştım. Eşim bugün nasıl yapıldığını sorunca…

Kitapi Ropörtajı Yaptık

Fikrin Hayatı isimli siteden – daha doğrusu sahibi Abdullah Bey’den – Kitapi hakkında röportaj talebi gelince biz de dilimiz döndüğünce hikayemizi anlatalım dedik. Kendimiz için de güzel bir özet oldu. Sorular çok ve güzel olunca ben de kısa yazmayı beceremeyince biraz uzun bir özet oldu ama olsun 🙂 Eksiği var, fazlası yok. Hikayemiz işte burda: https://fikrinhayati.com/posts/kitapi-projesi-fikrin-hayati-roportaji-hasan-civelek/

Laravel Open SSL stream_socket_enable_crypto() mail gönderme problemi

Laravel projenizde SMTP sunucusu üzerinden mail göndermek istediğinizde stream_socket_enable_crypto() ile ilgili bir SSL hatası alıyorsanız bunun çözümü ne hikmetse Laravel dökümanında bulunmamakla beraber oldukça basit. Internette konuyla ilgili pek çok yabancı kaynakta ve yerli olarak Umut Bektaş‘ın blogunda işin özü anlatılıyor. Sadece yeni Laravel sürümlerinde ayarın yeri biraz değişiyor, o kadar. Ben de her iki versiyonu burada yazıp konuyu çok uzatmayacağım. Laravel’de mail ayarlarının bulunduğu config/mail.php dosyasında, 4x, 5x ve 6x sürümlerinde dosyanın en sonuna, 7x ve 8x sürümlerinde mailers->smtp key’inin altına şu array’i eklemek yeterli.

Vee-Validate (v4) isSubmitting çalışmıyor(!)

Kısa yazmayı beceremeyen biri olarak kendimi zorlayacağım ve bu yazıyı çoook kısa tutmaya çalışacağım. Öncelikle belirteyim ki front-end uzmanı değilim. Kendi projem için Vue-CLI ile oluşturdupum bir arayüz hazırlıyorum. Merak edenler için backend olarak Laravel kullanıyorum. Projede Vue (v3), Vuex (v4) ve Vee-Validate (v4) kullanıyorum. Vee dökümanını incelediğimde form gönderilirken tetiklenen “isSubmitting” state’i sunduğunu gördüm. Tam da aradığım bir şeydi. Böylece kendim ayrıca bir state tutmama gerek kalmıyordu ki öncesinde hep öyle yapıyordum. Dökümandaki örnek şu şekildeydi; Satır 17 olan kısımda API çağrımızı yapabiliyoruz ve default false olan isSubmitting state’i bu esnada true oluyor. Benim kodum şu şekildeydi: Görüldüğü üzere…

Laravel Sanctum kullanırken CORS problemi yaşıyorsanız bu yazıya bir göz atın

Mevzuya uzun uzadıya girecek değilim. Bu satırları yazarken saat zabaan 06.09’u çünkü. Birbirine paralel yürüttüğüm ve aralarında çok az faz farkı olan iki ayrı projede backend olarak Laravel, frontend olarak da SPA (Single Page Application) şeklinde Vue-Cli kullanıyorum. Faz olarak en önde olan projede kendi el yordamımla kurduğum frontend yapısında hiç bir sorun yaşamadan Laravel API ile haberleşebiliyorum. Bunun için Laravel Sanctum kullanıyorum. Fakat diğer projede iki gündür bunu başaramadım. Fakat nihayet sorunu çözdüm. Bir daha karşıma çıkarsa unutmayayım ve başka sorun yaşayanlar varsa onlara da hatırlatmış olayım diye bu yazıyı kaleme alıyorum. Sanctum, çok kısa özetlersek, frontend ve backend’i…

nginx neden yanlış sitenin içeriğini göstermekte ısrar ediyor?

Sunucu ayarlarınızı yaptınız; yani Ubuntu için konuşursak /usr/share/nginx/html/orneksite dizinine dosyaları yerleştirdiniz ve /etc/nginx/conf.d‘nin altında orneksite.conf dosyası oluşturup içine sunucu adresini ve bakacağı klasörü yazdınız. Sunucuyu da service nginx restart diyerek baştan başlattınız. Geriye sadece domainin yönlendirilmesi kaldı. Henüz domaini yönlendirmemiş olsanız da kendi bilgisayarınızda /etc/hosts dosyasına ilgili ip’yi görecek şekilde satır eklediğinizde en azından sizin bilgisayarınızda orneksite.com deyince sunucuya gidecektir. Benim örneğimde işte problem burada başlıyor. Tarayıcı ısrarla https://orneksite.com diye gitmeye çalıştığı için yani http yerine https’i tercih ettiği için -ki site sunucuyu taşımadan önce https üzerinde çalışıyordu, cache yüzünden ısrarla https açmaya çalışıyor- sunucu üzerinde sürekli başka bir sitenin…

Yedeklerinizi download ederken sunucuyu uçurmayın!

Benim başıma tam da bu geldi. Amazon AWS’deki kişisel projelerimin olduğu sunucuyu silip eski yuvası Hetzner’a geri döndürmek istiyorum. Bakın ne hatalar yaptım. Siz bunları yapmayın. Her zaman yaptığım gibi önce web klasörlerini tar.gz ile sıkıştırdım. 1 GB bir dosya oluştu. Bunun indirmesi uzun sürer diye indirme işlemini hemen başlattım. Birinci hatamı burada yaptım. Dosyaları sunucudaki aktif bir web klasörüne koyup kendi bilgisayarımda browserdan linki çağırarak dosyaları indirmeye başladım. İnternet hızım idare eder ama bu işi kendi bilgisayarıma değil Hetzner‘daki sunucuya yapmam gerekiyordu. Hem daha hızlı inerdi hem de zaten dosyalar nihayetinde oraya gidecekti. Boşu boşuna iki kere işlem yapmam…