GÜVENLİ ŞİFRE NASIL OLUŞTURULUR? Günümüzde teknolojinin gelişimi ile birlikte internet kullanımının artması sonucunda elektronik şifre ve bilgi güvenliği gibi riskler de gündeme geldi.Ortalama bir internet kullanıcısının e-posta adresleri,forum ve web siteleri üyelikleri,sosyal medya hesapları,işletim sistemi hesapları bulunmaktadır.Ayrıca online alışverişler,kredi kartı kullanımları,online bankacılık,online para transferleri gibi yüksek güvenlik gerektiren işlemler de artık oldukça popüler uygulamalardır.
İnternet üzerinden yapılan bu gibi işlemler için kullanılan sisteme göre kullanıcı ismi,sanal klavye kullanımı,şifre ve güvenlik kodlamaları gibi bazı güvenlik seviyelerini başarıyla geçmeniz gerekmekmektedir.Tam güvenliğin sağlanması açısından ilk adım ise hatırlanması daha kolay ama tahmin edilmesi zor şifrelerle siber korsan saldırılara karşı dayanıklı şifreler oluşturabilmektir oldukça önemlidir.Zayıf oluşturulan şifreler hacker denilen kişiler ve gruplar tarafından farklı yöntemlerle kolayca kırılarak hesapları kolayca ele geçirebilmektelerdir. Peki bu tip güvenlik sorunlarına ve risklerine karşı güvenli şifre oluşturmak için dikkat edilmesi gereken noktalar nelerdir? Şifrelemede bazı önemli noktalar:-Oluşturduğunuz şifreler,ardışık sayı veya kelimelerden oluşmamalıdır.Örneğin;1,2,3,4,5. a,b,c,d,e gibi.-Şifreler kısa ve tek kelimeden oluşmamalıdır.Örneğin;Ahmet,Fenerbahce,Ankara-Şifreler kesinlikle sadece karakter ya da sayı grubundan oluşmamalıdır.Örneğin;111111,aaaaaa gibi. Güvenlikli ve güçlü şifreler en 8 karakterden ve rakam,harf ve simgelerden oluşmalıdır.Farklı yöntemler kullanarak güçlü şifreler oluşturulabileceği gibi hiç unutmayacağınız bir deyim,söz gibi önemli noktalar ile şifreler oluşturulabilir. Oluşturduğunuz şifreniz ne kadar uzun ve karışık olursa o oranda güçlü ve kırılması zor olmaktadır.Aynı zamanda da kolay hatırlanabilir şekilde olmalıdır.Bu tür şifreler de Keylogger programlarına karşı çok fazla etkili olmasa dahi güçlü şifre oluşturmak kadar onu güvenle korumak da önemlidir.Bu yüzden şifrelerinizi herkesin görebileceği şekilde bilgisayar veya kağıt üzerinde bulundurmayın.Şifrelerinizi başkaları asla paylaşmayın.Özellikle internet tarayıcıların şifre hatırlama özelliğini kullanmayınız ve belli aralıklarla mevcut şifrelerinizi değiştirmeyi ihmal etmeyin.
Clean Code, ya da Temiz Kod – Kaliteli Kod, uzunca bir süredir etrafta dolaşan etkileyici tamlamalardan birisi. Malum, böyle terimlere “buzzword” diyorlar İngilizce’de.
Google’da “Clean Code” araştırması yapınca karşınıza ilk iki sırada Robert C. Martin’in kitabı ve değişik bir tarzda hazırlanmış “Clean Code” eğitim videolarının bulunduğu Clean Coders sitesi geliyor. Martin’i ben 90’lı yıllarda C++ Journal gibi dergilere yazdığı nesne-merkezli programlamayla ilgili yazılarından tanıyorum. Kendisi bu dünyanın en eskilerindendir, 1964 yılında programlama başladığını kendisi ifade ediyor. Şu anda da “Clean Code” yaklaşımının öncülüğünü yapıyor.
Clean Code’un ne olduğu ile ilgili bazı kısa tanımlar var. Örneğin Bjarne Stroustrup “elegant and efficient” yani “zarif ve etkin” derken Grady Booch “simple and direct” yani “basit doğrudan” diyor. Michael Feathers ise biraz daha uzun bir şekilde “dikkatli, önem veren birisi tarafından yazılmış görünen koddur” diyor Clean Code için. Bu konuda belki de en uzun tanımı Dave Thomas yapıyor:
“Temiz kod, orijinal yazarından başka developer tarafından okunabilir ve geliştirilebilir. Birim ve kabul testlerine sahiptir. Anlamlı isimleri vardır. Bir şeyi yapmanın pek cok yolundan ziyade tek bir yolunu saglar. Açık-seçik olarak tanımlanmış minimal bağımlılıklara sahiptir ve temiz ve minimal bir API sunar. Kod okunabilir olmalıdır, çünkü sadece programlama diline bağlı kalınırsa, her türlü gerekli bilgi kodda açık bir şekilde ifade edilemez.”Yazının Devamı İçin
Bir genç arkadaşımın, “okuldan tanıdığım, sağlam çocuktur, iş arıyor” deyip bana CVsini gönderdiği emaili ülkemizin BT piyasasında hatırı sayılır işler yapan insan kaynakları şirketine sahip bir tanıdığıma gönderdim. O da bana “deneyimi yok ama olsun sağol :)” diye cevap yazdı. Bu arkadaşımla zaman zaman buluşup konuşuruz, ortak bir şeyler yapalım vs. diye, dolayısıyla kendisini iyi tanıyorum. Bu “deneyimi yok ama” kısmı aslen onun düşüncesi değil, burası, tamamen arkadaşımın iş yaptığı ve daima “tecrübeli” aday arayan insanların yani BT yöneticilerinin zihin yapısını ifade ediyor.
Evet malesef öyle bir ülkede yaşıyoruz ki, kimse yeni öğrenene tahammül edemiyor. Diğer sektörlerde de öyle mi bilmiyorum ama en azından BT ve futbol sektörümüzde durum bu. “Biz tecrübeli programcı arıyoruz!” Zannedersin uzaya füze fırlatan rampa sisteminin yazılımını yazacak! Ya da CMMI-5 seviyesinde bir yazılım şirketinde ya da BT biriminde yönetici, o yüzden bu kaliteye ayak uyduracak yazılımcı arıyor. Sorsan “nedir tecrübeli?” diye sadece yıl cinsinden bir tarif yapabilir: “işte, 5 sene falan Java ile uğraşmış olsun”. Aslında bunu diyen, “5 sene ile Java ile uğraşmış olma”nın daha detayda ne anlama geldiği hakkında emin olun bir cümle daha söylemekte zorlanacaktır, hatta söylediklerinin 5 senelik Java tecrübesiyle alakası olmadığını anlayarsınız. Şunun gibi: “yani CVS’le falan uğraşmış olsun”!
Bütün bunları ben, bu sektörde iş ararken hiç yaşamadım. Çünkü juinor programmer olarak iş ararken ABD’deydim ve orada gerek önüme konan sınavlardan gerek ise benimle yapılan iş görüşmelerinden, benimle ilgilenen kişilerin tam da benim gibi, bilgisi olan ama tecrübesi olmayan kişiler aradıklarını rahatlıkla anlayabiliyordum. Çünkü pozisyon, bekletiler vs. hakkında konuşurken benimle görüşen kişiler, örneğin “2 senedir bizimle olan ve başından bu yana projede bulunan, … tecrübeli bir arkadaş var, onunla çalışacaksın” diye sağlam bir alt yapıya sahip olup da tecrübesi olmayan kişiye uygun bir konumlandırma yapabiliyorlardı. Bu ülkede ise herkesin “Alex” olması bekleniyor. “Ama tecrüben yok!” Eeee, sen iş vermezsen, stajyer olarak gelene de “aman gölge etme dersen”, insanlar nasıl tecrübe sahibi olacaklar ki? Sanırım bu yüzden sadece 22 yaşında olup henüz üniversiteden mezun olmamış bir gencin bana gönderdiği CVsinde “6 yıl tecrübe” yazıyordu! Bir insan MIT ya da Stanford’dan doktora bile alsa, tecrübesi “0”dır. Ama işte böyle yaparak, BT sektörüne girmek isteyenleri de bu şekilde saçma davranışlara sürüklüyoruz. Sonuçta iki yanlış bir doğru etmiyor.
Zaten size bir şey söyliyeyim mi? Tecrübeden kastedilen ise aslında sadece “hızlı iş çıkarmak”. Kimse, “bizim projemizde performans çok önemli, o yüzden yazılacak kodun kalitesi kritik, ancak tecrübeliler yazabilir bunu” diye düşünmüyor. İşin komik yanı zaten bu: Tecrübe bu ulkede sadece yıl ile ölçülüyor, kişinin gerçekten ne yaptığıyla değil. Mesela ben 2001’de ABD’den dönüp te bu ülkenin en büyük krizini geçirdiği günlerde iş ararken iki kişi hariç hiç kimse benimle CVmin üzerinden geçip, ABD’de ne yaptığımı sorgulamadı. Kimse hangi projelerde, hangi rollerle yer aldın, neler yaptın, sorumlulukların neydi vb. sorulara girmedi. Herkes, ABD’den gelmişliğimle ve yaşımın 30’u geçmişliğiyle ilgilendi. Ben teknik pozisyonlara başvurdum ama insanlar beni kendi yöneticileriyle kıyasladılar. Sadece iki kişi CVmdekiler üzerinen tek tek gitti, detayını öğrendi. İlki, zaten yabancı bir şirketin IT müdürü olan ABDli bir adamdı, diğeri de ABD’de 18 sene kalıp, bu ülkeye dönmüş ve BT işi kurmuş Türk bir patrondu.
Bir diğer konuda aslında her projede her türlü tecrübeye sahip kişilere ihtiyaç olacağı gerçeğidir. Bu durum hem tecrübe, hem de yetenek vb. çok şey için geçerli. Yani tutun 10 tane Alex bulup Fener’e koyun mesela. Fener, Bayern’mi olacak? Her projede diğerlerine yol gösterecek tecrübe, zeka ve özgüvende insanlar kadar, onlardan sayıca daha fazla olan ama daha az tecrübeli ve bilgili çalışanlara da ihtiyaç vardır. Savaşı sadece generallerden kurulu bir orduyla kazanamazsınız ki! Bana her tecrübeli 1 yazılımcının yanına yarı tercübede 2-3 kişi koyacak şekilde bir proje verin, hiç bir tecrübe zaafiyeti yaşamadan, projenin büyüklüğüne göre muhtemelen pek çok yeni mezun ile projeyi yapabilirim. Yeni mezunları seçerken ince eler sık dokurum o ayrı. Sertifikası olana daha olumlu bakarım örneğin. Biz bir binayı yaparken herkesin tecrübeli inşaat mühendisi olmasını bekliyor muyuz? Neden o zaman bir yazılım projesinde herkesin mühendis ve tecrübeli olmasını bekliyoruz ki? Herkesin tecrübeli yazılımcı olduğu yerde aslında pek çok ufak-tefek, basit ve tekdüze iş, çok pahalı çalışanlar tarafından yapılıyor demektir. Aslında yönetimden anlamadığımız için, hasbel kader yöneticilere sahip olduğumuz için, tecrübesizleri çalıştıracak yetkinliğe sahip değiliz. Tecrübeli olan zaten iyi çalışır, tecrübesiz ise iyi çalışmayı öğrenmeye ihtiyacı vardır, dolayısıyla yönetilmeye, yol gösterilmeye, yetiştirilmeye ihtiyacı vardır. Tecrübesizi işe almayarak kendi tembelliğimizi gösteriyoruz aslında.
Zeki, yetenekli ve iyi eğitimli az sayıda insan ile, orta seviye zeka ve yeteneğe sahip insanlarla, karmaşık işler bile ne kadar basit, öngörülebilir hale getirilir görmek isterseniz, ABD’yi bir ziyaret edin ederim. Bakın o “aptal” dediğimiz insanlar, bizim zekilerimizin bu topraklarda yapamadığını ne kadar basit bir şekilde yapıyorlar.
Bir diğer nokta da yeni mezunların ortama bir enerji ve canlılık getirdikleri gerçeğidir. Yeni mezunların, ortamları daha neşeli kıldıkları, daha yaratıcı çözümler bulduklarını çok defa gözlemlemişimdir. Nasıl hep aynı tipten insanların buludukları yerler tekdüze oluyorsa, sadece tecrübelilerin yanına koyacağınız tecrübesizlerle bu tekdüzeliği aşabilir, taze kan ve enerji alabilirsiniz. Örneğin ben, azimli, motivasyonunu kaybetmemiş 2-3 sene tecrübeli kişilerle harmanlanmış, iyi seçilmiş yeni mezunların, düzgün bir yönetim ile uzun vadede, 10 küsur senelik tecrübeli, ama bu kültür içinde motivasyonunu kaybetmiş kişilerden oluşmuş bir takımdan daha çok ve kaliteli iş çıkarabileceğime inanıyorum.
Her şey gibi insan da her yaşında ögretilmeye, eğitilmeye ve yol gösterilmeye muhtaçtır. Herkes, bilmediğinin, yaşamadığının tecrübesizidir. İyi yöneticiler de, işlerinin gerektirdiği yetkinlikleri ve seviyelerini iyi bilen ve takımlarını buna göre bir uyum içerisinde kurabilen ve onları motive eden kişilerdir. Bizim sektörümüzde “yıl”a indirgenmiş tecrübe ve yetkinlikten dolayı çok enerji ve insan kaybediyoruz.Kaynak: http://www.javaturk.org/?p=4505