• İLETİŞİM: +90 236 715 57 33

Yazılım Önemi

Yazılım Mühendisliği

Yazılım mühendisliği, yazılım geliştirme ile ilgilenen bilim dalıdır. Yazılım mühendisliği tanımı ilk olarak 1968 yılında gerçekleştirilen NATO toplantısında Almanya'da gündeme gelmiştir.[1] Yazılım mühendisliği tanım olarak "karmaşık yazılım sistemlerinin belirli bir hedefe ve sisteme dayalı olarak ve işbölümü yapılarak, belirli prensipler, yöntemler ve araçlar kullanılarak geliştirilmesidir." Yazılım mühendisliği belirli aşamalardan oluşmaktadır. Yazılım geliştirmenin yanında yazılımı işletmek de yazılım mühendisliğinin en önemli görevlerindendir. Bu alandaki güncel gelişmeler "Software Engineering Body of Knowledge" (SWEBOK) adlı dokümanda tarif edilmektedir.

Bazı Yazılım Dilleri

Yazılım, elektronik aygıtların belirli bir işi yapmasını sağlayan programların tümüne verilen isimdir. Bir başka deyişle, var olan bir problemi çözmek amacıyla bilgisayar dili kullanılarak oluşturulmuş anlamlı anlatımlar bütünüdür. Yazılım için çeşitli diller mevcuttur. Bunlardan bazıları Pascal, C++ ve Java'dır

Programlama

Programlama ya da diğer adıyla yazılım, bilgisayarın donanıma nasıl davranacağını anlatan, bilgisayara yön veren komutlar, kelimeler, aritmetik işlemlerdir.Diğer bir tanım verecek olursak programlama, bilgisayar programlarının yazılması, test edilmesi ve bakımının yapılması sürecine verilen isimdir. Programlama, bir proglamlama dilinde yapılır. Bu programlama dili Java ve C# gibi yûksek seviyede bir dil olabileceği gibi C, assembly ve bazı durumlarda makine dili de olabilir. Yazılan kaynak kodu genellikle bir derleyici ve bağlayıcı yardımıyla belirli bir sistemde çalıştırılabilir hale getirilir. Ayrıca kaynak kodu, bir yorumlayıcı yardımıyla derlemeye gerek duyulmadan satır satır çalıştırılabilir.Derleyici, yazılan programları okuyup içerisinde mantıksal veya yazınsal hatalar olup olmadığını bulan, bulduğu hataları kullanıcıya göstererek programın düzeltilmesine yardım eden, hata yoksa programı çalıştırıp sonucunu gösteren, ayrıca çeşidine göre pek çok başka özelliği barındırabilen (bir değişkenin üzerine mouse ile gelindiğinde değişkenin özelliklerini gösterme, fonksiyonun üzerine gelindiğinde kod içerisinde fonksiyonu bulup yazıldığı satıra gidebilme, kodların daha kolay okunabilmesi için etiketler yardımıyla kodları toparlayacak bölgeler oluşturabilme...) birer platformdur. Programcılar genelde programlamayı gerçek hayata benzetirler. Bir program yazmak veya bir problemi çözmek için öncelikle komutları unutmak ve çözümü gerçek hayatta yapıyormuş gibi düşünmek gerekir onlara göre. Komutlar sadece araçtır.

Yazılım Lisansı

Bir yazılımın ya da yazılıma bağlı nesnelerin; Üreticisi tarafından, kullanımına dair belge düzenleyen devlet makamı tarafından, belgelemeyi düzenlemeye yetkili kılınmış makamlar tarafından telifli olduğu belgelenmiş ise nesnenin kullanımı, geliştirilmesi, yeniden yapılandırılması, değiştirilmesi, alıntısının yapılabilmesi gibi hususları belirleyen belgeye yazılım lisansı denmektedir.

Özgür Yazılım Tarihçe

