Yazar arşivleri: Hüseyin Yıldırım

Hüseyin Yıldırım hakkında

1984 yılında Alaşehir/Manisa’da doğmuştur. Üniversiteye kadar olan okul hayatını Alaşehir’de sürdürmüş ve okullarında dereceler yapmış ve bölgesel beceri yarışmlarına katılmıştır. Ortaokul yıllarında başlayan HTML merakıyla, lise yıllarında ASP, VBS ve JS öğrenmeye kadar gitti. Lise yıllarından itibaren bu bilgilerini nakite çevirmeye başlamıştır ve ufak tefek sayfalarla web uygulama geliştirme hayatına ilk adımlarını atmıştır. 2003 yılında Muğla Üniversitesi Elektrik Bölümünü bitirdi. Üniversiteden sonra profesyonelliğe giden adımlarla çalışmaya başlamış olup ajans ve şirketlerde web tabanlı uygulamalar geliştirmeye başlamıştır. Zaman ilerledikçe bir çok web teknolojisi hakkında bilgi sahibi olmuştur. Sistemler üzerindeki bilgisini geliştirmek için 2005 yılında İzmir’de Faruk Çubukçu’dan MCSE eğitimleri aldı, MCP ünvanını kazandı. Aldığı eğitimlerden sonra ufku iyice genişleyip profesyonel olarak orta ve büyük ölçekli şirketlerde sistem uzmanı ve yazılım geliştirme uzmanı olarak çalışmıştır. Avrupa’nın en büyük yaş sebze ve meyve işletmeleri arasında olan Günaydın Ltd. Şti.’nde ve ulusal yayın yapan Akdeniz TV A.Ş.’den sonra, şimdi Vitamin Turizm Tic. Ltd. Şti.’nde sistem ve yazılım geliştirme uzmanı olarak görev yapmaktadır. Uzmanlık alanları yazılım geliştirme, web teknolojileri ve kurumsal network yönetimidir. Ayrıca motosikleti, balık tutmayı ve fotoğraf çekmeyi çok sever.

Vue.js Tek Satırda console.log Desteği

Bildiğiniz gibi HTML etiketleri içinde console.log kullanamazsınız. Kullanmak için ise console.log için alias tanımlamanız yeterlidir.

Tanımladığımız alias HTML içinde kullanmak için

Facebooktwittergoogle_plusredditpinterestlinkedin

Vue.js Nedir? Yazı Dizimiz Başlıyor.

Vue.js hakkında hayatınızı kolaylaştıracak yazılar paylaşmaktan vazgeçip, Vue.js hakkında öğrendiğim her şeyi blogumda yazmaya karar verdim. Bu Vue.js pekiştirip daha iyi öğrenmemi sağlayacağı gibi, bir çok kişiyede faydalı olacağını düşünüyorum.

Vue.js tarihine kısaca değinecek olursak, 2014 yılında bağımsız bir yazılımcı olan Evan You tarafından geliştirilmeye başlamıştır. Evan You takip etmenizi mutlaka öneririm. Takip etmek için Twitter ve Medium sitelerini kullanmanız gerekmektedir. Kendi bloğunda herhangi bir şey paylaşmamaktadır. Ayrıca bir çok projesini GitHub üzerinden ulaşabilirsiniz. Tabi ki Vue.js resmi sitesi ise https://vuejs.org/‘dur. Biraz araştırma ile Vue.js gönül vermiş bir çok blog, twitter ve medium hesabı bulabilirsiniz.

Vue.js nedir?

Vue.js progressive bir javascript çatısıdır. Progressive olmasının en büyük nedenleri ise çok hızlı, güvenli ve dikkat çekici özellikleri olmasıdır. Native bir uygulama deneyimi yaşattığı gibi, performansta vaat etmektedir.

Vue.js yapısı küçük kütüphane (lightweight) olsa da küçük projelerinizden en büyük projelerinizde kadar güvenlikle kullanabilirsiniz.

Peki neden Vue.js kullanmalıyım?

React veya Angular kütüphanelerine aşikar olan Vue.js kolaylıkla adapte olabilirler. Vue.js geliştirilirken, yaratıcıları React ve Angular en güzel özelliklerini harmanlamasıdır.

Vue.js projelerinize kolaylıkla adapte edebileceğiniz gibi, kolay ve hızlı öğrenebilirsiniz. Küçük, açık kaynak ve ücretsiz bir kütüphanedir. React ve Angular gibi reactivity yapısı vardır. İhtiyaç duyduğunuz tüm özellikleri plug-in ile eklenebilir. Virtual Dom sayesinde daha yüksek performans sağlamaktadır. Kendi compenentlerinizi geliştirerek çok daha modüler uygulamalar geliştirebilirsiniz. Ayrıca Chrome için geliştirilmiş developer eklentisi bulunmaktadır.

Facebooktwittergoogle_plusredditpinterestlinkedin

Vue.js ve Google Analytics

Tüm sayfalarınızı takip etmek çok kolay!

Bir süre önce Vue.js ile uygulama geliştirmeye başladım. Her site sahibinin olmazsa olmazı analiz araçlarından Google Analytics’i kullanmamız gerekiyordu. Kısa bir araştırmadan sonra 5 satır kod ile uygulamamızı izleyebileceksiniz.

vue-analytics kütüphanesi hazırlayan Matteo Gabriele kişisel blogunda diyor ki: “Track all your pages with 5 lines of code”

Nasıl kullanacağız? Projemize NPM kullarak kuruyoruz.

Kurduktan sonra Vue instance kullanabilmesi için tanımlıyoruz.

Geliştiricelere daha bir çok özellik sunmaktadır. Öğrenmek için dökümanları inceleyebilirsiniz.Facebooktwittergoogle_plusredditpinterestlinkedin

