HABERİ PAYLAŞIN

Kerem Yalçınkaya | KASIRGA Mikroişlemciler Laboratuvarı

2022-2023 Bahar Ortak Eğitim Dönemimi KASIRGA Mikroişlemciler Laboratuvarında gerçekleştirdim. KASIRGA okulumuz Bilgisayar Mühendisliği Bölüm Başkanı Prof. Dr. Oğuz Ergin öncülüğünde gömülü sistemler ve bilgisayar mimarisi alanlarında çalışmakta. Ben ise bu staj dönemimde KASIRGA olarak 4 takım olarak katıldığımız TEKNOFEST 2023 yarışması kapsamında Sayısal İşlemci Tasarımı kategorisinden KASIRGA-GÖK takımından, Sayısal Görüntü İşleme kategorisinden KASIRGA takımından olmak üzere iki farklı takımdan katılarak Görüntü İşleme kategorisinde 1., İşlemci Tasarımı kategorisinde 2. olduğumuz bu süreçte görev aldım. Ayrıca Kasırga olarak sorumlu oluğumuz derslerde yardımcı asistanlık yaptım.

TEKNOFEST 2023 Sayısal İşlemci Tasarımı kapsamında KASIRGA-GÖK işlemcisi 7 boru hattı aşamasına sahip, RV32IMCX buyruk kümesi mimarisini destekleyen, UART, PWM, SPI çevre birimlerini destekleyen ve sıralı yürütüm kullanan bir işlemcidir. Ben ise bu işlemcide çöz aşamasının tasarımı ve uyarlanması, AMB biriminin tasarımı ve uyarlanması, çevre birimlerinden PWM tasarımı ve uyarlanması, RISC-V testlerinin gerçekleştirilmesi, SPI biriminin testlerinin gerçekleştirilmesi olmak üzere bir çok göreve sahiptim. TEKNOFEST 2023 kapsamında geliştirdiğimiz 3 aşamalı boru hattından oluşan görüntü işleme hızlandırıcısı 320*240’lık gri ölçeklenmiş resimler üzerinde 7 farklı görüntü işleme görevi gerçekleştiren ve işlemci ile UART üzerinden haberleşen bir hızlandırıcı. Ben ise bu hzılandırıcıda görev biriminin tasarlanması ve gerçekleştirilmesi, bellek kontrol biriminin tasarlanması ve uyarlanması, hızlandırıcının testlerinin yapılması gibi birçok görev aldım.

Bu ortak eğitim süresince içinde bulunduğum projeler sayesinde donanım tasarım dili olan Verilog üzerinde, tasarımlarımızı üzerinde çalıştırdığımız VCU108, BASYS3 FPGA kartları üzerinde ve simülasyonları gerçekleştirip tasarım hatalarının bulunması için kullandığımız SPİKE gibi birçok araç üzerinde çalışma fırsatı bularak tecrübe kazındım. Bu süreçte bulunduğum iki takım sayesinde uzun soluklu projelerde takım çalışmasının nasıl yapılması gerektiği noktasında büyük tecrübeler edindim. Bana bu imkânı sağlayan başta KASIRGA ekibinin kurucusu ve lideri Prof. Dr. Oğuz Ergin olmak üzere tüm KASIRGA ekibine teşekkür ederim.

 

Numan Avcı | TAI

2022-2023 döneminin bahar döneminde ikinci ortak eğitimimi TAI şirketinde Alt Seviye Yazılım takımında tamamladım. Alt seviye yazılımlar ile uğraşan bu takımda, ilgim olan gömülü yazılım alanıyla ilgili tecrübeler edinmem açısından çok değerli bir staj deneyimi edindim.

Bu stajımda ekip arkadaşlarım ile işletim sistemsiz (standalone) çalışan dataloader uygulamasının geliştirilmesi sürecinde yer aldım. Var olan dataloader uygulamasına tarayıcı üzerinden yeni bir arayüz geliştirilmesi için TCP socket programlama ile HTTP server’ı yazdım. C dilinde server tarafını yazmanın yanında HTML, CSS ve javascript ile tarayıcı kısmının arayüzünü ve server ile haberleşme kısımlarını yazdım. Ancak hemen her gömülü sistemde olduğu gibi burada da büyük bir memory kısıtımız vardı. Bu yüzden framework ve kütüphane gibi yer kaplayacak fazladan eklentiler kullanamayacağım için bunu nasıl yapacağımla alakalı detaylı bir araştırma yapmam gerekti. Web programlamanın alt seviye kısmıyla ilgili ufuk açıcı bir deneyimdi.

Bunun dışında üzerinde çalıştığımız repo, işletim sistemi API’ı kullanmadan yazıldığı için en alt seviye yazılımlardan olan sürücülere kadar erişimimiz vardı. Bazen o kısımlarda da değişiklik yapılması gerektiğinden gömülü yazılım alanıyla ilgili önemli pratik deneyimler edindim. En alt layer olan physical layer’daki ethernet ve PHY sürücüsünden en üst uygulama layerı olan TFTP ve HTTP protokolü implementasyonuna kadar her bir katmandaki işlemleri öğrenmek en büyük deneyimim oldu.

