27 Ağustos 2017 Pazar

create-react-app ile oluşturulmuş bir uygulamayı apache server altına deploy etmek

create-react-app tüm konfigurasyonlar ile (webpack, babel vs.) geliştirmeye hazır bir react uygulaması oluşturmaya yarar. Bunun için create-react-app global olarak yüklenmiş olmalıdır. Aşağıdaki komut ile global olarak yüklenebilir:
npm install -g create-react-app
Yükleme sonrası aşağıdaki komut ile bir react projesi oluşturulabilir:
create-react-app my-app
Bu komut içinde bulunulan bir dizinde “my-app” adında bir klasör açacak ve bizim react uygulamamızı bunun altında oluşturacaktır.


Bu dizine girip aşağıdaki komutu terminalde yazdığımızda uygulamanın local’de ayağa kalktığı görülecektir.

cd my-app
npm start


Ekran Resmi 2017-08-27 22.06.34.png


Bu uygulamayı derleyerek çıkan dosyayı Apache server altına deploy etmek istersek my-app altındaki public klasörüne aşağıdaki gibi bir “.htaccess” dosyası eklemek gerekiyor:


RewriteEngine On
RewriteBase  /
RewriteRule ^index\.html$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.html [L]


Eğer uygulamayı bir alt dizine deploy edeceksek package.json’a aşağıdaki satırı eklemek gerekemektedir.

"homepage": "/tstest/",
Ekran Resmi 2017-08-27 22.13.46.png


Sonrasında aşağıdaki komut ile uygulama derlenebilir:

npm run build

Bu komutun çalışması bitince my-app altında “build” klasörünün oluştuğu görülebilir.
Bunun altındaki dosyaların hepsi alınıp Apache server’da uygun yere kopyalandıktan sonra uygulamanın buradan da çalıştığı görülebilir.


Ekran Resmi 2017-08-27 22.18.21.png
Kaynaklar:





19 Şubat 2017 Pazar

Go'da değişkenler - gölgeli değişkenler (shadowed variables)

Golang’da aşağıdaki gibi değişken tanımlama yapılabilir:

var myVar int
var myVar = 5
myVar := 5

Global olarak “myVar:=5” şeklinde tanımlama yapılamaz. Derleme sırasında hata alacaktır. Yukarıdaki tanımlama şekillerinden ilk ikisinde olduğu gibi tanımlama yapılabilir.

Bir fonksiyon içinde, aynı scope içinde, tanımlanıyor ise o değişken kullanılmak zorundadır. Kullanılmadığı durumda derleme sırasında hata alacaktır.

Aynı scope içinde aynı değişken tekrardan tanımlanamaz. Aşağıdaki gibi tanımlama yapmak yanlıştır:

myVar := 5
fmt.Println(myVar)
myVar := 10

Derleme sırasında hata alacaktır.
Ancak çoklu değişken tanımlama sırasında, önceden tanımlanmış bir değişkene değer atanabilir:

myVar := 5
fmt.Println(myVar)
myVar, myOtherVar := 10, 7

Bu şekilde tanımlama yapılınca hata almayacaktır.
golang variable 

golang variable declaration


Bir fonksiyon içinde tanımlanan bir local değişken, içerideki başka bir scope’ta tekrar tanımlanabilir. Bunlara gölgeli değişkenler (shadowed variables) denir. Bu şekilde tanımlamalarda, daha iç scope’larda tanımlanan aynı değişkenler, dışarıda olanın değerini değiştirmeyecektir.

golang shadowed variables 

golang shadowed variables