Skip to content

Social Network Badges

Posts under Genel Bilgisayar Category

Bu yazı Bilgisayar mühendisi ne iÅŸ yapar? adlı çalışmanın 6. bölümü…

Bilgisayar dünyasında bazı pozisyonlar şirket içi süreçleri yürütür. Mesela bir yazılımcı kendi odasındaki arkadaşları haricinde kimseyi görmeden bir günü geçiriyor olabilir.

Bazı görevler ise müşterilerle birlikte çalışmayı gerektirir. Teknik destek bölümlerinde çalışan mühendisler genelde yerinde ya da telefonla destek verirken müşterilerle vakit geçirir. Bu sebeple destek işi yapanların dışa dönük, ağzı laf yapan, sorunlara analitik yaklaşan ve ikna kabiliyeti yüksek kişiler olmaları başarılarını ve kariyer gelişimlerini olumlu etkiler.

Teknik Destek Uzmanı

Bir ürün ya da teknoloji konusunda şirket personeline veya müşterilere destek hizmeti veren kişilerdir. Çalışma şekilleri ve kullandıkları araçlar iş yaptıkları alana göre değişebilir. Mesela donanım destek uzmanları birebir yerinde çalışma yaparken, bir web hosting destek uzmanı sadece e-mail yoluyla destek verebilir.

Teknik destek uzmanlarının genellikle yürüttüğü bir görev de kullanıcı eğitimleridir. Bir programın temel kullanımı, bir cihazın kurulumu, bir web sitesinin ayarlarının yapılması gibi konularda eğitim verebilir veya kullanım kılavuzları hazırlayabilirler.

Yardım Masası Uzmanı

Müşterilere uzaktan destek verilmesi amacıyla kurulan çağrı merkezleri ve yardım masası (help desk) bölümlerinde çalışan uzmanlar genelde sesli ya da yazılı destek verirler. Alanları ile ilgili her konuda sorunlarla karşılaştıklarından destek verdikleri konuları genelde iyi bilirler.

Kısa sürelerde sorun çözmeleri beklendiğinden zaman kullanımı ve sonuca ulaşma konusunda kendilerini geliştirmeleri gerekir.

1./2./3. Seviye Teknik Destek Mühendisi

Ülkemizde pek bilinmeyen bir teknik destek seviyelendirmesi vardır. 1. seviye genel anlamda verilen teknik destek demektir. Yardım masası, Internet sayfası, e-mail vb. yollarla hizmet verilir. 2. seviye destek daha spesifik sorunlarda daha uzman personel ile verilen destek hizmetidir. Gerektiğinde yerinde müdahale yapılır. 3. seviye ise diğer seviyelerde çözülemeyen bir sorun için o işi en iyi bilen kişilerce verilen uzman desteğidir.

Bilgisayar mühendisleri bilgi ve tecrübelerine bağlı olarak bu üç seviyede de çalışabilir.

Uygulama Uzmanı

Uygulama uzmanları daha çok büyük ölçekli müşterilerde bir yazılımın, bir cihazın vb. o müşteriye özel kullanımını sağlamak ve sistemlerine adapte etmek üzere çalışan kişilerdir. İşleri gereği gittikleri yerlerde projeleri sonuçlanıncaya kadar vakit geçirmeleri gerekebilir.

Uzmanlık durumlarına göre bir çok projede çalıştıklarından kendilerine sağladıkları çevreyi kullanarak kariyerlerine yön verebilirler.

Bu yazı Bilgisayar mühendisi ne iÅŸ yapar? adlı çalışmanın 4. bölümü…

Günümüzde en ufak şirketlerde bile çalışmayı kolaylaştırmak için bilgisayar ağları kuruluyor. Hele iş yapış şekli bilgisayar sistemlerine bağlı olan şirketlerde, iyi kurulmuş ve doğru yönetilen bir ağ olmazsa olmazlardan birisi.

Ayrıca Internet gibi aÄŸların ağı konumunda ve hayatımızın vazgeçilmezi olan bir kavram var. En ufak baÄŸlantı kesikliÄŸine bile tahammül edemiyoruz. Åžubat ayında okyanus altındaki uluslararası fiberoptik baÄŸlantı kablolarından birisi muhtemelen bir sabotaj sonrasında devre dışı kaldığında OrtadoÄŸu ve Asya’daki birçok ülke Internet’e baÄŸlanamamıştı.

Ticari kurumlarda ise bu gibi sorunlar kriz anlamına geliyor. Mesela çalıştığınız ÅŸirket bir hosting firması ise, sisteminizde yaÅŸanacak aÄŸ sorunlarının kaç kiÅŸiyi etkilediÄŸini tahmin bile edemezsiniz. En popüler hosting firmalarından Dreamhost’un sisteminde çıkan sorunları yayınladığı destek sitesindeki bildirileri takip ettiÄŸinizde aÄŸ uzmanlarının iÅŸinin ne kadar önemli olduÄŸunu görüyorsunuz. Yine meÅŸhur Türkçe blog sitesi blogcu.com geçtiÄŸimiz günlerde aÄŸ sorunları sebebiyle bir hafta kadar eriÅŸilememiÅŸti.

