Güneş Doğuş ve Batış Saatlerini Hesaplama

Bazen yaptığımız projelerde spesifik işlerle karşılaşabiliyoruz. Şu anda üzerinde çalıştığım işte güneş doğuş ve batış saatlerini dünyanın herhangi bir yerinin koordinatlarını vererek bulmak gerekti. Bildiğiniz gibi koordinatlar latitude ve longitude değerleri olarak gelmekte. Bunun için daha önce yapılmış bir C# sınıfı buldum fakat bu sınıf sadece derece, dakika ve saniye cinsinden değerlerle çalışıyordu. bunun için latitude ve longitude değerlerinide derece, dakika ve saniye cinsine çevirmem gerekti. hemde North, West, East ve South değerleriyle vermemiz gerekiyor. North- South ve East-West ikilileri koordinatın - ile gelip gelmemesine göre değişmektedir. Öncelikle Sunset ve Sunrise yani gün doğumu ve gün batımı değerlerini aldığım kodu açıklayacak ardından üstüne geliştirdiğim lat ve long değerlerini derece,dakika ve saniye cinsine yaptığım çevrimi ve ek özelliği paylaşacağım. Bu işlemin önemi eğer bir lokasyondaki gün doğumu ve batımı saatlerine ihtiyacınız olursa bunun için çoğu kişi web servis kullanıyor. Bu hazır sunulan web servisler ya bazen down oluyor ya da doğru sonucu vermiyor. bu sınıf ve geliştirdiğim ek özellik sayesinde bir web servise ihtiyacınız olmadan lokal olarak bu özelliği kullanabileceksiniz. GMT'ye dikkat etmeyi unutmayın. Sınıfdaki metotun kullanımı aşağıdaki şekildedir; SunTimes.Instance.CalculateSunRiseSetTimes(new SunTimes.LatitudeCoords                        (latDegreeValue, latMinuteValue, latSecondValue, SunTimes.LatitudeCoords.Direction.South),                                     new SunTimes.LongitudeCoords                        (longDegreeValue, longMinuteValue, longSecondValue, SunTimes.LongitudeCoords.Direction.East),                                     date, ref sunrise, ref sunset,                        ref isSunrise, ref isSunset);   Geliştirdiğim özellik latitude ve longitude üzerinden çevrim aşağıdaki gibidir;         static void Main(string[] args)         {             double lat = 40.266864;             double lng = 29.063448;               DateTime date = DateTime.Today;             bool isSunrise = false;             bool isSunset = false;             DateTime sunrise = DateTime.Now;             DateTime sunset = DateTime.Now;               string strLatitude = lat.ToString();             string strLongitude = lng.ToString();             int latitudeRoute = 0;             int longitudeRoute = 0;               if (strLatitude[0] == '-')             {                 latitudeRoute = 0;             }             else             {                 latitudeRoute = 1;             }               if (strLongitude[0] == '-')             {                 longitudeRoute = 0;             }             else             {                 longitudeRoute = 1;             }               bool latDegreeFinish = false;               int latMinuteCounter = 0;             string latDegree = "";             string latMinute = "";             string latSecond = "";             bool degreeFlag = false;                          for (int i = 0; i < strLatitude.Length - 1; ++i)             {                 if (strLatitude[0] == '-')                     continue;                   if ((strLatitude[i] != '.' && strLatitude[i] != ',') && latDegreeFinish==false)                 {                     latDegree += strLatitude[i];                 }                 else if(degreeFlag==false)                 {                     latDegreeFinish = true;                     degreeFlag = true;                     continue;                 }                   if (latDegreeFinish == true && latMinuteCounter < 2)                 {                     latMinute += strLatitude[i];                     latMinuteCounter++;                 }                   if (latMinuteCounter >= 2 && latMinuteCounter < 4)                 {                     latSecond += strLatitude[i];                     latMinuteCounter++;                 }             }               bool longDegreeFinish = false;             string longDegree = "";             string longMinute = "";             string longSecond = "";             int longMinuteCounter = 0;             degreeFlag = false;               for (int i = 0; i < strLongitude.Length - 1; ++i)             {                 if (strLongitude[0] == '-')                     continue;                   if ((strLongitude[i] != '.' && strLongitude[i] != ',') && longDegreeFinish == false)                 {                     longDegree += strLongitude[i];                 }                 else if(degreeFlag==false)                 {                     longDegreeFinish = true;                     degreeFlag = true;                     continue;                 }                   if (longDegreeFinish == true && longMinuteCounter < 2)                 {                     longMinute += strLatitude[i];                     longMinuteCounter++;                 }                   if (longMinuteCounter >= 2 && longMinuteCounter < 4)                 {                     longSecond += strLongitude[i];                     longMinuteCounter++;                 }             }               int latDegreeValue = Convert.ToInt32(latDegree);             int latMinuteValue = Convert.ToInt32(latMinute);             int latSecondValue = Convert.ToInt32(latSecond);             int longDegreeValue = Convert.ToInt32(longDegree);             int longMinuteValue = Convert.ToInt32(longMinute);             int longSecondValue = Convert.ToInt32(longSecond);               if (latitudeRoute == 0 && longitudeRoute == 0)             {                 SunTimes.Instance.CalculateSunRiseSetTimes(new SunTimes.LatitudeCoords                        (latDegreeValue, latMinuteValue, latSecondValue, SunTimes.LatitudeCoords.Direction.South),                                     new SunTimes.LongitudeCoords                        (longDegreeValue, longMinuteValue, longSecondValue, SunTimes.LongitudeCoords.Direction.West),                                     date, ref sunrise, ref sunset,                      ref isSunrise, ref isSunset);             }             else if (latitudeRoute == 0 && longitudeRoute == 1)             {                 SunTimes.Instance.CalculateSunRiseSetTimes(new SunTimes.LatitudeCoords                        (latDegreeValue, latMinuteValue, latSecondValue, SunTimes.LatitudeCoords.Direction.South),                                     new SunTimes.LongitudeCoords                        (longDegreeValue, longMinuteValue, longSecondValue, SunTimes.LongitudeCoords.Direction.East),                                     date, ref sunrise, ref sunset,                      ref isSunrise, ref isSunset);             }             else if (latitudeRoute == 1 && longitudeRoute == 0)             {                 SunTimes.Instance.CalculateSunRiseSetTimes(new SunTimes.LatitudeCoords                        (latDegreeValue, latMinuteValue, latSecondValue, SunTimes.LatitudeCoords.Direction.North),                                     new SunTimes.LongitudeCoords                        (longDegreeValue, longMinuteValue, longSecondValue, SunTimes.LongitudeCoords.Direction.West),                                     date, ref sunrise, ref sunset,                      ref isSunrise, ref isSunset);             }             else if (latitudeRoute == 1 && longitudeRoute == 1)             {                bool err= SunTimes.Instance.CalculateSunRiseSetTimes(new SunTimes.LatitudeCoords                        (latDegreeValue, latMinuteValue, latSecondValue, SunTimes.LatitudeCoords.Direction.North),                                     new SunTimes.LongitudeCoords                        (longDegreeValue, longMinuteValue, longSecondValue, SunTimes.LongitudeCoords.Direction.East),                                     date, ref sunrise, ref sunset,                      ref isSunrise, ref isSunset);                 Console.WriteLine(err);             }             else             {                 ;             }               Console.WriteLine(sunset.ToString());             Console.WriteLine(sunrise.ToString());                            Console.ReadLine();           }   Uygulamanın bir gün için verdiği güneş batım ve doğum saatleri;     Uygulamanın C#kodları: sunrisesunset.zip (52,96 kb)   Uygulamanın Sunrise ve Sunset Calculator sınıfı için baz aldığım referans: http://www.codeproject.com/Articles/29306/C-Class-for-Calculating-Sunrise-and-Sunset-Times  

