Apple, Eylül 2015’te standart cam ekranlardan farklı etkileşim seviyeleri sunan 3D Touch adlı bir ekran teknolojisini tanıttı. 3D Touch özelliğini destekleyen cihazlarda, kullanıcılar dokunmatik ekrana farklı seviyelerde basınç uygulayarak ek işlevlere erişebilir. Uygulamalar, bir öğeyi göstermek için içerik menüsü görüntüleyerek tıklanabilir hale getirildi.
Ana ekrandan uygulamalara hızlı erişim
Ana ekranda uyumlu bir uygulamanın simgesini basılı tutarak açılan menüden uygulama açılmadan önce çeşitli aksiyonları gerçekleştirmenize olanak tanır. Örneğin, kamera uygulamasını basılı tutarak, ana kamera yerine selfie kamerasını başlatmanıza izin verirken, Haritalar uygulamasında hedefinizi işaretleme veya konumunuzu gönderme seçeneği sunar.
Bu geliştirmeyi uygulama tarafında nasıl yapacağımıza geçelim.
İçerik menümüzü oluştururken 2 farklı yöntem kullanabiliriz.
İlk olarak info.plist dosyası üzerinden nasıl yapıldığına bakalım.
Aşağıdaki gibi görünümde info.plist dosyasını açmak için sağ tıklayıp Open As > Source Code demelisiniz. Daha sonra kendi uygulamanıza özel 3D Touch içerik menüsünü istediğinizi gibi özelleştirebilirsiniz.
UIApplicationShortcutItemTitle : 3D Touch içerik menüsündeki başlık kısmına karşılık geliyor.
UIApplicationShortcutItemSubtitle : 3D Touch içerik menüsündeki alt başlık kısmına karşılık geliyor.
UIApplicationShortcutItemIconFile : Sağ kısımdaki küçük ikonun Assets içerisinde bulunan resmimizin adına karşılık geliyor.
UIApplicationShortcutItemType : Tıklanan 3D Touch objesinin AppDelegate dosyamızda hangi sayfaya yönlenmesine karar vermemizi sağlayacak değer olacak.

Diğer bir görünüm ise aşağıdaki varsayılan görünümdür. Tek tek kendi uygulamanıza özel düzenleyip kişiselleştirebilirsiniz.
AppDelegate.swift dosyamızda application(_:didFinishLaunchingWithOptions:) instance metodu içerisinde tanımlayacağız.
Aşağıdaki şekilde içerik menü objelerini tek tek oluşturup application altındaki “shortcutItems” alanına tanımlıyoruz.

İçerik menüsü oluşturma işlemimiz bu şekilde bitiyor ikinci adım olarak bu menülere tıklandığında alınacak aksiyonlar olacak.
AppDelegate.swift dosyamız içerisine application(_:performActionFor:completionHandler:) adı altında yeni bir instance metodu ekleyeceğiz.
Aşağıdaki metot ile tıklanan menü elemanın tüm özelliklerini alıp ona göre aksiyon alabiliriz. İki farklı kod bloğu ekledim. İlkinde seçtiğiniz 3D Touch menüsünü doğrulamanız için ekranda seçilen menünün adını yazan bir alert. İkincisi ise menü type bilgisine göre ekran yönlendirmesi yapan bir yapı.

