Akın Kaldıroğlu Hocamızla Yaptığımız Röportaj
Bir yazılımcı olarak, şahıs şirketi kurarak yurtdışına remote olarak hizmet vermek.
Yurtdışına şahıs şirketi üzerinden remote iş yapıyorsanız :
- KDV ödemiyorsunuz,
- 6322 sayılı kanun gereği, gelirinizin %50'si üzerinden gelir vergisinden muafsınız.
- Örnek olarak 4000 Euro fatura kestiğinizde ve 400 Euro masrafınız olduğunu düşünürsek(Kira,ısınma,elektrik,yemek), 1800 Euro'su vergi muhafiyetine giriyor ve kalan 1800 Euro'nun yaklaşık %32'si ni gelir vergisi olarak ödüyorsunuz. Size kalan tutar 3000 Euro ve harcadığınız 400 Euro oluyor.
Yazılım Geliştiricileri İçin Yazılım Mimarlığı - Simon Brown
Yazılım mimarı olmak isteyen yazılım geliştiricileri için Simon Brown tarafından yazılmış kitap. Dili sade ve akıcı.
Yazarın visualising software architecture kitabı da mevcut fakat ilk kitap benim için yeterli oldu.
Kitaptan alıntılar :
"Teknik liderlik, bir rütbe değil bir roldür."
"Most of the best software architects I know have a software development background, but for some reason many organisations don’t see this as a part of the software architecture role. Being a “hands-on software architect” doesn’t necessarily mean that you need to get involved in the day-to-day coding tasks, but it does mean that you’re continuously engaged in the delivery, actively helping to lead and shape it. Having said that, why shouldn’t the day-to-day coding activities be a part of the software architecture role?
Many software architects are master builders, so it makes sense to keep those skills up to date. In addition, coding provides a way for the architect(s) to share the software development experience with the rest of the team, which in turn helps them better understand how the architecture is viewed from a development perspective. Many companies have policies that prevent software architects from engaging in coding activities because their architects are “too valuable to undertake commodity coding work”. Clearly this is the wrong attitude. Why let your software architects put all that effort into designing software if you’re not going to let them contribute to its successful delivery?
Of course, there are situations where it’s not practical to get involved at the code level. For example, a large project generally means a bigger “big picture” to take care of and there may be times when you just don’t have the time for coding. But, generally speaking, a software architect who codes is a more effective and happier architect. You shouldn’t necessarily rule out coding just because “you’re an architect”."
https://leanpub.com/software-architecture-for-developers
Akıllı Şehirler Bugün Daha İyi Bir İş Yaklaşımına Nasıl Yardımcı Oluyor? - smartcity.press çevirisi
Eski iş dünyasının geleceğine her zaman konum ve coğrafya karar verdi. İşletmeler için mükemmel coğrafyanın yanı sıra, bir şehir, vatandaşların ve işletmelerin verimli çalışmasına ve sağlam ve sürdürülebilir bir büyüme sergilemesine yardımcı olan teknolojiyi uygulamaya ve daha iyi bir yarın için kendini hazırlamaya başladığında, akıllı bir şehir haline gelir.
Akıllı bir şehir, işletmelerin ve vatandaşların rahat bir çalışma ortamına erişmelerine yardımcı olur ve bu da daha iyi bir yarın için yaşamları değiştirmeye yol açar. Akıllı şehirler, bilim ve yaşam tarzını gelişimin merkezinde tutarak kavramsallaştırılır.
Akıllı şehirler için altyapı yatırımının önümüzdeki yirmi yılda kümülatif olarak 40 trilyon dolar olacağı tahmin ediliyor. Bu yatırım, yaklaşık 40 küresel şehri akıllı şehirler haline getirecek.
Bir şehri 'akıllı' yapan nedir!
Akıllı şehirler dört sütun üzerine kuruludur: operasyonlar, altyapı, insanlar ve teknoloji. Dördüncü sütun olan teknoloji, zeka ile aşılanmıştır. Daha da önemlisi, sütunlar, kaynakların kullanılabilirliğini ve sürdürülebilirliğini sağlamak için entegre ve birbirine bağlı bir şekilde çalışır.
Örneğin, akıllı bir şehrin güç dağıtım sistemi, yerel güç talep kalıpları, şebeke tedarik varyasyonları ve en iyi üretim ve tüketimi sağlayan iyi organize edilmiş bir işletim ve dağıtım süreci ile entegre olan akıllı şebekelere dayanabilir.
Elektrik sağlayıcı, üretim, tüketim ve depolama için üretilen verileri kullanarak, ne kadar elektrik tedarik edilmesi gerektiğini tahmin edebilir. Dağıtım bölgeleri oluşturabilir, tüketim modelini analiz edebilir ve buna göre depolayabilirler.
Peki işletmeler akıllı şehirlerden nasıl faydalanıyor?
İşletmeler yalnızca akıllı bir şehrin temel gelişiminin yarattığı gelirden faydalanmakla kalmaz; teknoloji ve gelişmiş tahmine dayalı analiz kullanımı ile faydalar katlanarak artar. İşletmelerin akıllı şehirlerden elde ettiği bazı önemli avantajlara bir göz atalım.
Artan Sürdürülebilirlik
Nüfus artışının hızla arttığı bir dünyada, sürdürülebilirlik akıllı şehirlerin gelişiminin merkezinde yer alıyor. Bir şehrin mevcut kaynaklarının çevre üzerinde önemli bir etkisi vardır ve akıllı bir şehir her zaman bunu azaltmayı ve sıfır karbon ayak izine yaklaşmayı amaçlar.
Bu nedenle, akıllı bir şehir geliştirmek, şehrin karşılaştığı zorluklara her zaman sürdürülebilir çözümler aramak anlamına gelir.
Akıllı bir şehirde faaliyet gösteren bir işletme bu sürdürülebilir modele uymalıdır. Bu, esas olarak, atıkların sorumlu bir şekilde bertaraf edilmesi, enerji tasarrufuna daha fazla odaklanma, çalışanlara etik muamele yöntemlerine odaklanma ve teknik ve doğal kaynakların daha iyi kullanılması gibi zorluklara sürdürülebilir bir yaklaşım anlamına gelir.
Neilson tarafından 2015 yılında yürütülen bir araştırma, şirketin olumlu sosyal ve çevresel değişikliklere ciddi şekilde bağlı olması durumunda, katılımcıların %66'sının bir ürün veya hizmet için daha fazla ödemeye istekli olduğunu gösterdi. Müşterilerin sürdürülebilirlik talebi bugün artıyor, bu nedenle akıllı şehir modelinde faaliyet gösteren işletmeler, iyileştirilmiş müşteri ilişkileri ve bunun sonucunda artan karlar gözlemliyor.
İnovasyonu Sürdürmek
Yaşam Standartlarını İyileştirmek İçin Akıllı Şehirlerde İş İnovasyonu
Akıllı bir şehrin en sürdürülebilir, verimli ve etkili halinde kalması için, stratejiler ve teknolojiler sürekli iyileştirme görmeli ve zamanında güncellemelere sahip olmalıdır.
Teknolojinin gelişimini ve daha iyi çalışma koşulları sağlama yeteneğini yönlendiren güç, inovasyondur.
Evlerin ve işyerlerinin, herkes için hayatı kolaylaştıran Nesnelerin İnterneti cihazlarıyla donatıldığını şimdiden görebiliyoruz. Bu, teknolojik bağımlılık için artan talebe yanıt verir. Teknolojideki gelişmelerle, işletmelerin erişimi ve büyümesi kesin bir artış görüyor.
Küresel ve Yerel Ekonomide Artış
Akıllı şehirlere değer katmak için yaratılan teknolojik gelişmeler ve girişimler, şüphesiz ekonomiye büyük katkı sağlayacaktır.
İşletmeler ayrıca, akıllı şehirlerde kullanılan cihaz ve ekipmanlar tarafından toplanan verilerden yararlanarak hedef demografik alanı daha iyi anlamalarına ve daha iyi hizmetler sunmalarına yardımcı olacak.
Örneğin, Transport for London (TFL), verilerini City Mapper'a (bir ulaşım yardımcı programı uygulaması) sağlar. Bu, yolcuların Londra şehri boyunca en hızlı rotayı bulmasını kolaylaştırır.
Londra'nın turizm endüstrisi, City Mapper kullanımıyla toplu taşıma kullanımında önemli bir artış kaydetti. Navigant tarafından yapılan bir araştırmaya göre, akıllı hizmetler ve çözümler için küresel pazarın 2026 yılına kadar 40,1 milyar dolardan 97,9 dolara büyük bir büyüme göstermesi bekleniyor.
Gelişmiş Yönetim
Bugünün vatandaşları günlük yaşamlarını sağlam, kullanıcı dostu dijital çözümlere dayandırmayı bekliyor. İşbirliği araçları, modern bilişsel web siteleri, self servis portallar, mobil uygulamalar ve kullanışlı çevrimiçi bankacılık hayatın birçok alanında bir standart haline geldi ve akıllı vatandaşlar bir şehirden bundan daha azını beklemiyor. Dijital hizmetleri topluluklara genişletmek, şehirleri daha akıllı hale getirir ve işletmeler için giderek daha fazla fırsat sunar.
Akıllı yönetişimin parlak bir örneğine bir göz atalım. Hindistan hükümeti, 2016 yılında Birleşik Ödemeler Arayüzü (UPI) adlı bir hizmet başlattı. UPI, nakitsiz bir ödeme yöntemidir. Hindistan Merkez Bankası, tüm bankaların, geçerli bir banka hesabı olan ve çevrimiçi ödemeler için daha iyi bir güvenlik ölçümü sağlayan Müşterini Tanı (KYC) sürecini tamamlayan herhangi bir Hint vatandaşına UPI hizmetleri sunmaya başlaması için bir yetki verdi.
Yüzlerce yıldır bu mirası sürdürmekte olan inanılmaz derecede eski bir ekonomide bu ani geçişe ne gerek vardı? UPI, hükümet tarafından bir gecede açıklanan tedavülden kaldırmanın bir sonucuydu.
Bu ani hareket, kara paranın banka hesaplarına yatırılmasını zorunlu kılmaktı, böylece hükümet bu hesaptan ödenmesi gereken vergiyi alacak ve paralel ekonomiye tasma takacaktı. Peki, bu hareket iş dünyasına nasıl yardımcı oldu? UPI, her bir banka hesabının artık dijital olmasını sağladı.
Böyle bir hareketle, en küçük esnaf artık yüzlerce UPI özellikli mobil uygulama kullanarak para kabul edebildi. Bu, milyonlarca esnaf için daha fazla işlem ve daha fazla iş anlamına geliyordu. Bu hareket, Hindistan'da iş yapma şeklini sonsuza dek değiştirdi.
Yeni Ekonomik Kalkınma Fırsatları
Yatırımcılar artık paralarını akıllı şehirlerin gelişimine yatırmak istiyorlar. Sebep? Basit – daha iyi getiriler. Bu oluyor çünkü akıllı şehirlerin sunduğu konfor, lüks ve kolaylık, ev satın alan veya iş kurmak isteyen biri için en iyi değer olduğunu kanıtlıyor.
Akıllı şehir yatırımları, yeni sakinleri, işletmeleri ve fırsatları cezbetmek için şehirlerin bölgesel ve küresel rekabet gücünü artırmada hayati bir rol oynuyor. Dahası, işletmelerin verilerine güvenli bir ortamda erişim sağlayan akıllı şehirler, sonunda işletmelerin daha akıllı kararlar almasına yardımcı oluyor.
Artan İş Gücü Katılımı
'İnsan kaynağı en iyi kaynaktır' - dedikleri gibi! Yüksek verimli bir iş gücü, herhangi bir işletme için önemli bir faktördür. Akıllı teknolojilerin kullanılması, herhangi bir şehir profesyonelini rahatsız eden manuel iş yükünün azaltılmasına yardımcı olur.
Teknik yükselme, şehir çalışanlarının iş/kişisel yaşamlarının daha az önemli yönü hakkında endişelenmeden doğru yöne gitmelerini sağlar. Günümüzde gadget'lar o kadar yeteneklidir ki, günlük işlemlerin çoğunu halledebilirler.
Bir şehirde bu tür teknoloji ve tesisler mevcut olduğunda, değerli ve zeki insanlar bu şehirlere taşınmaya başlar ve şehrin teknik olanaklarına uygun organizasyonlara katılırlar. İşletmeler bu mega düşünürlerden ve verimli çalışanlardan yararlanır.
Akıllı şehirler, akıllı bölgeler yaratır ve akıllı ulusların oluşmasına öncülük eder. Yaşam kolaylığı, ekonomideki canlanma ve çalışma ortamının canlanması, günümüzde her modern işletmenin arzusudur. Bir işi akıllı şehre taşımak artık bir hayal değil; Etrafına bak, zaten oluyor.
Birleşmiş Milletler Sürdürülebilir 2030 Kalkınma Hedefleri (SKH)
- Yoksulluğu tüm biçimleriyle her yerde sonlandırın.
- Açlığı sonlandırın, gıda güvenliğini ve gelişmiş beslenmeyi sağlayın ve sürdürülebilir tarımı teşvik edin.
- Sağlıklı yaşamlar sağlayın ve her yaştan herkes için refahı teşvik edin.
- Kapsayıcı ve eşitlikçi kaliteli eğitim sağlayın ve herkes için yaşam boyu öğrenme fırsatlarını teşvik edin.
- Cinsiyet eşitliğini sağlayın ve tüm kadınları ve kızları güçlendirin.
- Herkes için su ve sanitasyonun mevcudiyetini ve sürdürülebilir yönetimini sağlayın.
- Herkes için uygun fiyatlı, güvenilir, sürdürülebilir ve modern enerjiye erişim sağlayın.
- Herkes için sürdürülebilir, kapsayıcı ve sürdürülebilir ekonomik büyümeyi, tam ve üretken istihdamı ve insana yakışır işi teşvik edin.
- Dayanıklı altyapı oluşturun, kapsayıcı ve sürdürülebilir sanayileşmeyi teşvik edin ve yeniliği teşvik edin.
- Ülkeler içinde ve arasında eşitsizliği azaltın.
- Şehirleri ve insan yerleşimlerini kapsayıcı, güvenli, dayanıklı ve sürdürülebilir hale getirin.
- Sürdürülebilir tüketim ve üretim kalıpları sağlayın.
- İklim değişikliği ve etkileriyle mücadele etmek için acilen harekete geçin.
- Sürdürülebilir kalkınma için okyanusları, denizleri ve deniz kaynaklarını koruyun ve sürdürülebilir şekilde kullanın.
- Karasal ekosistemlerin sürdürülebilir kullanımını koruyun, restore edin ve teşvik edin, ormanları sürdürülebilir bir şekilde yönetin, çölleşmeyle mücadele edin ve arazi bozulmasını durdurun ve tersine çevirin ve biyolojik çeşitlilik kaybını durdurun.
- Sürdürülebilir kalkınma için barışçıl ve kapsayıcı toplumları teşvik edin, herkes için adalete erişim sağlayın ve her düzeyde etkili, hesap verebilir ve kapsayıcı kurumlar inşa edin.
- Sürdürülebilir kalkınma için uygulama araçlarını güçlendirin ve küresel ortaklığı canlandırın.
SOLID Prensipleri -The Liskov Substitution Principle - Uncle Bob Çevirisi
Seri'nin diğer yazıları :
The Single Responsibility Principle
Open Closed Principle
3- The Liskov Substitution Principle
Burada istenen şu ikame özelliğine benzer bir şeydir: S tipindeki her bir o1 nesnesi için T tipinde bir O2 nesnesi varsa, T olarak tanımlanan tüm P programları için, o1 o2 yerine ikame edildiğinde P'nin davranışı değişmiyorsa, o zaman S, T'nin bir alt tipidir.
Bu ilkenin önemi, ihlal etmenin sonuçlarını düşündüğünüzde belirginleşir. LSP'ye uymayan bir metod varsa, bu metod bir temel sınıfa bir işaretçi veya başvuru kullanır, ancak bu temel sınıfın tüm alt sınıflarını bilmelidir. Böyle bir işlev Açık-Kapalı ilkesini ihlal eder, çünkü temel sınıfın yeni bir alt sınıfı oluşturulduğunda değiştirilmesi gerekir.
void DrawShape(const Shape& s) { if (typeid(s) == typeid(Square)) DrawSquare(static_cast < square > (s)); else if (typeid(s) == typeid(Circle)) DrawCircle(static_cast < circle > (s)); }
[Not: static_cast yeni cast operatörlerinden biridir. Bu örnekte normal bir cast gibi çalışır. yani DrawSquare ((Square &) s); Bununla birlikte, yeni sözdiziminin kullanımı daha güvenli ve grep gibi araçlarla bulunması daha katı kurallara sahiptir. Bu nedenle tercih edilir.]
Açıkçası DrawShape metodu kötü bir şekilde oluşturulmuştur. Shape sınıfının her olası alt sınıfı bilmeli ve yeni Shape alt sınıfları her oluşturulduğunda değiştirilmelidir. Gerçekten de birçoğu bu metodun yapısını Nesneye Dayalı Tasarıma lanetli olarak görmektedir.
Kare ve Dikdörtgen, Daha İnce Bir İhlal.
class Rectangle { public: void SetWidth(double w) {itsWidth=w;} void SetHeight(double h) {itsHeight=w;} double GetHeight() const {return itsHeight;} double GetWidth() const {return itsWidth;} private: double itsWidth; double itsHeight; };
void Square::SetWidth(double w) { Rectangle::SetWidth(w); Rectangle::SetHeight(w); } void Square::SetHeight(double h) { Rectangle::SetHeight(h); Rectangle::SetWidth(h); }
Square s; s.SetWidth(1); // Fortunately sets the height to 1 too. s,SetHeight(2); // sets width and heigt to 2, good thing. Ama aşağıdaki fonksiyonu bir düşünün void f(Rectangle r) { r.SetWidth(32); // calls Rectangle::SetWidth }
class Rectangle { public: virtual void SetWidth(double w) {itsWidth=w;} virtual void SetHeight(double h) {itsHeight=h;} double GetHeight() const {return itsHeight;} double GetWidth() const {return itsWidth;} private: double itsHeight; double itsWidth; }; class Square : public Rectangle { public: virtual void SetWidth(double w); virtual void SetHeight(double h); }; void Square::SetWidth(double w) { Rectangle::SetWidth(w); Rectangle::SetHeight(w); } void Square::SetHeight(double h) { Rectangle::SetHeight(h); Rectangle::SetWidth(h); }
void g(Rectangle& r) { r.SetWidth(5); r.SetHeight(4); assert(r.GetWidth() * r.GetHeight()) == 20); }
Geçerlilik İçsel Değildir
Ne yanlış gitti?
Sözleşmeye Göre Tasarım (Design By Contract)
Açık-Kapalı prensibi, OOD için yapılan iddiaların çoğunun kalbinde yer alır. Bu ilke yürürlükte olduğunda, uygulamalar daha sürdürülebilir, tekrar kullanılabilir ve sağlamdır. Liskov İkame İlkesi (Diğer adıyla Sözleşmeli Tasarım (Design by Contract)), Açık-Kapalı prensibine uyan tüm programların önemli bir özelliğidir. Sadece alt sınıflar temel tipleri için tamamen ikame edildiğinde, bu temel sınıfları kullanan metodlar cezasızlıkla yeniden kullanılabilir ve alt tipler cezasızlıkla değiştirilebilir.
Learn English with Alex
Sonra Alex ile tanıştım. 2 ay boyunca 40 akademik saat ders yaptık.
Kendisi az Türkçe biliyor. Hemen hemen hiç Türkçe konuşmadık.
Her konuda konuştuk, bolca pratik yaptık. Her ders öncesi Extra English sitcom dizisinden bir bölüm izleyip kendisine reported speech yaptım. Ayrıca bir ödevim de McMillian'ın Destination B1 Grammar & Vocabulary kitabından bir ünite bitirmekti. Bir dönem IELTS Academic sınavına da hazırladı beni, fakat çok vakit bulamadığımdan bunu ileri bir tarihe erteledik.
Genel olarak İngilizcem farkedilir derecede iyileşti. Konuşurken özgüvenim arttı ve iyi bir arkadaş edinmiş oldum.
Kendisi anne tarafından İngiliz, baba tarafından Rus ve eşi Türk. Hindistan'da eğitim görmüş. Yani birçok kültürden sizinle sohbet etmek için tecrübesi var.
Siz de kendisinden ders almak isterseniz, bu grup dersi de olabilir, kendisine aşağıdaki numaradan ulaşabilirsiniz.
530 238 71 17