https://www.youtube.com/watch?v=WJxg3b_gb7c

JSON NEDİR?

Veri saklama formatıdır.

Veri Saklama ve Transfer Formatları;

  • .csv
  • .xml
  • .json
  • .bson

Json’ın diğerlerinden farkı;

Json(JavaScript Object Notation-JavaScript Nesne Notasyonu) insanlar için okunabilir olan bilgi saklama ve alışveriş formatıdır.

CSV Örnek(noktalı virgülle ayrılmış);

Adı; SoyAdı

Ahmet; Deniz

JSON Örnek;

{ } →Süslü parantezler Json nesnesi gönderdiğimizi belirtiyor.

[ ] → Tag’ler bir dizi gönderdiğimizi belirtiyor.

Tırnak içleride “key value” : “key value” şeklinde veri gönderimi yapıyor.

{

“Adi” : “Ahmet”,

“SoyAdi” : “Deniz”

}

Az veri olduğu için csv daha avantajlı gözüküyor. Veriyi arttırdığımızda;

CSV Örnek;

Adı; SoyAdı

Ahmet; Deniz

Ali; Ak

JSON Örnek;

[

{“Adi” : “Ahmet”

“Soyadi” : “Deniz”

},

{

“Adi” : “Ali”

“SoyAdi” : “Ak”

}

]

Json’ın okunurluğu artıyor tabi bunun yanında karakter sayısıda artıyor.

Hangi durumlarda .csv , .xml ya da json kullanmalıyız bunun püf noktaları vardır. Bunlara bakalım. Eğer çok büyük miktarda veri gönderiyorsak gönderdiğimiz byte miktarı önemliyse .csv tercih edilebilir. Bunun dışındaki tüm durumlarda Json kullanabilir.

CSV Örnek;

Adı ; SoyAdı

Ahmet ; Deniz

Ali ; Ak

46 Karakter

JSON Örnek;

[

{

“Adi” : “Ahmet”

“SoyAdi” : “Deniz”

},

]

“Adi” : “Ali”,

“SoyAdi” : “Ak”

}

]

84 Karakter

JSON Örnek (Aynı verinin daha da sıkıştırılmış hali);

[

   {“Adi” : [

   “Ahmet”, “Ali”

]},

   {“SoyAdi” : [

     “Deniz”, “Ak”

       ]

     }

]

63 Karakter

