18 Şubat 2017 Cumartesi

Neden PMobile Stok Takip Programı'nı Kullanmalıyım?

Evvela stok nedir, stok yönetimi nedir, neden stok takibi kullanmalıyım sorularını cevaplandırmamız gerekir.

Stok, bir firmanın ortaya çıkabilecek ani ihtiyaçları karşılamak ve üretimin kesintiye uğramadan sürdürülmesini sağlamak amacıyla her an el altında bulundurduğu mamul mal, ham madde ve ara malları miktarıdır.

Stok yönetimi ise hammadde, yardımcı madde, yarı mamul ya da mamullerin, en uygun maliyetle zamanında tedarik edilmesi ve/veya bulundurulmasına yönelik faaliyetlerin bütünüdür.
Stok yönetiminde, talep tahminleri ve üretim planlama verileri kullanılarak, stoklama yapılır. Sipariş maliyeti, elde tutma maliyeti, elde bulundurmama maliyeti göz önünde bulundurularak emniyet seviyesi ve sipariş verme noktaları belirlemek temel gerekliliklerdir.


Tanımlardan da anlaşılacağı üzere stok tutmak maliyetlidir. Elinizdeki sermayeyi malzemeye bağlıyorsunuzdur. Talebe göre az stok tutarsanız müşteri  kaybedersiniz, müşteri kaybederseniz işletmenizin sürdürülebilirliği tehlikeye girer. Talebe göre aşırı stok tutarsanız malınızın kullanım ömrü bitene kadar satılmazsa malınızın elde kalma riski vardır. Malzemeye bağladığınız sermayeyi kaybetmiş olursunuz. Bu tarz zararlardan kaçınmak, kârınızı azamiye çıkarmak için akıllı stok yönetimi yapmalısınız.

Peki stok takibi nasıl yapılır? Öncelikle tüm ürünlerinizi kimliklendirmeniz gerekmektedir. Herbirine benzersiz bir ürün kodu vermelisiniz. Stok giriş-çıkış hareketlerinde, satışta ve toptancıdan tedarik etmek için sipariş verirken bu ürün kodu kullanılır. Marketten aldığımız neredeyse her üründe bir ürün kodu (veya numarası) bulunur. Stok işlemlerinin takibini kolaylaştırmak için yazılımlar kullanılır. Bunun için de ürün kodunun bilgisayar ortamına hızlıca aktarılması gerekmektedir. Ürün kodlarının elle klavye kullanarak girilmesi işi oldukça yavaşlatmaktadır. Bu noktada barkod/karekod sistemi yardımımıza koşuyor.


Makinelerin gözleri kameralardır. Makinelerin insanlar gibi yazıları okuyabilmeleri için değişik yöntemler vardır. Optik Karakter Tanımlama (Optical Character Recognition, OCR) bunlardan biridir. Bu yöntemle makineler, düz metinleri bilgisayar ortamına aktarırlar. Ancak metnin yazı fontu, boyutu ve temizliği yazının doğru okunmasına olumsuz etki edebilmektedir. Ticari işlemlerimizde hatayı en aza indirebilmek için makinelerin daha rahat algılayacağı anadillerine yani birler ve sıfırlara geri dönmemiz gerekmektedir.



Barkod, çubuk kod ya da çizgi im, verilerin makinelerin okuyabilmesi için çeşitli kodlama yöntemleriyle sunulmasıdır. Barkod, veriyi paralel çizgilerin genişlikleri (birler) ve boşlukları (sıfırlar) arasında saklar. Barkod, barkod okuyucu olarak da adlandırılan optik okuyucular ile okunabilir veya özel yazılımlarla görüntü içinden taranabilir.

Barkodda saklanamayacak miktarda metnin kodlanması ihtiyacı doğduğunda iki boyutlu barkod da diyebileceğimiz karekod (qr code) geliştirilmiştir. Karekodun çok çeşitli kullanım alanları vardır. Karekod çözümlenerek kod içeriği kullanıcıyı internet adresine, e-posta adresine, telefon numarasına, iletişim bilgilerine, SMS veya MMS'ye veya coğrafi konum bilgisine yönlendirebilir.

Konumuza dönersek, ürün numarasını temsil eden barkodlar veya karekodlar üretip ürünlerimizin üzerine yapıştırmak  suretiyle ürünlerimizi kimliklendirmiş oluruz.
Peki bu barkodları hangi cihazla okuyacağız? Piyasada binlerce TL tutarında barkod okuyucuları, el terminali bulunmaktadır. Üstelik barkod okuyucu almakla iş bitmiyor. Stok takibi yapabilmeniz için bir veritabanına ve yazılıma ihtiyacınız var. Maliyet gittikçe artıyor. Peki yaptığınız işlem hacmi bu kadar maliyetli bir sistemi almaya değer mi? Her esnaf bu maliyeti karşılayamamaktadır. Halbuki herbirimizin cebinde bulunan telefonlarda çok iyi kameralar bulunmaktadır. Yükleyeceğiniz basit bir karekod / barkod okuyucu yazılım ile binlerce liralık tasarruf yapabilirsiniz.

