Vue.js’e Başlarken: Vue.js nedir ? Avantajları ve Dezavantajları nelerdir ?
Herkese selamlar. Serimizin ilk yazısı olan Vue.js’e giriş yazımla karşınızdayım. Bu yazımda sizlere Vue.js’ten, avantajları ve dezavantajlarından bahsedeceğim.
Herkese selamlar. Serimizin ilk yazısı olan Vue.js’e giriş yazımla karşınızdayım. Bu yazımda sizlere Vue.js’ten, avantajları ve dezavantajlarından bahsedeceğim.
Günlük hayatımızın her alanında plastiklerle karşılaşmak mümkündür. Yüksek dayanım, kolay üretim ve ekonomik oluşu plastiklerin tercih edilmesinin en temel sebeplerindendir. Kolay üretimi ve üretim şekillerindeki çeşitlilik plastiklerin geniş sektörlerde kullanımını sağlamaktadır. Otomotiv ve teknoloji alanlarında geliştirilen ve kullanılan plastikler, çok önemli bir buluş niteliği taşırken; maalesef tek kullanımlık ürünlerin plastik malzemelerden üretilmesi geri dönüşü olmayan çevre kirliliğine ve ciddi sağlık problemlerine yol açmaktadır. Otomotiv sanayisinde polimer ve kompozit parçalar (Görsel plastonline.com sitesinden alınmıştır) Belki de 15 dakika kullanmadığımız ürünlerin doğada ortalama 400 yılda çözünmeye başladıklarını biliyor muydunuz?Seyahatlerimizde, özel günlerimizde ve hatta kısa bir kahve molası için oturduğumuz kafede bile karşımıza çıkan plastik ürünler, petrol bazlı polimerlerden üretilmektedir. Tek kullanımlık plastik ürünler (Görsel cevreonline.com sitesinden alınmıştır) Plastik atıkların denize atılmaları deniz canlıları için de hayati tehlike oluşturmaktadır. Akdeniz’de yapılan çalışmalar sonucunda alınan örneklerin yüzde 92,8’inde plastik atığa rastlanmıştır. Canlıların, plastik atık yemesi sonucu yaşamlarını yitirmeleri, doğal dengeyi ve bulundukları suyun canlı çeşitliliği etkilemektedir. Ayrıca denizlerde bulunan mikroplastik oranı günden güne artmakta ve büyük tehlike oluşturmaktadır. Deniz yüzeyinde yüzen plastik atıklar (Görsel biyobilim.ytukimtek.org sitesinden alınmıştır) Ortalama 400 yılda çözünmeye başlayan plastiklerin, 2019 yılında Avrupa Birliği ülkelerinde kullanımları yasaklanmıştır. Ülkemizde plastik kullanımının minimuma indirilmesi için imza kampanyaları yapılmakta ve geri dönüşüm projeleri düzenlenmektedir. Aynı zamanda dünyada ve ülkemizde ticari olarak satılan doğal polimer ürünler bulunmaktadır. Ayrıca global bir problem olan çevre kirliliğini azaltmak için birçok üniversitede biyopolimer araştırma ve geliştirme çalışmaları devam etmektedir. (Görsel ozsekizler.com adresinden alınmıştır) Kendimizin yaşam döngüsünde görevi olan bir çarklı olarak düşünmeli ve doğamıza karşı sorumlu davranmalıyız. Plastik ürünlerimizi geri dönüştürmek, biyopolimer tercih eden kafelere uğramak, günlük hayatımızdaki tek kullanımlık plastiklere veda ederek basit ama önemli başlangıçlar yapabiliriz. Yeşil yarınlara.
Bu yazımda, SistersLab olarak bu yıl bizim de ikinci kez katıldığımız Birleşmiş Milletler Kadın Birimi’nin (UN WOMEN) düzenlediği #orangetheworld kampanyasından ve Anıt Sayaç verisiyle Tableau’da hazırladığım Türkiye’de Kadın Cinayetleri raporundan bahsedeceğim. Ayrıca yazının sonunda interaktif raporu görebileceksiniz! DÜNYAYI TURUNCUYA BOYA! #orangetheworld Nedir #orangetheworld kampanyası? Buradan Murat’ın geçen sene paylaştığı çok detaylı yazıyı okuyarak bilgi edinebilirsiniz. Kısaca bahsetmek gerekirse: Birleşmiş Milletler Kadın Birimi (UN WOMEN), her geçen gün artan ve farklı biçimlerde ortaya çıkan kadına yönelik şiddete karşı farkındalığın ve savunuculuk çalışmalarının artması için herkesi hareket etmeye çağırmaktadır. Bu amaçla her yıl 25 Kasım (Uluslararası Kadına Yönelik Şiddete Karşı Mücadele Günü) – 10 Aralık (Dünya İnsan Hakları Günü) tarihleri arasında 16 Günlük Aktivizm Kampanyası düzenlemektedir. Ülkemizde de 2012 yılından bu yana yoğun bir takvimle düzenlenen kampanyalar, etkinlikler ve aktiviteler ile kadınlara yönelik şiddete karşı savunuculuk yapılmaktadır. Kadına Yönelik Şiddete Karşı tüm dünyayı yan yana durmaya çağıran Birleşmiş Milletler Genel Sekreterliği, UNiTE (UNiTE to End Violence Against Women – Kadınlara Yönelik Şiddete Son Vermek için Birleşin) ismini verdiği kampanyada ‘Dünyayı Turuncuya Boya!’ sloganını kullanarak faaliyetler organize etmektedir. Kampanyanın sembolü olarak kullanılan ve yapılan tüm farkındalık faaliyetlerinde ortak renk olarak belirlenen turuncu rengi daha parlak bir geleceği, canlılığı ve şiddetten uzak kalmayı simgelemektedir. 16 gün süren kampanya boyunca tüm ülkeler sembol binalarını turuncu renkle ışıklandırarak, şirketler logolarını turuncu renk yaparak, spor müsabakaları öncesinde takımlar kadına yönelik şiddete karşı sloganların yer aldığı pankartlarla seremoniye çıkarak bu konuya dikkat çekmeye çalışmaktadır. Sivil toplum kuruluşları da etkinlik takvimlerinde turuncu temasını ve kampanya sloganlarını mutlaka kullanarak herkesi bu dayanışmaya davet etmektedir. Her sene dünya çapında #orangetheworld, #16days, #saynotoviolenceagainstwomen ve #16daysofactivism etiketleriyle sosyal medyada milyonlarca etkileşim alan ve bu yolla daha fazla kişiye ulaşmayı amaçlayan kampanya, ülkemizde de her sene çeşitli temalarla ön plana çıkarılmaktadır. Geçtiğimiz yıllarda #KimseyiGerideBırakma, #BeniDeDuy, #NesillerBoyuEşitlik, #KayıtsızKalmayın gibi sloganlarla duyurulan etkinliğin bu seneki etiketi #SheSaidNo olarak belirlendi. Biz de SistersLab olarak bugünden başlayarak 16 gün boyunca tüm içeriklerimizi turuncuya boyuyoruz! Türkiye’de Kadın Cinayetleri Tableau Raporu Ben de #orangetheworld kapsamında farkındalık yaratmak adına turuncu bir Türkiye’de Kadın Cinayetleri Tableau raporu hazırlamak istedim. Raporu buradan Tableau Public üzerinden inceleyebilir ya da yazının sonundaki gömülü alandan ulaşabilirsiniz. Veri Kaynağı: Anıt Sayaç Raporun veri kaynağı şiddetten ölen kadınlar için dijital bir anıt olan Anıt Sayaç sitesinden Ülgen Sarıkavak tarafından buradaki Python kodundan yararlanarak CSV dosyasına aktarıldı. Veri 2008 yılından başlıyor ve 2022 Ekim ayının sonuna kadar devam ediyor. Tableau’da Veri Temizliği Veri çeşitli haberlerden yararlandığı için bir kolonun içinde aynı anlama gelen birden fazla değer bulunabiliyor, kolon isimlendirmelerinde ise düzenleme yapılması gerekiyordu. Bu sebeple ilk adım Tableau’nun Rename özelliği ile kolon isimlendirmelerini değiştirmek oldu. Sonraki önemli temizleme adımı ise aynı anlama ya da benzer anlamlara gelen farklı değerlerin gruplanmasıydı. Bunun içinse Tableau’nun Group özelliğini kullandım. Veri Görselleştirme Bu işlemler bittikten sonra ise sıra görselleştirme adımına geldi. Burada veri görselleştirmede dikkate alınması gereken temel kriterlerden biri olan genelden özele doğru derinleşme ilkesinden yararlandım. Bir veri görselleştirme çalışması yaparken raporun üst kısımlarında genel bir bilgilendirme yapmak ve daha sonra detaya inmek önerilir. Bu raporda da öncelikle belirlenen tarihler aralığında genel olarak Türkiye’de kadın cinayetlerinin maalesef artışta olduğunu görüyoruz. Daha sonra kullanıcıya yıl ve il seçebilmesi için etkilenecek tüm grafiklerin üzerinde filtreler bölümü sunuluyor. Biraz daha detaya inmek için Türkiye’de kadın cinayetlerinin illere göre dağılımını hem harita üzerinde görebiliyor hem de bar grafik ile il sıralamasını görebiliyoruz. Her iki grafikte de illerin üzerine geldiğimizde tooltip sayesinde ilgili ildeki kadın cinayetlerinin yıllara göre değişimini görüyoruz. Tableau’da tooltip’e grafik ekleme yöntemi ise başka bir yazının konusu olacak. Kadınları kim öldürüyor? Burada ise kadınların kim tarafından öldürüldüğünü görmek için solda genel bir pie grafik görüyor, sağda ise daha detaya inerek bar grafik üzerinde dağılımları görüyoruz. Kadınların %74’ü tanıdığı biri tarafından öldürülüyor. %60’ı ise yakın partneri tarafından öldürülüyor. Yakın partner eş, eski eş, sevgili, eski sevgili, nişanlı, eski nişanlı, sözlü, eski sözlü, imam nikahlı eş, eski imam nikahlı eş olabiliyor. Kalan çoğunluk ise ailesi tarafından öldürülüyor. Kadınlar neden öldürülüyor? Kadınların öldüren kişilerin gerekçelerini bir word cloud grafiği üzerinde görüyoruz. Dağılımda yoğunluk arttıkça kelimelerin boyutu büyüyor ve rengi turuncuya doğru değişiyor. En büyük sebeplerin geçimsizlik, aldatma iddiası/kıskançlık, ayrılma/boşanma, teklifin reddedilmesi ya da namus/töre olduğunu görebiliyoruz. Sonraki grafiklerde ise farklı grafik tipleriyle daha detaylı sonuçlar görebiliyoruz. En altta ise kullanıcının tarih ve il filtreleyebileceği bir anıt bulunuyor. Aşağıda raporun siteye gömülü ve interaktif halini inceleyebilir ya da buradaki linkten Tableau Public üzerinden de erişebilirsiniz. 16 gün boyunca turuncuya boyayacağımız içeriklerimizi takipte kalın! #orangetheworld #SheSaidNo
Günümüzde teknoloji ve küreselleşmenin etkisi ile hızlı bir dönüşüm yaşanmaktadır. Bu dönüşüm Covid-19 pandemisi ile daha da hızlanmış, iş ve gündelik hayatı etkilediği gibi eğitim alanına da etkisi oldukça büyük olmuştur.
Herkese Merhaba! Son zamanlarda herkesin dilinde olan, internet sitelerinde ve birçok yerde adını sık duyduğumuz ve daha da duyacağımız “İstatistik” ile ilgili bilgilerden bahsediyor olacağım. Gün içinde sürekli duyduğumuz, internete, sosyal medyaya girdiğimizde sürekli karşımıza çıkan birçok sayının istatistiksel hesaplamalarla ortaya çıktığını az çok tahmin ediyoruzdur. Aslında gördüğümüz rakamlardan ve sayılardan çok daha fazlasıdır çünkü o konuyla ilgili yorum yapmamıza olanak sağlar. Geçtiğimiz senelerde neredeyse herkesin hakim olduğu, her gün bekledikleri “Türkiye Günlük Koronavirüs Tablosu” en büyük örneklerden biri olabilir. Hatırlarsanız tabloda “Bugünkü hasta sayısı” ve “Bugünkü iyileşen sayısı” vardı. Yaşlısından gencine hatta çocuklar bile bu iki değere bakıp karşılaştırarak durumun daha iyiye gidip gitmediği yorumunda bulunabiliyordu. İstatistiğe zor gözüyle bakılıp biraz kaçınılsa da hayatımızın her yerinde olduğunu görüyoruz. Zor deyip geçmek yerine gelin hep birlikte öğrenmeye çalışalım. Tabi burada istemek en büyük etken, çünkü insan yeterince isterse yapamayacağı hiçbir şey yoktur 🙂 Şimdi istatistik ile ilgili bilgilerimi çok da zor olmayacak şekilde anlatmaya başlayabilirim. İstatistik aslında bilimlerin evrensel dilidir. İşletme, devlet, tıp, çevre, fizik ve sosyal bilimlere geniş bir uygulama alanına sahip faydalı bir bilimdir. İstatistik, sayısal bilgileri toplama, sınıflandırma, özetleme, düzenleme, analiz etme ve yorumlamayı içeren veri bilimidir. Peki veri (data) nedir? Veri, belirli bir birimler kümesinde bir veya daha fazla değişken için toplanan tüm gözlemlerin/ölçümlerin kümesidir. Veri hamdır, seçim yaparak ve yorumlayarak geliştirildiğinde ise bilgiyi (information) oluşturur. İstatistiğin iki türlü uygulama alanı vardır, biri “Tanımlayıcı İstatistik (Descriptive Statistics)” bir diğeri ise “Çıkarsamalı İstatistik (Inferential Statistics)” dir. Tanımlayıcı İstatistik de pasta diyagramı, çubuk diyagramı gibi tablolar grafikler kullanılır özet bilgiler verinin ortalaması, standart sapması, minimum, maksimum gibi değerleri verir.Çıkarsamalı İstatistik, elimizdeki verileri kullanarak daha büyük veri grupları için tahminde bulunmak genelleme yapmak için kullanılır. İkiye ayrılır; Tahmin (Estimation) : Elimizdeki veriyi kullanarak tahminde bulunmak, genelleme yapmak için kullanılır. Hipotez testi : Herhangi bir konuda olan iddianın doğru olup olamayacağını araştırır. Şimdilik başlık olarak görüp ilerleyen konularda daha detaylı göreceğiz. İstatistiğin bazı temel unsurları vardır, bunlar; Bunlar bilgi almak ya da üzerinde çalışma yapmak istediğimiz topluluğa kitle (population) Kitleyi temsil etmek üzere seçtiğimiz alt gruba örneklem (sample) Bilgi üretebildiğimiz özelliklere değişken (variable) Tüm kitle üstünde yapılan sayımlara tamsayım (census) Veri topladığımız herhangi bir şeye deney birimi (experimental unit) Kitle ve örneklem birbiriyle genellikle çok karıştırılır ve daha iyi anlayabilmek için örnek verirsek: Kitleyi İzmir’de okuyan öğrenciler olarak seçersek, burayı temsil etmek üzere bir program aracılığıyla kişiler seçilecek ve bu da bizim örneklemimiz olmuş olacak. Seçilen kişilerin yaşı, okuduğu okulu, bölümü, cinsiyeti değişkenimiz olmuş olacak. Örneklemimiz ne kadar büyük olursa kitlemizi de o kadar iyi yansıtacaktır. Fakat burada kitle ve örneklem özellikleri arasında ayrım yapmamız gerekir. Parameter (parametre) kitlenin herhangi bir özelliğidir, statistic (istatistik) ise örneklemin herhangi bir özelliğidir. Elimizde bir veri var ve bu verini türü nedir? Nasıl sınıflandırmalıyız? İlk olarak bu iki önemli soruyu sormalıyız. Veri türleri nicel (quantitative) ve nitel (qualitative) olarak ikiye ayrılır. Nicel Veri : Sayısal ölçekte kaydedilen ölçümlerdir. Yaş Kilo İşsizlik oranı Hava sıcaklığı Nitel Veri : Sayısal ölçekte ölçülemeyen ölçümlerdir. Gözlem sonucu elde edilir. Renkler Yemeğin tadı (iyi, kötü) Tatlar (tuzlu, tatlı, ekşi) Nicel veriyi de kendi içinde kesikli (discerete) veri ve sürekli (continuous) veri olarak ikiye ayırıyoruz. Kesikli Veri : Sayı aralığında belirli değerleri alabilir. Kitaptaki sayfa sayısı Sınıftaki öğrenci sayısı Hastanedeki hasta sayısı Sürekli Veri : Ölçerek elde edilen verilerdir. Hava sıcaklığı Sınıftaki öğrencilerin boy uzunluğu Hastanenin iyileşen sayısı oranı Verileri sınıflandırmanın başka bir yolu ise ölçüm düzeylerini kullanmaktır. Ölçüm düzeyleri değişkenlerin tanımlanmasına ve kategorilere ayırmamızı sağlar. Ve ölçüm düzeylerinin her biri uygunluğuna göre istatistiksel analizlerde kullanılır. Açıklayıcı Ölçek (Nominal Scale) Sıralayıcı Ölçek (Ordinal Scale) Aralıklı Ölçek (Interval Scale) Oransal Ölçek (Ratio Scale) Açıklayıcı ölçekten oransal ölçeğe gidildikçe ölçüm düzeyi daha da güçlenir. Açıklayıcı Ölçek (Nominal Scale) : Veriyi sadece açıklayıp kategorileştiriyor. Uzun /kısa Filmin türü Saç rengi Sıralayıcı Ölçek (Ordinal Scale) : Sınıflandırma var fakat bir sıralamaya sokuluyor. Yarış sonucu birinci ikinci ve üçüncü belirlenmesi Sınav notu (AA, BB, FF) Yabancı dil seviyesi Aralıklı Ölçek (Interval Scale) : Sıralayıcı ölçeğe benzer fakat farklar arası anlamlıdır. Toplama, çıkarma işlemleri yapılabilir. Sıcaklık IQ değeri Oransal Ölçek (Ratio Scale) : En güçlü veri türüdür. Sıfır yokluğu ifade eder. Toplama, çıkarma, çarpma, bölme işlemleri yapılabilir. Ağırlık Filmin süresi Veri tipini ve ölçek düzeylerini grafik üzerinde gördüğümüzde aslında daha da anlamış oluyoruz. Böylece istatistiğe ufak bir giriş yapmış olduk. İlerleyen yazılarda da devamı gelecek olan bir çok konu var fakat şimdilik benim söyleyeceklerim bu kadar. Diğer yazılarda görüşmek üzere 🙂
Tartışmasız yapay zeka günümüzde teknoloji alanında adından en çok bahsettiren alanların başında gelmektedir. Pek çok soruya cevap sunan yapay zeka, aynı zamanda daha önce hiç sorulmamış soruların da ortaya çıkmasına neden olmaktadır. Bu sorular sadece teknik temelli de değildir. Etik ve yapay zekanın kesişimi de bu soruların ve sorunların ortaya çıktığı bir alandır. Bu yazıda kısaca yapay zeka ve yapay zeka etiği nedir soruları cevaplanmaya çalışılacaktır. Yapay zekada etik problemlerin genel çerçevesi çizilip örnek ile somutlaştırılacaktır. YAPAY ZEKA NEDİR? Yapay zeka altında pek çok alan barındıran çatı bir terimdir. Genel anlamıyla bilgisayarlara açık bir şekilde ne yapacağını söylemeden çeşitli yöntemler ile onun öğrenmeyi gerçekleştirmesi sağlanmaya çalışılan bir programlama biçimidir. Klasik programlamada tüm durumlar için açık bir şekilde takip edilmesi gereken adımlar belirtilir. Ancak yapay zekada önceki veriler ya da çeşitli optimizasyon yöntemleri ile tahmin yapılması sağlanır. Yapay zekanın bu kadar önem kazanması ise tıbbi tanıdan akıllı ev aletlerine kadar her alanda kullanılmaya başlanabilmesi ve günlük hayatımızın üstünde de etkilerini gözlemleyebilmek ile olmuştur. Bu noktada da yapay zekanın getirdiği etik problem gün yüzüne çıkıyor. YAPAY ZEKA ETİĞİ Yeni teknolojiler geliştikçe ve hayatımızda önemli yer tutmaya başladıkça insanlar pek çok soru sormaya başladı. Bunların bir kısmı değişime karşı gösterilen dirençle ilgiliyken bir kısmı da hayatımızda olabileceği etkilerle ilgili öngörülerden oluşan sorulardır. Yapay zekanın insanlığın sonu olup olmayacağı, robotların iş alanlarını tamamen ortadan kaldırıp kaldırmayacağı gibi sorular şu an yapay zekanın geldiği noktanın çok ötesindeki bir teknolojide gerçekleşebilecek ve ancak teknolojinin limitleri üzerinden cevaplanabilecek daha konseptsel tartışmalar ortaya çıkarır. Bunların dışında hali hazırda etkilerini gördüğümüz pek çok kaygı da vardır. Yapay zekada ortaya çıkabilecek bias (Biased AI), yapay zekanın insanları manipüle edebilecek güce kavuşması, otomatik sistemlerin yapması gereken tercihler gibi sorular üzerinden bize bu konuların daha derinine tartışılmasının ve regüle edilmesinin gerekliliğini gösteren pek çok olay yaşanmıştır. Tüm bunlar da yeni bir alan olarak “Yapay Zeka Etiğini” ortaya çıkarmıştır. Yapay zekada etik problemler yukarıda bahsedilen başlıklar ile sınırlı değildir. Gözetleme ve takip edilme, insan-robot etkileşimi, hukukta yapay zeka kullanımı, açıklanabilirlik ve benzeri pek çok alanda da bu sorunlar ve tartışmalar gerçekleşmektedir. İleri okuma ve referanslar kısmındaki önerilerden tüm bu alanlar hakkında bilgi edinebilir ve örnekleri gözlemleyebilirsiniz. SÜRÜCÜSÜZ ARABA PROBLEMİ Otonom arabalar, daha bilindik ismiyle sürücüsüz arabalar, uzun süredir geliştirilmesiyle birlikte yakın geçmişte hayatımızda yer almaya başladı. Pek çok araba üreticisi, bu teknolojiye yatırımlarını arttırarak piyasaya bu modelleri sürmeye başladı. Her ne kadar sürücü koltuğunda ve direksiyonda bir insanın varlığı şart da olsa günümüzde arabalar kendileri gidebilmekte, park edebilmekte ve sürücüye minimum sorumluluk bırakarak kontrolü kendisine alabilmektedir. Bu durumun kazaları azaltacağı, sürüş maliyetlerini optimize edeceği ve trafik sorununa bir çözüm olabileceği düşünülmektedir ancak bu teknolojinin sonuçları ile ilgili her şey bu kadar olumlu değildir. Sorumluluğun kime ait olduğu ve olası bir kaza anında yapılacak seçimler belki de en büyük soru işaretlerini oluşturmaktadır. Sürücüsüz bir arabanın akan bir trafikte hareket ettiğini düşünelim. Yol 3 şeritli olsun ve arabanın önünde de soldan sağa sırasıyla bir otomobil, traktör ve motosiklet seyahat ettiğini varsayalım. Bir olay sonucu, ne olduğu fark etmeksizin, önündeki üç araçtan birine çarpmanın kaçınılmaz ancak hangisine çarpacağının da aracın elinde olduğunu düşünelim. İşte bu noktada büyük bir problem gün yüzüne çıkıyor. Kime çarpmalı ve bunun kararı kimde olmalı? Sağındaki motosiklete çarparsa arabanın kendisindeki ve içindekilerin uğrayacağı zarar minimuma inecek ancak motosiklet sürücüsünün yani karşısındaki kişinin zarar görmesi muhtemelen kaçınılmaz olacak. Tıra çarpması halinde kendi ve içindekilerin zarar görmesi en olası durum, karşı tarafın göreceği zarar en aza indirgeniyor. Otomobile çarparsa ikisi de yaklaşık aynı zararı görecek ve ortalama bir dağılım olacak. Tabii ki bu senaryodaki olayın kesinliği de tartışmalıdır. Ekipmanını uygun olarak takan motosiklet sürücüsü belki hiç zarar almayacak ancak kemerini bağlamamış bir otomobil sürücüsü arkadan çarpılmasıyla daha büyük zarar görebilecektir. İşte tüm bu değişkenler ve olasılıklara karşı seçimi kim ve neye göre yapmalıdır? Bunun hukuki olarak kontrol edilen bir programlama şekli mi olmalı, arabanın üreticisi şirketler algoritmalarını geliştirirken mi karar vermelidir? Zarar arabanın sahibi için mi minimize edilmeli yoksa karşı taraf mı gözetilmelidir? Zararın ortak olarak paylaşıldığı bir durum mu daha adil sayılmalıdır? Her şeyin ötesinde bu hesaplamalar tamamen kesinlik taşımaz ve minimum zarar bile birinin hayatını kaybetmesine ya da çok büyük zarar görmesine sebep olabilir. Bu tarz durumlarda ise sorumluluk kime ait olmalıdır? İşte tüm bu sorular üzerinde dikkatli bir şekilde çalışılmış araştırma ve cevaplar beklemektedir. Her ne kadar bunlar üzerine genellenebilir yargılar ortaya koymak ve kurallar belirlemek zor da olsa, bunu yapmanın gerekliliği de oldukça nettir. İLERİ OKUMALAR VE REFERANSLAR AI Ethics. (n.d.). IBM. Erişim: Ekim,8, 2022, https://www.ibm.com/artificial-intelligence/ethics IBM tarafından hem Yapay Zeka etiği hem de kendi şirket politikalarının yapay zeka ve etik anlamında nerede durduğunu anlattığı oldukça faydalı bir web sitesi. Ethics of artificial intelligence. UNESCO. Erişim: Ekim, 8, 2022, https://www.unesco.org/en/artificial-intelligence?hub=32618 UNESCO tarafından hazırlanana hem video hem de haber önerileriyle Yapay Zeka etiğinin daha fazla somut örneklerinin görülebileceği bir site. Ethics of Artificial Intelligence and Robotics (Stanford Encyclopedia of Philosophy). Erişim: Ekim, 8, 2022, https://plato.stanford.edu/entries/ethics-ai/ Yapay zeka etiği ve alt başlıkları hakkında hem temel ve arka plan bilgilerinin bulunduğu hem de akademik çalışmalara referans veren detaylı bir yazı.
Herkese Merhaba, Bu yazımda, günümüz yazılım dünyasına adım atmış olan herkesin bir şekilde adını duyduğu Linux işletim sisteminin işimizi kolaylaştıracak bazı Temel Kısayol Tuşlarından bahsedeceğim.
Serinin ilk yazısında TypeScript’e ufak bir giriş yaptık.Bu ikinci yazıda ise type tanımlamaları nasıl yapılır bundan bahsedeceğiz. TypeScript bizden çok net type tanımlamaları bekler. Bu tanımlamalarda en ufak bir eksiklik veya yanlışlık yaptığımızda bunu hata olarak gösterir. Örneğin kod bizden number beklerken biz string değer girersek bunu kabul etmeyecek ve hata verecektir. TypeScript’i JavaScript’in bir uzantısı olarak düşüneceğimizi serinin ilk yazısından biliyoruz. Yazdığımız kod aslında bir JavaScript kodu. Ek olarak static type’ları yazıyoruz. Yani bir değişken oluşturduğumuzda string mi, integer mı, obje ise objenin içinde hangi parametreler var, hangileri opsiyonel, hangileri zorunlu, bir array ise bu array stringlerden mi oluşuyor yoksa objelerden mi oluşuyor şeklinde static type’ları belirtiyoruz. Böylece uygulamamızın genelinde type güvenliği sağlamış oluyoruz. Şimdi type tanımlamalarını nasıl yaparız bu soruya cevap verebiliriz. Öncelikle TypeScript’in inference özelliğinden kısaca birkaç örnek ile bahsetmek istiyorum. TYPE INFERENCE Öncelikle çalışma ortamında index.ts uzantılı bi dosya oluşturalım. Terminali açıp npm install -g typescript yazarak TypeScript’i bilgisayarımıza kuralım. Bu sayede compilera erişim sağlayacağız. Daha sonra bir değişken oluşturalım. Oluşturduğumuz değişkenin üstüne mouse ile gelip beklediğimizde bize değişkenin tipini veriyor. Bunu aşağıdaki örneklerde açıkça görüyoruz. Bu durum, TypeScript’in inference özelliği sayesinde gerçekleşiyor. Biz henüz herhangi bir type tanımlamadığımızda TypeScript bizim verdiğimiz değere göre bir çıkarım yapıyor ve değişkenin type’ını bize gösteriyor. Aynı şekilde aşağıdaki örnekteki gibi bir obje tanımladığımızda ve “okul” değerinin üzerine mouse ile geldiğimizde iki elemanlı bir obje olduğunu ve elemanların type’larını görmüş oluyoruz. Buraya kadar bir type tanımlaması yapmadık ve TypeScript’in inference özelliğinden faydalanmış olduk. Aşağıdaki örnekler ile birlikte type tanımlamaları nasıl yapılır onları göreceğiz. TYPE TANIMLAMA Satır İçi Tanımlama İnterface ile Tanımlama Type ile Tanımlama Bu tanımlama şekli yaygın olarak fonksiyon tanımlamalarında kullanılır. Opsiyonel Tanımlama Bir objeye değer girerken, direkt olarak değerin ismini girdiğimizde o değer o objede zorunlu olarak kullanılmalıdır. Eğer kullanmazsak TypeScript bize bu noktada hata verecektir. Aşağıdaki örnekte gördüğünüz gibi “mevcut” değerini tanımlayıp kullanmadığımızda hata ile karşılaşıyoruz. Bu durumda aşağıdaki gibi “?” işareti ile opsiyonel tanımlama yaparak tanımladığımız değeri kullanıp kullanmamak konusunda özgür olabiliriz. Bir değişkenin iki farklı type alabileceği durumlarda ise şöyle bir kullanım ile karşılaşıyoruz; Bu iki farklı kullanım şekli de doğrudur. Type’ların arasına “|” işareti koyarak o değişkenin hem number hem de string türünde kullanabileceğimizi belirtmiş oluyoruz. Literal Type Direkt olarak bir değeri type şeklinde vermeye literal type denir. Aşağıdaki örnek üzerinde açıklamak daha anlaşılır olacaktır ; Burada girdiğimiz “Atatürk İlkokulu” değeri “Isim” type’ı ile eşleşmek zorundadır. Değer ile type eşleşmediği takdirde isim değeri bize aşağıda gördüğümüz hatayı verecektir. Bu durumda biz isim değerine sadece “Atatürk İlkokulu” değerini veya “Diger” değerini verebiliriz. Type’ların Array ile Kullanımı Aşağıda gördüğümüz örnekte “okullar” adında bir obje oluşturduk ve henüz type tanımlaması yapmadık. Burada yine TypeScript’in inference özelliğinin devreye girdiğini görüyoruz. Fakat biz bu “okullar” objesine az önce oluşturduğumuz Okul type’ının dizi hali olacağını belirtmek isteyebiliriz. Bunun kullanımı ise şu şekilde olacaktır; Bu sayede “okullar” objesinin Okul type’ında tanımladığımız objelerden oluşan bir dizi olduğunu belirtmiş olduk. Yukarıdaki örnekte olduğu gibi girebileceğimiz isim değerleri “Atatürk İlkokulu” ve “Diger” olmak zorunda oldu. Generic Type Interface veya type ile oluşturduğumuz bir type başka bir type’ı parametre olarak alabilir. İlk bakışta biraz karmaşık bir cümle gibi görünse de aslında hiç de öyle olmadığını bir örnekle göstermek istiyorum; Son olarak derleme kısmından bahsetmek istiyorum.Bu yazdığımız kodları derlemek istiyorsak TypeScript’in “tsc” komutunu kullanıyoruz. Terminali açıp tsc “dosya adı” girdiğimizde yazdığımız kodu derlemiş olacağız. Derleme gerçekleştikten sonra index.js isimli yeni bir dosyamız oluşacak ve içeriği de aşağıda gördüğümüz şekilde olacak; Gördüğünüz gibi tanımladığımız type’ların hiçbiri index.js dosyamızın içinde görünmüyor. Sadece girdiğimiz objeler ve değerleri görüyoruz. Gördüğünüz bu kod bütün type’ları kontrol edilmiş olduğu için güvenli bir kod olarak düşünülebilir. TypeScript ile giriş aşamasında yapılan type tanımları hakkında söyleyeceklerim şimdilik bu kadar. Sonraki yazılarda görüşmek üzere.
Herkese selam, bir önceki yazımda Tableau Desktop’ta bulunan Saved Data Sources üzerinden tarihlerin çalışma mantığını incelemiştik. Peki ya Tableau’nun bize örnek olarak sunduğu Saved Data Sources yerine kendi veri kaynağınızı kullanmak isterseniz? Gelin birlikte Tableau Desktop üzerinden çeşitli veri kaynaklarına nasıl bağlanabileceğinizi inceleyelim.
Herkese merhaba, bu yazımda Tableau’da tarih alanlarının çalışma mantığından bahsedeceğim. Tableau bir iş zekası aracıdır ve sizlere verilerinizi görselleştirme, interaktif dashboardlar hazırlama gibi olanaklar sağlar.