C# 6.0 Kitabım Çıktı!

  Önemli: Kitap hakkında yorumlarınızı ve sonraki baskılarda olmasını veya daha fazla üstünde durulmasını istediğini konuları bu postun altına yazabilirsiniz.   Kitabı sipariş vermek için SİPARİŞ LİNKİ - Kitapyurdu Kitabı sipariş vermek için SİPARİŞ LİNKİ - Hepsiburada Kitabı sipariş vermek için SİPARİŞ LİNKİ - D&R   YAYINEVİ: LEVEL KİTAP       YAZAR: VOLKAN ATASEVER  DİZİ EDİTÖRÜ: Uğur GELİŞKEN KİTAP ADI: C# 6.0 ISBN: 9786056567902 SAYFA SAYISI: 526 EBAT: 16,5*23,5 cm KÂĞIT: 1. Hamur KAPAK TASARIMI: Yunus Karaaslan DAĞITIM TARİHİ: 20.05.2015 C# 6.0 programlama dilini baştan sona size öğreten ve uygulayan bir kitabı elinizde tutmaktasınız. Visual Studio 2015 sürümünde gelen Cross Platform desteği ile Microsoft teknolojileri daha fazla değer kazanmıştır. iOS ve Android uygulamalarını Visual Studio 2015 ile birlikte geliştirebilmektesiniz. Bu programlama dilinin yükselişini gösterirken, aynı zamanda bu programlama dilini bilerek okulunuzda veya iş yaşamınızda bir adım daha öne geçeceksiniz. C# programlama dili Nesne Yönelimli bir dil olduğu için bu kavramlar ve nasıl uygulanacağı size ayrıntılarıyla anlatılmıştır. C# programlama dilini hem görsel hem de kodsal olarak öğrenebilmeniz hedeflenmiştir. Veri tabanı programlama ile temel veritabanı işlemlerinizi gerçekleştirebilirsiniz. REST ve SOAP web servisleri bu kitapta ayrıntılarıyla ele alınmıştır. Büyük bir uygulama geliştirmek için fazla beklemenize gerek yok; hemen C# 6.0 programlama dilini öğrenerek büyük projeler içine girebilirsiniz.   •C# Nasıl Doğdu ve Nasıl Gelişti • Visual Studio 2015'i İnceleme ve Tanıma •Windows Form Bileşenlerini Tanıma •Temel Veri Tipleri ve Değişkenler •Operatörler, Döngüler ve Deyimler •Diziler ve String'ler •Test ve Hata Yakalama •Sınıflar, Nesneler ve Metotlar •Kalıtım •Indeks'leyiciler ve Özellikler •Interface, Structure ve Enumaration •Grafik Programlama •I/O (Input/Output) İşlemleri •Delegeler ve Olaylar •Jenerik Koleksiyonlar, StringBuilder, Regular Expression, Bellek Yönetimi •Çok kanallı, Asenkron ve Paralel Programlama •Internet ve Ağ Uygulamaları •Veri Tabanı İşlemleri •XML ve Web servisleri ile çalışmak •LINQ (Language Integrated Query) •Java ile C# arasındaki benzerlik •TFS Kullanımı •Mobil Programlama •C# ile Algoritma Örnekleri   Kitaptaki konuların ana başlıkları: 1. Bölüm: C# Nasıl Doğdu ve Nasıl Gelişti?. 2. Bölüm: Visual Studio İnceleme ve Tanıma 3. Bölüm: Windows Form Bileşenlerini Tanıma ve Kullanma 4. Bölüm: Temel Veri Tipleri ve Değişkenler 5. Bölüm: Operatörler, Döngüler ve Deyimler 6. Bölüm: Diziler ve String’ler 7. Bölüm: Test ve Hata Yakalama 8. Bölüm: Sınıflar, Nesneler ve Metotlar 9. Bölüm: Kalıtım 10. Bölüm: Indeksleyiciler ve Özellikler. 11. Bölüm: Interface, Structure ve Enumaration 12. Bölüm: Grafik Programlama 13. Bölüm: I/O (Input/Output) İşlemleri 14. Bölüm: Delegeler ve Olaylar 15. Bölüm: Jenerik Koleksiyonlar, StringBuilder, Regular Expression, Bellek Yönetimi 16. Bölüm: Çok Kanallı, Asenkron ve Paralel Programlama 17. Bölüm: Internet ve Ağ Uygulamaları 18. Bölüm: XML ve Web Servisleri ile Çalışmak 19. Bölüm: LINQ (Language Integrated Query) 20. Bölüm: Java ile C# Arasındaki Benzerlik. 21. Bölüm: C# ile iOS ve Android Uygulamaları Geliştirme   Yazar Hakkında:  Volkan ATASEVER Yazarımız, Bilgisayar Mühendisi olup Proje Yöneticisi, Eğitmen ve Danışman olarak iş hayatına devam etmektedir. Birçok üniversitede eğitim ve seminer vermiştir. PCWorld ve T3 dergilerinde köşe yazarlığı yapmış, daha önce de iki kitap yazmıştır. www.volkanatasever.com adresinden yazarı takip edebilirsiniz.