Örnekleri çoğaltmak mümkün. Bilgisayar mühendisleri ağ kurulumu ve yönetiminin tüm aşamalarında görev alarak işlerin düzenli yürümesini sağlarlar. Sağlam ve performanslı bir ağ yapısı iyi bir mühendislik bilgisi ve becerisi gerektiriyor. Planlama, kurulum, yönetim, sorun çıktığında doğru izleme metotlarını kullanarak sorunu çözme gibi işlerde kendisini iyi yetiştirmiş bir mühendis her zaman iyi kazanacaktır.

Aslında sadece router kelimesi ile ilgili olarak bile onlarca farklı pozisyon var. Ama ağ ile ilgili en bilinen pozisyonları kısa birkaç cümle ile açıklayalım:

AÄŸ Analisti

Bir bilgi işlem ağının kurulmasında en kritik yükü üstlenenler ağ analistleridir. İhtiyaçları iyi anlayıp ağ altyapısının tasarımını yapar, kullanılacak donanım ve ağ trafiğini en iyi performansla sağlayacak ekipmanı belirler, kurulumun her aşamasında rol alır. Çıkan sorunları ve performans problemlerini inceleyip çözümler üretir. Ağ ile ilgili teorik ve pratik bilgilere, WAN, LAN, VPN gibi yapılara, ağ protokollerine hakimdir.

Ağ Yöneticisi / Sistem Yöneticisi

Åžurada yazan bilgilerden alıntı yaparsak; “Åžirket gereksinimlerine göre network tasarımı ve yönetimi ve iÅŸletim sistemlerinin (Windows Server, UNIX, LINUX, SUN gibi) tasarımı, kurulumu ve yönetimi konularından sorumludur. Ayrıca yedekleme gibi günlük iÅŸlemlerin yönetimi, kullanıcı gereksinimlerini karşılanması ve iÅŸlemleri içerir.

MCSE (Microsoft Certified Systems Engineer), Sun Solaris Certified Engineer, CISCO ve Linux sertifikasyonları bu görev içindir.”

Ağ Mühendisi

Daha çok fiziksel ağ işleriyle uğraşır. Kablo sistemleri, yerel ve geniş ağ bağlantıları, router vb. ekipmanların kurulumu ve ayarları, yönetim yazılımları, trafik izleme konularında çalışır.

Ağ Destek Uzmanı

Ağ ile ilgili kurulum ve kullanım sorunlarına destek verir. Kablolama, ağ ekipmanları, ağ kurulumu ve bakımı gibi görevlerde çalışır. Müşteriler ya da kullanıcılarla yakın temas halinde çalışarak ağ sorunlarını çözer.

Ağ İşletim Sistemi Uzmanı

Aslında bu pozisyonu daha çok “Windows Server Uzmanı”, “Unix Yöneticisi” gibi isimlerle duyarız. AÄŸ yönetiminin donanım ve yazılım olarak ayrı ayrı paylaşıldığı ÅŸirketlerde iÅŸletim sisteminin yönetiminden bu pozisyon sorumludur. İşletim sisteminin kurulumu, bakımı, kullanıcı yönetimi, yedekleme yönetimi, eriÅŸim denetimleri gibi yazılım görevleri ile uÄŸraşır.

Bu yazı Bilgisayar mühendisi ne iÅŸ yapar? adlı çalışmanın 2. bölümü…

İş hayatında bilgisayarlaşmanın artmasıyla çok miktarda veri depolanmaya başladı. Artık bilgileri kaydetmekten çok bu verilerin analiz edilmesi ve işlenmesi önem kazanmaya başladı. İş zekası, OLAP, veri madenciliği gibi terimler fazlasıyla hayatımıza girdi.

Bilgisayar mühendisleri verilerin ve içinde tutuldukları veritabanlarının yönetimi ile ilgili bir çok pozisyonda yer alıyorlar.
İşte bu pozisyonlardan bazıları:

Veri Yöneticisi

Veri yönetimi ile “veritabanı yönetimini” birbirinden ayırt edilmesi gerekir. Veri yöneticileri, verinin anlam ve kullanımı üzerinde odaklanan kiÅŸilerdir. Buna karşılık, veritabanı yöneticileri, veritabanı uygulamalarının güvenilirliÄŸi, bütünlüğü ve performansı ile ilgili teknik tabanlı kiÅŸilerdir.

Veri yöneticisi veriyi kullanıcılar tarafından kullanılmaya hazır hale getirir. Bunun için daha çok analiz etme, veri toplama ve dizayn aşamalarında yer alır.

Veri Analisti

Veri ambarı, bir kuruluşun tarihsel verilerinin diğer bir deyişle kurumsal hafızanın muhafaza edildiği yerdir. Yönetimin karar destek sistemi için gerekli ham verileri tutar. Veri analisti, veri ambarı üzerinde çok miktarda veri üzerinde çok karmaşık sorgulama ve analizleri gerçekleştirerek sonuçlar üretir. Bu esnada kullandığı araçların genel adı Veri Madenciliği ya da OLAP araçlarıdır.

Veri Mimarı

Veri mimarı bir kuruluÅŸun verileri doÄŸru kullanarak stratejik hedeflerine ulaÅŸmasını saÄŸlar. Veri yapısının en önemli bileÅŸenlerinden biri metadatadır. Metadata “veri hakkında veri“ anlamındadır. Mesela ÅŸirket/kuruluÅŸ bir ERP sistemi kuracaksa, metadata ERP sisteminde hangi verilerin takip edileceÄŸini belirleyen yapı demektir. Veri mimarı metadata bilgilerinin doÄŸru tanımlanmasından, ÅŸirketin ihtiyacı ve hedeflerine uygun olmasından ve doÄŸru teknolojik araçların seçiminden sorumludur.

