Medikal cihazlardan anlık veri almayı, medikal cihazları uzaktan yapılandırıp bu cihazların hem yönetimini kolaylaştırmayı hem de bakım masraflarını azaltmayı hedefleyen bir projenin içerisindeyim. IoT seni parça parça ederim!
Farklı markalar ve farklı haberleşme teknolojilerine sahip bu medikal IoT (Internet of Things) cihazlar ve genel amaçlı birçok IoT cihazının bulunduğu bu projeden edindiğim tecrübeleri paylaşmak istiyorum.
Taklit (mock) cihaz yazın. Elimizde bulunan bir medikal cihaz 22 bin euro değerinde. Üreticiden test için bir tane daha istemeyi düşündüğümüzde sırf gümrük muafiyeti bürokrasisi yüzünden istemekten vazgeçtik. Ayrıca bu cihaz hassas bir şekilde taşınmazsa kalibrasyonu bozuluyor. Aynı cihaz üzerinde birkaç kişi aynı anda hatta cihaz başında olmadan nasıl çalışabildik? Taklit (mock) cihaz yazarak. Cihazın TCP/IP haberleşmesini birebir taklit eden bir taklit cihaz yazılımı (.Net Core ile tamamen yazılımsal bir taklit) yazdık. Bu bizim çok zamanımızı aldı. Ama bunun sayesinde
Aynı anda birkaç kişi cihaz için yazılım geliştirmeye devam edebildik.
Aklımıza gelen yeni fikirleri bu taklit yazılım ile anında deneyebildik. Gerçek cihazda bu denemeleri yapabilmek için cihazın başına gidip parametreleri elle cihaza girip, sensörleri elle doğru kablolara takıp cihazı yeniden başlatmamız gerekiyordu.
Taklit cihaz ile API hizmeti verip bu verileri web ara yüzünde göstererek prototip ve demoları hızlı bir şekilde kullanıcılara gösterebildik.
Başka firmaların bu cihaz ile çalışmalarını sağladık.
Cihazın farklı ağ trafiği yoğunluğunda nasıl davranabileceğini öngörebildik.
TCP’nin değişik versiyonları var. Tahoe, Reno, NewReno, SACK, Vegas, BIC, CUBIC, Peach … Gelen veriler arasındaki zaman farkı sizin için önemliyse, kritik öneme sahip veriler birazcık geç gelince bile sisteminiz etkileniyorsa TCP’nin değişik versiyonlarının olduğunu aklınızın bir köşesinde tutmanızda fayda var. Biz gelen verilerin hızlı bir şekilde işlenmesi için milisaniyelerin hesabını yaparken cihazların ağ sıkışıklığında farklı farklı davranmalarının nedeninin bu olduğunu bulduk.
Dokuman yazın. Medikal IoT cihazlarının dokümanları genellikle eksik oluyor. Bir cihazı tanımaya başladığınızda onunla ilgili öğrendiğiniz her şeyi paylaşın. Özellikle medikal IoT cihazlarda bir senaryoyu test etmeniz ve cihazın neden istenildiği gibi davranmadığını bulmanız uzun saatler hatta günler alabiliyor.
Aynı cihazları kullanmaya çalışın. Seri porttan (COM port) gelen veriyi ethernet kablosundan iletmeye yaran birkaç farklı marka çevirici cihaz kullandık. Uzun uğraşlar sonunda veri kayıplarının bazılarının bu çeviricilerden kaynaklandığını tespit ettik. Tavsiyem bir tane cihaz alıp, test edin. Eğer bu cihaz sağlıklı çalışıyorsa aynı cihazdan fazla miktarda kullanabilirsiniz. Çevirici cihaz değil mi aralarında nasıl bir fark olabilir ki demeyin! Basit cihazların basit hatalarını hafife almayın!
Paralel işlemleri iyi anlamaya ve kullanmaya çalışın. Her yoğun veri işlemini paralel yöntemlerle çözmeye çalışmayın. Eğer verilerin sırası çözmeye çalıştığınız problem için kritik ise paralel işlem korkulu rüyanız olabilir. Tasarımınızı problemin özüne göre tasarlayın.
Buffer ve stream arasındaki farkı bilin. Bunlar için kütüphaneler kullanıyorsanız hangisi hangisi iyi bilin. Ne yaptığınızdan emin değilseniz internette bununla ilgili birçok kaynak var. Stream’i okuduktan sonra okuyucuyu eski yerine koyun. Bulduğunuzdan temiz bırakın! Başkasının buffer’ı ile oynamayın! Deepcopy yap geç kardeşim!
Process ve thread kavramlarını iyi bilin. Bunlar kendi çocukları ve akrabaları ile bile anlaşamazlar. Çok kavgacı tiplerdir. Bunlar burnundan kıl aldırmaz. Yeri gelir birbirini öldürür bunlar. Müdahale ettiğinizde önünüze deadlock atıp kaçarlar.
Süslemeden olmaz. O kadar derin konular biliyorsunuz ama kullanıcının önüne şöyle afilli bir web sayfası, bir android ve iOS uygulaması koymadan olmaz.
Büyük veri (big data) var dediler geldik! O kadar medikal cihazdan veri topladık, veri tabanını şişirdik, yeri geldi ağı tıkadık, işlemciyi kızarttık kamyon kamyon veri topladık. Şimdi bu kadar veriyi ne yapacağız açıkçası bilmiyoruz. Neden mi? Kullanıcılarımızın hayal gücüne yetişemiyoruz da ondan. Siz siz olun, büyük verimiz var demeyin kullanıcılarınıza!
Bir sonraki yazım bu büyük veri ile yaptığımız proje hakkında olabilir. Bu yazı serisinin devamı gelecek.
Yanlış anlaşılmasın sorun onda değil şirketteydi. Hep öyle derler aynaya bakamayanlar. … acısını kabuğunda bırakmış İlk şirketinde çok şey öğrenmişti. İlk kez gerçek kullanıcıları olan, para kazandıran ve gerçek dünyanın gerçek sorunlarını çözen bir projenin içerisindeydi. Okulda ve yan projelerde öğrenmediği birçok teknik konuyu öğrenmişti. Ama bir noktada öğrenmesi durmuştu. Sanki her gün kendini tekrarlıyordu. İşten sonra yan projelerle uğraşıyor, olabildiğince internette araştırma yapıyordu. Ama akmıyordu, damlıyordu. Bir yol gösteren yok muydu? Yoktu! Ekipteki senior yazılımcılar çok meşguldü, teknoparktaki diğer yazılımcılar ise ancak sigara muhabbetinden öteye gitmeyecek tavsiyeler veriyorlardı. Sorularının cevabını bilen yoktu. İnternetten bakmak lazım, ihtiyaca göre değişir gibi cevaplar alıyordu. Takıldığı nokta bazen çok özel bir konu olabiliyordu, bilmiyorum diyemeyen senior yazılımcılar kıvırıyordu. Kendin araştır, zamanım yok, bakmam lazım’dan başka sözler duyamıyordu.
Acil işler, bitmeyen toplantılar, kapanmayan hatalar, sürekli değişen teknoloji ve ah şu yapay zekâ. Tutamıyorum zamanı - Fotoğraf: Eugene Shelestov Ülke gündeminden, sosyal medyadan, dizilerden ve çoluk çocuktan arta kalan zamanda kendisini geliştirmeliydi. Nefes almaya zaman bulsa içi sıkılıyordu. FOMO (Fear of missing out) bastırıyor, hype treni kaçıyordu. Nereden başlayacağını biliyordu, başlayamıyordu. Başlıyordu, bitiremiyordu. Bildiği eskiyor, yenisi çıkıyordu. Kendinden daha iyi durumda olan yazılımcılara imreniyor, diğer şirketlerin daha iyi olduğunu düşünüyordu. Bir mobil uygulama ile zengin olanlar, start-up kuranlar, yazılımla mutlu olanlar hep başkalarıydı. Yaptığı tek şey düşünmekti. Onu da sosyal medya ile parça parça ediyordu. Suçlu başkaları, kendisi mağdur ama bir o kadar da mağrurdu. Sermayesi zaman olanın, odağı kilit altında olmalı bu devirde. CRUD işlemler yapmaktan pas tutan yeteneklerin korkusu rüyası yapay zekanın selamı var yazılımcılara. Ne kadar pas o k
KPSS Çalışan Yazılımcı Gerçek hikaye. Bir gencin iş arama sürecine birebir şahit oldum. Ve sonuç; KPSS’ye çalışmak oldu. Bu yazıda bizim başımızdan geçenler var. Herkes kendi hikayesini yaşar bu hayatta. Bize bu düştü. Coğrafya kader midir? — Fotoğraf: Emine Canpolat Belki farkında değilsiniz. Ama onlar yanımızda. Kimi zaman stajyer olarak gördünüz onları, kimi zaman mutsuz bir yazılımcı olarak. Bir şekilde yazılım sektöründe işe girmiş mutsuz yazılımcıları bir kenara bırakarak gençlere odaklanmak istiyorum bu yazıda. Yeni mezun ya da mezun olmak üzere olan gençlere. Halk arasında junior yazılımcı da deniyor. Hayır. Onlar tembel değil. Üniversite hayatı boyunca sadece kendisine verilen ödevleri yapanlar bu yazının kapsamı dışında. İstemeyerek yazılımla ilgili bir bölüm okuyup istemeyerek mezun olanlar maalesef daha farklı bir hikaye. Yan projeleri olan, temel teknik bilgileri sağlam olan, iletişim kurabilen, kendisinin ve etrafının farkında olan genç birisini işe alırdınız değil mi?
Yorumlar
Yorum Gönder