Neden iş yerinde hiyerarşiyi unutmanın zamanı
Misplaced Lens Cap
sheepfilms

roma★

★
h
One Nice Bug Per Day

Kaledo Art

oozey mess

pixel skylines
PUT YOUR BEARD IN MY MOUTH

ellievsbear
Xuebing Du

izzy's playlists!

⁂
Stranger Things
hello vonnie

Andulka


seen from Japan
seen from United States
seen from United States

seen from Germany
seen from United States

seen from United States
seen from India

seen from Malaysia
seen from United States
seen from United States

seen from Romania
seen from United Kingdom

seen from Malaysia

seen from Spain
seen from South Korea
seen from United States

seen from United States

seen from Malaysia

seen from United States
seen from United States
@inarli
Neden iş yerinde hiyerarşiyi unutmanın zamanı

Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
Free to watch • No registration required • HD streaming
Yaşasın açık kaynak!
Yazılımcılar için açık kaynak kod kütüphanesi http://libraries.io/ miss
Html5 Video Player
http://plyr.io Temiz, özelleştirilebilir bir video player. HTML5'in nimetlerinden. Web adresinin uzantısı io olan şeyler de ayrıca ilgimi çekmiyor değil. http://unirest.io gibi ;)
Başarıya dair algı yanılması
... Yeterince felsefe yaptık. Hayatta kalana bağlılık şu anlama gelir: Başarı olasılıklarını, gerçekte olduklarından daha yüksekmiş gibi algılarsınız. Buna karşı koymak için bir zamanlar umut vaad eden projelerin, yatırımların ve kariyerlerin mezarlıklarını olabildiğinde sık ziyaret edin. Hüzünlü bir ziyaret olur, ama sağlıklıdır.
Hatasız düşünme sanatı syf 9
Projelerin zaman ve maliyetine dair
Öngörüldüğünden daha çabuk ve ucuza gerçekleştirilen büyük bir proje neredeyse hiç görülmemiştir. Airbus A400M'nin, Sidney'deki opera binasının, her üç Gotthard tünelinin de gecikmeleri ve bütçe aşımı efsane niteliğindedir. Bu liste istediğiniz kadar uzatılabilir. Hatasız Düşünme Sanatı / Rolf Dobelli Syf.9

Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
Free to watch • No registration required • HD streaming
Phpstorm 8 ile Codesniffer kullanırken aldığım hata
Phpstorm 8 ile codesniffer kullanmak istediğimde aşağıdaki hatayı alıyordum. Emin arkadaşımın tavsiyesiyle şu düzenlemeyi yaptıktan sonra sorun kalmadı.
/usr/share/php/PHP/CodeSniffer/Standards/PSR2/Sniffs/Classes/ClassDeclarationSniff.php dosyasının 140. satırını bulup
foreach (array('extends', 'implements') as $keywordType) {
satırını
foreach (array('extends', 'IMPLEMENTS') as $keywordType) {
ile değiştirin.
aldığım hatada buydu :
phpcs: PHP Warning: constant(): Couldn't find constant T_iMPLEMENTS in /usr/share/php/PHP/CodeSniffer/Standards/PSR2/Sniffs/Classes/ClassDeclarationSniff.php on line 140 PHP Stack trace: PHP 1. {main}() /usr/bin/phpcs:0 PHP 2. PHP_CodeSniffer_CLI->process() /usr/bin/phpcs:37 PHP 3. PHP_CodeSniffer->process() /usr/share/php/PHP/CodeSniffer/CLI.php:622 PHP 4. PHP_CodeSniffer->processFile() /usr/share/php/PHP/CodeSniffer.php:488 PHP 5. PHP_CodeSniffer->_processFile() /usr/share/php/PHP/CodeSniffer.php:1351 Exclude SeoComponent.php from PHP Code Sniffer analysis.
UBUNTU 14 GT 640 Driver Problemi
olurda ubuntu software center dan nvidia-* tarzı bişey yüklerseniz ilk yeniden başlatmadan sonra masaüstünüz açılmayabilir.
ben bunu şöyle çözdüm;
ctl+alt+f1 ile komut satırına geçip kullanıcı adınız ve şifrenizle oturum açın.
sonra http://www.geforce.com/drivers/results/78469 buradan AGREE & DOWNLOAD butonundan driver dosyasının adresini komut satırına yazın.
curl http://us.download.nvidia.com/XFree86/Linux-x86_64/340.46/NVIDIA-Linux-x86_64-340.46.run
eğer curl yüklü değilse önce yükleyin;
sudo apt-get install curl
sonra indirdiğiniz dosyayı şu şekilde çalıştırın;
sudo 340.46/NVIDIA-Linux-x86_64-340.46.run
ve kurulumu tamamlayıp yeniden başlatın.
Ben böyle çözdüm.Umarım sizinde işinize yarar.
Eklemeden ededim; aynı yöntemi farklı sürücüler içinde deneyebilirsiniz.
(zaten o dakikadan sonra denemekten başka çareler pek kısıtlı :( )
Terminal’de kendi kısayollarınızı oluşturabilirsiniz (Yeni bilgi)
Bir önceki yazımda terminal kısayolları oluşturmakla ilgili öğrendiğim ufak bir bilgiyi paylaşmıştım. Bugün daha pratik bir yöntem öğrendim. Yine ssh bağlantısı kurmak üzerinden devam edecek olursak;
alias ssh-baglanti-adi ="ssh -p [port num] [ssh-kullanicisi]@[server-ip]"
şeklinde kaydettiğiniz zaman, terminalde sadece;
Ilkay-MacBook-Pro:~ ilkay$ ssh-baglanti-adi
gibi çağırarak komutunuzu kısayolunuz ile çağırmış ve çalıştırmış olursunuz.
Bu kullanımı istediğiniz komut için düzenleyebilirsiniz. cd komutuyla bir klasörün içine girmek gibi veyahut bir dosyayı kopyalamak gibi. Gerisi sizin bildiğiniz terminal komutlarınızın çeşitliliğine kalıyor.
Terminal'de kendi kısayollarınızı oluşturabilirsiniz
nano ~/.ssh/config
Host [belirleyeceğiniz kısayol adı] HostName [ssh IP] Port [ssh Port] User [ssh Username]
ctrl+X ile değişiklikleri kaydedin.
sonra verdiğiniz kısayol ismiyle komutunuzu aşağıdaki gibi çalıştırın.

Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
Free to watch • No registration required • HD streaming
Steve Jobs,
Bu adam farklıydı, farklı işler yaptı ve gitti.
Kitabı cuma günü sipariş etmiştim, bugün gelmiş. Son izlediğim Silikon Vadisi Korsanları'ndan sonra hayatına dair merakım iyice artmıştı zaten.
MySQL Foreign Key Nedir, Ne işe yarar?
Bu, ilişkili tablolardaki veri bütünlüğünü sağlamaya yönelik bir özelliktir. İki tablo arasında (örneğin futbolcular ve takımlar) oluşturulan bir foreign key sayesinde olmayan bir takım idsi ile yeni bir oyuncu sisteme eklenemez. Aynı şekilde, takım silinirse takımdaki oyunlarında silinmesi gibi otomatize işler organize edilebilir.
Örnek tablolar:
CREATE
TABLE managers (
id
INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
team_id
INT NOT NULL,
name
VARCHAR (25) NOT NULL
)
ENGINE=INNODB;
CREATE
TABLE teams(
id
INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
name
VARCHAR (25) NOT NULL
)
ENGINE=INNODB;
CREATE
TABLE players(
id
INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
team_id
INT NOT NULL,
name
VARCHAR (25) NOT NULL
)
ENGINE=INNODB;
Şimdi burada 3 tablo var. managers, teams ve players. Bu tablolar arasında bir ilişki kuracağız. Baktığımızda kayıt eklerken ihtiyacımız olan ortak bilgi player ve manager için bir tane team_id. Bu iki tabloyu teams tablosuyla ilişkili hale getirelim.
ALTER TABLE managers ADD FOREIGN KEY ( team_id) REFERENCES teams(id ) ON DELETE CASCADE ;
Bu sorgu şunu yapıyor. managers tablosundaki team_id alanını teams tablosundaki id alanıyla ilişkilendiriyor. ON DELETE ise teams tablosunda bir kayıt silinirse o kayıtla ilişkili diğer tablolardaki kayıtların akıbeti belirleniyor. Biz CASCADE diyerek teams tablosunda silinen kaydın idsine sahip diğer tablolardaki kayıtların da silinmesini istedik. Böylece şunu sağlamış oluyoruz, bir takım silinirse o takımdaki manager da silinecek. Peki ON DELETE yerine başka neler kullanabiliriz. Elimizde bir tane de ON UPDATE mevcut. Bu da isminden anlayacağınız gibi kayıt güncellendiğinde o kayıtla ilişkili kayıtların akıbetini belirleyebiliriz.
Devam edelim ve yukarıdaki işlemi players tablosu için de uygulayalım.
ALTER TABLE players ADD FOREIGN KEY ( team_id) REFERENCES teams(id ) ON DELETE CASCADE ;
Artık players tablosuda bünyesindeki team_id alanı sayesinde teams tablosuyla ilişki kurmuş oldu. Evet, teams tablosunda bir kayıt silindiğinde o kaydın idsine sahip tüm players kayıtları da silinmiş olacak. Tabi bu arada players ve managers tablolarına yeni kayıt eklerken team_id değeri teams tablosunda bulunan bir kaydın id si olmalı. Aksi halde kayıt eklerken şöyle bir hata alabilirsiniz. (deneme benim bu işleri yaptığım tabloya verdiğim isim (: )
INSERT INTO players ( name, team_id) VALUES('Hakan Şükür','0' );
#1452 - Cannot add or update a child row: a foreign key constraint fails (`deneme`.`players`, CONSTRAINT `players_ibfk_1` FOREIGN KEY (`team_id`) REFERENCES `teams` (`id`) ON DELETE CASCADE)
Peki ON DELETE veya ON UPDATE sonrasında CASCADE dışında başka neler yaptırabiliriz? Elimizde bu iş için 3 tane daha parametre var. Bunlar;
SET NULL : Bu parametre işlem sonrasında ilişkili kayıtlardaki ilişkili alanlara NULL ataması yapar. Tabii ki ilişkili alanın NOT NULL olmaması gerekir.Yoksa hata alırsınız.
RESTRICT : Ana tablodan kayıt silinmek istendiğinde (örneğin teams tablosundan bir kayıt silinmek istendiğinde) eğer o kayda bağlı başka kayıtlar varsa silme işlemine izin vermeyecektir.Önce ana tabloya bağlı kayıtları silip en son ana tablodaki kaydı silebilirsiniz.
NO ACTION : Bu parametre de RESTRICT gibi işlem yapıyor ama farkı mutlaka vardır. Eğer biliyorsanız aydınlatın :)
Son olarak CONSTRAINTS Türkçe karşılığı kısıtlayıcılar'dan bahsetmek istiyorum. Bu şeyi aslında çoğu kez kullanmışızdır. Mesela bir tablo oluştururken tanımladığımız PRIMARY KEY aslında aynı zamanda bir kısıtlayıcıdır. Bu sayede PRIMARY KEY olarak atadığımız alana aynı değerlerin tekrar girilmesini kısıtlamış oluruz. Ve sonra bazı alanlara UNIQUE tanımladıysanız bu sizin için gelsin. UNIQUE 'de bir kısıtlayıcıdır. PRIMARY KEY tabloda en fazla bir alana verilebileceğinden dolayı başka alanlarda veri tekrarı oluşmasını bu özellik sayesinde kısıtlayabiliyorduk.
Asıl, konumuzun başından beri bahsedegeldiğim mesele ile ilgili kısıtlayıcıya geliyoruz şimdi. ta taa! FOREIGN KEY
Foreign Key sayesinde bir alana girilecek veriyi sadece başka bir tablodaki değerler arasından kabul etmesini sağlayabiliyoruz. Mesela yukarıdaki örnek veritabanımızdan bahsederek açıklamam gerekirse, players tablosunda bir kayıt eklerken team_id değerine sadece teams tablosundaki id lerden birisini verebilirim. Farklı bir değer yada teams tablosunda bulunmayan bir değer vermek istediğim zaman hata alırım.
Son iki kısıtlayıcıyıda eminim hatırlayacaksınızdır. DEFAULT CONSTRAINT, bu kısıtlayıcıyla sahip olan alanda değer yoksa otomatik olarak DEFAULT değer verilerek alanın boş olmaması sağlanmış olur. Birçoğumuz bunu da kullanmışızdır. Son olarak CHECK CONSTRAINT ten de bahsederek konumuzu noktalayalım.
Bu kısıtlayıcı türü alana girilen veriyi istediğimiz şekilde kontrol etmemize yarar. Mesela aşağıdaki sorgu sonucunda players tablosuna girilecek kayıtlarda is_married alanındaki değer yes ya da no olmak zorunda.
ALTER TABLE players ADD CONSTRAINT checkMarried CHECK (is_married = 'yes' or is_married = 'no' );
Hatamız varsa affola...
Kimsin sen?
İstanbul'da yaşayan bir yazılım geliştiricisiyim.