29 Aralık 2019 Pazar

Java Örneklerle Öğrenme Break İşlemi

Break continue deyimleri arasında break deyimi daha önceden anlattığımız for, while ve do-while döngüleriyle birlikte kullanılabilir. break deyimi döngülerden ansızın çıkmanızı ve döngüyü istediğiniz durumlarda sonlandırmanızı sağlamaktadır. Örneğin, bir veritabanından tüm id değerlerini çektiniz ve id değerlerinden ilk 15 tanesini listeleyeceksiniz. Eğer elinizde 15’ten fazla kayıt varsa döngüyü bir şekilde sonlandırmanız gerekmektedir. bu örneği bir de kod ile anlatalım;

28 Aralık 2019 Cumartesi

GSP (Java Gezgin Satıcı Problemi)

Gezgin Satıcı Problemi veya yabancı kaynaklarda bulabileceğiniz ismi ile “Traveling Salesman Problem” Bilgisayar Bilimleri’nin gelişmesine büyük katkı sağlayan problemlerden bir tanesidir.
Çözmesi anlaması kadar kolay olmayan problemi bu yazımız da inceleyip genel bir bilgi sahibi olmaya çalışalım.

24 Aralık 2019 Salı

M2M (MACHINE TO MACHINE)


Makineler rutin işlerde ve verilen görevlerde daha başarılı iken, insanlar tekrardan çabuk sıkılmakta ve dikkat dağınıklığı yaşayabilmektedir.
İnsanlar zeka ve uyum gerektiren işlerde daha iyiyken;makineler üzerine yüklenmiş olan programlar dışında işlem yapamazlar.
Makinelerin girdilere verdikleri yanıtlar daha hızlı iken, insanlar bu noktada daha yavaş kalmaktadır.

23 Aralık 2019 Pazartesi

Bulut Bilişim OwnCloud

Aslında basit bir şekilde Dropbox, google drive benzeri bir uygulama olup, tamamen size özel bir yapıdadır. Yani güvenli bir şekilde dropbox benzeri bulut depolama alanına sahip olarak burada depolama işlemlerinizi gerçekleştirdiğiniz gibi aynı zamanda paylaşım imkanı da sağlamaktadır. Php ve Mysql tabanlı olarak çalışır ve masaüstü, mobil gibi platformlarda desteği mevcuttur.Peki neden owncloud?

22 Aralık 2019 Pazar

Bulut Bilişim İle Microsft Azure


Tümleşik araçlar, önceden oluşturulmuş şablonlar ve yönetilen hizmetler, hem sahip olduğunuz becerileri hem de bildiğiniz teknolojileri kullanarak kurumsal uygulamalar, mobil uygulamalar, Web uygulamaları, Nesnelerin İnterneti (IoT) uygulamaları oluşturmanızı ve bunları yönetmenizi kolaylaştırır. Azure; işletim sistemi, programlama dili, çerçeve, araç, veritabanı ve cihaz seçeneklerinin çoğunu destekler. Linux kapsayıcılarını Docker tümleştirmesiyle çalıştırın; JavaScript, Python, .NET, PHP, Java ve Node.js kullanarak uygulamalar oluşturun; iOS, Android ve Windows cihazlar için arka uçlar oluşturun. Azure bulut hizmeti, milyonlarca geliştirici ve BT profesyoneli tarafından kullanılmakta olan teknolojileri destekler.

21 Aralık 2019 Cumartesi

Mobil uygulamalar için MQTT(Message Queuing Telemetry Transport)


  • MQTT, 1999 yılında IBM firmasında çalışan Dr. Andy Standford-Clark ve Arcom firmasından Arlen Nipper tarafından oluşturulmuştur. Uygun maliyetli, görüntülenecek aygıtların bağlantısı kolay olan bu protokol, ilk başlarda uzaktan erişim cihazlarıyla yağ ve gaz endüstrisinde kullanılmak üzere yapılmıştır.



20 Aralık 2019 Cuma

Bulut İşletim Sistemleri


