Alım-satım fırsatlarını kaçırıyorsunuz:
- Ücretsiz alım-satım uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Kayıt
Giriş yap
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Hesabınız yoksa, lütfen kaydolun
mql5 için VSC nasıl kullanılır! Adım adım öğretici
mql5 için VSC nasıl kullanılır! Adım adım öğretici
Herkese merhaba, ben Toby ve bu videoda, MQ5 (MQL5) dosyalarınızı düzenlemek için Visual Studio Code'u nasıl etkili bir şekilde kullanabileceğinizi tartışmak istiyorum. Visual Studio Code kullanmanın avantajlarını ve dezavantajlarını vurgulayacağım ve elbette kurulum sürecinde size rehberlik edeceğim. Öyleyse başlayalım!
Kuruluma geçmeden önce, varsayılan Meta Düzenleyiciden Visual Studio Code'a geçerken keşfettiğim bazı avantaj ve dezavantajları paylaşmak istiyorum. Birkaç haftadır Visual Studio Code kullanıyorum ve genel olarak, onu üstün bir editör olarak görüyorum. Ancak, bir editör seçmenin kişisel bir karar olduğunu ve kendi tercihlerinizi göz önünde bulundurmanız gerektiğini unutmamak önemlidir.
Hızlı bir karşılaştırma ile başlayalım. Burada ekranda, şu anda MetaTrader 5 için EA'larımı ve göstergelerimi oluşturmak için kullandığım Visual Studio Code ortamını görebilirsiniz. Aksine, bu, varsayılan Meta Düzenleyicidir. Daha önce de belirttiğim gibi, çeşitli avantajları nedeniyle kişisel olarak Visual Studio Code'u tercih ediyorum. Ancak, Visual Studio Code ile ilişkili bazı dezavantajların da olduğunu kabul etmek önemlidir.
Önemli bir dezavantaj, Visual Studio Code'da MQ5 dosyaları için bir hata ayıklayıcı olmamasıdır. Varsayılan Meta Düzenleyici, kodunuzdaki hataları verimli bir şekilde tanımlamanıza ve düzeltmenize olanak tanıyan hata ayıklama seçenekleri sunar. Şahsen hata ayıklayıcıya güvenmememe rağmen, hataları tespit etmek için print deyimlerini kullanmak yerine, bu özelliğe büyük ölçüde bağlıysanız, varsayılan düzenleyiciye bağlı kalmayı tercih edebilirsiniz.
Visual Studio Code'da, özellikle kullandığım uzantıda karşılaştığım bir başka dezavantaj, otomatik tamamlama işlevinin bazen tüm değişkenleri önerememesidir. Yazarken, "import" ile başlarsam, "input" ile başlayan tüm giriş değişkenlerini ve diğer işlevleri görmeliyim. Bu otomatik tamamlama özelliği, kodlama sırasında oldukça kullanışlıdır. Ancak bu sorunu sadece birkaç kez yaşadım ve kullandığım uzantı düzenli olarak güncelleniyor. Sonuç olarak, gelecekte bu sorunun büyük olasılıkla çözüleceğine inanıyorum. Şu anda, benim için önemli bir zorluk oluşturmuyor. Ancak, MQL5'e yeni başlayan biriyseniz, Visual Studio Code'a geçmeden önce birkaç hafta varsayılan düzenleyiciyle başlamanızı öneririm.
Şimdi, kullandığım uzantı ile varsayılan düzenleyiciden Visual Studio Code'a geçerken keşfettiğim avantajlara odaklanalım. En bariz avantajı gelişmiş görünümdür. Burada, varsayılan düzenleyicinin görünümüne bir göz atın. Evet, karanlık bir mod sunar ve renkleri bir dereceye kadar özelleştirebilirsiniz. Ancak renk temasını kaydedemezsiniz ve araç kutusundaki gezgin yine de beyaz bir arka planı korur. Açıkçası, bu özelleştirme seçeneklerinin eksikliği, özellikle 2023 yılı olduğu düşünülürse, modası geçmiş görünüyor. Buna karşılık, Visual Studio Code çok çeşitli renk temaları sağlar ve hatta kendi temanızı bile oluşturabilirsiniz. Şu anda koyu Visual Studio Code renk temasını kullanıyorum, ancak çok sayıda seçenek arasından seçim yapabilirsiniz. Bu ortamda önemli miktarda zaman geçirdiğinizde, onu beğeninize göre kişiselleştirme yeteneğine sahip olmak çok önemli hale gelir.
Ek olarak, Visual Studio Code başka birçok avantaj sunar. Örneğin, sağda oldukça kullanışlı olan bir mini harita özelliği sağlar. Ayrıca, kodunuzun bazı bölümlerini katlayarak daha iyi bir düzenleme yapabilirsiniz. Ayrıca, Python veya C++ gibi farklı programlama dilleriyle çalışıyorsanız, her şeyin tek bir yerde birleştirilmesi, kodlama sürecini basitleştirir. "Tanıma git" özelliği, kodunuz içinde kolayca gezinmenizi sağlayan başka bir kullanışlı işlevdir. Bu özellik Meta Editör'de de mevcut olsa da, benim için hiçbir zaman etkili bir şekilde çalışmadı. Tanıma, bildirime ve hatta değişkenlere gitmek için sağ tıklamak sürekli olarak başarısız olmuştur. Bunun Meta Editör örneğime özel olması mümkündür, bu yüzden sizi teşvik ediyorum
Mqfi dosyalarınızı düzenlemek için Visual Studio Code'u nasıl kullanabileceğinizi tartıştığım bu videoyu izlediğiniz için teşekkür ederiz. Varsayılan Meta Düzenleyiciye kıyasla Visual Studio Code kullanmanın avantajlarını ve dezavantajlarını vurguladım ve ayrıca kendiniz için ayarlama konusunda adım adım bir kılavuz sağladım.
Kurulum sürecine girmeden önce, varsayılan Meta Düzenleyiciden Visual Studio Code'a geçerken keşfettiğim bazı avantaj ve dezavantajları paylaşmak istedim. Son birkaç haftadır birincil düzenleyicim olarak Visual Studio Code kullanıyorum ve genel olarak bunun üstün bir seçim olduğunu düşünüyorum. Bununla birlikte, dikkate alınması gereken birkaç dezavantaj vardır.
Dezavantajlardan biri, Visual Studio Code'un varsayılan Meta Düzenleyicide olduğu gibi mq5 dosyaları için yerleşik bir hata ayıklayıcıya sahip olmamasıdır. Varsayılan Meta Düzenleyici, kodunuzda hata ayıklamak ve hataları belirlemek için seçenekler sunarken, Visual Studio Code'da kişisel olarak hata ayıklama için basit baskı ifadelerine güveniyorum. Hata ayıklayıcı özelliği, kodlama süreciniz için çok önemliyse, varsayılan Meta Düzenleyiciye bağlı kalmanızı tavsiye ederim.
Visual Studio Code'da, özellikle kullandığım uzantıda karşılaştığım bir başka dezavantaj, otomatik tamamlama işlevinin bazen tüm değişkenleri önermemesidir. Yazarken, Visual Studio Code'daki otomatik tamamlama özelliği, giriş değişkenleri ve işlevleri için öneriler göstermelidir, ancak beklendiği gibi çalışmadığı durumlar olmuştur. Ancak, bu sorunun benim için nadir olduğunu ve kullandığım uzantının sık sık güncellendiğini, bu nedenle gelecekte çözülmesinin muhtemel olduğunu belirtmek isterim. Şu anda, benim için önemli bir endişe değil. mq5 ile yeni başlayan biriyseniz, Visual Studio Code'a geçmeden önce birkaç hafta varsayılan düzenleyiciyle başlamanızı öneririm.
Şimdi, Visual Studio Code'a geçerken ve mq5 dosyaları için uzantıyı kullanırken bulduğum avantajlara odaklanalım. Bariz bir avantaj, genel görünüm ve özelleştirme seçenekleridir. Varsayılan Meta Düzenleyicinin aksine, Visual Studio Code farklı renk temaları ayarlamanıza ve hatta kendi temanızı oluşturmanıza olanak tanır. Bu düzeyde özelleştirme, kodlama ortamında çok fazla zaman geçirdiğinizde önemlidir.
Ayrıca Visual Studio Code, mini harita, kod katlama, birden çok programlama dili desteği ve işlevlerin ve değişkenlerin tanımına gitme yeteneği gibi yararlı bulduğum ek özellikler sunuyor. Varsayılan Meta Düzenleyici benzer özelliklere sahip olsa da, benim için tutarlı bir şekilde çalışmadılar. Örneğin, Meta Düzenleyici örneğimde "Tanıma Git" özelliği nadiren beklendiği gibi çalışır. Bu özelliği Meta Düzenleyicinizde test edip işinize yarayıp yaramadığını yorumlarda bana bildirirseniz çok sevinirim.
Visual Studio Code'da birden çok dosyayla çalışmak da daha uygundur. Dosyaları kolayca kaydırabilir ve bölünmüş ekranlar oluşturarak daha verimli çalışabilirsiniz. Bunu varsayılan Meta Düzenleyicide başarmak mümkün olsa da, daha fazla adım gerektirir ve kullanışsız hale gelebilir.
Kuruluma devam etmeden önce, iki avantajdan daha bahsetmek istiyorum. İlk olarak, Visual Studio Code'da neredeyse her şey ayarlar aracılığıyla özelleştirilebilir. Düzenleyicinin görünümü ve davranışı üzerinde daha fazla kontrole sahipsiniz. İkincisi, bir proje üzerinde çalışırken ve onu derlemek istediğinizde, Visual Studio Code proje içindeki herhangi bir dosyadan derleme yapmanıza olanak tanır. Kullandığım uzantıda bu işlem basittir. Öte yandan, Meta Editör'de derlemek için ana dosyaya geri dönmeniz gerekir, bu da zahmetli olabilir.
Şimdi kurulum işlemine geçelim. Lütfen aşağıdaki adımların Windows kullanma deneyimime dayandığını unutmayın. Gelecekte herhangi bir değişiklik olursa, yorumlarda bir güncelleme sağlayacağım. Herhangi bir önemli adımı kaçırırsam, Visual Studio Code'u sıfırdan kaldırmak ve yeniden yüklemek için birlikte çalışabiliriz.
İlk adım, Visual Studio Code'u resmi web sitesinden (code.visualstudio.com) indirmektir. İndirme işlemi tamamlandıktan sonra yükleyiciyi çalıştırın ve Visual Studio Code'u sisteminize yüklemek için ekrandaki talimatları izleyin.
Ardından, Visual Studio Code'u açın. Çeşitli seçeneklere sahip bir karşılama ekranı görmelisiniz. Bu ekranı göremiyorsanız, "Yardım" menüsüne tıklayıp açılan menüden "Hoş Geldiniz"i seçerek bu ekrana erişebilirsiniz.
Visual Studio Code for mq5 dosyalarının işlevselliğini geliştirmek için "MetaQuotes Language 5 (MQ5)" adlı bir uzantı yüklememiz gerekiyor. Bunu yapmak için düzenleyicinin sol tarafındaki kenar çubuğunda bulunan "Uzantılar" simgesine tıklayın (veya Ctrl+Shift+X kısayolunu kullanın).
Uzantılar panelinin üst kısmındaki arama çubuğuna "MetaQuotes Language 5" yazın ve Enter'a basın. "MetaQuotes Language 5 (MQ5)" adlı uzantıyı bulun ve yanındaki "Yükle" düğmesine tıklayın. Kurulum tamamlandığında, bir "Yeniden Yükle" düğmesini görmelisiniz. Uzantıyı etkinleştirmek için üzerine tıklayın.
Uzantı yüklenip etkinleştiğine göre, Visual Studio Code'u mq5 dosyalarını tanıyacak ve sözdizimi vurgulaması sağlayacak şekilde yapılandıralım. Üst menüde "Dosya"ya tıklayın ve ardından "Tercihler"i ve ardından "Ayarlar"ı seçin. Bu, ayarlar panelini açacaktır.
Ayarlar panelinde iki sütun göreceksiniz: Solda Varsayılan Ayarlar ve sağda Kullanıcı Ayarları. Kullanıcı Ayarlarında değişiklikler yapacağız. Kullanıcı Ayarları sütununa ekleyerek varsayılan ayarları geçersiz kılabilirsiniz.
mq5 dosyaları için sözdizimi vurgulamayı etkinleştirmek üzere Kullanıcı Ayarlarınıza aşağıdaki satırı ekleyin:
"dosyalar. ilişkilendirmeler": {
"*.mq5": "mq5"
}
Bu satırı Kullanıcı Ayarlarında herhangi bir yere ekleyebilirsiniz, ancak en dıştaki kaşlı ayraçlar {} içinde olduğundan emin olun. Kullanıcı Ayarlarınızda zaten başka ayarlarınız varsa, bunları virgülle ayırın.
Satırı ekledikten sonra Kullanıcı Ayarları dosyasını kaydedin. Bunu düzenleyicinin sağ üst köşesindeki "Kaydet" simgesine tıklayarak veya Ctrl+S kısayolunu kullanarak yapabilirsiniz.
Şimdi, Visual Studio Code'da bir mq5 dosyası açtığınızda, dosya türünü otomatik olarak tanımalı ve buna göre sözdizimi vurgulaması uygulamalıdır.
Bu kadar! Mq5 dosyalarını düzenlemek için Visual Studio Code'u başarıyla kurdunuz. Artık Visual Studio Code'un sağladığı gelişmiş özelliklerin ve özelleştirme seçeneklerinin keyfini çıkarabilirsiniz.
Umarım bu rehber size yardımcı olmuştur. Kurulum işlemi sırasında herhangi bir sorunuz varsa veya herhangi bir sorunla karşılaşırsanız, lütfen bana bildirin, size yardımcı olmaktan memnuniyet duyarım. Mutlu kodlama!
Windows'ta R ve RStudio'yu Kurun
Windows'ta R ve RStudio'yu Kurun
Merhaba ve bu videoya hoş geldiniz. Burada, RR adlı programlama dilini indirme sürecinde size rehberlik edeceğim. R, istatistik, tahmine dayalı analitik ve makine öğrenimi ile çalışmak için mükemmel bir dildir. Öyleyse hemen dalalım.
Başlamak için, aşağıdaki açıklamada sağladığım belirli bir URL'yi veya web adresini ziyaret etmemiz gerekiyor. Bu sayfadaki "R'yi İndir" düğmesine tıklayın. Şu anda Windows için mevcut sürüm 3.3.4'tür, ancak gelecekte farklı olabilir. İndir düğmesine tıkladığınızda, dosya indirilmeye başlayacaktır. İndirme işlemi genellikle oldukça hızlıdır.
İndirme işlemi tamamlandıktan sonra, yükleme işlemini başlatmak için indirilen dosyayı çalıştırın. Bu, R'nin Windows sisteminize doğru şekilde yüklenmesini sağlayacaktır. Dil seçimini gösteren bir iletişim kutusu görünecektir; devam etmek için "Tamam"a tıklamanız yeterlidir. Tüm kurulum ayarlarını varsayılan olarak bırakın ve "İleri" düğmesini tıklayın.
Kurulum, R'yi varsayılan olarak Program Dosyaları dizinine kaydedecek ve bu gayet iyi. Varsayılan özel ayarları kullanarak kuruluma devam etmek için "İleri" düğmesini tıklamaya devam edin. Başlat menüsü klasörü için bir kısayol oluşturmak isteyip istemediğiniz sorulacaktır; olduğu gibi bırakabilir veya "R" gibi bir ad verebilirsiniz. Ek olarak, kolaylık sağlamak için masaüstü simgeleri ve kayıt defteri girdileri oluşturmayı seçebilirsiniz. Seçimlerinizi yaptıktan sonra "İleri"yi tıklayın.
Yükleyici şimdi gerekli tüm dosyaları bilgisayarınıza yüklemeye devam edecektir. Bunun, R programlama dilinin kendisinin indirilmesini içeren kurulum sürecinin yalnızca ilk kısmı olduğuna dikkat etmek önemlidir. Bu dili etkin bir şekilde kullanmak için hala bir Etkileşimli Geliştirme Ortamına (IDE) ihtiyacımız var. Popüler bir IDE'ye RStudio denir. Daha sonra nasıl indirip kuracağınız konusunda size rehberlik edeceğim.
R için yükleme işlemi tamamlandıktan sonra, RStudio'yu indirmeye devam edebilirsiniz. Video açıklamasında da bulunacak olan sağlanan bağlantıyı takip etmeniz yeterlidir. Ücretsiz sürümle ilgilendiğimiz için RStudio web sitesinde "RStudio Masaüstü Açık Kaynak Lisansı" seçeneğini seçin. Ancak, isterseniz farklı bir sürüm seçmekten çekinmeyin. "İndir" düğmesini tıklayın, sizi desteklenen platformlar sayfasına yönlendirecektir.
Windows 10 kullandığınız için, Windows 10 yükleyici dosyasını seçin. Dosya bir kez daha indirilmeye başlayacak ve bu hızlı bir işlem olacaktır. İndirme tamamlandıktan sonra, RStudio kurulum sihirbazını başlatmak için indirilen dosyayı çalıştırın. Kuruluma devam etmek için "İleri" düğmesini tıklayın.
Genellikle Program Dosyaları dizini olan yükleme konumunu seçin. Sihirbaz tarafından sağlanan varsayılan seçenekler çoğu kullanıcı için yeterli olmalıdır. "RStudio" gibi Başlat menüsü klasör adını seçin ve "Yükle"yi tıklayın. Yükleme işlemini tamamlaması için biraz zaman tanıyın. RStudio, istatistiksel analiz için yaygın olarak kullanılan ve şirketler tarafından çok aranan büyük verilerle çalışan mükemmel bir IDE'dir.
Kurulum tamamlandığında, kurulum sihirbazından çıkmak için "Bitir"e tıklayın. Kurulum sihirbazı penceresini simge durumuna küçültebilir ve RStudio'yu açmaya devam edebilirsiniz. Başlat menüsünde "RStudio"yu arayın ve uygulamayı açın. Tebrikler! Artık programlamaya başlamak için R ve RStudio ile kurulumunuz tamamlandı.
Bu videoyu izlediğiniz için teşekkür ederiz. Programlama serimizdeki bir sonraki ders için bizi izlemeye devam edin. Herhangi bir sorunuz varsa, lütfen yorumlar bölümünde sormaktan çekinmeyin. Bir sonraki videoda görüşmek üzere!
R Programlama Temel Operatörleri
R Programlama Temel Operatörleri
Herkese merhaba, R programlama diliyle ilgili başka bir eğitime tekrar hoş geldiniz. Bu öğreticide, operatörleri de dahil olmak üzere R'nin bazı temel yapı taşlarını ele alacağız. Spesifik olarak, aritmetik işleçler ve mantıksal işleçler üzerinde duracağız. Öyleyse hemen dalalım.
Özünde, R programlama dili güçlü bir hesap makinesi olarak düşünülebilir. Kendimizi bu operatörlere alıştırmak için bazı aritmetik işlemleri keşfederek başlayalım. Örneğin 7 artı 5 işlemini yaparsak sonuç 12 olur. Aynı şekilde 8'den 4'ü çıkarırsak 4 elde ederiz. 5'i 2 ile çarparsak 10, 6'yı 3'e bölersek 2 olur. Bunlar temel aritmetiktir. uygun aritmetik operatörler kullanılarak gerçekleştirilen işlemler.
Şimdi, diğer programlama dillerinde daha az bilinen bazı işlemleri tartışalım. Böyle bir işlem üs almadır. Örneğin 2'nin 3'ün kuvvetine yükseltilmiş olarak hesaplarsak sonuç 8'dir. Bir diğer işlem de "mod" anahtar kelimesi ile gösterilen modül operatörüdür. 8 mod 2'yi hesaplarsak, kalan 0'dır. Bu işlemler, üsleri içeren hesaplamalar yapmamızı ve bölmeden sonra kalanı belirlememizi sağlar.
Mantıksal işleçlere geçersek, mantıksal koşulları değerlendirmek ve Boole değerleri (doğru veya yanlış) döndürmek için kullanılırlar. Küçüktür operatörüyle başlayalım. Örneğin 7'nin 8'den küçük olup olmadığını kontrol edersek sonuç doğrudur. Tersine, 9 ile 9'u karşılaştırırsak sonuç yanlış olur çünkü 9, 9'a eşittir. Bir sayının başka bir sayıdan küçük veya ona eşit olup olmadığını da kontrol edebiliriz. Örneğin, 9'un 9'dan küçük veya 9'a eşit olup olmadığını değerlendirirsek sonuç doğrudur.
Benzer şekilde, büyüktür operatörüne sahibiz. 10'un 8'den büyük olup olmadığını belirlersek, sonuç doğrudur. Ayrıca 11'in 3'ten büyük veya 3'e eşit olup olmadığını da kontrol edelim, ki bu doğru. Ardından, eşitliği araştırıyoruz. Bir sayının başka bir sayıya tam olarak eşit olup olmadığını kontrol etmek için eşitlik operatörünü kullanırız. Örneğin 5 ile 5'i karşılaştırırsak sonuç doğrudur. Tersine, 5'in 5'e eşit olup olmadığını kontrol edersek sonuç yanlış olur.
Ek olarak, "değil" anahtar sözcüğüyle gösterilen mantıksal olumsuzlama işlecimiz var. Olumsuzlama operatörünü true olarak uygularsak, sonuç yanlış olur. Ayrıca, en az bir koşulun doğru olup olmadığını değerlendirmek için mantıksal OR operatörünü kullanabiliriz. Örneğin, 11'in 8'den büyük veya 7'nin 8'den büyük olup olmadığını kontrol edersek, koşullardan biri doğru olduğundan sonuç doğrudur.
Tüm bu kavramları, birden fazla operatörü birleştiren bir örnekle bir araya getirelim. 11'in 8'den büyük ve 7'nin 8'den büyük olduğu ifadesini değerlendirdiğimizi varsayalım. Her iki koşul da doğru olmadığı için sonuç yanlıştır.
Bu, R'deki aritmetik ve mantıksal operatörler hakkındaki tartışmamızı sonlandırıyor. Umarım bu öğreticiyi bilgilendirici ve eğlenceli bulmuşsunuzdur. Herhangi bir sorunuz varsa, lütfen yorumlar bölümünde sormaktan çekinmeyin. İzlediğiniz için teşekkür ederim, bir sonraki video dersinde görüşmek dileğiyle.
R Programlamada Değişken Atama ve Veri Tipleri
R Programlamada Değişken Atama ve Veri Tipleri
Herkese merhaba, R programlama diliyle ilgili başka bir eğitim videosuna hoş geldiniz. Bu videomuzda değişkenlere değer atama konusunu işleyeceğiz. Başlamak için, değişkenlere atanabilen farklı veri türlerini ve bu amaçla atama operatörünün nasıl kullanılacağını anlamamız gerekir. Başlayalım.
Ok gösterimi ile gösterilen atama operatörünü kullanarak değişkenlere değer atayabiliriz. Örneğin X isimli bir değişkeni ele alalım. Ok operatörünü kullanarak ona 5 gibi sayısal bir değer atayabiliriz. Sol üst köşede X'in değerinin artık 5 olduğunu görebilirsiniz. Bunu X'in değerini yazdırarak, sadece "X" yazıp enter'a basarak onaylayabiliriz. Beklendiği gibi, çıktı 5'tir.
Değişkenlere değer atamanın tek yolu ok gösterimi değildir. X <- 8.5'teki gibi eşittir işaretini de kullanabiliriz. Bunu yaparak, X'in değerini 8,5 olarak değiştiriyoruz. Şimdi X'i yazdırırsak, gerçekten 8.5 olduğunu görürüz. X'e atanan veri türü, "class(X)" komutunun sonucunda belirtildiği gibi sayısal bir veri türüdür.
Şimdi X değişkenine farklı bir veri tipi atayalım. Bunu "TRUE" mantıksal değerine ayarlayabiliriz. "class(X)" komutunu kullanarak X veri tipini kontrol ederek, artık mantıksal veri tipinde olduğunu görebiliriz. Benzer şekilde, X'e 2L gibi bir tamsayı değeri atayabiliriz. X'i yazdırarak, değerin 2 olduğunu gözlemleyebiliriz, bu da X'in bir tamsayı veri türü olduğunu gösterir.
Ayrıca R, karmaşık veri türlerini destekler. X'e 3 + 2i gibi karmaşık bir değer atayabiliriz. X'i yazdırdığımızda 3+2i'nin karmaşık değerini görüyoruz. X veri türünün karmaşık olduğu "class(X)" komutu kullanılarak onaylanabilir.
Devam ediyoruz, karakter veri tipimiz var. Bazı programlama dillerinde karakterler ve dizeler farklıdır, ancak R'de karakterler nesne olarak kabul edilir. X'e "G" gibi bir karakter atayabilir ve "class(X)" komutunu kullanarak veri türünü doğrulayabiliriz. Veri türü, bir karakter olarak doğru bir şekilde tanımlanmıştır. Alternatif olarak, X <- "H" gibi çift tırnak kullanarak bir karakter atayabiliriz. Yine, veri türü bir karakter olarak kalır.
Bir karakter dizisinin hala karakter veri tipinde olduğunu vurgulamak için X'i "merhaba"ya atayabiliriz. Birden çok karaktere sahip olmasına rağmen, X veri türü bir karakter olarak kalır.
Son olarak, ham veri tipi var. X'e bir ham değer atamak için ok gösterimini ve "charToRaw" işlevini kullanırız. Örneğin, X <- charToRaw("hello") X'e "hello" ham değerini atar. X'i yazdırmak, her karakterin ham değerlerini temsil eden bir dizi sayıyı ortaya çıkarır. Bu durumda, "merhaba" ham biçimde 48 65 6c 6c 6f olarak temsil edilir.
Ok gösterimiyle ilgili ek bir not, değişkenler arasında değerleri değiştirmek için tersine çevrilebilmesidir. Örneğin, X <- 8 ayarladığımızı ve X'e atadığımız başka bir Y değişkeni yarattığımızı varsayalım. Y'yi yazdırırsak, tıpkı X gibi 8'e eşit olduğunu görürüz. Şimdi X < işlemini yaparsak - X + Y, X 16 olur. Ancak ok gösterimini Y <- X şeklinde tersine çevirirsek Y'nin değeri de 16 olur.
Umarım bu videoyu bilgilendirici ve faydalı bulmuşsunuzdur. İzlediğiniz için teşekkür ederim, bir sonraki videoda görüşmek dileğiyle.
R Programlama Vektörleri
R Programlama Vektörleri
Herkese merhaba, R programlama diliyle ilgili başka bir derse tekrar hoş geldiniz. Bugün, R'deki temel veri nesneleri olan vektörleri tartışacağız. Altı tür vektör vardır: mantıksal, tamsayı, çift, karmaşık, karakter ve ham. Bu veri türleri önceki derslerimizde tanıtıldı. Şimdiye kadar tartıştığımız tüm vektörlerin tek elemanlı vektörlerden oluştuğunu not etmek önemlidir. Şimdi birden çok öğeyle vektörlerin nasıl oluşturulacağını keşfedelim.
Bir vektör oluşturmanın, X <- 2 gibi bir değişkene değer atamak kadar basit olduğunu düşünebilirsiniz. Bu, tek öğeli bir vektör oluşturur. Ancak, "birleştirme" anlamına gelen "c" işlevinin kullanılması daha yaygındır ve standart kuralı izler. Örneğin, üç elemanlı bir vektör oluşturmak için X <- c(1, 2, 3) yazabilirsiniz.
Vektörler oluşturulurken, tüm elemanlar aynı veri tipinde olmalıdır. Örneğin, 1, TRUE ve 3.5 öğeleriyle bir vektör oluşturursanız, ortaya çıkan vektör sayısal veri türünde olacaktır. "class(X)" komutunu kullanarak vektörün sınıfını yazdırarak bunu onaylayabilirsiniz.
Konsepti daha iyi anlamak için bazı örnekleri inceleyelim. X <- c(1, 2, 3L) vektörünü ele alalım. Burada "L", 3 değeri için bir tamsayı veri türünü belirtirken, diğer öğeler sayı olarak kalır. Vektörü yazdırmak ve veri tipini kontrol etmek, onun hala sayısal veri tipinde olduğunu gösterecektir.
Daha belirgin hale getirmek için, farklı veri türleri ile bir vektör oluşturabiliriz. Örneğin, X <- c(DOĞRU, 2L, 3.5, "merhaba"). Bu vektör bir mantıksal, bir tamsayı, bir sayısal ve bir karakter öğesinden oluşur. Vektörü yazdırmak beklenen öğeleri gösterecektir: TRUE, 2, 3.5 ve "hello". Vektörün veri türü, onun bir karakter vektörü olduğunu gösteren "class(X)" komutu kullanılarak belirlenebilir.
Bir vektör içindeki veri türlerinin önceliği, mevcut öğelerin türlerine bağlıdır. Örneğin, DOĞRU, 2L ve 3,5 ile bir vektör oluşturursanız, ortaya çıkan vektör sayısal bir veri tipine sahip olacaktır. Tersine, sayısal öğeyi hariç tutarsanız, ortaya çıkan vektör bir tamsayı veri türüne sahip olacaktır.
Bir örnek ele alalım: X <- c(DOĞRU, 2L). Şimdi, vektör bir mantıksal öğe (TRUE) ve bir tamsayı öğesi (2L) içerir. Vektörün veri tipi tamsayı olacaktır. Vektörün yazdırılması, 1 ve 2 değerlerini gösterecektir çünkü DOĞRU, R'de 1 olarak değerlendirilir.
Benzer şekilde, DOĞRU'yu YANLIŞ olarak değiştirirsek, vektörün mantıksal bir veri türü olacaktır. Bu durumda, FALSE 0 olarak değerlendirdiğinden, vektörün yazdırılması 0 ve 2 gösterecektir.
Belirli bir veri türüne sahip bir vektör oluşturmak için tüm öğeleri açıkça buna göre ayarlayabilirsiniz. Örneğin, X <- c(FALSE, 2L) mantıksal bir veri türüyle sonuçlanacaktır. Vektörün yazdırılması, öğeleri FALSE ve 2 olarak görüntüleyerek veri tipini onaylar.
Farklı veri türlerini karıştırmanın yanı sıra homojen öğeler içeren vektörler oluşturabilirsiniz. Örneğin, X <- c(TRUE, FALSE, FALSE, TRUE) kullanarak bir mantıksal öğeler vektörü veya X <- c("hello", "world", "!") kullanarak bir karakter öğeleri vektörü oluşturabilirsiniz. Bu vektörlerin yazdırılması ilgili öğeleri gösterecektir.
Diğer bir yaygın senaryo, bir vektör için bir sayı dizisi oluşturmaktır. Bunu kolon gösterimini kullanarak başarabilirsiniz. Örneğin, X <- 1:10, 1'den 10'a kadar olan sayıları içeren bir vektör yaratacaktır. X'i yazdırmak, 1'den 10'a kadar olan sayıların sırasını gösterecektir.
Ayrıca, artışla birlikte başlangıç ve bitiş değerlerini belirterek ondalık sayılardan oluşan bir dizi oluşturabilirsiniz. Örneğin, X <- 1.1:12.1, dizisi 1 artan bir vektör yaratacaktır. Ortaya çıkan vektör, 1.1, 2.1, 3.1 vb. sayılarını gösterecektir.
Bitiş değerini belirtirken sıralama modelini takip etmesi gerektiğine dikkat etmek önemlidir. Örneği X <- 1.1:12.8 olarak değiştirirsek, diziden 12.8'in çıkarıldığını gözlemleyeceğiz. Bunun nedeni, bitiş değerinin belirtilen artışla hizalanmamasıdır.
Bu derste, R'de vektörlerin oluşturulmasını ele aldık. "c" fonksiyonunun genellikle öğeleri bir vektörde birleştirmek için kullanıldığını öğrendik. Ayrıca bir vektörün veri tipinin elemanlarının tipine ve bu tiplerin önceliğine nasıl bağlı olduğunu da inceledik. Ek olarak, farklı veri türleri ve sayı dizileri ile vektör oluşturma örneklerini gördük.
İzlediğiniz için hepinize teşekkür ederim ve bir sonraki video dersinde görüşmek dileğiyle.
R Programlama Vektör Aritmetiği
R Programlama Vektör Aritmetiği
Herkese merhaba! Programlama dilimiz ile ilgili başka bir heyecan verici videoya tekrar hoş geldiniz. Bugün, vektör aritmetiğinin büyüleyici dünyasına dalacağız. Şu anda programlama dilimiz için IDE olarak hizmet veren ART Studio'dayım ve vektörler üzerinde çeşitli işlemleri keşfedeceğiz. O halde vakit kaybetmeyelim ve başlayalım!Önceki videomda c fonksiyonunu kullanarak a <- c(1, 2, 3) gibi bir vektör oluşturmayı gösterdim. Bu, bir vektörü kolayca tanımlamamızı sağladı. Basitçe a değişken adını yazıp enter tuşuna basarak vektörün içeriğini gözlemleyebiliriz. Fantastik!
Şimdi vektör aritmetiği alanını keşfedelim. Örneğimizde iki vektörümüz olduğunu düşünelim: 1, 2 ve 3 öğelerini içeren a ve 4, 10 ve 13 öğelerini içeren b. Vektörler üzerinde aritmetik işlemler yaptığımızda hesaplamalar yapılır. üye bazında veya öğe bazında. Bunun pratikte ne anlama geldiğini görelim.
a vektörünü 5 ile çarparsak, her elemanı 5 ile çarpılmış yeni bir vektör elde ederiz. Yani "5 kere a"ya eşdeğer bir sonuç elde ederiz. Sonuç olarak, yeni vektörün ilgili öğeleri olarak 5, 10 ve 15 elde ederiz.
Benzer şekilde vektörlerde toplama ve çıkarma işlemlerini de yapabiliriz. a ve b vektörlerini birlikte toplamak, her bir üyenin a ve b'den karşılık gelen üyelerin toplamı olduğu yeni bir vektörle sonuçlanır. Sonuç olarak, yeni vektörün ilgili öğeleri olarak 1 + 4 = 5, 2 + 10 = 12 ve 3 + 13 = 16'ya sahibiz.
Vektörler arasında çıkarma benzer şekilde yapılır. a'dan b'yi çıkararak, her üyenin a ve b'den karşılık gelen üyeler arasındaki fark olduğu bir vektör elde ederiz. Bu durumda 1 - 4 = -3, 2 - 10 = -8 ve 3 - 13 = -10 olur.
Vektörler arasında çarpma ve bölme işlemleri de yapabiliriz. a ve b'yi çarpmak, her üyenin a ve b'den karşılık gelen üyelerin ürünü olduğu bir vektörle sonuçlanır. Örneğin, 1 * 4 = 4, 2 * 10 = 20 ve 3 * 13 = 39.
Vektörleri bölerken işlem eleman bazında da yapılır. a'yı b'ye bölmek, her üyenin a ve b'den karşılık gelen üyelerin bölümü olduğu bir vektör verir. Örneğin, 1/4 ≈ 0,25, 2/10 = 0,2 ve 3/13 ≈ 0,2307692. Öte yandan, b'yi a'ya bölmek bize 4 / 1 = 4, 10 / 2 = 5 ve 13 / 3 ≈ 4,333333 verir.
Şimdi, farklı uzunluklara sahip iki vektör eklemek istersek ne olur? 9, 8, 7, 0, 1 öğelerini içeren c vektörünü tanıtalım. c ve a'yı birlikte toplamaya çalışırsak, program daha kısa olan vektörü daha uzun vektörle eşleştirmek için geri dönüştürür. Bizim durumumuzda, a öğesinden öğeler geri dönüştürülecektir. Bu, işlemin önce 1 + 9, 2 + 8 ve 3 + 7 ekleyeceği anlamına gelir. Ardından, a vektörünün başına geri döner ve 1 + 0 ve 2 + 1 ekler. Böylece sonuç vektörü 10 olur. , 10, 10, 1 ve 3.
Bu işlemi gerçekleştirirken, daha uzun nesne uzunluğunun daha kısa nesne uzunluğunun katı olmadığını belirten bir uyarı mesajı görünebileceğini belirtmekte fayda var. Daha kısa vektörden öğelerin geri dönüştürülmesi belirli senaryolarda tutarsızlıklara yol açabileceğinden bu uyarı beklenmektedir.
Umarım bu vektör aritmetiği keşfini anlayışlı ve eğlenceli bulmuşsunuzdur. Aritmetik işlemlerin vektörler üzerinde nasıl çalıştığını anlamak, verileri etkili bir şekilde işlemek ve analiz etmek için çok önemlidir. Programlama dilimizin heyecan verici özelliklerini daha derinlemesine inceleyeceğimiz bir sonraki ders için bizi izlemeye devam edin. İzlediğiniz için hepinize teşekkür ederim, bir dahaki sefere görüşmek üzere!
R Programlama Vektör İndeksi
R Programlama Vektör İndeksi
Herkese merhaba ve programlama dilimiz hakkında başka bir bilgilendirici eğitime tekrar hoş geldiniz.
Bu videomuzda vektörel indeksler konusuna değineceğiz. Vektör dizinleri, köşeli parantezler kullanarak ve dizin konumunu belirterek bir vektör içindeki belirli değerleri almamızı sağlar. R adında bir vektör oluşturarak başlayalım. Onu 11, 22, 33 ve 44 öğeleriyle dolduracağız. Enter'a bastıktan sonra, R vektörünün gerçekten bu öğeleri içerdiğini doğrulayabiliriz.
Şimdi, dizin gösterimini kullanarak vektör içindeki ayrı ayrı öğelere nasıl erişebileceğimizi keşfedelim. R vektör adını köşeli parantez içine alarak ve istenen dizini sağlayarak, belirli bir öğeyi alabiliriz. Örneğin, üçüncü öğe olan 33'ü almak istiyorsak, parantez içinde 3 indeksini kullanırız. Vektörler için indeks değerlerinin 1'den başlayıp vektörün uzunluğuna kadar gittiğini not etmek önemlidir. Bu komutu yürüttüğümüzde 33 değerinin döndüğünü görüyoruz.
Sonra, negatif endeksleri tartışalım. Negatif bir indeks kullanırsak, negatif indeksin mutlak değerine karşılık gelen konumdaki elemanı kaldıracaktır. Bunu göstermek için, R vektörünü yeniden yazdıralım. 11, 22, 33 ve 44'e sahibiz. Şimdi, üçüncü konumu temsil eden negatif indeks -3'ü kullanırsak, o konumdaki elemanı kaldıracaktır. Komutu yürüttüğümüzde, R vektörünün artık 11, 22 ve 44'ü içerdiğini ve 3 (33) konumundaki eleman kaldırıldığını gözlemliyoruz.
Ek olarak, menzil dışında olan bir dizine erişmeye çalıştığımızda ne olduğunu anlamak önemlidir. 10. pozisyondaki elemana erişmek istediğimiz senaryoyu ele alalım. R vektörünün sadece 4 elemanı olduğu için 10. pozisyonda elemanı yoktur. Sonuç olarak komutu çalıştırmak bir hata veya boş bir değer döndürecektir, endeksin aralık dışında olduğunu gösterir.
Umarım vektör indeksleri hakkındaki bu kısa ama bilgilendirici videoyu faydalı bulmuşsunuzdur. Bir vektör içindeki belirli öğelere nasıl erişileceğini anlamak, veri işleme ve analizi için hayati önem taşır. Programlama dilimizin daha heyecan verici özelliklerini keşfederken bir sonraki videoda bana katılın. İzlediğiniz için teşekkürler, yakında görüşürüz!
R Programlama Sayısal İndeks Vektörü
R Programlama Sayısal İndeks Vektörü
Hem erkekler hem de kızlar herkese merhaba ve serimizden başka bir öğreticiye tekrar hoş geldiniz. Bugünün videosunda sayısal indeks vektörlerini tartışacağız. Sayısal dizin vektörleri, istenen öğelerin konumlarını belirterek mevcut bir vektörden belirli öğeleri çıkarmamıza izin verir. Hemen dalalım!
Bu kavramı göstermek için, s adında bir vektör oluşturalım. Bunu şu öğelerle dolduracağız: "hi", "half", "hello", "hola" ve "holla." Şimdi, orijinal vektörün birinci ve ikinci üyelerini içeren bir vektör dilimini almak istediğimizi varsayalım. Bunu, geri almak istediğimiz öğelerin konumlarından oluşan sayısal bir dizin vektörü kullanarak başarabiliriz. Bu durumda, [1, 2] indeks vektörünü kullanırız. Bu komutu çalıştırdığımızda beklendiği gibi "hi" ve "hello" dilimini elde ederiz.
Şimdi yinelenen dizinler kavramını keşfedelim. Önceki örnekte, 1 ve 2 dizinlerini kullanarak "hi" ve "hello"'yu aldık. Aynı öğeleri birden çok kez almak için bu dizinleri çoğaltabiliriz. Örneğin, [2, 2, 2] dizin vektörünü kullanırsak, üç kez "hello" alırız. Bu komutu uyguladığımızda "hello"nun üç kez tekrarlandığını gözlemliyoruz.
Ayrıca, sıra dışı indeksler kavramını tartışalım. Sayısal dizinlerin sıralı olması gerekmez; herhangi bir sırada belirtilebilirler. Bunu göstermek için indeks vektörünü [2, 1] ele alalım. Bu sefer, istediğimiz öğeler olarak "hello", "hi" ve "hola" yı alıyoruz. Dizinlerin sırası, alınan öğelerin sırasını etkilemez. Bu komutu yürüttüğümüzde "hello", "hi" ve "hola" vektör dilimini elde ederiz.
Son olarak menzil indekslerine değinelim. İndeks vektörü içinde bir aralık tanımlamak için iki nokta üst üste operatörünü kullanabiliriz. Örneğin, ikinci elemandan dördüncü elemana kadar bir dizi eleman almak istiyorsak, indeks vektörünü [2:4] kullanabiliriz. Bu gösterim, programa orijinal vektörden 2, 3 ve 4 öğelerini almasını söyler. Bu komutu yürüttüğümüzde "hello", "hola" ve "holla" dilimlerini elde ederiz.
Umarım sayısal indeks vektörleri hakkındaki bu videoyu bilgilendirici ve yararlı bulmuşsunuzdur. Bu konsepti size tanıtmak için özlü bir gösteri oldu. Daha heyecan verici özellikleri ve işlevleri keşfedeceğimiz bir sonraki videomuz için bizi izlemeye devam edin. İzlediğiniz için teşekkürler, bir sonraki eğitimde görüşmek üzere!
Vektör Üyeleri Adlandırılmış R Programı
Vektör Üyeleri Adlandırılmış R Programı
Herkese merhaba! Programlama dilimiz hakkında başka bir heyecan verici öğreticiye tekrar hoş geldiniz. Bu derste, adlandırılmış vektör üyelerini ve bir vektör içindeki öğelere nasıl ad atayabileceğimizi tartışacağız. Öyleyse, hemen içine atlayalım!
Başlamak için bir vektör oluşturalım ve ona "vektör" adını verelim. Bu vektör içinde "Tom" ve "Nick" olmak üzere iki öğemiz olacak. Vektörü yazdırdığımızda beklendiği gibi "Tom" ve "Nick" isimlerini içerdiğini görebiliriz.
Şimdi vektörün üyelerine nasıl isim atayabileceğimizi keşfedelim. Bunu adlandırılmış bir vektör oluşturarak başarabiliriz. Buna "names_vector" diyelim. Bu vektörde, karşılık gelen üyelere "birinci" ve "ikinci" adlarını atayacağız. "Adlar_vektörü"nü yazdırdığımızda, vektörün artık öğeleriyle ilişkilendirilmiş "birinci" ve "ikinci" adlarına sahip olduğunu gözlemliyoruz.
Ardından, adlandırılmış vektör üyelerinin değerlerini alalım. Bunu yapmak için, adı köşeli parantezler içinde kullanarak adlandırılmış üyeye erişmemiz yeterlidir. Örneğin, "ilk" üyenin değerini almak istiyorsak, "isim_vektörü['ilk']" yazabiliriz. Bu komutu yürüttüğümüzde beklendiği gibi "Tom" değerini elde ederiz. Benzer şekilde, bize "Nick" değerini veren "names_vector['second']" kullanarak "ikinci" üyenin değerini alabiliriz.
Ayrıca, bir karakter dizisi indeks vektörü kullanarak vektörün sırasını tersine çevirebiliriz. Bunu göstermek için, "reversed_vector" adlı başka bir vektör oluşturalım. Bu vektörde, indeks vektörünü "c('ikinci', 'ilk')" olarak belirleyeceğiz. "reversed_vector"u yazdırdığımızda, vektör öğelerinin sırasının "Tom" ve "Nick"ten "Nick" ve "Tom"a tersine döndüğünü gözlemliyoruz.
Adlandırılmış vektör üyeleriyle ilgili bu kısa eğitim bu kadar. Umarım bilgilendirici ve eğlenceli bulmuşsunuzdur. Daha büyüleyici özellikleri ve işlevleri inceleyeceğimiz bir sonraki videomuz için bizi izlemeye devam edin. İzlediğiniz için teşekkürler, bir sonraki eğitimde görüşmek üzere!
R'de bir Matrix oluşturun
R'de bir Matrix oluşturun
Herkese merhaba! Programlama dilimiz hakkında başka bir heyecan verici öğreticiye tekrar hoş geldiniz. Bu videoda, R'de matrislerin oluşturulmasını ve işlenmesini keşfedeceğiz. O halde hemen konuya girelim!
Öncelikle 10, 20, 30, 40, 50 ve 60 elemanları ile "V" adında bir vektör oluşturalım. Vektörü çıktı aldığımızda ekranda içeriğini görebiliriz.
Artık matris oluşturmaya geçebiliriz. Matrisimize "a" değişken adını atayacağız. Matris oluşturmak için "matris" işlevini kullanacağız. Bu işlev, ilk argümanı olarak "V" vektörünü alır ve istediğimiz satır ve sütun sayısını belirtir. Örneğin 2 satır ve 3 sütundan oluşan bir matris oluşturacağız. "a" matrisini yazdırdığımızda, aslında beklendiği gibi 2 satır ve 3 sütuna sahip olduğunu görebiliriz.
Bunun yerine "a" matrisinin boyutlarını 3 satır ve 2 sütun olarak değiştirmek istediğimizi varsayalım. Bunu, uygun bağımsız değişkenlerle matris işlevini kullanarak "a"yı yeniden atayarak kolayca başarabiliriz. Daha sonra tekrar "a" yazdırıyoruz ve artık 3x2'lik bir matrise dönüştüğünü görüyoruz.
Şimdi, matrisin boyutları vektördeki öğelerin sayısıyla eşleşmediğinde ne olduğunu keşfedelim. Yanlışlıkla 2 yerine 4 sütun belirtirsek bir uyarı bekleyebiliriz. Bununla birlikte, R'de, fazladan boşluğu doldurmak için mevcut sütunları çoğaltır. Bu davranışı gözlemlemek için "a" yazdırıyoruz ve ilk iki sütunun 3. ve 4. sütunlarda tekrarlandığını görebiliyoruz.
Bir matrisin devriğini göstermek için "t" fonksiyonunu kullanacağız. "a_transpose" adında bir değişken yaratıyoruz ve ona "t" işlevinin "a" matrisine uygulanmasının sonucunu atıyoruz. "a_transpose" çıktısı alındığında, satırların sütunlara dönüştüğü ve tersinin de geçerli olduğu "a"nın devriği ortaya çıkar.
Ek olarak, "cbind" işlevini kullanarak matrisleri birleştirebiliriz. Eğer matrislerin satır sayısı aynı ise, onları kolon bazında birleştirebiliriz. Bunu göstermek için, 2 satır ve 1 sütun ile "B" adında başka bir matris oluşturuyoruz. Sonra, "cbind" kullanarak, yeni bir matris oluşturmak için "a" ve "B"yi birleştiriyoruz. Sonucun yazdırılması, ek bir sütun olarak eklenen "B" ile "a" ve "B" kombinasyonunu gösterir.
Benzer şekilde, matrisler aynı sayıda sütuna sahipse, bunları satır bazında birleştirmek için "rbind" işlevini kullanabiliriz. 1 sütun ve 2 satırdan oluşan "C" adında bir matris oluşturuyoruz. "rbind" kullanarak, yeni bir matris oluşturmak için "B" ve "C"yi birleştiriyoruz. Sonucun yazdırılması, ek satırlar olarak eklenen "C" ile "B" ve "C" kombinasyonunu görüntüler.
Son olarak, "c" fonksiyonunu uygulayarak bir matrisi çözelim. "a" matrisine "c"yi uyguladığımızda, matrisi bir vektöre yassılaştırır. Sonucun yazdırılması, "a" matrisinin 10, 20, 30, 40, 50 ve 60 öğelerini içeren bir vektöre dönüştürüldüğünü gösterir.
Aynı yapısöküm işlemi "B" ve "C" matrislerine uygulanabilir ve ilgili elemanlarıyla birlikte vektörler verir.
Umarım bu videoyu bilgilendirici ve ilgi çekici bulmuşsunuzdur. Herhangi bir sorunuz veya yorumunuz varsa, lütfen bunları aşağıya bırakın. Daha heyecanlı videolar için beğenmeyi, abone olmayı ve takipte kalmayı unutmayın. İzlediğiniz için teşekkürler, bir sonraki eğitimde görüşmek üzere!