Image for post
Image for post

Profesyonel olarak (yani para kazanarak) yazılım geliştirme serüvenim 10 yılı geçti, bu süreçte çok farklı teknoloji ve platformlarda farklı müşterilere onlarca çözüm ürettim. Benim için bu sürecin çoğunluğu hem kod yazarak hem de altyapı, ekip, proje yöneterek geçti. Dönüp baktığımda o kadar işin altından nasıl kalktık ben de hayret etsem de bir çoğu halen hayatta olan ve her gün milyonlarca kişinin ziyaret ettiği güzel projelere imza atmış olmak güzel bir duygu. (Kendime not: neler yaptım diye ayrı bir yazı yaz.)

Bu yazıda SaaS kavramı ürünü geliştiren taraf açısından ele alınmıştır.

SaaS için sözlük tanımı: (Software as a Service — Hizmet olarak Yazılım) Kullanıcıların spesifik bir sorununa (genellikle bulut tabanlı) bir çözüm üretip bunu da aylık/yıllık abonelik bazlı sattığınız zaman SaaS oluyor. Genelde ücretsiz planları da olan SaaS yazılımlarına abone olup kullanmaya başlamak genelde 1 dakikadan az sürüyor. Kurumsal yazılımlardan temel farkı bu. Bunun yanında PaaS, IaaS gibi ilgili farklı servis modelleri de var. Dilerseniz Tea as a Service bile yapıp, ofiste aylık çay aboneliği satabilirsiniz. …