İnternet ve İnternet tarayıcılarının hızının her geçen gün geliştiği günümüz toplumunda insanlar artık hali hazırda gittikleri her yerde İnternet'e ulaşmak istiyor. İstekler sadece İnternet'e ulaşmakla da bitmiyor. Şahsi dosyalar, oyunlar, sosyal ağlar vs. derken kullanıcılar İnternet'e erişebildikleri her yerden bir bilgisayarı tüm özellikleri ile kullanmak istiyorlar. Bu arada geliştiriciler de boş durmuyor ve kullanıcıların bu isteklerine cevap vermek için yeni fikirler ve uygulamalarla karşımıza çıkıyorlar.

19 Aralık 2019 Perşembe

Bulut Bilişimde Güvenlik Açıkları Veri Güvenligi ve Yasal Süreçler


Şüphesiz bilginin elektronik ortamlarda işlenebilir, saklanabilir hale gelmesi insan hayatını kolaylaştırmıştır. Veri adı verilen elektronik ortamda işlenebilir ve saklanabilir bu bilgi türü, hayatlarımızda birçok kolaylık sağlarken bir takım sorunları da beraberinde getirmiştir. Özellikle son zamanlarda verinin kolay saklanabilir olması ile de ilgili olan artan özçekim miktarları, her anı fotoğraflama, kameraya alma ve saklama gibi isteklerin çoğalması kişisel bilgisayarların bellek miktarlarını yetersiz bırakmaktadır. 

18 Aralık 2019 Çarşamba

Big Data Yönetim S4 ve Google Dremel

Dremel, salt okunur iç içe geçmiş verilerin analizi için ölçeklenebilir, etkileşimli geçici bir sorgulama sistemidir. Çok düzeyli yürütme ağaçlarını ve sütunlu veri düzenini birleştirerek, toplama sorgularını trilyon satır tablolarda saniyeler içinde çalıştırabilir. Sistem binlerce CPU'ya ve petabaytlık veriye ölçeklenir ve Google'da binlerce kullanıcısı vardır. Bu yazıda, Dremel'in mimarisini ve uygulamasını açıklıyoruz ve MapReduce tabanlı hesaplamayı nasıl tamamladığını açıklıyoruz. Yuvalanmış kayıtlar için yeni bir sütunlu depolama gösterimi sunuyoruz ve sistemin birkaç bin düğüm örneği üzerinde yapılan deneyleri tartışıyoruz.

17 Aralık 2019 Salı

Big Data Nedir ? Big Data Yönetimi Nasıl Yapılmalıdır ?

Teknoloji ve internetin gelişmesi sonucunda bilginin üretilme ve yayılma hızının akıl almaz artışı milyonlarca veriyle beslenen bir yığına dönüşmüştür.
Big Data; sosyal medya ,arama motorları , bilgi belge arşivleri, log dosyaları,makine dataları gibi farklı kaynakların oluşturduğu bilgi yığınlarını işleyerek anlamlı verilere dönüştürmek için ar-ge faaliyetleri yapan yazılım şirketleri tarafından ortaya atılmış bir olgudur.

15 Aralık 2019 Pazar

C Programlama DFS Algoritması (Depth-first Search)

Bu dersimizde ise Graph Teorisi’nin temel gezme algoritmalarından olan DFS Algoritmasından bahsedeceğiz.

Graph’ı gezmek ne demek?

Elimizde bir graph olduğunu düşünelim. Bunun gösterimi komşuluk matrisi veya komşuluk listesi şeklinde olabilir. Bizim amacımız graph‘ın sahip olduğu edge‘leri (yolları) kullanarak her bir node‘un yalnızca bağlı olduğu node’lara gitmesine olanak sağlamak. Somut bir örnek vermek gerekirse, graph’ı bir ülke node’ları da birer şehir olarak düşünelim. Malesef bu ülkede herhangi bir şehirden bütün şehirlere direkt yol bulunmamakta. Bu durumda yalnızca mevcut yolları kullanarak gideceğimiz şehire uygun bir path  belirlemeliyiz.

Başarı Yolunda 35*2 Altın Kural


36.  Küçük Bir Eylem Çok Sözün Önünde Gider.
        Önemli olan eylemdir. Netice eylemle sağlanır. Toplumu şekillendirenler, önderlik yapanlar güç elde edenler eylem adamlarıdır.
        Söz ve düşünce, eylemi hazırlamadığı, eylemi gaye edinmediği, söz ve düşünce sahipleri eylemi ertelediği müddetçe meseleler havada kalır.