Tümleşik Yetenek Olgunluk Modeli (CMMI)

Fatih Yücalar'ın sitesinde bulduğum önemli bir yazıyı paylaşmak istiyorum; Son yıllarda, Türkiye’nin küresel dünyaya uyum sağlama hızının ve kabiliyetinin arttığı gözlemlenmektedir. Buna paralel olarak, diğer tüm alanlarda olduğu gibi yazılım sektöründe faaliyet gösteren kuruluşlarımız için de dünya çapında iş yapabilme fırsatları oluşmaya başlamıştır. Bundan yararlanabilmenin ön koşulu ise kurumun yazılım üretiminde dünya standartlarında iş yapabilme yeteneğine sahip olması ve bunu belgelendirmesi gerekmektedir. Diğer yandan iç pazarda yoğunlaşan rekabet, başta savunma sanayi gibi hassas uygulama yazılımlarına ihtiyacı olan kamu kuruluşları başta olmak üzere devlet kaynaklı büyük yazılım projelerini üstlenecek kuruluşlardan da, bu projeleri tamamlayabilecek kurumsal olgunluğa sahip olduklarını belgelemeleri beklenmektedir. Bu noktada, CMMI modeli devreye girmektedir. CMMI, yazılım geliştirmede kullanılan kalite sistemlerini ve süreçlerini değerlendirmek, yazılımda kalite sertifikasyonunu sağlamak, süreçleri iyileştirmek ve yetenek belirlemek amacıyla geliştirilen bir modeldir. CMMI Ürün Grubu, süreç iyileştirme modellerini, değerlendirme metotlarını ve eğitim materyallerini içerir. CMMI modeli, bir kurumun ya da kurum içindeki bir sürecin olgunluğu hakkında bilgi verir. CMMI iki temel amaç için oluşturulmuştur: Yazılım geliştiren kuruluşlardaki süreç iyileştirme çabalarına rehberlik etmek, Yazılım işlerini gerçekleştirmek üzere mukavele yapılacak nitelikli/ehliyetli kuruluşların belirlenmesine yardım etmek. Başta modelin oluşturulmasını isteyen Amerikan Savunma Bakanlığı (Department of Defense, DoD) kendisine iş yapacak yazılım kuruluşlarının en az CMMI 3 seviyesinde olmasını istemektedir. Türkiye’de de Milli Savunma Bakanlığı bundan etkilenerek savunma sanayine iş yapacak kuruluşlardan en az CMMI 3 seviyesinde olmasını şart koşmaktadır. Günümüzde yazılım satın alacak birçok büyük kuruluş, ihalelerde firma seçimine karar verme aşamasında CMMI modelini kullanmaktadır. Modelin bir diğer kullanışı da şirket üst yönetiminin şirketin durumunu görmesine yardımcı olmasıdır. Kaynak: http://www.yucalar.com/

