İnternet kullanımının mobil cihazlar ve masaüstü bilgisayarlar da vazgeçilmez özelliklerinden olmasıyla beraber internet üzerinden e-ticaret yapmaya başlayan firmaların sayısı ger geçen gün artmaktadır. Manisada hızlı, kaliteli ve güvenilir hizmet anlayışı ile 2017 senesinden beri çalışan Meşe Bilişim Manisa Teknokent de faaliyet göstermektedir.

Manisa Meşe Bilişim olarak müşterilerimize şirketlerini internet ortamında tanıtma ve satış yapmalarına yardımcı oluyoruz.



Hizmet verdiğimiz alanlar şunlardır;


  • Google Seo Optimizasyon
    • Arama motorlarında rakiplerinizin önündesiniz. Tüm sitelerimiz %100 Seo uyumlu olarak kodlanmaktadır.
  • Raporlama
    • Google Reklam hizmeti ve Analytics entegrasyonu ile web siteniz ile ilgili tüm detayları rapor olarak alabilirsiniz. Kim hangi şehirden girmiş anında takip edebilirsiniz.
  • HTML5 / CSS3 / JS / ASP.NET / PYTHON / DJANGO / PHP / WORDPRESS
    • Kullandığımız teknolojiler ile yeni nesil bir web sitesi sahibi olun. Tüm web sitelerimizin kodlaması ve tasarımını kusursuz olmak üzere hazırlıyoruz.
  • 7/24 Hizmet Desteği
    • E-Posta, Canlı chat, Whatsapp ve diğer iletişim sistemleri ile 7/24 destek sağlıyoruz.
  • Responsive Tasarım
    • Tüm tarayıcılar ve cihazlarda kusursuz çalışan kodlama teknolojisi ile %100 uyumlu olarak tüm cihazlarda görüntülenir.
Hizmet Türlerimiz;
Manisa web yazilim
Manisa web yazilim firmasi
Manisa web tasarim firmasi
Manisa web tasarimi
Manisa web uygulama
Manisa web dizayni
Manisa web dizayni firmasi
Manisa mobil uygulama tasarimi
Manisa mobil uygulama yazilimi
Manisa mobil uygulama hazirlama
Manisa mobil yazilim
Manisa mobil site tasarimi
Manisa mobil sayfa tasarimi
Manisa responsive site tasarimi
Manisa yazilim sirketi
Manisa yazilim firmasi
Manisa reklam ajansi
Manisa reklam tasarimi
Manisa reklam firmasi
Manisa e-ticaret sitesi
Manisa e-ticaret sitesi kurulumu
Manisa eticaret firmasi
Manisa masaüstü uygulama
Manisa crm yazilimi
Manisa takip yazilimi
Manisa yazilim modülleri
Manisa kurumsal site tasarimi
Manisa kurumsal reklam ajansi
Manisa kurumsal yazilim firmasi
Manisa seo danismani
Manisa seo ajansi
Manisa seo firmasi
Manisa seo
Manisa google optimizasyonu
Manisa adwords ajansi

Meşe Bilişim' e gelen talepler;

Manisa web sitesi yaptirmak istiyorum
Manisa web tasarim firmasi ariyorum
Manisa de web tasarimi yapan firmalar
Manisa web yazilimi yaptirmak istiyorum
Manisa web yazilim firmasi ariyorum
Manisa mobil uygulama yazdirmak istiyorum
Manisa crm uygulamasi ariyorum
Manisa basarili crm uygulamasi
Manisa seo optimizasyonu yaptirmak istiyorum
Manisa google seo çalismasi nasil yapilir
Manisa seo firmasi ariyorum





Meşe Bilişim Yazılım Mekatronik Eğitim İthalat İhracat Sanayi ve Ticaret Limited Şirketi
Muradiye Mah. Celal Bayar Üniversitesi Kampüsü Teknoloji Geliştirme Bölgesi İçi Merkezi Apt.No:22 - 202 YUNUSEMRE / MANİSA



İnternet kullanımının mobil cihazlar ve masaüstü bilgisayarlar da vazgeçilmez özelliklerinden olmasıyla beraber internet üzerinden e-ticaret yapmaya başlayan firmaların sayısı ger geçen gün artmaktadır.

Manisa Meşe Bilişim olarak müşterilerimize şirketlerini internet ortamında tanıtma ve satış yapmalarına yardımcı oluyoruz.

Hizmet verdiğimiz alanlar şunlardır;


  • Google Seo Optimizasyon
    • Arama motorlarında rakiplerinizin önündesiniz. Tüm sitelerimiz %100 Seo uyumlu olarak kodlanmaktadır.
  • Raporlama
    • Google Reklam hizmeti ve Analytics entegrasyonu ile web siteniz ile ilgili tüm detayları rapor olarak alabilirsiniz. Kim hangi şehirden girmiş anında takip edebilirsiniz.
  • HTML5 / CSS3 / JS / ASP.NET / PYTHON / DJANGO / PHP / WORDPRESS
    • Kullandığımız teknolojiler ile yeni nesil bir web sitesi sahibi olun. Tüm web sitelerimizin kodlaması ve tasarımını kusursuz olmak üzere hazırlıyoruz.
  • 7/24 Hizmet Desteği
    • E-Posta, Canlı chat, Whatsapp ve diğer iletişim sistemleri ile 7/24 destek sağlıyoruz.
  • Responsive Tasarım
    • Tüm tarayıcılar ve cihazlarda kusursuz çalışan kodlama teknolojisi ile %100 uyumlu olarak tüm cihazlarda görüntülenir.
