MICROSOFT ROL BAZLI SERTİFİKALAR

[vc_row][vc_column][mk_fancy_title color=”#0a0a0a” size=”20″ font_family=”PT+Sans” font_type=”google”]

Becerilerinizi doğrulayın, fırsatların kilidini açın

Sertifikalar, dünya çapında yeteneklerinizi ve yeni teknolojileri kullanma konusundaki istekliliğinizi kanıtlayarak size profesyonel bir avantaj sağlar.

Bugün Microsoft’un global transformasyonu sonrası yeni sertifikasyon programı bulut odaklı işleri yansıtıyor. İşe alınmanıza, ilerlemenize, daha hızlı üretken olmanıza yardımcı oluyor.

Bunun çıktısı olarak gittikçe daha fazla işletme buluta geçiyor. Bu hamle, rol tabanlı uzmanlaşmaya odaklanıyor ve önemli bir beceri boşluğunu tamamlıyor. CIO’ların % 70’inin bulut stratejisi olmasına ve işletmelerin % 85’inin bulut mimarisini istemesine rağmen, kuruluşların yalnızca % 16’sı gerekli becerilere ve süreçlere sahip.

Microsoft’un yeni rol tabanlı sertifika programında Azure, Modern İşyeri ve İş Uygulamaları genelinde genişletilmiş roller listesini kapsayan yeni eğitim ve sertifikalara geçtiğini görüyoruz.[/mk_fancy_title][mk_image src=”https://peakup.org/wp-content/uploads/2023/12/role-based.png” image_size=”full” align=”center”][/vc_column][/vc_row][vc_row][vc_column][mk_fancy_title size=”20″ font_family=”none”]Microsoft bugüne kadar Uygulamalar ve Altyapı, Modern İşyeri, Veri ve AI ve İş Uygulamaları alanlarında 23 iş rolü içeren yeni eğitim ve sınavları tarafımıza sundu. Mevcut temellere (fundamentals) ve rol tabanlı sertifikasyon türlerine (associate) ek olarak, üçüncü tür bir uzmanlık (expert) alanı ekledi .

Bunların dışında sürekli genişleyen sertifika listesine 8 yeni ekleme daha yapıldı.

Herkesin farklı öğrenme tercihine sahip olduğunu biliyoruz, Microsoft bu yüzden sertifikasyon yolculuğunuz boyunca sizlere farklı eğitim seçenekleri sunuyor.

  • Instructor Led
  • Certificatation Exams
  • Microsoft Learn

[/mk_fancy_title][/vc_column][/vc_row][vc_row][vc_column][mk_fancy_title size=”20″ font_family=”none”]Microsoft Learn ile eğitim materyallerine, kod örneklerine ücretsiz olarak erişebilir ve test edebilirsiniz ya da Microsoft Eğitim Ortakları ile eğitmen eşliğinde hazırlanabilirsiniz. Diğer bir seçenekte konunun uzmanları tarafından hazırlanan uygulama  testleri ile sınavlara hazırlanmak olacaktır.
Ayrıca öğrenme deneyiminizi geliştirmeye devam etmeniz için mevcut sertifikasyon bilgilerinizde Microsoft Learn’e taşınıyor. Böylece ilgili içeriği bulmanız kolaylaşacak ve sertifikasyon yolculuğunuz sırasında sizi destekleyecektir.

Microsoft sertifikaları üç seviyede düzenlenir: Temel, Orta ve Uzman. Nereden başlayacağınızı ve devam edeceğinizi bilmiyorsanız detayları buradan da takip edebilirsiniz.

Dilerseniz önce, rolünüze veya arzu ettiğiniz role dayalı bir öğrenme yolu seçerek ve bir dizi kursla sınavlara hazırlanmaya başlayabilirsiniz.[/mk_fancy_title][mk_image src=”https://peakup.org/wp-content/uploads/2023/12/sertifikasyon-2.png” image_size=”full” align=”center”][/vc_column][/vc_row][vc_row][vc_column][mk_fancy_title size=”20″ font_family=”none”]Sertifikasyonların hedeflerinize ulaşmanıza nasıl yardımcı olabileceğini merak ediyorsanız PEAKUP blogu takipte kalın.

Sertifika ve eğitim programını incelemeyi unutmayın.[/mk_fancy_title][mk_button dimension=”savvy” size=”medium” icon=”mk-icon-arrow-down” url=”https://peakup.org/wp-content/uploads/2023/12/master-training-and-certifications-guide.pdf” target=”_blank” align=”center”]İNDİR[/mk_button][/vc_column][/vc_row]

Kişisel Farkındalık

Farkındalık, farkında olma ya da bir şey hakkında bilgi sahibi olma , kendisinin ve çevresinin bilincinde olma halidir. Biyolojik, psikoloji bilimi, farkındalığı bir duruma algı ve bilişsel tepki olarak tanımlar.

Yargısız bir şekilde şimdiki ana odaklanabilmek amacıyla, dikkatinizi toplayabilmektir. (John Kabat-Zinn)

Gelişimin temelinde kişinin bireysel farkındalığının olması çok önemlidir. Farkında isek çözüm üretebiliriz, değişim yaratabiliriz.

Kişisel Farkındalık

Kişisel farkındalık; bireyin duygu, düşünce ve davranışlarını anlama çabasıdır. Kişinin yaşadıklarının kendi üzerindeki etkisini kavramasıdır. Kendinizle ilgili bilgi edinirken iki noktayı önemsemek gerekir, -Kendinizi suçlamadan, peşin hüküm vermeden anlayabilmek gerekmektedir,

 

Kişisel Farkındalıkta başarı nasıl sağlanır?

Olumsuz duyguları bakış açımız ve yaşadığımız olayları oluş süreçleri , verdiğimiz tepkiler doğrultusunda değerlendirmemiz önemlidir.

Kendimizi farklı açılardan değerlendirmek gerekir,

Duygusal zekanın geliştirilmesi; bireyin duygularını algılayabilmesi, tanıması ve yönetebilmesidir. Aynı zamanda insanlarla ilişkide empati, çatışmaları çözme ve etkili iletişim kurabilmesini de içerir.

Bireyin kendi  kişisel hikayesini çocuklardan itibaren değerlendirmesi gerekmektedir. Geçmiş deneyimler ve kişilerin bu olaylara vermiş olduğu tepkiler kişisel gelişimin şekillenmesi için büyük önem kazanmaktadır. Bu yaşadıklarımızı anlamlandırmak gelişim yolculuğumuzda önemlidir.

Gün içinde kendi düşünce, his ve davranışlarını gözleme, bireyin yaşadığı olayın olduğu ana odaklanarak kendi ile ilgili değerlendirme yapması önemlidir. Bu değerlendirmelerin etiketleyici ve suçlayıcı olmaması, tek bir davranışınıza saplanmamak, kendinize anlayışlı olmak fayda sağlar. Bazı durumlarda kendinizle ilgili yorumları tekrar gözden geçirmenizde fayda vardır.

 

Kendi gözlemlerimiz dışında çevremizden bir çok bilgi gelmektedir. Bireyin kendisi ile ilgili yorumları dikkate alırken çevresindeki uyarıları da dikkate alması gerekmektedir.

 

Kendinize şu soruları sorun:

  • Kendimde en çok sevdiğim yönler neler?
  • Kendimde en az sevdiğim yönler neler?
  • Daha iyi ve başarılı olabilmek için hangi bedelleri ödemeyi göze alıyorum?
  • İnsan olabilmek için, kendimin en iyi versiyonu olmak için hangi eksik yönlerimi bilmek zorundayım?
  • Yeteneklerim ne?
  • İlgi alanlarım ne?
  • Neye inanıyorum?
  • Benim için hangi değerler önemli?
  • Nasıl bir insanım?
  • Benim için önemli olan değerlerin örnek bir yansıması mıyım?
  • Farkındalık ile birlikte neler değişir?

 

Farkındalık yolculuğu hayatımızın gelişimi ve değişimi için çok önemlidir. Farkındalık arttıkça anlayış artacak ve hayatımızda sıradan olarak gözüken olaylar daha anlamlı hale gelecektir. Farkındalık ile bireysel düşünme kabiliyetimizi arttırabiliriz. Öfkemizi kontrol altına alabilir, gelişmesi gereken yeteneklerimizin farkına varabilir ve gelişim planları yaratabiliriz.

İnsan Kaynakları’nın En Sevdiği Mıcrosoft Teams Özellikleri İle Tanışın

[vc_row][vc_column][mk_fancy_title color=”#0a0a0a” size=”20″ font_family=”PT+Sans” font_type=”google”]İnsan kaynaklarının şüphesiz en temel işlevi kurum içindeki iletişim ağını en sağlıklı şekilde kurabilecek sistemleri geliştirmektir. İş hayatında kavramlar ve yöntemleri hızla değişirken, insan kaynakları departmanlarının da iş yapış şekilleri aynı oranda değiştiğini söyleyebiliriz. İnsan kaynakları ve çalışan iletişimleri günümüzde daha önce olduğundan daha hızlı sağlanmalıyken, insan kaynakları departmanının yol haritasını çizdiği geribildirimlerin de aynı hızda gerçekleşmesi gerekmektedir. İşveren markalaşmasının yükseldiği bu dönemde kurum içi iletişim geleneksel yöntemlere bırakılmayacak kadar hızlı olmak zorunda. İletişim bütünlüğünün korunması ve çalışanın duyuru ve geri bildirimleri tek bir portaldan sağlıyor olması çalışan verimliliği sağladığı gibi insan kaynakları departmanlarının verimliliğini sağlayacaktır. Bu verimlilik uzun vadede istihdamı da doğrudan etkiliyor olacaktır. İşte bu noktada İnsan kaynaklarının işe alımdan, duyurulara, çalışan etkileşiminden, çalışanın iş yapış biçimlerini iyileştirmesine uzanan yolculukta bir yardımcıya ihtiyaç duymasına yol açıyor. Microsoft Teams’in kolay kullanılabilen arayüzü ve özellikleri bu ihtiyaca cevap verebilmekte. Nasıl mı? Gelin birlikte keşfedelim.

İşe alım sürecinde Teams

Açılan bir pozisyona gelen adayların profillerini ve istihdamı sağlayacak olan personelin notlarını en hızlı paylaşabildiği bir ortam gerekmekte. Bu bilgi paylaşımları, çoğu zaman ekipler arasında fiziksel toplantılara ihtiyaç duyarken, uygun vakit aralıklarını denk getirememek nedeniyle ertelenen görüşmeler istihdam sürelerini geciktirebiliyor. Microsoft Teams’in ilgili kişileri ekleyebildiğiniz sohbet odaları veya kanalları bu vakit kaybına yol açan sürece adeta ilaç oluyor.[/mk_fancy_title][mk_image src=”https://peakup.org/wp-content/uploads/2023/12/teams_2.png” image_size=”full” title=”Görsel 1: Teams” caption_location=”outside-image” align=”center” margin_bottom=”24″][mk_padding_divider][mk_fancy_title color=”#0a0a0a” size=”20″ font_family=”none”]

Yeni başlayan oryantasyonu

İşe yeni başlayan çalışanların oryantasyon sürelerinin en sorunsuz şekilde tamamlanması insan kaynakları için oldukça Önemli bir süreçtir. Mailler veya her an kaybolabilecek basılı materyallerin insan kaynaklarının oryantasyon planlarına ket vurabilmekte. Fiziksel oryantasyon toplantılarının mümkün olmadığı uluslararası yapılanmaya sahip şirketlerin, kurum kültürleri ve kuralları hatta çalışanın görev tanımı gibi asla fire verilmemesi gereken konularda tüm çalışanlara eşit kaynak erişimi sağlamaları gerekmekte. Bugün yeni işe başlayan bir çalışanın şirketi hakkında tüm içeriklere erişebilmesi birkaç yol ile mümkün. Bunun en dertsiz ve tasasız yolu kuşkusuz ki kurumsal hafızanın yaratıldığı dijital platformlar diyebiliriz. Microsoft Teams kanal veya sohbet odalarında bulunan dosya arşivi bölümü bu duruma en etkili çözüm diyebiliriz. Bu arşivlerde şirket sunumlarından, guideline’lara, logolardan, yönetmeliklere kadar pek çok belgeyi güvenle saklayabilir ve çalışanlarınızla paylaşabilirsiniz.[/mk_fancy_title][mk_image src=”https://peakup.org/wp-content/uploads/2023/12/teams_1.png” image_size=”large” title=”Görsel 2: Teams Dosyalar” caption_location=”outside-image” align=”center”][mk_padding_divider][/vc_column][/vc_row][vc_row][vc_column][mk_fancy_title size=”20″ font_family=”none”]

Duymayan kalmasın dediğiniz duyuruları en hızlı şekilde iletin

Şirket duyuruları çoğu zaman hayati önem taşır. Değişen izin çizelgeleri, şirketin tüm çalışanları sosyal veya yasal olarak etkileyecek duyuruları eş zamanlı tüm çalışanlara ulaşması insan kaynakları departmanlarının dert edindiği konulardan biridir. Microsoft Teams’in özelleştirebileceğiniz kanal veya sohbet odalarında duyuru konularına özel başlıklar açabilir  ya da aynı duyuruyu birden fazla kanalda paylaşabilirsiniz.[/mk_fancy_title][mk_image src=”https://peakup.org/wp-content/uploads/2023/12/teams_3_final.png” image_size=”full” title=”Görsel 3: Teams Duyuru” caption_location=”outside-image” align=”center”][/vc_column][/vc_row][vc_row][vc_column][mk_padding_divider][mk_fancy_title size=”20″ font_family=”none”]

Microsoft Teams ile İnsan Kaynaklarının Sağlayacağı Faydalar Nelerdir?

  • Kurumsal hafıza ile Önemli belge paylaşımlarını en hızlı ve kalıcı şekilde düzenlemek.
  • Ana merkezde bulunmayan fakat şirketi şehirdışı veya yurtdışında temsil etmesi gereken çalışanlarla mobil uygulama sayesinde kesintisiz iletişimde olmak.
  • Mail trafiğini düşürerek bildirim özelliği ile güncel kalmalarını sağlamak.
  • Geleneksel yöntemlerle toplanan tüm çalışan bilgisi veya geribildirimini dijitalleştirerek gözden kaçırma olasılığını ortadan kaldırmak.
  • Konu özelinde kanal veya sohbet odası oluşturarak en hızlı iletişim ağını sağlamak.

Microsot Teams ile yeni nesil iletişim çözümlerini birlikte oluşturmak isterseniz size anlatacak çok fazla başarı hikayemiz var. Takipte kalın![/mk_fancy_title][/vc_column][/vc_row]

TOPLA.ÇARPIM / SUMPRODUCT Sihirli Fonksiyon

[vc_row][vc_column][vc_column_text css=”.vc_custom_1585307243370{margin-bottom: 0px !important;}”]Bu yazıda sizlere, Excel‘de temel ve orta düzey kullanıcıların pek kullanmadığı ve/veya neler yapabildiğini bilmediği bir fonksiyondan, hem de sihirli bir fonksiyon olarak nitelendirebileceğim TOPLA.ÇARPIM / SUMPRODUCT fonksiyonundan ve onun neler yapabileceğinden bahsedeceğim.

 

Excel‘deki fonksiyonlara/formüllere baktığımızda, her fonksiyonun bir yazım kalıbı ve yaptığı bir işi vardır.  Örneğin; DÜŞEYARA/VLOOKUP fonksiyonunun yaptığı iş belli. Kabaca tarif etmek gerekirse; bunu ara, bu tabloda ara, bulursan 2. sütundaki veriyi bana getir şeklinde kullanırız. Farklı kullanımları olmakla beraber yaptığı tek iş bu, başka bir iş yapmaz. Aynı şekilde ETOPLA/SUMIF fonksiyonu da, kabaca şöyle çalışır; bu aralıkta, bundan varsa, burayı topla gibi.. başka bir iş yapmaz.[/vc_column_text][/vc_column][/vc_row][vc_row][vc_column][vc_single_image image=”51181″ img_size=”full”][/vc_column][/vc_row][vc_row css=”.vc_custom_1573564152748{margin-top: 10px !important;}”][vc_column width=”1/2″][vc_column_text css=”.vc_custom_1573555719951{margin-bottom: 0px !important;}”]Öyle bir fonksiyon düşünün ki; birçok fonksiyonun yapabildiği işi tek başına yapabiliyor. ETOPLA, ÇOKETOPLA, EĞERSAY, ÇOKEĞERSAY ve daha birçok fonksiyonun yerine sadece TOPLA.ÇARPIM fonksiyonu kullanabilirsiniz.[/vc_column_text][/vc_column][vc_column width=”1/2″][vc_column_text css=”.vc_custom_1573555738581{margin-bottom: 0px !important;}”]Çalışma mantığını şöyle düşünelim; verilen aralık ya da dizilerde birbirine karşılık gelen sayısal bileşenleri çarpar ve bu çarpımların toplamını verir. Fakat sadece çarpmaz, isterseniz toplar, çıkarır, böler.[/vc_column_text][/vc_column][/vc_row][vc_row][vc_column][vc_column_text css=”.vc_custom_1573562620513{margin-bottom: 0px !important;}”]Bu fonksiyonu bu kadar çok iş yapabilmesi tamamen Dizi mantığı ile çalışıyor olmasından kaynaklıdır. Dizi mantığıyla, seçilen tüm hücre aralıkları içindeki verilerle işlemler yapabilmesini sağlar. Dizi mantığında da, belirtilen birden fazla Dizi varsa her bir dizinin birbirine karşılık gelen elemanlarıyla ilgili işlemler yapar. Herhangi bir karşılaştırma sonucunda bize DOĞRU veya YANLIŞ yanıtını döndürür. DOĞRU‘nun karşılığı 1‘dir, YANLIŞ‘ın karşılığı da 0 (sıfır)’dır. Burada önemli olan da, karşılaştırma sonucunda bize geri dönen DOĞRU yanıtıdır. Her bir DOĞRU yanıtının karşılığı 1 olduğu için, toplamı alınmak istenen hücre aralığını seçtiğimizde, DOĞRU‘ların karşılığındaki toplam rakamını birbirleriyle çarpıp sonrasında toplar ve bize sonucu döndürür.

Aşağıdaki görselde şu formülü görüyorsunuz; =(A1:A10=G6)*(B1:B10) bu formülü seçip F9‘a bastığınızda şöyle bir dizi verecektir. TOPLA.ÇARPIM fonksiyonu da bu dizi içerisindeki sayıları toplar. Hangileri eşitse onlar 1‘olur ve B sütunundaki sayıları 1‘le çarpar ve toplar. Fonksiyon adına baktığınızda, içten dışa doğru gidersek, TOPLA.ÇARPIM önce çarp sonra da topla mantığı olduğunu da kolayca görebilirsiniz.[/vc_column_text][/vc_column][/vc_row][vc_row][vc_column][vc_single_image image=”51166″ img_size=”full” style=”vc_box_rounded”][/vc_column][/vc_row][vc_row css=”.vc_custom_1573555882582{margin-top: 30px !important;}”][vc_column][vc_column_text css=”.vc_custom_1573556954550{margin-bottom: 0px !important;}”]

Genel Olarak Neler Yapılabilir?

  • Yukarıda belirttiğim fonksiyonların yaptığı tüm işleri yapabilir.
  • Tek bir kritere göre toplam alabilir veya sayma işlemi yapabilir.
  • Birden fazla kritere göre toplam alabilir veya sayma işlemi yapabilir.
  • Metin olarak saklanan sayıların toplanmasını sağlayabilir.
  • İki sütundaki sayıları birbirleriyle çarpıp toplamını alabilir.
  • Belirtilen alanda kaç karakter veri olduğu sayılabilir.
  • TOPLA(EĞER( ile başlayan Dizi formülü ile şarta göre toplam alınmak istenen durumların yerine kullanılabilir.
  • Sütundaki en yüksek 5 sayının toplamını alabilir.
  • Sütundaki en düşük 5 sayının toplamını alabilir.
  • Belirtilen alandaki Benzersiz verilerin sayısını bulabilir.
  • Sütundaki sayılardan benzersiz olanların toplamını bulabilir.
  • Belirlenen alanda tek veya çift sayıların toplamını alabilir.
  • Belirli bir veri içeren hücrelerin toplamını alabilir.
  • Tek hane koşuluna göre toplam alabilir.

ve daha birçok özel işlem..[/vc_column_text][/vc_column][/vc_row][vc_row][vc_column][vc_column_text css=”.vc_custom_1573555914320{margin-top: 30px !important;margin-bottom: 0px !important;}”]Şimdi bu fonksiyonunu temel kullanımına bir örnek verelim. İki farklı sütundaki sayıları birbirleriyle çarpıp sonrasında toplamlarını almak istiyoruz. Basitçe iki hücreyi birbiriyle çarpıp aşağıya doğru çektikten sonra alt hücreye de TOPLA formülü ile alt toplamını aldırarak bu işlemi yapabiliriz. Bu basit işlemi 2-3 adımda yapabildik, oysa TOPLA.ÇARPIM fonksiyonu ile hem daha hızlı, hem de hücrelere değer aktarmaya gerek kalmadan çözebiliriz.

Örnek için bu gif resme bakabilirsiniz.[/vc_column_text][vc_single_image image=”51121″ img_size=”full” style=”vc_box_rounded”][/vc_column][/vc_row][vc_row][vc_column][vc_column_text css=”.vc_custom_1573560346278{margin-bottom: 0px !important;}”]TOPLA.ÇARPIM fonksiyonunu eğer ETOPLA veya ÇOKETOPLA gibi bir veya birden fazla kritere göre toplam almak istediğiniz yapıda kullanmak isterseniz o zaman birçok seçeneğiniz olacaktır. Aşağıda göreceğiniz tüm kullanımlar, sorgulama sonucunda gelen değeri sayıya dönüştürmek içindir. Hangi syntaxı kullanırsanız kullanın sonucun aynı olduğunu göreceksiniz. Bu tarz kullanımlarda, dikkat ederseniz her bir koşulu kendi parantezi içerisinde yazıyoruz.[/vc_column_text][/vc_column][/vc_row][vc_row][vc_column][vc_single_image image=”51136″ img_size=”full”][/vc_column][/vc_row][vc_row css=”.vc_custom_1573560377959{margin-top: 30px !important;}”][vc_column width=”1/2″][vc_column_text css=”.vc_custom_1573558387707{margin-top: 30px !important;margin-bottom: 0px !important;}”]Bu konuda birkaç örnek daha vermek istiyorum. Meselâ başka ne işe yarar?

Bir sütunda metin olarak saklanan sayıların toplamını alalım, o sayıların altına gelip =TOPLA(A2:A5) dediğimizde sonuç olarak bize 0 (sıfır) değerini döndürecektir.
Yan tarafta görebilirsiniz. ➤[/vc_column_text][/vc_column][vc_column width=”1/2″][vc_single_image image=”51141″ img_size=”full”][/vc_column][/vc_row][vc_row][vc_column width=”1/2″][vc_single_image image=”51144″ img_size=”full”][/vc_column][vc_column width=”1/2″][vc_column_text css=”.vc_custom_1573560192035{margin-bottom: 0px !important;}”]Ayni işlemi bir de TOPLA.ÇARPIM fonksiyonu ile yapmayı denediğinizde sonucun 100 olduğunu ve toplayabildiğini göreceksiniz.[/vc_column_text][/vc_column][/vc_row][vc_row][vc_column][vc_column_text css=”.vc_custom_1573564826340{margin-bottom: 0px !important;}”]Bu fonksiyonun kullanımı yeri oldukça geniştir, birçok fonksiyonla iç içe yazılabilir. Belirttiğiniz alanda kaç karakter olduğunu öğrenmek için de yine bu fonksiyondan faydalanabiliriz.

Biliyorsunuz Metin Fonksiyonları listesinde UZUNLUK adında bir fonksiyon var. Bu fonksiyon; seçtiğiniz metnin kaç karakter uzunluğunda olduğunu verir. Normalde içerisine tek bir hücre veya bir metin yazılabilir, birden fazla hücre aralığı belirtilemez. Fakat bu fonksiyonu TOPLA.ÇARPIM fonksiyonu içinde kullanırsanız, seçmiş olduğunuz hücre aralığındaki tüm hücrelerin karakter sayılarının toplamını verir.

Aşağıda bu durumun sonucu görebilirsiniz.[/vc_column_text][/vc_column][/vc_row][vc_row][vc_column][vc_single_image image=”51185″ img_size=”full”][/vc_column][/vc_row][vc_row][vc_column][vc_column_text css=”.vc_custom_1573565881568{margin-bottom: 0px !important;}”]Bu fonksiyonla ilgili yapılabilecek daha birçok işlem var, daha detaylı bilgi almak için Excel Eğitimlerimize katılabilirsiniz.

Faydalı olması dileğiyle. 😊[/vc_column_text][/vc_column][/vc_row]

Jetpack Compose & SwiftUI

Herkese Merhaba. Peakup’ta Android Developer olarak çalışmaya başlayalı 6 ay oldu. Gidişat çok güzel. 5 ayda Google Play Store’a 5 adet sağlam Android uygulama yayınladık. Buradan uygulamalarımızın listesine erişebilirsiniz. En son yaptığımız İzin Yönetimi Android uygulamamız 12 Ekim 2019 tarihinde Google Play Store’a yüklendi ve kullanıma hazır hale geldi. Bu tarihten itibaren (yani 1 aydır) XCode ile iOS uygulamaları yazmaya başladım.

Android ve iOS ortamları cihaz olarak farklılar biliyorsunuz. Geliştirme ortamındaki fark cihaz farkından kat be kat fazla. Yeni bir dil, yeni bir IDE, yeni UI, yeni bir tasarım anlayışı, yeni kullanıcı alışkanlıkları, yeni … derken başlarda açıkçası sudan çıkmış balığa dönmüştüm. Swift ve Kotlin birbirine çok yakın diller olduğu için dil konusunda şanslıydım. Peki arayüz? Çok farklıydı. iOS’ta sürükle bırak kullanılıyordu kendimiz koda müdahale etmiyorduk ama Android’de de tam tersi sürükle bırak kullanmıyorduk. Derken SwiftUI’ın imdadıma yetiştiğini düşünmüştüm. Ama yanılıyordum. SwiftUI’a başlayalım mı başlamayalım mı derken Android de Jetpack Compose çıkarıp kafamı alt üst etmesin mi…

SwiftUI

SwiftUI

Google’da iOS öğreniyorum ne öğrenmem gerekir, iOS yedim zehirlendim, iOS kafası, iOS olmak istiyorum, iOS bize gelsin, iOS sistem gereksinimleri gibi araştırmalara başladım. Dolayısıyla çok uzun bir süre aramak zorunda kaldım 🙂 Haziran 2019 WWDC’de Apple’ın SwiftUI isimli yeni bir UI framework yayınladığını öğrendim. Bu Framework UI yazımını bayağı kolaylaştırıyor. Döküman ve internetteki çeşitli örnekleri incelediğinizde işleri kayda değer derecede hızlandırdığını ve çok pratik olduğunu göreceksiniz. Ayrıca öğrenmesi de çok kolay. Bu hevesle “Apple böyle taş gibi bir UI framework çıkardığına göre Storyboard sisteminin daha da yüzüne bakmaz” diye düşünerek hareket ettim ve ilk iOS projemi SwiftUI kullanarak açtım.

Projeyi yazmaya başladıktan sonra farkettim ki SwiftUI yeni çıktığı için dökümanlar ve örnekler çok azdı. Çıkalı 4 ay olmasına rağmen pek çok class deprecated olmuştu bile ve yerine stabil, çalışan bir kod da koymamışlardı. Buna dökümanlarda anlatılan bazı methodlar dahil. E tabiiki siz okuyana kadar çoktan düzelmiştir. Ancak o an ihtiyacım olan çok az bilgiyi bulabildim.

iOS 13

Mesela yazdığım uygulama için WKWebView bileşenini kullanmak zorundaydım. Bunun SwiftUI ile kullanımını merak ettim. Çok zor kaynak buldum. WKWebView içerisinde değişen linki almak istedim. Ancak başarıya hızlıca ulaşamadım. Hiçbir zaman kolay yolu tercih eden bir insan olmadım ancak alması gerekenden fazla vakit almasını da istemedim. Neyse deyip devam ettim. WKWebView ile olan işim uzun uğraşlar sonucunda çözülmüştü. Ancak SwiftUI da bir sayfadan başka bir sayfaya geçmekte bile zorlandım. Çünkü tüm View’ları NavigationView içerisine eklemeniz gerekiyor. Ve WKWebView ile oluşturduğum sayfayı onun içerisine almak pek mümkün görünmüyordu. Belki yeni başladığım için ben de becerememiş olabilirim. Bu yaşadığım çeşitli problemlere sadece bir örnekti.

SwiftUI Dezavantajları

  •  Bazı CustomView’ları SwiftUI kullanarak yapmaya başlayayım dedim ancak iOS 13 sınırı olduğunu öğrendim. SwiftUI ‘ı sadece iOS 13 güncellemesi yapmış iPhone’larda ve XCode 11 ve üzeri sürümlerde kullanabiliyorduk. Ayrıca kullandığınız mac, macOS Catalina işletim sistemine sahip olmak zorundaydı.
  • SwiftUI’ın henüz emekleme aşamasında olması geliştirilmeye devam ediliyor olması.
  • NavigationView içerisine eklenen WKWebView’dan url değişikliklerinin alınamaması.
  • SwiftUI yeni olduğu için bazı bugların olması ve stabil olmaması

gibi birçok sebepten ötürü aklım ve gönlüm SwiftUI’da kala kala şimdilik Storyboard’a dönmek zorunda kaldım. Bazı quora soruları ve bazı makaleler de bu görüşümü destekleyecek nitelikte. Acele etmeyin 1 sene hatta 2 sene bekleyin hemen geçmeyin diyen pek çok yazı ve görüşle karşılaştım. Storyboard sistemi ile yaptığım uygulama 2 hafta sürdü. SwiftUI’a verdiğim 1 haftada bunun çeyreği kadar ilerleyememiştim.

Ufak bir kod örneği vermek istiyorum.

SwiftUI Örnek

Bu yapı bildiğiniz DeclarativeUI yapısı. Kısa, net, anlaşılır ve açık yapısı ile gözlerimi kamaştırdı resmen. SwiftUI hakkında detaylı bilgi için sizi apple dökümanına davet ediyorum. Keşke Android’de de böyle rahat bir sistem olsa diyordum ki 2019 Ekim ayında yapılan Android Dev Summit‘te Android Jetpack Compose isimli bir UI Framework kullanıma açıldı.

 

Android Jetpack Compose

Android Jetpack Compose

Nedir Jetpack Compose? “React, Litho, Vue.js, Flutter gibi teknolojilerden esinlenilen Declarative UI Toolkit’tir” – Compose tanıtım videosu. İlk olarak 2019 Google I/O’da tanıtılan bu framework o zamanlar baya havada kalmıştı. Çünkü henüz yenebilen birşey değildi. Deneyemiyorduk ne olduğunu bile tahmin edememiştik çünkü sadece birkaç satır kod gösterilmişti. Böyle bişey yapıyoruz gelecek bu haberiniz olsun diye gösteriyoruz demişlerdi. 23 Ekim 2019’da yapılan Android Dev Summit’te ise resmen tanıttılar, gösterdiler. Android Studio 4.0 indirip Jetpack Compose’u deneyebileceğimizi söyleyerek iyice heyecanlandırdılar 🤓Henüz indirip deneme şansım olmadı. İlerleyen zamanda Android Jetpack Compose için ayrı ve özel bir yazı PEAKUP Blog’da belirecek hiç merak etmeyin.

Gördüğümüz kadarıyla Compose, işimizi çok hızlandıracak, UI yazımını çok kolaylaştıracak, daha okunabilir, daha hızlı anlaşılabilir, birkaç ay sonra döndüğümüzde şair burada ne demek istemiş diye daha az düşüneceğimiz kaliteli kod üretmemizi sağlayacak. XML dosyalarındaki kalabalık kodu güzel bir yolla azaltacak gibi. Heyecanla ilk fırsatta denemeyi ve ağzını yemeyi bekliyorum. E tabi içimden bi ses acele etme stabil değildir. Stabil olduğu zaman daha çok konuşulacak daha çookk rüyayı süsleyecek diyor. Compose için de bir kod örneği sunarak değerlendirmeye geçiyorum.

Android Jetpack Compose örneği

Ne güzelmiş öyle Text yazıp parantez açıp içine yazdığım textin hemencecik önizlemede TextView’a dönüşmesi. Altyapısını çok merak ediyorum bu hantal Android sisteminde bunu nasıl böyle yapabildiniz diye yakalarına yapışıp sormak istiyorum 🤗 Android Jetpack Compose hakkında detaylı bilgi alabilmeniz için döküman ve eğitim bağlantısını buraya ekliyorum. Yandaki telefon görüntüsü acaba preview mu yoksa emülatör mü diye de düşünüyorum bir yandan. Neyse olumlu düşünelim olumlu olsun. Preview o aynen. Hı hı preview tabi canım. Preview o emülatör değil o. İyi iyi baya iyi hızlı da aynı zamanda aynen.

Şaka bir yana şunu sorayım. Tanıdık geldi mi syntax yapısı? Gördüğünüz üzere Android’in getirdiği Jetpack Compose View Toolkit’i de SwiftUI gibi DeclarativeUI yapısına sahip. Sanırım yan yana kıyaslamasını gösterdiğimde daha da şaşıracaksınız:

SwiftUI & Android Jetpack Compose

 

Farkları

Evet benzerlik şaşırtıcı. Hatta ürkütücü derecede şaşırtıcı. Yeminle kopyala yapıştır yaparım 3 5 harf değiştiririm varya iki tarafın da arayüzünü bitirmiş olurum. Hem de responsive. Her cihaza uyumlu.

  1. Legacy kod ile olan bağları: SwiftUI, UIView ve UIViewRepresentable sınıfları ile oluşturulur ve UIViewController içerisinde, UIHostingController ile birlikte kullanılır. Jetpack Compose ise @Composable annotation ile oluşturulur ve @GenerateView annotation ile de XML içerisinde kullanılır.
  2. SwiftUI sınıfları Struct yapısına sahiptir. Struct’larda inheritance yok sadece protocol inherit edebilirler. Composable ise bildiğimiz normal bir fonksiyondur ve arayüzün sadece bir kısmını oluşturur. Tüm sayfadan sorumlu değildir. Ancak Kotlin’de fonksiyonlar sınıfa bağlı olmak zorunda da değildir. Dolayısıyla sadece Kotlin kullanarak hiç XML kullanmayarak View oluşturabiliriz diye düşünüyorum.
  3. SwiftUI’da body: View{ } kalıbı içerisine kod yazmak zorundayken Compose’da böyle bir zorunluluk yoktur, annotation bir fonksiyonu Compose fonksiyonu yapmak için yeterlidir.
  4. İki yapı da View’ları dikey veya yatay dizebiliriz. Dizilim sisteminde görünürde çok büyük fark olmasa da dizilim bileşenlerini  isimlendirmede farklar vardır. (Bi zahmet)
    Compose SwiftUI
    Row HStack
    Column VStack
    Stack ZStack
  5. SwiftUI “Bir kere yaz heryerde kullan” mantığından ziyade, “Bir kere öğren her yerde yaz” mantığına hitap ederken Compose tamamen tekrar kullanılabilir bir mantık sunuyor. Compose open source iken SwiftUI değil haliyle.
  6. Stil başlığında da birkaç fark olduğu görünüyor. Alttaki gistte gördüğünüz satırlar kendi içlerinde aynı işi yapıyor.

https://gist.github.com/alparslandev/d869f8a89443df184d4a9b5152a39496

Ortak Özellikleri

  1. Her iki teknoloji ile de özel view objeleri üretebilirsiniz. SwiftUI ile yapılan sınıflar da Compose ile yapılan sınıflar da başka sayfalarda CustomView olarak kullanılabilir.
  2. Bu Toolkitlerin en iyi yanı ise preview hizmetleri. SwiftuUI Canlı preview ile birlikte geliyor. Hatta etkileşime bile girebiliyorsunuz SwiftUI Preview ile. Burada bahsedildiği kadarıyla Android Studio da Live Preview özelliğine sahip. Şu çalıştır butonundan bizi bi kurtarın rica ediyorum. Button{ } yazdığım anda kendisi sağda preview açsın koysun butonu. Canlı canlı göreyim. SwiftUI’da kalbimi fetheden özelliklerden birisidir kendileri. Android Studio’da da performanslı ve tatlı olacağını umut ediyorum  (Gelecek gelecek Jetpack Compose yazısı gelecek ve geldiğinde buralara linklenecek…)
  3. SwiftUI’da macOS Catalina ve iOS 13 zorunluluğu olduğu için yakın zamanda SwiftUI’a geçen çok fazla uygulama göremeyebiliriz. Ve Compose tarafında da daha hızlı uygulanabilir olan daha şeffaf bazı sınırlar var elbet. Android Studio 4.0 ve uygulamanızın Api Level 21 üstü olması lazım. Android Studio zaten işletim sistemi bağımlılığı olmayan bir ide. Ancak zaten biz Peakup’ta Android projelerini zaten api level 21 üstüne açıyoruz artık.

Farklar benzerlikler uzayıp gider. Şimdilik burada bırakalım ileride Toolkitler geliştikçe buraları da güncelleriz.

Şimdi derin ve cevabını merak ettiğim bir soru var aklımda. İnşallah sizin aklınızda da uyanmıştır bu soru. Yazıyı buraya kadar okuduysanız uyanmalı bence 🙂  Neden 2 dev şirket birden ardı ardına DeclarativeUI yapısına sahip yeni UI Toolkit ve Framework yayınlar? Nedir ki bu DeclarativeUI biraz da ondan bahsedelim.

DeclerativeUI

Bir hesaplama mantığını, kontrol akışını açıklamaksızın ifade eden bir programlama paradigmasıdır. DeclarativeUI denince hemen hemen hepimizin aklına React ve Flutter geliyor. Hatta Google I/O’da kullanılan sunumun görselini hemen buraya iliştiriyorum. Google I/O Jetpack Compose DeclarativeUI

Klasik yöntem olan Imperative UI ile kıyaslarsak:

https://gist.github.com/alparslandev/3e62219a398f9daba916380bbc9ebe4b

Bu iki paradigma da UI yaratımı paradigması. Bunlar arasında heryerde geçen bir tabir var. DeclerativeUI da neyin neye benzediğini sadece açıklıyoruz. UI’da neye benzeyen bir obje istediğimizi söylüyoruz ve bir yere kadar onun stilini belirleyebiliyoruz. Mesela Buton istediğimizi yazıyoruz ancak tam pozisyonunu (x, y) cinsinden belirtmiyoruz. Yazılımcı tüm sürecin nasıl işleyeceğini tek tek yazmaz. Obje yaratımı ile frameworkler ilgilenir. UI yaratımı için her adımını bizim yönettiğimiz model ise paylaştığım Gistten de anlaşılacağı üzere ImperativeUI adını alır.

DeclarativeUI bize yazının başından beri bahsettiğim övdüğüm gibi çok daha kolay, çok daha kısa kod ile çok iş yapabileceğimiz bir model sunuyor. Kod daha okunabilir daha anlaşılabilir oluyor. Yapılacak şeye odaklanıyoruz. Nasıl yapılacağına değil. Vaktimiz de çok kısalıyor böylece. Peki buna Apple ve Google’ın altyapısı hazır mı. Android ve iOS platformları acaba bu tarz yeri yerinden oynatacak birer frameworke hazır mı bunu biraz düşünmek lazım. İşimizi hızlandırıp kolaylaştırdığı için bu modele yöneldiklerini düşünüyorum ancak bazı uyumsuzluklar stabilsizlikler ve bilimsizlikler işimizi uzatabilir de. Zaman içerisinde daha net yorum yapacağız elbet.

Gelecek

Okuduk anladık güzel hoş declarativeui swiftui compose tamam hadi dağılalım. Hemen değil 🙂 Beyin fırtınası olmadan olmaz. Bu işin geleceği ne olur? Android Studio’da UI tasarlayıp bunu iOS’a da uygulamak mümkün olabilir mi? Ya da tam tersi? UI kısmını tek bir kere geliştirip ufak değişikliklerle diğer ortama da uygulamak 🤔

Diyelim ki 3 sene sonra böyle birşey yapıldı. Cross-platform ama bir yandan da native UI geliştirebileceğimiz ortak bir toolkit bir framework yapıldı. Kolaylaştıkça işimiz hızlanıyor kabul. Ancak acaba işlerin fazla kolaylaşması kod yazıyor olma hissimi yok eder mi? Tarihte fazla kolaylaşan her şeyde olduğu gibi burada da değeri ve saygıyı düşürür mü? Neyse bunlar da başka bir yazının konusu 🙂

Not: Framework’ler henüz emekleme aşamasında. Gelişmeleri takip ediyor ona göre yazıyı güncelliyor veya yeni yazılar üretiyor olacağım.

Daha iyi bir yazılım için, gözünüz Kotlin ve Swift üzerinde olsun.
Yazılımla kalın, Esen kalın.

Kaynakça

http://nilhcem.com/swift-is-like-kotlin2019 Ekim Android Dev Summit Youtubehttps://flutter.dev/docs/get-started/flutter-for/declarativehttp://intelligiblebabble.com/compose-from-first-principles/https://quickbirdstudios.com/blog/swiftui-vs-android-jetpack-compose/https://medium.com/@ZoeWave/swiftui-jetpack-compose-db29036532dfhttps://codeburst.io/declarative-vs-imperative-programming-a8a7c93d9ad2https://medium.com/front-end-weekly/imperative-versus-declarative-code-whats-the-difference-adc7dd6c8380

A Para TV’ye Konuk Olduk

[vc_row][vc_column][mk_fancy_title size=”20″ font_family=”none”]CEO’muz Ahmet Toprakçı’nın katılacağı A Para TV “Teknoloji Çağı” programında sektör değerlendirmesi, Ar-Ge çalışmaları ve ürünlerimiz üzerine konuştuk.

Program kaydını aşağıdaki butona tıklayarak izleyebilirsiniz.[/mk_fancy_title][mk_button dimension=”savvy” url=”https://www.youtube.com/watch?v=eB3Tj5tr2aM&feature=youtu.be&fbclid=IwAR18h3UqAYMtYTe8Mq_MD2nHLnwS7RPO-PI9KhAXmebCP0HzcXVTRzsC9o4″ align=”center”]Tıklayın[/mk_button][/vc_column][/vc_row]

Excel ile Web Sitelerinden Veri Çekin

[vc_row][vc_column][vc_column_text css=”.vc_custom_1573717048716{margin-bottom: 0px !important;}”]

Excel ile dilediğiniz web sitesinden veri çekebileceğinizi biliyor musunuz?

 

Excel‘in Veri menüsünden Web Sitelerine bağlanıp oradan veri alma özelliği var, fakat bu özellik maalesef tam olarak bize istediğimiz verileri sağlayamıyor. O yüzden istediğimiz veriyi farklı bir yolla elde etmek durumundayız. Nasıl mı? Tabii ki VBA‘nın yani makroların gücünü kullanarak.

Makro bilmiyor olabilirsiniz, bunu dert etmeyin. Yazacağımız kodların birçok satırı klişedir, olabildiğince basit bir anlatımla bu işin ne kadar kolay olduğunu anlatacağım.

Normal şartlarda, webten veri alma işlerinizi yapabilmeniz için, VBA (Makro) bilginiz olmalı, web sitelerinin HTML kaynaklarından veri alacağımız için temel de olsa HTML yapıya, temel Css bilgisine sahip olmanız gerekmektedir. Fakat hiçbir bilginiz olmasa da, klişe olan noktaları zaten belirteceğim, sonrasında nereden nasıl veri aldığımızı da Document Object Model (DOM) üzerinde göstereceğim.

Bu sizi teşvik etmek adına basit bir başlangıç olsun, geliştirme tarafı size kalsın. Bu yazıda şunu yapacağız; kendi sitemizdeki blog sayfamızda www.peakup.org/blog  yayınlanan postların başlıklarını ve tarihlerini çekelim, başlıklara da o postun linkini köprü olarak ekleyelim ki; tıkladığımızda o linke gidebilelim. Bu resimde nereleri alacağımızı belirtiyorum.

 

Hadi artık başlayalım.

 

Öncelikle Excel‘de herhangi bir sayfadayken ALT + F11 tuşlarına basarak VBE (Visual Basic Editör) penceresine gidelim. Pencerenin üst menülerinden Insert ve Module tıklayıp boş bir modül açalım, kodlarımızı bu boş pencereye yazacağız. Adım adım her bir kod satırının ne anlama geldiğini de size aktarıyor olacağım. Bu arada yazının sonunda kodların son hâlini de bulabilirsiniz.

İlk satırımızda makromuza bir isim veriyoruz. Makromuzun adı PEAKUP_BLOG olsun.
Sub PEAKUP_BLOG()
hemen altına kodlarda kullanacağımız değişkenlerimizi tanımlıyoruz.
Dim ie As Object, meta As Object, i As Integer, basla As Single
Kodların sonunda sayfaya ekleyeceğimiz butona her batığımızda makromuzu çalıştıracağız, yani postları yeniden çektireceğiz, yeni post varsa o da gelecek. O yüzden eski verileri temizlemek için bu satırı kullanıyoruz. A2:B100 hücrelerinde ne varsa temizle diyoruz.
Range("A2:B100").Clear
sonrasında görev yöneticisinde açık olan tüm Internet Explorer pencerelerini kapatıyoruz, açık kalmaları hem uygulamanın şişmesine hem de bazı hatalar almamıza sebep olacağı için bu işlemi yapıyoruz.
Shell "taskkill /f /im iexplore.exe"
sonrasında tüm ie pencerelerinin kapandığından emin olmak için 1 sn. bekletme kodlarını ekliyoruz.
basla = Timer: While (Timer - basla) < 1: Wend
Şimdi Internet Explorer‘ı oluşturuyoruz.
Set ie = CreateObject("InternetExplorer.Application")
oluşturulan uygulamanın ekranda görünmemesi ama arka plânda yine çalışmaya devam etmesi için bu satırı ilave ediyoruz.
ie.Visible = False
sonrasında blog sayfamıza yönlendiriyoruz.
ie.navigate "https://peakup.org/blog/"
biliyorsunuz bir web adresine gittiğinizde o sayfanın tam olarak yüklenmesi biraz zaman alıyor. Bu zamanı aşağıdaki kodlarla kontrol ettiriyoruz ve sayfa tamamen yüklenene kadar dön/bekle diyoruz.
While ie.Busy Or ie.ReadyState < 4: DoEvents: Wend
şu ana kadar, şunları yaptık;

  • Makromuza isim verdik
  • Değişkenlerimizi tanımladık
  • Açık olan tüm IE tarayıcılarını kapattık ve ilave 1 sn. de bekle dedik
  • IE’yi oluşturduk ve gizledik
  • Blog sayfamıza yönlendirdik
  • Sayfanın meşguliyeti bitene ve tamamen yüklenene kadar bekle dedik

artık sayfa tam orak önümüzde olduğuna göre, HTML yapısından faydalanarak istediğimiz verilerin nerede olduğunu tespit edip, bütün postların başlıklarını, başlıkların linklerini ve tarihlerini hızlıca aldırabiliriz.

Blog sayfamız sürekli güncel ve aktif olduğundan dolayı birden fazla postumuz mevcut. Bütün postlara tek tek bakmamız ve başlıklarını almamız gerekiyor. Bunu VBA‘nın olmazsa olmazı Döngüler’i kullanarak yapacağız.  For veya For Each döngüsünden birini burada kullanabiliriz.

Almak istediğimiz başlığa ait, id, name, class, tag gibi özellikleri kullanarak tespit etmemiz gerekiyor. Nasıl yapacağımızı gif resimde görüyorsunuz. Alacağımız yer neresi ise, üzerine gelip sağ click yaparak İncele diyoruz.

Baktığınızda bütün verilerin  <div class=”mk-blog-meta”> altında tutulduğunu göreceksiniz.  HTML yapısı ağaç yapısı şeklindedir.

For döngüsü ile bütün bu mk-blog-meta class ismine sahip olan postları kontrol ettirelim;
Genellikle alacağımız ilk elemanın değeri sıfır olur ve aşağıdaki gibi sıfırdan başlayıp kaç tane ise -1 sayısı kadar dön/bak deriz.
For i = 0 To ie.document.getelementsbyclassname("mk-blog-meta").Length - 1
Biz bu noktada hem başlığı hem de tarihi almak istediğimiz için aynı satırları tekrar tekrar yazmak yerine bir kere set ediyoruz adına da meta diyoruz. Artık meta yazsını gördüğümüzde her bir post aklımıza gelsin. Aşağıdaki satırda parantez içindeki ( i ) ilk posttan  başlayıp kaç tane post varsa hepsinde dönmek için 0-1-2-3-4 … şeklinde ilerlememizi sağlayacak.
Set meta = ie.document.getelementsbyclassname("mk-blog-meta")(i)
Şimdi başlıklarımızı alabiliriz. Bu satırda diyoruz ki, her bir postun altındaki class adı the-title olan metni  A2 hücresinden itibaren alt alta yaz.
Range("A" & i + 2) = meta.getelementsbyclassname("the-title")(0).innertext
Başlıkları aldığı andan itibaren de hemen post linkine köprü yapalım. Bunun için de bu kodu kullanacağız..
Kodda der ki; A2‘ye köprü kur, adres olarak olarak postun altındaki a tagında bulunan linki kullan ve görünen yazı olarak da yine A2’deki metni yaz.
ActiveSheet.Hyperlinks.Add Anchor:=Range("A" & i + 2), _
Address:=meta.getelementsbytagname("a")(0).href, _
TextToDisplay:=Range("A" & i + 2).Value

Evet başlığımızı alıp köprümüzü kurduk. Şimdi tarih kısmını da B sütununa alalım. Aşağıdaki satırda, her bir postun altındaki mk-blog-meta-wrapper class’ındaki metni alıyoruz.
Cells(i + 2, "B") = meta.getelementsbyclassname("mk-blog-meta-wrapper")(0).innertext
Next i
satırı ile For döngüsünden çıkıp sonlandırıyoruz.
ie.Quit
satırı ile IE tarayıcıyı kapatıyoruz.
MsgBox "Islem Tamamlandi.", vbInformation, "PEAKUP BLOG"
İşimiz bitince İşlem Tamamlandı mesajı verdiriyoruz.
End Sub
satırı ile de makromuzu sonlandırıyoruz.

 

Her bir kod satırının ne anlama geldiğini yazdıktan sonra kodlarımızı bir toparlayıp görelim.


Sub PEAKUP_BLOG()
Dim ie As Object, meta As Object, i As Integer, basla As Single
Range("A2:B100").Clear
Shell "taskkill /f /im iexplore.exe"
basla = Timer: While (Timer - basla) < 1: Wend
Set ie = CreateObject("InternetExplorer.Application")
ie.Visible = False
ie.navigate "https://peakup.org/blog/"
While ie.Busy Or ie.ReadyState < 4: DoEvents: Wend
For i = 0 To ie.document.getelementsbyclassname("mk-blog-meta").Length - 1
Set meta = ie.document.getelementsbyclassname("mk-blog-meta")(i)
Range("A" & i + 2) = meta.getelementsbyclassname("the-title")(0).innertext
ActiveSheet.Hyperlinks.Add Anchor:=Range("A" & i + 2), _
Address:=meta.getelementsbytagname("a")(0).href, _
TextToDisplay:=Range("A" & i + 2).Value
Cells(i + 2, "B") = meta.getelementsbyclassname("mk-blog-meta-wrapper")(0).innertext
Next i
ie.Quit
MsgBox "Islem Tamamlandi.", vbInformation, "PEAKUP BLOG"
End Sub

Artık oluşturduğumuz kodları çalıştırmak kaldı. Onun için Ekle menüsündeki Şekillerden butona benzer bir şekil ekleyin ve sağ tıklayıp Makro Ata deyin, açılan pencereden PEAKUP_BLOG makrosunu seçip Tamama basın.

Oluşturduğumuz bu butona her bastığınızda eski verileri temizleyip yeni post varsa onlarla beraber yeniden çekecektir.

Sitemizdeki postları takipte kalmanız umuduyla, kodların da içinde olduğu Excel dosyasını resme tıklayarak indirebilirsiniz.

Daha fazla bilgi için Excel ile Webten Veri Alma Eğitim talebinde bulunabilirsiniz.
Eğitim sonrasında her türlü, haber, finans, spor, e-ticaret vb. sitelerden veri çekebilir hâle gelebilirsiniz.

Faydalı olması dileğiyle.. [/vc_column_text][/vc_column][/vc_row]

Para Dergisi’nde yer aldık

[vc_row][vc_column][mk_fancy_title size=”20″ font_family=”none”]Dijitalleşme ve teknolojik yenilikler insanı nasıl dönüştürüyor? Bu durumun İK’ya yansıması nasıl oluyor? Çalışma kültürü ve çalışma modelleri nasıl dönüşüyor? Yakın geleceğe dair bir öngörünüz var mı bu anlamda?

Teknolojik gelişmeler ve beraberinde getirdiği dijitalleşme çabası kişisel hayatımızda LinkedIn, Twitter, Facebook, Instagram gibi sosyal mecralar, Apple iCloud, GoogleDrive, Microsoft OneDrive gibi kişisel depolama alanları, Youtube, Vimeo gibi video mecraları, Wunderlist, Trello gibi görev yönetimi ve hatırlatma araçları ile karşımıza çıkarken tüm bu ürünlerle benzer fonksiyonlardaki iş uygulamaları da iş’te peşimizi bırakmıyor. Aslında hiç de bırakmayacak ve bu doğru kullanıldığı sürece iş yaşamımızda hem çalışan deneyimi hem de zamandan tasarruf anlamında mucizevi sonuçlar üretebiliyor.

Her değişim yönetimi sürecinde olduğu gibi bu da insanı merkez alan ve insanların uyum sürecinde yaşadığı tüm problem ve faydaları beraberinde getiren bir dönüşüm. Bu sürece bakmaya bizden başladığımız zaman gördüğümüz ortak birkaç nokta var, hepimiz aynı anda birden çok işi yapar (multi-tasking) ve tamamen zaman ve mekandan bağımsız çalışır hale geliyoruz. Pratik bakış açısıyla öğle yemeğinden ofise döndünüz ve bilgisayarınızı açtınız, yan tarafta haber siteleri açıkken ekranın alt kısmında bir YouTube videosu, bir kenarında müşteriden gelen e-postalar bir taraftan da yöneticinizin istediği Excel raporu sizin için klasik senaryolardan biri olsa gerek, tabi internet olan herhangi bir ortamda sizi bilgisayarınızla bir arada bırakıp bir de müzik açsak sanırım hayatınızda hiçbir şey değişmeden tüm verimliliğinizle çalışmaya devam edersiniz. İşte popüler adıyla dijitalleşme tüm yaşama alışkanlıklarımızı kökünden değiştiriyor. Sürekli farklı şeyleri bir arada, hızlıca tüketme ve beraberinde ulaşmak istediğiniz hedefler için çevrenizden etkilendiğiniz tüm içerikle hırsla üretme artık temel dürtümüz halinde.

Kurumsal hayat tarafından baktığımızda ise farklı jenerasyonlardan bu dönüşümü farklı hızlarda yaşayan insanların bir arada çalıştığı bir perspektif haline geliyor tablo. Yöneticilerin beklentisi de bu yönde olunca işler katlanarak daha karışık bir hale geliyor. İnsan kaynakları ise sıklıkla tüm bu karmaşanın ortasında kendini buluyor ve ne yapacağını da normal olarak çok da bilemiyor. Bir taraftan da her gün tekrar tekrar pompalanan esnek çalışma, çevik (agile) ekipler, duygusallık vs. profesyonellik gibi kavramlarla biraz ondan biraz bundan derken sonuçta hiçbir şey çıkmıyor.

Kurumların artık rekabetçi avantaj sağlayabilmesi için paylaşımcı, hızlı, birlikte çalışma kültürünü teşvik eden, farklılıklardan öğrenen ve deneyerek yeni deneyimler elde ederken yanılmaktan korkmayan bir çalışma kültürü oluşturması bir zorunluluk. Eskiden alışageldiğimiz şekliyle departmanlar, her departmanın içerisinde farklı hiyerarşiler birbirini tanımayan insanlar topluluğu olmaktan kurtulması gerekiyor. Multi-disipliner ekipler, daha yatay organizasyon şemaları, departmanlar arası geçici proje takımları başarılı olmak için giderek önem kazanıyor. Çoğu zaman olumsuzluklarla andığımız X ve Y gibi farklı jenerasyonların bir arada çalışma hali de aslına bakarsanız bu ekipler içerisinde çok kullanışlı sonuçlar üretiyor, en nihayetinde bir tarafta tecrübe, çalışma disiplini, odaklanma, tolerans gibi kabiliyetler diğer tarafın hızlı adaptasyon, öğrenme yeteneği, farklı ilgi alanları ile aynı anda ilgilenebilme ve teknoloji bağımlılığı ile iyi bir yönetim anlayışı altında birleşince başta bahsettiğim gibi mucizevi sonuçlar hiç de uzak değil. İnsan kaynakları tüm bu sürecin tesis edilmesi için gerekli ortamı sağlama, insanları anlayarak beraber çalışabilmek için gerekli katalizör olma gibi görevleri üstlenen en önemli ekip haline dönüşüyor. Bu ilişkiyi basitçe özetlemek gerekirse eşkenar bir üçgenin bir köşesi üst yönetim, bir köşesi teknoloji departmanları ve diğer köşesi ise insan kaynakları diyebiliriz. Bu süreci başarıyla yöneten organizasyonları incelediğimizde bu üçgenin çok iyi çalıştığını tekrar tekrar görüyoruz.

Esnek çalışma özellikle dikkat edilmesi gereken unsurlardan birisi. Herkesin esnek çalışmayı Salı günleri evden çalışayım veya yarın 11’de iş başı yapayım gibi yanlış değerlendirdiği bir evredeyiz. Bu kavram teknolojik gelişmelerle doğal olarak ortaya çıkmış konulardan birisi olduğunu kaçırmayalım ve esnek çalışmayı bu anlamda uygulamakta kararlıysak da rekabetçi kurumlar yaratmak için birlikte çalışma ve inovasyon kültürünü organizasyonlarımıza getirmek gerektiğinden söz etmiştik, ne kadar dijital uygulamalar olsa da bu ortamı sağlamak için bireylerin birlikte vakit geçirmesi gerektiğini de unutmamak gerek. Etrafınıza baktığınızda işten çıktıktan sonra e-postalarına bakan arkadaşlarınızı, geliştirdiği kodlarda aklına takılan bir noktayı gece evini gidince çözmeye çalışan yazılımcıları, müşterileri whatsapp’tan yazdığı için akşam arkadaşlarıyla oturduğu kafeden müşterisi ile görüşen satışçıları görmüyor musunuz. Bu taraftan bakınca gerçekten esnek çalışıyoruz ve bu artık işimizin doğal bir hali. Teknolojiler birbirleriyle bağlantılı hale geldikçe her an her yerden işlerimizi çözümler hale geliyor ve esnek çalışma anlayışımız değişmeye devam ediyor olacak.

Yakın geleceği değerlendirdiğimizde şirketler bahsini geçirdiğimiz esnek çalışma, duygusallık vs. profesyonellik gibi kavramların bilgi kirliliğinden kurtulup kurum kültürlerine özgü yeni modeller türetecektir. Çalışmak üzere değerlendirilen adaylarda multi-disipliner, farklı deneyimleri olan bireylerin ön plana çıkması söz konusu olacak ki teknik anlamda baktığımızda büyük veri, veri analitiği, siber güvenlik, IoT, yapay zeka gibi konular başta olmak üzere tüm departmanlardaki çalışanlardan genel kültür seviyesinde dahi olsa belirli beklentiler içerisinde olunacaktır. KPMG tarafından 2019 yılı içerisinde 108 farklı ülkedeki üst düzey teknoloji liderleri arasında yapılan araştırmalara göre bu yetkinlikler en çok yetenek eksikliği duyulan konuların başında geliyor.[/mk_fancy_title][/vc_column][/vc_row][vc_row][vc_column][mk_image src=”https://peakup.org/wp-content/uploads/2023/12/it-functions_para.png” image_size=”full” align=”center”][/vc_column][/vc_row][vc_row][vc_column][mk_fancy_title size=”20″ font_family=”none”]Organizasyonumuzu geleceğe başarıyla taşımak için artık teknoloji yol haritaları hazırlamak ve dijital dönüşüm gibi konular konuşmak için insan kaynakları organizasyonlarını süreçlere dahil etmek gerekliliğini görmek lazım. Sadece teknoloji birimleriyle yapılmış planların uygulama açısından karşılık bulabilmesi ve çalışanlar tarafından içselleştirilebilmesi için insan kaynakları organizasyonlarına da çok ciddi sorumluluklar düştüğünü de vurgulamakta fayda olacaktır.[/mk_fancy_title][/vc_column][/vc_row]