Kuantum Bilgisayarlarında Yeni Mimariler...

Fatih Yücalar'ın sitesinde rastladığım bir yazıyı paylaşmak istiyorum. Avusturya Innsbruck’taki üç araştırma enstitüsünden gelen araştırmacılar, 23 Şubat 2011’de Nature dergisinde yayımlanan bir makalede kuantum bilgisayarla bilgi işlem için yeni bir anlayış ve mimari ortaya koydular. AB Altıncı Çerçeve Programı çerçevesinde ve IST (Information Society Technologies) tematik alanında yer alan MICROTRAP (‘Development of a pan-European Microtrap Technology capability for Trapped Ion Quantum Information Science’) ve SCALA (‘Scalable quantum computing with light and atoms’) projeleri 1,77 ve 9,36 milyon avro ile desteklenmişler. Altı yıl önce Innsbruck Üniversitesi araştırmacıları, sekiz tane “entangled” ya da iç içe dolanmış, kuantum parçacığı kullanarak ilk kuantum “byte” birimini gerçekleştirmişlerdi. Bu halen kırılamayan bir rekordur. Ama pratikte bir anlamı yoktur, çünkü anlamlı bir bilgi işlem için bundan binlerce veya milyonlarca yapmak gerekir. Oysa sekiz iyonun bile yan yana dizilmesi ve kontrolü büyük zorluk çıkarmışken bunların binlercesinin inşası olanaksız görünmekteydi. Bu zorluğu aşmak için kuantum fiziğinde zamanımızın önde gelen iki ismi Ingacio Cirac ve Peter Soller’den kaynaklanan iki devrimsel fikirden yararlanıldı. İşin özünde ayrı ayrı “byte” lar oluşturulup bunların arasında nano düzeyde iletişim kurulabilir miydi sorusu vardı. Birbirleriyle iletişim halinde çok sayıda yazmaç (register) üreterek işe başlandı. Her yazmaç komşusuna yaklaşık 50 mikrometre mesafedeyken parçacıkların hareketlerini anten olarak kullanarak iletişim kurdu.  İki komşu yazmaç alıcı ve verici olarak iletişim kurunca aralarında oluşan kuplaj bir kuantum bilgisayarının yapı taşı oluyor. Proje grubundan Profesör Blatt’a göre, istenen bu kuplajı sağlamak basit gibi görünen yolla mümkün oldu. Ama gene de kuantum düzeyinde iki mekanik sistem arasında kuplaj sağlamanın ilk kez yapılabildiğini söylüyor. Gruptaki bilimadamları kuplajın gücünü kuantum kuyularına daha çok iyon kullanarak artırabildiklerini, iletişim hızını ve aradaki mesafeyi de böylece büyütebildiklerini söylemekteler. Böylece çalışan bir kuantum bilgisayar yapmak kolaylaşacak. Artık içinde birbirleriyle iletişim halinde çok sayıda iyon tuzağı, yani kuantum işlem birimi bulunduran bir yonga (chip) yapmak mümkün olacak ve bu yongaları kullanarak pratikte kullanılabilecek kuantum bilgisayarları yapılabilecek. Ancak bunun gerçekleşmesi için kaç yıl bekleneceği henüz bir soru işareti… Kaynak: www.bilimania.com