1950'lerden 1970'lerin başına kadar bilgisayar kullanıcılarının özgür yazılımla ilgili yazılım hürriyetlerine sahip olmaları normaldi. Yazılım genellikle fertler arasında paylaşılır, kişilerin yazılım yaparak donanımlarını daha kullanışlı yapmalarını iyi karşılayan donanım üretilerinden dağıtılırdı. SHARE gibi kullanıcıların ve satıcıların üye olduğu kuruluşlarla yazılım değiş dokuşu kolaylaştırmak hedeflenmişti. 1970'lerin ilk yıllarında durum değişti: yazılım masrafları hızla yükselirken büyümekte olan yazılım endüstrisi, donanım üreticilerinin bilgisayar satışıyla beraber verdikleri "yazılım demetleri", kiraya verilen bilgisayarların kâr getirmeyen yazılım desteğiyle rekabet başlamıştı. Bazı müşterilerin kendi ihtiyaçlarını daha iyi karşılamasıyla "özgür" yazılım masraflarının donanım masraflarıyla bütünleşmesini istemiyordu. 17 Ocak 1969'da yayınlanan Amerika Birleşik Devletleri IBM'ye karşı yazısında hükumet, yazılım demetlerinin rekabet engelleyici olarak sıfatlandırdı.[1] Bazı yazılım her zaman hürken ancak ödemeyle alınabilen yazılımlar artıyordu. 1970'ler ve 1980'lerde yazılım endüstrisi, bilgisayar programlarını sadece kullanıcıların kodu incelemesi ve değiştirmesini önleyen çalıştırılabilirler şeklinde dağıtmaya başlamasıyla teknik tedbirler almaya başladı. 1980'de copyright kanununun kapsamı bilgisayar programlarını içine aldı.

Casus Yazılım

Casus yazılımlar, virüs ve solucanlardan farklı olarak hedef sisteme bir kez bulaştıktan sonra kendi kopyasını oluşturarak daha fazla yayılmaya ihtiyaç duymazlar. Casus yazılımın amacı kurban olarak seçilen sistem üzerinde gizli kalarak istenen bilgileri toplamaktır. Bu bilgi kimi zaman bir kredi kartı numarası gibi önemli bir bilgi bile olabilir. Bunun dışında, Ticari firmalar İnternet üzerindeki kullanıcı alışkanlıklarını saptamak amacıyla casus yazılımları İnternet üzerinde yayabilmektedirler. Kullanıcıların haberi olmadan sistemlere bulaşabilen casus yazılımlar, kişisel gizliliğe karşı gerçekleştirilen en önemli saldırılardan biridir. Casus yazılımların sistemlere bulaşma teknikleri kullanıcılar tarafından çok iyi bilinmelidir. Bilgi ve bilgisayar güvenliğini sağlamada en önemli tedbirlerin başında gelen, bilgisayar sisteminin, yama ve güncellemelerle sürekli güncel tutulması ve İnternet üzerinde bilinmeyen programların indirilip, çalıştırılmaması gibi önlemler casus yazılımlara karşı da korunma sağlayacaktır. Bunun dışında nasıl virüslere karşı virüs korunma yazılımları kullanılıyorsa; son zamanlarda gelişme gösteren casussavar yazılım (antispyware) ürünleri de bilgisayarların vazgeçilmez araçları olarak casus yazılımlara karşı sistemlere kurulup en güncel halleri ile kullanılmalıdır. Çok sık rastlanan bir yanılgılardan biri de, virüs korunma programı bulunan bir bilgisayar sisteminin bütün kötücül ve casus yazılımlara karşı da korunma sağlayacağının sanılmasıdır. Virüs korunma programları elbette çok önemlidir ama bu çalışmada gözler önüne serildiği gibi sayısız kötücül ve casus yazılıma karşı ancak casus savar yazılımları ile baş edilebilir.

Donanım Yazılımı