14 Aralık 2019 Cumartesi

iOS vs Android Karşılaştırması

iOS vs Android konusu net sonuçlanabilecek bir karşılaştırma değil, ihtiyaca göre değişebilir ama bir kaç başlık üzerinden karşılaştırma yapalım.

– İşletim Sistemi Kararlılığı

İlk çıkan versiyonlarında Android işletim sistemini iOS işletim sisteminden daha kararlı iken bu fark zamanla iOS lehine döndü ve iOS aradaki farkı arttırmaya başladı.

13 Aralık 2019 Cuma

Başarı Yolunda 35*1 Altın Kural


1.       Tırmandığınız Kaya ile Kertenkele Kadar Bütünleşmelisiniz.
Dağcı tırmanmaya başlamadan önce bizim için sadece bir maceraperesttir. Tırmanırken ona “Bu düpedüz deli” diyebiliriz. Zirveye ulaştığında ise o hepimiz için sadece bir kahramandır. Sadece bir kahraman....
Dağcımız malzemesi olmadan, malzeme yardımı ile tırmanmaya çalışan iki dağcıyı geçer. Böyle inanılmaz başarıyı nasıl mı yaptı. Tek cevapla motivasyon sayesinde. Zihni ve bedeni hep o anla yalnızca tırmanış anıyla bütünleşti. Tırmanma dışında ne hayal kurdu ne de zirveye ulaşabilmeyi düşündü. Tırmanmaya karar verdiğinden itibaren, yalnızca tırmanmayı düşündü. Çünkü hedefe ulaşmak için motivasyon çok önemlidir.

12 Aralık 2019 Perşembe

Başarı için başlamayı seçin...


Hayattan ve kendinizden şikâyetçi olmak yerine, bugün kendiniz için küçük bir adım atın. Yapmak isteyip de yapamadığınız ya da cesaret edemediğiniz bir şey yapın. Küçük başarılar, büyük başarılar için ilk adımdır. Gücünüz de var, yeteneğiniz de. Kötümser 'Yapılamaz' der. İyimser 'Yapılabilir' der. Motivasyona sahip kişi ise, 'Yaptım' der. Her sabah sizi motive edici mesajlar dinleseydiniz, zihniniz, yüreğiniz, ruhunuz coşku ve heyecanla dolsaydı, gününüz nasıl geçerdi?

11 Aralık 2019 Çarşamba

Amacını ve Önceligini Belirle


Ders çalışmak isteyip de çalışamayanlar var mı?Tam çalışmaya başlayacağınız sırada başka şeyler yapma isteği duyuyor musunuz?
Amacınız ne? Okumakla ne elde etmeyi düşünüyorsunuz?

10 Aralık 2019 Salı

C Programlama Kodlama Standartları


1. KAYNAK PROGRAM KÜTÜKLERI 


1000 satirdan büyük kaynak programlarin hem derlemesi yavas, hem de bakimi zordur. Programlari 1000 satirlik kütüklere bölün.
79 karakterden büyük satirlar her terminalde ve editörde kolay görüntülenmez. Bu nedenle çok uzun satirlar kullanmayiniz. 

1. KÜTÜK ADI TANIMLAMA KURALLARI. 

Her kaynak program ana kütük adi ve ekten olusur. Ekler genelde derleyici ve kullanilan programa göre düzenlenir ( .c, .cc, .l, .y gibi). Ana kütük adi sekiz karakterden olusmalidir.
OKUBENI (README) directory altindaki kütükleri ve derleme adiminda kullanilan parametreleri içermelidir.
make derleme islemi için makefile yerine "Makefile" kullanin. 

2. PROGRAM KÜTÜKLERI. 

1. Her programin basinda kütük içinde ne oldugunu belirten ön bilgi (prologue) olmalidir. Dizi içindeki islevler, tanimlar burada kisaca anlatilir. Gerekirse yazar adi ve yazildigi tarih belirtilir.
2. Baslik (header) eklemeleri bu açiklamanin pesine yazilir (include files). Bazi sistemlerde sistemin kullanigi eklemeler, kullanicininkilerin önünde yer almalidir.
3. "define" ve "typedef" komutlari bundan sonra yazilir. Önce degismez "macro" tanimlari daha sonra islevsel tanimlar, en son "typedef" ve "enum" tanimlari yapilir.
4. Tanimlardan sonra tüm programda kullanilan "global/external" bilgi alanlari tanimlanir. Genel siramada önce "extern", static olamayan global tanimlar, ve sonra static tanimlar yer alir. Bir yapi tanimini ilgilendiren "define" varsa, bu yapi taniminin pesinde yer almalidir.
5. Program içinde kullanilan islevler bu tanimlamalarin sonunda yer alir. Belirli bir kural olarak, incelenmesi en kolay olan yönteme göre siralanmalidir. Ayni düzeyde çagirilan islevlerin beraber bulunmasi yararlidir.
Genel program yapisi :
/*
* ön açiklama (ön bilgi)
*/
#include <system_kütükleri.h>
#include <uygulama.h> 
#define DEGISMEZLER
#define FUNC(x)
typedef struct A {
...
} a_t;
enum { NO=0, YES};
extern int *p_external;
extern struct A_EXT a_ext;
int *p_global;
struct A_GLOBAL {
...
} a_glob;
#define A_GLOBSZ sizeof(struct A_GLOBAL);
static int *p_static;
main(int argc, char **argv)
{
...
}

3. HEADER KÜTÜKLERI 

Baslik (header) tanimlari her alt sistem için ayri kütüklerde olmalidir. Makina bagimli tanimlar olasi tasimalarda degistirilmek üzere ayri kütüklerde tanimlanmalidir. Tanimlarda ve eklemelerde (include) kullanilmali "kütükadi" gibi tanimlardan kaçinilmalidir. C derleyicileri -I parametresi ile kütügü nereden alacagini bulabilmektedir. Bu özellik baslik (header) kütüklerinin yerinin degismesi durumunda programlarda degisiklik yapilmasini gerektirmez.
Islevleri ve "external" tanimlari içeren baslik (header) kütükleri tanimin yapildigi kaynak programa eklenmelidir. Böylece derleyici tip denetimini kolaylikla yapabilir. baslik (header) kütükleri iç içe (nested) tanimlanmamalidir. Her baslik (header) kütügündeki ön bilgi alaninada bu baslik (header) kütügünden önce hangilerinin eklenmesi gerektigi anlatilmalidir. 

4. DIGER KÜTÜKLER. 

OKUBENI (README) adli bir kütügün hem genel görüntüyü tanimlamasi, hem de program derleme ve kullanim biçiminin açiklanmasi açisindan önemi çok büyüktür. Burada kosullu derleme adimlari ve makina bagimli kütükler veya programlar açiklanir. 

2. AÇIKLAMALAR HAKKINDA. 


Açiklamalar ne oldugunu, nasil yapildigini ve parametrelerin neler oldugunu bildirmelidir. Kisa açiklamalar ise islemin ne oldugunu anlatmalidir. Her islevin basinda 3-10 satirlik bir açiklama her satirda islemin yapilisini ayrintilayan açiklamadan daha iyidir. Blok açiklama
/*
*
...
*/
biçiminde yazilmalidir. Veri yapilari, algoritmalar blok açiklama içinde anlatilmalidir. 

3. TANIMLAR HAKKINDA. 


Global tanimlar hemen birinci kolondan baslamalidir. Tüm "external" tanimlarin önünde "extern" bulunmalidir. Eger bir "extern" dizi tanimi (array) varsa bu tanimin boyu her tanimda belirtilmelidir. Gösterge taniminda kullanilan '*' türün önünde degil, tanimin önünde yer almalidir :
char *s, *p;
gibi.
Iliskili olmayan tanimlar ayni türden olsalar da ayri satirlarda tanimlanmalidir.
Tanimlarda kullanilan degiskenler, degerler ve açiklamalar alt alta gelecek sekilde "tab" tusu ile ayrilmalidir.
Eger "define" komutundaki degerin program içinde bir anlami yoksa "enum" kullanmak daha iyidir. Örnegin :
#define KETCH (1)
#define YAWL (2)
#define SLOOP (3)
#define SQRIG (4)
#define MOTOR (5)
yerine :
enum bt { KETCH=1, YAWL, SLOOP, SQRIG, MOTOR };
Bir degiskenin ilk degeri önemli ise ilk degeri açikça yazilmali, C derleyicisinin degeri belirlemesi beklenmemelidir. "long" olarak tanimlanan degismezlerde "l" yerine "L" kullanilmalidir. Çünkü "2l" ile "21" kolaylikla karisir.
"static" tanimlar mutlaka belirtilmelidir. Hatta STATIC diye bir "define" kullanilmasi daha dogru olur.
Islevlerin geri döndürdügü degerin tipi belirtilmelidir. En çok yapilan hata matemetiksel islevlerin "double" döndürdügünün unutulmasidir. 