I have some legacy Laravel 4.2 projects running on PHP 7.1, and PHP 7.1 is no longer supported. (https://twitter.com/krakjoe/status/1201010799034195968?s=12) and then I decided to upgrade them to latest PHP 7.4

Problem

Laravel 4.2 requires mcrypt extension which is deprecated in PHP 7.1 and removed in PHP 7.2.

Solution

Laravel 4.2 has a release for PHP 7, and you can install mcrypt for ≥ 7.2 by PECL.

Step 1: Update Laravel to 4.2.22

Taylor has published a release for PHP 7 compatibility. Update your Laravel to 4.2.22 https://github.com/laravel/framework/releases/tag/v4.2.22

Step 2: Check your code compatibility

First you must be sure about your Laravel 4.2 code is compatible with PHP 7.4. …


Image for post
Image for post

HTTP protokolünü duymayanımız yoktur. Bu yazıyı okurken bile hemen yukarıda adres çubuğunda bu sayfanın adresinin “https://” ile başladığını görüyorsunuz. Peki kaçımız HTTP’nin tam olarak ne olduğunu biliyor? Ya da HTTP’nin nasıl çalıştığını bilmeden “Web Developer” olunabilir mi? Ne dersiniz?

Laravel Framework kullanmasına rağmen form parametrelerini $_POST ile alan bir arkadaş ve yıllarca ASP.NET ile proje geliştirdikten sonra GET ve POST arasındaki farkı bilmeyen, HTML’in içindeki <form> etiketinin ne işe yaradığından habersiz olan başka bir arkadaş bu yazıya ilham oldular. Kendilerine teşekkür ediyorum.

HTTP ve “Web Developer” ilişkisindeki örneği çoğaltabiliriz. Örneğin PHP bilmeden Laravel Framework ile, JavaScript öğrenmeden Vue.js proje yapılabilir mi? “Olur mu canım öyle şey?” demeyin. …


Merhaba. Önceki yazıda Nginx’in hangi amaçlarla kullanılabileceğine değinmiştim. Okumadıysanız önce onu okumanızı öneririm.

Bu yazıda ise Nginx’i Linux dağıtımları üzerinde nasıl kuracağımıza ve temel kullanım için nasıl konfigüre edeceğimize değineceğiz.

Geçmişte çeşitli Linux distroları ve FreeBSD üzerinde Nginx kullandım, ancak son dönemde belli kolaylıklarından dolayı Ubuntu Server kullanıyorum. Bu yazıda da örnek kurulumu Ubuntu Server 18.04 LTS üzerinde yapacağız.

Ben bu tür çalışmalar için artık DigitalOcean vs. yerine yerli bir ürün olan Cloudeos’u kullanıyorum. Size de tavsiye ederim. Üye olduktan sonra “WELCOME “ kuponuyla 10$ kredi kazanıp deneyebilirsiniz.

Kurulum

Kuruluma başlarken öncelikle aşağıdaki sırasıyla sudo apt-get update ve sudo apt-get upgrade komutlarıyla sunucumuzu güncelliyoruz. …


Image for post
Image for post

Bir MongoDB replika setinde sunuculardan birisi bir sebeple bir süre kapalı kalır ve açtıktan sonra “RECOVERING” modunda takılı kalırsa muhtemelen log dosyasına aşağıdaki gibi bir kayıt basıyordur.

We are too stale to use mongosrv2:27017 as a sync source. Blacklisting this sync source because our last fetched timestamp: Timestamp(1538834763, 162) is before their earliest timestamp: Timestamp(1539214549, 7) for 1min until: 2018–10–26T18:51:57.643+0000

Özetle sunucumuz uzun süre kapalı kalmış ve diğer sunuculardaki oplog ile kendisini senkronize edemiyor, dolayısıyla senkronize olup aktif moda geçemiyor.

Bu durumda yapmamız gereken mongod’u durdurduktan sonra tüm veri dosyalarını silerek yeniden başlatmak, böylece MongoDB sıfırdan replika sete dahil oluyor gibi tüm veriyi diğer sunuculardan kopyalayacaktır. …


Nginx web teknolojileri ile ilgilenenlerin kullandıkları olmazsa olmaz yazılımlardan bir tanesi. Benim de uzun zamandır yüksek trafikli sunucularda aktif olarak kullandığım ve büyük muhabbet beslediğim bir yazılım. Hakkında bildiklerimi ve tecrübelerimi paylaşmak istedim.

Image for post
Image for post

nginx.org sitesinin “about” kısmına baktığımızda “http sunucusu, reverse proxy sunucusu, mail proxy sunucus ve genel TCP/UDP sunucusu” olarak tanımlanmış. Bu noktada Nginx’in ilk olarak Igor Sysoev isimli bir Rus tarafından geliştirilmiş olduğunu, uzun süre Yandex, Mail.ru ve VK gibi çok yüksek trafikli Rus sitelerinde kullanılarak geliştirildiğini ve Dropbox, Netflix ve Wordpress.com gibi çok büyük projelerin başarısında rol oynadığını da eklemek gerek.

Öte yandan, Nginx açık kaynaklı bir yazılım olup kaynak kodlarını incelemek için http://hg.nginx.org/nginx/ ve https://github.com/nginx/nginx adreslerine göz atabilirsiniz. …


“Yerli ve Milli” kavramına son dönemlerde siyasi konuşmalarda ve haber metinlerinde sıkça rastlıyoruz. Kavram, bilişimle birlikte de anılıyor; “Yerli ve Milli Bilişim”den ve “Milli Teknoloji Hamlesi”nden bahsediliyor. Ben de konuya mühendis ve yazılım geliştirici gözüyle bakarak -bir yönüyle de kendimi meselenin muhatabı sayarak- bu kavramları irdelemek, görüşlerimi belirtmek istedim.

Nedir bu Yerli ve Milli?

Öncelikle yerli ve milli kavramlarını ele alalım. Uzaktan bakınca aynı şeyi ifade ediyormuş gibi görünse de ikisinin arasında şöyle bir fark mevcut. Bir ürünün tüm fikri mülkiyet hakları size ait ise o ürün %100 millidir, tüm parçalarını siz üretiyorsanız da %100 yerlidir. Yani iPhone ABD için milli ama yerli olmayan bir üründür, çünkü tüm Apple ürünlerinin kutusunda da yazdığı gibi California’da tasarlanmakta ancak Çin’de üretilmektedir. Ülkemizde uzun yıllar üretilen TOFAŞ otomobilleri tamamen Türkiye’de üretilmesine rağmen üzerinde “İtalyan FIAT lisansı ile üretilmektedir.” yazardı. …


Geçtiğimiz günlerde okumuş olduğum bir makaleyi Twitter üzerinden takipçilerimle paylaşmak istedim. İlgili makaleye buradan ve tweete de buradan erişebilirsiniz. Bunun üzerine ben de konuyu biraz daha çözüm odaklı detaylandırarak ailelerin bu konuda neler yapabileceğine dair bir rehber oluşturmak istedim.

Elsagate nedir?

YouTube’da ilk bakışta çocuklar için uygunmuş gibi görünen, kapak görselinde Spiderman gibi çizgi film karakterleri olan ancak içeriğinde çocuklar için hiç de uygun olmayan, çoğunluğu şiddet ya da pedofiliye dair ögeler içeren ve sayıları hiç de az olmayan videolar var. Bu akım Elsa isimli çizgi karakterle başladığından skandalın ismi Elsagate olarak kalmış. https://vigilantcitizen.com/moviesandtv/something-is-terribly-wrong-with-many-kids-videos-on-youtube/


Image for post
Image for post

Bu iddiamı şu an için bir araştırma sonucuna dayandırarak belirtiyor olmasam da, insanların çoğunlukla içinde bulundukları durumdan hoşnutsuz oldukları bir sır değil. Bir çok insan yaşadığı hayatı bir veya birçok yönden değiştirmek istiyor. Ancak yine çoğunluğun bu isteklerini fiiliyata dökmek için hiçbir çaba sarfetmediğini söyleyebiliriz. Neden? Çünkü kaosu göze alamıyorlar.

Bu durumu maddenin eylemsizlik prensibi ile de açıklayabiliriz. Fizik kanunlarına göre cisimler mevcut durumlarını koruma eğilimi gösterirler. Örneğin Ahmet evinden memnun değildir ama bir şekilde düzenini kurmuş yaşıyordur. Eşyalarını yerleştirmiş, su-elektrik-doğalgaz aboneliklerini açtırmış, konu komşuyu, mahalleyi tanımıştır. Bu durumda yeni bir ev bulmak, depozito ve ilk kirayı vererek kiralamak, tadilatını yaptırıp taşınmak, abonelikleri naklettirmek, eşyaları yeni evin odalarına göre ayarlamak, yeni bir mahalleye adapte olmak vs. …

About

Yavuz Selim Bilgin

engineer, entrepreneur, developer, petrolhead, co-founder @statmetric & @parkurlabs

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