Donanım yazılımı (veya bellenim) (İng: firmware), sayısal veri işleme yeteneği bulunan her tür donanımın kendisinden beklenen işlevleri yerine getirebilmesi için kullandığı yazılımlara verilen addır. Elektronikte ve bilişimde donanım yazılımı, kalıcı bellek, program kodu ve veri deposudur. Donanım yazılımının bulunduğu cihazlara tipik örnekler; (beyaz eşya, elektronik saat, trafik lambaları gibi) gömülü sistemler, bilgisayar çevre birimleri, cep telefonu, dijital fotoğraf makinesi verilebilir. Bu cihazlarda bulunan yazılım, cihazın kontrol programını barındırır. Donanım yazılımı ROM, EPROM, flaş bellek gibi kalıcı bellekte saklanır. Bir cihaz yazılımının değiştirilmesi, cihazın ömrü boyunca ya hiç yapılmaz ya da sadece birkaç kez yapılır. Bazı cihazların yazılımları üretim aşamasından sonra değiştirilemez. Donanım yazılımında güncelleştirme ya yazılım hatası ya da cihaza yeni bir özellik eklemek için yapılır. Bunun için mikroçip ROM'u değiştirilmesi gerekebilir veya flaş belleğin özel bir yöntemle tekrar programlanması gerekir. Bilgisayardaki BIOS yazılımı yalnızca, cihazın temel işlevlerini saklar, işletim sistemi gibi yüksek seviye yazılımlara önayak olur. Donanım yazılımları genellikle kullanılan mikroişlemcinin komut seti ile yazılmış olan yazılımlardır. Bazı mikroişlemci kontrollü elektronik donanımların yazılımları; olası hata ve eksikliklerin giderilmesi veya güncel gereksinimlerin karşılanabilmesi gibi amaçlar ile yenilenebilir.

Shareware

Shareware (kısıtlı yazılım), kullanıcının programı tanımasını sağlayan, zaman ve özellik bakımından kısıtlı sürüme verilen addır. Kullanıcıların İnternet'i en yoğun kullandığı alanlardan biri ücretsiz programlar edinmektir. Çeşitli shareware ve download arşivlerinde bulunabilecek bu tür programlar kullanım biçimleri açısından farklı sınıflara ayrılabilir. Örneğin, bazı programcılar ya da yazılım şirketleri tarafından tüm kullanıcılara sunulan ücretsiz programlar freeware olarak adlandırılmaktadır. Belirli bir süre (15 gün, 30 gün vb.) kullanım izni olan programlara shareware adı verilir. Bunların bir bölümü bu süre bitiminde kullanılamaz duruma gelir. Bazıları ise kullanılabilmakte ancak bazı özellikleri işlevsizleşmektedir. Shareware ile çok benzer olan, ancak kaydetme gibi yaşamsal özellikleri kısıtlanmış programlara ise genelde demo adı verilmektedir. Uzun süre önce üretilmiş ve artık gözden düşmüş bazı yazılımlar üreticisi tarafından artık ücretsiz sunuluyorsa buna da abandonware adı verilir. Ne var ki, shareware daha çok kullanılan bir ad olduğundan her tür ücretsiz yazılımın bulunduğu sitelere Shareware arşivi denilmektedir.

Yazılım Geliştirme Kiti

azılım geliştirme kiti (SDK) belli bir yazılım paketi, yazılım çatısı, donanım platformu, bilgisayar sistemi, oyun konsolu, işletim sistemi veya bunlara benzer bir platform için uygulama üretmeyi sağlayan yazılım geliştirme araçlarından oluşan yazılımdır. Belli bir programlama dili için basit bir uygulama programlama arayüzü (API) ya da gömülü sistem ile konuşturmayı sağlayan karmaşık bir donanım olabilir. Genellikle yazılım geliştirme kitleri hata ayıklama ve diğer yardımcı programları içerirler, ve tamamı belli bir tümleşik geliştirme ortamı (IDE) içerisinde bulunur. SDK'lar aynı zamanda genellikle referans materyalindeki önemli noktaları açıklamak üzere örnek kod ve destek sağlayan teknik notlar ve diğer destek dökümantasyonu içerirler. SDK'lar belli lisanslar altında yazılım geliştirmeye uygun olmayacak şekilde lisanslanmış olabilir. Örneğin, kamuya açık olmayan SDK muhtemelen bir özgür yazılım ile uyumsuz olacaktır, tabi tam tersi de mümkün olabilir. LGPL SDK'lar ise kamuya açık olmayan lisanslarla yazılım geliştirmeye genel olarak uygundur. Bir yazılım mühendisi genellikle SDK'yu hedef sistemin geliştiricisinden alır. Çoğu SDK internet üzerinden indirilebilir durumdadır. SDK'ların çoğu geliştiricileri sistemi veya dili kullanmaya yönlendirmek için sağlanır. Bazen bu bir pazarlama aracı olarak da kullanılabilir.