Bu süreç içerisinde bir derleyici programı olan MULTI Ada uygulamasını, SVN versiyon kontrol sistemini ve gereksinimlerin belirtildiği DOORS programını kullanmayı öğrendim. Tüm bunlar savunma sanayisinde genelde kullanılan önemli programlar olduğundan geleceğim için önemli bir yatırım yapmış oldum. Driver, dataloader ve integrity gerçek zamanlı işletim sistemi üzerinde geliştirilen yazılımlar üreten Alt Seviye yazılım ekibi ilgim olan bu alanlarda kendimi geliştirmem için güzel bir altyapı sundu.

Karşılıklı memnuniyet neticesinde şu anda yarı zamanlı olarak TAI’de devam etmekteyim. Bu ortak eğitim programı sunan okuluma ve TAI’ye ama özellikle başmühendisim Salih Arslan Bey’e sunduğu imkanlar için teşekkür eder ve saygılarımı sunarım. 

 

Tarık Saraç | Siemens

2022-2023 Bahar döneminde yaptığım 2. ortak eğitimimi Siemens şirketinde full-stack developer olarak web geliştirme alanında tamamlamış bulunmaktayım. Bu süreçte dahil olduğum PCDMS takımında, Smart Grid teknolojileri kapsamında elektrik altyapısı için yazılmakta olan bir web uygulaması için geliştirmelerde bulundum.

Ortak eğitimime başladığımda dahil olduğum proje henüz başlangıç aşamalarında olduğundan dolayı proje geliştirme ve bir takımın parçası olup mezun olmuş bir mühendis gibi çalışmanın yanı sıra üzerinde çalıştığım projenin başlangıç sürecini gözlemleme fırsatı elde ettim. Angular, .NET, ABP Framework, EF Core gibi teknolojilerle doğrudan çalışmakla beraber; RabbitMQ, Elasticsearch vb. teknolojilerin kullanımını da oldukça detaylı bir şekilde proje üzerinde gözlemledim.

Bu süreç kapsamında, takımdaki mühendislerin tecrübesi ve bana olan yardımları sayesinde Web alanında tecrübe kazanmış olmakla beraber bana kod yazarken "Nasıl bunu daha iyi yaparım?" bakış açısını katarak kendimi çok daha fazla geliştirmemi sağladılar. Geliştirilen bu projenin bir ürün olarak tasarlanması ve gerçekten kullanılacak bir ürün olması bana projeye katkıda bulunurken oldukça motivasyon verdi. Bu fırsatı bana sunan okuluma, Siemens'e ve staj sürecim boyunca bana yardımcı olan herkese teşekkür ederim.

 

Veysel Mert Kıymazaslan | Picus Security 

22-23 Bahar döneminde son ortak eğitimimi Picus Security şirketininde gerçekleştirdim. Agile development stratejisiyle Go, PostgreSQL, GORM teknolojilerini kullanarak, Security Control Validation (SCV) ürününün back-end geliştirmesinden sorumlu olan Threat Emulation takımında görev aldım. Takım liderimle ve diğer ekip arkadaşlarımla iletişimim çok kuvvetliydi ve 3,5 aylık süreçte takım olarak veya bireysel olarak birçok görevi tamamladım.Çalışma şeklimizden dolayı tüm görevleri 2 haftalık süreçlere bölüp, kendime atanan görevleri tamamlayarak ilerledim. Aynı zamanda her sabah yaptığımız günlük toplantılarla da takımdaki herkes, projeden ve yaptığımız geliştirmelerden anlık olarak haberdar oluyordu.

Çalıştığımız ürün siber atak simülasyonları yapan bir uygulama. İlk ve en büyük görevim, bu simülasyonların devamlı şekilde(continuous) koşmasını sağlayan geliştirmeyi yapmaktı. Daha öncesinde simülasyonlar bu şekilde çalışamıyordu; ya tek bir seferlik ya da periyodik olarak çalıştırılabiliyordu. Buna ek olarak üçüncü bir seçenek olan Continuous Schedule geliştirmesini tamamladım, bu geliştirme yaklaşık 1,5 ayımı aldı ve bunun üzerine, bu sefer birden fazla simülasyonun aynı ajanda(ajan, simülasyonun gerçekleşmesi için gerekli ayrı bir yazılım) bir Queue-order şeklinde sırayla çalışmasını sağlayan geliştirmeyi yaptım.Bu iki görevi tamamladıktan sonra, Ajanların ölü duruma geçmesini(bağlantı kopması, ajanın kapatılması vs.) saptayan ve kullanıcıya bildirim gönderilmesini sağlayan bir event’in gönderilmesi için asenkron çalışan bir task geliştirdim. Bu kod parçası, periyodik olarak ajanların durumunu kontrol edip, ölü duruma geçen olursa event gönderilmesini sağlıyordu. Bu büyük görevlerin yanı sıra, veri tabanına yeni alan ekleme-çıkarma, migrator dosyaları yazma, bazı basit scriptler geliştirme gibi ufak sayılabilecek işlerde de görev aldım.

Genel olarak ortak eğitim sürecim çok verimli geçti ve oradaki tam zamanlı çalışanlar gibi işin içinde aktif olarak görev aldığımı hissettim. Agile development stratejisiyle ilerliyor olmamız, modern yöntemler ve araçlar kullanılarak yazılım geliştiriyor olmamız, şirketin kuvvetli bir teknoloji-destek altyapısı olması ve günlük toplantılarla güncel olarak yapılan geliştirmeleri birbirimize aktarmamız gibi faktörler daha verimli çalışmamı sağladı. Bu fırsatı bana sağlayan okuluma, Picus’a, takım liderim ve ekip arkadaşlarıma teşekkür ederim.