Binlerce kişinin indirip kullandığı, PMobile Android Barkod & Karekod Sistemi işinizi fazlasıyla görecektir. Dahili veritabanı yönetimi, excel (XLS) dosyasıyla yedekleme, ürünlere resim ekleme, stok hareketleri raporu gibi olmazsa olmaz özellikleri neredeyse bedava fiyatına cebinize getiriyor. Lisans kodu, abonelik yok. Tek sefer ödeme ile sahip olabilirsiniz. 
Ayrıca programı kendinize özgü kullanabilirsiniz. Örneğin, müşteri takibi, üye takibi otomasyonu vb. 

https://play.google.com/store/apps/details?id=com.pmobile.barcodeapp



Referanslar:
https://tr.wikipedia.org/wiki/Stok_y%C3%B6netimi

4 Şubat 2017 Cumartesi

Yazılım Notlarım

Yazılım geliştirirken günlük olarak karşılaştığım ilginç durumlar ve kendime notlarımı burada sizin de istifadenize sunuyorum. Notlar kısa kısa ve anahtar kelime düzeyinde bilgi içermektedir. Daha derinine dalmak size kalmış.


  • Apache Tomcat'te url'den gelen parametrelerin türkçe karakter sorununu Connector'a URIEncodin="UTF-8" property'sini ekleyerek çözebilirsin. 
  •   Hibernate query'de pagination (sayfalama) query.setFirst ve query.setMax ile yapılabilir.
  • Spring <form: radiobutoonlarda'da path aynı olmalı.
    <input radiobuttonlarda id aynı olmalı. 
  • addScalar ile kolon döndürebilirsin. setEntity ile nesne döndürebilirsin.
    addScalar ile setEntity arasındaki farkı iyi bilmek gerek. (Hibernate)
  •  ionic hybrid cross platform mobil uygulama geliştirirken apk imzalama komutu:
 ionic build android --release -- --keystore="../android.keystore" --storePassword=android --alias=mykey --password=myKeyPassword
  • linux mint firefox ses sorunu

     go to linux mint preferences / sound and go to tab 'applications'

    start firefox and start youtube video

    now an entry appeared in applications tab of sound preferences: ALSA plug-in [plugin-container]

    In my case it showed ALSA plug-in [plugin-container] application as muted and I just had to adjust the volume of it there, that's it.
  • uzaktaki sunucudaki PostgreSQL dump alma komutu
    ssh user@remote_machine "pg_dump --schema=schemaName -U dbuser -h localhost -C --column-inserts" \ >> backup_file_on_your_local_machine.sql
  •  hibernate sort
    Example 7.20. Sorting via a query filter

    sortedUsers = s.createFilter( group.getUsers(), "order by this.name" ).list();
  •  git klasörü repository'den silme
    git rm -r one-of-the-directories
    git commit -m "Remove duplicated directory"
  • git repository listeleme
    git ls-tree --full-tree -r HEAD
    veya
    git ls-files 
  •  git repositorye gönderme
    git push origin master

  • <c:out />'un önemi:

    c:out escapes HTML characters so that you can avoid cross-site scripting.

    if person.name = <script>alert("Yo")</script>

    the script will be executed in the second case, but not when using c:out
  • Google Chrome tarayıcıda adres satırına  chrome://inspect yazarak bilgisayarınıza bağlı android cihazınızda debug loglarını görebilirsiniz. Özellikle Ionic uygulamayı cihazda denerken loglar bu şekilde görüntülenebilir.
  •  Asla <form:form kullanma. Bazı durumlarda Controller'a geldiğinde direk db'ye yazmış olarak geliyor.
  • PostgreSql anlık olarak bağlı kullanıcı sayısını döndüren sql sorgu

    select count(*) from pg_stat_activity where pid <> pg_backend_pid()  and usename = current_user;
  •  
  • Spring MVC'de hata handle etme için bakınız: @ControllerAdvice ve @ExceptionHandle
  •  Webde asenkron kod çalıştırmak istiyorsan bir spring managed bean'da @Async anotasyonlu metodun içine kodu yaz. Metodu normal şekilde çağır.
  • SecurityContextHolder.getContext().getAuthentication().isAuthenticated() anonim kullanıcıda da true dönüyor.
     

Raspberry'de Python ile Tesseract OCR Kullanarak Plaka Okuma

OCR (Optical Character Recognition - Optik Karakter Tanıma),  bize grafiksel dosyalardaki yazıları yakalama imkanı veren teknolojidir. Örne...