Hizmet Türlerimiz;
Izmir web yazilim
Izmir web yazilim firmasi
Izmir web tasarim firmasi
Izmir web tasarimi
Izmir web uygulama
Izmir web dizayni
Izmir web dizayni firmasi
Izmir mobil uygulama tasarimi
Izmir mobil uygulama yazilimi
Izmir mobil uygulama hazirlama
Izmir mobil yazilim
Izmir mobil site tasarimi
Izmir mobil sayfa tasarimi
Izmir responsive site tasarimi
Izmir yazilim sirketi
Izmir yazilim firmasi
Izmir reklam ajansi
Izmir reklam tasarimi
Izmir reklam firmasi
Izmir e-ticaret sitesi
Izmir e-ticaret sitesi kurulumu
Izmir eticaret firmasi
Izmir masaüstü uygulama
Izmir crm yazilimi
Izmir takip yazilimi
Izmir yazilim modülleri
Izmir kurumsal site tasarimi
Izmir kurumsal reklam ajansi
Izmir kurumsal yazilim firmasi
Izmir seo danismani
Izmir seo ajansi
Izmir seo firmasi
Izmir seo
Izmir google optimizasyonu
Izmir adwords ajansi

Meşe Bilişim' e gelen talepler;

Izmir web sitesi yaptirmak istiyorum
Izmir web tasarim firmasi ariyorum
Izmir de web tasarimi yapan firmalar
Izmir web yazilimi yaptirmak istiyorum
Izmir web yazilim firmasi ariyorum
Izmir mobil uygulama yazdirmak istiyorum
Izmir crm uygulamasi ariyorum
Izmir basarili crm uygulamasi
Izmir seo optimizasyonu yaptirmak istiyorum
Izmir google seo çalismasi nasil yapilir
Izmir seo firmasi ariyorum

Meşe Bilişim Yazılım Mekatronik Eğitim İthalat İhracat Sanayi ve Ticaret Limited Şirketi
Muradiye Mah. Celal Bayar Üniversitesi Kampüsü Teknoloji Geliştirme Bölgesi İçi Merkezi Apt.No:22 - 202 YUNUSEMRE / MANİSA



Müşterilerimize daha iyi hizmet vermek için hizmete aldığımız Meşe Bilişim Whatsapp Kurumsal hesabı ile artık 7 gün 14 saat iletişime geçebilirsiniz. Meşe Bilişim kurumsal hesabına ulaşmak için alttaki logoya tıklamanız yeterlidir.

Celal Bayar Üniversitesi Bilgisayar Mühendisliği 1. sınıf öğrencileri ile yaptığımız C Programlama Eğitiminin 3. dersini Teknokent Konferans salonunda gerçekleştirdik.

Bu haftaki konumuz if, else, for, while ve do while yapıları idi.

Eğitim notları Meşe Bilişim İntern Öğrencimiz Sümeyye ÖZKAN tarafından hazırlanıp sunulmuştur.



Arduino içerisinde kalıcı ve geçici hafıza bölümleri vardır. Yazdığımız kodlar kalıcı bölümlerde kaydedilirken programın çalışması esnasında oluşan değişkenler geçici hafızalarda kaydedilir. Arduinodan enerji kesildiği zaman geçici hafızada olan veriler silinir. Eğer program esnasında elde ettiğimiz değerleri kaydetmek istersek başka bir hafızaya ihtiyaç duyarız. Arduinoda elde ettiğimiz verileri saklayabildiğimiz EEPROM (Electronically Erasable Programmable Read Only Memory) bellekler mevcuttur. Bu belleklerin boyutları mikrodenetleyici modellerine göre değişkenlik gösterebilir. Örnek olarak atmega328 de 1kb, atmega168 de 512 mb, atmega2560 da 4kb eeprom hafıza yer alır.
EEPROM hafızaları kullanmak için 2 komut mevcuttur. EEPROM.write(adres,degisken) komutu ile istediğimiz adrese değişkenimizin değerini atarız. EEPROM.read(degisken) komutu ile daha önce kayıtlı bir değişkenin değerini okumuş oluruz. Şimdi bu konuyla alakalı bir örnek tasarlayalım. Birden sonsuza kadar sayma işlemi yapalım ve seri port ekranında gösterelim. Her sayma işleminden sonra değişkenimiz kaydedilsin. Böylece eğer kartımızdan enerji kesilirse veya reset atılırsa sayımız kaldığı yerden saymaya devam edecektir. Şimdi bu örneğin kodunu yazalım.


[code]
#include <EEPROM.h>
int adrs = 10;              // istenilen değerin kaydedileceği adres birimi
int i = 0;                      // sayma yapacağımız değişken
void setup() {
  Serial.begin(9600);
  i = EEPROM.read(adrs);           // EEPROM kaydedilmiş değer i değişkenine atanır
  i=i+1;
  }
void loop() {
  EEPROM.write(adrs,i);           // son i değeri EEPROM kaydedilir
  Serial.println(i);                      // i değişkeni seri port ekranında yazdırılır
  i=i+1;                                       // sayımız bir arttılr
  delay(300);                             // 300 ms bekleme
}
[/code]

Kodumuzu atıp çalıştırdıktan sonra arduinomuza reset atalım yada doğrudan enerjisini keselim. Sayma işlemine devam ettiğini göreceksiniz.




Seri port ekranından bir değer girerek bilgisayarımızdan arduinomuzu kontrol edebiliriz. Bunun nasıl olduğunu anlayabilmek için bir örnek tasarlayalım. Programda sıfırdan sonsuza kadar birer birer sayma işlemi yapalım. Sayma işlemini seri port ekranında göstereceğiz. Sonra seri port ekranında istenilen bir değer girildiğinde o andaki değeri eeprom hafızasına kaydedilmesini sağlayacağız. Daha sonra enerji kesilip arduino tekrar başlatıldığında eeproma kaydettiğimiz değerden saymaya devam etmesini sağlayacağız. Hatta kaydettiğimiz sayının hangisi olduğunu yine seri port ekranında gösterelim.
Şimdi bu özelliği kullanabilmek için seri port kesmesini bilmemiz gerekir. Seri porttan bir değer girdiğimizde ana programdan çıkıp kesme fonksiyonuna geçiş yaparız. Bu fonksiyonda yazdığımız komutlar bittikten sonra ana döngüye geri döneriz. Bunun için “void serailEvent()” komutunu kullanırız. Örneğimizin kodlarını yanlarına açıklama satırları ile aşağıya aktarıyorum.

#include <EEPROM.h>         // EEPROM kütüphanesi eklenir

int adrs = 10;                        // EEPROM da kullanacağımız adresin değeri
int i = 0;                                   // sayma yapacağımız değişken
char kyt = 'kaydet';            // seri porttan girmek istediğimiz değer
char data;                           // seri porttan girdiğimiz değerin tutulduğu değişken

void setup() {                   
  
Serial.begin(9600);        // seril port ile haberleşmenin başlatılması
  i = EEPROM.read(adrs);      // EEPROM da kaydettiğimiz değeri i değişkenine atıyoruz

}

void loop() {                               
Serial.println(i);                         // değişkenimizi seri port ekranında gösteriyoruz

  i=  i+1;                                    // i değişkeni bir artırıyoruz
  delay(300);                               // 300 ms bekletiyoruz

}

void serialEvent()   //Seri port üzeriden veri geldiğinde serialEvent fonksiyonuna geçiş yaparız

{

  while (Serial.available())       // veri alındığı sürece döngü devam eder

  {

   data = char(Serial.read());      // seri port ekranından giriş yaptığımız değer data değişkenine atanır
   if (data == kyt) {       // daha önceden değerini belirlediğimiz “kyt” değişkeni ile data karşılaştırılır
   EEPROM.write(adrs, i);     // eğer if değeri doğru ise gönder dediğimiz andaki i değeri kaydedilir
   Serial.print("kaydedilen i değeri   "); // kaydettiğimiz i değeri ekrana yazdırılır
   Serial.println(i);                                 // kaydettiğimiz i değeri ekrana yazdırılır
    }


  }

}
       



Görüntü işlemeyi bir çok alanda kullanmaktayız.Python,java,c# v.s bir çok dille yapabilmekteyiz.
Açık kaynak olarak kullanabileceğimiz en bilindik kütüphane OpenCv kütüphanesidir.
OpenCv kütüphanesi c++ dili  ile yazılmış bir kütüphanedir.Biz  c++ dilini kullanarak OpenCv kütüphanesini direk kullanabiliriz.Fakat diğer teknolojilerde kullanabilmemiz için OpenCv ile uygulamamız arasında iletişim kuracak ara bir kütüphaneye ihtiyacımız vardır.
C# uygulamasında bu işlem aşağıdaki resimdeki gibidir.