4. ISLEV TANIMLARI HAKKINDA 


Her islevinden önce açiklama alani (prologue) bulunmalidir. Burada islevin ne yaptigi anlatilmalidir.
Islevin döndürdügü deger mutlaka belirtilmelidir. Eger bir deger döndürmüyorsa "void" tanimlanmalidir.
Islevin her parametresi tanimlanmalidir. Islev içinde kullanilan döngü degiskeni için 'i', karakter göstergeleri (pointer) için 's' ve karakter tanimlamalar için 'c' kullanimi tüm islevlerde ayni amaç için kullanilmalidir. Ayni gruptan olan islevlerde de ayni tür degiskenleri ve parametreleri kullanmak, onlari çagiran programlarda kodlama kolayligi getirir.
Degisken sayida parametresi olan islevlerde C dilinde tanimlanmis "varargs" kullanmak anlasilmasi veya tasinmasi açisindan önemlidir.
Eger islev içinde kullanilan bir degisken kaynak programda tanimli "global" degiskenlerden degil de baska kaynak programda yer aliyorsa "extern" kullanilarak tanimlanmalidir.
Içerlek yazma ve bosluklar islevin blok yapisini gösterir. Her iç blok için en az üç bosluk birakarak yazmak programi daha okunakli yapar.
Uzun kosullarda her ve/veya isleminden sonra kalani baska bir satira yazmak, "for" döngülerinde her bir döngü islemini ayri satira yazmak ve "?" isleminde her bir kosulu ayri satira yazmak programi daha okunakli yapar. 

5. BASIT KOMUTLAR (SIMPLE STATEMENTS) HAKKINDA. 


Her satirda mümkünse bir islem, komut olsun. "while" döngülerinde döngü gövdesi bos ise ";" ayri bir satirda olsun. "if" deyiminde test sonucunda sifir olmama kosulu derleyicinin kabulüne birakilmasin. Örnegin :
if (f() != FAIL)
her zaman
if (f())
biçiminden daha iyidir. Eger FAIL degeri sifir ise ve sonra birisi bu degeri -1 yapmak isterse tüm kodlamada ilgili satirlarin bulunup düzeltilmesi gerekebilir. Bu sekilde kullanim degeri degismese bile diger "if" deyimlerinde de yer almalidir.
Sifir olamayan derleyici kabulü ancak asagidaki testler için kullanilmalidir.
- Sonuç yalniz sifir ve baska bir sey olmuyorsa,
- Sonuç daha önceden adlandirilmis (TRUE gibi) ve baska birsey olmuyorsa, örnegin "isvalid", "valid" veya "checkvalid" gibi islevlerde
kullanilabilir.
Kodlama kolayligi olsa bile birden çok atama ("=" islemi) kullanilmamalidir.
"goto" deyimi hiç kullanilmamalidir. Eger bir döngüden çikmak için gerekiyorsa, döngü içindeki bölüm islev haline getirilmeli, bu islevin döndürdügü deger TRUE/FALSE olarak tanimlanmali ve "goto" deyimi yerine dönen deger kullanilmalidir.
Ancak "goto" deyimi kullanmak gerekiyorsa, etiket (label) programin okunmasina kolaylik saglamasi açisindan, kodlamanin daha solundan yazilmalidir. 

6. BIRLESIK KOMUTLAR (COMPOUND STATEMENTS) HAKKINDA. 