ENOVIA V6R2013x ve java 7 update 51 sorunu

    Eğer aşağıdaki iki durumdan birine, kendinizin sisteminde sahipseniz acilen önlem almanız gerekebilir: Java 7 Update 51 yüklediyseniz… Java 7 update 25’ten yukarı bir Update yüklediyseniz… Bunlardan birini yüklemiş olmak, açıklandığı üzere 3DS Java uygulamalarının çalışmasına engel teşkil ediyor. Bundan dolayı bir yönetici görevi olarak; Ekim 7u45 kritik yama güncellemesi dahili olmak üzere son java güvenlik değişiklikleri appletlerin başlangıcını etkiliyor. Oracle java resmi bilgilerine bakabilirsiniz: http://www.oracle.com/technetwork/java/javase/7u45-relnotes-2016950.html#newft   Applet’lerle engellenen ya da uyarı mesajları almayı önlemik için, Oracle’ın önerdiği temel metodolojiyi kullanabiliriz. Bu RuleSet çözümü ile yapılmaktadır. Bu yöntemi uygulamak için adımlar şunlardır; Bu metodoloji güvenli bir trusted Certificate Authorithy (CA) kullanmayı gerektirir.   1. Boş bir dizin oluşturun ve aşağıdaki içeriğe sahip bir yeni ruleset.xml dosyası oluşturun. ekteki rulset.xml dosyasına bakabilirsiniz.   Bu dosyada URL alanı yerine kullandığınız abletin URL’ini gimeniz gerekmektedir. Bu yol: <id location=”http://plmsunucusuismi:8080/enovia” /> şeklinde olacaktır.   2. Ruleset.xml dosyasını package etmeniz, signed etmeniz ve depoloy etmeniz gerekmekte bunun için bu dökümandan faydalanabilirsiniz;  https://blogs.oracle.com/java-platform-group/entry/introducing_deployment_rule_sets bu metodolji ile java apple çağrılıraın hiç bir uyarı ve blocklanma görmeyeceksiniz.   VEYA Kullanıcılar için de  Oracle prosedürü olarak exception site listesine giriş yapabilirsiniz. https://blogs.oracle.com/java-platform-group/entry/upcoming_exception_site_list_in   Client kullanıcıları java control panelden Exception Site liste erişebilirler Öncelikle java control paneli açın ardından System control panel veya sytem preferences’I açıp javayı seçin. Securit tab kısmına tıklayın. Manage Site List butonuna tıklayın ardından yeni bir pencere açılacak. Ekle butonuna tıklayın Http://plm_server_ismi:8080/enovia yolunu gösterin. Okey dedikten sonar pencereyi kapatın.

