YAZILIM
SalurProfilPro v1.3
Hesap ve analizleri tamamlanmış olan verileri kullanarak DSİ, İlbank, v.b. kurumların standartlarında
yağmursuyu ve atıksu şebekelerine ait profillerin otomatik olarak hazırlanması amaçlanmıştır.
Hesap ve analizleri tamamlanmış şebeke sistemi profilleri hızlıbir şekilde *.DXF formatında oluşturmaktadır.
Yağmursuyu ve içmesuyu şebekelerinin hesap ve tasarımlarında birçok farklı program kullanılmaktadır. Her programın farklıbir çizim standardı vardır.
Bu farklı standarları DSİ, İlbank, v.b. kurumların standartlarına göre ayarlanması iş gücü kaybına neden olmatadır. Bunu önlemek amacıyla programlara ait
hesap tablolarını kullanarak profil çizimleri SalurProfilPro v1.3 yardımıyla oluşturulmaktadır.
Yağmursuyu ve atıksu şebekelerine ait profil çizimleri input dosyasında yer alan *.xlsx dosya verileri kullanılarak yapılmatadır.
SalurPlanPro v1.1
Hesap ve analizleri tamamlanmış olan verileri kullanarak DSİ, İlbank, v.b. kurumların standartlarında
yağmursuyu ve atıksu şebekelerine ait planların otomatik olarak hazırlanması amaçlanmıştır.
Hesap ve analizleri tamamlanmış şebeke sistemi planlarını hızlı bir şekilde *.DXF formatında oluşturmaktadır.
Yağmursuyu ve içmesuyu şebekelerinin hesap ve tasarımlarında birçok farklı program kullanılmaktadır. Her programın farklıbir çizim standardı vardır.
Bu farklı standarları DSİ, İlbank, v.b. kurumların standartlarına göre ayarlanması iş gücü kaybına neden olmatadır. Bunu önlemek amacıyla programlara ait
hesap tablolarını kullanarak prlan çizimleri SalurPlanPro v1.1 yardımıyla oluşturulmaktadır.
Yağmursuyu ve atıksu şebekelerine ait profil çizimleri input dosyasında yer alan *.xlsx dosya verileri kullanılarak yapılmatadır.
SalurCakismaPro v1.1
Yağmursuyu, atıksu, grisu, yangın hattı, elektrik, fiber optik, telekom, doğalgaz v.b. altyapı hatlarının birbirleriyle olan ilişkisi bu hatların çakışma durumları proje hatası olmakta ve büyük şebekelerde gözden kaçma ihtimali çok fazladır. Hesap ve çözümleri yapılan proje dataları kullanılarak altyapı hatlarının tamamında çakışma kontrolü yapılarak *.DXF raporunda çakışma durumu belirtilmesi sağlanmıştır. Birbirleri üzerinden geçen hatlarda ise boruların kesişme yerlerindeki kotların yazılması SalurCakismaPro v1.1 programı ile sağlanmaktadır.
Belirlenen iki şebeke sistemine ait kesişim yerlerine ait kesitlerin tamamı otomatik olarak oluşturulmaktadır. Program, kesişim yerine ait iki menhol arası boru profili ve bu profil ile kesişen ikinci hattın kesiti bu detayda yer almaktadır. Böylelikle düzeltilmesi gereken hat ve bu hatta hangi mertebede düzeltme yapılacağı görülebilmektedir. SalurCakismaPro v1.2
Salur3DBimPro v1.1
Yağmursuyu, atıksu, grisu, yangın hattı, elektrik, fiber optik, telekom, doğalgaz v.b. altyapı hatlarınına ait 3 Boyutlu (3D) modelle yapılması günümüz şartlarında önem kazanmaktadır. Arazi modelleri, 3D bim statik yapılar, bina modelleri, yol modelleri v.b. BİM yapılarına ait bim modellerinde altyapı projelerinin entegrasyonunun sağlanması amacıyla hesap ve analiz sonuçlarına göre 3D Bim model çalışmaları totmatik olarak yapılmaktadır. Bu çalışmalar *.DXF formatında oluşturulmakta ve birçok BİM program fotmatının okuması sağlanmıştır.
SalurPro v1.4
- SalurProfilPro v1.3
- SalurPlanPro v1.1
- SalurCakismaPro v1.1
- Salur3DBimPro v1.1
SalurOptimizasyonPro v1.1
Altyapı programlarının tamamına yakını program girdilerinin çözümüne yönelik hesap ve tasarım yapmaktadır. Bu hesap ve tasarımların ekonomik karşılaştırması yapılmadan elde edilen sonuçlara göre metraj hesapları yapılmaktadır. Ancak tasarımı yapılan altyapı şebekesinin hesaplarında boru içi akış hızı, boru eğimi gibi değerler standartlarda belirli aralıklarda olması kabulü ile hesaplar yapılmaktadır. Eğim değerinin yüksek seçilmesi durumu veya düşük seçilmesi durumunun mu daha ekonomik şebeke çözümü vereceği gibi alternatif çözümler ve bu çözümlerin metrajlandırılması için SalurOptimizasyonPro v1.1 programı hazırlanmıştır.
SalurMetrajPro v1.1
Yağmursuyu ve atıksu şebeke hesap ve analizleri sonuçlarına göre altyapı şebekesinin metraj raporu ve bu metraj raporuna bağlı olarak güncel birim fiyatlar kullanılarak keşif raporunun oluşturulmasına yönelik hazırlanan programdır.
Salur Lisp Arşivi v1.1
SALUR MÜHENDİSLİK çalışmaların, proje hesaplarının ve proje çizimlerinin daha hızlı ve protik olması amacıyla CAD programlarınca çizim kolaylığı sağlayacak lisp programlarını burada paylaşmaktadır.
Koordinat Yazdırma [ xy ]
Koordinat_Komut_xy.lsp
Kot Sıfır [ elz ]
Kot_Sıfır_Komut_elz.lsp
Sev Tarama 1 [ asev ]
Sev_Tarama_Komut_asev.lsp
Sev Tarama 2 [ sev ]
Sev_Tarama_Komut_sev.lsp
Shx Sil [ rshx ]
Shx_Sil_Komut_rshx.lsp
Alan Yazdırma [ a2f ]
Alan_Yazdirma_Komut_a2f.lsp
Alan Tablo Yazdirma [ at ]
Alan_Tablo_Yazdirma_Komut_at.lsp
Yazi Kaydırma [ atc ]
Yazi_Kaydirma_Komut_atc.lsp
Blok Sayi Tablosu [ count ]
Blok_Sayi_Tablosu_Komut_count.lsp
Egri Cizgi Donusum [ segs ]
Egri_Line_Donustur_Komut_segs.lsp
Dış Sınır Çiz [ polyout / mpolyout ]
Dis_sinir_Ciz_Komut_polyput.lsp
Koordinat Yaz [ koor ]
Koordinat_yaz_Komut_koor.lsp
Cizgi Yonunu Degistir [ rd ]
Cizgi_Yonunu_Degistir_Komut_rd.lsp
Obje Olceklendir [ xscale ]
Obje_Olceklendir_Komut_xscale.lsp
Çizgi ve Yay Boylarını Topla [ ctopla ]
Cizgi_Yay_Boy_Topla_Komut_ctopla.lsp
Text Değerlerini Topla [ texttopla ]
Text_Deger_Topla_Komut_texttopla.lsp
Salur Python Library
Python programlama dili veri bilimi, makine öğrenimi, sistem otomasyonu, web ve API geliştirme ve daha fazlası için bir temel yapıdır.
1991'den beri Python programlama dili sadece gereksiz programlar için tamamlayıcı bir dil olarak değerlendiriliyordu. Hatta “Automate the Boring Stuff” (Türkçe'ye "Sıkıcı Şeyleri Otomatikleştiren" olarak çevirebileceğimiz popüler bir kitap) adında bir kitap dahi yayınlanmıştır.
Bununla birlikte son birkaç yılda Python modern yazılım geliştirme, altyapı yönetimi ve veri analizinde birinci sınıf bir programlama dili olarak ön plana çıkmıştır. Artık hackerlar için bir arka kapı oluşturucusu değil, web uygulaması oluşturma ve sistem yönetiminde önemli rol alma, veri analizleri ve makine öğreniminde parlayan bir dil olarak ün kazanmıştır.
Python programlama dili yeni başlayanlar veya Python'da uzmanlaşanlar için önemli avantajlara sahiptir.
Diğer karmaşık program dillerini öğrenmek çok zaman alır ve kullanım alanları büyük olmasından dolayı kullanımını öğrenmek çok zordur. Ancak Python sözdizimi hem okunabilir hem de ileriye dönüktür. Öğrenim, kararlı programlama dili sayesinde basittir. Yeni başlayanlar için de ideal bir seçim olarak ön plana gelir. Sonuç olarak, Python kullanarak program geliştirmeye yeni bir adım atmış olan herkes hızlı ve basit şekilde ilerleme kaydedebilir. Diğer karmaşık dillere göre basitlik söz konusu olduğunda, en önde yer almaktadır.
İsminin az duyulmasına rağmen, yazılımcılar arasında hem popülerdir hem de yaygındır. Github projelerinin birçoğu Python tabanlıdır. Hatta Tiobe Index ve Github gibi programlama örneklerinin sıralandığı sistemlerde, Python tabanlı programları en üst sıralarda göstermektedir. Kullanım alanı en küçük işletim sistemlerinden en büyük işletim sistemlerine kadar birçok OS tarafından desteklenmektedir. İnternette yer alan büyük yazılım kütüphanelerin ve API-destekli servislerin mutlaka Python tabanlı bindings ya da wrappers’ları vardır. Bundan dolayı Python, bu servisler ile serbestçe arayüz oluşturur veya bu kütüphaneleri doğrudan kullanır. Yazılım dilleri arasında en hızlısı olmasa da çoklu platformlarda kullanılması bir adım önde olmasını sağlamıştır.
Oluşturulan scriptlerin ve otomasyon programlarının çoğu Python kod şemalarını kapsasa da, Python ayrıca, hem bağımsız uygulamalar hem de web hizmetleri olarak profesyonel kalitede yazılımlar oluşturmak için kullanılır.
Ayrıca, Ansible ve Salt gibi araçlarda sistem gereksinimlerini ve yapılandırmasını sağlayan, bunlara ek olarak web tarayıcıları veya uygulama GUI'leriyle etkileşimleri otomatikleştiren özellikleri de bulunmaktadır. Kısaca anlatmak gerekirse, Script oluşturmak ve otomasyon Python için buz dağının sadece görünen kısmıdır.
Python programlama dili ile konsol uygulamaları ve çoklu platformlara GUI uygulamaları oluşturabilirsiniz. Bunları bağım kurulum dosyları olarak kullanabilirsiniz. Python ile oluşturulan bir Script kendi başına bir binary serisi oluşturamaz, ancak cx_Freeze and PyInstaller üçüncü taraf programlar sayesinde durum imkansızdan münküne dönüşmektedir.
Sofistike veri analizleri günümüzde IT için en önemli konular haline gelmiştir. Python ise bu durumlar için en elverişli programlama dili olmuştur. Python arayüzündeki kütüphanelerin birçoğu makine öğrenimi ve veri bilimi üzerine elverişlidir. Bu alanlardaki kütüphanelerde ki yüksek kaliteli komutları, makine öğrenimi kütüphanelerinin ve diğer nümerik algoritma kütüphanelerinin sürekli gelişmesine çok yardımcı olmuştur.
Python içerisinde bulunan yerel kütüphaneler üçüncü parti web yazılımları ile birleştiğinde, ortaya bir kaç satır kod ile daha hızlı bir website yönetimi elde edilebilir. REST API’lerin uygun kod blokları ile oluşturulması seri bir şekilde sitenin veri yürütme olayını hızlı yapmasına olanak sağlar. Özellikle Python’un son güncellemesi asinkron operasyonlarının daha güçlü bir yapıya dönüştürmüştür. Doğru kütüphaneler ile sitelerin saniyede binlerce kod istemine karşılık veri akışı sağlamasına yardımcı olmuştur.
Diğer diller ile karşılaştırıldığında Python’da yer alan bütün modüller ve kütüphaneler birer nesne olarak görev yapar. Bunun sayesinde Python, etkili bir kod derleyici olarak ön plana çıkmaktadır. Kendi kod özellikleri ile yazılan uygulamaları manipüle ederek, diğer dillerde yazılması çok zor olan yada neredeyse imkansız olan uygulamaları oldukça kolay yazılabilir hale getirir. Python’un çoklu platform uygulamaları oluşturması da LLVM benzeri kod derleyici sistemlerinde etkili kodlar oluşturmak için uygun olmasını da sağlar.
Sıklıkla Glue Code (Yapışkan Kod) olarak adlandırılan Python, bu takma ismini C dilinin kütüphanesindeki kodlar ile ortaklaşa bir yapı oluşturup, etkili program yapılmasına yardımcı olduğu için almıştır. Veri bilimden ve makine öğreniminde eşsiz bir seçenek olarak ön plana gelmesini sağlamıştır.
Python'un son zamanlarda bu kadar üstün bir başarıya sahip olması, kendine özgü zengin ve bunlara ek olarak üçüncü taraf yazılımların ekosistemine dayanıyor. Python, hem güçlü bir standart kütüphaneden hem de üçüncü taraf geliştiricilerden kolayca elde edilen, edinilen bilgilerin de kolayca kullanılabilen kütüphanelerden destek alır. Bu programlama dili onlarca yıllık gelişmenin yanı sıra yapılan katkılarla daha da zenginleştirilmiştir.
Python’un standart kütüphanesi, matematik, dizi işleme, dosya ve dizin erişimi, ağ oluşturma, asenkron işlemler, iş parçacığı, çoklu işlem yönetimi gibi yaygın programlama görevlerine yönelik modüller sağlar. Ayrıca aynı zamanda modern uygulamaların ihtiyaç duyduğu ortak, üst düzey programlama görevlerini yöneten JSON ve XML gibi yapılandırılmış dosya formatlarını okuma ve yazma, sıkıştırılmış dosyaları kullanma, internet protokolleri ve veri formatlarıyla çalışma (web sayfaları, URL'ler, e-posta) gibi modülleri de içerir. C-uyumlu yabancı fonksiyon arayüzünü ortaya çıkaran çoğu harici kod Python’un ctypes modülü ile erişilebilir.
Varsayılan Python sürümü tam olarak gelişmemiş bir sürümdür. Ancak Tkinter üzerinden çoklu platform GUI kütüphanesi ve SQLite 3 veritabanının gömülü bir kopyası ile kullanılabilir.
Python Paket Endeksinde (PyPI) bulunan binlerce üçüncü taraf kütüphanesi, Python'un popülaritesi ve çok yönlülüğün en büyük göstergesi olmaktadır.
Örneğin:
BeautifulSoup kütüphanesi, HTML'in tam olarak analizini yaparak dışarıya bütün verileri ayıklayan herşeyin bir arada olduğu bir araç görevi görür.
Flask ve Django gibi frameworkler, hem basit hem de gelişmiş kullanım durumlarını kapsayan web servislerinin hızlı geliştirilmesine olanak tanır.
Çoklu bulut hizmetleri, Python’un nesne modeli ile Apache Libcloud kullanılarak yönetilebilir.
NumPy, Pandas ve Matplotlib, matematik ve istatistiksel işlemleri hızlandırır ve verilerin görselleştirilmesini kolaylaştırır.
Python’u Alt Seviyeye Düşüren Özellikleri
C #, Java ve Go programlama dilleri gibi Python da toplanan bellek yönetimine sahiptir. Yani programcı, nesneleri izlemek ve bırakmak için kod uygulamak zorunda kalmamasını sağlar. Normalde, çöp toplama arka planda otomatik olarak gerçekleşir, ancak bu bir performans sorunu ortaya çıkarırsa, bunu manuel olarak tetikleyebilir veya tamamen devre dışı bırakabilirsiniz.
Python'un önemli bir yönü dinamizm bir yapıya sahip olmasıdır. Nesne tabanlı bir programlama dili olarak kullanıldığı için dildeki her şey, işlevler ve modüller de dahil olmak üzere, nesne olarak ele alınır. Bu sayede kullanılan nesneler üst düzey kod yazmayı çok daha kolay hale getirir. Geliştiriciler karmaşık nesne manipülasyonlarını yalnızca birkaç satır kod ile gerçekleştirebilir ve hatta bir uygulamanın parçalarını gerektiğinde değiştirilebilecek soyutlamalar düzenleyerek kullanabilirler.
Python’un "significant whitespace" denilen boşuklar kullanması, Python’un en iyi ve en kötü özelliklerinden biri olarak değerlendirilebilir. Aşağıdaki ikinci satırdaki girinti sadece okunabilirlik için değildir; Python’un kullanımında ki kod sıralamasının bir parçasıdır. Python derlemesi, kontrol akışını göstermek için uygun girintileri kullanmayan kod satırlarını reddeder.
with open(‘apsisx.txt’) as apsisx_file:
file_lines = [x.strip(‘\n’) for x in apsisx_file]
Bu boşlukların kullanımı bazen zahmetli olduğu için kullanıma yeni başlayanlar için bir problem olarak nitelendirilir. Ancak katı girinti kuralları, genel olarak göründüğünden çok daha az zorlayıcı etmendir. Ayrıca görünümsel olarak daha okunabilir bir hale gelmesine yardımcı olur.
C veya Java gibi diller ile kıyaslandığında bir başka potansiyel sıkıntı, Python'un değişken yazmayı nasıl ele aldığıdır. Varsayılan olarak Python, hızlı kodlama için harika, ancak büyük kod tabanlarında sorun yaratabilecek dinamik veya "duck" denilen ara kod yazımını kullanır. Bununla birlikte, Python son zamanlarda isteğe bağlı derleme-zamanı ipucu desteği ekledi. Bu sayede statik yazmadan yararlanabilecek projeler kullanabilir hale getirilebilir.
Python hakkında söylenilen olumsuz söylentiler arasında yavaş olması yer almaktadır. Genel açıdan değerlendirmek gerekirse, evet Python yavaştır. Python aracılığı ile oluşturulan programlar genellikle C / C ++ veya Java'daki karşılık gelen programlardan çok daha yavaş çalışır.
Neden bu kadar yavaş? Derleme programlarının satır satır kodları analiz etmesinden kaynaklı olarak bu durum yavaş senkronize gerektirir. Python'da yer alan nesneler kullanılan kodlar aracılığı ile belirlendiği için, derlendiğinde bile, dil için hızını optimize etmeyi zorlaştırması gerçeğidir. Bununla birlikte, Python’un hızı, göründüğü kadar önemli bir konu olmayabilir ve onu hafifletmenin yolları vardır.
Genel anlamda yavaş olarak değerlendirilen Python her zaman yavaş olmaz. Pek çok Python programı yavaştır, çünkü Python'da yer alan ve ya üçüncü taraf standart kütüphanelerdeki görevleri düzgün bir şekilde içe aktaramazlar. NumPy ve Pandas gibi kütüphaneleri kullanarak matematik ve istatistik işlemleri muazzam bir şekilde artırılabilir ve PyPy çalışma zamanı, birçok Python uygulaması için farkedilir miktarda hız sağlar.
Genel olarak yazılımcılar arasında yer alan bir söz vardır. Programın %90'ı işlevselliğidir, geri kalan %10'u ise programın kodlarıdır. %10'luk dilimi optimize ettiğinizde programın hızlanması oldukça başarılı olacaktır. Python ile, Cython veya Numba gibi projeleri kullanarak bu yüzde 10'unu C'ye hatta assembly diline dönüştürebilirsiniz. Ancak ortaya çıkan sonuç, C'de oluşturulan programa göre biraz daha yavaş bir kullanım sergiler, ama C'nin hafıza mikroyönetimi özelliği gözardı edildiğinde C ile yarışabilecek potansiyele sahiptir.
Ya da başka bir şekilde söylemek gerekirse: Birçok görev için, geliştirme hızı yürütme hızını yener.
Aynı programın hem Python ile hemde başka bir dilde çalışma süreleri değişiklik gösterir. Örneğin Python'da program 6 saniyede aktif hale gelir, başka bir dilde bu süre 1 saniyeye kadar düşmektedir. Ancak bir geliştiricinin Python arayüzün bir programı oluşturması on dakikasını alırken, aynı programı başka platformda oluşturması saatlerini alabilir. Python programının yürütülmesinde kaybedilen zaman miktarı, geliştirme sürecinde kaydedilen zamandan daha az olduğu için daha idealdir.
Açıkçası bir ticaret uygulaması gibi yüksek verimli, düşük eş zamanlılık gerektiren talepleri olan yazılımlar yazarken bu daha az doğrudur. Ancak birçok sıradan uygulamalar için, sistem yönetiminden makine öğrenmeye kadar uzanan alanlarda, Python yeterince hızlı olduğunu kanıtlayacaktır.
Ayrıca, Python'un sağladığı esneklik ve ilerleme hızı, diğer dillerde elde etkesi daha zor ve zaman alıcı olan program geliştirmelerde güzel bir adım olabilir.
Geliştirme hızı ve programlayıcı rahatlığı ön planda olacaksa ya da makinenin işlem sırası arka planda olacaksa, Python her iki durumda da yani geliştiricinin rahat olarak çalışmasına yardım ederek hızlı bir program oluşturmak için en iyi araç olabilir.