Veri Modelleme uzmanı

Veri Modelleme, verilerin şekil ve metin olarak ifade edilmesidir. Örneğin bir şirket işe alacağı elemanlar için seçme ve yerleştirme sistemi kuracak olsun. İşlemin süreçleri, başvuran kişi ve İK personeli arasındaki bilgi akışı gibi sistem bileşenleri belli şekillerle ve destekleyen anlatımlarla bir model olarak tanımlanır. Dolayısıyla sistemi ifade etmek kolaylaşır. Veri modelleme uzmanı bir taraftan modelleri kurarken, bir taraftan da gereken veritabanı tablo tasarımlarını yapar.

Veri Madencisi

Aslında veri analistliğine benzeyen bu pozisyon, anlamsız görünen verilerden belli metodolojiler kullanarak anlamlı sonuçlar ve istatistikler çıkarır. Bir kurumun geçmiş yıllara ait satış verilerini OLAP araçları ve sorgularla inceleyip hangi aylarda satışların yükseldiği, bir kampanya yapıldığında satışlara nasıl etki yaptığı vb. raporları hazırlar.
Son yılların en gözde mesleklerindendir. Büyük veritabanı firmaları veri madenciliği alanına milyar dolarlar yatırmaktadır. Dolayısıyla önümüzdeki yıllarda da popülaritesinin devam etmesi bekleniyor.

Veritabanı Yöneticisi

Şurada yazan bilgilere göre;

Veritabanı basit olarak bilgi depolayan, bu bilgiyi verimli ve hızlı bir şekilde yönetip değiştirebilen bir yazılımdır. Veritabanı, bilgi sisteminin kalbidir ve etkili kullanmakla değer kazanır. Bir veritabanı bir kütüphanenin mükemmel bir indeks sistemi olduğu gibi , aynı zamanda kütüphanenin kendisi de olabilir.

Veritabanı yöneticisinin görevleri kısaca şu başlıklar altında toplanabilir : Veritabanı yazılımının Kurulması ve versiyon takibi, veritabanı oluşturulması, Kullanıcı yönetimi, yedekleme, performans ayarları vb.

En bilinen ve çok kullanılan veritabanı yazılımı Oracle. Oracle veritabanı yöneticileri bugün çok iyi ekonomik şartlarda çalışıyor. Kendini geliştirmek isteyenler için eğitim imkanı ve kaynak şansı fazlasıyla var.

Veritabanı Mimarı

Veritabanı Mimarı ve diğer veritabanı yönetimi pozisyonları ile ilgili şu adreste güzel açıklamalar yapılmış.

Veritabanı mimarları yeni bir veritabanının tasarlanması ve oluşturulması görevlerini yerine getirir. Veritabanı mimarı, sadece yeni tasarım ve geliştirme işine bakar. Bakım, idare, ve kurulan veritabanları ve uygulamaların ayarlarına karışmaz. Mantıksal veritabanı modelini olusturur. Fiziksel veri modeline dönüşümü sağlar. İndeksleri oluşturur. Yedek ve geri kurtarma stratejilerini belirler.

Veritabanı Güvenlik Uzmanı

Veritabanı güvenlik uzmanı sistem güvenliği ve veri güvenliği denilen iki işi yapar.

Sistem güvenliği işinde, veritabanına bağlanan kullanıcıların yetkisi var mı, gerekli denetlemeler yapılıyor mu, sağlıklı çalışma için gerekli fiziksel ve tasarım kaynakları yeterli mi gibi işleri yönetir. Ayrıca ağ üzerinde verinin şifrelenmesi, sisteme yapılan saldırılar, şifre politikaları gibi konularda çalışır.

Veri güvenliğinde ise, kullanıcıların veritabanı şemasında nerelere erişim yetkileri var, kullanıcılar bir tablo üzerinde hangi işleri yapmaya yetkilidir gibi kontrolleri yapar. Veri bozulmalarına sebep olabilecek işlemleri takip eder. Tasarım hatalarını uzmanlarına iletir.

Ayrıca veriambarı yöneticisi, performans analisti, veritabanı optimizasyon uzmanı gibi pozisyonlar da var. Kullanım alanları geniş olduğundan veritabanı ile ilgili çok farklı pozisyonlarda çalışma imkanı bulunuyor.

Bu yazı Bilgisayar mühendisi ne iÅŸ yapar? adlı çalışmanın ilk bölümü…

Bilgisayar mühendislerinin en bilinen çalışma alanlarından birisi yazılım sektörüdür.

Yazılım geliÅŸtirme iÅŸi genelde adına “Yazılım yaÅŸam döngüsü” denilen bir süreç içerisinde yürür. Bilgisayar mühendisleri planlama, analiz, tasarım, kodlama, test/kalite yönetimi ve kurulum gibi aÅŸamalardan oluÅŸan bu sürecin her tarafında yer alabilirler.

Bazen aşağıdaki pozisyonlar için ayrı insanlar çalışabildiği gibi, bazen de bir kişi pozisyonlardan birkaçının işini yapar.

Planlama / Analiz

İş Analisti

Müşterilerin ihtiyacını anlamaya yönelik çalışmalar yapan pozisyondur. Şurada anlatıldığına göre;

İş analisti, proje yaşam döngüsünün daha çok proje imza öncesi ve proje başlangıç aşamasında rol alır. Bu kişiler, yazılıma özel gereksinimlerden daha çok yapılacak işe özel ihtiyaçları belirler.