Raspberry Pi üzerine FreeBSD Kurulumu

Raspberry Pi üzerine kurmak için SD veya Micro SD kartımızı bilgisayarımıza takıyoruz.

Kurulum işlemi için root kullanıcısına giriş yapıyoruz.

İlk önce Micro SD kartımızın lokasyonunu öğrenmemiz gerekiyor.

Diskimizi unmount ediyoruz.

Raspberry Model B için FreeBSD dist indiriyoruz. ftp://ftp.freebsd.org/pub/FreeBSD/snapshots/arm/armv6/ISO-IMAGES/

SD kartımıza kurmak için aşağıdaki komutu giriyoruz. .img dosya yoluna ve disk lokasyonuna kendiniza göre ayarlamanız gerekmektedir.

Ortalama 4-5 dk. içinde SD kartına kurulum tamamlanmaktadır.

Diski eject ediyoruz ve kartımızı Raspberry cihazımıza takıp, cihazımızı başlatıyoruz.Facebooktwittergoogle_plusredditpinterestlinkedin

ASP.NET Web API 2’de İsteklere İzin Verme

Tarayıcı güvenliği için bir web sayfasıdan başka bir web sayfasına AJAX isteklerini engeller. Bu hassas verilerin korunmasını sağlar. Bazen de API çağrılarına izin vermek isteyebilirsiniz.

İzin vermek için W3C standartı olan CORS kullanırız. CORS bize istek yapanları, metodları ve headerları filtrelememize olanak verir.

İlk önce NuGet ile CORS paketini projemize dahil ediyoruz. Benim kullandığım 5.2.6 versiyonudur.

WebApiConfig.cs dosyasında global bir denetleme yapacaksak Global.asax dosyasımızda aşağıdaki satırın ekli olduğundan emin oluyoruz.

CORS global olarak etkinleştirmek istiyorsanız, WebApiConfig.cs dosyamızda aşağıdaki satırları ekliyoruz.

CORS Attribute dikkat ederseniz size üç filtre sunmaktadır. Yukarıdaki örnekteki gibi origins, headers ve methods değerleri belirtebilir veya joker karakteri (*) ile her şeye izin verebilirsiniz.

CORS global olarak izin verebileceğiniz gibi Controller veya Method seviyesinde de izin verebilirsiniz.

Burada unutmamız gereken iki nokta var.

  1. Controller veya method seviyesinde uyguladığımız CORS, Global olarak uyguladığımız CORS’u geçersiz kılar.
  2. Web.Config’de de CORS için ayar bulunmamalıdır. Biz projemizde bu maddede çok sıkıntı çekmiştik 🙂

 Facebooktwittergoogle_plusredditpinterestlinkedin

Peryodik Olarak .DS_Store Dosyalarını Kaldırmak

DS_Store dosyaları göz atılan klasörlerde Finder tarafından otomatik oluşturulan dosyalardır. Bu dosyalar sistem hakkında bilgiler içermektedir ve farklı yerlere yüklenmesi güvenlik zaafiyeti taşımaktadır. Peki peryodik olarak nasıl silebiliriz?

Terminalinize crontab Unix komutunu çalıştırın ve şifre sorulduğunda yönetici şifrenizi girin.

Editörü insert moduna geçirmek için “I” harfine basın.

Yukarıdaki komutu crontab editörüne yapıştırın. Bu komut ile beş dakikalık aralıkla sisteminizdeki .DS_Store dosyaları silinecektir.

Komutu kayıt etmek için ESC ve editörü kapatmak için Shift+Z+Z tuşlarına eşzamanlı basın.Facebooktwittergoogle_plusredditpinterestlinkedin

Symlink Nedir?

Symlink, dosyanız için sembolik bağ oluşturur. Bu yöntem ile çalıştığımız dosya bir dizinde olacak ve o dosyaya istediğimiz dizinden erişebileceğiz.

Symlink Nerelerde Kullanabiliriz?

Unix tabanlı işletim sistemlerinde tüm dosyalar hiyerarşik bir düzende klasörlenir. Bir klasör içinde bulunan dosyayı, bulunduğu dizin haricinde kopyalamak istemiyorsak ama istediğimiz klasör içinde kullanmak istiyorsak Symlink ile sembolik bağ oluşturabiliriz.

Symlink Nasıl Kullanabiliriz?

Link oluşturmak için ln komutu kullanılır ve Symlink yapmak içinse -s parametresi kullanılır. Eğer parametre kullanmazsanız hardlink olacaktır.

Facebooktwittergoogle_plusredditpinterestlinkedin

Unsigned Nedir?

Tüm integer alanlar için kullanılan bir özelliktir. Sayısal alanlar belirlenmiş uzunlukları vardır. Özetle aşağıda belirtilmiştir.

TINYINT () -128 ile 127 arası
SMALLINT () -32768 ile 32767 arası
MEDIUMINT () -8388608 ile 8388607 arası
INT () -2147483648 ile 2147483647 arası
BIGINT () -9223372036854775808 ile 9223372036854775807 arası

Bütün alanların negatifden başlayıp, pozitfte belirli bir sınırı vardır. Eğer integer alanı unsigned olarak belirlerseniz, ilgili alan negatif değer alamayacaktır. Özetle aşağıdaki aralıklarda değer alacaktır.

TINYINT () 0 ile 255 arası
SMALLINT () 0 ile 65535 arası
MEDIUMINT () 0 ile 16777215 arası
INT () 0 ile 4294967295 arası
BIGINT () 0 ile 18446744073709551615 arasıFacebooktwittergoogle_plusredditpinterestlinkedin