ENOVIA Library Experience Nedir?

Enovia Library Experience depolamanın, yönetimin, dökümanlara erişimin ve diğer dosyalarla uygulamaların çalışması için en etkili yoldur.Library Experience kullanarak aşağıdakileri yapabilirsiniz:Kütüphane eişimleri sınıflandırma parametreleri temellidir.kritik döküman içeriği değişimlerinden bilgili olmak için o dökümana üye olmanız gerekmektedir.Kolay ve etkili arama sağlanır ve kütüphane hiyerarşisi içinde navigasyon yetenekleri mevcuttur.Library Experience kimin içindir?Ürün mühendisleri, dizaynırlar, teknik yazarlar içindir. Tüm bu insanlalr Library User rolüne sahip olacaktır. Bu rol library nesnelerini arama ve görüntülemek için izinlere sahiptir.ENOVIA Library Experience ÖzellikleriENOVIA Library Experience bir kurumsal sistemde dökümanları depolamak için kullanılan elektronik bir kütüphanedir.Belirli özellikleri ve fonksiyonları destekler. Enovia Library Experience şunları içerir;Arama Nesneleri (Searching Objects) Strandart nesne özellikleri arayabilir ve gelişmiş sorgular tanımlayabilirsiniz.basit text aramalarını checkin edilmiş dosyalar üzerinde yapabilirsiniz. full text search ile arama yapabilirisiniz.Versionin Documents (Versiyonlanmış Dökümanlar)Bir belgenin yeni versiyonlarını yaratmak için checkin işlevselliği kullanabilirsiniz. Ayrıca öncekisürümlerede erişebilirsiniz.Subscribin to Object Events(Nesne olaylarına Abonelik)Nesne olaylarına abone olarak elektronikk bildirim alabilirsiniz. Bu olayla revize etmek, release etmek,promote, delete, modify gibi nesneye ait olaylardır.Batch Printing (Toplu Baskı)Network prin serverına bağlı herhangi bir yazıcı kullanarak uygulamalar içinden dökümanları açmaksızın print alabilirsiniz.PDF RenderingHer dökümanın PDF versiyonunu entegre olarak alabilirsiniz.