Burada “ihtiyaç” dememin de özel nedeni var. Bunlar müşterinin “ihtiyaç” duyduÄŸu ama hala gereksinime dönüşmemiÅŸ haldedir. Şöyle örnek vereyim: Bir kiÅŸinin arabaya ihtiyacı olur. İş analisti sadece bu kiÅŸinin araba ihtiyacını ortaya koyar. “Adam araba istiyor” der geçer. Sonra gereksinim analisti, bu kiÅŸinin hangi marka, ne özelliklerde, ne tip arabaya ihtiyacı olduÄŸunu belirleyerek arabanın “gereksinimlerini” ortaya koyar.

Sistem Analisti

Yazılım dünyasında sistem analistleri, kullanıcılardan ya da iş analistlerinden gelen bilgileri kullanarak geliştirilecek yazılım veya çözümün yapısını belirler. Gerekli işlem adımlarını ve aşamalarını hazırlar. Yani sadece ihtiyacı değil, ihtiyaca göre çözümü üretir.

Sistem analisti genel olarak ise tüm bir bilgi işlem sistemini tasarlayıp ihtiyaca göre çözümler öneren kişidir.

Tasarım

Yazılım Tasarım Uzmanı

Yazılım tasarımı, altyapı bileÅŸenleri dahil tüm yazılım yapısını planlamak demek. Büyük yazılım ÅŸirketlerinde sadece yazılım tasarımı ile görevli mühendisler bulunur. Bu mühendisler kod yazacak kiÅŸilere ihtiyaçları olan yapıyı hazırlar. Yazılım geliÅŸtirme iÅŸini hızlandıran “tasarım ÅŸablonlarını” tavsiye eder. Gerekirse yazılımın bir prototipini hazırlar.

Yazılım Modelleme Uzmanı

UML denilen modelleme ve diyagram çizme dilini kullanarak yazılımın işleyişini tanımlar. Hatta programı şekiller (diyagramlar) kullanarak baştan sona yazarlar. Modellemesi doğru yapılmış bir yazılımın hem geliştirilmesi, hem bakımı hem de dokümantasyonu daha kolay olur. Bugün Rational Rose gibi yazılımlar kullanılarak UML diyagramları ile kod parçacıkları kolaylıkla ilişkilendirilebiliyor.

GeliÅŸtirme

Programcı / Geliştirici / Yazılım Uzmanı

Programlama dillerini ve teknolojilerini kullanarak ürün geliştiren kişidir. İşin ve firmanın büyüklüğüne göre bazen tüm yazılımı geliştirir, bazen sadece kendisine verilmiş bölümü hazırlar. Programın bütününe hakim olmadığı durumlarda, sistem analistinden ya da proje yöneticisinden destek alır.

Yazılım Mühendisi

Yazılım Mühendisliği aslında genel bir kavram. Bir yazılım mühendisi yazılımla ilgili tüm aşamalarda bulunabilecek özelliklere sahip kişidir. Hem analiz, tasarım hem de kodlama aşamalarının teorisini bilir, uygulamalarını yapabilir. Yöneticilik pozisyonlarına gelebilir, altında programcı ve analistler çalıştırabilir. Sektörde en çok kullanılan ünvanlardandır.

Yazılım Mimarı / Yazılım Danışmanı

Yazılım mimarlarının sorumluluk alanları çok geniş ve zordur. Şurada yazdığı şekliyle;

Projede kullanılacak teknolojileri seçerler, proje metodolojisi ve süreçlerinde tavsiyelerde bulunurlar, uygulamanın genel tasarım ve yapısını oluşturur ve korurlar, projenin doğru tanımlanmasını sağlarlar, tasarımın dökümante edilmesi ve kodlama standartlarının belirlenmesi ile uğraşırlar. Proje yöneticisine teknik görev tahminlerinde, proje maliyetleri ve yararları konusunda yardım ederler. Zor teknik görevlerde programcılara yol gösterirler. Teknik personel seçimi ve işe alımında yönetime yardımcı olurlar.

Her alanda olduğu gibi yazılım alanında da yöneticilik pozisyonları var. Genelde geliştirme ekiplerinde belli bir süre çalıştıktan sonra yönetim kademelerine geçiş yapılır ya da yeteneğe ve politikalara bağlı olarak değişir.

Ekip Lideri / Proje Yöneticisi

Proje Lideri/Yöneticisi yazılım ekibini bir arada tutan ve zaman çizelgelerine uyulması için gerekli motivasyonu sağlayan yöneticidir. Ayrıca yönetim ile proje ekibi arasındaki bilgi alışverişini de sağlar. Bütçe konularında düzenlemeler ve maliyet analizlari konusunda yönetim kuruluna bilgi ve tavsiye verir. Yazılacak modüllerin ve arayüzlerin zorluk derecelerine göre zamanlarını tayin eder ve proje planı içinde yayınlar. Diğer proje ekipleri ile bilgi alışverişini sağlar ve kontrol altında tutar. Projedeki her türlü riski takip eder ve kaynaklarını ona göre tahsis eder. Riskleri belgeleyerek çözümler için onaya sunar. Onay sonucu çıkan kararları işleyerek sonuçları tekrar yönetim kuruluna bildirir. Kaynak

Program Müdürü

