yazılım

Dependency Injection - Bağımlılıkların Zerki (Çok Kısaca)

Konu:

Yok öyle uzun uzun anlatamam. Zaten anlatması da anlaması da bence uzun süren bir şey bu. Ama en kısasını buldum, en azından kafama yattı. Panda'nın yazmış olduğu AnguarJS: Novice to Ninja (Ücretsiz kitap) kitabından alıntı yapıyorum;

Dependency Injection means that our code is not in charge of obtaining its dependencies. Rather its dependencies are injected automatically by a dependency injection container

Yani bana göre bu söz ile yazar der ki; elinde bir container olacak, bağımlılığı olan şeylerin bağımlılıklarını bu container halledecek. Bu bağımlılar ihtiyaç duydukları şeyleri oluşturmak ya da bulmakla (create new vs.) uğraşmayacak. İşte bu bağımlılıkların zerki/enjeksiyonudur.

Bu terimin Türkçeleştirilmesi hususunda, zerk kelimesi için ayrıca Ümit Vardar'a teşekkürlerimi sunarım.

Ayrıca Bakınız: Konuyla ilgili yıllar önce eklediğim bir video: http://hosaf.org/yazilim/dependency-injection

Mac OS X'e Composer'ı nasıl yükledim?

Lavarel deneyimi için PHP dünyasına adım atıyorum. Laravel'i yükleyebilmek için Composer'a ihtiyacımız var.

Her ne kadar kendi sayfasına yapılacak işlemler yazıyorsa da biraz karışık geldi bana. Kendimce özetleyeceğim.

Önce bu sayfada yer alan terminal işlemlerini yaptım:

https://getcomposer.org/download/

Şu an için terminal komutları aşağıdaki gibi, versiyona göre değişiklik gösterdiği için son versiyona uygun olanı yukarıdaki linkten alıntılamanızı tavsiye ederim

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('SHA384', 'composer-setup.php') === 'aa96f26c2b67226a324c27919f1eb05f21c248b987e6195cad9690d5c1ff713d53020a02ac8c217dbf90a7eacc9d141d') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"

Daha sonra ise şu komutu çalıştırdım.

php composer.phar

Artık composer'ı komut olarak kullanabiliriz. Amaç Laravel olduğundan dolayı ben şu komutu çalıştırdım:

composer global require "laravel/installer"

Pluralsight için 72 Saatlik Ücretsiz Deneme Üyeliği

Konu:

CodeSchool bir programlama eğitim sitesi. Bir diğer programlama eğitim sitesi olan Pluralsight bünyesine katılmış. Pluralsight bunun şerefine, bu cuma gününe kadar geçerli olacak 72 saatlik ücretsiz deneme üyeliği teklifi yapmışlar.

Merak edenler buyursun: https://offers.pluralsight.com/codeschool

Eclipse'de "Cannot change version of project facet dynamic web module to 2.5" Hatası Çözümü

Konu:

Kısaca: Eclipse'te Ctrl+Shift+R tuş kombinasyonu ile org.eclipse.wst.common.project.facet.core.xml dosyasını açın, içindeki şuna benzeyen satırdaki versiyon alanını 2.5 olarak (ya da kaç olmasını istiyorsanız) güncelleyin :
<installed facet="jst.web" version="2.5"/>

ve dosyayı kaydedip kapatın.

Uzun uzun anlatmak gerekirse;

Eclipse ile Java Web projeleri üzerine geliştirme yaparken bazen Project Facets bölümündeki Dynamic Web Project versiyonunu default olarak ayarladığında asıl bize gerekli olan şekilde güncelleyemiyoruz ve

Cannot change version of project facet dynamic web module to 2.5

gibi bir hata ile karşılaşıyoruz. Bu durumda Eclipse içindeki bazı ayar dosyalarını kendimiz güncellememiz gerekiyor.

Bu dosyalardan org.eclipse.wst.common.project.facet.core.xml adlı olanın içinde jst.web adlı facet değerini değiştirdiğimizde bu sorun ortadan kalkmış oluyor.

Kaynak: http://stackoverflow.com/a/18632054/169534

Eclispe'de "GC overhead limit exceeded" Hatasını Gidermek

Konu:

Popüler bir Java IDE'si olan Eclipse'de, büyük projeler üzerinde çalışırken Java'ya ayrılmış bellek yetersiz kaldığında Garbage Collector (GC) çalışması kısıtlanabiliyor, GC overhead limit exceeded istisnası fırlatılıyor. Bu yüzden aşağıdaki gibi bir hata alabiliyorsunuz ve ardından size Workspace'i yani Eclipse'i kapatmanız öneriliyor.

An internal error occurred during: "Building workspace".
GC overhead limit exceeded

Bu problemi çözmek için, kullandığınız Eclipse'in ayarlarında bir değişiklik yapmanız gerekiyor. Bu değişikliği eclipse.ini dosyasını düzenleyerek yapabilirsiniz. Eclipse başlatılırken, aynı klasördeki bu .ini yapılandırma dosyasını okur. Bu dosya aşağıdakine benzer bir içeriğe sahiptir:

-startup
plugins/org.eclipse.equinox.launcher_1.3.0.v20140415-2008.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.200.v20140603-1326
-product
org.eclipse.epp.package.jee.product
--launcher.defaultAction
openFile
--launcher.XXMaxPermSize
256M
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
--launcher.appendVmargs
-vmargs
-Dosgi.requiredJavaVersion=1.6
-Xms40m
-Xmx512m

Bu dosyada; Eclipse'in üzerinde çalıştığı Java Runtime için ayrılmış belleği son iki satırdaki değerleri değiştirerek düzenleyebilirsiniz.-Xmx512m yerine -Xmx1024m gibi bir değere arttırarak Java'nın kullanacağı en yüksek bellek değerini arttırabilirsiniz. Bir üst satırdaki Xms değeri ise başlangıç değerini ifade eder. Bu değeri de Megabyte birimi üzerinden düşünerek arttırabilirsiniz.

Eclipse'i tekrar başlattığınızda bu ayarlar ile yüklenecektir.

Kaynak: docs.oseems.com

Sayfalar

Subscribe to RSS - yazılım