Ve yine bir github projesi ile birlikteyiz
Henüz blog yazısını yazmadığım ancak github’a yüklediğim simple-document-notification projesi, aslında çalıştığım kurumda işimi kolaylaştırması için ihtiyacım doğrultusunda yazdığım bir uygulamaydı. Yazının konusu olan “Kamera Tarihi Hesaplama ve Eşleme Uygulaması”, yine ihtiyaçlarım doğrultusunda yazdığım bir uygulama. Tabi ki basit bir mantık çerçevesinde yazılan bu uygulama sahada yaptığım çalışma esnasında çok işime yarıyor.

Uygulamanın Yazılma Nedenleri

  1. Çalıştığım kurumda işimin bir parçası olarak güvenlik kamerası görüntülerini topluyorum ve bunları inceliyorum. Bu süreçte kamera saatinin güncel olup olmaması, eğer güncel değilse zaman farkının ne kadar ileri veya geri olduğu, benim için çok önemli. Zaman farkının hesaplanması aşamasında birkaç dakikalık farklar her ne kadar kafadan hesaplanabiliyor olsa da bazı cihazlarda dakika, saat, ay hatta yıl olarak zaman farkları olabiliyor ve kafadan işlem yapılamayacak büyüklükte olan bu farkların hesaplanmasında hata payı yüksek oluyor. Bu yüzden işlemin hata payını sıfırlamak ve saniyeler içerisinde sonuçlanmasını sağlamak, 
     
  2. Zaman farkı bilinen görüntüler incelenirken, güncel saatte izlemek istenilen tarih saat için görüntülerde izlenmesi gereken tarih saatin otomatik hesaplanması işlemi, 
     
  3. Her birinin saati, güncel saatten farklı olan, birden fazla kamera kaydının incelenmesi esnasında, bir görüntüde incelediğim anın diğer bir kamera görüntüsünde hangi tarih saate karşılık geldiğinin hesaplaması yorucu bir iş olması sebepleriyle bu uygulamaya ihtiyaç duydum.


Sağladığı Kolaylıklar

  1. Görüntüsü alınacak olan güvenlik kamerasının tarihini, güncel saate göre ne kadar ileri veya geri olduğunu hesaplayarak anında bulabilmek, 
     
  2. Zaman farkı hesaplanan kamera kaydında, izlenmek istenen güncel saat için kamerada hangi tarih saate bakmamız gerektiğini hesaplaması, 
     
  3. Zaman farkları olan birden fazla görüntünün incelenmesi esnasında kayıtların birbirlerine bağlanarak (aralarındaki zaman farklarına göre) senkronizasyon sağlaması ve bunun sonucunda herhangi bir kayıtta izlenilen görüntünün diğer kameralarda hangi tarih saate eş olduğunu otomatize etmesi…

 

Github: https://github.com/vehbipekpak/date-calculation

 

Ekran Görüntüleri


Bu sayfada “Kamera Saati” olan input’a görüntü üzerindeki tarih saati girdiğiniz anda bu değerin güncel saat ile farkını hesaplayıp, yeşil renkli box içerisinde bildiriyor. 
Fark hesabının yanında, “İzlenmek İstenilen Güncel Saat” değerini belirlerseniz eğer, bu tarih saatin kameradaki karşılığı olan tarih saati turuncu box içerisinde bildiriyor.

 

Bu alanda ise zaman farklarıyla birlikte eklenen kamera kayıtları, birbirleri ile senkronize edilerek “Güncel” etiketli input’ta veya diğer herhangi bir kamera ait tarih saatte yapılan değişiklik ile tüm kamera saatleri zaman farklarına göre tekrar hesaplanarak yeni değerler ile input’lar güncelleniyor. 

Umarım işinize yarayan bir çalışma olmuştur. Farklı bir amaç için kullanmak isteyip yardıma ihtiyacınız varsa benimle iletişime geçebilirsiniz.
 