Türkiye’de çok fazla kullanılmayan bu terim karşılığını en fazla Microsoft’ta bulur. Program Müdürleri teknik konulardan daha çok yönetim iÅŸleri ile sorumludur. Proje yöneticilerini koordine edip raporlar alarak projelerin saÄŸlıklı yürümesini saÄŸlarlar ve üst yönetimi bilgilendirirler.

Test / Kalite Güvence

Yazılımda kalite güvence, kısaca yazılım projesinin standardlara uygunluğunu ve ihtiyaçları karşıladığını denetleyen çalışmalar demektir.
Bilgisayar mühendisleri bu alanda da çeşitli görevler alır.

Yazılım Kalite Uzmanı

İhtiyaçların ve geliştirilen çözümün doğru belirlenip belirlenmediğini, yazılımın belirli standardlarda olup olmadığını denetleyen kişidir.

Yazılım tasarımı ve/veya yazılım testi konularında bilgi sahibidir. Genel kalite yönetim sistemi standartlarını, uluslararası yazılım mühendisliği standartlarını ya da süreç olgunluk modellerini (CMMI, SPICE, v.b.) bilir. Geliştirilen yazılımın bunlara uygun olarak yürümesini sağlar.

Test Uzmanı / Test Mühendisi

Test uzmanı/mühendisi yazılımın test edilmesinde fiilen çalışan kişidir. Yazılım hatalarını tespit etmek, hataların sebepleri ve sonuçları ile ilgili süreci yönetmek, test kapsamının oluşturulması, test senaryolarının hazırlanması gibi işleri yürütür.

Birim testi, sistem testi, entegrasyon testi, kullanıcı kabul testleri gibi kavramları bilir ve uygular. Sonuçlara göre dokümantasyon hazırlar.

Test mühendisliği hakkında şurada güzel yazılar var.

Test Yöneticisi

Test yöneticisi test ekiplerini koordine eden, gerekli kalite standartlarının sağlanması için çalışan, yazılım geliştirme ve diğer ekiplerle koordinasyonu sağlayan pozisyondadır.
Yazılımın testi geçip geçemediği, kabul edilmeye hazır olup olmadığı kararlarını verir.
Test sürecini kolaylaştıracak, otomatize edecek çözümleri uygular.

Konfigürasyon Yöneticisi

Yazılım geliştirme süreci boyunca üretilen bütün dokümanların, kodların, web uygulaması ise web sayfalarının, test scriptlerinin versiyonlarının kontrol edilmesi gerekir. Yazılım sürümleri içerisinde hangi hataların düzeltildiğinin hangi değişikliklerin yapıldığının izlenmesi gerekir. Ürün haline gelmiş projelerin satışa hazırlanan versiyonlarının belirlenmesi ve yönetilmesi gerekir.

İşte konfigürasyon yöneticisinin işi bunları takip etmektir.

Bilgisayar Mühendisi kavramı artık genel bir alanı niteler oldu. Kimse okulu bitirdikten sonra Bilgisayar Mühendisi ünvanıyla çalışmıyor. Üstelik teknolojinin gelişmesiyle o kadar farklı uzmanlık alanları ortaya çıktı ki, neredeyse hiçbirinin adında bilgisayar geçmiyor.

Peki, üniversitede Bilgisayar Mühendisliği okuyan bir öğrenci hayata atıldığında hangi pozisyonlarda çalışır?

bilgisayar mühendisiBu sorunun belki yüzlerce cevabı var. Ama en çok bilinenlerini farklı kategorilere göre cevaplandıralım. Daha fazla bilgi isteyenler, özellikle kariyer sitelerindeki pozisyonları incelerlerse birbirine benzeyen bir çok isimle karşılaşacaklardır. Yine, gelişen teknolojilere göre neredeyse her ay yeni bir pozisyon oluşuyor. Hatta ürün bazlı pozisyon isimleri bile var. Mesela iPhone mühendisi arayan bir iş ilanı ile karşılaşabilirsiniz.

Bu yazı fazla uzun olacağı için bilgisayar mühendislerinin çalışacağı pozisyonları farklı alanlara göre ayrı yazılara ayıracağım.

Aslında her pozisyonla ilgili olarak sayfalarca bilgi verilebilir. Ama maksat olabilecekleri göstermek… O yüzden, pozisyonları kısaca anlatan bilgilerle yetineceÄŸim. Bu bilgiler bazen kendi cümlelerim olacak, bazen iÅŸin uzmanlarının sitelerinden alıntılar…

Yazımız şu bölümlerden oluşuyor:

  1. Yazılım
  2. Veritabanı
  3. Bilişim Güvenliği
  4. AÄŸ
  5. Donanım/Elektronik
  6. Teknik Destek
  7. Web
  8. Multimedya
  9. DiÄŸer

Bu yazı bir başlangıç olsun. Belki ileride daha detaylı bir dokümana ya da kitapçığa dönüşür. Belki bir şekilde yazıyı okuyan bilişim profesyonelleri kendi alanları ile ilgili katkılar yaparlar. Daha doğru, daha geniş bir kaynak oluşur.

Önemli olan daha öğrencilik yıllarında uzmanlaşmaya yönelmek. Faydalı olur diye ümit ediyorum.

