Yapay zekadan makale özeti
- Kısa
- Ayrıntılı
- Bu video, YASE Deniz Akademi tarafından düzenlenen bir webinar formatında olup, sunucu Ersan ve konuşmacı Levent Topçu (hemsiyeri eğitim uzmanları) tarafından Troya geliştirme platformu hakkında kapsamlı bir eğitim sunulmaktadır.
- Webinar, Troya'nın temel bileşenlerinden başlayarak, programlama dili özellikleri, network mimarisi, ERP sistemleri, veritabanı entegrasyonu ve kullanıcı arayüzü geliştirme konularını kapsamaktadır. İçerik, Troya'nın avantajlarını, 4. nesil üst seviye programlama dilini, IDE kullanımı, veritabanı tabloları oluşturma, kullanıcı arayüzü bileşenleri ve event'ler gibi konuları detaylı şekilde ele almaktadır.
- Eğitim, Troya'nın abstraction kavramı, cross platform ve database bağımsızlığı, hızlı geliştirme imkanı, çoklu dil ve saat dilimi desteği gibi avantajlarını vurgulamaktadır. Ayrıca, loop yapısı, eventler, nesne yönelimli programlama, sınıflar, metodlar, transaction block kavramları ve inheritance gibi temel konular da açıklanmaktadır. Webinar, katılımcıların sorularına cevap verilerek sona ermektedir.
- 00:10Webinar Tanıtımı
- YASE Business Akademi'nin düzenlediği webinarlarda bu hafta Troya geliştirme platformu konusu ele alınacak.
- Ersan, YASE Business Akademi eğitim uzmanı olarak bu webinarı yönetecek ve konuşmacı olarak IBA eğitim uzmanı Levent Topçu ile birlikte olacak.
- Webinar sonunda soru-cevap bölümü olacak ve kayıtları YouTube kanalında ve YASE Business Akademi web sitesinde paylaşılacak.
- 02:43Webinar Akışı ve İçerik
- Webinar akışı giriş bölümünden sonra Troya'nın temel bileşenleri, geliştirme platformunda nelerin olduğu konusuna geçilecek.
- Daha sonra Troya'da yazılım geliştirme, dil özellikleri ve geliştirme araçları detaylı olarak ele alınacak.
- 2021 yılında da yeni güncel başlıklarla, yeni modüllerle ve farklı konularla webinarlar devam edecek.
- 03:13YASE Business Akademi Hakkında
- YASE Business Akademi, sürekli gelişim misyonuyla 2020 başındaki yeni kuruluşuyla çalışmalara devam ediyor ve Nisan ayından beri yaklaşık 30 webinar gerçekleştirdi.
- IBA, KAIAS 40 çözümlerini ve eğitimlerini çeşitli seviyelerde müşterilerine ve öğrenmek isteyen herkese sağlıyor.
- Eğitimlerin amacı, KAIAS ERP ürününün geçiş sürecinde yaşanabilecek sancıları minimuma indirmek ve daha başarılı bir proje yönetimi sağlamak.
- 06:52Troya Geliştirme Platformu
- ERP sistemi, farklı bileşenlerden oluşan yaşayan bir organizma olarak düşünülebilir, sürekli birbiriyle veri alışverişinde bulunuyor.
- Troya, KAIAS'ın genetik kodu olarak düşünülebilir çünkü üzerine inşa edilen yapı ve kullandığı dil olarak ele alınabilir.
- Teknolojide sürekli yenilikler olurken, önceden tanımlanmış bir dil (Troya) sayesinde yeniliklere adapte olmak daha sancısız gerçekleşebiliyor.
- 10:51Troya Tanıtımı ve Sunum Planı
- Troya, farklı programlama dillerinden biri olarak tanıtılmakta ve diğer dillerle olan farklılıkları ve benzerlikleri ele alınacaktır.
- Sunumda Troya'nın platform olarak değerlendirilmesi, network mimarisi, programlama dili özellikleri ve bir uygulama örneği üzerinden geliştirme süreci anlatılacaktır.
- Eğitimde izlenen bir metotla sıfırdan oluşturulacak kapsamlı olmayan ancak ana fikir edinmek için faydalı bir uygulama örneği üzerinden akışın nasıl ilerlediği gösterilecektir.
- 12:16Troya Uygulaması ve Network Mimarisi
- Troya uygulamasında sol tarafta login ekranı, sağ tarafta ise bir satış belgeleri yönetimi uygulamasının ekran görüntüsü bulunmaktadır.
- Sisteme giriş yapılırken, kullanıcı adı, şifre ve dil seçimi yapılarak veritabanı seçilir ve login işlemi gerçekleştirildiğinde homepage ekranı görüntülenir.
- Troya'nın network mimarisinde istemci tarafında hiçbir Troya kodu çalışmaz, tüm kodlar uzakta bulunan sunucuda compile edilir ve run edilir.
- 14:33Troya Network Mimarisi Detayları
- Troya network mimarisinin temel yapıları incelenecek ve hangi bileşenlerin ne işe yaradığı anlatılacaktır.
- Sunucu katmanı, sistemin kalbini oluşturur ve çoğu işlem bu orta kısımda gerçekleşir.
- Uygulama sunucusu, Troya kodlarının çalıştırıldığı ortam olarak görev yapar ve istemciden gelen talepleri yerine getirme ve operasyonları gerçekleştirme işlemlerini gerçekleştirir.
- 15:46Sunucu Katmanındaki Bileşenler
- Load balancer, birden fazla uygulama sunucusu kullanılabildiğinde kullanıcıları en uygun sunucuya yönlendirmek için trafik polisi görevi görür.
- Lisans sunucusu, kullanıcıların lisans durumunu kontrol eder ve hangi modüllerde yetkileri varsa ilgili kodları çalıştırıp veritabanı sunucusundaki tablolara erişim sağlar.
- İstemci tarafında gerçekleşen işlemler, sunucu tarafında işlenir ve kullanıcıya cevap olarak ekran görüntülenir.
- 17:15İstemci Katmanı ve Erişim Yöntemleri
- İstemci, bir sistemden hizmet talebinde bulunan bileşendir ve sisteme erişim sağlayıp değişiklik yapmak isteyen kullanıcılar bu kategoriye girer.
- Troya, üç farklı şekilde sisteme erişim sağlamayı sağlar: cross platform destekleyen masaüstü istemci, web tarayıcısı ve üçüncü parti web servisleri.
- Erişim yöntemi farklı olduğunda dönüşlerde de farklılıklar olabilir, örneğin web istemci ile erişim sağlandığında tarayıcıya yönelik bir cevap verilir.
- 18:59Veritabanı Katmanı
- Veritabanı katmanı, iş süreçlerimizle ilgili asıl verinin tutulduğu mekanizma olarak karşımıza çıkar.
- Veritabanlarında cross database konsepti bulunur, bu sayede hangi veritabanı tipinde çalışırsanız çalışın uygun prosedürler arka planda çalıştırılır.
- Ölçeklenebilirlik desteklemesi sayesinde sistem, kullanıcı sayısı arttığında da tıkanmadan iş yapma süreçlerini sürdürür.
- 20:13Uygulama Sunucusu Katmanı
- Uygulama sunucusu, istemci ve veritabanı arasındaki ara katmandır ve içinde load balancer, lisans sunucusu gibi alt birimler bulunur.
- Ana görevi istemcinin taleplerini yönetip yerine getirmektir, ayrıca kullanıcı oturumlarını ve uygulamanın yaşam döngüsünü yönetir.
- Veri tabanı uygulamalarını ve veri manipülasyon işlemlerini yönetir, ayrıca kod bloklarının çalıştırıldığı ortamdır.
- 21:50İstemci Katmanı
- İstemci katmanı, sisteme erişim sağlayan kullanıcıları temsil eder ve farklı istemci tipleri ile sisteme erişim sağlanabilir.
- Masaüstü cihaz, web client veya rap servisleri üzerinden üçüncü parti uygulamalarla sistemin sunduğu hizmete erişim sağlanabilir.
- Çapraz ve çoklu platform desteği sunar, farklı işletim sistemlerinde (Unix, iOS) uygulanabilir.
- 23:08Veri Manipüle Etme
- Veritabanı katmanı, asıl verinin ve veri tablolarının muhafaza edildiği ortamdır.
- Ekranlarda görünen veriler metadata (bilginin bilgisi) olarak temsil edilir, doğrudan veritabanındaki veriyi manipüle etmiyoruz.
- Flag ve aktif kayıt kavramları sayesinde bilginin bilgisi üzerinden veri değiştirme, düzenleme ve oluşturma işlemleri gerçekleştirilebilir.
- 24:39Troya Platformunun Avantajları
- Troya, abstraction (soyutlama) kavramı sunarak teknik detayların soyutlanmasını sağlar, örneğin connection string işlemlerini alt planda gerçekleştirir.
- Yüksek seviye dil özelliği sayesinde kod yazan kişi teknik ayrıntılara girmeden çalışabilir, bu da yazılımcıya ve kullanıcıya kolaylık sağlar.
- Kodun okunabilirliğini, çalıştırılabilirliğini ve yazılabilirliğini kolaylaştırır, hızlı geliştirme ve bakımda kolaylık sağlar.
- 26:51ERP Sistemlerinin Dil Avantajı
- ERP sisteminin kendi dilinin olması, yeni trendlere uyarlanabilirlik konusunda önemli bir avantaj sağlar.
- Kendi dilinde olması sayesinde yeni teknolojileri sisteme entegre etmek daha kolaydır, farklı dilde yazılmış sistemlerde ise bu işlem daha zorlaşır.
- Çoklu dil, saat dilimi desteği ve yerelleştirme özelliği, farklı ülkelerdeki müşterilerin ihtiyaçlarına uyum sağlama konusunda önemli avantajlar sunar.
- 29:54ERP Sistemlerinin Ölçeklenebilirliği
- ERP sistemlerinde kullanıcı sayısı arttıkça veri sayısı ve tablo sayısı da artar, bu nedenle ölçeklenebilir bir yapıda tutulması gerekir.
- ERP'nin asıl amacı iş yapma süreçlerini iyileştirmektir ve bu süreçler iyileştiğinde iş büyüyerek veri miktarı da artar.
- Troya, bu ölçeklenebilirlik ihtiyaçlarını karşılayabilecek bir yapıya sahiptir.
- 31:13Troya'nın Adaptasyon Özellikleri
- Troya, yeni yeniliklerin var olan yapıyı sarsmadan hayata geçirilmesine olanak sağlar.
- Dışarıdan gelen kodlar yerine kendi dilinde geliştirilen kodlarla yeniliklere daha kolay ve zahmetsiz cevap verilebilir.
- Farklı dillerde yazılan kodlar eklenmesi durumunda performans düşmesine ve ekstra donanım ihtiyacına sebep olabilir.
- 33:45Troya'nın Programlama Dili Özellikleri
- Troya, dördüncü nesil üst seviye programlama dilleri grubuna dahildir.
- Üst seviye programlama dilleri, karmaşık keyword'ler yerine günlük hayattaki İngilizce cümleler gibi basit ve anlaşılır bir yapıya sahiptir.
- Troya, SQL sorgularıyla birleştirilerek işlemler gerçekleştirir ve kendine has kolay anlaşılır bir sentaksı vardır.
- 36:25Troya'nın Nesneye Yönelik Programlama Özellikleri
- Troya, iş katmanı yaklaşımındaki diller grubuna dahil edilebilir ve nesneye yönelik bir dildir.
- Sınıf, kalıtım, encapsulation gibi temel nesneye yönelik kavramlar Troya'da da geçerlidir.
- Troya'da sınıflar, görsel kısmı olmayan, metotlar içeren ve üyeler barındıran yapılar olarak kullanılır.
- 38:14Troya'nın Kullanıcı Arayüzü ve Veri Tipleri
- Troya'da diyalog kavramı, kullanıcı arayüzü formları olarak karşımıza çıkar ve kullanıcı sistemle etkileşime geçmesini sağlar.
- Raporlar da diyalog yapılarına benzer ancak işlevsel olarak farklılıklar gösterir; raporlar veri çıktısı oluşturmaya yarayan komponentlerdir.
- Troya'da integer, long, decimal, boolean gibi temel veri tipleri kullanılır.
- 40:21Tura Dili ve Veri Tipleri
- Tura dilinde day-time gibi daha ileri seviye dillerde kullanılan tipler de kullanılabilir.
- Table ve vektör olmak üzere çok boyutlu verilerin tutulduğu veri tipleri kullanılmaktadır.
- Byte, short, float gibi alt seviye veri tipleri desteklenmemekte, bu tiplerle ilgili işlemler için type conversion veya casting işlemleri kullanılmaktadır.
- 41:06Tura Dili Hakkında Genel Bilgiler
- Tura dilinin yapısı, veri tipleri, tablolar, vektör, loop ve if statement gibi temel yapılar içerir.
- Eğitimlerde katılımcılara sıfırdan bir uygulama yaparak el alışkanlığı ve aşinalık geliştirmek amaçlanmaktadır.
- Tura, entegre bir yapıdır ve içinde Tura IDE bulunur, bu IDE Tura projelerinin uygulandığı birincil entegre geliştirme ortamıdır.
- 43:25Tura IDE Kullanımı
- Tura IDE'de toolbox'dan nesneler form üzerine yerleştirilir ve bu nesnelerin tanımlamaları yapılır.
- Butonlar gibi kontrol elemanları tek başına anlam ifade etmez, içlerine kodlar yazarak işlevsel hale getirilir.
- Edit alanları kullanıcının veritabanına girmek istediği verileri temsil eden alanlardır ve bunlar tablolarla bağdaştırılır.
- 45:44Geliştirme Süreci ve Hotline Kavramı
- Tura'da geliştirme yaparken "hotline" kavramı kullanılır, bu bir belge olarak düşünülebilir.
- Herhangi bir değişiklik yapmak için sistem hotline belgesi ister, bu belge değişikliği yapan kişinin parmak izi gibidir.
- Hotline belgesi, değişikliği kimin, hangi amaçla, nerede ve ne zaman yaptığını belirten bir belgedir.
- 48:02Tablo Oluşturma ve Veritabanı Bağlantısı
- Tura'da tablo uygulaması yapılırken, görsel yapılar veritabanındaki asıl verileri temsil eden alanlar olarak düşünülür.
- Tablo oluşturma işlemi "dt bir odla tabloları" uygulaması altında gerçekleştirilir.
- Veritabanı değişikliği yapmak gerektiğinde, sadece konfigürasyonları değiştirerek yeni bir script oluşturarak veritabanına uygun tablolar oluşturulabilir.
- 51:31Veritabanı Tablolarının Oluşturulması
- Veritabanı tabloları oluşturulduktan sonra bunların scripti oluşturulur.
- Veritabanı yönetici ekranında tabloların alanları tek tek tanımlanır, örneğin "kamp" alanı firma bilgisini tutar.
- Verilerin tipi, uzunluğu, anahtar alan olup olmadığı veya boş bırakılabileceği gibi özellikleri tanımlanır.
- 52:30Veritabanı Tablolarının Özellikleri
- Veritabanı tablolarında indeksler tanımlanır ve tablolar arasında master-detail ilişkileri kurulabilir.
- Bu yapı metadata kısmına denk gelir ve asıl bilgiyi tutacak tablonun yapısı burada tanımlanır.
- Veritabanı tipine göre script oluşturulduktan sonra front-end kullanıcı arayüzü oluşturulmaya başlanır.
- 53:21Kullanıcı Arayüzünün Oluşturulması
- Kullanıcı arayüzü sıfırdan oluşturulur, templatelerden kopyalanabilir veya türetilerek de oluşturulabilir.
- Boş bir form üzerine butonlar, komponentler ve tablo alanları sürüklendiğinde, bu alanların özelliklerini düzenlemek gerekir.
- Diyaloglar, kullanıcıların belirli görevleri gerçekleştirebileceği kullanıcı arabirimi formlarıdır.
- 54:23Event Tanımlamaları
- Her bileşenin kendine has eventleri vardır, örneğin artı butonuna tıkladığında ne olacağı tanımlanır.
- Bileşenlerin özelliklerini kullanıcı veya müşteri isteği doğrultusunda tanımlamak gerekir.
- Her bileşenin (metin alanları, gridler, tablolar) kendine özgü eventleri vardır ve kullanıcı aksiyonları için kodlar yazılır.
- 55:35True Kodlarının Çalışması
- True kodları tetiklenen eventler için yazılır ve kullanıcıya belirli bir nesneye tıkladığında veya klavyeden giriş yaptığında hangi eylemin gerçekleştirileceğinin tanımlanmasına yarar.
- Görsel yapılara işlevsellik kazandıran kodlar uygulama sunucusunda compile edilip run edilir.
- Eventler içerisinde metotların çağrılması mümkündür ve bileşenlerle yapılan işlemler için çeşitli seçenekler sunulur.
- 57:08Kod Örneği ve Yapısı
- Kod örneğinde if statement'lar ve loop kavramları kullanılır, "vals" kavramı uygulamadaki sanal tabloya tekabül eder.
- Kodda tabloda seçili kayıt kontrolü yapılır ve döngülerle tablodaki veriler gezilir.
- SQL cümleleri benzer yapıda kullanılır ve sistem değişkenleri (mode gibi) önceden tanımlanmıştır.
- 1:01:17Troya Dilinde Loop ve Event Kullanımı
- Troya dilinde loop yapısı diğer dillerdeki gibi çalışır ve tablo ismi ile başlar, "loop" deyimi ile devam eder ve kapatılır.
- Eventler için de özel keyword'ler kullanılır ve bu kod örnekleri Troya dilinde de benzer şekilde çalışır.
- Algoritma okuyabilme ve tayin edebilme mantığı, yazılım bilgisi olmayanlar için de öğrenilebilir bir beceridir, ancak tekrar ve ön bilgi önemlidir.
- 1:02:38Nesne Yönelimli Programlama ve Sınıflar
- Troya dilinde nesne yönelimli programlama için sınıflar kullanılır ve bu sınıflar nesnelerin özelliklerini, davranışlarını ve başlangıç durumlarını tanımlayan şablonlardır.
- Sınıflar birbirini türetebilir, bazı özelliklerini devre dışı bırakabilir veya içeriye taşıyabilir.
- Konstructorlar (yapıcılar), bir sınıf oluşturulduğunda otomatik olarak oluşturulur ve ilk değerlerin atanması için kullanılır.
- 1:04:04Sınıf Oluşturma ve Metotlar
- Troya IDE ekranında sınıflar oluşturmak için hotline konsepti kullanılır ve sınıflar isimlendirilir.
- Metotlar parametreler alabilir ve belirli tipleri döndürebilir (string, integer vb.).
- Metotlar diyaloglara veya sınıflara eklenebilir ve expression ile çağrılabilir.
- 1:06:03Kod Örneği ve Transaction Block
- Troya dilinde metotlar diğer nesne yönelimli dillerdeki gibi çalışır ve benzer yapıya sahiptir.
- Transaction block kavramı (begin, rollback, commit) veritabanı manipülasyonlarında hata durumlarında kontrol mekanizması sağlar.
- Bu mekanizma, bağlantı sorunlarında veya işlem sırasında beklenmedik durumlarda veritabanına eksik veya yanlış verinin yazılmasını engeller.
- 1:09:50İleri Seviye Troya Kavramları
- İleri seviye Troya kavramları "export" başlığı altında tanımlanır ve platformun altyapısını öğrenmeye yönelik konuları içerir.
- Performanslı kod yazmak için loop yapısının doğru kullanılması, select ifadelerinin dinamikleştirilmesi ve tür dönüşümleri gibi konular ele alınır.
- Kanyon üzerinde dosya işlemleri, FTP işlemleri, web servisleri çalıştırma, XML/JSON parçalama gibi ileri seviye konular da işlenir.
- 1:12:29Troya Platformunun Özellikleri
- Troya açık kaynak kodlu bir platformdur ve kullanıcılar kodları değiştirebilir ve geliştirebilir.
- Troya kurumsal yazılım geliştirme ve runtime platformudur, ayrıca KANAS 40 teknolojilerinin ana geliştirme platformudur.
- Troya'nın benzersiz yapısı, dördüncü nesil nesneye yönelik programlama dili olması sayesinde kullanıcıların hızlıca öğrenip çalışmaya başlayabilmesini sağlar.
- 1:13:45Troya'nın Avantajları
- Troya, yazılım dehası gerektirmeden öğrenilebilir bir platformdur, algoritma bilgisi önemli olsa da yazılım geliştirme deneyimi gerekli değildir.
- Ayarlanabilir bir platform olan Troya, sürekli gelişen teknolojiye uyum sağlayabilir ve kullanıcılar dilin kendilerine ait olduğu için istedikleri şekle sokabilirler.
- Troya, öğrenmesi ve kullanması kolay bir dildir, esnek bir yapıya sahiptir ve entegrasyon olanakları sunar.
- 1:15:46Soru-Cevap Bölümü
- Troya'da rapor tasarlarken bazı seksenlerin her sayfada tekrar etmesini engellemek mümkündür, ancak bu konu spesifik olduğundan mail üzerinden detaylı bilgi verilecektir.
- İki uygulama sunucusu arasında veritabanı paylaşımı yapılabilmektedir, bunun için "kaşe pair" konfigürasyonu yapılmalıdır.
- Troya'da textbox'ın zoom options alanında köşeli parantez kullanılarak destek tablolarından veri çekilebilir, bu işlem form üzerinden de yapılabilir.
- 1:23:08Yeni Çalışmalar ve Kaynaklar
- Yeni bir çalışma başlatılmış ve daha kapsamlı bir kaynak oluşturuluyor, en kısa zamanda paylaşılacak.
- Şu anda mevcut kaynaklar mail adresi paylaşılırsa gönderilebilir ve İngilizce bir kitap da öneriliyor.
- Sorular için doğrudan Levent'e mail atılarak kaynak paylaşımı yapılabilir.
- 1:24:09Güncelleme Sorunu
- Ana yapı üzerine yapılan güncellemeler, ondan türetilen tüm nesnelere yansıyacağı için herhangi bir sıkıntı yaşanmaz.
- Kendi geliştirme yapılmışsa o zaman sıkıntı yaşanmaz, ancak farklı bir yöntem izlenir.
- True ile ilgili yeni bir versiyon değil, genel 800 ile ilgili bir versiyon değişikliği var.
- 1:25:44Eğitimler ve Webinarlar
- Yas Holding çatısı altında Deniz Akademi, 40 çözümlerin eğitimlerini gerçekleştiriyor.
- Eğitimler üç seviyede (son kullanıcı, uzman ve profesyonel) devam ediyor ve talepler için www.yaseakademi.com adresi ziyaret edilebilir.
- Tüm eğitimler şu an sağlığı nedeniyle online Zoom üzerinden gerçekleştiriliyor ve işlevsellik ve verimlilik bakımından hiçbir kayıp yaşanmıyor.
- 1:27:13Eğitim İçeriği ve Formatı
- True eğitimleri diğer model eğitimlerinden farklı, adım adım ilerleyen bir akışa sahip.
- Eğitimde önce temel atılıyor, tablolar anlatılıyor, sonra görsel tasarım yapılıyor ve işlevsellik kazandırılıyor.
- Eğitimlerde dil kullanımları ve keywordler detaylı olarak anlatılıyor.
- 1:29:04Gelecek Webinar Planları
- Ocak ayında iki webinar gerçekleşecek: 12 Ocak'ta "Kaniya 40 Çözümlerinde Servis ve Bakım Yönetimi" ve 19 Ocak'ta "Pandemi Döneminde Kaniya Siyasi Projeleri Nasıl Hayata Geçti".
- 2021 yılında yeni başlıklar, konular, modüller ve süreçlerle Kaniya 40 çözümlerini tek tek ele alarak webinarlar devam edecek.
- Katılımcılara teşekkür edilerek sağlıklı yıllar dileğiyle oturum sonlandırılıyor.