Bilgisayar Platformu

Bir bilgisayar platformu, bir uygulama yazılımı çalıştırmak için donanım mimarisi ve bir yazılım çerçevesi (ve buna dahil olarak uygulama çerçeveleri), yazılım, çeşitli bazı kombinasyon veya sıralamalarını içermektedir. Tipik platformlarda bir bilgisayar mimari , işletim sistemi , programlama dilleri ve ilgili kullanıcı arabirimi (çalışma-zamanı sistem kütüphaneleri veya grafiksel kullanıcı arayüzü)içerir. Bir platform yazılım geliştirme için çok önemli bir unsurdur. Bir platform sadece yazılımı başlatmak için bir yer olarak tanımlanmış olabilir. Platform sağlayıcısı sunan yazılım geliştiricisi mantık kodu olduğu sürece platformu diğer platformları üzerinde çalışan olarak sürekli çalışacak bir uygulanabilirdir.Mantık kodu bytecode , kaynak kodu ve makine kodu içerir . Aslında programın yürütülmesi, işletim sistemi türü ile sınırlı değildir anlamına gelir. Bunlar [makineden bağımsız diller] olarak yerini almıştır. Bazı yazılım platformları, tüm donanım platformlarında taklit edilebilir - sanallaştırmadaki gibi.

Mobil Güvenlik

Mobil güvenlik ya da mobil telefon güvenliği, mobil işlemenin öneminin ve kullanılan akıllı telefonların sayısının artması ile birlikte öne çıkmıştır. Genel olarak bakıldığında, mobil güvenlik, mobil cihazlarda saklanan bilgilerin ve servislerin koruma altına alınması olarak değerlendirilebilir. Her geçen gün akıllı telefonların kullanımının artmakta ve insanlar bu cihazları kişisel hayatlarında olduğu gibi iş hayatlarında da kullanmaktadırlar. Kişisel kullanımlarda, kullanıcılar, kişi listelerindeki insanlar ile farklı kanalları kullanarak iletişime geçmekte, çeşitli İnternet tabanlı uygulamalara cihazlarını kullanarak bağlanmakta ve banka işlemleri gibi birçok hassas veri içeren işlemleri gerçekleştirmekteler. Kurumsal kullanımlarda ise kullanıcılar, iş yeri için önemli ve hassas verileri cihazlarında depolayabilmekte, daha önceden masaüstü uygulamaları ile eriştikleri, kurumlarına ait sistemlere artık akıllı telefonları üzeriden bağlanmaktalar. Akıllı telefonların bu şekilde kullanımı, üzerinde depolanan verilerin veya cihaz üzerinden İnternet'e paylaşılan bilgilerin güvenliğinin sağlanması gerekliliğini zorunlu hale getirmiştir. Diğer bilgisayarlarda olduğu gibi akıllı telefonlar da olası saldırı hedefleridir. Bu saldırılar akıllı telefonların açıklarından yararlanarak yapılmaktadır. Saldırılar küresel mobil iletişim standartları olan SMS, MMS, Wi-Fi ağları, Bluetooth ve GSM yollarıyla yapılabildiği gibi, akıllı telefonlar üzerinde kurulu İnternet tarayıcıları ve işletim sistemi üzerindeki açıkları da kullanmaktadır. Aynı zamanda, ortalama bir kullanıcının sahip olduğu bilgi seviyesini sömürerek saldırı düzenleyen kötü amaçlı yazılımlar da bulunmaktadır.

Apı Nedir?

API, Application Programming Interface (Uygulama Programlama Arayüzü)

Arama Motorları İşlevleri ve Çalışması