Performans bakımından bakarsak alt seviyedeki kütüphane hızlı çalışacaktır.C# adına kullabileceğimiz ara kütüphanelerden(Wrapper)
bazıları şunlardır:

  1. EmguCv (https://sourceforge.net/projects/emgucv/ indirebilirsiniz.)
  2. OpenCvSharp(https://github.com/shimat/opencvsharp indirebilirsiniz.)
  3. SharperCv
  4. OpenCvdotnet(https://code.google.com/archive/p/opencvdotnet/downloads indirebilirsiniz.)



Çevre Analizinde IoT

IoT ile hava durumu, kirlilik kontrolü ile yangın, deprem, tsunami gibi afetler erken uyarı sistemleri sayesinde uyarı sistemleri yapılabilmektedir. Bulut tabanlı IoT uygulamalar sayesinde hava, su, toprak gibi sensörlerle algılanan çevresel parametreler etkili bir şekilde izlenebilir duruma gelmektedir.

  • Bulut tabanlı hava izleme
  • Gürültü ve hava kirliliği izleme
  • Yangın algılama sistemleri
  • Deprem ve tsunami erken uyarı sistemi
  • Toprak durum izleme





Arayüzler:
LocationListener: Konum değiştiğinde,LocationManager'den  bildirim almak için kullanılır.
OnNmeaMessageListener: GNSS'den NMEA cümleleri almak için kullanılır.

GNSS(Global Navigation Satellite System(Küresel Uydu Serfisüfer Sistemi)): GNSS aracılığıyla uzaydan yollananan dalgalarla yeryüzünde bulunan elektronik alıcılar bulundukları noktanın ve yakın çevresinin enlem,boylam ve yüksekliğini bulunduğu noktada yerel saatin kaç olduğunu tam olarak hesaplayabilir.

NMEA: Uydu aracılığıyla düzenli olarak kodlanmış bilgi yollayan cümlelere NMEA protokolü denir.

SINIFLAR:
Address(Adres): Bir konumu açıklayan bir dizi dizilerdir.
Criteria(Kriterler): Bir yer sağlayıcı seçmek için uygulama kriterlerini gösteren sınıftır.
Ceocoder: Coğrafi kodlama ve ters kodlama için bir sınıftır.
GnssClock: GPS saat zaman damgasını içeren bir sınıftır.
GnssMeasuerment: Ham ve hesaplanmış bilgi içeren bir GNSS uydu ölçümünü temsil eden bir sınıftır.
GnssMeasurementsEvent: Bir ölçüm olayıyla ilişkili veriler için bir kapsayıcı uygulayan bir sıınıftır.
GnssMeasurementEvent.Callback: GNSS motorundan GNSS uydu ölçümlerini almak için kullanılır.
GnssNavigationMessage: GNSS uydu navigasyon mesajı içeren sınıftır.
GnssNavigationMessage.Callback: GNSS motorundan GNSS uydu navigasyon mesajlarını almak için kullanılır.
GnssStatus: Bir sınıf GNSS motorun mevcut durumunu gösterir.
GnssStatue.Callback: GNSS olayları olduğunda bildirim almak için kullanılır.
Location: Coğrafi konumu temsil eden bir veri sınıfıdır.
LocationManager: Sistem yer hizmetlerine erişim sağlar.
LocationProvider: Yer sağlayıcıları için soyut bir sınıftır.
SettingInjectorService: Sistem ayarları uygulaması tarafından görüntülenen uygulama ayarlarına enjekte edilen bir tercihin etkinleştirilmiş durumunu dinamik olarak belirtir.
Birden çok uygulamayı etkileyen tercihler için yalnızca sistem görüntüsünde bulunan uygulamalar tarafından kullanım içindir.

ARAYÜZLER
 GpsStatus.Listener
   public static interface GpsStatus.Listener
          android.Location.GpsStatus.Listener
                 Gps durumu değiştiğinde bildirim almak için kullanılır.
   public abstract void onGpsStatusChanged(int event)
        GPS durumundaki değişiklikleri bildirmek için kullanılır. Etkinlik numaraları şunlardır:
        GpsStatus.GPS_EVENT_STARTED
        GpsStatus.GPS_EVENT_STOPPED
        GpsStatus.GPS_EVENT_FIRST_FIX
        GpsStatus.GPS_EVENT_SATELLITE_STATUS
    Bu yöntem çağrıldığında, istemci LocationManager.getGpsStatus(GpsStatus) ek durum bilgisi almak için çağrılmalıdır.


 GpsStatusNmeaListener
    public satic interface GpsStatus.NmeaListener
           android.location.GpsStatus.NmeaListener
                   GPS'den NMEA cümleleri almak için kullanılır. GPS motorundan NMEA verilerini almak için LocationManager.addNmeaListener(GpsStatus.NmeaListener) bu arayüzü uygulayabilir ve çağrı yapabiliriz.

  LocationListener
     public interface LocationListener
           android.Location.LocationListener
                   Konum değiştiğinde, LocationManager'den bildirim almak için kullanılır.  LocationManager.requestLocationUpdates(string,long,float,LocationListener) yöntemi kullanarak konum yöneticisi hizmetine kayıtlıysa çağrılır.
       onLocationChanged
             public abstract void onLocationChanged(Location, location)
                   Konum değiştiğinde çağrılır.
       onProviderDisabled
             public abstract void onProviderDisabled(String, provider)
                   Sağlayıcı kullanıcı tarafından devre dışı bırakıldığında çağrılır.
      onProviderEnabled
             public abstract void onProviderEnabled(String, provider)
                   Sağlayıcı kullanıcı tarafından etkinleştirildiğinde çağrılır.
     onStatusChanged
            public abstract void onStatusChanged(String, provider, int Status, Bundle extras)
                  Sağlayıcı durumu değiştiğinde çağrılır. Bu yöntem, bir sağlayıcı bir konum alamadığında veya sağlayıcı uygun bir süre sonra kullanımı sunulduğunda çağrılır.

OnNmeaMessageListener
    public interface OnNmeaMessageListener
           android.location.OnNmeaMessageListener
                  GNSS'den NMEA cümleleri almak için kullanılır.
      onNmeaMessage
           public abstract void onNmeaMessage(String message, long timestamp)
                 Bir NMEA mesajı alındığında çağrılır.




SINIFLAR
Adres
      public class Address
            android.Location.Address
                   Bir konumu açıklayan bir dizi Dizelerdir.
  clearLatitude
      public void clearLatitude()
            Bu adresle ilişkili herhangi bir enlemi kaldırır.
  clearLaongitude
      public void clearLongitude()
            Bu adresle ilişkili herhanngi bir boylamı kaldırır.
  describeContente
     public int describeContents()
            Burada özel nesnelerin türlerini tamamlamalıyız.
   getAddressLine
     public String getAddressLine(int index)
            Belirtilen dizinin (0'dan başlayarak) numaralı adres satırını veya böyle bir satır yoksa null                    değerini döndürür.
   getAdminArea
      public String getAdminArea()
            Adresin yönetim alanı adını döndürür
   getCountryCode
      public String getCountryCode()
            Adresin ülke kodunu döndürür.
   getCountryName
      public String getCountryName()
             Adresin yerelleştirilmiş ülke adını döndürür.
   getExtras
      public Bundle getExtras()
             Bir Bundle adresiyle ilgili ek sağlayıcıya özgü bilgileri döndürür.Anahtarlar ve değerler                       sağlayıcı tarafından belirlenir.
   getFeatureName
      public String getFeatureName()
             Adresin özel adını döndürür.
   getLatitude
      public double getLeatitude()
             Biliniyorsa adresin enlemini döndürür.






























      GPS (Global Positioning System(Küresel Konumlandırma Sistemi)) 1940 yıllarında geliştirilmeye başlanmış ve ilk başlardaki amaç askeri alanlarda kullanmaktı ancak 1980 yıllarında sivil halkın kullanımına sunulmuştur. GPS sinyalleri bulut,cam, plastik gibi cisimlerden geçebilirken duvar ve dağ gibi cisimlerden geçemezler.
      GPS sinyalleri bazı noktalarda yetersizdir yani hatalı sinyal alınabilecek bölgelerde veya hiç sinyal alınamayacak bölgelerde Diferansiyel GPS'ler kullanılarak hatalar en aza indirgenmektedir.
   

      GPS Çalışma Prensibi: Dünya yörüngesinde 24 adet GPS uydu alıcısı bulunmaktadır ve bu uydular 24 saatte 2 tam tur atmaktadırlar. GPS uydu alıcıları bulunması gerekilen yerleri enlem ve boylam olarak hesaplar. Enlem ve boylam olarak belirlemek için 3 GPS, enlem, boylam ve yükseklik olarak ise 4 adet GPS uydusundan yararlanılır. GPS uydu alıcılarında oldukça hassas atomik saatler bulunmaktadır işte bu saatler sayesinde dünya üzerindeki konumumuz bulunabilmektedir. Bu atomik saatler diğer uydular ve yeryüzündeki saatler ile işbirliği içinde çalışmaktadırlar ve herhangi bir sapma günlük olarak düzeltilmektedir. Dünya üzerindeki herhangi bir GPS alıcısı çalıştırıldığında kapsama alanında bulunan GPS uydu alıcılarından  en az 3 tanesinden bu sinyallere ihtiyaç duyar ve gelen saat bilgilerinin mutlak zamanda ne kadar sapma yaptığını bularak her bir uydudan uzaklığını öğrenebilen GPS alıcısı , bu bilgiler ile dünya üzerindeki konumunu hesaplayabilmektedir.


   Günümüzde 3 çeşit GPS alıcısı bulunmaktadır. Bunlar:
   Adi Edinimli Kod Alıcısı
   Taşıyıcı Faz Alıcıları
   Çift Frekans Alıcıları

   Uydu Cihazı Yapan Ülkeler:
   İlk olarak Amerika Birleşik Devleti yapmıştır.
  • Amerika Birleşik  Devleti:GPS
  • Rusya:GLONASS
  • Hindistan: IRNSS
  • Çin: BEİDOU(BDS)
  • Avrupa Ülkeleri:GALİLEO
GPS UYDUNUN KULANIM ALANLARI:

      1. Askeri Kullanım Alanları:
      Arama-Kurtarma
      Hedef izleme
      Navigasyon
      Keşif

      2. Sivil Kullanım Alanları:
      Jeoloji
      İşaretleme
      İzleme
      Navigasyon
      Yüzey Ölçümü
      Harita Yapımı


























 

     
Android Studio da ekrana resim ekleme ve x,y koordinatlarına göre resmi
hareket ettirme:

 // display the current x,y,z accelerometer values
public void displayCurrentValues() {
    imageView(Float.toString(deltaX) + " " + Float.toString(deltaY)
+"" + Float.toString(deltaZ));   
 
 Log.d("x", Float.toString(deltaX));   
 Log.d("y", Float.toString(deltaY));   
 Log.d("z", Float.toString(deltaZ)); 
  
   if(deltaX < 2) {
        imageView.setImageResource(R.drawable.agac3);
// burada agac3 yerine eklenmek istenilen resmin adı yazılmalıdır
}
    else if(deltaY<2){
        imageView.setImageResource(R.drawable.agac2);
// burada agac2 yerine eklenmek istenilen resmin adı yazılmalıdır
   
}
    else{
        imageView.setImageResource(R.drawable.agac); 
// burada agac yerine eklenmek istenilen resmin adı yazılmalıdır
       }
}

Constructors(Yapılandırıcılar):
Metodlar verdiğimiz komutlar doğrultusunda bize belirli işlemleri tamamlayan yapılardı ve ihtiyaç duyduğumuz kısımlarda bu metodu çağırıp işlemlerimizi gerçekleştirebiliyorduk. Fakat bazı durumlarda bir sınıftan nesne oluşturduğumuz anda bazı işlemlerin yerine getirilmiş halde olmasını isteyebiliriz. İşte burada yapılandırıcı metod bize yardımcı olacaktır.
Yapılandırıcı metodlar nesneyi oluşturduğumuz anda çalışan metodlardır. Yapılandırıcı metodların bir geri dönüş tipi(void dahil) yoktur. Yapılandırıcının yaptığı iş, bir nesneyi ilk kullanıma hazırlamaktır.

Yapılandırıcı metod da dikkat edilmesi gerekilen hususlar;
 .Yapılandırıcıların erişim belirteci mutlaka  public olmalıdır.

· Yapılandırıcıların adı sınıfın adıyla aynı olmalıdır.

· Yapılandırıcı metot çağrılırken new anahtar sözcüğü kullanılır.

· Yapılandırıcılar bellekte nesneye bir yer ayrılmasını sağlarlar.

· Yapılandırıcılar her çağırılışlarında yeni bir nesne oluştururlar.


Örnek olarak;

   public class YapılandırıcıMetod { 

    public int sayi1;
    public int sayi2;

    public YapılandırıcıMetod () {
        sayi1= 0;
        sayi2= 0;
    }

    public YapılandırıcıMetod (int c1, int c2) {
        sayi1= c1;
        sayi2= c2;
    }

    public static void main(String[] args){
    YapılandırıcıMetod c= new YapılandırıcıMetod (2,6);
    System.out.println("1. sayı: "+ c.sayi1);
        System.out.println("2. sayı: "+ c.sayi2);
    }   }


// Burada class içinde sayi1 ve sayi2 adında nesnelerimizi tanıttık ve 2. class içinde başlangıç değerlerini verdik. Daha sonra sayi1 ve sayi2 değerlerimizi int değerinin olduğunu belirttik ve ardından void içinde metodumuzu çağırdık, ekrana bastırmak istediğimiz değerleri bastırdık.

          Java'da bir metod içinde tanımlı olan sınıftan oluşturulacak olan ayrıca o nesnenin değişkenini tanımlamamız gerektiğinde kullanırız yani değişken isimlerinin karışıklığını önlemek amacıyla kullanılır. This hangi nesne üzerinde işlem yapılıyorsa o nesneyi döndürür bize.  Ayrıca this ile aynı sınıf içinde diğer yapıcı metodları da çalıştırabiliriz. This deyimini bir static içinde değil sınıflar içinde kullanabiliriz çünkü this sınıflara ait nesnelerin oluşturulmasıyla bellekte yer tutar.

This kullanımı: this.değişken_ismi

Örnek olarak;

public class This{
    

    private final String isim;
    private final String soyad;
    private final String numara;
    
    

    public This(String isim, String soyad, String numara) { 
        this.urunadi= isim; 
        this.marka = soyad; 
        this.model = numara;
        System.out.println(isim+ " " + soyad+ " " + numara);
    } 
    public static void main(String[] args){
    This c= new This("Cansu",Candan","197");  
     }  }

// burada This adında sınıf oluşturduk ve sınıfın içinde içinde isim, soyad ve numara tanıttık. Sonra this kullanarak constructors içinde bu sınıf içinde tanımladığımız nesneleri çağırdık. Daha sonra main kısımda ekrana bastırılacak olan bilgileri verdik ve kodumuzu çalıştırdık.
IOCHAIN; IOT Internet of Things Nesnelerin interneti projelerinde kullanılan sensörlerden gelen verilerin blockchain teknolojisi üzerinde uygulanmasıdır. Nesnelerin interneti (IoT) sektörü büyümesini sürdürdükçe verilerin toplanması ve analiz edilmesi büyük önem kazandı. 
blockchain iot
Blockchain şifrelenmiş verilerin dağıtık veri tabanı olarak tanımlayabiliriz. Verileri zincirleme bir modelle inşa edilen, takip edilebilen ama kırılamayan Blockchain teknolojisi, bir merkeze bağlı olmaksızın işlem yapmaya izin vermektedir. Böylece işlemler direkt olarak sensörler ve makinalar arasında güvenli bir şekilde gerçekleştirilmektedir.

iOchain hakkında daha fazla bilgi almak ve sensörlerinizi blockchain teknolojisi ile kullanmak için iOchain sitesini takip ediniz.


Meşe Bilişim Instagram sayfası yayına girdi.
Instagram sayfamıza https://www.instagram.com/mesebilisim/ adresinden ulaşabilirsiniz.

Son günlerde 50 den fazla firmadan gelen virüslü mail içeriği ile ortalıkta spam ve saldırı amaçlı sahte elektronik posta dolaşmaktadır. Firmalar gelen maile tıkladıkları anda kişi listesi virüs tarafından ele geçiriliyor ve posta listesindeki firmalara posta gönderiliyor. 

Virüslü mail Rar olarak sıkıştırılmış Microsoft Word dosyası içerisinde Microsoft Excel dosyası yerleştirilmiş haldedir. 

Çalışanlarınızı uyararak bu tür bir posta nın açılmasını engelleyiniz.

Virüslü posta içeriği :
"""
MERHABALAR.  '18'  parca Siparisimiz Bulunmaktadir..
siparis Listesi ektedir 
 
Mailinizi bekliyorum
xxx@xxx.com
02.05.2018
 
"""
Virüslü mail resimdeki gibidir.
Virüslü Elektronik Posta












Meşe Bilişim şirketinde Software Testing dersi süresince öğreneceğimiz Django web çatısı hakkında ki yazı serimiz devam ediyor. Bu yazımızda da Django 1.9 sürümü ve GNU/Linux işletim sistemleri ile çalışıldığı varsayılmıştır.

Geçtiğimiz yazıda Django Proje Oluşturmaktan bahsetmiştik. Şimdi sıra ilk web uygulamamızı oluşturmaya geldi. Proje dizinimizde sanal ortamımızı (bkz:Virtual Environment nedir?) aktifleştirelim ve başlayalım.

(myvenv) ~/mesebilisimsw/proje $ python manage.py startapp blog

Yukarıda yer alan komutu terminal üzerinden işlettiğimizde Django bizim için ilk web uygulamamızı oluşturacaktır. Derslerimiz bir "blog" örneği üzerinden ilerlediği için uygulamamızın ismini "blog" olarak belirledik.

Projemizin yer aldığı dizinde oluşan yapının şu şekilde görünmesi gerekiyor.

├── blog
│   ├── admin.py
│   ├── apps.py
│   ├── __init__.py
│   ├── migrations
│   │   └── __init__.py
│   ├── models.py
│   ├── tests.py
│   └── views.py
├── db.sqlite3
├── manage.py
└── proje
    ├── __init__.py
    ├── settings.py
    ├── urls.py
    └── wsgi.py

Başarılı bir şekilde ilk uygulamamızı oluşturduk. Bu adımın ardından projemizin settings.py dosyasında düzenleme yapmamız gerekiyor.

(myvenv) ~/mesebilisimsw/proje/proje dizininde yer alan settings.py dosyasını açınız. Projemiz ile ilgili ayarların yer aldığı bu dosya içerisinde INSTALLED_APPS bölümünü bulunuz ve "blog" uygulamamızı buraya ekleyiniz.

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'blog',
]

Değişiklikleri yaptıktan sonra görünümün yukarıdaki gibi olması gerekmektedir. Bu satırı ekleyerek web çatısına "blog" isimli uygulamamızı projemiz dahilinde kullanacağımızın bilgisini vermiş olduk. İlk Django web uygulamamızı bu şekilde oluşturmuş olduk.
Meşe Bilişim şirketinde Software Testing dersi süresince kullanacağımız araçlardan birisi olan Virtual Environment nedir, neden ihtiyaç duyuyoruz kısaca bu yazı ile bahsetmek istedim.

Python Virtual Environment; Türkçe ismi ile Sanal Ortam. Peki sanal ortamlara neden ihtiyaç duyuyoruz, bu araç hangi sorunun çözümü yazının geri kalanında bu soruya kapsamlı olmasa da yanıt vereceğiz.

Meşe Bilişim şirket kurucusu Şahin Mersin tarafından 2.hafta dersinde anlatılan Django kurulumu öncesinde bilmemiz gereken bir araç olan Sanal Ortam; birden fazla Python projelerinde olabilecek paket çakışmalarını önlemek amacı ile kullanılmaktadır.

Örnek vermek gerekirse; derste geliştirmekte olduğumuz blog uygulaması için Django 1.9 sürümünü kullanıyoruz. Fakat Django 2.0.2 sürümü yayınlandı. Sanal ortam aracılığıyla "blog" uygulamamızda Django 1.9 sürümünü kullanırken başka bir projede Django 2.0.2 yada farklı bir sürüm kullanabiliriz.


Sanal ortam sayesinde bir birinden ayrı projeler için yüklediğimiz yada sildiğimiz paketler, paket sürümleri birbirini etkilemez. Bu sayede projelerimizin yönetimi de bizim için daha kolay hale gelmektedir.

Virtual Environment kurulumu

python3 -m venv myvenv

Proje dizininde yukarıdaki komutu işlettiğinizde sanal ortamınız oluşacaktır. Oluşan sanal ortamın ismi de "myvenv" olacaktır. Burada dilediğiniz gibi isimlendirme yapabilirsiniz.

Terminal üzerinden verdiğimiz komut sonrasında sanal ortamımız oluştu fakat şu anda aktif değil kullanım için aktif etmemiz gerekmektedir.

cd myvenv/bin

source activate

Yukarıdaki komutları terminal aracılığıyla işlettiğimizde artık sanal ortamımız aktif ve bu proje için kullanacağımız web çatısı paket ve modüllerin sürümü sadece bu ortamımız için geçerli olacak. Oluşturulan bu izole ortam sayesinde tüm projelerimiz birbirinden ayrı şekilde karışıklık olmadan yönetilebilir hale getirdik.

Software Testing dersi süresince Linux dağıtımlarından Ubuntu işletim sistemini kullanacağız, fakat  öğrenci grubumuz arasında Windows işletim sistemini kullananların sayısı oldukça fazla bu nedenle Windows Subsystem for Linux kısaca WSL teknolojisinden kısaca bahsedeceğim.

Windows geliştirici takımı, Windows Subsystem for Linux ismini verdikleri WSL altyapısı sayesinde Ubuntu Bash Shell, Windows 10 işletim sistemi içerisinde çalışabiliyor. Windows 10 kullanıcıları bu teknoloji sayesinde Bash scriptleri Linux komut satırı araçlarını kendi işletim sistemlerinde kullanabiliyorlar.
 

Ubuntu Bash Kurulumu

Ayarlar > Güncelleştirme & Güvenlik > Geliştiriciler adımlarını takip ederek karşınıza çıkan ekranda "Geliştirici Modu"aktif hale getirmeniz gerekmektedir.

Daha sonra Windows Özellikleri ekranından Windows Subsystem for Linux yada Linux için Windows alt sistem özelliğini aktifleştirmeniz gerekmektedir. Bu adımın ardından bilgisayarınızı yeniden başlatmanız gerekir.

Ardından Windows Store açıp Ubuntu kelimesini aratın ve karşınıza çıkan Ubuntu (Canonical Grup Limited) uygulamasını seçin ve yüklenmesini bekleyiniz. Kurulum tamamlandığında uygulamayı açınız.

Karşınıza çıkan ekranda sizden yeni UNIX kullanıcı adı ve şifrenizi belirlemenizi isteyecektir. Bu adımları da tamamladıktan sonra Ubuntu Bash'i Windows 10 içerisinde  kullanmaya devam edebilirsiniz.

Bu araç ile birlikte Ruby, Python, Git gibi programlama dili veya sistemleri bir Linux dağıtımda çalışıyormuşsunuz gibi tecrübe edebilirsiniz. Tabi ki bu teknolojiden Linux dağıtımı performansı beklemek yersiz olur fakat Windows kullanıcıları için oldukça güzel bir seçenek olmuş.
2021 yılında 50 Milyar dan fazla cihazın bağlı olacağı nesnelerin interneti tekolojisi Endüstri 4.0 olarak isimlendirilen dijital dönüşümün bir parçasıdır.

Endüstri 4.0 teknolojileri alt teknolojileri kapsar;
  • Büyük veri
  • IoT ve M2M Nesnelerin interneti
  • Bulut çözümleri
  • 3D Baskı makinaları ve ürünleri
  • Robot ve otomasyon sistemleri
  • Simulasyon
  • Ağ güvenliği - Veri  güvenliği
  • Yazılım  ve entegrasyon
  • Arttırılmış gerçeklik


Virtual environment, Python tabanlı uygulamalarımız için izole bir sistem oluşturmamızı sağlar. Bu anlam olarak her projenin kendine has bağımlılıklara
sahip olması ile açıklanabilir. Bu sistem ayrıca versiyon uyuşmazlıklarının önlemek için birden fazla virtual environment oluşturulmasını gerektirir.
En basitinden kullandığımız sistem üzerinde farklı çalışmalarımız için farklı Python versiyonları bulundurmamız gerekebilir(Örneğin 2.7& 3.6 gibi).
Virtual environment ayrıca proje üzerinde kolay yönetime ve denetlemeye imkan tanır. Virtual enviroment kendine spesifik bir sunucu sistemi üzerinde çalışır. Kullandığımız
paketler bu sistem içerisinde tutulacağı için çalıştığımız işi kaldırmak istediğimizde, üzerinde çalıştığımız diğer projeleri etkilemeden kolaylıkla bu eylemi
gerçekleştiririz. Virtual environment globalde bulunan modül ve kütüphanelerimize linkler aracılığıyla bağlanır.Bu bize alan tasarrufu ve özellikle büyük verilerle
uğraştığımız, zamanın daha ön planda olduğu hesaplama işlerinde hız kazancı sağlar.

KURULUM

1-)Öncellikle bizim üzerinde çalışacağımız proje Python 2 üzerinde olacağı için pip aracılığı ile aşağıdaki command ile kolaylıkla gerçekleştirilebilir.

pip install virtualenv

*Python 3 üzerinde geliştirme yapılacaksa dilin kendi standard kütüphanesi içerisindeki venv modülü kullanılabilir.
(virtualenv ile venv birbirinden çok farklı toollardır(komut ve bazı işlevleri ile); buradaki açıklama virtualenv için geçerlidir.Python 3 tabanlı geliştirme yapılacaksa venv incelenmelidir.)

2-)Çalışma ortamı için yeni bir klasör oluşturulması gerekir.Aşağıdaki ifade çalıştırılır.

mkdir ~/virtualenv

Oluşturduğumuz ortam içerisinde, uygulamamız ve Python sürümümüzün temiz bir kopyası bulunmalıdır.Aşağıdaki ifade çalıştırılır.

virtualenv ~/virtualenvironment/proje

Projemizle çalışabilmemiz için, buluntuğu dizine gelmemiz ve virtual environmenti aktif etmemiz gerekir. Virtual environmenti aktif etmek, sistemin $PATH değeri üzerinde değişiklik yapar.Ortamımızı aktif ettiğimizde virtual enviromentimizin "bin" klasörü $PATH içerisinde başlar.Teorik olarak ikisi arasında bir fark yoktur. Virtual environment symlinkini sistemimizin Python binarysine "bin" bağlar.

cd ~/virtualenvironment/proje/bin

Son olarak ortamı aktif etmek için;

source activate

Bu aşamadan sonra pip veya easy_install get installed into proje/lib/python2.7/site-packages
dizini altında istediğimiz paketleri tutup, kullanabiliriz.