Kategoriler
Blog

Home (Cloud) Server Pi5 Upgrade

2017’de Raspberry Pi 3 model B ve 2 TB’lık harici diski bir araya getirerek kurduğum ev sunucumun hem donanım hem yazılım olarak güncellenme zamanı gelmişti. Çünkü 1GB ram, USB 2.0 ve 100 Mbps ağ bağlantısı ihtiyaçlarımı karşılamaktan oldukça uzaklaşmıştı. Donanım Alışverişi Donanımları uzun bir araştırma ve eleme sonucu edindim. Bazı donanımları Türkiye’de yaşadığım için tedarik […]

Kategoriler
Yazılım & Teknoloji

Biri Github Actions mı dedi?

GitHub Actions, GitHub üzerinde yer alan, kullanımı kolay bir CI/CD (Continuous Integration/Continuous Deployment) aracıdır. Kullanıcıların kodlarını otomatik olarak test etmesine, derlemesine ve dağıtmasına olanak tanır. İş akışlarını (workflow) tanımlayarak, kod değişikliklerine bağlı olarak belirli işlemlerin otomatik olarak gerçekleştirilmesini sağlayabilmek için kullanılır. Bu yazıda kendi projelerinizi Github Actions kullanarak nasıl dağıtabileceğinizi anlatmaya çalışacağım ama önce genel […]

Kategoriler
Authentication

Basic Authentication

Bu yazıda eski popülerliğini kaybetmiş olsa da Basic Authentication kimlik doğrulama yöntemine değiniyor olacağım. Basic Authentication, kullanıcı adı ve şifre bilgilerini base64 ile kodlayıp HTTP başlığı üzerinden sunucuya göndererek kimlik doğrulamasını yapan bir yöntemdir. Bu bilgiler Authorization başlığında gönderilir. Bu kimlik doğrulama yönteminin basitlik ve standartlaşmış kullanım gibi avantajları olsa da ciddi güvenlik riskleri barındırır, […]

Kategoriler
Authentication

JWT Authentication

Bu makalede modern web uygulamalarının göz bebeği olan JWT authentication yönteminden bahsediyor olacağım. JWT (JSON Web Token) bilgi alışverişi ve kimlik doğrulaması yapmak için kullanılan bir token türüdür. Header, Payload, Signature olmak üzere 3 bölümden/bileşenden oluşur. Bu bileşenler birbirinden nokta ile ayrılır. Header; token türü ve kullanılan imzalama algoritmasını belirtir.Payload; Token içerisinde taşınan datadır.Signature: Token’ın […]

Kategoriler
ElasticSearch

ElasticSearch ve Kibana ile Büyük Veriye Giriş

Elasticsearch, açık kaynaklı bir metin arama ve analiz motorudur. Veri depolama, arama, analiz ve görselleştirme işlemleri için kullanılan bir yazılımdır. Elasticsearch, özellikle büyük miktardaki yapılandırılmamış veya yarı yapılandırılmış verilerin (metin, loglar, zaman serileri vb.) hızlı ve etkili bir şekilde aranması, filtrelenmesi ve analiz edilmesi gereken senaryolarda tercih edilir.

Kategoriler
PHP RabbitMQ

RabbitMQ (PHP ile)

PHP ile RabbitMQ’nun kullanımına geçmeden önce RabbitMQ nedir? sorusuna kısaca cevap vereyim. RabbitMQ, AMQP (Advanced Message Queuing Protocol) protokolü üzerine inşa edilmiş açık kaynaklı bir mesaj kuyruğu (message queue) yazılımıdır. Erlang programlama dili ile yazılmıştır. Temel olarak, gönderen (producer) ve alıcı (consumer) uygulamalar arasındaki iletişimi kolaylaştırarak iş yükünü dengeler. PHP ile RabbitMQ kullanımına geçmeden önce […]

Kategoriler
PHP Programlama

Laravel Queue ve SuperVisor ile Asenkron İşlemler

Laravel, PHP tabanlı popüler web uygulama geliştirme frameworküdür. Laravel Queue, Laravel’in sağladığı bir bileşendir ve asenkron görevleri yönetmek için kullanılır. Amacı uygulamanın hızla yanıt vermesini sağlamaktır. Bunu yapabilmek için uzun sürecek işlemleri ve ya arka planda yürütülmesi gereken süreçleri bir iş listesine alarak daha sonra işlemeyi sağlar. Laravel Queue, Redis, Amazon SQS ve ilişkisel bir […]

Kategoriler
Programlama

Programlamada Stack ve Queue Kavram ve Veri Yapıları

Programlama sırasında her programcının karşılaştığı stack (yığın) ve queue (kuyruk) kavram ve yapılarından bahsedeceğim. PHP ve Python programlama dillerinden örnekler vererek konuyu daha iyi anlamanızı sağlamaya çalışacağım.

Kategoriler
PHP

PHP de Trait Nedir? Ne İçin Kullanılır?

PHP, PHP5 ile birlikte OOP (Nesne-yönelimli programlama) desteğini duyurdu. Eğer OOP nedir ne değildir tam olarak fikir ve bilgi sahibi değilseniz; daha önce yazdığım Programlama’da OOP içeriğime göz atmanız daha iyi olacaktır. O yazıda bir programlama dilinin OOP desteklediğini söyleyebilmemiz için öncelikle 4 temel kavramı desteklemesi gerektiğini söylemiştim. Bu 4 temel kavramdan ikincisi olan Inheritance […]

Kategoriler
Programlama

DOCKER Sanallaştırma Teknolojisi #1

Docker ile sanallaştırma, docker kurulumu, docker terminalinin temel komutları ve kullanımı.