Uygulamamızın son hali
3D Touch destekleyen cihaz listesi : iPhone 13 Pro Max, iPhone 13 Pro, iPhone 13, iPhone 12 Pro Max, iPhone 12 Pro, iPhone 12, iPhone 12 mini, iPhone SE (2nd generation), iPhone 11, iPhone 11 Pro, iPhone 11 Pro Max, and iPhone XR. These devices support 3D Touch: iPhone 6s, iPhone 6s Plus, iPhone 7, iPhone 7 Plus, iPhone 8, iPhone 8 Plus, iPhone X, iPhone XS, and iPhone XS Max.
Author: Murat Bayri
Herkese merhabalar,
2018 yılında duyurulan, günümüzde de kullanımı artmaya devam eden, alışık olduğumuz virtualenv/pipenv yapısının dışında daha kapsamlı ve komplike bir yapı sunan paketleme yöneticisi ile sizleri tanıştırmak istiyorum, Poetry…
Çok kısa bir özet geçmek gerekirse, Poetry 2018 yılında 0.1 sürümüyle dünyamıza katılmış, pipenv, virtualenv gibi teknolojilerin üstüne geliştirme yaparken yaşanan birkaç uzun aşamayı da kısaltmayı kendine düstur edinmiş bir paket yöneticisi.
Bu kadar övdükten sonra nasıl kullanacağımızı anlatmaya başlayabilirim
Kurulum adımı gayet basit,
Linux/MacOSX için;
curl -sSL https://install.python-poetry.org | python3 -
PowerShell kullanarak yüklemek için (windows);
(Invoke-WebRequest -Uri https://install.python-poetry.org -UseBasicParsing).Content | py -
Kurulum işlemi tamamlandıktan sonra kontrol etmek için;
sezerb@optimist~> poetry --version
Poetry version 1.1.13
Eğer konsol olarak standart bash ya da cmd yerine, zsh, fish gibi konsol kullanmayı tercih ediyorsanız şu komutlardan sizin konsolunuz özelinde olanını seçip tek satırda poetry’i sisteme ekleyebilirsiniz;
# Bash
poetry completions bash > /etc/bash_completion.d/poetry# Fish
poetry completions fish > ~/.config/fish/completions/poetry.fish# Zsh
poetry completions zsh > ~/.zfunc/_poetry# Oh-My-Zsh
mkdir $ZSH_CUSTOM/plugins/poetry
poetry completions zsh > $ZSH_CUSTOM/plugins/poetry/_poetry# prezto
poetry completions zsh > ~/.zprezto/modules/completion/external/src/_poetry
Eğer poetry’i silmek isterseniz;
curl -sSL https://install.python-poetry.org | python3 - --uninstall
curl -sSL https://install.python-poetry.org | POETRY_UNINSTALL=1 python3 -
Projenizi ilk defa oluştururken direkt olarak konsoldan ya da Pycharm yardımıyla Poetry kullanabilirsiniz. Konsoldan;
sezerb@optimist~/working_table> poetry new sample-project
Created package sample_project in sample-project
sezerb@optimist~/working_table> ls
sample-project/
sezerb@optimist~/working_table> cd sample-project/
sezerb@optimist~/w/sample-project> ls
pyproject.toml README.rst sample_project/ tests/
sezerb@optimist~/w/sample-project> ls -al
total 20
drwxrwxr-x 4 sezerb sezerb 4096 Jun 13 06:24 ./
drwxrwxr-x 3 sezerb sezerb 4096 Jun 13 06:24 ../
-rw-rw-r-- 1 sezerb sezerb 300 Jun 13 06:24 pyproject.toml
-rw-rw-r-- 1 sezerb sezerb 0 Jun 13 06:24 README.rst
drwxrwxr-x 2 sezerb sezerb 4096 Jun 13 06:24 sample_project/
drwxrwxr-x 2 sezerb sezerb 4096 Jun 13 06:24 tests/
sezerb@optimist~/w/sample-project> cat README.rst
sezerb@optimist~/w/sample-project> cd tests/
sezerb@optimist~/w/s/tests> ls
__init__.py test_sample_project.py
sezerb@optimist~/w/s/tests> cd ..
sezerb@optimist~/w/sample-project> ls
pyproject.toml README.rst sample_project/ tests/
sezerb@ubuntu2204 ~/w/sample-project> cat pyproject.toml
[tool.poetry]
name = "sample-project"
version = "0.1.0"
description = ""
authors = ["Your Name <you@example.com>"][tool.poetry.dependencies]
python = "^3.10"[tool.poetry.dev-dependencies]
pytest = "^5.2"[build-system]
requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"
Gördüğünüz gibi tek satır komut ile projenin test kısmı dahil olmak üzere projeyi oluşturup, README dosyası dahil olmak üzere ayağa kaldırıyor. Pycharm ile birlikte kullanmak içinse;

Projenin olduğu dizine gidip;
poetry init
Projenizi oluşturduktan sonra yeni bir bağımlılık ekleme/güncelleme/silme için;
poetry add [package-name] # yeni bağımlılık ekler
poetry remove [package-name] # varolan bir bağımlılığı siler
poetry update [package-name] # eğer paket adı belirtirseniz eklediğiniz paketi, yazmazsanız tüm paketleri son sürüme günceller
Poetry’nin sağladığı bir diğer kolaylıkta farklı python versiyonları ile kodunuzu test edebilmenize imkan tanıması. İsterseniz proje özelinde isterseniz globale farklı versiyonlar yükleyerek kolayca bu python versiyonları arasında gezebilmek mümkün;
pyenv install 3.9.8
pyenv local 3.9.8 # projenizi bu versiyon ile çalıştırmanızı sağlar
poetry install
poetry env use python3.7 # versiyon değişimi
poetry env info # anlık olarak kullandığınız versiyon bilgisi ve detaylarını içerir.
Normalde bir paket hazırladığınızda bu paketi PyPi’ye yüklemekte ayrı bir süreç gerektirirken Poetry bu zahmetten bizleri kurtarıyor, tek yapmanız gereken;
poetry config repositories.foo-pub https://pypi.example.org/legacy/ # projenizin PyPI adresini ekleme
poetry config http-basic.foo-pub <username> <password> # giriş işlemi
poetry publish --build --repository foo-pub # paketinizin build alıp PyPI'ye gönderme
Eğer tüm paketlerimi tek bir paket yöneticisini üzerinden kontrol edeyim, bu paket yöneticisi aynı zamanda ekstra zengin özelliklere sahip olsun, PyPI’ye de paket atmaktan çekinmeyeyim, built-in olarak farklı python versiyonları ile çalışmak istiyorum, projemin dev/test/prod paket bağımlılıklarını konsoldan yöneteyim ve tek bir yaml içerisinde dursun gibi avantajlardan faydalanayım istiyorsanız Poetry tam sizlik. Eğer hiç denemediyseniz varolan bir projenizi de poetry’e taşıyarak başlayabilirsiniz. Üstelik bunun için tek yapmanız gereken “poetry init” komutu vermek, interaktif olarak bu taşıma işini poetry sizinle beraber yapıyor;

Bir başka yazımda görüşmek üzere…
Author: Sezer Bozkır
Azure servisleri üzerinde SQL bir veri tabanına sahip olmanın 3 farklı seçeneği bulunmaktadır. Bu seçenekler, tam olarak ihtiyaç duyduğunuz hizmeti alma ve sadece aldığınız hizmet kadar ödeme yapma şansı sunmaktadır. Şimdi hep beraber Azure SQL dağıtım seçeneklerini inceleyelim.

SQL Sanal makineleri, kullanıcının SQL Server üzerinde en çok yetki ve sorumluluğa sahip olduğu seçenektir. Bu seçenekteki hizmet türü IASS (Infastructure as a Service) yani sadece alt yapı sağlayan bir hizmet türü olduğundan, Sanal makinedeki işletim sistemi güncellemeleri ve SQL Server üzerindeki güvenlik yamaları dışındaki tüm işlemler, kullanıcının sorumluluğundadır. Elbette bu sorumluluk kullanıcıya çok daha geniş bir yetki alanı tanımış oluyor. Öyle ki, SQL Server hizmetinin tamamını konfigure edebildiğiniz için SQL Veritabanı hizmetinin yanında SSAS, SSRS ve SSIS gibi yardımcı servislerinde kurulumu yaparak bu servisleri kullanabilirsiniz.
Türkçesi kulağa biraz garip geliyor olabilir. O yüzden biz İngilizce haline odaklanalım, Managed Instance! Bildiğiniz üzere SQL Server kurulumu yaparken birden fazla Instance oluşturabilirsiniz. Bir önceki seçenekte olduğu gibi sanal bir makine üzerinde SQL Server kurulumu yaparsanız birden fazla Instance’a sahip olabilirsiniz. Managed Instance seçeneğinde ise Azure sizlere SQL Server üzerinde kurulmuş bir adet Instance hizmeti sağlar. Bu servisin hizmet türü de PAAS (Platform as a Service) olarak adlandırılmaktadır. Yani alt yapıdan daha fazlasını sunan bir hizmet türüdür. SQL Server platformunu hizmet olarak sağlar. Bu durumda sorumluluğunuz daha az dolayısıyla hareket alanınız da daha kısıtlıdır. Managed Instance hizmeti ile SQL Server Agent, Machine Learning Services, CLR ve SSIS gibi servisleri kullanabilirsiniz.
SQL Veritabanı, kullanıcıları hem işletim sisteminden hem de SQL Server yapısından soyutlamaktadır. Bu seçenek size sadece SQL Veritabanı hizmeti sağlar. Instance bazında herhangi bir değişiklik veya kurulum yapma yetkiniz bulunmaz. Yetki alanının daha dar olmasına rağmen, SQL Veritabanı hizmeti, sınırsız depolama alanı ve otomatik ölçeklendirme gibi ihtiyaçları karşılayan tek dağıtım seçeneğidir. Ek olarak SQL Veritabanı servisinin de hizmet türü PAAS olarak sınıflandırılmaktadır.
Görüldüğü üzere her bir dağıtım seçeneğinin birbirine göre avantajlı veya dezavantajlı olduğu durumlar mevcut. Siz de ihtiyaçlarınıza en uygun dağıtımı seçerek Azure dünyasına adımınızı atabilirsiniz.
Bulut teknolojileri üzerinde kullandığımız servisler, sunulan hizmetin ne kadarının sistem tarafından, ne kadarının kullanıcı tarafından yönetildiğine bağlı olarak farklı kategorilere ayrılır. Bunlar sırasıyla IASS , PAAS ve SAAS olarak isimlendirilir.
Bu kategorileri detaylı incelemek için aşağıdaki yazıya göz atabilirsiniz.
Daha detaylı incelemeler için takipte kalın!
Görüşmek üzere!
Kaynakça :
Author: Deniz Alkan
Günümüzde kurumsal firmaların büyük bir çoğunluğu teknolojik alt yapısını bulut servislerine emanet etmiş durumda. Öyle ki, gelinen son noktada bulut servisleri On-Prime yapıların sağladığı tüm hizmetleri sağlar duruma geldi. Bununla beraber Bulut Sağlayıcı (Microsoft, Amazon, Google) firmaların girdiği rekabet dolayısıyla her geçen gün daha ekonomik seçeneklerle karşımıza çıkan bu servisler, kullanıcının sunulan hizmete ne kadar müdahale edebildiği veya ne kadar sorumlu olduğuna bağlı olarak 3 farklı kategoriye ayrılmış durumdadır.
Bunlar sırasıyla IaaS , PaaS ve SaaS olarak isimlendirilmektedir.

IaaS yani “Altyapı olarak hizmet” anlayışı, on-prime yapıların bir adım ötesi olarak düşünülebilir. On-prime sistemlerden farklı olarak, ağ(network), donanım, sanallaştırma gibi katmanlardan arındırılmış olarak doğrudan işletim sistemi seviyesinde hizmet sağlanır. Örnek olarak sanal makine kiralamak gösterilebilir. Bulut servislerindeki diğer hizmet türleri (Paas,Saas) ile karşılaştırıldığında, kullanıcıya en fazla yetki ve sorumluluğun tanımlandığı seçenek olduğunu söyleyebiliriz.
Iaas Hizmetlere Örnekler :
Kullanıcı sadece Uygulama ve Veri katmanından sorumludur. İşletim sistemi bazında herhangi bir sorumluluğunuz olmaz. Herhangi bir web veya mobil uygulamayı ayağa kaldırmak ve yönetmek için kullanılabilir. PaaS hizmetler genellikle yazılım geliştiriciler tarafından, uygulamaya daha fazla odaklanmak ve uygulamayı ayağa kaldırmak için gerekli olan alt yapı işlerinin yükünden kurtulmak için tercih edilir. Aşağıdaki servislerde genellikle web veya mobil tabanlı uygulamaların hızlı bir şekilde geliştirilmesi için gerekli ortamı sağlamaktadır.
Paas Hizmetlere Örnekler :
Hizmet olarak doğrudan uygulamanın sunulmasıdır. Genellikle uygulamaya tarayıcı üzerinden ulaşılır ve kullanıcılar çeşitli abonelik yöntemleri ile bu uygulamaları satın alır. Saas hizmet sağlayıcıları, uygulama ile ilgili tüm bakım, geliştirme ve güvenlik konularında sorumluluk sahibidir.
Saas Hizmetlere Örnekler :

IaaS,PaaS ve SaaS hizmet türleri, bulut teknolojilerindeki 3 ana kategori olarak adlandırılabilir ancak gelişen teknoloji ve değişen ihtiyaçlar neticesinde bu 3 hizmet türünden daha farklı seçenekler de doğmaya devam ediyor. Tüm bu gelişmelerden haberdar olmak ve incelemek için takipte kalın!
Görüşmek üzere!
Author: Deniz Alkan
İlk olarak 2016 yılında İngiltere de başlayan Açık Bankacılık standartlaşma çalışmaları ve buna paralel Avrupa Birliğinde başlayan PSD1 ve ardından PSD2 çalışmalarıyla birlikte son yıllarda global dünyada Açık Bankacılık adını sıklıkla dünyaya duyurmaya başlamıştı.
Artan kullanıcı ihtiyaçları, bankaların ürün geliştirmedeki yavaşlıklarıyla birlikte açık bankacılık 2020’li yıllara geldiğimizde artık Türkiye’de de konuşulmaya başlamış ve T.C. Merkez Bankası 2020 sonlarına doğru yayınladığı Elektronik Bankacılık tebliğiyle Açık Bankacılığın sesleri Türkiye’de de artık duyulmaya başlamıştı. Ardından T.C. Merkez Bankasının BKM’i teknik sağlayıcı olarak belirlemesiyle birlikte ÖHVPS adında PSD2 standartlarına benzer Türkiye deki ilk Açık Bankacılık standardı oluşmaya başladı. İlk olarak taslak olarak başlayan çalışmalar, 2022’nin başında 1.0 versiyonu ile ilk resmi sürüm halinde yayınlanmış oldu.
2021 yılında standartları daha yeni yeni oluşmaya başladığında, bankalar ve fintech’ler nezninde kimse Açık Bankacılığın ne kadar uzun soluklu bir iş olacağını ve ülkenin buna ne kadar hazır olduğunu bilmiyordu. Innovance olarak bizde BKM’nin 1.0 versiyonunu yayınlamasının ardından, ÖHVPS standartlarına uygun, yeni teknolojiler kullanan, servis uyumluluğuyla müşterilerine hız ve direk entegre olunabilme rahatlığı sunan bir Açık Bankacılık ürünü yaratmak için çalışmalarımızı başlattık. Bu çalışmalarla birlikte YÖS rolünde çok kısa bir sürede BKM’nin teknik sertifikasyonunu geçen ilk firmalardan olmayı başardık. Aynı zamanda bu ürünü bir müşterimizin cüzdan uygulamasına da entegre ederek, gerçek anlamda ilk defa ürünün kullanımını sağladık. Hemen ardından ise HHS rolündeki çalışmalara başlayarak Açık Bankacılık ürününü alanında tüm standartları içinde barındıran bir ürün haline getirmeye devam ediyoruz.
Innovance Açık Bankacılık ürünü servisleri;
Ürün ile beraber müşterilerimize; Açık Bankacılık ara yüz ve/veya MW geliştirme desteği, BKM nezdinde Açık Bankacılık simülatör kurulum, test ve sertifikasyon sürecinin yönetilmesi ile Açık Bankacılık versiyon takibi ve danışmanlığı gibi tüm süreçlerde desteklerimiz bulunmaktadır.
Sizin de benzer bir ürün ihtiyacınız varsa, regülasyon dertlerinden kolayca kurtulmak istiyorsanız ve Açık Bankacılık yolculuğunda tecrübelerimizle size zaman ve kaynak kazanımı sağlamamızı istiyorsanız Innovance ile iletişime geçin, çözüm ortağınız olalım.
Author: Orhan Şen
Öncelikle Agile projelerde metodoloji seçimi, proje kapsamı ve gereksinimleri, takım yapısı, iş akışı özellikleri gibi birçok faktörü göz önünde bulundurarak yapılması gereken bir iştir. Scrum ve Kanban, Agile projelerde en çok tercih edilen iki yaklaşım türüdür. Her iki yaklaşım da çevik ve esnek çalışma şekillerini vurgular, ancak farklı kurallar ve süreçler içerir. Hem Kanban hem de Scrum metodolojilerinde Scrum Master, ekibe rehberlik ederek süreçlerin etkili bir şekilde uygulanmasında ve geliştirilmesinde önemli bir rol üstlenir.
Belirli zaman aralıklarında tekrarlayan “Sprint” adı verilen dönemler boyunca çalışmayı vurgular. Bu dönemlerde, önceden belirlenmiş sürelerde hedeflenen iş miktarı tamamlanmaya çalışılır. Scrum’da, bir Product Owner ve bir Scrum Master rolü bulunur. İşler Backlog’dan seçilir ve Sprint boyunca çalışılır. Scrum, karmaşıklığı yönetmek ve tahmin edilebilir sonuçlar elde etmek amacıyla uygundur.

Scrum’ın Tercih Edilmesi Gereken Durumları:
İş akışının görsel olarak izlendiği ve işlerin sınırlı WIP (Work in Progress) limitlerine tabi olduğu bir metodolojidir. Kanban, esnek bir yaklaşım sunar ve daha organik bir şekilde işlerin akmasını sağlar. Kanban tahtası, iş parçacıklarının farklı aşamalarda nasıl ilerlediğini gösterir. Kanban’ın ana amacı, iş akışını optimize etmek ve aşırı yüklemeyi önlemektir.

Kanban’ın Tercih Edilmesi Gereken Durumlar:
2. Roller:
3. İş Önceliklendirme:
4. Süreç İzleme:
5. WIP Limitleri:

6. Süreç Değişiklikleri:
Projeye uygun bir metodoloji seçmek, ekibin daha verimli çalışmasını ve projenin başarılı bir şekilde yönetilmesini sağlayabilir. Ancak uygun bir metodoloji seçilmediğinde yeni kurulan ekiplerde birliğin sağlanması ve iletişim kanallarının oluşturulması oldukça güç hale gelebilir. Bu tarz durumlarda başta üst yönetimin desteği doğrultusunda proje yöneticisine ve scrum master’a çok iş düşmektedir. Engellerin aşılması ve projenin sürekliliğinin sağlanması konusunda gerekli aksiyonların yetkili kişiler tarafından alınması gerekmektedir.
Yeni kurulan bir ekibin Scrum Master’ı olarak, özellikle başlangıç aşamasında bazı zorluklarla karşılaşmanız mümkündür. Bu zorluklarla başa çıkmak ve ekibinizi etkili bir şekilde yönlendirmek için kullanabileceğimiz bazı teknikler aşağıda detaylandırılmıştır:
Zorluk:
Çözüm:
Zorluk:
Çözüm:
Zorluk:
Çözüm:
Zorluk:
Çözüm:
Zorluk:
Çözüm:
Yeni kurulan bir ekibin Scrum Master’ı olarak, ekip üyelerinin ihtiyaçlarına odaklanarak, iletişimi güçlendirerek, süreçleri optimize ederek ve motivasyonu yüksek tutarak zorlukların üstesinden gelebilirsiniz. Bu durum, ekip üyeleri arasında bir güven ve iş birliği kültürü oluşturmanıza yardımcı olacaktır.
Özetle, Scrum Master’ın rolü, her iki metodolojinin se başarılı bir şekilde uygulanmasında kritik bir öneme sahiptir. Scrum Master, ekip üyelerini destekleyerek, süreçleri ve uygulamaları etkili bir şekilde yöneterek, iletişimi teşvik ederek ve sürekli öğrenme ve gelişmeye olanak sağlayarak Agile yaklaşımının temel prensiplerini hayata geçirir.
Her yeni başlangıç zorluklarla doludur, ancak doğru yaklaşımlar ve süreçlerle bu zorlukların üstesinden gelmek mümkündür. Başarılı Agile projeleri için, Scrum Master’ın öncülüğünde, tüm ekip üyeleriyle birlikte uyumlu ve verimli bir çalışma ortamı oluşturmak esastır.
Author: Betül Kaya
Projelerimizde bazı durumlarda uzun ya da içinde birden fazla yazı stili bulunan metinler eklememiz gerekebilir. Eğer eklenecek bu metin statik bir yapıdaysa tek tek biçimlendirmeler yapılarak istediğimiz görüntüde bir sayfayı oluşturabiliriz. Fakat bu metnin servisten bize gelmesi ya da tek tek biçimlendirmemizin pek mümkün olmadığı durumlarda başka çözümler kullanmamız gerekmekte.
kampanya detaylarını içeren bir ekranınız bulunuyor ve içindeki tüm bilgileri servisten alıyorsunuz. Bu ekranda kampanyanın kullanım koşullarında maddeler halinde uzunca bir yazı bulunuyor ve bazı maddelerin içinde bulunan linkler aracılığı ile bir sözleşme metnine yada websitesine kullanıcıyı yönlendirmeniz gerekiyor. Peki bunu nasıl yapabilirsiniz?
Markdown, John Gruber tarafından oluşturulan, basit ve okunabilir bir işaretleme dilidir (markup language). HTML bilgisi gerektirmeden metin biçimlendirmesine olanak tanır.
Çünkü sunduğu basit syntax ile herhangi bir editör kullanmadan dahi pratik bir şekilde metinlerinizi düzenleyip, bunları kullanıcılara hızlı bir biçimde gösterebilmenize olanak sağlıyor.
React Native projelerinizde Markdown kullanabilmek için projenize ekleyebileceğiniz birden fazla kütüphane bulunmakta. Fakat hem TypeScript desteği bulundurması hem detaylı bir dökümana sahip olması hem de aktif olarak yüksek bir kullanıma sahip olmasından dolayı, daha güncel kütüphaneler bulunsa da bu rehberde react-native-markdown-display kütüphanesini kullanacağız.
İlk olarak projemize kütüphaneyi eklemek ile başlayalım.
yarn add react-native-markdown-display
Kütüphane projeye eklendikten sonra kullanmak istediğiniz sayfaya import ederek hızlı bir biçimde kullanmaya başlayabilirsiniz.
Örnek:
import React from 'react';
import { SafeAreaView, ScrollView } from 'react-native';
import Markdown from 'react-native-markdown-display';
function App(): JSX.Element {
const exampleMarkdown = `
# Heading1 <h1>
## Heading 2 <h2>
### Heading 3 <h3>
#### Heading 4 <h4>
##### Heading 5 <h5>
###### Heading 6 <h6>
**Bold <strong>**
*Italic <em>*
***Bold and Italic <em><strong>***
>Block Quotes
>>Nested Block Quotes
1. Ordered List
1. Ordered List
2. Ordered List
2. Ordered List
2. Ordered List
- Unordered List
- Unordered List
- Unordered List
- Unordered List
- Unordered List
[Innovance](https://innovance.com.tr/) *Link with title*
<https://innovance.com.tr/> *Direct Link*
\`\`\`
Code Area
\`\`\`
`;
return (
<SafeAreaView>
<ScrollView contentInsetAdjustmentBehavior="automatic">
<Markdown>{exampleMarkdown}</Markdown>
</ScrollView>
</SafeAreaView>
);
}
export default App;
Projemize bu şekilde Markdown formatında metin eklemiş olduk. Bundan sonra tek yapmamız gereken bu metinleri tasarımımıza göre özelleştirmek. Peki bunu nasıl yapabiliriz? Kullandığımız kütüphane bunu yapmak için bize iki yöntem sunmakta.
Yöntem 1: style Propunu Kullanarak Özelleştirme: Markdown komponentinin style propunu kullanarak Markdown ögelerinin stillerini özelleştirebilirsiniz.
Örnek:
<Markdown
style={{
heading1: {color: 'red'},
link: {textDecorationLine: 'none', color: 'blue'},
ordered_list: {color: 'purple', fontSize: 24},
em: {textDecorationLine: 'underline', fontStyle: 'normal'},
}}>
{exampleMarkdown}
</Markdown>
Yöntem 2: rules Propunu Kullanarak Özelleştirme: Markdown komponentinin rules propunu kullanarak kendi özel render kurallarımızı tanımlayarak Markdown öğelerinin görünümünü özelleştirebiliriz.
Örnek:
import React from 'react';
import {
ImageBackground,
SafeAreaView,
ScrollView,
Text,
View,
} from 'react-native';
import Markdown, {RenderRules} from 'react-native-markdown-display';
const Background = require('./assets/Color1.jpg');
const App = () => {
const exampleMarkdown: any = `
### Heading 3 <h3>
>Block Quotes
Paragraph
`;
const renderRules: RenderRules = {
heading3: (node, children) => (
<View key={node.key} style={{backgroundColor: 'purple'}}>
<Text style={{color: 'white', fontStyle: 'italic', fontWeight: '900'}}>
{children}
</Text>
</View>
),
blockquote: (node, children, _parent, styles) => (
<View
key={node.key}
style={{
...styles._VIEW_SAFE_blockquote,
borderColor: '#5C9C5C',
marginTop: 16,
height: 162,
width: 300,
}}>
<ImageBackground
source={Background}
resizeMode="contain"
style={{width: '100%', height: '100%'}}>
<Text style={{color: 'white'}}>{children}</Text>
</ImageBackground>
</View>
),
paragraph: (node, children) => (
<Text
key={node.key}
style={{
textAlign: node.type === 'blockquote' ? 'left' : 'center',
marginVertical: 16,
}}>
{children}
</Text>
),
};
return (
<SafeAreaView>
<ScrollView contentInsetAdjustmentBehavior="automatic">
<Markdown rules={renderRules}>{exampleMarkdown}</Markdown>
</ScrollView>
</SafeAreaView>
);
}
export default App;
Bu şekilde projenize Markdown formatında metinler ekleyebilir, tasarımlarını özelleştirebilirsiniz.
Yararlı Linkler:
Author: Umutcan Gözegü
Agile çalışmanın esas amacı projeyi anlamlı en küçük parçalara bölerek sürekli ve kullanılabilir çıktılar üretmektir. Ancak günümüzde bazen bu yaklaşım, sürekli değişen taleplere uyum sağlama ihtiyacı olarak algılanabilir. Böyle bir durum, netleşmeyen isteklerin döngüsüne yol açabilir. Ayrıca, var olan isteklere ek olarak yeni isteklerin gelmesi de sıkça karşılaşılan bir durumdur.
İş Analistinin Rolü
Bir iş analistinin temel görevleri arasında projelerin takibini yapmak ve istekleri netleştirmek bulunmaktadır. Projeyi başarılı bir şekilde takip edebilmek için:
· Projenin detaylı planı, paydaşları ve efor çalışmaları hakkında bilgi edinmek gerekir.
· Eğer bu bilgiler daha önce oluşturulmuşsa, bu detayları talep etmek önemlidir.
· Proje başlangıcında gerçekleştirilen kick-off toplantısında proje planı üzerinden detaylı bir şekilde geçilmeli ve tüm proje paydaşları ile tanışılmalıdır.
Etkin İletişim ve Proje Takibi
Projede karşılaşılabilecek olası düzensizlikleri önlemek için:
· Takımın topluca iletişime geçebileceği kanallar üzerinden gruplar oluşturulmalıdır.
· Agile ritüellere uyulmalıdır.
· İşler proje planına göre önceliklendirilmeli ve her süreç eforlara göre takip edilmelidir.
· Yaşanan olumsuzluklar, plana etki ediyorsa zamanında gündeme getirilmeli, bu konudaki bilgiler paylaşılmalı ve çözüm yolları tüm ekiple paylaşılmalıdır.
Planlama ve Takip

Proje planının etkin bir şekilde yürütülmesi, hem geliştirme sürecinin sağlıklı ilerlemesini hem de çıktının kalitesini doğrudan etkiler. Bu nedenle:
· Proje planı her zaman güncel ve erişilebilir olmalıdır.
· Plan, süreçteki olumsuzluklar veya yeni gelen talepler doğrultusunda güncellenmeli, tüm ekiple paylaşılmalı ve müşteri/iş biriminin onayı alınmalıdır.
· Her yeni talep için gereken eforlar belirlenerek plana eklenmelidir.
Sonuç
Proje geliştirme, takım işidir. Bir takımda müşteri ve iş birimi de vardır ve bu takımın en güçlü dayanağı güvendir. Etkin, güncel ve şeffaf bir proje planı, bu güvenin temel taşlarından biridir. Etkin planlama, takım oyununun merkezine yerleştirilmelidir.
Author: Zehra Saygı
Photo: Final match of the 1575 tournament in El Escorial. Painting by Luigi Mussini.
Nedir bu Gens Una Sumus? — FIDE’nin (Fédération Internationale des Échecs) -Dünya Satranç Federasyonu- satranç için kullandığı, basit görünen ama altında derin anlamlar taşıyan bir mottosudur. Türkçe tercümesi ise ‘’Biz bir aileyiz’’
Çünkü satranç ortak paydasında buluşanlar bilirler ki dil,din,ırk fark etmeksizin hepimizin konuştuğu sessiz bir dil, ortak bir paylaşım enstrümanıdır satranç.
22 sene önce orta okulda matematik öğretmenimin önerisi ile tanıştığım satranç, normal hayatımda olduğu kadar iş hayatımda da birçok durumda eşsiz bir usta, bir danışman, bir yaşam koçu, bir guru olarak desteğini üzerimde hissettiriyor.
O zamanlar satranç tahtasındaki siyah ve beyaz karelerin büyüsüne kapılan küçük ben aslında zamanla dualitenin hayatımızdaki yerini ve önemini öğrenmeye başlamıştım. Ama şimdilik bunu başka bir yazının konusu yapalım ve gelin bu benzersiz oyununun kurumsal hayatımıza nasıl eşlik edebileceğini konuşalım.
Bildiğiniz üzere iş dünyası, sürekli değişen dinamikleri, rekabeti ve karmaşıklığı ile bilinir. Her geçen gün ise bu durum daha karmaşık ve rekabetçi bir hal almaktadır. Bu zorlu ortamda, iş hayatindaki profesyoneller herhangi bir avantajı kullanmak için önlerine çıkan tüm fırsatları değerlendirerek ellerinden geleni yapmaya çalışırlar. Ancak, bu avantajlar çoğunlukla beklenmedik yerlerde ve zamanlarda gelir. İşte tam da bu noktada, satranç oyununun iş hayatında bizlere sağladığı derin ve kapsamlı avantajları inceleyelim istiyorum.
Çünkü Satranç, sadece eğlenceli bir masa oyunu değil, aynı zamanda iş dünyasına farklı perspektifler sunan bir liderlik ve bilgelik okuludur.
Peki bu okulun müfredatında neler var?
1. Takım Ruhu
Satranç oyununda her taşın kendine ait bir görevi ve önemi vardır. Ancak tüm taşlar, tekil varlıklar olsalar da aslında bir bütünü oluştururlar. Bir vezir, Şah’ın hayatta kalması için diğer taşlara göre üstün gözükebilir ancak yeri gelir bir piyonun pozisyonu veya hamlesi ile oyun kazanılabilir. İş hayatında da daha çok bireysellikten öte takım ruhu ile hareket edenler kazanmaktadır. Birlik ve beraberlik duygusu projelerimizde bizi başarılı kılan en temel unsurdur.
2. Hatalardan Ders Çıkarma
Satranç, retrospektif deneyimlerimizden yola çıkarak bir sonraki oyunda aynı hataları yapmamızı engelleyen bir öğretmendir. İş hayatında da, zaman zaman yaptığımız hatalardan dersler alarak bu hataların tekrarlanmamasına yönelik gerekli tüm aksiyonları almak önemlidir. Satranç bu noktada oldukça usta bir öğreticidir.
3. Strateji ve Planlama Yetenekleri
Satranç, oyunculara karmaşık stratejiler oluşturma ve uzun vadeli planlama yetenekleri kazandırmakta yardımcı olur. Her hamle düşünülerek atılır, her seçenek özenle değerlendirilir. İş dünyasında da aynı titizlikle strateji oluşturmak ve uzun vadeli hedeflere ulaşmak kritik bir rol oynar. Satranç, bu becerileri geliştirmemize büyük katkıda bulunur.
4. Risk Yönetimi ve Özgüven
Satranç, oyuncuların riskleri öngörmelerini ve yönetmelerini gerektirir. Her hamle bir risk taşır ve bu riskleri dikkatle değerlendirmek, özgüven gerektirir. Bazen bir oyunda isteyerek kaybedilen önemli bir taş aslında oyunu kazanmamıza sebep olurken karşımızdaki oyuncuda hayranlık uyandıran bir hamle olarak yer eder. İş dünyasında da riskleri yönetmek ve kararlarımızın arkasında durmak önemlidir. Satranç, bu tip sanatsal hamlelerle özgüvenimizi artırarak bu alanda daha başarılı olmamıza yardımcı olur.
5. Karar Verme Yeteneği
Satranç, oyunculara hızlı ve mantıklı kararlar almanın önemini gösteren bir bilge gibidir. Her hamle, oyunun sonucunu etkileyebilir ve bu nedenle kararlar dikkatle düşünülerek alınmalıdır. İş dünyasında da hızlı kararlar almak, rekabet avantajı sağlama açısından oldukça önem taşır. Satranç, bu yeteneğimizi geliştirmemize yardımcı olur.

6. Problem Çözme ve Analitik Düşünme
Satranç, oyuncuların karmaşık sorunları çözme ve analitik düşünme yeteneklerini geliştirmelerine yardımcı olur. Rakip stratejilerini çözmek, hamleler arasındaki neden-sonuç ilişkilerini anlamak ve en iyi çözümleri bulmak için analitik zeka gerekir. Günümüz iş dünyasında da aynı beceriler, karmaşık sorunları çözmek ve verilere dayalı kararlar almak için hayati önem taşır. Satranç, bu açıdan mükemmel bir okuldur.
7. Konsantrasyon ve Sabır
Satranç, derin bir konsantrasyon ve sabır gerektirir. Bir oyun saatlerce sürebilir ve her hamle düşünülerek atılmalıdır. Aynı zamanda, beklenmedik durumların üstesinden gelmek ve sonucu beklemek, sabır ve disiplin gerektirir. İş dünyasında da konsantrasyonu sürdürmek ve uzun vadeli projeler üzerinde çalışmak sabır ve disiplin gerektirir. Satranç, bu anlamda gelişmemize katkı sağlayan bir sanat eseridir.
8. Liderlik ve İşbirliği Yetenekleri
Satranç, takım oyunları veya turnuvalar sırasında işbirliği ve liderlik becerilerimizi geliştirmemize olanak tanır. Oyuncular, stratejilerini diğerleriyle paylaşarak veya bir ekip olarak hareket ederek kazanma hedefini paylaşırlar. İş dünyasında da başarılı olmak için liderlik ve işbirliği yetenekleri kritik öneme sahiptir.
9. Kişisel Gelişim ve Zihinsel Sağlık
Satranç oynamak kişisel gelişimi teşvik eder ve zihinsel sağlığı iyileştirir. Bu oyun, zihinsel keskinliği artırır, öğrenmeye olan açıklığı artırır ve problem çözme yeteneklerini geliştirir. İş dünyasında bu tür bir kişisel gelişim, kariyerlerimizde ilerlerken önemli bir rol oynar.
10. Zaman Yönetimi
Satranç, sınırlı zaman içinde hızlı kararlar almayı gerektirir. İş dünyasında da hızlı kararlar almak ve zamanı etkili bir şekilde yönetmek önemlidir. Satranç, bu konuda en geliştirici öğretmenlerden bir tanesi olarak sahne almaktadır.

11. Uzun Vadeli Hedef Belirleme
Satranç, oyunculara uzun vadeli hedefler belirleme ve bu hedeflere nasıl ulaşacaklarını planlama becerisi kazandırır. İş dünyasında, uzun vadeli planlama ve hedef belirleme, başarıya giden yolu aydınlatan en önemli kaynaklardan biridir.
12. Empati ve Rakip Analizi
Satranç, oyuncuların rakip düşünce süreçlerini analiz etmeyi ve empati yapmayı öğretir. İş dünyasında da empati ve rakip analizi, rekabet avantajı sağlayarak bir adım önde olmamızı sağlar.
13. İnovasyon ve Yaratıcılık
Satranç, oyunculara yeni ve yaratıcı stratejiler geliştirme fırsatı sunar. Her bir oyun yeni bir ders kitabı gibidir. İş dünyasında da inovasyon ve yaratıcılık, rekabetçi bir avantaj sağlayarak rakiplerimizin önüne geçmemizi sağlar.
14. Değişime Uyum ve Esneklik
Satranç, beklenmedik durumlarla başa çıkmayı öğretir ve oyuncuları hızla değişen koşullara adapte olmaya teşvik eder. İş dünyasında değişime uyum ve esneklik bu zorlu hayatta kalabilmek için büyük önem taşır.
15. Disiplin ve Sistemli Düşünme
Satranç, oyunculara disiplinli ve sistemli düşünme alışkanlığı kazandırır. Her hamle düşünülerek atılmalı, kurallara uygun hareket edilmelidir. İş dünyasında da bu tür disiplin ve düzenli çalışma alışkanlıkları oldukça değerlidir.
16. Dikkat ve Odaklanma Yetenekleri
Satranç, dikkat ve odaklanma becerilerini artırır. Oyuncular, her hamleyi incelemek ve rakibin stratejilerini izlemek için yüksek konsantrasyona sahip olmalıdır. İş hayatında da işimizi iyi ve başarılı yapmak için dikkatli olmak bize avantaj sağlar.
17. Mücadeleci Ruh ve Azim
Satranç, oyunculara mücadeleci bir ruh ve azim duygusunu kazandırır. Satranç oyuncuları her zorluğa karşı direnmeyi öğrenirler. Bu kişisel özellikler de bizi iş hayatında öne geçiren önemli unsurlardandır.

Dönüp baktığınızda aslında satrancın bir oyundan daha fazlası olduğunu fark ettiniz değil mi?
Satranç, iş hayatında stratejik bir üstünlüğü temsil eder ve bu avantajı değerlendirenler için sınırsız fırsatlar sunar. Bu oyun, profesyonellerin iş dünyasında liderlik rollerini üstlenmeleri, problem çözmeleri, stratejik düşünmeleri, karar verme, problem çözme, konsantrasyon, sabır, işbirliği, risk yönetimi, özgüven, kişisel gelişim, zihinsel sağlık, zaman yönetimi, hedef belirleme, empati ve rakip analizi gibi temel iş becerilerini geliştirmek için kullanılabilecekleri güçlü bir araçtır. Her bir hamle, iş dünyasında başarı için büyük bir rol oynayabilir ve satranç oynamak, her açıdan gelişmemizi ve iş dünyasındaki performansımızı artırmamızı sağlar.
Başarılı bir iş kariyeri için, strateji tahtasındaki hamlelerinizin önemini asla küçümsemeyin.
Author: Ozan Çınarlı
2000’li yılların başından beri kullanılan ve Pandemi ile birlikte Dünya’daki popülerliği hızla artan BNPL, son yıllarda Türkiye’de de adını sıklıkla duyduğumuz bir ödeme yöntemi haline geldi.
Şimdi Al Sonra Öde anlamına gelen Buy Now Pay Later (BNPL) terimi isminden de anlaşılacağı gibi yapılan bir alışverişin ertelenerek yahut taksitlendirilerek daha sonra ödenmesine yönelik bir hizmet. Bu yazımızda, müşteri davranışları üzerinden BNPL hizmetinin tüketiciler için cazibesini inceliyor olacağız.
Alışık olduğumuz ödeme yöntemlerinin başında kredi kartları ve ihtiyaç kredi yer alıyor. BNPL ise varlığını Bankalardan ayrışan Finansman Şirketleri ile devam ettiriyor. Basitçe açıklamak gerekirse alışveriş kredisine karşılık gelen bu ödeme yöntemini kullanan şirketler, müşterilerine kredi kartı deneyimi yaşatıyor. Peki insanlar neden ihtiyaç kredisi çekmek veya kredi kartı ile ödeme yapmak yerine BNPL ile ödeme yapmayı tercih ediyor?
2022 Ağustos ayında Ipsos tarafından gerçekleştirilen Antikriz Raporu’ndan derlenen verilere göre Türkiye’de her 10 kişiden 7’sinin kullandığı bir kredi kartı var (1). Kredi kartları, yapılan alışverişler karşılığında sundukları para yerine geçen puanlar ve çeşitli markalarla yaptıkları iş birlikleriyle çekiciliğini korusa da düzenli olarak alışveriş yapmayan tüketiciler için yüklü bir alışveriş tutarı karşısında yetersiz kalıyor.
BNPL imkânı sunan finansman şirketleri; beyaz eşya, mobilya, sezonluk giyim alışverişleri gibi tek seferlik ve yüklü tutarlardaki alışverişler için Kredi Kartı limitini kalıcı olarak arttırmak istemeyen tüketiciler için makul fırsatlar sunuyor. Kısıtlı zaman ve belirli mesai saatlerinde çalışan tüketiciler, İhtiyaç Kredisi için Banka başvurularıyla uğraşmak yerine bu tip şirketlerin mobil uygulamalarına kimlik bilgileriyle giriş yaparak tamı tamına alışveriş tutarları kadar kredi çekebiliyor ve bunu çeşitli vade sayılarıyla taksitlendirebiliyor veya ödemeyi erteleyebiliyor. Kulağa çekici geliyor değil mi?
Bunun yanında, kredi ödemelerini sahip oldukları herhangi bir kredi kartıyla yaparak finansman şirketinin sunduğu erteleme seçeneklerine 1 ay daha ekleyebiliyorlar. Bu seçenek yalnızca yüklü alışverişlerde değil, önceliklendirilmesi gereken daha mütevazi tutarlar için de BNPL teklifini cazip hale getiriyor. Kredi kartında limit kalmaması durumunda BNPL yöntemi ile sonraki aya ertelenen alışveriş, bir sonraki ayın ekstresine dahil edilebiliyor.
Bu yöntem, acil durumlar ve yüklü tutarlardaki alışverişler dışında dönemsel harcamaları yıla yaymak için de sıklıkla kullanılabiliyor. Kış aylarında artan doğal gaz faturaları, tatil alışverişleri veya okul masrafları gibi dönemsel harcamalarını taksitlendiren tüketiciler, her ay ödeme yaparak yıllık bütçelerini daha dengeli bir şekilde kullanabiliyor.
BNPL teklifinden yararlanmanın diğer avantajı ise bu şirketlerin müşterilerine fiziksel bir kart oluşturmadığı ve para giriş çıkışına izin veren cari bir hesap sunmadığı için kredi kullanılırken kabul edilen teklif dışında herhangi bir ödeme veya kesinti olmayacağı garantisi. Giyim, teknoloji, beyaz eşya, enerji ve diğer pek çok sektörde yaygın olarak kullanılan BNPL teklifini sunan finansman şirketleri de Bankalar gibi BDDK (Bankacılık Düzenleme ve Denetleme Kurulu) tarafından düzenleme ve denetlemeye tabi. Bu da şirketlerin güvenilirliğini arttırıyor ve müşterilerine yasal olarak haklarının korunduğunun garantisini veriyor.
Taksit ve erteleme seçenekleri her ne kadar cazip olsa da ödemelerin birikmesi veya gecikmesi durumunda tüketicilerin ödeme güçlüğü yaşaması mümkün. Bu yüzden BNPL tekliflerinin de tıpkı kredi kartları ve ihtiyaç kredileri gibi dikkatli kullanılması gerekiyor.
Tüm bunlar göz önünde bulundurulduğunda BNPL teklifi sunan şirketlerin Türkiye’deki yükselişi hızla devam edecek gibi duruyor. Elbette bu sektörde müşteriye sunulan kullanım ve ödeme kolaylığı, tercihi büyük oranda etkiliyor. Bu durum da teknolojik altyapıyı sektöre yeni girecek ve varlığını koruyan şirketler için rekabetin en önemli unsuru haline getiriyor. Her geçen gün artan teknolojik olanaklar ve müşteri deneyimini geliştiren yöntemlerle Innovance, bu alandaki sektör liderlerine sunduğu hizmetle kanıtlanmış bir tecrübe ortaya koymakta.
Siz de popülerliği hızla artan BNPL pazarında yerinizi almak istiyorsanız ve bu yolculukta size eşlik edecek bir çözüm ortağına ihtiyacınız varsa Innovance yanınızda.
Kaynak: https://fintechistanbul.org/2022/09/12/arastirma-turkiyede-her-10-kisiden-7sinin-kredi-karti-var/
Author: Ekinsel Akça