Kivrimli prantez (brace) içindeki komutlarin tümüne birlesik komutlar denir. Birlesik komutlarda :
kontrol {
komut;
komut;
}
stili kullanilir. Buna "K & R stili" denir.
"switch" deyimde bir "case" seçeneginden sonra "break" komutu yoksa buraya açiklama içinde bilgi yazin. Eger son seçenek varsayilan (default) degilse mutlaka "break" kullanin ve her zaman son seçenek varsayilan (default) olsun.
"if-else" deyiminde her kosul için komutlar (bir tane de olsa) mutlaka "brace" içine alinsin. Özellikle iç içe tanimlanmis "if" deyimlerinde "else" olmamasi durumunda bu kodlama çikabilecek sorun veya hatayi azaltir.
"do-while" döngülerinde mutlaka "brace" kullanilmalidir. 

7. ISLEMLER HAKKINDA. 


Tüm ikili islemler ile degiskenler arasinda en az bir bosluk birakin ('.' ve '->' hariç). Eger bir deyimin okunmasi zor ise en az öncelikli islemden deyimi satirlara bölmek gerekir. Gerekli oldugunda parantez kullanarak islem önceliklerini gösterin. Ancak çok fazla parantez kullanmayin. Insan gözü parantezleri okumaya alisik degildir.
virgül (comma) islemi en çok "for" döngülerinde birden çok degiskene ilk deger vermek için yararlidir. Bunun disinda fazla kullanmamaya çalisin.
"?:" islemindeki '?' öncesindeki kosulu parantez içinde yazin.
C dili deyimlerinden "sizeof" disinda kalanlardan sonra ilk parantezden önce bir bosluk birakilmalidir. Islevlerin parameterlerindeki virgülden sonra da bir bosluk birakilmalidir. "macro" tanimlarinda ilk parantezden önce bosluk birakilmamalidir. Yoksa ön derleyici (preprocessor) parametreleri algilayamaz. 

8. DEGISKENLERI ADLANDIRMA. 


Degiskenin adinin basinda ve sonunda '_' kullanmayin. Bu tür degiskenler kullaniciya açik olmayan derleyici degiskenleri arasinda bulunabilir.
Tüm "define" ve "enum" komutlarinda degismezler için büyük harfli tanim kullanin.
Islev adlari, degisken adlari, "typedef", "struct", "union" ve "enum" tanimlari için küçük harf kullanin.
"macro" islevleri büyük harf olmalidir. Küçük harf "macro" tanimlari eger "macro" bir islev gibi çalisiyorsa kabul edilebilir.
Ayni programda yalniz büyük ve küçük harf farki olan degiskenler ve çok benzer degiskenler kullanmayin (foo ve Foo gibi veya foobar ve foo_bar gibi).
Baska anlama gelebilecek degisken adlari kullanmayin. Mümkünse 'l' harfini hiç kullanmayin. Her zaman '1' ile karisabilir.
"typedef" tanimlarinin sonunda çogu kez "_t" eki bulunur. 

9. DEGISMEZLER HAKKINDA 


Sayisal degismezler için "define" kullanmak ileride programin bakimini kolaylastirir. Yalniz "define" tanimini degistirmek yeterli olabilir.
Degismezler kullanim amaçlarina uyumlu tanimlanmalidir. Örnegin "long" degismez 'L' ile kayan noktali degismez '.0' ile.
ASCII gösterilemeyen degismezleri "define" altinda tanimlayin veya sekizli (octal) tanimini tirnak içinde kullanin.
NULL yerine '0' kullanmayin. 

10. "MACRO" HAKKINDA 


Karmasik deyimler "macro" olarak tanimlanir. Eger "macro" parametreleri etrafinda parantezler yoksa islem önceliklerinde sorunlar olabilir.
Bazen hem "macro" hem de islevler ayni adla tanimlanabilir. Bu durumda parametrelerin isleyisi önem kazanir. Islevlerde kullanilan parametrelerin degerleri isleve geçerken, "macro" larda parametrenin açilimi kullanilir. 

11. KOSULLU DERLEME 


Kosullu derleme islemi makina bagimli islemler, "debug" ve derleme sirasinda belirlenen seçeneklerin kullanimi için önemlidir.
Mümkün ise "ifdef" tanimini baslik (header) kütügüne koyun. Kaynak program içine koymamaga çalisin. 