Robot internet üzerinde bulunan web sitelerini, sitelerin birbirlerine verdiği bağlantıları kullanarak otomatik olarak gezer ve bu sayfa içeriklerini saklar. Bu içerik daha sonra indekslenerek hızlı bir şekilde aranabilir hale getirilir. Kullanıcı arabirimi ise bu oluşturulan indeksin aranmasını sağlar. Bazı Arama Motorlarına site sahipleri, sitelerinin var olduğunu bunlara kayıt yaparak bildiriler. Bu işlem, sitelerin arama motorlarında daha kolay bulunmasını ve indekslenmesini sağlar. Bunlara ek olarak İnternet'te milyonlarca Web sayfası içinde aranan bir bilgiyi bulmayı kolaylaştırmak için çok hızlı ve çok yüksek kapasiteli sunucularla Web sayfalarındaki metinleri endeksleyen servisler (Web siteleri) bulunur. Bunların arama dizini (directory), arama motoru (search engine) veya metasearch gibi farklı türleri olabilir. Arama dizini bilgileri kategoriler halinde sıralar, seçme bilgiler vardır, site sahiplerinin gönderdiği özet bilgi içinde arama yapılır. Arama motoru, aranan sözcükleri içermesi koşuluyla her tür siteyi kullanıcı karşısına getirir. Metasearch, birden fazla arama motorunda arama yapan sitelere verilen addır. Bu arama sayfalarında, Arama (Search) satırına istenen bilgileri bulmakta kullanılacak kilit sözcükler girilerek ve Search (Ara) düğmesine tıklanılarak; bu sözcüklerin geçtiği Web sitelerinin adresleri liste halinde ekrana gelir. Ancak bu arama motorları da kullanıcı karşısına bu sözcüklerin geçtiği ilgili veya ilgisiz binlerce sayfa getirebilir. Arama motoru teknolojisinde günümüzde genel amaçlı arama motorlarının yanında belli bir alana yoğunlaşmış arama motoru örnekleri türemektedir. Belli bir alana yoğunlaşmış arama teknolojisine Dikey arama adı verilmektedir.

Facebook Yazılım Dilleri

Facebook, yazılım geliştirmede birden fazla dil kullanılmaktadır. Facebook’ta kullanılan bu diller şunlardır: * PHP (Açık kaynak kodçu yazılımcıların vazgeçilmez dili) * Pyhton (Google’da da kullanılan açık kaynak kodlu dil) * Perl (Açı kaynak kodlu dil) * gcc (gnu C derleyici)

GO Proglama Dili

Go, Google tarafından geliştirilen bir programlama dilidir.

İşletim Sistemi

İşletim sistemi, bilgisayarda çalışan, bilgisayar donanım kaynaklarını yöneten ve çeşitli uygulama yazılımları için yaygın servisleri sağlayan bir yazılımlar bütünüdür. İşletim sistemi, uygulama kodları genellikle direkt donanım tarafından yürütülmesine rağmen, girdi-çıktı, bellek atama gibi donanım fonksiyonları için uygulama programları ve bilgisayar donanımı arasında aracılık görevi yapar. İşletim sistemleri sadece bilgisayar, video oyun konsolları, cep telefonları ve web sunucularında değil; arabalarda, beyaz eşyalarda hatta kol saatlerinin içinde bile yüklü olabilir. İşletim sistemleri işlevsellerinin genişliği ile değil, donanımı belli bir amaç doğrultusunda programlayabilme nitelikleriyle değerlendirilmelidir. En yaygın kullanılan işletim sistemlerine örnek olarak; Microsoft Windows, Mac OS X, Linux, Android ve iOS örnek verilebilir.

Veri Tabanı Verilerini Saklamak Gereklimi?

Toplamda 50 tane müşterisi ve 10 tane çalışanı olan bir işletme sahibi olduğunuzu düşünün. -Müşterilerin kimlik, adres, fatura, ödeme, sipariş gibi, -Ürünlerinizin hammadde, stok, üretim, ürün özellikleri gibi, -Çalışanların kimlik, kişisel detaylar, sigorta, izin gibi bilgilerini tutmak zorundasınız.