GÜNCELLEME: Bu yazı dizisinin PDF e-kitap şekline getirilmiş halini buradan indirebilirsiniz.

  • ipaqim.com güzel bir kaynak. xda-developers ise fevkalade…
  • Öncelikle HP BIOS güncellemesini ve pil süresi çözümünü yüklemek lazım.
  • İBB CepTrafik programı sorunsuz çalışıyor. SaÄŸolsun yapanlar ;)
  • Her smartphone için lazım bir uygulama Smart Toolkit. Önemli ihtiyaçlardan birisi farklı saatlere kurulabilen bir alarm programıydı. Smart Toolkit’in böyle bir özelliÄŸi de var. Ayrıca otomatik tuÅŸ kilidi, Windows benzeri menüsü ve kısayolları çok kullanışlı. Hele analog saat ÅŸeklinde bir ekran koruyucusu var ki, tam sanat eseri…

IPAQ 514
Windows Mobile’ın en güzel özelliklerinden birisi rehberde arama yaparken birkaç harf yazdığınızda sadece baÅŸ harflerini deÄŸil, ismin içinde herhangi bir yerde geçen kiÅŸileri de göstermesi. Gerçi bu özellik kimisi için kullanışsız geliyor ama rehberiniz kalabalıksa çok faydalı.

Eğer hala aradığınız numarayı bulamıyorsanız, o zaman SmartPhone Find programını yükleyeceksiniz. Telefonun her yerinde metin araması yapabiliyor.

Öncelikle eski telefondaki numaraları Excel’e aktardım. Üzerinde düzenlemeler yapıp Outlook’a almaya çalışınca nedense Outlook kabul etmedi. Excel dosyasını CSV olarak kaydedip, içini editörle açarak noktalı virgülleri virgüle dönüştürdüm. (Bölge/Dil ayarı Türkçe ise, Excel noktalı virgül olarak kaydediyor.) Outlook’a bu sefer düzgün aldı. Senkronizasyon sonrasında telefonun rehberi harika oldu. Hele (Åžirket sütununu kullanarak) rehberdeki kiÅŸileri kategorize etmiÅŸseniz daha güzel oluyor. Çünkü telefondaki KiÅŸiler uygulamasının ÅŸirkete göre gruplandırma özelliÄŸi var.

Telefonun rehberinde hem Outlook hem de sim kartı numaralarını gösteriyor. EÄŸer sim kartındaki numaraları görmek istemiyorsanız, telefonun registry’sinde bir ayarı deÄŸiÅŸtirmeniz gerekiyor. Bu iÅŸlem için iki yöntem kullanılabilir:

  1. CERegEditor programını bilgisayarınıza yüklersiniz. Programı çalıştırıp telefona baÄŸlandıktan sonra, HKEY_CURRENT_USER – Control Panel – Phone yolunu izleyip oradaki ShowSIM seçeneÄŸinin deÄŸerini 0 yaparsanız artık SIM karttaki numaralar görünmeyecektir.
  2. Diğer ve daha kolay yöntem ise, OS RegTweaker programını indirip telefon içinden çalıştırmak. Yazılım telefonun derinliklerine hükmetmenizi sağlıyor. İlk sayfadaki Show SIM Contacts seçeneğini off yapıp değişiklikleri uyguluyoruz. (Apply Tweaks)

Kablosuz aÄŸ özelliÄŸi bayağı becerikli. Kullanıcı doÄŸrulamalı proxy ve Linux firewall üzerinden Internet’e sorunsuz çıkabiliyor.

Her türlü şifre, parola vb. bilgilerinizi güvenli bir şekilde saklamak için ücretsiz ve açık kaynaklı Keepass uygulamasını kullanabilirsiniz. Programın Windows Mobile sürümü de var ve hem yetenekli hem de kullanması kolay bir uygulama.

Telefonla gelen Office Mobile programı yeni dosyalar oluşturmaya izin vermiyor. Bunun için geliştirilmiş Modaco DoNew adlı çözümü yükleyerek bu sorunu da aşabiliyoruz.

Türk insanının pek alışık olmadığı halbuki mesela ABD’de çok popüler olan önemli bir ihtiyaç da kiÅŸisel finans/gelir gider uygulamaları. Quicken neredeyse her Amerikan vatandaşının bilgisayarında yüklüdür. Bilgisayar başında olmadığımız saatlerde ise Windows Mobile yüklü cep telefonları gelir-gider takibini yapabilmek için çok uygun aletler. Bir mobil uygulama yükleyerek her yerde kullanabilir ve “hesabınızı bilirsiniz.” Nitekim ücretli ve ücretsiz yüzlerce İngilizce uygulama var. Hiç Türkçe uygulama – en azından smartphone için – bulamadım.
KeepSavin
DenediÄŸim ücretsiz onlarca program içinde en kullanışlı olanı KeepSavin’ idi. Ufacık boyutlu ama çok güzel özelliklere sahip. Açılırken direkt o günün tarihiyle harcama giriÅŸ ekranı geliyor. Çoklu giriÅŸ özelliÄŸi sayesinde arka arkaya hızlı gelir/masraf kaydı yapılabiliyor. İşlemler kategorilere ayrılabiliyor. Farklı döviz türleri kullanılabiliyor. İşlemlere detaylı açıklama girilebiliyor. Günlük ve aylık harcama raporları alınabiliyor. Raporlar CSV ve Quicken formatlarında bilgisayara aktarılabiliyor. Velhasıl tam iÅŸini yapan bir uygulama.