12. DÜZELTME (DEBUG) 


"enum" kullanirken mümkünse ilk deger sifirdan farkli olmali. Eger sistemde hata kosulu sifir ise her zaman birinci deger hatayi gösterir.
Her zaman hatayi görmek için eklemesindeki bilgiyi kullanin. Yeri geldiginde "assert" olanagindan yararlanin.
Test amaçli kodlamalarda her zaman baslik (header) içinde "define" ile "macro" kullanin. Böylece kodlamada degisiklik yapmaniz gerekmez.
 

13. "make" KOMUTU HAKKINDA 


"make" komutu için kullanilan bazi genel kavramlar asagida verilmistir : 
all Her zaman tüm kütüphaneleri derler.
clean ara kütüklerin tümünü siler.
debug testler için kullanilan 'a.out' uretir.
depend install programlari ve kütüphaneleri gerçek yerine tasir.
deinstall "install" islemini geri alma adimidir.
mkcat yardim ekranlarini "man" komutu ile kullanilir hale getirir.
lint "lint" programini çalistirir.
print/list tüm kaynak programlarin listesini almaya yarar.
rdist kaynak programlari baska bilgisayarlara tasimaya yarar.
Bunlara ek olarak "Makefile" için komut satirindan "DEBUG" veya "CFLAGS" tipi degerler girilebilir. 

14. PROJEYE BAGIMLI STANDARDLAR 


Genelde bu bölümde proje bagimli kütük adlari, directory adlari, baslik bilgisi adlari gibi tanimlar yazilir. 

9 Aralık 2019 Pazartesi

Gereksiz Bilgiler Ansiklopedisi pdf

-İnek nasıl sağılır?
-Dinozorların soyu neden tükenmiş olabilir?
-Hokkabazlık nasıl yapılır?
-Yaygın fobiler nelerdir?
-Antik dünyanın yedi harikası hangileridir?
-Volkan nasıl yapılır?
-En akıllı hayvanlar hangileridir?
-En iyi kaykay numaraları nasıl yapılır?
-Gerçek aşkının kim olduğunu nasıl öğrenirsin

Biliyor Musun?

Bunlar gibi yüzlerce başlıktaki soruya cevap üreten bu kitap kesinlikle sana göre! Gerekli gereksiz demeden bilginin ne zaman, nerede işe yarayacağını asla tahmin edemezsin. Bu kitaptan öğrendiğin bilmecelerle ve dünyamız hakkında edindiğin pek çok bilgiyle arkadaşlarını eğlendirebilir ve şaşırtabilirsin. Gereksiz Bilgiler Ansiklopedisi, birinci cildiyle tüm meraklılara göz kırpıyor.


8 Aralık 2019 Pazar

Ejderha Dövmeli Kız E-Kitap (pdf)

Ejderha Dövmeli Kız, yer yer ayrıntılara fazla yer verilmiş olmasına rağmen okuyucuyu sürükleyen bir anlatım ve konuya sahip. Zekice kurgulanmış olay örgüsünde adeta kayboluyorsunuz. Kitaptaki en önemli vurgu, kadın. Kadınlara yapılan cinsel istismar, toplumda ve iş hayatında aşağı görme gibi problemler istatistiksel olarak yer verilmiş. Kitabın ana karakteri olan Lisbeth Salander, aslında bu problemlere göğüs geriyor ve sebep olan kişilerle mücadele ediyor. Sadece bu yönüyle bile kitap beğeniyi hak ediyor.

5 Aralık 2019 Perşembe

Mühendisler Gününüz Kutlu Olsun

Türk Dil Kurumu'na göre mühendis, İnsanların her türlü ihtiyacını karşılamaya dayalı çeşitli yapılar yol, köprü, bina, peyzaj, çevre gibi şehircilik ve imar dışı alanların ilkeleri, bayındırlık; tarım, beslenme gibi gıda; fizik, kimya, biyoloji, elektrik, elektronik gibi fen; uçak, gemi, otomobil, motor, iş makineleri gibi teknik ve sosyal alanlarda uzmanlaşmış, belli bir eğitim görmüş kimsedir.