ENOVIA Yapısı ve BPS

Bu yazımda BPS’in(business process services) konseptini nasıl kullanıldığını ve bileşenlerin BPS tarafından nasıl kullanıldığından bahsedeceğiz. Bu bileşenler  konfigürasyon ve implementasyon süreci içinde oldukça önemli rollere sahiptir. Enovia PLM (Product Lifecycle Management) (Ürün Yaşamdöngüsü Yönetimi) iş süreçleri uygulamaları için destek sağlar. Bu uygulamalar önceden tanımlanmış semalar ve süreçlerle aşağıdaki iş gereksinimlerini destekler.Mühendislik DeğişimleriProgram YönetimiTedarikçi ve Kaynak Yönetimi İş süreçleri uygulamaları, Live Collaborations Business Servicess üzerinde çalışmaktadır: Şema koleksiyonları, iş nesneleri, web dosyaları gibi temelleri sağlar ve destekler Enovia Business Process Application genel özellikler ve paylaşımlı içerikleri destekler. BPS içerikleri, tamamen çalışan web uygulamaları için tüm gereksinimleri karşılar.Mühendislik süreçleri gibi önceden tanımlanmış karmaşı iş süreçleride tüm özellikleriyle sunulmaktadır. Live Collaboration Business Service tüm centralların(Sonrada kurulan her ek merkez) temelinde yatar.     BPS kullanıcı arayüzü aşağıdaki gibidir;Application Login pageNavigator Page/Toolbars-Global/Page Toolbar-Cascading MenusGlobal/Search componentApplication Specific Searh PagesView Table PagesMass Editable Configurable TablesStructure Browser TablesNavigation Trees / Structure Navigator PagesConfigurable Web FormsConfigurable Type Chooser FormsConfigurable Vault Chooser FormsCalendar Popup FormsPowerView Congfigurable Pages (Portal Pages)Internet Portals

PLM Nedir Ne Değildir?

    PLM, Product Lifecycle Management kelimelerinin baş harflerinden oluşmaktadır. Bir ürünün fikirden satış aşamalarına kadar yöneten uygulamalara PLM uygulamaları demekteyiz. Günümüzde PLM'ler bir 3D profesyonel çizim programıyla entegre çalışmaktadır. Uzmanlık alanıma giren ENOVIA PLM uygulaması buna en güzel örnnektir. Ürünün tasarım, tedarik, üretim, isterler ve dağıtım modüllerinden oluşur.Örneğin ENOVIA PLM uygulamasında Engineering Central, Designer Central, Programming Central gibi modülleri bulunmaktadır.Bir PLM aracıyla çalışan şirketin maliyetleri azalık ve verimliliği yükseldiğinden dolayı kazanç sağlamaktadır. PLM Sistemlerini kurmak için bir sunucuya ihtiyaç duymanız muhtemeldir.Piyasada en çok kullanılan dizayn programı CATIA ile ENOVIA entegrasyonu ise iş verimliliğini  arttırmaktadır.

Rekürsif Metotlar

  C, C++, Java ve C# dilinin birbirinin akrabası olduğunu çok kereler duymuşuzdur. Eğer bir C, C++ programcısıysanız C# programlama diline daha kolay adapte olacağınız bir gerçektir. C# programlama dili ile bir rekürsif metot örneğini aşağıda bulabilirsiniz. using System;class rekursifuygulama{    static void Main()    {    rekursif(0);    }    static void rekursif(int sayi)    {    Console.WriteLine(sayi);    if (sayi<10)    {        rekursif(++sayi);    }     else     {         Console.WriteLine(sayi);     }     }}