Program güzel ama simgesi biraz can sıkıcı. Windows Mobile içindeki herhangi bir uygulamanın simgesi değiştirilemiyor. Kısayol programları kullanılabiliyor ancak bunlar genelde ücretli ve bir programın daha hafızada çalışıyor olması anlamına geliyor. Neticede vardığım çözüm şöyle oldu:

  1. Telefonda kurulu programın EXE dosyasını bilgisayara alıyoruz.
  2. Ücretsiz ResHacker programını indiriyoruz. Bu program EXE dosyalarının içindeki simgeleri dışarı alabiliyor ya da bu simgeyi bir başkasıyla değiştirebiliyor.
  3. Internet’ten -mesela ÅŸuradan – bir simge dosyası (ICO uzantılı) buluyoruz.
  4. EXE dosyasının simgesini değiştireceğiz ancak, WM6 programları güvenlik için imzalanmış (signed) olduğundan değişiklik sonrasında program çalışmıyor. Sorunu aşmak için imza sökücü programımızı indiriyoruz. Bu program MS-DOS komut satırından çalışıyor. Dosyanın adını parametre olarak veriyor (unsigner keepsavin.exe) ve çalıştırıyoruz.
  5. Åžimdi ResHacker’i kullanarak EXE dosyamızı açıyor ve Action menüsünde Replace Icon seçeneÄŸi ile simge dosyamızı programın içine yerleÅŸtiriyoruz.
  6. Sonrasında geriye EXE dosyayı tekrar telefona kopyalamak ve telefonu kapatıp tekrar açmak kalıyor.

Telefonun içine iÅŸletim sistemi koyarsanız böyle oluyor iÅŸte… Bu macera burada bitmez.

Skype üzerinden yapılan sohbetleri arşivliyor olabilirsiniz. Ancak geçmiş sohbetlerde arama yapılamıyor. Geçmiş sohbetlerde geçen bir kelimeyi nasıl aratırsınız?

Aslında Skype’ın böyle bir özelliÄŸi var. Ama henüz deneme aÅŸamasında olduÄŸu için kapalı. Aktif hale getirmek için ÅŸu dosyayı indirin ve çalıştırın. Skype’ı kapatıp açın. Chats (Mesajlar) menüsünde Historic chats (GeçmiÅŸ yazılı mesajlar) diye bir seçenek gelecek.

Artık istediğiniz kelimeyi ya da konuyu aratabilirsiniz.

Facebook, -şöhreti, getirdikleri ve hakkındaki iddialar bir yana- sonuçta bir yazılım… Bu kadar çok kullanılan bir uygulamanın arkaplanında ve teknik altyapısında neler var?

Önce birkaç istatistik… (Facebook sayfasından)

  • Siteye ortalama her gün 250 bin yeni kayıt oluyor.
  • Ayda ortalama 65 milyar sayfa gösterimi var.
  • Kullanıcıların en az yarısı her gün giriyor.
  • Dünya’nın en çok kullanılan fotoÄŸraf paylaşım uygulaması… En yakın üç rakibinin toplamından daha fazla resim gösterimi yapılıyor.
  • Facebook platformunu kullanan 7 binden fazla uygulama yazılmış. Her gün yüzden fazla yeni uygulama ekleniyor.

Teknik altyapıya gelince…

  • Neredeyse tamamen açık kaynaklı uygulamalar kullanılmış.
  • Yazım dili PHP. Arka planda çalışan bazı uygulamalar Java, Python ve Perl kullanıyor. Ayrıca C++ uyumlu uygulamalar için gcc ve Boost kütüphaneleri kullanılmış. Yine, c++ uygulamalarının daha saÄŸlıklı çalışması için kendileri phpembed adlı bir kütüphane yazmışlar.
  • Sunucularda Linux yüklü. Web server olarak Apache kullanılıyor. Dünyanın her yerinde hızlı çalışması için içeriÄŸin çoÄŸunu Akamai sunucularında tutuyorlar.
  • Sistemde 2 milyardan fazla fotoÄŸraf dosyası yüklü. Bunlar diskte yaklaşık 200 terabyte yer tutuyor. Kullanıcılar her hafta 80 milyon civarında resim yüklüyor. Her fotoÄŸraf için 4 ayrı boy tutulduÄŸundan, bu 300 milyondan fazla resim dosyası demek. OluÅŸan yoÄŸunluÄŸu karşılayabilmek için, yüklenen fotoÄŸrafları iÅŸleyen bir çok sunucu var. Ayrıca bir grup sunucu, iÅŸlenmiÅŸ fotoÄŸrafları Akamai’ye gönderiyor. Bazı fotoÄŸrafları tutmak üzere kendi dosya sunucuları da var.
  • Veritabanı olarak MySQL kullanılıyor. Birbirine baÄŸlı binlerce MySQL veritabanları var.
  • Veritabanından bilgi çekmek çok yavaÅŸ olduÄŸu için cache (önbellek) mekanizması kullanılıyor. memcached isimli açık kaynaklı uygulamayı kendi yazdıkları kodlarla geliÅŸtirmiÅŸler. (detaylı bilgi)
    • Sitenin neredeyse belkemiÄŸi bu uygulama. Kullanıcı profillerini, arkadaÅŸ bilgilerini, uygulamaları hep önbellekte (RAM’de) tutuyor ve çok hızlı gelmesini saÄŸlıyorlar.
    • 400′den fazla memcached sunucusu var.
    • 5 Terabyte’dan fazla RAM önbellekleme için kullanılıyor.
    • memcached sorgularının daha hızlı çalışması için TCP yerine UDP portunu kullanmışlar.
    • Ayrıca APC kütüphanesini kullanarak sayfa görüntülemeyi 30 kat hızlandırmışlar.
  • Kendi yazdıkları site içi arama motorunu kullanıyorlar. Ayda 1 milyara yakın arama yapılıyor. Önbellek için 2 terabyte civarında RAM ayrılmış. Ortalama sonuç süresi 100 milisaniye civarında imiÅŸ.
  • Yazdıkları kodu yerinde debug etmek için phpsh adlı bir komut satırı kütüphanesi yazmışlar. Ana bilgisayara yükleyip baÄŸlandığınızda komut satırından php kodları yazıp çıktısını görüyorsunuz.
  • Versiyon yönetimi için Subversion ve git kullanıyorlar.