Json’ı “key value” “key value” demek yerine bir kere “key value” diyerek “Adi” yazıp [tag’in içine bütün verileri gönderebiliriz. “SoyAdi” yazıp bütün soyadı verilerini gönderebiliriz. Bu tarz kullanımlar büyük verilerde çok kolaylık sağlar veriyi işlerken buna dikkat ederek işleriz.

Csv’de en az veri ile gönderiliyor fakat aşağıdaki gibi bir Json datasını csv ile göndermek çok zor.

{

 “glossary”:{

  “title”: “example glossary”,

    “GlossDiv”:{

     “title”: “S”,

      “GlossList”:{

       “GlossEntry”:{

           “ID”: “SGML”,

              “SortAS”: “SGML”,

            “GlossTerm”: “Standard Generalized Markup Language”,

            “Acronym”: “SGML”,

            “Abbrev”: “ISO 8879:1986”,

           “GlossDef”: {

           “para”: “A meta- markup language, used to create markup

Languages such as DocBook.”,

                 “GlossSeeAlso”: [“GML”, “XML”]

             },

               “GlossSee”: “markup”

         }

       }

     }

   }

}

387 Karakter olarak gidiyor.Aynı veriyi xml’de gösterelim;

<DOCTYPE glossary PUBLIC “-//OASIS//DTD DocBook V3.1//EN”>

 <glossary><title>example glossary </title>

   <GlossDiv><title>S</title>

    <GlossList>

     <GlossEntry ID=”SGML” SortAs=”SGML”>

      <GlossTerm>Standard Generalized Markup Language</Gloss Term>

       <Acronym>SGML </Acronym>

       <Abbrev>ISO 8879:1986</Abbrev>

       <GlossDef>

        <para>A meta-markup language, used to create markuP

Languages such as DocBook.</para>

         <GlossSeeAlso OtherTerm=”GML”>

         <GlossSeeAlso Other Term=”XML”>

       </GlossDef>

     <GlossSee OtherTerm=”markup”>

   </GlossEntry>

   </GlossList>

 <GlossDiv>

<glossary>

538 Karakter

Burada verimiz büyüyor ve okunaklılığı azalıyor.

JSON Veri Tipleri

  • Json Object
  • Json Array
  • String
  • Boolean
  • Rakam
  • Null

Bir uygulama örneği yapalım ; File > new > Multi Device Application >Blank Application. Boş uygulama açarak başlıyoruz. Palette >Edit1- Label1- Button1- TMemo1 ekliyoruz. Label1>name→ Adı – Edit1> name→EditAd – Button1> name→ btnJsonYaz. Buttona çift tıklıyoruz kod satırına gidiyoruz kod yazmadan önce uses kısmına gidiyoruz system.JSON kütüphanelerini ekliyoruz kullanabilmek için.Kod yazmaya başlayabiriz.


procedure  TForm2.btnJsonYazClick(Sender : TObject);
var
Jnesnesi : TJSONObject;
begin
Jnesnesi := TJSONObject.Create;
Jnesnesi.AddPair(‘Adi’,EditAd.Text),
Memo1.Lines.Add(Jnesnesi.ToString);
end;
end.

Çalıştırıyoruz edit’e veri giriyoruz ve memoya aktarıldığını görüyoruz.

Palette> Edit ekliyoruz bir tane daha. Edit>name→EditSoyad diyoruz. Tekrar aynı kod satırına gidip ekleme yapıyoruz.


procedure  TForm2.btnJsonYazClick(Sender : TObject);
var
Jnesnesi : TJSONObject;
begin
Jnesnesi := TJSONObject.Create;
Jnesnesi.AddPair(‘Adi’,EditAd.Text),
Jnesnesi.AddPair(‘SoyAdi’, EditSoyad.Text);
Memo1.Lines.Add(Jnesnesi.ToString);
end;
end.

Çalıştırıyoruz adı ve soyadı kısmına veri giriyoruz  memoda bunları yazdırdığını görüyoruz. İnternetten vs. Json nesnesi geldiğinde bunu Delphide nasıl parse edeceğimize bakalım. Palette> Button – Listbox. Button> name →btnJsonOku. btnJsonOku buttonuna çift tıklıyoruz;


procedure TForm2.btnJsonOkuClick(Sender : TObject);
var
Jvalue : TJSONValue;
begin
JValue := TJSONObject.parseJSONValue(Memo1.Text);
Listbox1.Items.Add(Jvalue.GetValue(<string>(‘Adi’)));
end;

Çalıştırıyoruz, Adi kısmına veri giriyoruz btnJsonYaz’a tıklıyoruz ardından btnJsonOku’ya tıklıyoruz adi parametresinin içindeki value değerini okuyoruz.

Yapı daha karışık olursa nasıl yapacağımıza bakalım. Daha karışık yapılar için hazır turlar var örneğin; Json Data Generator Tool var. http://c2design5sh.blogspot.com bu adresten indirebilirsiniz. Yazdığımız Json’a uygun Delphi syntax’ını bize hazırlıyor. Burada istediğimiz düzenlemeyi yapıp bizim için oluşturulan Delphi syntax’ını delphiye yazarak çalıştırabiliriz.

Cam ++

CAM++

CNC Tezgahlara Program Yazan Program.

CAM++ Nedir?

CAM++, makine üreticisi firmaların, kendi ihtiyaçlarına göre özelleştirilmiş CAM (Computer-Aided Manufacturing) programlarını parametrik olarak oluşturabilecekleri gelişmiş bir yazılım geliştirme ortamıdır. Bu , firmaların üretim süreçlerini optimize etmelerine, verimliliklerini artırmalarına ve pazardaki rekabet güçlerini yükseltmelerine yardımcı olur. CAM++ ile, üretim alanında esneklik kazanırken, iş akışlarınızı hızlandırabilir ve kaynakları daha etkin kullanabilirsiniz.

Özellikler

Kapsamlı API Desteği

CAM++ , CAD/CAM süreçlerinizi basitleştiren geniş kapsamlı API desteği sunar. Karmaşık geometrik hesaplamalar, 3D modelleme ve hassas üretim verileri işleme gibi ihtiyaçlarınıza tam çözüm sunar.

Kolay Entegrasyon

CAM++ , mevcut sistemlerinize hızlı ve verimli bir şekilde entegre edilebilir. Özellikle iş akışınıza tam uyum sağlayarak üretkenliğinizi artırmak için tasarlandı.

Hassas Üretim Kontrolü

CAM++ , CNC makinelerinizin hassas kontrolünü sağlar. Gerçek zamanlı veri işleme ve programlama ile üretim süreçlerinizi hatasız yönetebilirsiniz.

Kimler İçin?

Makine Üreticileri

Kendi makineleri için özelleştirilmiş CAM programları geliştirmek isteyen makine üreticileri, CAM++ ile parametrik ve esnek çözümler oluşturabilirler.

CNC Tezgah Operatörleri

CAM++ , farklı üretim senaryoları için hızlı ve esnek çözümler oluşturmak isteyen CNC tezgah operatörlerine yönelik ideal bir araçtır.

Endüstriyel Otomasyon Firmaları

Üretim süreçlerini optimize etmek ve verimliliği artırmak isteyen endüstriyel otomasyon firmaları, CAM++ ile üretim hatlarında esnek ve özelleştirilebilir çözümler geliştirir.

Neden CAM++?

CNC Üniteniz ile Entegre Çalışan CAM Çözümleri

CAM++ size CNC tezgahınıza özel, ünitenizin içerisinde entegre çalışan güçlü bir CAM yazılımı sunar. Bu sayede, dış yazılımlarla vakit kaybetmeden CAD ve CAM işlemlerini tek bir ortamda yapabilirsiniz.

Zamandan Kazanın, Verimliliğinizi Artırın

CAM++ ile tüm CAD/CAM işlemlerinizi aynı platformda yaparak, iş süreçlerinizi hızlandırır ve zaman tasarrufu sağlarsınız. Bu, iş verimliliğinizi önemli ölçüde artırırken, üretim hattınızdaki duraksamaları minimuma indirir.

Kolay Kullanım ve Parametrik Ekranlarla Esneklik

Kullanıcı dostu arayüzler ve parametrik ekranlar sayesinde CAM++ kullanımı son derece kolaydır. Bu özellikler, farklı üretim senaryolarına hızlıca uyum sağlamanızı ve ihtiyacınıza göre özelleştirilmiş çözümler geliştirmenizi mümkün kılar.

Rekabette Bir Adım Önde Olun

CAM++’ın sağladığı verimlilik, hız ve esneklik avantajlarıyla rakiplerinizin önüne geçin. Üretim maliyetlerinizi düşürürken, iş gücü ve zaman yönetiminizi optimize edin.

Firma Bilgileri


Camart Araştırma Geliştirme Yazılım Otomasyon San. Tic.Ltd. Şti.

Mersis no : 3356 7133 6775 9746

info@camartarge.com

Vergi Dairse / no : Pamukkale v.d. 196 074 62 30

Tel : +90 850 333 80 20

İban (TL): TR30 0020 5000 0085 3809 5000 03

Arge :

Pamukkale Üniversitesi teknoloji geliştirme bölgesi (Teknokent)

Kınıklı mah. Hüsseyin yılmaz cad. no 67

idari bina d blok no g05 Pamukkale / Denizli

İban (USD):TR03 0020 5000 0085 3809 5001 01


Barbaros Mah. Halk Cad. No 47 / 2 34746 Ataşehir İstanbul

İban (Euro):TR73 0020 5000 0085 3809 5001 02

 
Harita verileri ©2015 Google

İletişim

Facebook Pinterest Twitter Google+ Dribbble