1. KISIM NETWORK BOOT YAPRAK NO : 01
YAPILAN İŞ Şirket Tanıtımı ve Staj Hakkında Bilgilendirme TARİH : 14.07.2016
Stajımın ilk iş günü olan 14 Temmuz tarihinde yani bugün sabah saat 9'da
TEGSOFT'un Papirus Plaza’daki ofisine geldim.
(Resim1:Papirus Plaza’daki Tegsoft Şirket Ofisinin Girişi)
Bizi şirketin sahibi Eray Bey ile Tuba Hanım karşıladı. Kısa bir tanışma sohbetinden sonra
Tuba hanım bize şirketi tanıtmaya başladı. Şirketin geliştirdiği işlerden bahsetti.
TegsoftCC adı altında yapılan hizmetleri anlattı. TegsoftCC’nin içinde toplam 4 tane ayrı
hizmet paketi bulunuyor. Bunlar sırasıyla Inbound Çağrı Merkezi, Outbound Çağrı
Merkezi,Konferans Yönetimi ve Detaylı Çağrı Merkezi Raporlama Sistemi.
Detaylı Çağrı Merkezi Raporlama Sisteminin içinde de Programlanabilir IVR,CRM-Müşteri
İlişkileri Yönetimi,E-Mail ve SMS Modülü,Talep ve Şikayet Yönetimi,Sosyal Medya
Entegrasyonu,VPOS-Sanal Pos Ödeme Sistemi,Webchat-Web Arabirimi ile
Yazışma,Webcall-Web’den Arama,SMS-Toplu Mesaj Gönderme Sistemleri,TTS-Metnin
Sese Dönüşmesi gibi alt konu başlıkları bulunuyor.
KONTROL SONUCU
2. KISIM NETWORK BOOT YAPRAK NO : 02
YAPILAN İŞ Şirket Tanıtımı ve Staj Hakkında Bilgilendirme TARİH : 14.07.2016
Tegsoft’un hizmetlerinin detaylarını öğrenmek için biraz araştırma yaptım.
1)Inbound Çağrı Merkezi
Çağrı Merkezleri, müşteri talep ve şikayetlerini karşılamak amacıyla hizmet verecek
birimler olarak kurgulanmış olmalarına ragmen, gelişen dünyada artık firmaların kurumsal
kimliklerini yansıttıkları bir kilit birim rolü oynamaktalar. Teknolojideki ilerlemelerin de
etkisiyle, Çağrı Merkezleri artık sadece telefon çağrıları üzerinden hizmet vermekle
kalmayıp, e-posta, faks,SMS,web-chat gibi farklı kanallar aracılığı ile de müşteri diyaloğu
kurabilen merkezler haline gelmiştir. Bu değişim ile birlikte Çağrı Merkezleri sadece Call
Center olarak değil,Müşteri İletişim Merkezi(Contact Center yada Customer Contact
Center) olarak da ifade edilmektedir.
2)Outbound Çağrı Merkezi
TegsoftCC, müşteri temsilcilerinizin yaptığı tüm dış aramaları takip ederek müşteri
bilgilerinde dış arama olarak raporlanmasını sağlar. Aynı zamanda zamandan tasarruf
etmeniz için tasarlanmış Progressive Dış Arama Modülü ile aramaları
otomatikleştirebilirsiniz.
Bu modül sayesinde, dış aramalar otomatik olarak başlatılır ve Müşteri telefonu açtığı
anda müşteri temsilcisi görüşmeye dahil edilir. Bu özellik, hem zaman hem de görüşme
maliyetlerinizi minimuma indirgemenize yardımcı olmaktadır.
Progressive Dış Arama Modülü, Müşterilerinizi bir müşteri temsilcisi ile görüşmek üzere
telefonda bekletmez, müzik dinletmez. Müşterileriniz telefon açıldığı anda MT’ler ile
görüşmeye başlarlar.
3)Konferans Yönetimi
TegsoftPBX IP Santral sisteminin sağladığı özelliklerinden biri olan Konferans Odası
özelliği ile;
•Sınırsız konferans odası tanımlanabilir,
•Bu konferans odalarının her biri için ayrı ayrı özellikleri belirlenebilir,
•Konferans odasının katılımcı sınırı belirlenebilir,
•Konferans odasına bağlanmak için katılım şifresi atanabilir ve
•Ses Kayıt işlemi gerçekleştirilebilir.
Konferans Odası, sistemde ilgili arayüz üzerinden gerekli tanımlamalar
gerçekleştirilerek oluşturulmakta ve her konferans odası için bir dahili numara
verilmektedir.
KONTROL SONUCU
3. KISIM NETWORK BOOT YAPRAK NO : 03
YAPILAN İŞ Şirket Tanıtımı ve Staj Hakkında Bilgilendirme TARİH : 14.07.2016
4)Detaylı Çağrı Merkezi Raporları
TegsoftCC, anlık ve geçmişe yönelik detaylı raporları ile Çağrı Merkezi yönetimini
kolaylaştırıyor.Gelişmiş filtreleme seçenekleri ile Çağrı Merkezi verimliliğini ölçümlemeyi
sağlayan TegsoftCC, tamamen yetki tabanlı olarak aşağıda kırmızı ile belirtilen başlıklarda
anlık ya da geçmişe yönelik raporlar elde etmenize olanak tanır.
Raporları isterseniz HTML olarak üretip Web tabanlı olarak görüntüleyebilir, isterseniz
Excel ya da PDF dokümanı olarak arşivleyebilirsiniz.
1)Programlanabilir IVR 2)IVR – Sesli Yanıt Sistemi
3)CRM – Müşteri İlişkileri Yönetimi 4)E-mail ve SMS Modülü
5)Talep ve Şikayet Yönetimi 6)Sosyal Medya Entegrasyonu
7)VPOS – Sanal POS Ödeme Sistemi 8)Webchat – Web arabirimi ile yazışma
9)Webcall – Webden arama 10)SMS – Toplu mesaj gönderimi
11)TTS – Metnin sese dönüşmesi
Tuba Hanım Tegsoft’un geçen sene uluslararası
bir derginin araştırmasıyla geleceğin en çok umut
vaadeden çağrı merkezi üreten yazılım firmaları
arasında ilk 20 içerisinde gösterildiğinden bahsetti.
Bayram dönüşü olduğu için şirkette Eray Bey ve
Tuba Hanım dışında 1 mühendis ve eğitim depart-
manından da bir kişi vardı. Toplamda stajyerlerle
beraber şirkette 7 kişiydik.Benimle birlikte 2 tane
daha stajyer vardı. Diğer stajyerlerin de bizim okul-
dan olduğunu öğrendim. Daha sonra şirkette bilgi-
sayar mühendisi olarak çalışan Emre Bey bize pla-
zanın imkanlarından bahsetti ve şirket dışı aktivite
yapabileceğimiz ortamları tanıttı. Mesai saatlerinin
olmadığını çalışma ortamının rahat ve esnek oldu-
ğundan bahsetti. Fakat bunun biz stajyerleri kapsa-
madığını bizim mesai kavramını öğrenmemiz için
9-18 saatleri arasında şirkette bulunmamız (Resim 2: Uluslarası bir dergide Tegsoft’un başarısını anlatan bir yazı)
gerektiğinden bahsetti. Ayrıca sadece teknik anlamda değil iş hayatında nasıl davranmamız
gerekeceğini de öğreneceğimizden bahsetti. İlk günün ilk yarısı tanışmalar ve tanıtımlarla
geçti.
KONTROL SONUCU
4. KISIM NETWORK BOOT YAPRAK NO : 04
YAPILAN İŞ Şirket Tanıtımı ve Staj Hakkında Bilgilendirme TARİH : 14.07.2016
Öğle yemeği saati geldiğinde Eray Bey bize şirketin öğle yemeklerinde hep beraber yemek
yediğini bizim de bu kurala uymamız gerektiğini söyledi ve hep beraber yemekhaneye indik.
Yemekte birbirimizi daha iyi tanıma fırsatı bulduk.
(Resim 3:Papirus Plaza’da hep birlikte yemek yediğimiz bir an)
Yemekten sonra şirkete geçtiğimizde Eray bey bize staj boyunca bizden beklediği projeleri
tek tek açıkladı. Verdiği projelerin tahmini tamamlanma sürelerini verdi ve bizden staj için
bir çalışma takvimi hazırlamamız, bu programa uymamızı ve gerçek iş hayatındaki gibi
programın sonunda işi bitirmemizi istedi. Bize bahsettiği projelerin ilki şirkette bulunan bir
bilgisayara uzaktan ubuntu netboot installation yöntemiyle network booting yapmamız ve
netbootingi tamamladıktan sonra networkten ubuntu attığımız bilgisayarı fileserver olarak
kullanıp başka bir cihaza centos'u yine bu file server üzerinden network booting yöntemiyle
yüklemek olacaktı. Ve bunun nasıl çalıştığını, mimari özelliklerini öğrenmemiz ve olayı
kavramamız için 1,5 haftalık bir süre tanındı bize. Öncelikli olarak ilk gün bizden araştırma
yapmamız bekleniyordu. Bütün gün boyunca network booting ile ilgili araştırmalarımızı
yaptık. Araştırmalarımızda elde ettiğimiz verileri bir arada toplayıp işimize gerçekten
yaramış olan makaleleri,pdfleri ilerleyen günlerde staj defterine eklerim düşüncesiyle özel
bir dosyalama sistemiyle dizinime indexledim.
KONTROL SONUCU
5. KISIM NETWORK BOOT YAPRAK NO : 05
YAPILAN İŞ Ubuntu Server Network Installation ve Server tanıtımı TARİH : 15.07.2016
Şirketin mesai kavramı olmadığından biz stajyerler dışında sabah 9'da şirkete gelen kimse
olmuyordu. Bu sebeple bana şirketin anahtarının bir yedeğini verdiler ve diğer stajyer
arkadaşlardan erken gelip şirketi açmaya başladım. Saat 9'a doğru diğer stajyer arkadaşlar
da gelince birbirimizi biraz daha iyi tanımak ve daha iyi bir çalışma ortamı sağlamak
amacıyla birbirimizden bahsettik. Hepimiz aynı üniversiteden olduğumuz için tanışmak ve
birlikte iş yapmaya başlama konusunda pek zorlanmadık. Şirketin ürün geliştirme
müdürü(patron) Eray Bey’in bize ubuntu network booting konusunda verdiği projeyi
bitirmemiz için 6 günümüz kalmıştı. Araştırmalarımıza öğle arasına kadar devam ettik.
Araştırmalarımız sonucunda bilgisayarımıza DHCP server yüklememiz gerektiğini ve bu
DHCP server üzerinden network booting yapacağımız bilgisayara IP ataması ve hangi tftp
server'a bağlanacağını sağlamamız gerekiyordu. Bilgisayarımıza DHCP server yüklemeye
çalıştık fakat ne kadar uğraşırsak uğraşalım bir türlü diğer bilgisayarla bizim DHCP
server'ımızı iletişime geçiremiyorduk. Bu konuda sayısız denemeler yaptık ve öğle yemeği
saatine kadar bununla uğraştık. Öğle yemeğine yine hep beraber gittik ve yemekte diğer
mühendislerle konuşma fırsatı bulduk. Öğle yemeğinden sonra şirkete döndüğümüzde Eray
bey bize şirketin sunucu odasındaki makineleri tanıtmak için bizi sunucu odasına götürdü.
Buradaki cihazları inceledik. IBM'in Power S822L adlı serverın içini çalışırken açtık ve
inceledik. Ürünün piyasa fiyatının 12.000$ olduğunu öğrendiğimizde cihaza daha nazik
davranmaya başladık. :) Şirkette bu cihazdan dört tane daha olduğunu söyledi. Fakat aktif
çalışan IBM cihazı bir tane idi. Ayrıca bir tane de intel server’ı vardı.Daha sonra Eray Bey
bize network ile ilgili bir takım bilgiler aktardı. Eray Bey’in anlattıklarını not aldım ve staj
defterine de eklemem gerektiğini düşündüm.
15.07.2016 Cuma günü Eray Bey’in bize network hakkında anlattıkları;
Not:Aldığım notlar konuşma dilinde olduğu için bir takım anlam bozuklukları olabilir.
Network layerlardan oluşur.Layer 2’de bunun MAC adresiyle karşı tarafın MAC
adresleri,networkteki MAC adresler,swichler, swich üzerindeki bütün cihazlar Layer 2’de
birbirleriyle IP’siz konuşur. Layer 2’de cihaz der ki “Benim IP’ye ihtiyacım var.Ben bir IP
cihazım.” Layer 2’de önce cihaz bir ip cihaz mı,layer 1 mi layer 2 mi layer 3 mü layer 5 mi
kaçıncı seviye layerı destekliyor? Önce cihazı swich tanıyor. İnternet kablosunu
bilgisayarımıza taktığımız yerde iki tane ışık yanıp söner. Ethernet portunu takınca önce
turuncu ışık yanıyor. Yeşil ışık başka bir şeyi ifade eder turuncu ışık başka bir şeyi. Turuncu
ışığın ifadesi şudur. Layer 2’ye kavuştum ben.IP iletişimim sağlandı. Bu bazen direkt yeşile
döner IP aldım ve iletişim kuruyorum diye. Yeşil ışık ise transmit receive’dir. Veri alıp
verdikçe yanıp söner. Bu cihazlar swiche bağlandığı zaman swichten gelen kablolar(inşaatta
kullanılan network kabloları kalın kaliteli uzun mesafede iletim için tasarlanmış.)
KONTROL SONUCU
6. KISIM NETWORK BOOT YAPRAK NO : 06
YAPILAN İŞ Ubuntu Server Network Installation ve Server tanıtımı TARİH : 15.07.2016
Ama bu kabloları getirip direkt swiche takamazsınız. Çünkü bunları swiche taktığınız zaman swichin portları
karışır.Kimin kablosu nerdeydi bilemezsin.İnşaatçı da zaten swichi bilmez. İnşaatçıların hepsi şunu yaparlar.
Orda kablolar çekilir. Çekilen kabloları burada (sunucu odası) sonlandırırlar. Sonlandırırken kimin kablosu
nerde hikayesi şöyle yapılır. Swichin altında pach panel bulunur.
(Resim 4:Patch Panel)
Patch Panelin özelliği şudur. Duvarda priz düşünün arkasında elektrik kabloları olur siz
önüne fişi takarsınız ya patch panel arkasına network kabloları çıplak kablo olarak girer.
Önünde de rc45 gireceği portu vardır. Bunu sunucu odasında monte ederler. Kablonun
geldiği yerde de bundan bir tane bulunur. Giderler oraya yazarlar 2. Patch panel 7. Port diye
yazarlar. Bu yazdıkları buradaki 2. Patch Panel 7. Porttur. Bu porttaki kabloyu swiche
bağlamak isterseniz burdan küçük bir kabloyla direkt swiche bağlarsınız. Swiching işlemini
swich yapar ama kabloların hepsi patch panelde sonlanır. Çünkü niye, gelirim bu kabloyu
burdan çıkartırım başka bir swiche bağlarım. Böylece ordaki network’ü başka bir yere
taşımış olurum. Bizim sunucu olarak dışarıya verdiğimiz bir hizmet yok. Olması için system
odası olması gerekir. Burası ARGE olduğu için şımarık arge yapıyoruz. Normalde küçücük
swichlerle yaz kardeşim diyebilirdik. Bunlar sektörün en pahalı cihazlarıdır. POE desteklidir.
POE Power Over Ethernet demektir. Yani swichin üzerine taktığımız telefon elektriği de
swich üzerinden alır. Normalde telefonların ayrı bir adaptörü olur ve networkü bağlanır.
Ama burada öyle değil.
IBM Power S8 Serverın üzerinde eşzamanlı olarak 7 tane server’ımız var.Bu yüksek
kapasiteli bir server. Ortalama bir server 1000$’dan başlar. Bu 12000$. Bu server’ın
üzerinde data center çalıştırabilirsiniz. Bu bizim milyon abone server’ımız. Bu server’da 1
milyon abone çalıştırabiliyoruz. Aktif eş zamanlı 15000 telefon konuşması destekliyor. Bu
server’ı aldığında içinden elektrik bantları çıkar static elektriği önlemek için bu bantlardan
takıp sunucuya dokunabilirsin. Aksi taktirde en ufak bir çıtta ramlari ve işlemcileri yakarsın.
O yüzden bant takarsınız. Bileğinizde durur. Metal olduğu için metal üzerinden üzerinizdeki
static elektriği nötr hattına iletir. Dolayısıyla herhangi bir risk olmaz. Server’ı rahat bir
şekilde elleyebilirsiniz. Ama yine de tavsiye edilmez. Çünkü normal ramlarin hata payı
10^4’tür. Bunlar 10^8000 falan. Milyarlarca işlemde bir hata yaparlar. Yani okuma yazma
hata oranları çok düşük olduğu için ram’ın üretim micron seviyesi çok düşüktür.
KONTROL SONUCU
7. KISIM NETWORK BOOT YAPRAK NO : 07
YAPILAN İŞ Ubuntu Server Network Installation ve Server tanıtımı TARİH : 15.07.2016
Örneğin sen gidip PC’ye ram almaya kalkışsan 2GB RAM’i
50$-80$’a alırsın. Bu RAM’lerin fiyatı 1000$-2000$
dolar civarında.Bunların ramleri standart ramler değil.
Normalde intel işlemciler 8 Core olur bu sunucunun
işlemcileri 100 core. Toplam 200 Coreluk bir güç üre-
tiyor bunlar. Bu gördüğünüz dünyanın en kabiliyetli
CPUlardan.Yüksek kapasiteli,eş zamanlı ve kesintisiz
throughput verebiliyor. Mesela 8 core’lu bir intel CPU
core’ları arttığı zaman coreların swiching time’ı
dolar yani ordan bir azalma olur gücünde. 8 tane CPU
(Resim 5:Kaçak akım bantı)
kadar çalışmaz. Bu 100 tane CPU kadar çalışıyor. Bunda swich time zerodur.Özel
bir teknoloji bildiğimiz otoban gibi yani. Bu cihazın sadece ana kartı var. Standart
bildiğiniz anakartlarda ekran kartı işte ethernet kartı modemi radiosu bir sürü şeyi
olabilir. Serverlar o kadar bonkör değildir. Serverda anakart anakarttır başka bir
şey olmaz genelde. Bu anakartta ethernet kartı yok. Dışarıdan beslemeli 4 tane
gigabit etherneti var. Management Portu da bulunur. Ekran kartı yoktur. Mesele
serverlarda genelde vga girişi hdmi olur. Muhtemelen görüp görebileceğiniz tüm
serverlarda ekran olur. Ama bu power gruplarında mainframe denilen SUN’un
büyük serverlarında ekran kartı olmaz. Bunların ekran bağlantısı ekranı
takacağınız yeri olmaz. Bunlar zaten kabinlerde montajı yapılmış kurulmuş olur.
Bu makine çalışırken CPU’sunu değiştirebilirsiniz. Çalışırken ram
değiştirebilirsiniz, disk değiştirebilirsiniz. Bu özelliklerde başka bir makine yok
sakın denemeyin. Çalışırken disk değiştirmek hot plug teknolojisidir. Bir çok
serverda vardır. Disk değiştirmek çok hikaye bir şey. Diski çıkarırsınız yeni diski
takarsınız. İlave diskler takarsınız. Standart bildiğiniz sistemlerde veriler diske
yazılır ve diskte durur diski takınca görürsünüz. Diskin içinde partitionları
görürsünüz. Serverlarda durum biraz farklı. Serverlarda diskler manyetik alan gibi
çalışır. Disk disk değildir aslında. O bir veri depolama alanıdır. Diski raid
controller yönetir. Raid controllerın özelliği şudur. Normalde bir diski
kaybederseniz içindeki verileri kaybedersiniz. Diski kaybetmek verileri kaybetmek
iyi bir şey değildir.Burada iki diske aynı anda veri yazılıyor.
KONTROL SONUCU
8. KISIM NETWORK BOOT YAPRAK NO : 08
YAPILAN İŞ Ubuntu Server Network Installation ve Server tanıtımı TARİH : 15.07.2016
Bu iki diski Raid kartı yönetiyor. Operating system raid kartına yaz diyor. O gidiyor iki diske
birden yazıyor. Eş zamanlı. Oku diyor iki diskten de okuyor.Hangisinden doğru okuduysa onu
veriyor. Bu arada bir disk gitti diyelim. Diğerinden doğru veri okumaya devam ettiği için
sorun olmuyor. Yerine yeni diski taktık. Bu iki diski birbirine yedekliyor. İkinciye mirrorlama
işlemine rebuild işlemi deniyor. Rebuild işlemi bittikten sonra yüzde yüz yedeklilik devam
ettiriyor. İstersen ilk diski de çıkarabilirsin. RAID I demek mirror demektir. RAID IO da ise
nodelardan bir tanesi bir tanesi de bu bunları birbirine yedekler. Yani 4 diskim var ikisi
birbirine mirror diğer ikisi birbirine mirror. Daha sonra iki mirrorlarda birbirine mirror olup
aynı anda 4 diski bile 1 disk gibi kullanabilirsiniz. RAID V’ın özelliği ise üç diski üçünü de
yedekli olacak şekilde yazıyor. Örneğin bir diske 3 diğerine 2 yazarım üçüncü diske
toplamını yani 5’i yazarım. Dolayısıyla bir disk bozulursa onu geri getirecek veri elimizde
olduğu için veri kaybını önlemiş oluruz. Dolayısıyla 3 diskten 2 disk elde edecek şekilde
çalışıyor. Buna da RAID V denir. Askeri sistemlerde çok kullanılır. Orada da RAID IO’larla
oluşturulmuş RAID V’ler kullanılır. Yani RAID iç içe birkaç kademe kurulabilir. Operatin
system diskleri görmez. RAID controller ona ister 5 disk gösterir. Ona tamamen RAID
controller karar verir. RAID controllerden bir disk göstermezseniz operating system takılı
bir disk yokmuş gibi davranır. Bu server çalışırken RAID configration’unu değiştirmeyi
sağlıyor. Bu çok özel bir durum. Nasıl yapabiliyor? Diskte yeterli yer alanı varsa onu iyi
configure ederek ilave disklerle sisteme yeniden disk alanı vs. sağlayabiliyor. Üzerinde
bunun IBM’in ürettiği kimchi denilen software çalışıyor. Makine kapalıyken bile makineye
işlem yapabiliyorsunuz. Makinelerin management portu vardır. Management portu makina
kapalı bile olsa üzerindeki enerji ile portu besler ve o port IP alabilir ve power on dersiniz
makine açılır. Power off derseniz makine kapanır. Reset derseniz resetler çünkü burda
düşünün binlerce server odaları var. Her birine gidilip power düğmesine basılmaz.
Management portuna bağlanırsınız.Ordan server’ı kapatırsınız açarsınız. Veya management
portu bazı software özelliğine göre ekran bile verebilir. Yani management işletim sistemi
uzaktan makineyi manage etmeye yarar. Bu serverlar genelde deprem yönetmenliğine
uygun yapılır. Üstü ve altı sabittir. Ve devrilmemesi istenir. Bu sunucu kabini sallanırken
gider gelir ve sallanma sırasında serverlar camı kırıp hasara yol açabilir. Bu yüzden mandala
tutturulur. Bu şekilde şirket içinde network ağı bu sunucular üzerinden işler.
Eray Beyin bize şirketin networkü hakkında anlattıkları bu kadardı.Daha sonra Eray bey bize
dünden bu zamana kadar neler yaptığımızı sordu. Network booting için kendi bilgisayarımıza
DHCP server kurmaya çalıştığımızı öğrenince bize şirket ağında zaten bir tane DHCP server
olduğunu ve bir ağda sadece 1 tane DHCP server olabildiğinden kendi bilgisayarımıza DHCP
server kurarken bu yüzden başarısız olduğumuzdan bahsetti.
KONTROL SONUCU
9. KISIM NETWORK BOOT YAPRAK NO : 09
YAPILAN İŞ Ubuntu Server Network Installation ve Server tanıtımı TARİH : 15.07.2016
Bunun için şirketin sense firewallına bağlanıp DHCP server ayarlarını oradan kontrol
edebileceğimizi gösterdi.Şirketin firewallı üzerinden oynamalar yaparken DHCP serverin
doğru çalışmadığını ve cihaz ile iletişime geçemediğini farkettik. Bu konuyla ilgili Emre Bey
inceleme yaparken DHCP serverın doğru çalışmadığını farketti ve firewall üzerinde
setlemeler yapmaya başladı.Tam bu esnada şirketin network ağı büyük bir ihtimalle bizim
yüzümüzden çöktü ve internet çıkışımız kesildi. Tam o esnada şirkette önemli bir iş
yapıldığından bir an önce internete çıkabilmemiz gerekiyordu. Şirkette küçük çaplı bir ohal
ilan edildi ve hep beraber server odasına gittik. Eray bey server'a bağlanarak server
üzerinde çeşitli setlemeler yaptı biz de bu sayede stajyerler olarak kritik durumda nasıl
çalışıldığını tecrübe edindik. Problem kısa zaman sonra çözüldü. Bu aşamadan sonra artık
elimizde bulunan cihazı network ile haberleştirebiliyor ip ataması yapabiliyorduk. Bundan
sonra artık elimizdeki cihazı TFTP server'a yönlendirip ubuntu netboot dosyalarını ağ
üzerinden çekip boot işleminini yapmasını bekliyorduk. Şirketin network ağında TFTP olarak
kullandıkları bir server olmasına rağmen bizim o server ile iletişimimiz olmadığından kendi
bilgisayarımızı TFTP server olarak tanıtmamız gerekiyordu. Biz bu işlemleri yaparken saatin
18:45 olduğunu farkettiğimizde artık işi yarına bırakmamız gerektiğine karar verdik ve diğer
stajyer arkadaşlarla beraber şirketten ayrıldık.
(Resim 6:İkinci gün sonu masamızın hali)
KONTROL SONUCU
10. KISIM NETWORK BOOT YAPRAK NO : 10
YAPILAN İŞ Ubuntu Network Boot TARİH : 18.07.2016
Kaldığım yurtta yapacak bir şeyim olmadığından dolayı gün geçtikçe şirkete daha erken
gelmeye başlamıştım. Mesai başlangıcından bir buçuk saat erken gelerek hem hazırlık
yapıyor hemde önceki gün stajda yaptıklarımı not alıyordum. Eray bey ile Tuba hanım 15
günlüğüne yıllık izne gittiği için bu süre zarfına kadar bize verilen projelerin eksiksiz bitmesi
gerektiğini biliyorduk. İlk projemizin bitimine 5 gün olmasına rağmen bayağı yol kat
etmiştik. Bugün yapmamız gereken kendi bilgisayarımıza tftp server yükleyip ubuntu
netboot dosyalarını network'a tanıtma işiydi.
Cdimage.ubuntu.com/netboot adresinden ubuntu
14.04 netboot dosyalarını bilgisayarımıza
wget -m -np web adresi komutuyla indirdik ve tftp
serverı da bilgisayarımıza kurduk. Bu aşamada ubuntu
netboot dosyalarını tanımlamamıza rağmen elimizdeki
cihaz tftp'ye bağlanıyor fakat configration dosyasını
bulamıyordu. Bu hatanın çözümü için onlarca senaryo
denedik.
(Resim 7:Ubuntu netboot dosyalarını local’e indirdiğimiz adres(sağ üst) )
(wget -m -np parametreleriyle internetten dizin indirme(alt)
İnternetten hatanın çözümüne ilişkin sayısız döküman okuduk. Fakat bir türlü dosyayı
gösteremiyorduk. Öğle yemeği saati gelmişti. Bugün şirkete daha önce tanışmadığımız
başka bir çalışan mühendis daha geldi. Öğle yemeğinde onunla sohbet ettik ve
karşılaştığımız sorunlardan bahsettik. Oda bizde stajyerken böyleydik bu çok normal uğraşır
uğraşırsınız sonra aklınıza bir fikir gelir halledersiniz dedi. Yemekten sonra biraz stres atmak
için hep beraber hobi odasına gittik ve 30 dakika kafamızı boşalttık. Daha dinç bir şekilde
geri döndüğümüzde aklımıza cihazın networkten ve tftp serverdan(dolayısıyla bizim
bilgisayarımızdan) hangi istekleri attığını incelemek geldi. Bunun için wireshark adlı
programı kullandık ve network ağını dinlemeye başladık. İstekleri incelediğimizde panelden
dosyanın adını adres yolu olarak girdiğimizden hatayı aldığımızı farkettik. Adres olarak
değilde direkt dosyanın adını tanımladığımızda bir anda elimizdeki cihaz boot işlemine
başladı. Ve üç gündür uğraştığımız konuyu hallettiğimizi görmek bizi oldukça motive
etmişti. Bizden beklenen sürenin neredeyse yarısında ubuntu network installation'ı
tamamlamıştık. Artık sıra bu cihazı fileserver olarak gösterip başka bir cihaza centos'u
network booting ile yüklemeye gelmişti.
KONTROL SONUCU
11. KISIM NETWORK BOOT YAPRAK NO : 11
YAPILAN İŞ Ubuntu Network Boot TARİH : 18.07.2016
(Resim 8:Wireshark’tan hangi dosyayı istediğini kontrol ettiğim an.)
Bunun için bize yeni bir cihaz verdiler. Centos'un network booting işlemi için de
araştırmalara başlamıştık. Planımıza göre ubuntu 1 hafta centos 2 gün sürmesi gerekiyordu.
Fakat ubuntuyu 3 günde hallettikten sonra centosu da 1 günde bitirmemiz gerekir diye
düşündüm. Ve mesai saatini biraz geçirerek centos araştırmalarına devam ettim. Pek kayda
değer bir bulgu elde edemediğimden kalan işleri yarına devrederek şirketten çıktım.
(Resim 9:Stajda ilk 15 gün içinde bitirmemiz gereken 5 proje)
KONTROL SONUCU
12. KISIM NETWORK BOOT YAPRAK NO : 12
YAPILAN İŞ Centos Network Boot TARİH : 19.07.2016
Sabah 7.30 gibi şirkete gelerek işe başlamadan önce yapmam gereken tüm işlerimi
tamamlayıp (staj defterini yazmak gibi) asıl işime yine her zaman olduğu gibi saat 9’da
başladım. Bugün network installation kullanarak başka bir cihaza Centos işletim sistemini
yüklemeyle uğraştık. Önceki günlerde yaptığımız ubuntu network installation’ın yükleme
adımında yaptıklarımızdan biraz farklı yöntemleri vardı. DHCP server'a ubuntuyu yüklerken
kullandığımız ayarları bu sefer Centos için özelleştirerek tekrar ayarladık. Fakat cihazı
çalıştırdığımızda DHCP server üzerinden TFTP server'a bağlantıyı gerçekleştiremedik. Bu
olumsuzluğun sebebini internette araştırdım. Çok farklı yollar denedim. Ayarların
özelliklerini doğru giremediğim için deneme yanılma yoluyla belki bulurum diye aklıma
gelen her yolu denedim. Fakat bunun bir sonuç getirmeyeceğini anladığımda centos'un
comminity forumlarında bu konu ile ilgili tartışılan kısımları okudum ve bir kullanıcının
yaptığı yoruma göre ayarlarımızı düzenleyince cihazı tftp server'a bağlayıp Centos için
gerekli pxelinux/default ayarlarını ayarladık ve kurulum ekranı sonunda gelmişti. Aldığımız
hata üzerine çok araştırma yaptığımız için zaman çok çabuk geçmiş ve tam kurulum
ekranına geldiğimizde öğle yemeğine gideceğimizi öğrenmiştim.
Yemekten geldikten sonra kurulum ekranından kuruluma geçtik.Network installation
olduğu için dosyaları aynı anda yükleyip kurması bayağı zaman alıyordu. Cihaz kendi
kendine yüklenmeye devam ederken bende internetten centos işletim sistemi kurulumu ve
paketleri hakkında araştırma yapıyordum. Yeterince araştırma yaptıktan sonra bu konuyla
ilgili internetten topladığım bilgilerle sadece centos netinstall’ı anlatan bir blog yazısı
paylaştım. Daha sonra kurulum devam ederken ve her şey güzel giderken bir anda kurulum
hata verdi ve sistem kendini yeniden başlattı. Tüm işlemler başa dönmüştü. Verdiği hatayı
da görmeme rağmen hata kodunu yakalayamadığımdan internette direkt o hatayı
araştıramadım. Fakat gördüğüm kadarıyla internettin kesilmiş olabileceği fikri aklıma geldi.
Cihaz tekrar başladığında boot işleminde centosun sunucusuna bağlanamıyor dosya
bulunamadı gibi hatalar vermeye başladı. Tam tamamladık demişken böyle hataların
çıkması açıkçası günün en kötü haberlerinden biriydi. Wiresharktan cihazın nereye
bağlanmak istediğini inceledik ve centosun sunucusuna bağlanıyordu yani bağlanması
gereken yere bağlanıyor görünüyordu. Bağlanmak istediği adrese kendi bilgisayarımdan
gitmeyi denedim ve daha önce orada olan dosyalar artık yoktu. Bu nasıl olabilir diye
düşündüm daha sabah orada olan dosyalar resmi sunucudan biz istedik diye silinecek hali
yoktu. Fakat elimizden de bir şey gelmiyordu. Mesai saatini geçirdiğimiz için ve hatalardan
dolayı çalışma isteğimizin kalmamasından dolayı bugünlük mesaiyi bitirdik ve bu hataların
çözümünü yarın hallederiz düşüncesiyle şirketten çıktım.
KONTROL SONUCU
13. KISIM NETWORK BOOT YAPRAK NO : 13
YAPILAN İŞ Centos Network Boot TARİH : 20.07.2016
Şirkette biz çalışırken bize stajyer gibi değilde sanki şirketin bir çalışanıymışız gibi
davranmaları bizim açımızdan çok iyi bir şeydi. Bende kendi şartlarımı zorlayarak iş hayatını
öğrenmek için önemli adımlar atıyordum. Sabah hiç kimsenin olmadığı şirketi açmak ve
masanda dünden kalan işlerin hala açık bir şekilde duruyor olması ve benim o işleri bir an
önce halletme isteğim beni ister istemez erken gelmeye teşvik ediyordu. Yine her zamanki
saatte gelerek işe başlamadan önce yapmak istediğim iş dışı işlerimi yapıp bizim için
belirlenen mesai saatinde dünden kalan işlere başladım. Dün centos netinstall için cihazın
internetten çekmesi gereken dosyaların barındığı web sitesinde o dosyaları bulamıyordu.
Madem bulamıyor bende başka bir adrese bu dosyaları atıp tftp server'da bulunan
centos.cfg dosyasını o adrese yönlendiririm diye düşündüm. Öncelikle centos dvd iso'sunu
indermeyi ve daha sonra isonun içindekileri kendi internet siteme yükleyip oradan çekmeyi
deneyeyim diye düşündüm fakat bu en uzun yol olacağı için ve beni bayağı bekleteceği için
bu fikrimi beklemeye alıp bizim kurduğumuz file server'a bu dosyaları indirip tftp ile cihaza
indiririz diye düşündük fakat centos.cfg'nin içinde ftp yada http kullanarak indirebildiğini
gördük. Ayarları bir yerde okumasakta kendimiz deneme amaçlı ftp yazan yerleri tftp
yaparak tftp üzerinden çekmeye çalıştık fakat bu yanlış bir yöntem olduğu için doğal olarak
başarısız olduk. Daha sonra kendi file server'ımıza ftp kullanarak bağlanıp oradan çekelim
dedik. Ftp ayarlarını file serverda ayarladık fakat cihazı otomatik olarak ftp server'a
bağlamayı başaramadık. Cfg ayarlarında ftp için sadece root girişi yapılabiliyordu fakat
bizim kullanıcı adımız tegsoft ve şifremiz 1234'tü root ayarlarını yapmamıştık ve ftp ile
sadece kullanıcı adı tegsoft ve şifresi 1234 olan girişleri kabul ediyordu. Ftp'yi nasıl şifresiz
hale getiririz diye araştırma yaptık ve sonunda servera ftp ile şifresiz bağlanmayı
başarabildik fakat cihazımız hiçbir şekilde file server'a şifresiz ftp ile bağlanmayı kabul
etmiyordu. Bu sırada işlerin nasıl gittiğini sormaya gelen Emre Bey bize sizin kullandığınız
file server yerine şirketin http server'ına atalım diye bir teklifte bulundu. Bize o server'ın
giriş bilgilerini verdi ve sadece şirkete ait bilgisayarların MAC adresi tanımlandığından bir
tane de şirket bilgisayarı verdi ayarlamaları yapmamız için. Http çıkışın sağlandığı server'a
ssh ile bağlanarak scp ile dosyaları yükledik. Ve öğle yemeğine çıktık. Döndüğümüzde
dosyalar server'a yüklenmişti artık boot işlemine başlayabilirdik. Cihazı çalıştırdığımda tftp
server'a ve dosyaları attığımız sunucuya bağlanarak dosyaları indirdi. Ve kurulum ekranı
geldi. Kurulum ekranında dosyaları indirmesi gereken sunucu olarak bizim sunucuyu kabul
etmedi ve centos'un sunucularını girmemizi istedi. Dün hata aldığımız sunucuyu tekrar
girmeyi denedim ve çalıştı ve dün neden çalışmadığını kontrol etmek için cfg dosyalarını
açtığımda linkte bir harfin değişmiş olduğunu gördüm. Diğer stajyer arkadaşlar
değiştirmediğini söyledi fakat bir şekilde değiştiği için o hatanın bedelini bugün ödedik ve
koca gün boyunca farklı alternatifler kullandık.
KONTROL SONUCU
14. KISIM NETWORK BOOT YAPRAK NO : 14
YAPILAN İŞ Centos Network Boot TARİH : 20.07.2016
Fakat bir gün daha uğraştırmış olsa da tekrar yükleme ekranına geldik. Kurulum başladı
indirmeye başladı ve kurulum devam etti. Fakat akşam olduğu için cihazı açık bıraktık ve
yarın kurulumun tamamlanacağını düşününerek şirketten çıktık.
(Resim 10:Centos cfg dosyasıyla oluşturduğumuz boot ekranı ve
tftp serverdan vmlinuz’u indirirken ki görüntü)
KONTROL SONUCU
15. KISIM NETWORK BOOT YAPRAK NO : 15
YAPILAN İŞ Centos Network Boot TARİH : 21.07.2016
Dün centos yükleme ekranını network booting yöntemiyle getirebilmiştik fakat kurulum bir
şekilde hata veriyordu. Bunun üzerine nerede hata yaptığımızı bulabilmek için bir beyin
fırtınası başlattık ve cihaz açıldıktan sonra nerelerden bilgi alıyor neye göre kurulumu
başlatıyor şeklinde aşama aşama cihazın yaptıklarını takip ettik. İlk önce pxelinux.cfg'nin
içindeki default dosyasını network kartına yüklüyordu fakat orada hata yapmamız imkansız
gibiydi. Default'un içinde hangi server'a bağlanıp network boot işlemleri için gerekli cfg
dosyalarının adresleri yazılıydı ve bu adresleri biz kendimiz belirlemiştik. Bu aşamadan
sonra önyükleme ekranı için iki tane dosya yüklüyordu. Vmlinuz ve initrd.img bu dosyaları
da centos'un serverlarından indirdiğimiz için bunlarda da bir sıkıntı olamazdı. Geriye bir tek
centos.cfg dosyası kalıyordu ki bu dosyayı biz pek anlamasakta kendimiz doldurmuştuk.
(Resim 11:Default config dosyasının içine yazdıklarımız)
Fakat kurulumda hata almamızın sebebi de bu dos-
yayı doğru bir syntax ile yazamamamızmış. Bunu
anlamak için epeyice deneme yanılma yapmamız
gerekti fakat bu şekilde doğru bir sonuca ulaşama-
yacağımızı bildiğimiz için internetten bu dosyanın
programlanması ve kullanılması gereken method-
ları anlatan bir yazı bulduk. (Solda)
Bu yazıyı iyi okuyup setlemeleri bizim istediğimiz
şekilde yapınca kurulum ekranı tekrar ve bizim
istediğimiz şekilde gelmişti. Bugün bizi bu kadar
uğraştırmasına rağmen bir cihazın network insta-
llation yaparken hangi dosyaları ne amaçla istedi-
ğini daha iyi kavramış olduk.
Zaten Eray Beyin bizim öğrenmemizi istediği
kısım da bundan ibaretti.
(Resim 11a:Kickstart ayarlarını öğrenmemizi sağlayan adres)
KONTROL SONUCU
16. KISIM NETWORK BOOT YAPRAK NO : 16
YAPILAN İŞ Centos Network Boot TARİH : 21.07.2016
Amacımız işi bitirmekten ziyade o işin nasıl çalıştığını anlatmak ve başkasına da
anlatabilecek seviyeye gelebilmekti ki biz bu seviyeye yavaşta olsa gelebileceğimizi
düşünüyorum. Stajın ilk günü planladığımız iş takviminden biraz hızlı ilerlememizden dolayı
normalde iki hafta süre verilen projeleri bitirmiştik. Eray Bey bu sürede izinde olduğundan
artık yarın ne yapacağız diye Emre Bey'e sorup ondan gelecek yeni projeyi beklemeye
başladık. Bugünlük yapacaklarımız bitmişti ve sabah ki kurulumlarla çok uğraşıp günü
bununla bitirmiştik. Eray Beyin talimatıyla bir sonraki projemiz de gelmişti fakat bugün o
projeye geçmedik ve yarın yani haftanın son gününe bırakıp şirketten ayrıldık.
(Resim 12:Hazırladığımız centos.cfg dosyasını şirketin server’ına scp ile yüklerken)
KONTROL SONUCU
17. KISIM NETWORK BOOT YAPRAK NO : 17
YAPILAN İŞ Tegsoft Network Boot TARİH : 22.07.2016
Bugün bizden istenen artık TEGSOFT yazılımını network installation yöntemiyle cihaza
yüklemeyi başarabilmekti. İlk gün bize bu proje verilseydi ve yanlış adımlarla uğraşıp
dursaydık en az 2 hafta daha gecikmeli bir öğrenme süreci olacaktı. Fakat bize verilen
projelerin sırası hep öğrendiklerimizin üstüne yeni bir şeyler koymak olduğundan pek
zorlanmıyorduk. Ve bu projeyi de gün içinde halledebileceğimizi düşünüyorduk. Nitekim gün
sonunda işi tamamlasakta gün içinde yaşadığımız sıkıntılar bize tecrübe olarak
döneceğinden oldukça eminim. Öncelikle TEGSOFT yazılımının .iso uzantılı kurulum
dosyasını açarak hangi sistem üzerine ne tür değişiklikler yapılarak boot edilmeye çalışılmış
onları inceledik.
(Resim 13:Tegsoft iso kurulum dosya sistemi)
Yazılımın kullandığı yüzlerce rpm paketlerini de kuruluma ekleyeceğimizi öğrendik ve o rpm
paketlerinin boot esnasında nasıl yüklenilebileceğini araştırdık.
(Resim 14:Tegsoft’un kullandığı rpm listesinin %1’i)
KONTROL SONUCU
18. KISIM NETWORK BOOT YAPRAK NO : 18
YAPILAN İŞ Tegsoft Network Boot TARİH : 22.07.2016
Günümüzün ilk yarısı TEGSOFT yazılımını tanımakla geçti. Bu bir nevi öğrenme süreciydi.
Direkt bodoslama kuruluma geçmeye çalışsaydık hata alacağımızdan emindik. Öğle
yemeğinden sonra bugünün anlam ve önemi dolayısıyla öğleden sonraki mesaimize biraz
geç başladık. Öğleden sonra tegsoft yazılımının isosunun içindeki dosyaları şirketin file
server'ına attık. Bu arada file server'a dosya nasıl gönderilir gibi kavramları da öğrenmiştik.
Daha sonra pxe ayarlarımızı değiştirerek kurulumun file serverdaki tegsoft yazılımına
yönlendirilmesini sağladık ve kurulumu başlattık yüzlerce rpm paketleri bizim belirttiğimiz
şekilde yüklenmeye başladı. Ve pek anlamasakta tegsoft yazılımını doğru bir şekide
yüklemeyi başardık. Bu adımdan sonra Eray Bey bize Tegsoft'un kurulum ekranınını
özelleştirmemizi ve bizim istediğimiz adımları yapabiliyor olmasını söyledi. Bunu nasıl
yapacağımızı öğrenmek için öncelikle araştırma yapmamız gerekiyordu. Haftanın son
gününü araştırma yaparak tamamladık ve hep birlikte şirketten ayrıldık.
(Resim 15:Tegsoft’un network boottan çektiği bizim hazırladığımız boot ekranı)
KONTROL SONUCU
19. KISIM NETWORK BOOT YAPRAK NO : 19
YAPILAN İŞ Tegsoft Network Boot TARİH : 25.07.2016
Şirketin networkunda bizim çalışmamızı engelleyen bir problem vardı. Normalde ip
adreslerimiz local network'e bağlıyken dhcp server istem dışı hareketler sergileyerek bizim
ip'lerimizi local networkten farklı atayıp local serverlarla iletişimimizi kesiyordu. Kendi
bilgisayarlarımızı static ip atayarak halledebileceğimizi düşündük ve kendimize static
olarak local network'e bağlı bir ip atadığımızda bu sefer de internete çıkışımızı
sağlayamıyorduk. Dns ayarlarını da değiştirdikten sonra kendi bilgisayarlarımızın
problemleri giderilmişti. Fakat bizim kullandığımız cihaza networkbooting yaptığımız için
işletim sistemi üzerinde ne kadar ayarlamalar yaparsak yapalım yeniden başlatıldığında
yine eski haline dönüyordu. Bunun için firewall üzerinden cihaza static ip ataması yapmamız
gerekiyordu.
(Resim 16:Sense Panelinden cihaza static ip ataması yaparken)
Bu durumla ilgili birkaç sıkıntı yaşadıktan sonra artık gerçek işimize başlamamız
gerekiyordu. Öğle yemeği saatine yakın bir zamanda tüm problemleri hallettik ve
günümüzün yarısı bu hataları düzeltmekle geçti. Şirkete ilk geldiğimizde izinde olan iki
çalışan mühendis de bugün şirkete gelmişti. Onlarla tanıştık. Öğle yemeğine geçtik.
Öğleden sonra sabah yaşadığımız problemin sebebini izinden yeni gelen Ünal Bey network'e
DHCP serverın kurulu olmadığını firewall'ın default dhcp serverını kullandığını söyledikten
sonra öğrendik. Ve DHCP server'ı firewall'a yönlendirdik. Önceden 192.168.47.201 uzantılı
adreste dhcp olduğunu düşündüğümüz için orayı işaret ediyordu. Tegsoft yazılımını
özelleştirmek için config dosyasına boot işlemlerini yapması için verdiğimiz ayarların
altında bash ile komut çalıştırabiliyor muyuz onları test edip kurulumdan sonra istediğimiz
bir dizin oluşturulmuş ve içinde istediğimiz dosyayı oluşturmuş olmamız gerekiyordu. Config
dosyasına komutları yazıp çalıştırdığımızda her nedense bizim komutları icra etmeden
kurulumu tamamlıyordu.
KONTROL SONUCU
20. KISIM NETWORK BOOT YAPRAK NO : 20
YAPILAN İŞ Tegsoft Network Boot TARİH : 25.07.2016
Biz config ayarlarını değiştirmeyle uğraşırken ara sıra cihaz yine sapıtıp local'deki dosyaları
çekemez hale geliyordu.
Saat 17'den sonra bu hatanın sebebini bulamadık ve haftanın ilk günü hatalarla uğraşa
uğraşa totalde bir işi bitiremeden günü bitirmiş olduk. Bugün benim açımdan şuana kadar
stajda geçen en kötü günlerden biriydi diyebilirim.
(Resim 16:Tegsoft’un kurulumdan önce post install ile çalışmasını istediğimiz script)
(Resim 17:Gün sonunda çalışma ortamım)
KONTROL SONUCU
21. KISIM NETWORK BOOT YAPRAK NO : 21
YAPILAN İŞ Tegsoft Network Boot TARİH : 26.07.2016
Dün onca hatalarla uğraştıktan sonra biraz da akşam eve gittiğimde yarın için ön araştırma
yapıp hata sayısını azaltmayı düşündüm ve aldığım hataları internette araştırdım. Bugün
her zaman ki gibi işe erken gelip dün akşamki araştırmalarımın meyvesini alabilmek için
mesai başlamadan önce yapmam gereken işlerimi erken bitirip diğer stajyer arkadaşlarım
gelmeden cihazla biraz uğraştım. Diğer stajyer arkadaşlar da gelince problemin kaynağını
bulmuştuk ve tftp server olarak kullandığımız bilgisayarı çalıştırarak tegsoft yazılımının
boot işlemi yaparken istediğimiz scriptleri de çalıştırması için düzenlediğimiz config
dosyasını tekrar programlayarak tegsoft yazılımının içine ilk klasörlerimizi oluşturduk. Bu
adımdan sonra artık yapacağımız nasıl yapılacağını öğrenmekten ziyade üzerine daha neler
koyabiliriz diye düşünmekti. Nasıl yapılacağını öğrenene kadar Tegsoft yazılımını
özelleştirilmiş paketler olmadan yüklüyorduk. Saat 11 civarı tegsoft yazılımının tüm
paketleriyle yüklemek için kurulumu başlattık. Kurulum yaklaşık 2 saat sürdü biz o sırada
hem yemeğe gittik hemde bu adımdan sonra yapacak olduğumuz işleri planladık. Yemekten
geldikten sonra tegsoft kurulumunu tamamlamıştık. Tegsoft yazılımının kurulumu hakkında
bilgisi olan Ünal Bey bizim tegsoft yazılımını tam olarak doğru şekilde kurup
kuramadığımıza baktı. Yazılımın büyük bir kısmı doğru programlanmıştı fakat birkaç paketin
eksik olduğunu bunun tegsoft yazılımının paketleri arasında olmayabileceğini söyledi. DB2
veritabanı yönetim sistemini boot esnasında yüklemediğini bunlarla uğraşmamız gerektiğini
belirtti. Tegsoft'un DB2 veritabanını kullandığını ve bu olmadan tegsoftun web üzerinde
ayağa kalkamayacağından bahsetti. Biz eksik paketler için araştırma yaparken bir yandan
da ODROID adlı cihazı öğrenmek için ön araştırma yapıyorduk.
(Resim 18:Bize verilen cihaz-ODROID C2)
KONTROL SONUCU
22. KISIM NETWORK BOOT YAPRAK NO : 22
YAPILAN İŞ Odroid-C2 Networkboot-Tegsoft TARİH : 26.07.2016
Çünkü bu aşamadan sonra artık bizden istenen ODROID cihazına networkboot yaparak
tegsoftu kurmaya çalışmak olacaktı. Öncelikle cihazın depolama birimi olmadığından
şirkette bulunan Emre Bey bize 128 gb 'lik bir sd card alarak ODROID'ın depolamasında
bunu kullanacağımızı belirtti. Günün geri kalanında tegsoft'un eksik olduğu paketler için
araştırmamıza devam ettik ve ODROID'ı ilk defa programlamaya çalıştık. Odroid
konusunda çok fazla kaynak olmadığından deneme yanılma yöntemiyle bir yerlere
ulaşacağımızı düşünüyorum. Günü bu iki araştırmaları sürdürürerek tamamladık. Ve
şirketten ayrıldık.
(Resim 19:Odroid’i boot etmek için gereken partitation sistemi)
Not:Manual olarak adres ataması yaparak boot’u hızlandırabildiğimizi öğrendik.
KONTROL SONUCU
23. KISIM NETWORK BOOT YAPRAK NO : 23
YAPILAN İŞ Tegsoft Post Install DB2 TARİH : 27.07.2016
Bugün şirkete geldiğimizde yapmamız gereken en önemli iş Tegsoft yazılımını networkboot
ederken eklemediği db2 veritabanı yönetim sistemini config dosyasına script olarak
yazmaktı. Fakat bunu yapabilmemiz için öncelikle manuel olarak db2'yu kurabiliyor muyuz
diye test etmemiz gerekiyordu. IBM'in sitesinden db2 veritabanını yüklemek için araştırma
yaptık ve şuan tegsoft yüklü bilgisayara db2'yu yükledik. Kurulum adımlarına göre her şeyi
doğru yapmamıza rağmen cihaza db2 yüklenememişti. Bunun üzerine Ünal Bey bize db2
paketlerinin mutlaka tegsoft'un içerisinde olması gerektiğinden bahsetti. Fakat o paketleri
ya biz bulamıyorduk yada iso'nun içine o paketlerin yüklenmesi unutulmuştu. Fakat biz yine
de isonun içindeki config dosyasını tekrar okuyarak orada yapılan adımları networkboot'taki
cfg dosyasına yazdık ve tekrardan kurulum işlemine başladık. Kurulum tamamlandıktan
sonra tekrardan db2 veritabanı sistemini yükleyemediğimizi gördük. Ünal Bey bize tegsoft
yazılımının her şeyini yüklemişsiniz tek eksik db2 kaldı diye söylemişti fakat biz ne kadar
uğraşırsak uğraşalım db2'yu yükleyememiştik. Daha sonra Ünal Bey bugün çok meşgul
olduğu için bizim bu problemimiz ile yarın ilgileneceğinden bahsetti ve bizde db2 işini bir
kenara bırakıp config dosyasında eksik kalan kısımları tamamladık. Daha sonra yarın ne iş
yapalım diye stajyerler arasında ufak bir toplantı gerçekleştirdik. Ve Eray Beyin bize ilk gün
bahsettiği araştırmalarınızdan sonra döküman oluşturacaksınız sözüne istinaden yarın
bütün günümüzü döküman oluşturmak için ayırmaya karar verdik ve bugün bize verilen
mesai saatinden 10 dakika erken çıkarak şirketten ayrıldık.
(Resim 20:Db2 yüklerken aldığımız hata)
KONTROL SONUCU
24. KISIM NETWORK BOOT YAPRAK NO : 24
YAPILAN İŞ Dökümantasyon Hazırlama TARİH : 28.07.2016
Bugün şirkete geldiğimizde dün planladığımız gibi bugüne kadar yaptıklarımızla ilgili
dökümantasyon hazırlayacaktık. Öncelikle uğraştığımız teknolojilerin internetteki
tanımlarını araştırdık ve ortak bir havuz Içerisinde onlarca dökümanı doldurduk. Daha sonra
bunları tek tek işe yarayan kısımlarını alıp işe yaramayanlarını silecek şekilde inceledik bu
tahmin ettiğimizden uzun sürdü ve öğle yemeği saatine kadar bu düzenlemelerle uğraştık.
Yemekten geldikten sonra Ünal Bey yanımıza uğrayıp db2 kurulumunun nasıl gittiğini
sordu. Bizde kurulumu tamamlayamadığımızı db2 paketlerinin hala çalışmadığını söyledik.
Normalde kurulum esnasında post_install.sh adlı script dosyasını tegsoft yazılımına özel
yazılmış post_install.sh dosyasıyla yer değiştirip öyle çalıştırıyorduk. Ünal bey bu adımı
yapmadan çalıştırmayı deneyin diye söyledi. Bizde ks_default.cfg dosyasını söylediği gibi
yapacak şekilde düzenledik. Daha sonra tekrardan network installation'a geçtik kurulum
yaklaşık 1 saat sürdü ve yüklendi. Fakat yine db2 yüklenmemişti. Artık sorunun bizden
kaynaklanmadığını düşünmeye başlamıştık. Çünkü bize göre eksik hiçbir şey yapmıyorduk
fakat yine de kurulum istediğimiz gibi tamamlanmıyordu. Bu sırada orjinal kurulum cd'sini
incelerken içinde tegsoft_firstinstall.sh adlı bir script dosyasının olduğunu gördük.
Tamamen şans eseri bu dosyayı çalıştıralım dedik ve script yüklendiğinde artık iki gündür
yükleyemediğimiz db2 yükleniyor ve tegsoft başarılı bir şekilde çalışmaya başlıyordu.
Orjinalinde CD'den yükleme yaptığı için boot esnasında bu dosyanın otomatik olarak
çalıştığını düşünüyoruz. Ve otomatik olduğu için bunun için bir script falan da yazılmamıştı.
Fakat biz CD yerine network'ten yüklediğimiz için bu dosyayı otomatik çalıştıracak bir
sistem olmadığı için kurulum istediğimiz gibi olmuyordu. Eğer bu dosyayı çalıştırmayı
denemeseydik yada bu dosyayı görmeseydik daha çok uğraşacaktık gibi görünüyordu. Stajın
başında planladığımız işlerin büyük bir kısmını tamamlamış gibiydik. Db2'yu kuran script'i
manuel olarak çalıştırdığımız için bu işlemi yapması için ks_default.cfg dosyasının içine bir
bash script'i yazıp boot esnasında tegsoft_firstinstallation.sh dosyasını çalıştırması için
dosyayı düzenlememiz gerekiyordu. Fakat başka bir networkboot için zamanımız olmadığı
için bu işi yarına bırakıp şirketten ayrıldık.
Hazırladığımız dökümantasyonlara aşağıdaki adreslerden ulaşabilirsiniz:
1) AĞ HİZMETLERİ http://www.abdullahvelioglu.com/blog/2016/07/26/ag-hizmetleri/
2) DHCP http://www.abdullahvelioglu.com/blog/2016/07/27/dhcp/
KONTROL SONUCU
25. KISIM ARM ARCHITECTURE YAPRAK NO : 25
YAPILAN İŞ Odroid C2 TARİH : 29.07.2016
Bugün sabah erkenden işe geldiğimizde dünden elimizde kalan tek iş olan tegsoft
networkboot için config dosyasında yazmadığımız eksik scriptleri tamamlamak için öğle
saatine kadar uğraşıp başarılı bir şekilde bitirdik.
Bundan sonra ODROID ile uğraşmaya başladık. Öncelikle şunu belirtmeliyim ki stajımızın
ana konusu olan ARM Mimarisi kullanan donanımlara entegrasyon işlemine ilk defa bugün
başlıyoruz diyebilirim.
Önceki yaptıklarımız biraz daha çok bizi eğitmek için yaptığımız işlerin nasıl yapıldığını
öğrenmemiz için verildiğini düşünüyorum. Üzerinde çalışacağımız odroid ve arm mimarisi
hakkında internette ingilizce dışında kaynak bulmak imkansız.
İngilizce kaynakların arasında da işimize yarayan bir şey bulmak samanlıkta iğne aramak
ile eşdeğer tutulabilir. Bize verilen Odroid'in C2 modelinde maalesef pxe boot özelliği yok
hatta usb boot özelliği bile yok. Bunu öğrenmemiz bizi hayal kırıklığına uğratsa da
yapacağımız tek şeyin sd kart'a imajı alınmış tegsoft'u çalıştırmaktı.
Nitekim bu çok kolay olmayacak gibi görünüyor. Çünkü henüz bulamadığımız şey odroide
özel imaj nasıl oluşturulur sorusunun cevabıydı. Elimizde Kingston'un 60 gb ve 120 gb lik
modelleri için hazırlanmış tegsoft'un imaj dosyaları vardı.
Bunları elimizde bulunan sandisk 128 gb sd karta uydurup yazmaya çalışalım diye
düşündük. Hem sd karta veri yazmak hemde verinin boyutunun büyük olması bizim
zamanımızı büyük ölçüde kısıtladı. Nitekim gün boyunca uğraştığımız işin sonunda elimize
kayda değer bir başarı geçememişti. Artık yeteri kadar uğraştığımızı düşündükten sonra bu
başarısızlığımızı pazartesi sağlam kafayla halledebiliriz düşüncesiyle bıraktık ve şirketten
ayrıldık. Ayrıca pazartesi Eray Bey ile Tuba Hanım'ın izinleri biteceği için stajımızın gidişatı
biraz daha değişeceğini umuyorum.
KONTROL SONUCU
26. KISIM ARM ARCHITECTURE YAPRAK NO : 26
YAPILAN İŞ Odroid C2 TARİH : 01.08.2016
Bugün Eray Bey ve Tuba Hanım izinden döndüler. Onların gelmesiyle şirketin de trafiği
artmıştı. İşler daha fazla yoğunlaşmıştı. Hem de haftanın ilk günü olması nedeniyle herkes
bir şeylerle uğraşıyordu. Bizim de halletmemiz gereken bir odroid vardı.
Odroid'e tegsoft yazılımını yüklemek için öncelikle odroid'e herhangi bir işletim sisteminin
Odroid'e nasıl yüklendiğini anlamamız gerekiyordu. Nitekim öyle yapmaya karar verdik ve
ubuntu için sd kart'a ubuntu imajını yazdık. Ayırdığı partitation'ları kontrol ettik.
Çalıştığında nasıl boot ediyor ona baktık. Ubuntunun ayırdığı gibi boot edebilir miyiz diye
uğraşmaya başladık. Çabalarımız hep başarısızlıkla sonuçlanıyordu yani bir türlü odroid
boot işlemine geçmiyordu. Bu konuda Ünal Bey de bize yardım etmek için uğraştı fakat
henüz başaramamıştık. Tegsoft hakkında daha fazla bilgi sahibi olabilmemiz adına Ünal Bey
bize uğraştığı işleri ve tegsoft'un altyapısını anlattı.
Bulmaya çalıştığı bug'ları sistemin kararsız çalışmasına neden olan bir sürü sebepleri
gösterdi. Ayrıca Orhan Bey'de bize tegsoft'un müşterilerinin sesini kaydettikten sonra o
sesi nasıl işlediklerini hangi aşamalardan geçtiğini gösterdi. Okulda öğrendiğimiz çoğu şeyi
gerçek iş hayatında da kullanabiliyor olmamız bizi bir nebze mutlu etti.
Gün içerisinde Eray Bey'de bizden yarın bugüne kadar yaptığımız staj çalışmalarımızı
anlatmamızı istedi. Ayrıca gün içerisinde toplantı da yapacaktık.
Hatta Eray Bey bizi toplantı odasına topladı hepimiz birkaç saat toplantı odasında hep
beraber bir yandan çalışıp bir yandan Eray Beyi bekledik.
Fakat işlerin yoğun olmasından dolayı toplantıyı yapamadık fakat hep beraber çalıştığımız
zaman biz stajyerler olarak çalışanların yaptıklarını izledikçe daha çok şeyler öğrendik ve
tecrübe edindik. Bugünlük asıl işimizi halledememiş olsakta edindiğimiz tecrübeler bize çok
önemli değerler kattı.
KONTROL SONUCU
27. KISIM ARM ARCHITECTURE YAPRAK NO : 27
YAPILAN İŞ Odroid C2 - Toplantı TARİH : 02.08.2016
Bugün toplantı günüydü fakat toplantıyı öğleden sonra yapacaktık. Biz de sabah gelince
dün bıraktığımız Odroid işine devam etmeye başladık.
Odroid için yeni bir şey icat etmek göründüğü kadar kolay değildi.
Odroid için yazılmış ubuntu imajını taklit edip kendi işletim sistemimizi sd karta yazmayı
düşündük nitekim bundan da bir sonuç çıkaramadık. Ve öğle yemeğine gittik.
Yemekten döndüğümüzde toplantı için hazırlıklar yapıldı. Eray Bey şirketin toplantısına
bizim de katılmamızı istemişti. Toplantı için hazırlıklar bitti ve toplantı başladı.
Şirkette SVN kullanılıyordu.SVN tıpkı Git gibi bir versiyon takip sistemidir.
Eray Bey tatilde olduğu sürede şirketteki çalışanların yazdıkları tüm kodlar ekrandaydı.
Yeni yazılan ve değiştirilen tüm kodları tek tek inceledik. Neden öyle yaptığını ya da eksik
yaptığı yerleri tartıştık. Yeni yapılacak projelerden bahsettik.
Tek tek tüm çalışanların kodları incelendikten ve yeni görevleri verildikten sonra sıra bize
gelmişti. Bizim de bugüne kadar yaptığımız şeyler incelendi.
Eksik yaptığımız yerler söylendi. Ve yeni projelere de sahip olduk.
Öncelikle elimizde uğraştığımız Odroid'i ikinci plana ayırmamız ve yeni projeleri bitirmeye
başlamamız söylendi. İlk olarak tegsoft kurulum ekranındaki bölümü özelleştirmemiz
gerekiyordu. Daha sonra rpm paketleri nasıl oluşturulur onu öğrenmemiz ve bir tane rpm
paketi oluşturmamız bekleniyordu. Ayrıca yarın 10:00 için de bizim yaptıklarımızı
anlatacağımız bir etkinlik oluşturduk.
Toplantı bitti ve şirketten ayrıldık.
KONTROL SONUCU
28. KISIM ARM ARCHITECTURE YAPRAK NO : 28
YAPILAN İŞ Tegsoft Mimarisi ve Odroid-C2 TARİH : 03.08.2016
Saat 9 gibi işe gelsekte 10'da Eray Bey'e yaptıklarımızı anlatacağımız için bugüne kadar
yaptıklarımızı gözden geçirdik. Saat 10 olduktan sonra Eray Bey geldi ve bizde yaptıklarımızı
anlattık. Odroid'in durumunu konuştuk. Tegsoft'un donanım katmanlarını anlattı.
Aynı mimariyi yazılımda da kullandıklarını katman mimarisiyle yazılım yazmanın
faydalarından bahsetti.
03.08.2016 Cuma günü Eray Bey’in bize tegsoft hakkında anlattıkları;
Not:Aldığım notlar konuşma dilinde olduğu için bir takım anlam bozuklukları olabilir.
En alt seviyede hardware var. Hardware’in bir üstünde operating system çalışır. Onun bir
üstünde java çalışır. Onun bir üstünde Application Server çalışır. Onun bir üstünde
Application çalışır. Bizim mimarimizde tabi javanın olduğu mimari daha kapsamlı. Burda
IBM Db2 çalışıyor. Hardware’i garanti etmedik fakat onun için bir tavsiye cihazımız var.
Copy donanım. Dolayısıyla hardware’ı spec olarak garanti ettik. Üstündeki işletim sistemi
centos onu garanti ettik. Onun üstünde java ve db2 var onları da garanti ettik. Bizim
geliştirdiğimiz en üstteki Application katmanı. Ama satarken tüm mimariyi satıyoruz. Şimdi
5 9 garanti verebiliyoruz. Bunu nasıl garanti verebiliyoruz. 1)İşletim sistemi kapanıp
açılmayan şişmeyen bir işletim sistemi olmak zorunda. İşletim sistemleri de bireysel ve
kurumsal diye ikiye ayrılır. Bireysel kullanılanlarda adamın mesaisi boyunca çalışacağı
varsayılır kapatılır açılır resetlenir. Peki işletim sisteminin iyisi kapanıp açılmaya ihtiyaç
duymayanı mıdır? Değildir. Her şeyi yerine göre kullanmak gerekir. İşletim sisteminden iyi
memory manage etsin. Çünkü uzun süre çalışınca memory şişer. Memory haricinde başınızı
ağrıtacak bir şey olmaz. Şüphelenmemeniz lazım işletim sisteminden. Seçtiğiniz işletim
sisteminde memory problemi olmadığını biliyor olmanız gerekir. Çökecek göçecek derdiniz
olmayacak. Bunun için biz garanti ediyoruz centos ile. İşletim sistemini biz centos olarak
kabul ettiğimiz için yaptığımız bir takım işletim sistemi seviyesinde değişiklikler var.
Dolayısıyla centos’a göre software’ımızda değişiklikler yapsak sorunsuz çalışabiliyoruz.
Centos’u alıp üzerine tegsoft’u koyunca çalışmaz. Normalde windows’ta exe’yi alıyorsun
çalışıyor ama linux dünyasında binary’i kopyalayınca çalışmayabilir. Çünkü headerlarla
compile oluyor. Dolayısıyla linuxta herkezin kodunun açık olmasının felsefesi oradan geliyor
zaten. Çünkü kodu yüklüyorsun kod compile oluyor öyle çalışıyor. Koddan çalışan bir
mekanizması var. Haliyle biz herkese göre compile yapma şansımız olmadığı için biz diyoruz
ki bunun sürümü de fix olmalı. Haliyle installation sonrasında db2 buna uyumlu bir db2
oluyor. Java buna uyumlu rpm’i olmuş oluyor. Application Server buna uyumlu bir sürüm
oluyor. Yukarıya çıktıkça uyumluluk sorunumuz azalıyor.
KONTROL SONUCU
29. KISIM ARM ARCHITECTURE YAPRAK NO : 29
YAPILAN İŞ Tegsoft Mimarisi ve Odroid-C2 TARİH : 03.08.2016
Dolayısıyla katman katman mimari aslında bu işe yarıyor. Ben oturayım sıfırdan yazayım
demememizin sebebi bu. Her katman kendi görevini yapıyor aradaki software o katman ile
konuşarak alttakiyle alakası kalmamış oluyor. Örneğin Applicatin Server javayla çalıştığı
sürece derdi olmuyor. Ama aynı zamanda http ve apache server ile konuştuğu için bir bağı
oluyor ama en üstte hiçbir şekilde problem olmuyor. Şimdi haliyle Application mimarisinde
tegsoftun software’i çalışıyor. Tegsoft’un software’i de katmanlı mimaride. Bunun bir tane
db layer’i var buna tobe diyoruz. Birde ui layer’ı var biz zk kullanıyoruz. Tobe dediğimiz ana
framework’umuz. Birde applicationlarımız var. Yani burda bile katmanlı mimari
olabildiğince katmanlı mimari daha iyi sonuçlar veriyor. Şimdi tegsoft’un arayüzüne
girdiğimiz zaman 2222 portuyla bağlanıyoruz.Çünkü bu port attacklara karşı en güvenilir
port olduğu için…
Daha sonra öğle yemeğine gittik. Yemekten sonra Eray Bey yaptıklarımızı öğrendi ve
bundan sonra yapacaklarımızı söyledi. Öncelikle elimizde iki konu kalmıştı. 1.si odroid'e
centos yazılımını yükleyebilmek. 2. ise centos'ta rpm paketi oluşturmak. Eray Bey bu iki
konunun da yaklaşık 2 hafta sürebileceğini rpm paketleri oluştururken çok fazla hata
alabileceğimizi söyledi. Ve bunun için ikiye ayrılıp odroid'e biri rpm'e biri baksın diye
söyledi. Bana düşen görev rpm paketleri oluşturmaktı. Eray Bey iki haftalığına seminere
gideceğini ve bu iki projenin mutlaka bitmesi gerektiğini söyledi. Daha sonra biz çalışmalara
başladık. Araştırmalarıma göre rpm paketi oluşturabilmem için öncelikle centos redhad vs.
gibi bir işletim sistemine sahip olmam gerekiyordu. Kendi bilgisayarımda ubuntu
kullandığım için sanala centos kurup orada çalışmalarıma devam ederim diye
düşünüyordum. Şirkette kullandığımız internet çıkışlarından süperonline'da kota olması
sebebiyle ttnet olanını kullanıyorduk. Ve internet de bazen bu sebeple çok yavaş
çalışabiliyordu. Bu yüzden centos'un dvd isosunu indirmem için 3-4 saat beklemem
gerekiyordu. Ben bir yandan indirsin bir yandan da farklı bir çözüm üreteyim diye
düşünürken aklıma ubuntuda debian paketleri oluşturayım ve bunu rpm'e çevirmeyi
düşüneyim diye düşündüm. Yeterli araştırmalarımdan sonra Eray Bey'in bizden istediği
şekilde bir debian paketi oluşturdum ve alien isimli yardımcı program sayesinde bu debian
paketini rpm paketine dönüştürmeyi başardım. Kendi kendime acaba Eray Bey böyle
yapmamı istemiyor muydu diye düşündüm. Debian ile rpm'in ikisinin de mantığı aynı olduğu
için centos'un iso'su indikten sonra sanal makinede de denerim diye düşündüm. Saat epey
ilerlemişti ben bunları düşünürken Eray Bey'de şirketten ayrılıyordu.
KONTROL SONUCU
30. KISIM ARM ARCHITECTURE YAPRAK NO : 30
YAPILAN İŞ Tegsoft Mimarisi ve Odroid-C2 TARİH : 03.08.2016
Tam o sırada kendisini çağırıp yaptığım yöntemi anlattım. Centos olmadığı için rpm
oluşturmadan önce deb oluşturup onu rpm'e çevirdiğimi söyledim. Yaptığımın gayet
mantıklı olduğunu söyledi ve doğru çalıştığını test ettikten sonra bu projenin
tamamlandığını söyledi. Artık elimizde sadece odroid kalmıştı ve bende odroid bitmediği
için onun üzerinde çalışamaya tekrardan başlayabilirdim. Ayrıca Eray Bey bu projeyi
bitirdiğimiz için önümüzdeki hafta içinde bir tane yazılım projesi vereceğini söyledi. Eray
Bey gittikten sonra saat 18:00'e yaklaşıyordu. Fakat ben odroid ile uğraştığım için ve
yaptığım şey de beni eğlendirdiği için çıkış saatimizi biraz geciktirerek odroid'in sd kartına
centos imajları yazmayı denedim. Fakat gün sonunda odroid çalışmadı ve bizde o şekilde
yarına bırakıp şirketten çıktık.
(Resim 21:Tegsoft’un katman mimarisi)
KONTROL SONUCU
31. KISIM ARM ARCHITECTURE YAPRAK NO : 31
YAPILAN İŞ Odroid-C2 ve Pine64+ TARİH : 04.08.2016
Bugün yine odroid'e farklı yollar deneyerek centos yüklemeye çalışıyorduk. Arm mimarisine
göre derlenmiş ve odroid ile uyumlu bir imaj bulmak için internetin altını üstüne getirip
odroidde çalıştığını iddia ettikleri onlarca imajı sd kart'a yazdırıp çalışıp çalışmadığını
deniyorduk. Fakat hiçbir imaj odroid'i boot etmiyordu. Aslında odroid'in kendi sitesinde
ubuntu debian arch red hat gibi dağıtımların odroid için derlenmiş imajları vardı. Fakat bize
centos lazımdı ve centos için odroid'in web sitesinde hiçbir şeyden bahsedilmiyordu. Biz
yine de pes etmeden bir yolunu bulup centos yüklemeye kararlıydık. Öğle yemeğine gidip
geldikten sonra şirkete bizim için çinden sipariş edilen pine64+ adlı bir kart geldi. Odroid ile
aynı mimariye sahip olan kart'a da centos yüklememiz gerektiğini söylediler. Bizde yeni
kartın gelmesinin heyecanıyla odroid'i bir kenara bırakıp biraz pine64+ adlı cihazı tanıyalım
ona centos yüklemeye çalışalım diye düşündük. Ve araştırmalarımız sonucunda pine64+ için
derlenmiş centos imajını bulduk ve sd karta yazdık. Çok rahat bir şekilde boot etti ve centos
7 çalıştı. Günlerce odroide centos yüklemeye çalışıyorduk fakat pine64+'a geldiğinden
birkaç saat sonra centos'u yükleyebilmiştik. Yine elimizde iş olarak sadece odroid kalmıştı
ki bu odroidi bitirmeye kararlıydık. Geri kalan zamanda tekrar denemelerimize rağmen yine
çalışmadı ve mesai bitimi işten ayrıldık. Yarın yine tüm günümüzü odroid'e ayırmayı
planladık.
(Resim 22:Yeni gelen Pine64+ adlı cihaz)
KONTROL SONUCU
32. KISIM ARM ARCHITECTURE YAPRAK NO : 32
YAPILAN İŞ Odroid-C2 TARİH : 05.08.2016
Şirkette cuma günleri genelde çok yoğun olur. Bitirilmesi gereken işler, pazartesiye
bırakmadan bitirelim dediğimiz projeler derken vakit de su gibi akıp geçiyor. Bir projeyi
bitiremeyince ve üst üste günlerce aynı projeyi halletmeye çalışınca insan ister istemez bir
zaman sonra yaptığı işi sorgular hale geliyor. Bizde bugünlerde o durumu hissediyorduk.
Sadece odroid'e centos yüklememiz gerekiyordu fakat bir türlü doğru configrasyonu
sağlayıp çalıştıramıyorduk. Bende bugün çalışma temposundan kopmamak amacıyla
öğrendiğim teknolojiler hakkında birkaç blog yazısını bloguma ekledim. Bir yandan da
centos'un forumlarını okumaya devam ediyordum. Bir yerden bir ayrıntı yakalayıp sorunu
çözeriz diye umuyordum fakat hiçbir şekilde bir çözüme ulaşamıyorduk. Bir ara her şeyi
bırakıp diğer çalışanların yanına gidip neler yaptığını inceledim. Onların nasıl çalıştığını
gözlemledim. Tekrardan araştırmalara denemelere devam ettim. Gün sonuna kadar
yaptığımız uğraşlara rağmen yine de bir sonuç elde edemedik. Ve haftayı kapattık.
Bugün öğrendiğim teknolojiler hakkında yazdığım yazıları aşağıdaki adreslerden
bulabilirsiniz.
1)TCP-IP Ve Subnetting http://www.abdullahvelioglu.com/blog/2016/07/28/tcp-ip/
2) SVN Nedir? http://www.abdullahvelioglu.com/blog/2016/08/03/svn-nedir/
(Resim 23:Arm-Centos Mail listesindeki tüm mailleri okurken)
KONTROL SONUCU
33. KISIM ARM ARCHITECTURE YAPRAK NO : 33
YAPILAN İŞ Odroid-C2 TARİH : 08.08.2016
Haftanın ilk günü işe geldiğimizde bizi bekleyen küçük ama sorun çıkaran bir odroid
vardı.Bir haftadır uğraştığımız odroid ile uğraşmaya devam ediyorduk.
Yazılım projesinin bize verilmesine daha çok vardı ve elimizde odroid'ten başta
tamamlanmamış bir proje kalmamıştı. Yeni proje istiyorsak öncelikle elimizde olan projeyi
bitirmemiz gerektiğini biliyorduk. Sabah araştırmalarımıza tekrar başladık.
Bir yandan odroid'e centos yüklemeye çalışıyor diğer yandan da başka bir çözüm yolu
bulabilir miyiz diye düşünüyorduk. Ubuntunun kernel imajını taklit etmeye çalıştık.
İnternetten ubuntunun binary dosyalarının centos için olanlarını bulduk.
Hepsini birbirine karıştırarak bir şekilde centos dağıtımına benzer bir işletim sistemini
çalıştırdık. Çalıştırdık fakat centos'u özelleştirmek için ks ayarlarını değiştirmemize rağmen
bir türlü customization işlemini yapamadık. Daha sonra bu çalıştırdığımız işletim sisteminin
debian tabanlı olduğunu farkettik ve bildiğin işletim sistemini çöp haline getirdik. Artık bir
şeyler yapmamızın zamanı gelmişti her gün farklı hata alıyorduk ve ilerleme
sağlayamıyorduk. Buna bir dur dememizin zamanı gelmişti.
Tüm gün bunlarla uğraştık ve şirketten ayrıldık.
(Resim 24:Kickstart ayarlarını odroid’e göre özelleştirme anı)
KONTROL SONUCU
34. KISIM ARM ARCHITECTURE YAPRAK NO : 34
YAPILAN İŞ Odroid-C2 ve Ruby TARİH : 09.08.2016
Bugün odroid için açılmış olan bir mail listesine abone olup 2015'ten bu yana gönderilmiş
olan tüm mailleri okuyup odroid'e nasıl centos boot edilebilir diye araştırdım.
Legal olarak centos yüklenmediğini fakat farklı yollarla stabil olmayan bir centos'un
yüklenebileceğini anlatan bir mailde söylenenleri adım adım yapsam da yine istediğim
şekilde odroid'e centos yüklemeyedim. Bunun yanı sıra pine64+'a centos yüklemeyi
başarmıştık fakat onu da custom centos yaparak tegsoft'u yükleyebilmemiz gerekiyordu.
Fakat centosu özelleştirmeyi başaramamıştık. Onlarca mail okuduktan sonra her yeni bir
şey bulduğumuzda bu sefer kesin olacak dememize rağmen bir türlü istediğimiz şekilde bir
boot işlemi gerçekleştiremiyorduk. Ben tüm bunların yanı sıra günün bazı kesimlerinde
bloguma yazı yazmaya ve bir yandan da ruby ile basit programlar yazmaya başlamıştım.
Bu şekilde hem kafamı rahatlatıyor hemde aklıma yeni bir fikir gelir diye umuyorum.
Staj döneminde bu iki karttan birine tegsoft'u yükleyebilirsek büyük bir başarı elde etmiş
olacağız diye düşünüyordum. Bu yüzden yaptığımız işin önemini bilip pes etmeden
araştırmalara devam etmemiz gerektiğini de biliyoruz.
Umarım yakın bir zamanda bu kartlara yaptırmak istediklerimizi bir an önce yaptırırız.
Bugün ruby hakkında yazdığım blog yazısını aşağıdaki adresten bulabilirsiniz.
1) 20 Dakikada Ruby http://www.abdullahvelioglu.com/blog/2016/08/09/20-dakikada-ruby/
(Resim 24a:Ruby’de basit programlarla uğraştırken)
KONTROL SONUCU
35. KISIM ARM ARCHITECTURE YAPRAK NO : 35
YAPILAN İŞ Odroid-C2 ve Pine64+ TARİH : 10.08.2016
Günler çok çabuk geçiyor fakat bizim üzerinde çalıştığımız odroid ve pine64'te bir gelişme
kaydedemiyorduk. Odroid'in mail listesinde dolaşırken centos yüklemeyi başarmış biriyle
karşılaştım. Adı Uli Middelberg'ti ve kendisi arm mimarileri üzerine geliştirme yapıyordu.
Kendisiyle tanışıp bana yardımcı olması için mail attım.
İlerleyen günlerde o mail üzerinden yaşadığım problemleri çözmeyi düşünüyorum.
Mail işini hallettikten sonra pine64 üzerinde çalışmaya başladım. Öncelikle tegsoft yüklü
bir bilgisayarın root file sistemindeki tüm dosyaları kopyalamam gerekiyordu.
Bunun için şirketin malzeme odasından uygun bir hard disk buldum ve cihazı kopyalamaya
başladım. Rootfs toplam 128 gb idi ve bunu kopyalamak bayağı zaman aldı.
Bende bu sırada tekrardan ruby dilinde programlar yazmaya başladım.
Tamamen hobi amaçlı öğrenmek istediğim ruby ile staj bittikten sonra da projeler yapmayı
planlıyordum. Hem ruby'i unutmamak hemde zaman geçirmek için ruby ile küçük
programlar yazmak zorundaydım. Kopyalama bittikten sonra pine64'te çalışacağını umarak
sd kart'a yazdım. Fakat çalışmadı. Bunun üzerinde bu yöntemi de bir kenara bırakarak
tekrardan araştırmalarıma devam ettim. Mutlaka bir denememde başarılı olacağıma
inanıyorum. Bugün öğleden sonra ikinci sd kartımız geldi ve artık iki sd kartımız olduğu için
diğer stajyer arkadaş ile aynı anda denemelerimizi yapabilecektik. Bundan önce birimiz
araştırırken diğerimiz deniyor deneme bittikten sonra diğeri deniyordu. Artık 2 tane 128 gb
'lik sd kartımız olduğu için çözüme daha hızlı ulaşacağımızı düşünüyorum.
(Resim 25:Odroid C2, Pine64+ ve Bellek elemanlarımız)
KONTROL SONUCU
36. KISIM ARM ARCHITECTURE YAPRAK NO : 36
YAPILAN İŞ Pine64+ TARİH : 11.08.2016
Bugün pine64'e centosu tekrardan yükledim ve tegsoft'un rootfs'ni kopyaladım.
Çalıştırdığımda centos gibi çalışıp tegsoft'un dosyaları vardı.
Tegsoft'un çalışması için gereken script çalışmamıştı ve bizim stajın ilk başlarında tegsoft
kurmaya çalışırken kurduğumuz tegsoft gibi davranıyordu.
Bunun üzerine kernel ayarlarından birkaç config dosyalarıyla oynamayı düşündüm ve bu
şekilde istediğim kullanıcıların oluşabileceğine ve setlemelerin doğru çalışacağına karar
verdim. Fakat öncelikle var olan pine için centos dosyalarını yedeklemem ve tegsoft
rootfs'yi bir yere kaydetmem gerekiyordu. Ayrıca iki rootfs arasında boot etmeyi engelleyen
dosyaları tek tek bulup çalışmayanları ayırt etmem gerekiyordu.
Bununla uğraşmak bayağı zaman alacağından ve sonunda kesin olarak çalışacağından emin
olamamam sebebiyle her şeyi manuel yapmaya karar verdim. Bunu yapmadan önce diğer
stajyer arkadaşın söylediği bir öneriyi de yapmam gerektiğini düşündüm.
Onun teorisine göre sadece iki ayrı dizini saklayıp diğerlerini tegsoft yaparsam çalışacağı
yönündeydi. Bunun da ilk yaptığım gibi olacağını düşünüyordum.
Fakat yinede denedim. Bu şekilde yaptıktan sonra pine hiçbir şekilde boot etmedi ve
mecburen tüm dosyaları silmek zorunda kaldım ve tekrardan boot etmek için yüklemem
gerekti.
Bu yüklemeyi bitirdikten sonra manuel olarak tegsoft kurulumlarına geçmeme fırsat
kalmadan günü tamamlamıştık. İşi yarına bırakıp şirketten çıktım.
(Resim 26:Pine64+ için çalışan boot dosyaları)
KONTROL SONUCU
37. KISIM ARM ARCHITECTURE YAPRAK NO : 37
YAPILAN İŞ Odroid-C2 ve Pine64+ TARİH : 12.08.2016
Bugün pine64'e yüklediğimiz centos ile uğraşırken bir yandan da odroid için attığım maile
cevap bekliyorduk.
(Resim 27:Odroid C2’e Centos yüklemek için Uli Middelberg’e attığım mail)
Öğle saatine doğru bir dönüş aldım.Mail'de bana birkaç gün içinde sizin için bir yükleme
dosyası oluşturacağım dedi o vakite kadar yine yüklemeye devam edin dedi.
(Resim 28:Odroid C2’e Centos yüklemek için Uli Middelberg’ten gelen yanıt)
Şans eseri onun mailinden sonra uğraşmalarımızda odroid'e centos yüklemeyi başarmıştık.
Artık her şey tamam gibi görünüyordu. Tek eksik bu cihazları tegsoft'a uyumlu hale
getirmekti. Bizde bunun için uğraşıyorduk. Tüm rpm'lerin arm64 mimarisine göre
derlenmesi gerekiyordu. Öncelikle bilgisayardaki default programların arm'a göre
derlenmiş olanlarını yüklemekle başladık. Gün sonunda tegsoft'un rpm'lerinin nasıl
yükleneceğini bilmiyorduk ve bunun için eray beyin gelmesi gerekiyordu. Eray bey çarşamba
günü dönecekti. Bu arada yazılım projesi de hala bize verilmediği için yarın için yapacak bir
işimiz yok gibiydi.
Bitirmemiz gereken bir şey kalmamıştı fakat db2'yu pine ve odroid'e yüklememiz
gerekiyordu.Günü araştırmalarla bitirdik ve gün sonunda şirketten ayrıldık.
KONTROL SONUCU
38. KISIM ARM ARCHITECTURE YAPRAK NO : 38
YAPILAN İŞ Odroid-C2 ve Pine64+ TARİH : 15.08.2016
Haftanın ilk günü proje olarak elimizdeki tüm projeler bitmiş tek yapmamız gereken
db2'nun uyumluluğunu kontrol edip pine64+ ve odroid'e yüklemeye çalışmaktı.
Db2'ya geçmeden önce pine ve odroid'in boot ekranlarını özelleştirelim dedik ve odroid
açılırken tegsoft logosunu çıkarmayı başardık. Pine için ise logo çıkaramadık fakat açılışta
tegsoft 2016 hoşgeldiniz yazısı çıkıyordu. Tegsoft'u yükleyemesekte tegsoft gibi açılmasını
sağlamıştık. Daha sonra arm odroid için mail attığım kişi bana eksiklikleri tamamladığını
tekrar boot etmemiz gerektiğini söyledi.
(Resim 29: Uli Middelberg’ten gelen ikinci mail.)
Bizde adamın güncellediği paketlere bakarak tekrar kurmayı denemesek de mantığını
anlamaya çalıştık. Güncellediği dosyaları ekliyorum.
(Resim 30: Uli Middelberg’in güncellediği dosyalar [1])
(Resim 31: Uli Middelberg’in güncellediği dosyalar [2])
KONTROL SONUCU
39. KISIM ARM ARCHITECTURE YAPRAK NO : 39
YAPILAN İŞ Odroid-C2 ve Pine64+ TARİH : 15.08.2016
(Resim 32: Uli Middelberg’in güncellediği dosyalar [3])
Adamın yaptığını denemedik çünkü biz daha farklı bir yolla odroid'e centos yüklemeyi
başarmıştık. Daha sonra bazı rpm'leri arm mimarisine göre derlemeyi denedik internetten
arm'a göre derlenmiş rpm paketleri bulduk onları çalıştırdık.
Fakat tegsoft'un tüm rpm'lerinin aarch64'a göre derlenmesi gerektiğini öğrendik.
Bunun için Eray Beyin gelip kontrol etmesi gerekiyordu. Bizde bunu bir kenara koyup db2 ile
araştırmalarımıza devam ettik ve gün sonunda şirketten ayrıldık.
KONTROL SONUCU
40. KISIM ARM ARCHITECTURE YAPRAK NO : 40
YAPILAN İŞ Odroid-C2 ve Pine64+ TARİH : 16.08.2016
Normalde Eray Bey çarşamba günü dönecekti fakat sürpriz bir şekilde bugün geldi ve bize
neler yaptığımızı sordu. Yaptıklarımızı yüzeysel bir şekilde anlatınca işi bitirmişsiniz yarın
öğleden sonra yaptıklarınız hakkınızda konuşalım diyerek bir toplantı ayarladı. Daha sonra
biz tekrar çalışmaya döndük. Yarın toplantı olacağı için; bugüne kadar pine64'e yüklediğim
centos+tegsoft'un ayarlarıyla çok oynamıştım.Bu yüzden tekrardan diski silerek sıfırdan
kurulum yaptım. Aynı şekilde odroid'i de sıfırladık ve tekrardan yükledik. Daha sonra arm
mimarisine göre rpm nasıl derlenir sorusunun cevabını araştırdım. İlerleyen saatlerde javayı
source koddan odroid ve pine'a nasıl derlenir'i araştırdım. Db2'nun arm mimarisine nasıl
uyumlu olacağını öğrenmek için ibm'in bu konuyla ilgilenen departmanına mail gönderdim.
Gün sonunda yarın ki planımızı yapıp şirketten ayrıldım.
(Resim 33: Pine64+ Centos Filesystem ve Boot[1])
KONTROL SONUCU
41. KISIM ARM ARCHITECTURE YAPRAK NO : 41
YAPILAN İŞ Odroid-C2 ve Pine64+ TARİH : 16.08.2016
(Resim 34: Pine64+ Centos Filesystem ve Boot[2])
(Resim 35: Pine64+ Centos Filesystem ve Boot[3])
KONTROL SONUCU
42. KISIM ARM ARCHITECTURE YAPRAK NO : 42
YAPILAN İŞ Odroid-C2,Pine64+ ve Toplantı TARİH : 17.08.2016
Bugün Eray Bey bizimle öğleden sonra toplantı yapacaktı. Sabah işe geldikten sonra bizde
bugüne kadar yaptıklarımızı anlatabilecek kadar gözden geçirdik.
Kurulumları tekrardan yaptık. Eksik kalan bir yer olmasın diye tekrar tekrar kurulum
scriptlerini koştuk. Öğle yemeğinden sonra Eray Bey geldi ve bizde yaptıklarımızı anlattık.
Odroid ve Centos'a yaptığımız her şeyin dökümantasyonunu istedi ve ayrıca yeni proje de
verdi. Yeni proje tegsoft'un şubelerini map üzerinde listeleyen özelliklerine göre
konumlayan satış miktarı fazla olanların rütbesini değiştiren bir web projesi'ydi. Diğer
stajyerler web ile uğraşmayı sevmediklerinden network ile ilgili başka proje istediler. Bu
noktada diğer stajyerlerle ayrı çalışmaya başladım. Web projesini erkenden bitirmeyi
planlıyordum. Bana ilk başta istediğin dille yapabilirsin denildi fakat daha sonra php ile
yapman gerekiyor dendi. Benimde php bilgim olmaması nedeniyle ilk başta önyargılı olsam
da veritabanı işlemlerini php ile yapar geri kalanını javascriptle hallederim diye düşündüm
ve çalışmaya başladım. İlk başta php ile google map api'sini nasıl kullanırım diye
araştırdım. Bunun için çeşitli yollar vardı fakat php bana hep zorluk çıkaracağını
düşündüğüm için map işlemleri için mapbox adlı harita sağlayıcısını buldum. Buradan
kendime özel haritalar oluşturabilir ve bu harita üzerinde işlemler yapabilirdim. Bunlarla
uğraşırken mesai saatim bitti ve yarın devam edeceğim diyerek şirketten ayrıldım.
(Resim 36: Yeni projenin mimarisi ve özellikleri)
KONTROL SONUCU
43. KISIM WEB DEVELOPMENT PROJECTS YAPRAK NO : 43
YAPILAN İŞ Tegsoft Şube Etkileşimli Harita Projesi TARİH : 18.08.2016
Bugün şirkete geldiğimde stajın 26. Gününde ilk defa yazılım projesi almış olmanın sevincini
yaşıyordum. Projeye ilk önce harita ve pinleme işlemlerinden başlayayım diye düşündüm.
Bana php ile yap demelerine ragmen projeyi php ile yapmak istemiyordum. Javascriptle ön
tarafı halledip arka tarafta sadece json çeken bir php script’i kullanabilirdim. Öncelikle
mapbox üzerinden gözüme hoş gelen bir haritayı kendime göre özelleştirdim.
Daha sonra mapbox api’sini kullanarak harita üzerinde pinleme işlemini hallettim. Göze
güzel görünmesi açısından grid tekniği kullanarak arayüzün css’ini kodladım. Tüm bunları
yaparken zamanın nasıl geçtiğini anlamadım. Ve diğer özellikleri eklemek için yarına
bıraktım.
(Resim 37: Projenin başladığım ve yazdığım kısımları [1] Tüm dosyalar)
KONTROL SONUCU
44. KISIM WEB DEVELOPMENT PROJECTS YAPRAK NO : 44
YAPILAN İŞ Tegsoft Şube Etkileşimli Harita Projesi TARİH : 18.08.2016
(Resim 38: Projenin başladığım ve yazdığım kısımları [2] index.html)
(Resim 39: Projenin başladığım ve yazdığım kısımları [3] index.js 1. kısım)
KONTROL SONUCU
45. KISIM WEB DEVELOPMENT PROJECTS YAPRAK NO : 45
YAPILAN İŞ Tegsoft Şube Etkileşimli Harita Projesi TARİH : 18.08.2016
(Resim 40: Projenin başladığım ve yazdığım kısımları [4] index.js 2. kısım)
KONTROL SONUCU
46. KISIM WEB DEVELOPMENT PROJECTS YAPRAK NO : 46
YAPILAN İŞ Tegsoft Şube Etkileşimli Harita Projesi TARİH : 18.08.2016
(Resim 41: Projenin başladığım ve yazdığım kısımları [5] style.css)
KONTROL SONUCU
47. KISIM WEB DEVELOPMENT PROJECTS YAPRAK NO : 47
YAPILAN İŞ Tegsoft Şube Etkileşimli Harita Projesi TARİH : 19.08.2016
Bugün, dün baktığım mapbox’ın API ile beni uğraştıracak çoğu şeyi halletmiştim. Tam her
şey çok güzel projeyi tamamladım derken Eray Bey neler yaptığımıza bakarken benim
projedeki haritanın google maps olmasını istedi. Ve bende bugüne kadar mapbox ile
yaptığım her şeyi silip bu işlemleri google-maps’te nasıl yaparım diye araştırmaya
başladım. Nitekim google-maps’in API’si hakkında yazılmış onlarca dökümantasyon
olmasına rağmen ilk başta nereden başlayacağımı bilemedim ve developer.google’ın
yayınlamış olduğu Google Maps API kullanım kursuna başlayıp öğrenmeye çalıştım.
(Resim 42: Google-Maps API için google’ın hazırladığı ücretsiz eğitim serisi)
Biraz okuduktan sonra sadece javascript fonksiyonlarını değiştirerek işe başlayabileceğimi
düşündüm ve google-map için fonksiyonları değiştirdim. Ayrıca ek olarak listeleme için de
ek bir fonksiyon yazmam gerekti. Önceden Mapbox’ta bunun için hazır bir fonksiyon vardı
fakat google-maps’te bunun için bir kayıt bulamadım. Büyük ihtimal vardır fakat şimdilik
geçici olarak bir fonksiyon ile bunu halledebildim. Daha sonra google-maps’in farklı bir sürü
özellikleri olduğunu bunları da öğrenip projeye uygulayabileceğimi farkettim. Ve
çalışmalara başladım. Gün boyunca bu API’yi anlamak daha rahat kullanabilmek için çaba
sarfettim ve haftayı projenin aşağıda gösterdiğim kısımlarını güncelleyerek kalan işleri
pazartesiye bırakmak üzere şirketten ayrıldım.
KONTROL SONUCU
48. KISIM WEB DEVELOPMENT PROJECTS YAPRAK NO : 48
YAPILAN İŞ Tegsoft Şube Etkileşimli Harita Projesi TARİH : 19.08.2016
(Resim 43: Güncellenen fonksiyonlar [1])
(Resim 44: Güncellenen fonksiyonlar [2])
KONTROL SONUCU
49. KISIM WEB DEVELOPMENT PROJECTS YAPRAK NO : 49
YAPILAN İŞ Tegsoft Şube Etkileşimli Harita Projesi TARİH : 19.08.2016
(Resim 45: Projenin bugünki hali)
KONTROL SONUCU
50. KISIM WEB DEVELOPMENT PROJECTS YAPRAK NO : 50
YAPILAN İŞ Tegsoft Şube Etkileşimli Harita Projesi TARİH : 22.08.2016
Haftanın ilk günü Cuma gününden kalan projeme devam etmek için sabah erkenden işe
koyuldum. Bugün kafamda neler yapacağımı kurgulamıştım. Öncelikle parallax effect ile
tegsoft logosunu arkaya gömmeliydim. Bunu şimdi yapmasam projenin sonlarına doğru hem
beni uğraştıracak hem de yapım aşamasındayken projeye bakınca tegsoft’a ait olduğu
hissiyatını vermesi gerekiyordu. Nitekim daha önce parallax effect’i başka projemde
kullandığım için beni fazla da zorlamadı. Ayrıca şube listelerini de Animate.css ile
ışıklandırmam gerekiyordu. Bunun için sade ve buton olduğu anlaşılmayacak bir şekilde
görünmesi için verilecek ışık için animate.css fonksiyonalarını özelleştirerek projeye
entegre etmiştim. Projemde bir de haritadaki marker’ların tıklayınca orada olduğunu belirtir
şekilde yanıp sönmesi gerekiyordu. Daha önceden haritada üzerine gelince DROP
fonksiyonuyla yukardan aşağı düşecek şekilde ayarlamıştım. Bu özelliği değiştirmeden
şubelere tıklayınca yanıp sönmesi için de fonksiyona sadece BOUNCE fonksiyonunu
ekleyerek hallettim. Ve projemin eksik olan search özelliği için araştırmaya başladım. Günü
bu şekilde tamamlayarak yarın search’ı bitiririm düşüncesiyle şirketten ayrıldım.
Resim 46: Button ışıklandırması)
KONTROL SONUCU
51. KISIM WEB DEVELOPMENT PROJECTS YAPRAK NO : 51
YAPILAN İŞ Tegsoft Şube Etkileşimli Harita Projesi TARİH : 22.08.2016
Resim 47: Tegsoft Parallax Effecti)
Resim 48: Projenin şimdiki hali[Sağ alttaki alan search için ayrıldı])
KONTROL SONUCU
52. KISIM WEB DEVELOPMENT PROJECTS YAPRAK NO : 52
YAPILAN İŞ Tegsoft Şube Etkileşimli Harita Projesi TARİH : 23.08.2016
Bugün projenin search kısmını geliştirecektim. Bunun için öncelikle nasıl yapacağımı
öğrenmek için google maps’in API’sinde bunun için yazılmış dökümantasyonları okudum.
API fonksiyonlarını nasıl entegre ederim diye düşünmeye başladım. Öncelikle markerlar
üzerinde değişiklik yapabilmek için gereken fonksiyonların nasıl çalıştığını öğrendim. Daha
sonra bu değişiklikleri seçilen selectbox ile nasıl değiştirebileceğimi düşündüm. Ve ortaya
basit bir search özelliği yapan bir özellik çıktı. Veritabanından çekeceğim bilgilerden bölge
isimlerini parametre olarak alarak fonksiyonu tamamlamıştım. Gün sonunda artık istediğim
şekilde search özelliği çalışıyordu. Ertesi gün için projeme neler ekleyebilirim diye
düşündüm ve gün sonunda şirketten ayrıldım.
(Resim 49:Filtre fonksiyonu)
KONTROL SONUCU
53. KISIM WEB DEVELOPMENT PROJECTS YAPRAK NO : 53
YAPILAN İŞ Tegsoft Şube Etkileşimli Harita Projesi TARİH : 23.08.2016
(Resim 50:Search fonksiyonu)
(Resim 51:Searh özelliği screen)
KONTROL SONUCU
54. KISIM WEB DEVELOPMENT PROJECTS YAPRAK NO : 54
YAPILAN İŞ Tegsoft Şube Etkileşimli Harita Projesi TARİH : 24.08.2016
Dün tamamladığım arama kısmından sonra bugün verilerin database’den çekerken ki
listesini son kullanıcının rahat bir şekilde bulamaması için bir yöntem bulmam gerekiyordu.
Bunun için yapılacak bir sürü yol olabilirdi fakat benim için en pratik ve tahmin edilmesi zor
olan bir yöntemle bunu başarmak önemliydi. Bunun için yaptığım birkaç araştırmadan sonra
en iyi yöntemin Tabletop.js adlı kütüphaneyi kullanmak olduğuna karar verdim. Bu
kütüphanenin yaptığı şey herhangi bir dosyayı (örneğin .csv) drive linkinin id’sini parametre
alarak sana json gibi veri katmanları elde etmeni sağlaması. Bu sayede database’den
çektiğimiz bilgileri drive’da saklayarak saldırgan kişilikli insanların harita üzerinde görünen
şubeleri kolay bir şekilde liste halinde ele geçirmesini önleyecekti. Eray Bey benden tam
olarak bunu istemişti. Brute-force ile tüm şubelerin listesi çıkarılabilir yada basit bir script
yardımıyla da elde edilebilir. Fakat Eray Bey bana bu listeyi bunları yapmadan
alamayacakları şekilde olmasını istemişti. Bugün bu kısmı bitirdikten sonra projeye
bulunduğun konumu bulacak şekilde bir özellik daha eklememi istediler. Bende yarın
bununla uğraşırım diye düşünerek şirketten ayrıldım.
(Resim 52:Tabletop.js kullanımı)
KONTROL SONUCU
55. KISIM WEB DEVELOPMENT PROJECTS YAPRAK NO : 55
YAPILAN İŞ Tegsoft Şube Etkileşimli Harita Projesi TARİH : 25.08.2016
Bugün projeye yeni bir özellik yazmam gerekiyordu. Özellik, bulunduğum yere en yakın
şubeyi tek tıkla bulmaktı. Aslında bu benim için çok basit bir şeydi. Çünkü bunu birkaç sene
önce yapmıştım. Tekrar hatırlamak ve şuanki projeye entegre etmek için birkaç denemeler
yaptım. Daha sonra bir butona basarak çalışan fonksiyon şeklinde yapmaya karar verdim ve
fonksiyonu aşağıdaki gibi yazdım.
(Resim 53:Geolocation fonksiyonu)
Fakat fonksiyon doğru çalışmasına rağmen bir sıkıntı vardı. Kullandığım işletim
sistemindeki hiçbir browser’da çalışmıyordu. Hepsinde error the geolocation service failed
hatası alıyordum. Ve bunun benim fonksiyondan kaynaklandığını düşünüyordum. Bu
sebeble fonksiyon üzerinde onlarca deneme yaptım.Fakat bir türlü çalışmıyordu ve bende
fonksiyonun hatalı olduğunu düşünmeye başlamıştım. Bu arada Ünal Bey bize bir sıkıntınız
var mı diye bakmaya geldiğinde yaşadığım sıkıntıdan bahsettim ve kendisinden yardımcı
olmasını istedim. Ünal Bey sorunun bilgisayar kaynaklı olabileceğini söyledi ve kendi
bilgisayarından denedi. Ve fonksiyonun sorunsuz çalıştığını o sırada öğrenmiş oldum.
KONTROL SONUCU
56. KISIM WEB DEVELOPMENT PROJECTS YAPRAK NO : 56
YAPILAN İŞ Tegsoft Şube Etkileşimli Harita Projesi TARİH : 25.08.2016
Fakat kendi browserlarımda neden hata alıyordum onu öğrenmem gerekiyordu. Çünkü
benim düşünceme göre bu problem benim bilgisayar kaynaklı olamazdı. Nitekim farklı bir
ubuntu bilgisayarda da çalıştırdığımızda fonksiyon yine hata verdi. Ama windows
bilgisayarlarda bir sıkıntı yoktu. Ünal Bey bu programı kullanacak insanların çoğu windows
işletim sistemi kullanıyor olacak bu yüzden bizim için bir sıkıntı olmayacaktır dedi. Ve
bende bu şekilde bıraktım. Kendi kendime yarın eğer vakit bulursam bunun sebebini
araştıracağımı söyledim ve akşam şirketten ayrıldım.
(Resim 54:En yakın şube ekran görüntüsü [hata aldığım])
KONTROL SONUCU
57. KISIM WEB DEVELOPMENT PROJECTS YAPRAK NO : 57
YAPILAN İŞ Tegsoft Şube Etkileşimli Harita Projesi TARİH : 25.08.2016
(Resim 55:En yakın şube ekran görüntüsü [windows’ta çalışırken])
KONTROL SONUCU
58. KISIM WEB DEVELOPMENT PROJECTS YAPRAK NO : 58
YAPILAN İŞ Tegsoft Şube Etkileşimli Harita Projesi TARİH : 26.08.2016
Dün tüm bunları tamamladıktan sonra artık database işlemlerine geçebilirim diye
düşündüm. Ve arkada nasıl bir mimari olması gerektiğine karar vermem gerekiyordu.
Ben bu aşamaya gelmeden önce kafamda arka taraf için yapılması gereken bir kaç şeyi
kurgulamıştım. Ve kurguladığım mimari için tabletop.js kütüphanesini kullanmıştım.
Tabletop googledrive üzerindeki bir csv yada json dosyasını unique id ile alarak parse
edebiliyordu. Database'den istediğim şekilde export alabilirsem database'den direkt bunu
drive'a yükleyip aynı dosya olacağı için aynı id ile çekebileceğimi düşünüyordum.
Nitekim tabletop.js kütüphanesi bunu desteklemiyordu. Alternatif arayışına girmiştim.
Fakat şirketin kullandığı veritabanı yönetim sistemi DB2 olduğu için DB2'da da csv export
etmek hiç kolay olmayacak gibi görünüyordu. Ve bu konuda da daha önce uyarılmıştım.
Yapmam gereken şeyin tegsoft'un içinde script olarak sürekli çalışacak bir java kodu
yazmam ve bu java kodunun veritabanından istediğim kolonları çekip bir dosya halinde
herhangi bir yere export edebilmesi gerekiyordu.
Ben tüm bunlarla uğraşırken bir de üstüne front-end tarafında dün bazı browserlarda hata
aldığım fonksiyonun aslında mantık hatası barındırdığını keşfettim ve bunun için mecburen
fonksiyonu yeniden yazmaya başlamam gerekiyordu. Nitekim haftanın son günü olması
dolayısıyla vakit çok çabuk geçti ve fonksiyonu karmakarışık bir hale getirdikten sonra
düzeltmeye vakit bulamadım ve şirketten ayrıldım.
KONTROL SONUCU
59. KISIM WEB DEVELOPMENT PROJECTS YAPRAK NO : 59
YAPILAN İŞ Tegsoft Şube Etkileşimli Harita Projesi TARİH : 29.08.2016
Cuma günü yaptığım mantık hatalarını keşfettikten sonra projedeki fonksiyonları baştan
yazma ihtiyacı hissetmiştim.
Bu arada haftasonu Pythonİstanbul'un etkinliğine gidip bir dizi insanlarla tanışıp yaptığım
projeden bahsedip ufak trickler almayı da ihmal etmedim.
Ve o etkinlik sayesinde yaptığım şeylerden biraz daha emin olarak ve daha az hatalı şekilde
kod yazmaya başlamıştım. Yaptığım ufak hataları öğrenmem bunu bir daha yapmayacağım
anlamına geliyordu. Çünkü orada bir bilen tarafından (senyor developer'da deniyor)
projenin incelenmesi ve yanlışlarının söylenmesi benim açımdan çok geliştirici bir şeydi.
Pythonİstanbula'a iyi ki gitmişim dedim.
Tüm bunların ardından projeyi günceleyip hemen hemen bitecek konuma getirmiştim.
Ve yarın tatil olacağı için bugün ki yaptıklarımı yarım bırakmayacağım bir yerde bırakıp
çarşamba günü geldiğimde üzerine yeni bir şeyler ekleyebilmek adına proje üzerinde
uğraşmayı bıraktım. Günün kalan zamanlarında docker hakkında dökümantasyon okuyarak
merak ettiğim docker teknolojisini öğrenme fırsatım oldu. Gün sonunda şirketten ayrıldık.
(Resim 56:Projeyi güncelledikten sonraki front-end kısmı)
KONTROL SONUCU
60. KISIM WEB DEVELOPMENT PROJECTS YAPRAK NO : 60
YAPILAN İŞ Tegsoft Şube Etkileşimli Harita Projesi TARİH : 31.08.2016
Bugün projenin eksik kalan kısımlarını tamamladım. Markerların image configrationlarını
özelleştirdim. Ve Eray Bey’in kontrol etmesi için beta sürümünü kendi alan adım altında
yayınladım. Bu adımdan sonra artık database işlemlerine başlamam gerekiyordu. Nasıl
yapacağım konusunda Eray Bey ile ufak bir toplantı yaptık. Ve sonuçta veritabanından proje
için gerekli olan kolonları çekip bir json oluşturan java programını yazıp bu programın
tegsoft’un içinde otomatik olarak çalışan bir script olmasını sağlamam gerekiyordu. Bu
konuda bana yardımcı olması için Tegsoft’un database’i hakkında bilgisi olan mühendisi
Sümeyra Hanımla birlikte çalışmaya başladım. Öncelikle hangi bilgilerin hangi kolonlarda
tutulduğunu öğrenmemiz gerekiyordu. Bunun için bir liste çıkardık ve ayrıca yapmamız
gereken işleri de listeledik. Gün sonunda datasetleri yazmamız için gereken zaman
kalmamıştı ve yarın birlikte projeye tekrar bakmak için sözleşip şirketten ayrıldık.
(Resim 57:Database’den çekeceğimiz kısımlar ve
java’da yazacağımız programın işlevleri)
KONTROL SONUCU
61. KISIM WEB DEVELOPMENT PROJECTS YAPRAK NO : 61
YAPILAN İŞ Tegsoft Şube Etkileşimli Harita Projesi TARİH : 01.09.2016
Bugün plana göre datasetleri yazacaktık fakat database erişimim yoktu ve database için
Sümeyra Hanım'a ihtiyacım vardı.
Gün boyunca dataset yazmak için uygun bir an kovaladım fakat yoğunluk bugün çok fazla
olduğu için uygun bir vakit bulamadık.
Bende dünkü docker makalelerini okumaya devam ettim.
Okuduklarımdan derleyerek bir blog yazısı oluşturdum.
Database erişimim olmadığı sürece ham veriyi elde edemeyecektim ve bunun dışında da
projeyle ilgili yapacak bir şeyim kalmamıştı.
O yüzden farklı teknolojileri öğrenmek için araştırmalar yapmaya devam ettim.
Üzerinde uğraştığım projeyi github'a pushladım. Zaman geçirmek maksadıyla farklı farklı
projelerin nasıl yazıldığını öğrenmek için kodlarını okudum.
Diğer stajyerlerin projelerine göz attım. Vaktim olduğu için onların çalışmalarında ufak
hizmetler sundum.
Gün sonunda Sümeyra Hanımla tekrar yarın için sözleşerek şirketten ayrıldım.
KONTROL SONUCU
62. KISIM WEB DEVELOPMENT PROJECTS YAPRAK NO : 62
YAPILAN İŞ Tegsoft Şube Etkileşimli Harita Projesi TARİH : 02.09.2016
Bugün dün yoğunluktan dolayı yapamadığım database programlamasını yapacaktım fakat
bugün de Sümeyra Hanım izinli olduğu için bu proje ile bir ilerleme kat edemedim.
Bende önceki gün araştırdığım docker mimarisi ile ilgili birkaç deneme yaptım ve kendimi
bu alanda nasıl daha fazla geliştirebilirim diye araştırmalar yaptım.
Docker'ı kendi ihtiyaçlarım doğrultusunda nasıl kullanabilirim sorusunun cevabını
aramaktı aslında yapmak istediğim. Docker ile ilgili çok iyi kaynaklara ulaştım ve onları
inceleyip okudum. Daha sonra öğrendiklerimi pekiştirebilmek için diğer stajyer arkadaşlara
docker'ın ne olduğunu anlatmaya çalıştım. Her ne kadar anlatması zor olsa da kendi
cümlelerimle anlatmak benim de docker'ı daha iyi anlamama yardımcı oluyordu.
Hobi olarak araştırmaya başladığım bu teknoloji bana yeni fikirler katıyordu.
Docker'ın kuruluş hikayesini kurucusunun anlattığı videoları izledim.
Günü docker araştırmalarıyla bitirip haftayı kapattım.
Ve pazartesi database’i projeme entegre ederim düşüncesiyle şirketten ayrıldım.
(Resim 58:Docker ile ilgili yazım)
KONTROL SONUCU
63. KISIM WEB DEVELOPMENT PROJECTS YAPRAK NO : 63
YAPILAN İŞ Tegsoft Şube Etkileşimli Harita Projesi TARİH : 05.09.2016
Artık stajın son haftasına girmiştik. Ve elimdeki projeyi bitirdikten sonra stajı da bitirmiş
olacaktım. Bugün Sümeyra Hanım'la birlikte database işine başladık. Java da dataset
oluşturup bunu json'a çeviren bir program yapacaktık. Daha sonra ben bu jsonları projede
işleyerek markerları oluşturacaktım. Bugünü tamamen database ile uğraşarak geçirdim. Ve
projenin büyük bir kısmı tamamlanmıştı. Bundan sonra yapacaklarımla beraber proje yavaş
yavaş production'a hazır hale geliyordu. Ayrıca şirkette son günlerimiz olduğu için
elimizdeki iş sayısı azalıyor ve eskisi kadar farklı konularla ilgilenemiyorduk. Zaten
uğraştığım proje sayesinde zamanın nasıl geçtiğinin farkına bile varamıyor günü
tamamlıyordum. Nitekim bugün de çok hızlı geçti ve şirketten ayrıldık.
Bugün database’den çekmek için gereken sorguları aşağıdaki gibi hazırladık.
(Resim 59:İlk Sorgu)
(Resim 60:İkinci Sorgu)
(Resim 61:Birinci ile ikinci sorguların birleştirilmiş hali)
(Resim 62:Üçüncü Sorgu)
KONTROL SONUCU
64. KISIM WEB DEVELOPMENT PROJECTS YAPRAK NO : 64
YAPILAN İŞ Tegsoft Şube Etkileşimli Harita Projesi TARİH : 06.09.2016
Bugün stajın resmi olarak sondan bir önceki günü. Ve bugün projede sona geldik
sayılır.Database'e sorguları gönderip istediğimiz field'ları elde ettik.Daha sonra Jsonları
database'den çektik ve bende bu json'a göre projemi özelleştirdim. Tüm filtre
fonksiyonlarını tekrar elden geçirdim. Sql sorgularını yazmak bayağı bir zamanımızı almıştı.
Günün yarısında database'den istediğimiz sorguyu elde edebilmek için uğraştık. Günün geri
kalanında da filtreyi halledip projeyi artık bitirmek için yarına bıraktım. Gün içerisinde json
fieldlarını güncelledim. Şubeleri skorlarına göre yıldızlayan css’i yazdım. Daha sonra bunu
markerların infowindow’una ekledim.Aşağıdaki gibi json formatı üzerinde işlemler yaptım.
Ve günü tamamlayıp şirketten ayrıldım.
(Resim 63:Database’den gelen json)
KONTROL SONUCU
65. KISIM WEB DEVELOPMENT PROJECTS YAPRAK NO : 65
YAPILAN İŞ Tegsoft Şube Etkileşimli Harita Projesi TARİH : 07.09.2016
Bugün projede Eray Bey birkaç ufak eklemeler istedi.
Oranlama için barlar ve star ratio mekanizmalarını yaptım.
Daha sonra score'un oranına göre değişsen nav-bar'ı tasarladım.
Tüm bunları yaptıktan sonra günümün büyük bir kısmını ders kayıtlarına ayırdım.
Sistemin hatası yüzünden çalışma yerimde bununla uğraşmak zorunda kaldım.
Ve oturup sistemde gün boyunca almak istediğim dersin kaydını yapabilmek ile
uğraştım.Ayrıca ikinci öğretim olduğum için harç ücretini yatırabilmek için şirketten ayrılıp
bankaya gittim. Gün sonuna kadar ders kayıtlarının sorunlarıyla uğraşıp şirketten ayrıldım.
KONTROL SONUCU
66. KISIM WEB DEVELOPMENT PROJECTS YAPRAK NO : 66
YAPILAN İŞ Tegsoft Şube Etkileşimli Harita Projesi TARİH : 08.09.2016
Bugün artık son gün. Stajı başarıyla bitirdiğimiz için vedalaşma gerçekleştirdik. Bugün
elimizde herhangi bir proje olmadığı için diğer mühendislerle zaman geçirip son günümüzü
değerlendirdik.Son projeyi artık bitirmiş teslim etmiştim.Artık iki aylık serüvenin sonuna
gelmiştim.Tüm çalışanlara yaptıkları her şey için teşekkür edip Trabzona dönmek için
şirketten bu sefer temelli olarak ayrıldım.
KONTROL SONUCU