Yani, Facebook olmak istiyorsanız altyapınızı da ona göre kuracaksınız.

Özellikle Hollywood filmlerinde izlemekten rahatsız olacağınız sahneler her zaman oluyor. Bazen çok güzel ve anlamlı olduğunu düşündüğünüz bir filmi içindeki bazı sahneler sebebiyle ailenizle izleyemiyorsunuz. O sahneleri izlerken geçmek için ileri sarma vb. aksiyonlar yapmak da işin tadını kaçırıyor.

Şöyle bir program olsa, filmin istemediÄŸimiz kısımlarını belirtsek de izlerken otomatik olarak oraları atlasa…

Aslında komut satırından çalışan ve özellikle Linux dünyasında çok meşhur olan video oynatıcısı mplayer ile bu sorunu çözebiliyoruz. EDL (Edit Decision List) denilen bir özellik sayesinde, mplayer programına videonun atlanacak bölümlerinin listesini bir dosya halinde veriyoruz. Video gösterilirken, belirttiğimiz kısımları atlayıp devam ediyor.

Bu iş için öncelikle Not Defteri gibi bir metin editörü açıp, atlanacak saniyeleri satırlar halinde gireceğiz. EDL dosyalarının yapısı şöyle:

[Başlangıç saniyesi] [Bitiş saniyesi] [İşlem(0-atla, 1-sessiz oynat)]

Örneğin,

210 240 0
1890 1960 0

Daha sonra bu dosyayı .edl uzantısı ile harddiske kaydediyoruz. Tabii, listeyi oluÅŸtururken saniye hesaplamalarını yapmak gerekecek. Aslında mplayer’in -edlout parametresi ile bu iÅŸlemler arayüz üzerinden de yapılabiliyor ama çok kullanışlı deÄŸil.

Mplayer’ın Windows tarafında kolay kullanımı için bir çok arayüz yazılmış durumda… Biz bu arayüzlerden SMPlayer yazılımını kullanacağız. Görünüm deÄŸiÅŸtirebilme, Türkçe desteÄŸi, altyazı oynatabilme ve geliÅŸmiÅŸ özellikleri ile SMPlayer bir çok ticari video oynatıcı yazılımdan daha güzel.

Programı şuradan indirip, kuruyor ve çalıştırıyoruz. Videomuzu açıyoruz. Seçenekler (Options) menüsünden Bilgi ve özelliklere bak seçeneğine tıklayarak video özellikleri penceresini açıyoruz. Mplayer seçenekleri (Mplayer options) sekmesinde Seçenekler (Options) bölümüne -edl edldosyasınınadı şeklinde dosyamızı belirtiyoruz. (Örnek: -edl c:\film\atla.edl)

Artık, videomuz oynarken belirttiğimiz saniyeleri atlayacaktır.

2 Kasım 2007

Genel Bilgisayar

Geleceğin teknolojileri çalışmasına başlarken, okulu bitirdikten sonra ne olacağını düşünen mühendisleri hedef alarak başlamıştım.

Youtube’de karşılaÅŸtığım Bugünün öğrencilerine bir bakış videosu aslında sorunun çok daha evrensel olduÄŸunu gösteriyor. Video ingilizce ama müthiÅŸ bir kurguyla hazırlanmış. İşte videodan bazı alıntılar:

  1. Bana verilen okuma ödevlerinin %49′unu yapıyorum. Sadece %26′sı hayatımla ilgili…
  2. Hiç kapağını açmayacağım yüzlerce dolarlık ders kitapları satın alıyorum.
  3. Bu yıl 8 tane kitap okuyacağım ama bunun yanında 2300 web sayfası ve 1281 facebook profiline bakacağım.
  4. Bu yıl ders için 42 sayfa yazarken, 500 sayfadan fazla email yazacağım.
  5. Bir günde yapacaklarım toplam 26.5 saat tutuyor, bu yüzden de bir çok iÅŸi aynı anda yapacağım – yapmak zorundayım-
  6. Mezun olduğumda büyük ihtimalle bugün daha varolmayan bir mesleği yapacağım.
  7. ÇoÄŸu derste vaktimi facebook’la geçiriyorum. Dizüstü bilgisayarımı okula getiriyorum ama dersle ilgili ÅŸeyler yapmıyorum.

Videonun yorumları çok ilginç. Mesela birinde diyor ki,

“İddia ediyorum üniversite öğrencilerinin %80′i okul bitince ne yapacağını bilmiyor.”

bir diÄŸerinde

“Harika bir okul derecem var ve ben de hayatta ne yapacağımı bilmiyorum. Ayrıca ben de derslerde facebook ile uÄŸraşıyorum. “