Javascript, HTML, CSS ile web sayfaları yapmak, frontend işler çıkarmak bence çok zevkli işler. Her ne kadar gelişmeleri takip edip adapte olup bunları uygulayarak projeler yapsakta aslında biraz tekrara düşüyoruz. Mesela daha önceleri kullandığımız (hala kullanılıyor) jQuery ile collopsed sidebar yaparken şimdi artık eskisi gibi aynı işi yapacak kodları tekrar yazmak içimden gelmiyor. Ant Design tarzı birçok framework mevcut ve işin aslı amerikayı tekrar keşfetmeye gerek yok arkadaşlar.Bu konuda da aslında oyunların yapılış sürecinde birçok karşılaşılan sorun bizleri daha iyi eğitiyor. O yüzden basitten de başlasanız browser tabanlı oyun yazarak algoritma konusunda çok daha güzel kendimizi geliştirebiliriz.

İşyerinde boş bir zamanımda aklıma gelen ikiz kartları bulma oyununu githuba yükledim. Şimdi nedir bu oyun ne işimize yarayacak derseniz. Hiçbir işinize yaramayacak. Bende zaten boş zaman eğlencesi olsun diye yazdığım bir oyun. Ama algoritmik olarak ve css ile card flip yönünden benzer bir uğraşı olan arkadaşlar için örnek teşkil edebilir veya geliştirip daha ileri seviye bir oyuna dönüştürebilir.

Bunu ortalama bir yıl önce yazmıştım aslında. Hatta böyle bir şey yaptığımı bile unutmuştum. Biraz oynayayım dedim ve 16'lık deseni biraz zor bitirdim :)
Umarım fikir verme açısından işinize yarar. Hepinize güzel günler dilerim. 

GitHub - https://github.com/vehbipekpak/card-game

Şu an için iddalı bir blog yazarı değilim. O yüzden site içerisinde dolaşırken pek bir şey bulamayacaksınız. Umarım blog yazma konusunda ilerleyen zamanda daha fazla heyecan duyar ve daha sık içerik girerim. 

Yazılım ile ilgilenen insanların muhtemelen yaşadıkları her sorunu veya yaptıkları her işi algoritma olarak kafasında planladığını düşünüyorum. En azından bu benim için böyle. Yaptığım bir işi nasıl bilgisayara yaptırabilirim veya nasıl bunu daha hızlı yapabilirim şeklinde düşünmeden duramıyorum. Bu yönde saatlerimi harcayarak keyif aldığım araştırmalar sonucu belli bir bilgi birikimi sağladığımı düşünüyorum. 

Neyse, gelelim asıl konumuza. Çalıştığım kurumda personelin zamanını ciddi anlamda tüketen manuel olarak yapılan birçok iş mevcut. Bunlardan biri de personele tebliğ edilmesi gereken evrağa dair tebliğ ve tebellüğ belgesi hazırlanması. Aslında hazırlanacak olan bu belge her ne kadar çok fazla zaman alacak bir iş gibi görünmese de personel sayısının artması yapılacak olan düzenleme için harcanan zamanı artırmaktadır. Konuya hakim olan okurlar ne demek istediğimi daha iyi anlayacaktır ancak kısaca anlatmak gerekirse: Remi yazışma kurallarına uygun olması, personelin aralarındaki rütbe veya sicile göre sıralanması ve tebliğ edilecek olan belli personelin olması durumunda bu evrakın tekrar düzenlenmesi aşamasında gereksiz bir zaman kaybı yaşanmaktadır. 

Bu projede daha önceden json formatında hazırlanan ve personel bilgilerini içeren listenin basit bir şekilde işlenerek birkaç tıklama ile herhangi bir düzenleme yapmaya gerek olmadan, çıktı almaya (yazdırmaya) hazır tebliğ ve tebellüğ belgesinin tanzim edilmesini amaçladım ve bence hem görsel anlamda hem de işlevsel olarak gayet başarılı bir uygulama ortaya çıktı. Bu uygulamayı çalıştığım kurumda her ne kadar kullanamıyor olsam da react.js'i öğrenmem aşamasında bana çok faydası oldu. Bir yazılım dilini veya öğrenme aşamasında olduğunu herhangi bir konuyu öğrenmenin en iyi yolu kesinlikle onu uygulamaktır. React üzerinde kendini geliştiren arkadaşlar için de incelemeleri için bir kaynak olabilir. Eğer projeyi inceleyecek olursanız olumlu veya olumsuz görüşlerinizi lütfen benimle paylaşın. Teşekkürler.

GITHUB REPO BAĞLANTISI

UYGULAMANIN EKRAN GÖRÜNTÜLERİ: