SlideShare a Scribd company logo
1 of 67
Download to read offline
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
intern_notebook

More Related Content

Similar to intern_notebook

Etohum GirişImcilik Kampı 17 Ekim 2009
Etohum GirişImcilik Kampı 17 Ekim 2009Etohum GirişImcilik Kampı 17 Ekim 2009
Etohum GirişImcilik Kampı 17 Ekim 2009Burak Büyükdemir
 
Etohum Girisimcilik Kampi 17 Ekim 2009
Etohum Girisimcilik Kampi 17 Ekim 2009Etohum Girisimcilik Kampi 17 Ekim 2009
Etohum Girisimcilik Kampi 17 Ekim 2009Burak Büyükdemir
 
Wordpress nedir
Wordpress nedirWordpress nedir
Wordpress nedirbhr2010
 
Az ve Öz C++ Muhammet ÇAĞATAY
Az ve Öz C++  Muhammet ÇAĞATAYAz ve Öz C++  Muhammet ÇAĞATAY
Az ve Öz C++ Muhammet ÇAĞATAYMuhammet ÇAĞATAY
 
WM Dergi - 4.SAYI
WM Dergi - 4.SAYIWM Dergi - 4.SAYI
WM Dergi - 4.SAYIWM Dergi
 
TinkData RPA Presentation
TinkData RPA PresentationTinkData RPA Presentation
TinkData RPA Presentationbettle bettle
 
SOC Kurulumu ve Yönetimi İçin Açık Kaynak Kodlu Çözümler
SOC Kurulumu ve Yönetimi İçin Açık Kaynak Kodlu ÇözümlerSOC Kurulumu ve Yönetimi İçin Açık Kaynak Kodlu Çözümler
SOC Kurulumu ve Yönetimi İçin Açık Kaynak Kodlu ÇözümlerBGA Cyber Security
 
Endüstriyel Yapay Zeka ve Otonom Sistemler
Endüstriyel Yapay Zeka ve Otonom SistemlerEndüstriyel Yapay Zeka ve Otonom Sistemler
Endüstriyel Yapay Zeka ve Otonom SistemlerCihan Özhan
 
GDO'suz Yazılım Geliştirme Teknikleri
GDO'suz Yazılım Geliştirme TeknikleriGDO'suz Yazılım Geliştirme Teknikleri
GDO'suz Yazılım Geliştirme TeknikleriLemi Orhan Ergin
 
Developer Tools
Developer ToolsDeveloper Tools
Developer ToolsBurak Erol
 
İş Ortamlarına Saldırı Tespit Sisteminin Kurulması
İş Ortamlarına Saldırı Tespit Sisteminin Kurulmasıİş Ortamlarına Saldırı Tespit Sisteminin Kurulması
İş Ortamlarına Saldırı Tespit Sisteminin Kurulmasıİbrahim UÇAR
 
WM Dergi - 7.SAYI
WM Dergi - 7.SAYIWM Dergi - 7.SAYI
WM Dergi - 7.SAYIWM Dergi
 
E-ticarette Yazılım ve Altyapı
E-ticarette Yazılım ve AltyapıE-ticarette Yazılım ve Altyapı
E-ticarette Yazılım ve AltyapıMurat Kader
 
Devfest istanbul'14 - Web Application Attacks and Trusting Frameworks
Devfest istanbul'14  - Web Application Attacks and Trusting FrameworksDevfest istanbul'14  - Web Application Attacks and Trusting Frameworks
Devfest istanbul'14 - Web Application Attacks and Trusting FrameworksMehmet Ince
 
Eticaret kursu-esenyurt
Eticaret kursu-esenyurtEticaret kursu-esenyurt
Eticaret kursu-esenyurtsersld38
 
Hosting Dergi - 6.SAYI
Hosting Dergi - 6.SAYIHosting Dergi - 6.SAYI
Hosting Dergi - 6.SAYIHosting Dergi
 
KocSistem | E-Bulten Ocak 2017
KocSistem | E-Bulten Ocak 2017KocSistem | E-Bulten Ocak 2017
KocSistem | E-Bulten Ocak 2017KocSistem_
 

Similar to intern_notebook (20)

Etohum GirişImcilik Kampı 17 Ekim 2009
Etohum GirişImcilik Kampı 17 Ekim 2009Etohum GirişImcilik Kampı 17 Ekim 2009
Etohum GirişImcilik Kampı 17 Ekim 2009
 
Etohum Girisimcilik Kampi 17 Ekim 2009
Etohum Girisimcilik Kampi 17 Ekim 2009Etohum Girisimcilik Kampi 17 Ekim 2009
Etohum Girisimcilik Kampi 17 Ekim 2009
 
Wordpress nedir
Wordpress nedirWordpress nedir
Wordpress nedir
 
Workcube magazin 2007
Workcube magazin 2007Workcube magazin 2007
Workcube magazin 2007
 
Az ve Öz C++ Muhammet ÇAĞATAY
Az ve Öz C++  Muhammet ÇAĞATAYAz ve Öz C++  Muhammet ÇAĞATAY
Az ve Öz C++ Muhammet ÇAĞATAY
 
WM Dergi - 4.SAYI
WM Dergi - 4.SAYIWM Dergi - 4.SAYI
WM Dergi - 4.SAYI
 
TinkData RPA Presentation
TinkData RPA PresentationTinkData RPA Presentation
TinkData RPA Presentation
 
SOC Kurulumu ve Yönetimi İçin Açık Kaynak Kodlu Çözümler
SOC Kurulumu ve Yönetimi İçin Açık Kaynak Kodlu ÇözümlerSOC Kurulumu ve Yönetimi İçin Açık Kaynak Kodlu Çözümler
SOC Kurulumu ve Yönetimi İçin Açık Kaynak Kodlu Çözümler
 
Endüstriyel Yapay Zeka ve Otonom Sistemler
Endüstriyel Yapay Zeka ve Otonom SistemlerEndüstriyel Yapay Zeka ve Otonom Sistemler
Endüstriyel Yapay Zeka ve Otonom Sistemler
 
Enterprise Applications
Enterprise ApplicationsEnterprise Applications
Enterprise Applications
 
GDO'suz Yazılım Geliştirme Teknikleri
GDO'suz Yazılım Geliştirme TeknikleriGDO'suz Yazılım Geliştirme Teknikleri
GDO'suz Yazılım Geliştirme Teknikleri
 
DCS Interview-ST
DCS Interview-STDCS Interview-ST
DCS Interview-ST
 
Developer Tools
Developer ToolsDeveloper Tools
Developer Tools
 
İş Ortamlarına Saldırı Tespit Sisteminin Kurulması
İş Ortamlarına Saldırı Tespit Sisteminin Kurulmasıİş Ortamlarına Saldırı Tespit Sisteminin Kurulması
İş Ortamlarına Saldırı Tespit Sisteminin Kurulması
 
WM Dergi - 7.SAYI
WM Dergi - 7.SAYIWM Dergi - 7.SAYI
WM Dergi - 7.SAYI
 
E-ticarette Yazılım ve Altyapı
E-ticarette Yazılım ve AltyapıE-ticarette Yazılım ve Altyapı
E-ticarette Yazılım ve Altyapı
 
Devfest istanbul'14 - Web Application Attacks and Trusting Frameworks
Devfest istanbul'14  - Web Application Attacks and Trusting FrameworksDevfest istanbul'14  - Web Application Attacks and Trusting Frameworks
Devfest istanbul'14 - Web Application Attacks and Trusting Frameworks
 
Eticaret kursu-esenyurt
Eticaret kursu-esenyurtEticaret kursu-esenyurt
Eticaret kursu-esenyurt
 
Hosting Dergi - 6.SAYI
Hosting Dergi - 6.SAYIHosting Dergi - 6.SAYI
Hosting Dergi - 6.SAYI
 
KocSistem | E-Bulten Ocak 2017
KocSistem | E-Bulten Ocak 2017KocSistem | E-Bulten Ocak 2017
KocSistem | E-Bulten Ocak 2017
 

intern_notebook

  • 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