4 Ekim 2018 Perşembe

Yaz Nasıl Geçti ve Staj-2

 Evet bir yaz daha geride kalmış ve benim için dolu dolu geçmiş iken bu yazın bir blog yazısının olması gerektiğini düşündüm.

 Bu yaz ODC İş Çözümleri şirketinde staj yaptım. Okulum kapandıktan hemen sonra çalışmaya başladım. Okul açılana kadar da devam ettim. Bu staj benim ikinci stajım olduğu için biraz tecrübeli sayılırdım. Ama her şeye rağmen heyecan hep vardı.


 Staj boyunca Rest API ve UI ile ilgilendim. Api tarafında manuel olarak yapılan işleri arayüze taşıyıp daha kolay yapılmasını sağladım. Bu sırada hiç bilmediğim AngularJS öğrendim, az bildiğim Javayı da geliştirmiş oldum. Ve tabi ki daha bir sürü şey kattı. Çalışma süresince kendimi şirketin çalışanı gibi hissettim böylece iş hayatını tam olarak yaşamış oldum. Bence bu durumun her staj yerinde olmadığını düşünüyorum. Her gün yapılan durum toplantıları sayesinde tüm stajyer arkadaşlarımın neler yaptığını bilmek de bana çok katkı sağladı. Kulak dolgunluğum oldu :)


 Tabi ki sadece çalışmadım :D Bu yaza 2 festival, İstanbul'da bir sürü yeni yer, yeni lezzetler, yeni arkadaşlıklar da sığdırdım. Eğer hafta içi her gün çalışıyorsanız hele ki İstanbul'da iseniz sizin için gün ne kadar erken başlıyor biliyorsunuzdur. Eve döndüğünüzde sizin hayatınıza çok az bir vakit kalıyor. Bu yüzden hafta sonlarının kıymetini iyi anladım ve güzel değerlendirmeye çalıştım :)


 Benim eğlendiğim, eğlenirken öğrendiğim, ortaya bir şeyler çıkan verimli ve unutulmaz bir yazdı. Bu yazın bu kadar verimli geçmesini sağlayan Serdar Yiğit'e, taa Ankara'dan her zaman destek olan ve birlikte çok çalıştığımız Ahmet Can Kepenek'e, 'Siz neler yapıyorsunuz şuan?' diye sürekli yanlarına gittiğim Melih Korkmaz ve Oğuz Örcün'e, kısa da olsa çalışma fırsatım olduğu Sinan Dirlik ve Bünyamin'e buradan çok teşekkür ederim. Ve tabi ki her zaman Necdet Hocam'a da sonsuz teşekkür ederim.


                           


   Etkisinden uzun süre çıkamadığım Pentagram Konseri de burada anı olarak kalsın \o/                             








23 Ağustos 2018 Perşembe

$git stash Neden kullanılır ve Nasıl kullanılır?

     $git stash, o anki çalışma dizininizin durumunu ve index ini kaydedip daha sonra değişiklikleri geri getirmemizi sağlayan bir komuttur.

 Şöyle ki: bulunduğum projede bir takım değişiklikler yapıyorum. Bu değişiklikleri göndermeden önce projenin güncel halini çekmek istiyorum. $git pull komutunu girdikten sonra birde ne göreyim, conflict hatası ile karşı karşıyayım. Benim değişiklik yaptığım yerde daha önceden bir değişiklik olmuş ve bu yüzden bir çakışma mevcut. Bu sorunu halletmenin kısa yolu ise şöyle:

Var olan değişikliklerimiz $git status ile görüntülüyoruz:



Bu değişiklikleri $git stash diyerek kaydettik. 




Tekrar $git status yaptığımızda yerinde yok. Peki nerede?



 Tabi ki değişikliklerimiz burada. $git stash list yapılan değişiklikeri "WIP on <branchname>" mesajı ile görüntülüyoruz. 



 Tekrar değişiklik yapıp bu değişiklikleri kaydetmek istediğimizde $git stash komutunu kullanabiliriz.  
stash@{0} ve stash@{1}  olmak üzere iki tane değişikliğimiz kaydedilmiş olur. $git stash list çıktısı aşağıdaki gibi olur. 

Değişiklikleri geri getirmek için iki komut kullanılır. 
$git stash pop stash@{<revision>} ve 
$git stash apply  stash@{<revision>}
  Farkları ise  pop değişikliği geri getirdikten sonra listeden siler, apply listeden silmez.



Kaydedilen değişikliklerin farklarını görmek için: $git stash show -p 




Eğer "stash@{0}: WIP on <branchname>" mesajını değiştirmek istiyorsak:

Dosyada değişikliği yaptıktan sonra $git stash save "buraya mesaj gelecek" komutunu yazarak yazılan mesaj ile değişikliği kaydeder. Ekstra $git stash komutunu kullanmamıza gerek yok.



Değişikliği listeden silmek için: $git stash drop stash@{<revision>} 

Tüm değişiklikleri silmek için: $git stash clear

28 Temmuz 2018 Cumartesi

$scope ve $rootScope Nedir, Farkı


$scope Nedir?

 HTML ve JavaScript arasında ki bağlantıyı sağlayan angularJS nesnesidir. MVC'de ki view ile controller arasında ki bağlantıyı sağlayan modelimiz $scope'dur. Hem controller hem de view için kullanılabilir. Tüm $scope'lar $rootScope'un çocuğudur ve sadece bulunduğu controller altında çalışır. 


$rootScope Nedir?

 HTML ng-app içeren kısmın tamamını kapsar. AngularJS'de en baştaki tek $scope'tur. Diğer scopelar bu $rootScope'tan gelir. Aynı değişkenleri farklı controllerda kullanmak için $rootScope kullanılır.

Not: $rootScope projede kontrollünde zorluk yarattığı için kullanımı önerilmiyor.

Örnek:
<body> <div ng-app="burcinApp"> {{yaz}} <div ng-controller="thisController"> {{yaz}} </div></div> <script> var app=angular.module("burcinApp",[]); app.run(function($rootScope){ $rootScope.yaz="rootScope.."; }); app.controller("thisController",thisController); function thisController($scope){ $scope.yaz="scope"; } </script></body>

İlk {{yaz}} ifadesinde controller içerisinde olmadığı için $rootScope etki eder.
İkinci {{yaz}} ifadesinde controller içinde yazıldığı için controller da yazılan $scope
etki eder. Kodu çalıştırmak için tıklayınız.