<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Berkay AKÇAY</title>
    <description>The latest articles on DEV Community by Berkay AKÇAY (@berkayakcay).</description>
    <link>https://dev.to/berkayakcay</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F229691%2F3b9b9ac9-bc88-4477-9f9f-44887ad0a97a.jpeg</url>
      <title>DEV Community: Berkay AKÇAY</title>
      <link>https://dev.to/berkayakcay</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/berkayakcay"/>
    <language>en</language>
    <item>
      <title>Docker Üzerinde Çalışan Dotnet Uygulamasının Build Süreçlerini Hızlandırmak</title>
      <dc:creator>Berkay AKÇAY</dc:creator>
      <pubDate>Mon, 13 Jul 2020 16:41:26 +0000</pubDate>
      <link>https://dev.to/berkayakcay/docker-uzerinde-calisan-dotnet-uygulamasinin-build-sureclerini-hizlandirmak-1po5</link>
      <guid>https://dev.to/berkayakcay/docker-uzerinde-calisan-dotnet-uygulamasinin-build-sureclerini-hizlandirmak-1po5</guid>
      <description>&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--jhzE9aT4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2A9abYdEvIHGKJ-cQIiH9q3A.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--jhzE9aT4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2A9abYdEvIHGKJ-cQIiH9q3A.jpeg" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Dockerfile’ları düzenleyerek daha hızlı build işlemi nasıl gerçekleştirebiliriz?
&lt;/h4&gt;

&lt;h3&gt;
  
  
  İçerik
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Özsöz&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Problemin Tanımı&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Docker Build Anında Çalışan Cache Nedir ve Nasıl Yararlanacağız?&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Dotnet Uygulamasına Ait Dockerfile’ları Nasıl Yapılandırılabiliriz?&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Dotnet Uygulamasına Ait Örnek Dockerfile&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Use Case : Uygulamanın Docker İçerisinde Harici Başka Bir Uygulamaya veya Dış Kaynağa İhtiyaç Duyması&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Önsöz
&lt;/h3&gt;

&lt;p&gt;Bu yazı dotnet özelinde detaylar içermektedir fakat dotnet haricinde uygulama geliştirenlerde faydalanabilir. Derinlemesine incelenmesi gereken kaynakların bağlantılarını ve anahtar kelimelerini yazı içerisinde bulabilirsiniz. Aklınıza takılan sorular, eklemek veya düzeltmek istediğiniz yerler olursa bana paylaştığım &lt;a href="https://github.com./berkayakcay"&gt;iletişim kanallarından&lt;/a&gt; ulaşabilirsiniz.&lt;/p&gt;

&lt;h3&gt;
  
  
  Problemin Tanımı
&lt;/h3&gt;

&lt;p&gt;En basitinden bir CI (Continuous Integration) pipeline’nına sahip olduğunuzu veya local olarak docker ile çalıştığınızı, build olan bir docker compose file’ımız olduğunu düşünelim.&lt;br&gt;&lt;br&gt;
&lt;a href="https://docs.docker.com/compose/"&gt;&lt;em&gt;docker-compose&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Çok fazla Dockerfile üzerinden imajlar oluştuğu için her seferinde bu imajların oluşmasını beklemeniz gerekmektedir. Bu süreci hızlandırmak için neler yapılmalıdır?&lt;/p&gt;

&lt;p&gt;Yazıya devam etmeden önce Dockerfile içerisinde kullanılan Instruction’ları (komut) hatırlamak ve üzerinden geçmek için orijinal kaynağına bakabilir..&lt;/p&gt;

&lt;p&gt;&lt;a href="https://docs.docker.com/engine/reference/builder/"&gt;Dockerfile reference&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;.. veya &lt;a href="https://medium.com/u/9c61d8e925a7"&gt;Gökhan Şengün&lt;/a&gt;’ün yazısından Türkçe olarak okuyabilirsiniz.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://gokhansengun.com/docker-yeni-image-hazirlama/"&gt;Docker Bölüm 2: Yeni bir Docker Image'ı Nasıl Hazırlanır?&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  Docker Build Anında Çalışan Cache Nedir ve Nasıl Yaralanacağız?
&lt;/h3&gt;

&lt;p&gt;Kısaca docker build cache, build işlemini esnasında imaj içerisinde değişikliğe sebep olacak ADD, RUN vb. komutlardan sonra kontrollerini gerçekleştirip farklılıkları hesaplaması yapılan işlemden sonra oluşan aşamayı daha sonra kullanmak üzere saklamasıdır.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Docker build cache doğru kullanıldığı zaman bize hız ve disk alanı kazandırır&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Problemimizin çözümü için bizler bu cache yapısını mümkün olan en iyi şekilde kullanmaya çalışacağız.&lt;/p&gt;
&lt;h3&gt;
  
  
  &lt;strong&gt;Dotnet Uygulamasına Ait Dockerfile’ları Nasıl Yapılandırılabiliriz?&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Dockerfile’ı karışımıza alıp build ederken sürekli değişmeyecek parçaları ayırmak.&lt;/li&gt;
&lt;li&gt;Mümkün olduğun kadar tüm değişmez stepler ile bir base imaj oluşturmak ve bu base imajları kullanmak.&lt;/li&gt;
&lt;li&gt;Değişken olan parçalar için değişme ihtimalinin sıklığına göre artan şekilde sıralamak.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--3HDlKc81--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/371/1%2AxszkZFCAl-93nWr3XwF2jg.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--3HDlKc81--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/371/1%2AxszkZFCAl-93nWr3XwF2jg.jpeg" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Bir örnek vermek gerekir ise Dockerfile’ınız içerisinde sürekli olarak wget/apt-get ile çekip context’e eklediğini bir dosya veya kütüphane olduğunu düşünün.&lt;/p&gt;

&lt;p&gt;Aşağıda SUPERVISORD’yi eklediğimiz base imajın içerisindeki layer oluşturacak bir komutun ekran görüntüsünü paylaşıyorum. Her imaj içerisinde ihtiyacımız olan bu harici uygulamayı içeren bir base imaj yarattık ve bunu kullanmaya başladık bu sayede sık değişmeyen bir step’i daha yukarı taşımış olduk.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--YAPcjK1J--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/804/1%2ACKnu_5xKxkWq-5w-aM4sQQ.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--YAPcjK1J--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/804/1%2ACKnu_5xKxkWq-5w-aM4sQQ.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Konuya hızlı bir giriş yapmak için başta Multi-stage buildler ile alakalı &lt;a href="https://medium.com/u/2cac56571879"&gt;Ahmet Alp Balkan&lt;/a&gt;’ın &lt;a href="https://youtu.be/FQS1p88Q0q8"&gt;youtube&lt;/a&gt; videosunu ve diğer docker videolarını tavsiye ederim.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3&gt;
  
  
  Dotnet Uygulamasına Ait Dockerfile
&lt;/h3&gt;

&lt;p&gt;Lütfen aşağıdaki Dockerfile’a bir göz atınız.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;COPY . .&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;olan kısma kadar &lt;strong&gt;*.sln&lt;/strong&gt; dosyamızı, var ise  &lt;strong&gt;.nugetconfig&lt;/strong&gt; ’lerimizi ve &lt;strong&gt;*.csproj&lt;/strong&gt; dosyalarımı context’e ekliyoruz ve ardından &lt;strong&gt;dotnet restore&lt;/strong&gt; komutumuzu çalıştırıyoruz.&lt;/p&gt;

&lt;p&gt;Solution içerisinde aynı stepleri gerçekleştirecek bir çok Dockerfile’ınızı compose içerisinde build olması için tetikleyeceksiniz.&lt;/p&gt;

&lt;p&gt;Bir defa değişmeyen kısımları cache’leyen docker build sonrakiler için çok daha hızlı çalışacak.&lt;/p&gt;


&lt;div class="ltag_gist-liquid-tag"&gt;
  
&lt;/div&gt;


&lt;blockquote&gt;
&lt;p&gt;docker-compose build&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;komutu birden fazla kez çalıştırdığımızda bazı steplerin cache kullandığını aşağıdaki ekran görüntüsünde görebilirisiniz.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ZQUHDssr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2AYeS5vI3jOVNyBGaU06rMEg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ZQUHDssr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2AYeS5vI3jOVNyBGaU06rMEg.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Daha önce cache’e alınan bu stepler benzer bir katman oluştuğunda cache üzerinden çağırılarak kullanılır. Bu cache’ler build esnasında imajlar arasında ortak olarak kullanılırlar.&lt;/p&gt;

&lt;p&gt;Örneğin;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--K6szVD3N--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/642/1%2A_0fvZ7CekhWv2MPo_POcow.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--K6szVD3N--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/642/1%2A_0fvZ7CekhWv2MPo_POcow.png" alt=""&gt;&lt;/a&gt;&lt;em&gt;eShopOnContainers-ServicesAndWebApps.sln&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;dosyasını kopyalandığı komut daha önce çalıştırıldığı için Using cache ile tekrar aynı komutun çalışmasına gerek kalmadan işletilmektedir.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Use Case : Uygulamanın Docker İçerisinde Harici Başka Bir Uygulamaya veya Dış Kaynağa İhtiyaç Duyması&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Örneğin,&lt;br&gt;&lt;br&gt;
Dockerfile içerisinde ihtiyaçtan dolayı harici bir projeyi context’inize dahil etmeniz gerekirse belirli bir tag ile bu işlemi gerçekleştirmeniz sürekli aynı dosyaları almanızı sağlayacaktır.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;RUN git clone — branch  &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Yine benzer bir şekilde apt-get ve türevi bir paket yöneticisi ile bir paket kurar iken versiyon belirtmeniz daha doğru olacaktır.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;apt-get install =&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Bu tarz ihtiyaçlarınızı toparlayarak bir base imaj yaratmak ve kendi privite/public registry’leriniz üzerinde yayınlayıp oradan kullanmak daha faydalı olacaktır.&lt;/p&gt;

&lt;p&gt;Örneğin sürekli ihtiyacımız olduğu için aşağıdaki gibi bir base imaj oluşturup etiketleyerek registry üzerine gönderdiğimiz bir imajımız bulunmaktadır.&lt;/p&gt;


&lt;div class="ltag_gist-liquid-tag"&gt;
  
&lt;/div&gt;


&lt;p&gt;İstediğiniz zaman benimle iletişime geçebilirsiniz. Tanışmak, ve fikir alışverişinde bulunmaktan memnuniyet duyarım.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://twitter.com/brehpoint"&gt;Twitter&lt;/a&gt; — &lt;a href="https://medium.com/@brehpoint"&gt;Medium&lt;/a&gt; — &lt;a href="https://dev.to/berkayakcay"&gt;Dev.to&lt;/a&gt; — &lt;a href="https://www.linkedin.com/in/berkayakcay"&gt;Linkedin&lt;/a&gt; — &lt;a href="https://github.com/berkayakcay"&gt;Github&lt;/a&gt;&lt;/p&gt;

</description>
      <category>optimization</category>
      <category>dotnet</category>
      <category>docker</category>
      <category>performance</category>
    </item>
    <item>
      <title>IntelliJ IDEA, Rider IDE Kısayollarına Hakim Olmanın Kısayolunun Kısa Anlatımı</title>
      <dc:creator>Berkay AKÇAY</dc:creator>
      <pubDate>Mon, 04 May 2020 19:51:49 +0000</pubDate>
      <link>https://dev.to/berkayakcay/intellij-idea-rider-ide-kisayollarina-hakim-olmanin-kisayolunun-kisa-anlatimi-1ndf</link>
      <guid>https://dev.to/berkayakcay/intellij-idea-rider-ide-kisayollarina-hakim-olmanin-kisayolunun-kisa-anlatimi-1ndf</guid>
      <description>&lt;p&gt;Başlık her şeyi tanımladığı için çok uzatmadan direkt konuya gireceğim. Her zaman yazılımcılar için önerilen bir davranış biçimi olan kısayol kullanımını arttırmanın tartışılmaz şekilde verimlilik yarattığını biliyoruz. Peki gün içerisinde kullandığınız IDE’lerin kısayollarını nasıl öğreniyorsunuz?&lt;/p&gt;

&lt;p&gt;Genellersek iki farklı tipte yaklaşıma ulaşabiliriz.  &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Kendi alıştığı temel kısa yolları aktif olarak kullandığı IDE’ye uyarlamak.
&lt;/li&gt;
&lt;li&gt;IDE’nin mevcut varsayılan olarak ayarlanmış kısa yollarını kullanmak.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Burada ikinci yöntemi seçen ve &lt;strong&gt;IntelliJ IDEA, Rider&lt;/strong&gt; kullanıcısı olanlar için bir önerim olacak.&lt;/p&gt;

&lt;h4&gt;
  
  
  Key Promoter X
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://plugins.jetbrains.com/plugin/9792-key-promoter-x"&gt;Key Promoter X - Plugins | JetBrains&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--lTfMN8Pp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2Avy7D3Ygo5cJdWJOv4IJPRw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--lTfMN8Pp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2Avy7D3Ygo5cJdWJOv4IJPRw.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Ne Yapar ve Ne İşe Yarar?
&lt;/h4&gt;

&lt;p&gt;UI üzerinde çalışır iken kullandığınız menülerin ve işlemlerin kısa yollarını size gösterir. Bu işlemi kısayol olmadan kaç defa yaptığınızın kaydını tutar. (hangi kısa yollar sizin için daha önemli)&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Ben bu sayede kullandığım kısa yolların ne kadar sığ olduğunu ve gün içerisinde daha fazla kullanabileceğim kısa yolların olduğunu keşfettim.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Ben Kendi Kısayollarımı Kullanırım Diyenlere Bir Öneri&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Bir düzen kurmaya çalışıyorsunuz ve kendi kısayollarınızı atıyorsunuz. Bu uğraş verdiğiniz kısayolları dışarı aktararak masanızda bulundurabilirsiniz.&lt;/p&gt;

&lt;p&gt;Eskiden (belki hala) kısa yolların cheat-sheet lerine ulaşıp çıktısını alarak masamda bulundururdum.&lt;/p&gt;

&lt;p&gt;Eğer siz de bu şekilde ayarladığınız kısa yolların çıktısını almak istiyorsunuz. Aşağıdaki eklentiyi kullanabilirsiniz.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://plugins.jetbrains.com/plugin/7066-keymap-exporter"&gt;Keymap exporter - Plugins | JetBrains&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Tüm Kısayollar
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://medium.com/media/d4b9a48ea698fb3f64a23257752109d2/href"&gt;&lt;/a&gt;&lt;a href="https://medium.com/media/d4b9a48ea698fb3f64a23257752109d2/href"&gt;https://medium.com/media/d4b9a48ea698fb3f64a23257752109d2/href&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Kısa yolların olduğu sayfaya aşağıdaki bağlantı ile ulaşabilirsiniz.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.jetbrains.com/help/rider/Reference_Keyboard_Shortcuts_Index.html"&gt;Keyboard shortcuts in predefined keymaps&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/QYO5_riePOQ"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.jetbrains.com/help/idea/mastering-keyboard-shortcuts.html"&gt;IntelliJ IDEA keyboard shortcuts&lt;/a&gt;&lt;/p&gt;

</description>
      <category>shortcuts</category>
      <category>productivity</category>
      <category>programming</category>
      <category>intellijidea</category>
    </item>
    <item>
      <title>MacOS Pratik Kalıcı Ortam Değişkeni Ekleme/Değiştirme Yöntemi</title>
      <dc:creator>Berkay AKÇAY</dc:creator>
      <pubDate>Sun, 29 Mar 2020 16:28:21 +0000</pubDate>
      <link>https://dev.to/berkayakcay/macos-pratik-kalici-ortam-degiskeni-ekleme-degistirme-yontemi-10k0</link>
      <guid>https://dev.to/berkayakcay/macos-pratik-kalici-ortam-degiskeni-ekleme-degistirme-yontemi-10k0</guid>
      <description>&lt;p&gt;MacOS üzerinde ortam değişkenlerini hızlı bir şekilde kullandığını bash’inize yansıtabileceğiniz &lt;strong&gt;kısa&lt;/strong&gt; ve &lt;strong&gt;basit&lt;/strong&gt; bir yöntemden bahsetmek istiyorum.&lt;/p&gt;

&lt;p&gt;home dizininize yada istediğiniz farklı bir dizine giderek .env isimli bir dosya açıyoruz.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;cd ~/&lt;br&gt;&lt;br&gt;
nano .env&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--IPqT99cu--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/640/1%2AF1Vxk-Plvth3qrc0xLS8OA.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--IPqT99cu--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/640/1%2AF1Vxk-Plvth3qrc0xLS8OA.jpeg" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Comment olarak &lt;strong&gt;#&lt;/strong&gt; karakteri ya da kendi belirlediğiniz farklı bir karakteri kullanabilirsiniz.&lt;br&gt;&lt;br&gt;
&lt;strong&gt;KEY=VALUE&lt;/strong&gt; şeklinde değişkenlerinizi tanımlıyoruz.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--fh0vgfFZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/640/1%2A22uvRrUUE5cA7FfYyN-jxA.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--fh0vgfFZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/640/1%2A22uvRrUUE5cA7FfYyN-jxA.jpeg" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Buradan sonra bu dosyayı okuyarak aktif bash imize export edecek bir komut çalıştırmamız gerekiyor. (# karakteri ile kendi belirlediğiniz karakteri değiştiriniz)&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;export $(egrep -v ‘^#’ ~/.env | xargs -0)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Aktif olarak bir terminal açtığınızda çalışaçak bu satırı kendi bash’iniz ayarlarına eklemeniz gerekiyor.&lt;br&gt;&lt;br&gt;
“~/.bashrc” , “~/.zshrc” etc…&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--wLFVkrkg--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/640/1%2A0zrpCNvf8wG51hVCyDfdEQ.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--wLFVkrkg--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/640/1%2A0zrpCNvf8wG51hVCyDfdEQ.jpeg" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--l7vYOgKx--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/639/1%2ArMjJPZJBguABanrdphCUVw.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--l7vYOgKx--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/639/1%2ArMjJPZJBguABanrdphCUVw.jpeg" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Yeni bir terminal ekranı çalıştırıyor ve &lt;strong&gt;printenv&lt;/strong&gt; komutunu veriyoruz.&lt;br&gt;&lt;br&gt;
Aşağıda gördüğünüz üzere  &lt;strong&gt;.env&lt;/strong&gt; dosyasında bulunan&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;USERNAME=berkayakcay&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;değişkeninin tanımlanmış olduğunu görüyoruz.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--wlSDGFcu--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/639/1%2A-22ituEqtDo6vqD9ytjeLg.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--wlSDGFcu--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/639/1%2A-22ituEqtDo6vqD9ytjeLg.jpeg" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--FoCHxBA1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/640/1%2AM28zqEzNdpEiQO_horHs1w.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--FoCHxBA1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/640/1%2AM28zqEzNdpEiQO_horHs1w.jpeg" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>mac</category>
      <category>macos</category>
      <category>linux</category>
      <category>unix</category>
    </item>
    <item>
      <title>Yazılım Sektöründe Uzaktan Çalışırken Edindiğim Bazı Deneyimler ve Tavsiyeler</title>
      <dc:creator>Berkay AKÇAY</dc:creator>
      <pubDate>Thu, 12 Mar 2020 06:31:53 +0000</pubDate>
      <link>https://dev.to/berkayakcay/yazilim-sektorunde-uzaktan-calisirken-edindigim-bazi-deneyimler-ve-tavsiyeler-49dl</link>
      <guid>https://dev.to/berkayakcay/yazilim-sektorunde-uzaktan-calisirken-edindigim-bazi-deneyimler-ve-tavsiyeler-49dl</guid>
      <description>&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--hFfoSjJ4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2AP2IplEGgK-03IWrxFy0udg.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--hFfoSjJ4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2AP2IplEGgK-03IWrxFy0udg.jpeg" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Merhaba,&lt;/p&gt;

&lt;p&gt;Uzaktan çalışmanın kişiler üzerinde farklı etkileri vardır.&lt;br&gt;&lt;br&gt;
Uzaktan çalışmanın avantajları ve dezavantajları gibi konulara girmeden, bu kültür ile çalışan birisinin yaşamı hakkında bilgi sahip olmak isteyenlere yönelik bir yazı olacaktır.&lt;/p&gt;

&lt;p&gt;Uzaktan çalışan kişiler ve kurumlar tarafından kullanılması verimliliği arttıracak ekipmanlar ve deneyimlerden bahsetmek istiyorum.&lt;/p&gt;

&lt;p&gt;Yazılım işini senelerdir keyif alarak yapıyorum ve yapmayada devam edeceğim. Kapalı/Açık ofis ortamlarında uzun bir süre çalıştım. Ofiste çalışmanın ne demek olduğunu bilen birisi olarak, uzaktan çalışmanın &lt;strong&gt;sadece&lt;/strong&gt; işini severek yapan kişiler için ateşleyici ve motive edici bir imkan olduğunu düşünüyorum.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Bu konu hakkında olumlu olumsuz görüşlerinizi benimle paylaştığınız zaman çok sevineceğim.&lt;/em&gt; &lt;strong&gt;&lt;em&gt;Özellikle uzaktan çalışan ve verimli çalışmak için farklı deneyimleri/yöntemleri olan kişileri dinlemekten mutluluk duyacağım.&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Twitter : &lt;a href="https://twitter.com/brehpoint"&gt;brehpoint&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Konu Başlıkları&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;İletişim ve Bilgiyi Aynı Frekansa Getirin&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Kullandığınız Ürünlerin Tarzını Aynı Frekansa Getirin&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;İlginizi Aynı Frekansa Getirin&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Sağlığınızı Yüksek Frekansa Getirin&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--BchDzfLC--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2Ay_rJQihx6V-Wg1LOam7NQg.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--BchDzfLC--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2Ay_rJQihx6V-Wg1LOam7NQg.jpeg" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  İletişim ve Bilgiyi Aynı Frekansa Getirin
&lt;/h3&gt;

&lt;p&gt;Masanızdan kalkıp mutfağa doğru giderken bile kendiniz ve çevreniz ile bir iletişim kurarsınız. Bir problem ile karşılaştığınızda işi kafanızda parçalara ayırır ve çözmeye odaklanırsınız eksik kaldığınız ve bilmediğiniz konularda kişisel yöntemleriniz ile eksik olan parçaları tamamlar ve problemin çözümüne aşama aşama ilerlersiniz.&lt;/p&gt;

&lt;p&gt;Basit bir problemi çözerken kendi başınıza gerçekleştirdiğiniz bu aşamaları daha büyük bir problemi ekip halinde çözerken/üstesinden gelirken de gerçekleştiriyoruz. Örneğin bir problemin tanımını ekip arkadaşlarınıza anlatırken bazen tahtaya çizdiğiniz bir figür ile bazen pratikte paylaştığınız bir kod parçası ile kendi zihnimizdekileri aktarmaya çalışıyoruz.&lt;/p&gt;

&lt;p&gt;Bu iletişimde olma halini gerçekleştiriyorken dünyanın farklı coğrafyalarında olan bir çok insanı aynı ofiste çalışıyormuşçasına etkileşime sokabilen bir ürün kullanmaktayız. Tabiki çok gizemli bir ürün değil kendisi herkesin yakından tanıdığı &lt;strong&gt;Slack&lt;/strong&gt;. Rakip olarak gösterilen/kullanılan bir diğer ürünü &lt;a href="https://medium.com/u/45477236aaea"&gt;Erdem Baş&lt;/a&gt; ile (&lt;strong&gt;Teams)&lt;/strong&gt; denedik, istedik ama sevemedik.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Yazının bu kısmını böyle açmayacaktım fakat örnekler üzerinden bazı maddeler ile liste oluşturursam daha somut ve anlaşılır olacağını düşündüm.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Aşağıda Slack ile entegre kullandığımız bazı ürünler ve bu ürünleri ne şekilde kullandığımızdan bahsedeceğim.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Ekip olarak Sesli/Görüntülü konferans.
&lt;em&gt;Konferans esnasında etkileşimi arttıran pointer/dosya/ekran paylaşımları&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;Guest User olarak workspace’inize kişileri dahil edebiliyor olmak.(&lt;em&gt;Resepsiyon’a bir dijital asistan bile ekleyebiliyorsunuz&lt;/em&gt;)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Gitlab&lt;/strong&gt; eklentileri ve Webhook’lar
(&lt;em&gt;Gitlab üzerinden örnekler veriyor olsamda neredeyse tüm kaynak kod yönetim platformlarının eklentileri mevcut&lt;/em&gt;)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Sentry, Zoho, Notion&lt;/strong&gt; (&lt;em&gt;Ekip içi ortak not defteri&lt;/em&gt;), &lt;strong&gt;Google Drive&lt;/strong&gt; (B_ulut Dosya saklama platformları eklentileri)._ &lt;strong&gt;Google Calendar&lt;/strong&gt; _(_Ortak takvim ve kişisel takvim eklentileri)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;..sayamadıklarım ve daha fazlası.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Not: Her şeyi SLACK ile entegre edip oradan yönettiğinizde çok nadir karşılaşılıyor olsa dahi Slack down olduğu zaman felç geçirmiş gibi olabiliyorsunuz.&lt;/em&gt; 😲&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Biz her bilgiyi yetkilendirilmiş şekilde &lt;strong&gt;slack&lt;/strong&gt; üzerinden geçirme taraftarıyız. Bunun, ekip içerisinde koordinasyonu sağlayan ve herkesi güncel tutan en önemli işlerden birisi olduğunu deneyimliyoruz.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;İş üzerindeki bazı örnekleri paylaşalım,&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Gitlab CI/CD Pipeline’larımızın çalışma durumları.&lt;/li&gt;
&lt;li&gt;Gitlab Issue’ların açılıp kapanması.&lt;/li&gt;
&lt;li&gt;Yazılım destek ekimizden gelen taleplerin izlenmesi.&lt;/li&gt;
&lt;li&gt;Health Check yapan down dedector’lerimiz.&lt;/li&gt;
&lt;li&gt;Yönetimsel raporların ön izlenmesi.&lt;/li&gt;
&lt;li&gt;Onay mekanizmalarının işletilmesi.&lt;/li&gt;
&lt;li&gt;Otomatikleştirilen işlerin bilgi mesajları.&lt;/li&gt;
&lt;li&gt;vs.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;Bunlar bizim bazı webhook’larımızın ve sevimli botlarımızın avatarları kafanızda canlanması için aşağıda paylaşıyorum.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--8RiqERCN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/434/1%2AUu7yp3RRIlbwVE1_FiTeaA.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--8RiqERCN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/434/1%2AUu7yp3RRIlbwVE1_FiTeaA.png" alt=""&gt;&lt;/a&gt;Sentry üzerine düşen bir exception bilgisinin bildirimi&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--C5x8Nf7A--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/552/1%2AND6r2_Ue43mZNAa3srxpaQ.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--C5x8Nf7A--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/552/1%2AND6r2_Ue43mZNAa3srxpaQ.png" alt=""&gt;&lt;/a&gt;En sevilen sanal sekreterimiz&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--JmGdkJOB--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/554/1%2AcMCxx6gQTIkIit5gtLtlEg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--JmGdkJOB--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/554/1%2AcMCxx6gQTIkIit5gtLtlEg.png" alt=""&gt;&lt;/a&gt;Doktorumuz sağlık kontrollerini gerçekleştiriyor&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--HVK1uT4Z--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/556/1%2Abq2b1JUNQpD86wo7m_zP5w.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--HVK1uT4Z--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/556/1%2Abq2b1JUNQpD86wo7m_zP5w.png" alt=""&gt;&lt;/a&gt;Bekçimiz (düdüksüz olanı)&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--uniPTh3O--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/516/1%2A1LYAeXTROaqELkQdri-TWw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--uniPTh3O--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/516/1%2A1LYAeXTROaqELkQdri-TWw.png" alt=""&gt;&lt;/a&gt;Gitlab webhook’umuz&lt;/p&gt;

&lt;p&gt;Özetlemek gerekirse bilgi akışını sağlayacak ortamlar yaratmak ve insanlar arasında bunu bir kültür haline getirmek. Etkileşimi arttıracak ürünler kullanmak gerekmektedir.&lt;/p&gt;

&lt;p&gt;Hedefleriniz doğrultusunda bir çok farklı yöntem/teknik kullanıyor olabilirsiniz fakat insanlar kendilerini oraya ait hissetmedikçe ve hem kişisel hem de kurum hedeflerine doğru ilerlediklerini görmedikçe başarı elde etmeniz çok zor olacaktır.&lt;/p&gt;

&lt;h3&gt;
  
  
  Kullandığınız Ürünlerin Tarzını Aynı Frekans’a Getirin
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--dF3oKLLw--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2A5W-77CW6-nFy1briJY9ZlA.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--dF3oKLLw--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2A5W-77CW6-nFy1briJY9ZlA.jpeg" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Bu butonun rengi ne olacak, bir tık daha büyüyecek mi? Bu gibi soruları çok sevdiğimizi biliyorsunuz. Bir şekilde de çözüyor ve herkesi mutlu etmeye çalışıyoruz.&lt;br&gt;&lt;br&gt;
Bu soruların haricinde kodunuzu ilgilendiren ve aynı frekansa geldiğinde iletişiminizi ve keyfinizi artıracak bazı detaylar var.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Birgün herkes vim kullanacak&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Çin atasözü&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Bunun pek mümkün olmadığını en iyi vim kullananlar bilecektir. Bunu vscode kullananlar da çok iyi bilebilir 🙂.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Bir hikaye&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Seneler seneler öncesinde değişken ve nesne isimlendirmelerinde kullanılan garip kuralları olan bir şirket varmış. Bu kural sadece ünvanı CTO olan bir geliştiri ve şirket ortağının kafasındaymış. Firmaya katılan yeni kişilere yazılı olmayan bu kuralların vahiy yoluyla erişeceğine ve bu geçen süre içerisinde yeni kişiye istenilen şekilde hakaret etme hakları olduğuna inanıyorlarmış.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Kurallar İyidir, Yazılı Kurallar Daha İyidir&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Sadece kapsamı belli, gelişime açık ve değişime kapalı kurallar makbuldür.&lt;br&gt;&lt;br&gt;
Open Closed Dergahı&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Kurum içerisinde kuralların olması hangi ürünün (IDE, Tool vb.) kullandığını önemsiz bir hale getirmektedir. Eğer bizim için önemli olan kod kalitesi ve okunabilirliği için ortak bir değer ve tarz belirler isek ve bunları her IDE üzerinde uygulayabileceğimiz yazılı kurallar haline getirirsek herkes için ortak bir frekans yaratmış oluruz.&lt;/p&gt;

&lt;p&gt;Kendi çalıştığım kurum içerisinde biz bunun için neler yaptık ve yapmadığımız şeyler yüzünden başımıza neler geldi kısa birkaç örnek ile açıklamak isterim.&lt;/p&gt;

&lt;p&gt;Öncelikle kurum içerisinde Java, dotnet, JavaScript vb. diller kullanılarak birbirinden farklı ürünlerin geliştirildiği ortak ve kapsamı geniş proje grubumuz için isimlendirme kuralları oluşturmaya çalıştık ve bu isimlendirme kurallarını oryantasyonu kolaylaştırması için minik minik yazılı hale getirmeye başladık.Bir süre sonra ortak bir isimlendirme dili konuşmaya başladık. Bu konuda aynı frekansa gelmiştik. Fakat bazen bir ekip arkadaşımız farklı bir IDE kullanmak istediğinde ve değişikliklere dikkat etmeden attığı commitler sonrası gönderdiği Merge Request içerisinde sıkıntılar yaşıyorduk. Malumunuz boşluklar, satır başları, hizalamalar vb. Code Review yapılamaz hale geliyordu.&lt;br&gt;&lt;br&gt;
&lt;em&gt;(bkz: #StaticCodeAnalysis ,#_SonarQube&lt;/em&gt;, #&lt;em&gt;JSLint&lt;/em&gt;, #ESLint etc.)_&lt;/p&gt;

&lt;p&gt;Kullanılan IDE’ler özelinde React, Java, dotnet uygulamalarımız için takım ile paylaştığımız ve ortak hale getirdiğimiz ayar dosyaları oluşturduk ve bu sayede kullandığımız ürünlerin tarzını aynı frekansa getirebildik.&lt;/p&gt;

&lt;p&gt;Herkes istediği ortamda istediği IDE ile geliştirme yaparak mutlu mesut hayatlarına devam ettiler.&lt;/p&gt;

&lt;h3&gt;
  
  
  İlginizi Aynı Frekansa Getirin
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--h_f7WoCR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2AsUDNcnL1JDSiBU-yUQIjew.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--h_f7WoCR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2AsUDNcnL1JDSiBU-yUQIjew.jpeg" alt=""&gt;&lt;/a&gt;&lt;a href="https://spin.atomicobject.com/author/molly-alger/"&gt;&lt;strong&gt;MOLLY ALGER&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt; &lt;/strong&gt;&lt;a href="https://spin.atomicobject.com/2018/07/29/remote-pair-programming/"&gt;&lt;/a&gt;&lt;a href="https://spin.atomicobject.com/2018/07/29/remote-pair-programming/"&gt;https://spin.atomicobject.com/2018/07/29/remote-pair-programming/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Ekip içerisinde bütün arkadaşlarınızı seversiniz birisini diğerinden ayırmamaya çalışırsınız. Fakat bazı arkadaşlarınız vardır ki frekanslarınız daha yakındır ortak hedefleriniz vardır. Eğer böyle ise ne ala ama değilse de üzülmeyin biraz emek ile ortak işler yapabileceğinize inanın.&lt;/p&gt;

&lt;p&gt;Aslında yazının bu kısmında bahsetmek istediğim çalışma arkadaşlarınızı sevin sayın gibi klasik şeyler değiller.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Yazılım sektöründe kendisini geliştirmek isteyen her insan farklı şeyler deneyimlemek ve yeni şeyler öğrenmek hevesindedir.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Birlikte çalışabileceğiniz sevdiğiniz konuları konuşmaktan ve birlikte iş yapmaktan çekinmeyin.&lt;br&gt;&lt;br&gt;
Bu sayede arkadaşlarınızla projeler üreterek uyumunuzu arttırabilirsiniz.&lt;/p&gt;

&lt;p&gt;Ayrıca bu tarz ekip çalışmaları kurumsal firmalar tarafından özellikle desteklenmekte. Hatta bazı büyük firmalar kendi çalışanlarına yatırımcı bile olmaktadır.&lt;/p&gt;

&lt;p&gt;Bu konuda sizlere bir örnek vermek isterim. Çalıştığım bir firmada &lt;strong&gt;React&lt;/strong&gt; öğrenmek isteyen ama bir türlü &lt;strong&gt;end-to-end proje&lt;/strong&gt; yapamamış ve bunun eksikliğini hisseden bir &lt;strong&gt;Jr&lt;/strong&gt;. iş arkadaşım vardı. Kendisini motive etmek ve aynı zamanda React konusunda gelişimini sağlamak için bir side project yapmaya karar verdik. Geceleri mesai sonrasında birlikte çalışarak (Tamamen Uzaktan) ufak bir proje bitirdik. Üst yönetim ile paylaşma ve sunum yapma imkanı buldu hatta şirket içi özel bir alanda bir çözüm haline geldi ve kullanılmaya başlandı.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Sevgi neydi? Sevgi emekti.&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Selvi Boylum Al Yazmalım&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://marketplace.visualstudio.com/items?itemName=MS-vsliveshare.vsliveshare-pack"&gt;Live Share Extension Pack&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://medium.com/@ibrahimbutt/how-to-set-up-vscode-for-remote-pair-programming-e5f5c30a48e2"&gt;How to Set Up VSCode for Remote Pair Programming&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://zapier.com/engineering/remote-dev-tools/"&gt;Tools for Remote Software Development and Pair Programming&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--kqG34eLg--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2A7pVGxUTrkLf4UxtEwY2nPg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--kqG34eLg--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2A7pVGxUTrkLf4UxtEwY2nPg.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Sağlığınızı Yüksek Frekansa Getirin
&lt;/h3&gt;

&lt;p&gt;Eğer &lt;em&gt;gifted&lt;/em&gt; (Allah vergisi içeren) birisi değilseniz. Sürdürülebilirlik için özellikle yazılım gibi yoğun zihin kullanımı gerektiren sektörlerde çalışıyorsanız zihninizi dinlendirmeniz gerekmektedir. Size sayfalarca bilimsel makale örnekleri ve alıntıları paylaşabilirim fakat daha geleneksel bir yaklaşım ile “Sağlam kafa sağlam vücudda olur” diyerek kişisel deneyimlerimi paylaşmaya devam etmek istiyorum.&lt;/p&gt;

&lt;p&gt;Yazılım yaparken çok uzun süreli bilgisayar kullanımında kendim için özelleştirdiğim süreleri olan ve sadece özel durumlarda esnetebildiğim &lt;strong&gt;pomodoro&lt;/strong&gt; tekniği kullanıyorum. Ayrıca beslenmeme özen gösteriyor ve düzenli bir şekilde yürüyüş/koşu yapıyorum.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://toggl.com/pomodoro-timer-toggl/"&gt;Toggl - Pomodoro Time Tracking&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Dijital dünya dışında bir hobi ediniyorum sizde yapın. Bir yazılımcıyı en iyi başka bir yazılımcı anlar, hobi edinmenin en kolay karşılığı kitap gibi görünsede çevrenize bakın kendiniz için bu koca dünyada dijital olmayan hala bir sürü şey bulabilirsiniz 😋&lt;/p&gt;

&lt;p&gt;Mesela ben kaktüs yetiştirmek gibi uzun süreli veya yabani güvercinleri yemlemek gibi kısa süreli zihnimi rahatlatacak aktiviteleri çok seviyorum. Güvercinlerden alt komşu pek hoşlanmasada “sevap teyze sevap” diye onada bu dünya için iyi bir şeyler yapma şansı tanıyorum ve bir avuç yem veriyorum.&lt;/p&gt;

&lt;p&gt;Sağlıklı, mutlu ve verimli çalıştığınız günler dilerim.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;Dipnot&lt;/em&gt;&lt;/strong&gt; _ : Yazının kapsamı çok geniş olduğu için tamamlanmadığını hissederek paylaşıyorum. Mümkün oldukça atladığım veya yeni edindiğim tecrübeleri toparlayarak eklemeyi ve paylaşmayı düşünüyorum._&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>geliştirici</category>
      <category>developertools</category>
      <category>developer</category>
      <category>uzaktançalışmak</category>
    </item>
    <item>
      <title>Ölü ya da diri AspNetCore.HealthChecks</title>
      <dc:creator>Berkay AKÇAY</dc:creator>
      <pubDate>Wed, 04 Dec 2019 14:50:17 +0000</pubDate>
      <link>https://dev.to/berkayakcay/olu-ya-da-diri-aspnetcore-healthchecks-e6k</link>
      <guid>https://dev.to/berkayakcay/olu-ya-da-diri-aspnetcore-healthchecks-e6k</guid>
      <description>&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--IidYKXjN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/0%2AIIYm3cKYc20D614d" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--IidYKXjN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/0%2AIIYm3cKYc20D614d" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Giriş&lt;/li&gt;
&lt;li&gt;Nedir&lt;/li&gt;
&lt;li&gt;Tanıyalım&lt;/li&gt;
&lt;li&gt;Health Check&lt;/li&gt;
&lt;li&gt;Health Check UI&lt;/li&gt;
&lt;li&gt;Özelleştirmeler&lt;/li&gt;
&lt;li&gt;Akılda Kalanlar&lt;/li&gt;
&lt;li&gt;Öneriler&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Giriş
&lt;/h3&gt;

&lt;p&gt;Bu yazı içerisinde basit ve sade hali ile kullandığımız ürün ve hizmetlerin durumunu sorgulayabileceğimiz bir yapıyı ne kadar kolay kurabileceğimizi birlikte deneyimlemek istiyorum.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;j : Müşteriler bir kaç saattir sisteme erişimde sıkıntılar yaşıyormuş.&lt;br&gt;&lt;br&gt;
j: Ayrıca sistemde bir gariplik var MSSQL server çok yavaşlamış.&lt;br&gt;&lt;br&gt;
s : SQL Server’a bağlanabiliyor musunuz?&lt;br&gt;&lt;br&gt;
j : Evet bağlanabiliyoruz.&lt;br&gt;&lt;br&gt;
s : Sorgu atabiliyor musunuz? (bkz: sorgu atmak )&lt;br&gt;&lt;br&gt;
j : Evet bay s.&lt;br&gt;&lt;br&gt;
s : Bana hemen sp_WhoIsActive’i çağırın!!!11 (Büyük harfler ile)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  Nedir
&lt;/h3&gt;

&lt;p&gt;“Health Check” bizlere,&lt;br&gt;&lt;br&gt;
bir uygulamanın veya sistemin sağlıklı çalışıp çalışmadığını kontrol imkanı sağlar.&lt;br&gt;&lt;br&gt;
Ayrıca uygulamanın sağlık durumunu sorgulayabileceğimiz bir endpoint sunar.&lt;/p&gt;

&lt;p&gt;Basit bir örnek ile kontrol edebilecekleriniz;  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Uygulamanız için kulladığın bir veritabanı veya servisin durumunu
&lt;/li&gt;
&lt;li&gt;Uygulamanızın çalıştığı environment ile ilgili hafıza ve disk durumunu
&lt;/li&gt;
&lt;li&gt;Uygulamanın kendi durumunu&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Bu sayede uygulamalarımıza otomatik olarak sistemin arızalı kısımlarına nasıl müdahale etmesi gerektiğini veya böyle bir durum oluştuğunda nasıl aksiyonlar alacağınızı belirtebilirsiniz.(isteğimiz)&lt;br&gt;&lt;br&gt;
“veya manuel olarak bir şeyler yapabilirsiniz.” (gerçeğimiz)&lt;/p&gt;

&lt;p&gt;Basit bir örnek ile kontrol sonrası yapabileceklerimiz;  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Kullanıcılara ya da kendinize hatalı alanları bildirebilirsiniz.
&lt;/li&gt;
&lt;li&gt;Hatalı kısımlara müdahale edebiliriz. (etmeyede bilirsiniz)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Sib9naRx--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://cdn-images-1.medium.com/max/700/1%2A_HzAMcQ5fvoibucTq9zetA.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Sib9naRx--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://cdn-images-1.medium.com/max/700/1%2A_HzAMcQ5fvoibucTq9zetA.gif" alt=""&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  Tanıyalım
&lt;/h3&gt;

&lt;p&gt;Burada bizlere uygulama geliştirirken kullandığımız birçok ürünün basit &lt;strong&gt;health check&lt;/strong&gt; ’lerini paketler halinde sunan arkadaşlara teşekkür ederek başlamak gerekir.&lt;/p&gt;

&lt;p&gt;Hakkı teslim edelim; dotnet core içerisinde health check ile ilgili boşluğu doldurmaya çalışan arkadaşlar hakkında daha detaylı bir bilgi almak isterseniz şu &lt;a href="https://www.youtube.com/watch?v=kzRKGCmGbqo"&gt;videoyu&lt;/a&gt; izleyebilirsiniz.&lt;/p&gt;

&lt;p&gt;Eski projenin linki&lt;br&gt;&lt;br&gt;
&lt;a href="http://github.com/xabaril/beatpulse"&gt;http://github.com/xabaril/beatpulse&lt;/a&gt; [DEPRECATED]&lt;/p&gt;

&lt;p&gt;Aktif projenin linki &lt;a href="https://github.com/Xabaril/AspNetCore.Diagnostics.HealthChecks"&gt;https://github.com/Xabaril/AspNetCore.Diagnostics.HealthChecks&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Proje sayfasına girdiğinizde göreceğiniz hazır &lt;strong&gt;health check&lt;/strong&gt; ’lerden bazıları&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;…Sql Server, MySql, Oracle, Sqlite, RavenDB, Postgres, EventStore, RabbitMQ, Elasticsearch, Redis, System: Disk Storage, Private Memory, Virtual Memory, Process, Windows, Service…&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3&gt;
  
  
  Health Check
&lt;/h3&gt;

&lt;p&gt;Health Check Namespace&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Microsoft.Extensions.Diagnostics.HealthChecks&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Hemen namespace’i verdim çünkü bu namespace olmasa bundan sonra anlatılacakların hiç bir anlamı yok. İleride custom bir HealthCheck oluştururken ihtiyacımız olacak.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;dotnet new webapi -n HealthCheck -o HealthCheck

# HealthCheck 
dotnet add package Microsoft.AspNetCore.Diagnostics.HealthChecks

# UI için gerekli olacak paket
dotnet add package AspNetCore.HealthChecks.UI

# Örnek HC paketleri
dotnet add package AspNetCore.HealthChecks.RabbitMQ
dotnet add package AspNetCore.HealthChecks.System
dotnet add package AspNetCore.HealthChecks.Redis
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;h4&gt;
  
  
  Basit Ayarlar
&lt;/h4&gt;



&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;public void ConfigureServices(IServiceCollection services)
{
 services.AddHealthChecks();
}

_p_ublic void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
 app.UseHealthChecks("/hc");
}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;En basit hali ile yukarıdaki gibi konfigüre ettiğinizde. “hc” path’inde sizi karşılayacak görüntü bu olmalıdır.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--innWanYn--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/894/1%2A-hawKqQw4mMIFY_K_WYGdw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--innWanYn--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/894/1%2A-hawKqQw4mMIFY_K_WYGdw.png" alt=""&gt;&lt;/a&gt;/hc&lt;/p&gt;

&lt;p&gt;Şimdi farklı &lt;strong&gt;HealthCheck&lt;/strong&gt; ’ler eklemeye başlayalım.&lt;/p&gt;

&lt;p&gt;Yeni bir kontrol eklemenin farklı birçok yolu var fakat burada yakalamanız gereken nokta en sonunda bu kontrollerin geriye bir durum döndürüyor olmasıdır.&lt;/p&gt;

&lt;p&gt;Eğer ihtiyacınız olur ise kendi modelinizi oluşturarak status haricinde kendi modellerinizi de servis üzerinden durum kontrollerine ekleme imkanınız bulunuyor.&lt;/p&gt;

&lt;p&gt;Basit kontrollerinizi aşağıdaki gibi ekleyebilirsiniz.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--GEa7Bobp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/609/1%2ABNYABHh3aAAa_5-FeqtGdw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--GEa7Bobp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/609/1%2ABNYABHh3aAAa_5-FeqtGdw.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;IHealthCheck&lt;/strong&gt; interface’ini implement ederek daha karmaşık &lt;strong&gt;HealthCheck&lt;/strong&gt; ’ler ekleyebilirsiniz.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--k-tWbz4F--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/521/1%2A-iFF-oOi6H1qSz9rBQt1kw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--k-tWbz4F--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/521/1%2A-iFF-oOi6H1qSz9rBQt1kw.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Health Check UI
&lt;/h3&gt;



&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;public void ConfigureServices(IServiceCollection services)
{
 services.AddHealthChecks();
}

_p_ublic void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
 app.UseHealthChecks("/hc");
}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--TEv4ZFYp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2AnzKZeMEblTZZF_oe_FEpHQ.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--TEv4ZFYp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2AnzKZeMEblTZZF_oe_FEpHQ.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Özelleştirmeler
&lt;/h3&gt;

&lt;p&gt;Uygulama içerisinde endpoint’leri belirlemek istediğinizde&lt;br&gt;&lt;br&gt;
&lt;strong&gt;UseHealthChecks()&lt;/strong&gt; için path’i ayarlamanız yeterli olacaktır.&lt;br&gt;&lt;br&gt;
&lt;strong&gt;&lt;em&gt;Microsoft.AspNetCore.Diagnostics.HealthChecks&lt;/em&gt;&lt;/strong&gt; &lt;em&gt;altındaki&lt;/em&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;&lt;em&gt;HealthCheckOptions&lt;/em&gt;&lt;/strong&gt; &lt;em&gt;sayesinde&lt;/em&gt; &lt;strong&gt;&lt;em&gt;health report&lt;/em&gt;&lt;/strong&gt; &lt;em&gt;response’larını özelleştirme imkanı bulunmaktadır. Kendiniz için bir&lt;/em&gt; &lt;strong&gt;&lt;em&gt;ResponseWriter&lt;/em&gt;&lt;/strong&gt; &lt;em&gt;oluşturabilirsiniz.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Aslında&lt;/em&gt; &lt;strong&gt;&lt;em&gt;HealthChecksUI&lt;/em&gt;&lt;/strong&gt; &lt;em&gt;da özünde bunu gerçekleştirmektedir.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;UseHealthChecksUI()&lt;/strong&gt; için özelleştirilen endpoint’lerde kafa karıştırabilen bir nokta &lt;strong&gt;ApiPath&lt;/strong&gt; ile belirttiğimiz path’in &lt;strong&gt;UI&lt;/strong&gt; tarafından kullanılıyor olmasıdır.&lt;/p&gt;

&lt;p&gt;Aslında sadece basit örneklerde belirlediğimiz “/hc” endpoint’lerinin &lt;strong&gt;ResponseWriter&lt;/strong&gt; ’ları ile &lt;strong&gt;ApiPath&lt;/strong&gt; ’in &lt;strong&gt;ResponseWriter&lt;/strong&gt; ’ları farklıdır.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ypcDuhCB--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/781/1%2A5qksj1PVUEsGI7qqo79DiQ.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ypcDuhCB--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/781/1%2A5qksj1PVUEsGI7qqo79DiQ.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Konfigure ederken &lt;strong&gt;appsettings&lt;/strong&gt; veya direkt kod içerisinden tanımlamalar yapma şansınız bulunmaktadır.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--JiRVtFj---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/643/1%2AoLbmmc8a2_uGEPFtdvrnMQ.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--JiRVtFj---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/643/1%2AoLbmmc8a2_uGEPFtdvrnMQ.png" alt=""&gt;&lt;/a&gt;code&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--VFpaNuLJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/642/1%2Aw2bXjZXH8UhNmxfYb8v11Q.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--VFpaNuLJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/642/1%2Aw2bXjZXH8UhNmxfYb8v11Q.png" alt=""&gt;&lt;/a&gt;appsettings&lt;/p&gt;

&lt;h3&gt;
  
  
  Akılda Kalanlar
&lt;/h3&gt;

&lt;p&gt;(+) “WebHook ile entegrasyon yapma şansı var” diyerek cümleyi devam ettirmek istedim fakat bu konuda yapılabileceklerinizi hayal gücünüze bırakıyorum.&lt;/p&gt;

&lt;p&gt;(+) Çok hızlı bir şekilde bir UI’a sahip oluyorsunuz.&lt;/p&gt;

&lt;p&gt;(+) Çok hızlı bir şekilde bilinen ürünler için &lt;strong&gt;Health Check&lt;/strong&gt; ’ler oluşturabiliyorsunuz.&lt;/p&gt;

&lt;p&gt;(+) UI Style and branding customization (Custom bir CSS ile görüntüyü kendiniz için değiştirebiliyorsunuz.&lt;/p&gt;

&lt;p&gt;(+) UI Kubernetes automatic services discovery özelliğine sahip&lt;/p&gt;

&lt;p&gt;(-) Direkt olarak kendi UI’ı sadece internal kullanımlara uygun olduğunu düşünüyorum&lt;/p&gt;

&lt;p&gt;İşimize nerede yaradı diye soracak olursanız. Şirket içerisinde kullandığımız ve harici servislere ihtiyaç duyan bazı ufak uygulamaların (Botlar, Devletlü Servisler, Banka Servisleri vb) sıhhat kontrollerini gerçekleştirdik.&lt;/p&gt;

&lt;h3&gt;
  
  
  Öneriler
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Docker HEALTHCHECK ve Asp.Net HealthChecks durumlarının birlikte kullanımı
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://medium.com/u/a445c0d6bc51"&gt;~ ~&lt;/a&gt; Tarkanın Viking Kanı filmindeki dev ahtapot dostumuz işe yarar çok güzel bir kullanım örneği paylaştı bunu da eklemek istedik. (Cümlenin başındaki karakterler kendisinin mention’lı halidir :) belirtmek isterim)&lt;/p&gt;

&lt;p&gt;Bir docker container’ınız olduğunu düşünün ve bu docker container içerisinde çalışan uygulamanız için sadece bir tane kritik HealthCheck kontrolü var, diğerleri öldürmesede ciddi yaralıyor şeklinde ayarlanmış.&lt;br&gt;&lt;br&gt;
Bu ayarlamalar ile docker container’ına ben ölmüşsem beni yeniden yarat yaralıysam yaralarımı saracak bir şeyler yap şeklinde aksiyonlar aldırabiliyorsunuz.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--b8Q3JIpz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2AXNpHZuBq4q-YjE8jD5BJKQ.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--b8Q3JIpz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2AXNpHZuBq4q-YjE8jD5BJKQ.png" alt=""&gt;&lt;/a&gt;failureStatus (Unhealthy, Degraded..)&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--lIKeZNOQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2AmneBFsybN_67wO4Cy7a92g.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--lIKeZNOQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2AmneBFsybN_67wO4Cy7a92g.png" alt=""&gt;&lt;/a&gt;docker configuration&lt;/p&gt;

&lt;p&gt;İlgilenenler için docker dokümantasyonun ilgili kısmını aşağıda paylaşıyorum.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://docs.docker.com/engine/reference/builder/#healthcheck"&gt;| Docker Documentation&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Slack WebHook Görüntüsünü Merak Edenler
&lt;/h4&gt;

&lt;p&gt;Örnek bir api oluşturup kasıtlı hatalar yaratarak webhook mesajlarının yukarıdaki bahsettiğimiz ayarlar (gecikme süresi, sağlık durumu vb.) ile ortaya çıkan görüntüsü aşağıdaki gibidir.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--JAUJi4BM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2AoUY0swTuwmaf6gOaQZSTrg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--JAUJi4BM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2AoUY0swTuwmaf6gOaQZSTrg.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>aspnetcore</category>
      <category>healthcheck</category>
    </item>
    <item>
      <title>LinkedIn Özgeçmişiniz İçin 3 Parlak Fikir</title>
      <dc:creator>Berkay AKÇAY</dc:creator>
      <pubDate>Mon, 28 Oct 2019 20:55:46 +0000</pubDate>
      <link>https://dev.to/berkayakcay/linkedin-ozgecmisiniz-i-cin-3-parlak-fikir-2dkg</link>
      <guid>https://dev.to/berkayakcay/linkedin-ozgecmisiniz-i-cin-3-parlak-fikir-2dkg</guid>
      <description>&lt;p&gt;İş ararken &lt;strong&gt;LinkedIn&lt;/strong&gt; profiliniz özgeçmişiniz ve kapak yazınız kadar olmazsa olmazdır. LinkedIn sadece iş arayanlara yeteneklerini sergilemek için müthiş bir platform sağlamakla kalmıyor, aynı zamanda çok sayıda işverenin siteyi gezmesine de olanak sağlıyor. O yüzden, insanların buradaki &lt;strong&gt;profil&lt;/strong&gt; lerinin potansiyelini optimize etmesi oldukça mantıklı geliyor. Ancak, şaşırtıcı sayıda çok insan LinkedIn’in en esnek ve muhtemelen en kullanışlı yönü olan “ &lt;strong&gt;Özet&lt;/strong&gt; ” bölümünü göz ardı ediyor.&lt;/p&gt;

&lt;p&gt;Yine de bunun neden böyle olduğunu anlıyorum. Ucu açık bembeyaz bir tuval sizi korkutuyor olabilir. Özet bölümünüze ne yazabileceğiniz ve ne yazmanız gerektiği konusunda yardımcı olabilmek için aşağıda ders niteliğindeki ilham verici üç farklı örneği dikkatinize sunuyorum.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F600%2F0%2AkoR7cIWjkjAUUCBB" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F600%2F0%2AkoR7cIWjkjAUUCBB"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Kişiliğinizin Ön Plana Çıktığından Emin Olun
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://www.linkedin.com/in/jennyfoss" rel="noopener noreferrer"&gt;&lt;strong&gt;Jenny Foss&lt;/strong&gt;&lt;/a&gt;’un profilinden.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Kartvizitlerimde kariyer uzmanı, işe alma sorumlusu ve &lt;strong&gt;özgeçmiş&lt;/strong&gt; yazarı gibi şeyler yazmakta.&lt;/p&gt;

&lt;p&gt;Ama biraz derine indiğinizde tüm bunlardan daha fazlasıyım. Pazarlamacıyım, girişimciyim, blog yazarıyım, sosyal medya planlamacısıyım ve teknik işlerin sorumlusuyum. Bana robotlardan tırlara veya işe başvuran izleme sistemlerine kadar her şeyi sorabilirsiniz. Ciddiyim.&lt;/p&gt;

&lt;p&gt;Ayrıca, markalaşmanın gücüne inananlardanım.&lt;/p&gt;

&lt;p&gt;İnsanoğlu olarak “bir şeyleri” satın almadığımıza inanıyorum. Aldığımız şeylerin özelliklerine ve faydalarına bakarak karar vermiyoruz. Hislerimize, “içgüdülerimize” ve markaya olan bağlılığımıza göre karar veriyoruz.&lt;/p&gt;

&lt;p&gt;Dürtülendiğimiz zaman bir şeyler satın alıyoruz. Yaptığımız şeyi bıraktığımız ana tutsak olduğumuzda ve “İşte bu. BUNDAN istiyorum,” dediğimizde bir şeyleri satın alıyoruz.&lt;/p&gt;

&lt;p&gt;Bu yüzden insanlara ve şirketlere bu tepkiyi nasıl yaratacağımızı öğretiyorum. İş arayanlara ve yeni yetenekler arayan şirketlere markalarını nasıl unutulmaz, çekici ve yüksek karakterli yöntemlerle tanıtacağını öğretiyorum. Böylece, doğru hedef kitlenin ilgisini çekiyorlar ve bu kitleyi ana hedeflerine doğru yönlendiriyorlar.&lt;/p&gt;

&lt;p&gt;Uzmanlık alanlarım iş arama stratejisi, kariyer koçluğu, özgeçmiş yazma, işe alım, LinkedIn profili düzenleme, metin yazarlığı, şirket içi pozisyon değişikliği, kamuya yönelik konuşma/sunum, sosyal medya pazarlama ve marka büyütme şeklindedir. Ayrıca, çok güzel Scrabble oynarım ve harika margarita hazırlarım.&lt;/p&gt;

&lt;p&gt;Kariyer, iş arama veya pazarlama konularında konuşmak isterseniz &lt;a href="mailto:jenny@jobjenny.com"&gt;jenny@jobjenny.com&lt;/a&gt; veya JobJenny.com adresinden bana ulaşabilirsiniz.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Jenny Foss’un özeti inanılmaz. 250 kelimeye (veya daha azına!) o kadar çok kişilik özelliğini sığdırmayı başarıyor ki onu hayatımızda hiç görmemiş olsak bile insana tıpkı yakın bir arkadaşıymış gibi hissettiriyor. Evet, LinkedIn profesyonel bir sosyal ağ ama bu durum üçüncü şahıs ağzından konuşmak ve kaç yıllık tecrübeniz olduğunu tekrar tekrar söylek zorunda olduğunuz anlamına gelmiyor.&lt;/p&gt;

&lt;p&gt;Öte yandan, Jenny (gördüğünüz gibi artık sadece adıyla hitap ediyorum) size bir şeyler satıyormuş hissi vermeden sunduğu hizmetleri bir nakış gibi titizlikle işliyor. Deneyim bölümünden ziyade bu özet bölümü sayesinde insanlara sunduğunuz hizmetleri kolayca anlatabilirsiniz. Aslında, zaten özet bölümünün hemen altında olduğu için deneyim bölümünde fazla detaya girmeniz de gerekmiyor. Bunun yerine, inançlarınızı, motivasyonlarınızı veya değerlerinizi, kısacası deneyim kısmında anlatılması genellikle zor olan soyut şeyleri daha detaylı anlatın.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F600%2F0%2ADexPD-0phEG_2WnY" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F600%2F0%2ADexPD-0phEG_2WnY"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Ağzınızın Laf Yaptığından Emin Olun
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://www.linkedin.com/in/adriangranzellalarssen" rel="noopener noreferrer"&gt;&lt;strong&gt;Adrian Granzella Larssen&lt;/strong&gt;&lt;/a&gt;’in profilinden&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Ben ortalama bir editör değilim.&lt;/p&gt;

&lt;p&gt;Elbette güçlü yazma yeteneği olan, çivili kapanlar konusunda bile iki çift lafı olan ve yazım hatalarını kontrol etmek için kendi mesajlarını okuyabilen biriyim. Ama aynı zamanda bir proje yöneticisiyim, topluluk oluşturucuyum ve takım lideriyim (ve söylenene göre iyi bir parti organizatörüyüm).&lt;/p&gt;

&lt;p&gt;Çok geniş olsa da iş geçmişim geleneksel değildir. Milyonlarca insanın ne yapmak istediklerine karar vermelerini ve bu kararı verince de onun için çabalamalarını sağlayan kariyer ve iş arama platformu The Muse’un baş editörü ve resmi ilk işçisi olarak The Daily Muse adlı yayınımızı ve hızla büyüyen topluluğumuzu sıfırdan inşa ettim.&lt;/p&gt;

&lt;p&gt;Son üç yılda 500+ serbest yazarı, kariyer uzmanını ve yaşam koçunu işe aldım. Forbes Kadınlar İçin En İyi 100 Site ve Kariyer İçin En İyi 75 Site ödüllerine layık görüldüm. Okurların gerçekten çok sevdiği editoryal içerikleri oluşturdum. Öte yandan, takipçilerimizi önemli ölçüde artırdım (aylık 4 milyon tekil ziyaretçi) ve Time, Inc., Mashable ve Forbes gibi önemli firmalarla sendikalaşma ortaklıkları yaptım.&lt;/p&gt;

&lt;p&gt;Şu anda ise haftalık 50+ makale, video, markalı içerik ve The Muse’un eğitim platformu olan Muse U’nun tüm dijital içerik stratejisini ve oluşumunu yönetiyorum. Daha önceden farklı türde bir üniversitede çalışıyordum. Oradaki sorumluluğum ise basılı ve dijital iletişimlerin yönetiminin ve George Washington Üniversitesi Tıp Merkezi için editoryal strateji yönetiminin idare edilmesiydi.&lt;/p&gt;

&lt;p&gt;Özetle, içerik tutkum büyük resim planlama ve günlük operasyonel yönetimle birleşiyor. Ben sırf yazı yazmak isteyen bir editör değilim. Ben gerçekten bir şeyleri edit etmek, yani planlamak, tasavvur etmek ve yönetmek isteyen bir editörüm. Bu benim en iyi yaptığım ve en sevdiğim şey.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Adrian Granzella Larssen’in özetini gördüğümüzde aklımıza gelen ilk şey ağzının ne kadar iyi laf yaptığıydı. İlk satırdan itibaren yazının tamamını okuma isteği uyandırıyordu. Eğer insanların yazdığınız özetin tamamını okumasını istiyorsanız karşı konulamaz bir ilk satır yazmayı ve her şeyi buna bağlamayı deneyin. Eski bir hile olsa da işe yarıyor.&lt;/p&gt;

&lt;p&gt;The Muse’un baş editörü olarak Adrian’ın bazı etkileyici başarılarının olması pek şaşırtıcı değil. Yine de onun özetini bu kadar ilginç kılan bu değil. Adrian’ın yaptığı işi hayata bağlayan asıl şey verdiği rakamlar. Birkaç rakamın yeteneklerinizi ve deneyimlerinizi ne kadar ön plana çıkaracağını sakın küçümsemeyin.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F600%2F0%2A3eNj00Dq2eGwE5v0" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F600%2F0%2A3eNj00Dq2eGwE5v0"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Tüm Noktaları Birbirine Bağladığınızdan Emin Olun
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://www.linkedin.com/in/scottrmurray" rel="noopener noreferrer"&gt;&lt;strong&gt;Scott R. Murray&lt;/strong&gt;&lt;/a&gt;’in profilinden&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Kariyerime şiir yazarak ve kurgu öğreterek başladım. Kelimelerle aram iyidir. Çok güzel hikayeler yazabiliyorum. Çalışan bir internet sitesine, ses getiren bir markaya ve gerçek insanlardan oluşan bir sosyal medyaya mı ihtiyacınız var? Ben yardımcı olabilirim.&lt;/p&gt;

&lt;p&gt;Yüksek eğitimde ve kâr amacı gütmeyen topluluklarda altı yıllık tecrübe sahibiyim. Ayrıca, yüksekokulda beş yıllık iş deneyimim var ki bu da binlerce saat yazı yazmaya denk geliyor. Zeki, açık ve kısa ama öz konuşan biri olarak bilinirim. Bu yüzden bilgilendirici, tatmin edici ve ilham verici içerikler yaratabiliyorum.&lt;/p&gt;

&lt;p&gt;Öğretmenin bana öğrettiği en önemli şey insanlarla bulundukları yerden çalışmak, onların ihtiyaçlarını anlamak ve hayatlarına değer katmak için hazırlıklı bir şekilde karşılarına çıkmaktır. Bir sınıfı idare etmek için tutku ve içgüdü, insanları hazır tutabilmek için hayal gücü ve mizah anlayışı ve faydalı geribildirimler vermek için de empati ve sabır gerekir.&lt;/p&gt;

&lt;p&gt;Başarılı içerik süreçleri yaratmada, dijital kaynaklar geliştirmede ve sanal toplulukları bir araya getirmede bu güçlü yanlarımı kullanıyorum.&lt;/p&gt;

&lt;p&gt;Gurur duyduğum projelerim ise internet sitesi işbirliklerim, yazdığım makaleler ve takdir gören çalışmalarımdır. Okuduklarınızı beğendiniz mi? Size bir InMail veya tweet (@strangewander) kadar uzağım.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Scott’u LinkedIn’in nasıl en etkin şekilde kullanılması gerektiğine örnek olarak verebiliriz. Yazdığı özet emsal olarak alınabilir. Yazdığı paragrafların tamamı kısa ve öz olmasının yanı sıra açıkça bir amaca hizmet ediyor. Scott bir iletişimci için sıradışı bir deneyime sahip ama tutarlı tek bir hikayeyle yazmayı, öğretmeyi, sosyal medya bilgisini ve iletişim uzmanlığını bir şekilde birbirine bağlıyor.&lt;/p&gt;

&lt;p&gt;İşte bu yüzden yazdığı özet referans olarak gösterilebilir. Özet dediğimiz bölüm deneyimlerinizin farklı noktalarını birbirine bağladığınız bölümdür. İşte bu özet de tam olarak mükemmel bir şekilde yazılmış bir örnektir.&lt;/p&gt;

&lt;p&gt;İnternette etkili yazılmış bol miktarda LinkedIn özeti bulabilirsiniz ama yukarıdaki üç örnek bizim en beğendiğimiz özetler. Ayrıca, diğer birçok özetten de daha uzunlar. Hikayenizi yazarken özetinizi bu kadar uzun tutmak zorunda değilsiniz. Fakat her ne yazıyorsanız yazın, karakterinizi karşınızdakine aşılamayı ve deneyimlerinizin birbirleriyle bağlantılı olmasını unutmayın. Bu şekilde fark yaratabilirsiniz.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Siz de LinkedIn profili oluşturmada faydalı ipuçları paylaşmak isterseniz aşağıdaki yorum bölümüne fikirlerinizi yazabilirsiniz.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>jobs</category>
      <category>linkedin</category>
    </item>
    <item>
      <title>Image Processing MATLAB Mean ve Median Algoritması (Örnek)</title>
      <dc:creator>Berkay AKÇAY</dc:creator>
      <pubDate>Fri, 16 Aug 2019 11:19:49 +0000</pubDate>
      <link>https://dev.to/berkayakcay/image-processing-matlab-mean-ve-median-algoritmasi-ornek-2kp7</link>
      <guid>https://dev.to/berkayakcay/image-processing-matlab-mean-ve-median-algoritmasi-ornek-2kp7</guid>
      <description>&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--rCRFodHL--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/466/0%2ASuaiXAdh3YoDQQY0" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--rCRFodHL--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/466/0%2ASuaiXAdh3YoDQQY0" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--IkOE3MOb--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/466/0%2AvCS_TCy4m6f7bSW0" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--IkOE3MOb--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/466/0%2AvCS_TCy4m6f7bSW0" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--zeQLbHXY--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/466/0%2AqsAZPBPDJVpTa7dL" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--zeQLbHXY--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/466/0%2AqsAZPBPDJVpTa7dL" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Örneklerimizde 3×3 filter, ve siyah beyaz bir resim kullanılmıştır.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Görüntü ve sinyal işleme konularında, gürültü temizlemek için kullanılan yöntemlerdir. Amaç parazitleri kaldırmaktır. Filtre uygulandıktan sonra resimde bulunan ve komularından belirgin şekilde ayrılan piksel’leri tespit edilerek temizlenmesi sağlanır.&lt;br&gt;&lt;br&gt;
&lt;a href="https://en.wikipedia.org/wiki/Median_filter"&gt;more1…&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;a href="http://bilgisayarkavramlari.sadievrenseker.com/2007/11/26/ortanca-filitresi-median-filter/"&gt;more2…&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  Mean Filter Algoritması
&lt;/h3&gt;

&lt;p&gt;Amacımız;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Resminizi pixel pixel okumak.&lt;/li&gt;
&lt;li&gt;Her pixel’in etrafında bulunan n kadar uzaklıktaki pixellerin değerleri toplamının ortalamasını almak.&lt;/li&gt;
&lt;li&gt;Yeni resimde aynı konumdaki pixele bulduğumuz ortalamayı atamak.&lt;/li&gt;
&lt;/ul&gt;


&lt;div class="ltag_gist-liquid-tag"&gt;
  
&lt;/div&gt;


&lt;h3&gt;
  
  
  Median Filter Algoritma
&lt;/h3&gt;

&lt;p&gt;Amacımız;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Resminizi pixel pixel okumak.&lt;/li&gt;
&lt;li&gt;Her pixel’in etrafında bulunan n kadar uzaklıktaki pixellerin median değerini bulmak.&lt;/li&gt;
&lt;li&gt;Yeni resimde aynı konumdaki pixele bulduğumuz median değerini atamak.&lt;/li&gt;
&lt;/ul&gt;


&lt;div class="ltag_gist-liquid-tag"&gt;
  
&lt;/div&gt;


</description>
      <category>görüntüişleme</category>
      <category>imageprocessing</category>
    </item>
    <item>
      <title>Tasarımcıların Vazgeçemediği 27 Uygulama</title>
      <dc:creator>Berkay AKÇAY</dc:creator>
      <pubDate>Sun, 11 Aug 2019 17:48:46 +0000</pubDate>
      <link>https://dev.to/berkayakcay/tasarimcilarin-vazgecemedigi-27-uygulama-9io</link>
      <guid>https://dev.to/berkayakcay/tasarimcilarin-vazgecemedigi-27-uygulama-9io</guid>
      <description>&lt;p&gt;İşte üst seviye tasarımcıların en çok kullandıkları uygulamalar ve nedenleri!&lt;/p&gt;

&lt;p&gt;Günümüzde o kadar çok bağımlı olduğumuz uygulama var ki yarın hizmeti durdursalar toparlanmamız çok zor olurdu. Bu durum özellikle de tasarımcılar için geçerli. Geçimlerini büyük yazılımlar sayesinde kazanıyorlar. Dahası, bütün gün tasarım ayrıntılarını inceleyenlerde bir uygulamayı nelerin mükemmel yaptığına dair eşsiz içgörüler var. Tıpkı Superman’in çelikteki mikroskobik yapısal çatlakları gördüğü gibi onlar da UI/UX sürtünme noktalarını görebiliyorlar.&lt;/p&gt;

&lt;p&gt;Bizler de mevcut en iyi tasarımcıları tarayıp iki düzineden fazla tasarımcıyla vazgeçemedikleri uygulamalar hakkında konuştuk. Her tasarımcının en az birkaç tane vazgeçilmez gördüğü uygulaması var. Bu uygulamalardan bazıları özellikle tasarımcılar için yazılmış ama birçoğu da herkesin kullanabileceği cinsten. İşte görüştüğümüz tasarımcıların en beğendiği uygulamalar.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--P5K5yROU--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/750/1%2AquLAtyvEKsMk0KCCq7D61g.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--P5K5yROU--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/750/1%2AquLAtyvEKsMk0KCCq7D61g.jpeg" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;a href="http://www.atext.com/"&gt;ATEXT&lt;/a&gt;
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;Nedir?&lt;/strong&gt; Kısaltmaları otomatik olarak metin parçalarıyla değiştiren bir Mac uygulaması.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Neden vazgeçilmez?&lt;/strong&gt; Ustwo Ürün Tasarımcısı Lee Simpson durumu şöyle açıklıyor: “Tarih ve zaman hazır şablonları veya epostanıza çabucak kişi detaylarını aktarmanız için ideal. Çok sayıda ön tanımlı metin parçacığı mevcut ve size özel metin parçacıkları da oluşturabiliyorsunuz.”&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;a href="https://atom.io/"&gt;ATOM&lt;/a&gt;
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;Nedir?&lt;/strong&gt; Github’dan çapraz platform, heklenebilir metin editörü.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Neden vazgeçilmez?&lt;/strong&gt; Moving Brands Kıdemli Tasarımcısı Toby Milner-Gulland’a göre Atom’un sürüm kontrol seçenekleri ve çok yönlülüğü onu bir numaralı metin editörü yapıyor.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;a href="http://www.axure.com/"&gt;AXURE&lt;/a&gt;
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;Nedir?&lt;/strong&gt; Bir çapraz platform uygulaması ve internet sitesi prototiplendirme aracı.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Neden vazgeçilmez&lt;/strong&gt;? Zappos Kullanıcı Deneyimi Lideri Jason Broughton, “Axure bizim bir numaralı prototiplendirme aracımız. Kullanıcı testi için çabucak prototip tasarımı oluşturmamızı, dokümantasyon ve hissedar sunumları yapmamızı sağlıyor. Team Project özelliği ise başkalarının çalışmalarının kaybolmasına neden olma korkusu olmadan projeler üzerinde birlikte çalışma imkanı sağlıyor. Bu aracın en iyi tarafı telefonda, tablette ve masaüstünde test modelleri hazırlamada kullanışlı olmasıdır,” diyor.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;a href="https://www.behance.net/"&gt;BĒHANCE&lt;/a&gt;
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;Nedir?&lt;/strong&gt; Bir Adobe iştiraki olan internet sitesi ve uygulama, tasarımcıların çevrimiçi olarak portfolyolarını paylaşmalarını sağlıyor.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Neden vazgeçilmez?&lt;/strong&gt; Tabletop Whale Veri Görselleştiricisi Eleanor Lutz, “Bēhance’de dolaşıp diğer tasarımcıların çalışmalarını görmeyi çok seviyorum. Bu uygulamayla beğendiğiniz tasarımcıları takip edebiliyor veya herhangi bir konu üzerine güncel en iyi tasarımları gezinmek için ‘Discover’ fonksiyonunu kullanabiliyorsunuz. iPad sürümü de gayet başarılı bir şekilde çalışıyor,” diyor.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;a href="http://www.google.com/"&gt;CHROME&lt;/a&gt;
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;Nedir?&lt;/strong&gt; Google’ın Mac, PC, Linux ve mobil işletim sistemlerinin yanı sıra Chrome işletim sistemi için de mevcut olan çapraz platform tarayıcısı.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Neden vazgeçilmez?&lt;/strong&gt; Moving Brands Kıdemli Tasarımcısı Toby Milner-Gulland’a göre, modern web standartlarıyla uyumlu olması, fantastik hızı ve güvenilirliğiyle Chrome “bütün platformlarda test etme ve deneyimleme için en iyi tarayıcı”.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;a href="https://getcloudapp.com/"&gt;CLOUDAPP&lt;/a&gt;
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;Nedir?&lt;/strong&gt; Ekran görüntüleri, dosyalar, web bağlantıları ve hatta ekran kayıtları da dahil olmak üzere bilgisayarlar arasında her şeyi paylaşmak için çevrimiçi bir platform.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Neden vazgeçilmez?&lt;/strong&gt; Ustwo Ürün Tasarımcısı Lee Simpson, “Kendimi bildim bileli CloudApp’i kullanıyorum. Ekran görüntülerini ve küçük boyutlu dosyaları paylaşmada Dropbox’ın önünde ve eposta oluşturmadan da müşterilere resim bağlantıları göndermeyi süper kolaylaştıran bir uygulama. Hala ücretsiz sürümünü kullanıyorum ve henüz limiti aşmadım. Daha büyük dosyalar için doğal olarak Dropbox’ı kullanıyorum,” diyor.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;a href="http://www.evernote.com/"&gt;EVERNOTE&lt;/a&gt;
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;Nedir?&lt;/strong&gt; Tüm yemek tariflerinizi, notlarınızı, fişlerinizi ve diğer dijital dosyalarınızı saklayan bir çapraz platform.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Neden vazgeçilmez?&lt;/strong&gt; Skully Genel Müdür Yardımcısı Josh Bloom, “MacBook Pro bilgisayarım, iPhone 6 Plus telefonum ve Samsung S6 Edge telefonum da dahil olmak üzere çok sayıda farklı cihaz arasında çalışıyorum. Dolayısıyla, nerede olursam olayım ya da hangi cihazı kullanırsam kullanayım fikir, düşünce, tartışma, ekran görüntüsü ve resimler gibi şeyleri saklamanın bir çaresini bulmam gerekiyordu. Evernote tüm bu platformların senkronize olmasını sağlıyor ve ben de kağıt taslakları, beyaz tahta resimleri, ürün fikirleri, blog yazıları veya kitap fikirleri hakkındaki bütün notlarıma ulaşabiliyorum,” diyor.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.feedbin.me/"&gt;&lt;strong&gt;FEEDBIN&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Nedir?&lt;/strong&gt; Çok sayıda uygulamayı destekleyen RSS beslemeli çevrimiçi okuyucu.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Neden vazgeçilmez?&lt;/strong&gt; Ustwo Ürün Tasarımcısı Lee Simpson, “Bir arkadaşım yaklaşık altı ay önce Feedly’e alternatif olarak Feedbin’le tanıştırdı beni. Feedly bir anda kullanışsız gibi gelmeye başladı. Hiç kullanmadığım tonlarca özelliği vardı. Ayrıca, arayüzü içeriğin o kadar önüne geçiyordu ki bir noktadan sonra beslemelerime bile bakmamaya başlamıştım. Feedbin’in gerçekten basit oluşunu seviyorum. Ayrıca, aylık sadece 3$ ve Reeder’la da entegre çalışabiliyor,” diyor.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;a href="http://framerjs.com/"&gt;FRAMER STUDIO&lt;/a&gt;
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;Nedir?&lt;/strong&gt; Arayüzler, etkileşimler ve animasyonlar için prototiplendirme aracı.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Neden vazgeçilmez?&lt;/strong&gt; ART+COM Studios’dan Raphaël de Courville, “Framer Studio’yu sadece kısa bir süredir kullanıyorum ama iş hayatımın ayrılmaz bir parçası haline gelecekmiş gibi görünüyor. Henüz başlangıç aşamasında. O yüzden, bazı özellikler hala tam anlamıyla oturmuş değil ama gelecek vaat eden bir uygulama ve hem Photoshop’la hem de Sketch’le mükemmel bir şekilde entegre çalışabiliyor,” diyor.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;a href="https://hackpad.com/"&gt;HACKPAD&lt;/a&gt;
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;Nedir?&lt;/strong&gt; Dropbox iştiraki olan bu uygulama çevrimiçi, ortak çalışmaya dayalı bir metin editörü.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Neden vazgeçilmez?&lt;/strong&gt; Raphaël de Courville, “Belgeler üzerinde ortak çalışma yapma konusunda Hackpad’in büyük bir hayranıyım. Hem araştırma yaparken hem de makale taslaklarımı hazırlarken kaynakları derlemek için bu metin editörünü kullanıyorum. Videoları otomatik olarak gömüyor ki bu da çeşitli video platformlarından tek yerde içerik toplamak için müthiş bir özellik. Hackpad’a herkes müdahil olup katkıda bulunabildiği için toplantı veya konferans esnasında sırayla not tutmak için de harika bir araç,” diyor.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;a href="http://hangouts.google.com/"&gt;HANGOUTS&lt;/a&gt;
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;Nedir?&lt;/strong&gt; Google’ın mesajlaşma, sesli arama ve video konferans için yarattığı bir çapraz platform.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Neden vazgeçilmez?&lt;/strong&gt; Work &amp;amp; Co Kurucu Ortağı Joe Stewart, “Ben Portland’da çalışıyorum. Müşterilerim ise San Francisco’da ve iş arkadaşlarım da New York’ta. O yüzden kelimenin tam anlamıyla Google Hangouts’ta yaşıyorum. Hiçbir uygulama karşınızdaki insanla aynı odada olmanın yerini tutamaz ama bu uygulama telefonda bile inanılmaz derecede iyi çalışıyor. Biriyle konuşurken yüzünü görmek süper etkili bir şey. İş paylaşmak için kullanışlı ve göreceli olarak daha hafif bir uygulama,” diyor.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;a href="http://www.ifttt.com/"&gt;IFTTT&lt;/a&gt;
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;Nedir?&lt;/strong&gt; Çok sayıda hizmeti birbirine bağlayan bir çözüm aracı. Örneğin, bu uygulamayla Gmail’deki yıldızlı epostalarınızın Dropbox hesabınıza otomatik olarak yedeklenmesini sağlayabiliyorsunuz.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Neden vazgeçilmez?&lt;/strong&gt; Ustwo Ürün Tasarımcısı Lee Simpson, “IFTTT’ye 2010 gibi kaydoldum (orijinal beta sürümünün bir parçasıydım) ve o zamandan beri düzenli olarak kullanıyorum. Fotoğrafları yedeklemek, paylaştığım bağlantıları saklamak, hatırlatıcı göndermek, sosyal ağlarda aynı anda ileti paylaşmak için kullanıyorum. Kısacası, benim için bir ton iş yapıyor. Geçenlerde birkaç ‘tarifi’ birbirine bağlayarak SMS ruh hali izleme uygulaması oluşturdum. Çok karmaşık fikirler ve prototiplerle deneyim yapmak için oldukça hızlı bir araç,” diyor.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;a href="https://www.adobe.com/products/illustrator/"&gt;ILLUSTRATOR&lt;/a&gt;
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;Nedir?&lt;/strong&gt; Orijinal dijital sanat oluşturmak için Adobe’un sunduğu bir vektör grafik editörü.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Neden vazgeçilmez?&lt;/strong&gt; Froont Kurucusu Sandijs Ruluks, “Bu program çizim, tasarım, kullanıcı akışları ve telkafesler de dahil olmak üzere neredeyse her şey için en sık şekilde kullandığım program,” diyor. Moving Brands Kıdemli Tasarımcısı Toby Milner-Gulland ise, “Sofistike her türlü vektör çizim, telkafes ve şablon için en iyi program,” sözleriyle Ruluks’u teyit ediyor.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;a href="https://www.apple.com/mac/keynote/"&gt;KEYNOTE&lt;/a&gt;
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;Nedir?&lt;/strong&gt; PowerPoint’in Apple sürümü olan Keynote, iPad ve Mac’te kullanılabilen bir sunum hazırlama yazılımı.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Neden vazgeçilmez?&lt;/strong&gt; Skully Genel Müdür Yardımcısı Josh Bloom, “MacBook Pro bilgisayarımda kullandığım Keynote, tasarım ve konseptleri daha fazla kişiyle paylaşmak için idel bir program. Mükemmel animasyonlar ve geçişler sunan bu uygulamayla tıklama yöntemiyle çabucak prototip oluşturabiliyorsunuz. İnsanlar tıpkı After Effects’le yapılmış gibi görünen müthiş hareketli grafikler bile yapabiliyorlar,” diyor. Froont Kurucusu Sandijs Ruluks ise durumu daha kısa ve öz bir şekilde anlatarak, “Tasarım bu denklemin sadece bir yönü. Bir tasarımın ardındaki ‘neden’i anlatmak için Keynote’la çalışıyorum,” diyor.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;a href="http://www.linkedin.com/"&gt;LINKEDIN&lt;/a&gt;
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;Nedir?&lt;/strong&gt; Profesyoneller için sosyal ağ.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Neden vazgeçilmez?&lt;/strong&gt; Zappos Kullanıcı Deneyimi Lideri Jason Broughton, “Şu çok açık ki Linkedin yeni bir iş bulmak için mükemmel bir mecra ama aynı zamanda tasarım topluluğuyla bağlarınızı koparmamak için de iyi bir kaynak. Klişeleşmiş ilham verici resim iletileri bir yana, tasarım üzerine derinlemesine tartışmalar yapılan bir grup bulmak da oldukça kolay. Şu anda karakter evrimi üzerine büyük bir başlığı takip ediyoruz,” diyor.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;a href="https://www.android.com/"&gt;LOLLIPOP&lt;/a&gt;
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;Nedir?&lt;/strong&gt; Google’ın akıllı telefonlar, tabletler, giyilebilir ürünler ve hatta geçici dizüstü bilgisayarlarda kullanılabilen mobil işletim sisteminin son sürümü.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Neden vazgeçilmez?&lt;/strong&gt; Lollipop’un Öncelikli Mod’u olmadan yaşayamayacağını belirten Huge Grup Kreatif Direktörü Charles Fulford, “Öncelikli Mod, çok önemli bildirimler haricinde telefonumdaki bütün bildirimleri kapatmama olanak sağlıyor,” diyor. Fulford’a göre, iyi iş odaklanılmış zaman ister. “Toplantılarda 23 saniyede bir telefonlarına bakan müşteriler görüyorum. Dinleme ve bunu takiben doğal empati mükemmel tasarım için ana araçlardır. Öncelikli Mod yoğun günlerdeki parazitleri ortadan kaldırıyor.”&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;a href="http://mindnode.com/"&gt;MINDNODE&lt;/a&gt;
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;Nedir?&lt;/strong&gt; iPhone, iPad ve Mac için geliştirilmiş bir zihin haritalama yazılımı.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Neden vazgeçilmez?&lt;/strong&gt; Light UX Başkanı Jannie Lai, “MindNode şeması bana metro ağını anımsatıyor. Tasarımı sayesinde işlerimizi planlı bir şekilde yapabiliyoruz. Bu uygulama sayesinde konsept modellerden tasarım hiyerarşisine, özel hareketlere ve niteliklere kadar büyük ya da küçük fark etmeksizin her şeyi not alabiliyorum. Yaptığımız işe kuş bakışı bakmamızı sağlıyor. Tasarımcılar metin belgelerinden ziyade görsel şeylere daha iyi yanıt verdiği için bu uygulamayı planlama ve iletişim için etkili bir araç olarak görüyorum,” diyor.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;a href="https://www.fiftythree.com/paper"&gt;PAPER BY FIFTYTHREE&lt;/a&gt;
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;Nedir?&lt;/strong&gt; iPad için tasarımcı odaklı karalama defteri.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Neden vazgeçilmez?&lt;/strong&gt; Ustwo Ürün Tasarımcısı Shaun Tollerton, “Tüm tasarımlarıma karalama yaparak başlamayı seviyorum. Bunun için de en beğendiğim uygulama Paper by FiftyThree uygulaması. Ekibimle paylaşabileceğim yeni konseptler oluşturmak çok kolay,” diyor.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;a href="http://www.photoshop.com/"&gt;PHOTOSHOP&lt;/a&gt;
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;Nedir?&lt;/strong&gt; Adobe’un efsanevi resim düzenleme ve rötuş yazılımı.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Neden vazgeçilmez?&lt;/strong&gt; Ustwo Ürün Tasarımcısı Shaun Tollerton, “Yaptığım karalama veya konsept içime sindiği zaman o tasarımı hayata geçirmek için Photoshop kullanıyorum. Evet, fazla abartılan bir araç ama yapmak istediğim şeyi kolaylıkla yapmamı sağlıyor. Tüm tasarım unsurları vektör bazlı olduğu için tasarım kolayca ölçeklendirilebiliyor,” diyor.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;a href="http://www.pinterest.com/"&gt;PINTEREST&lt;/a&gt;
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;Nedir?&lt;/strong&gt; Çevrimiçi imlemeye dayalı popüler bir sosyal ağ.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Neden vazgeçilmez?&lt;/strong&gt; Huge Grup Direktörü Charles Fulford, “Bu pek de bilinmeyen bir uygulama sayılmaz ama ne kadar sıklıkla ziyaret ettiğime bakınca ben bile şaşırıyorum. Boş vakit ve ilham tıpkı bulunmaz mavi balina gibi kısa süreliğine kendini gösterip kayboluyor. Dolayısıyla, herhangi bir cihazdan (ve hatta Chrome eklentisinden) Pinterest’e erişim imkanı bu uygulamayı duvarları olmadan sürekli varlığını hissettiren ve genişleyen bir müzeye dönüştürüyor,” diyor. Zappos Kullanıcı Deneyimi Lideri Jason Broughton, “Pinterest’i herhangi bir projesinde kullanmayan bir tasarımcı bulmanız çok zor,” diyerek durumu onaylıyor.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;a href="http://www.pixate.com/"&gt;PIXATE&lt;/a&gt;
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;Nedir?&lt;/strong&gt; Giyilebilir teknoloji ürünleri de dahil olmak üzere hangi cihazı kullanırsanız kullanın %100 bağımsız prototipler oluşturmak için bir çapraz platform uygulaması.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Neden vazgeçilmez?&lt;/strong&gt; Ustwo Ürün Tasarımcısı Shaun Tollerton, “Şu anda Android Wear için saat yüzleri üzerine çalışıyoruz. Platform üzerinde desteği olduğu için prototiplendirme yaparken Pixate’i kullanacağım. Böylece, amaçlanan tasarımları doğrulayacak ve işlevselliğini test edebileceğim,” diyor.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;a href="https://processing.org/"&gt;PROCESSING&lt;/a&gt;
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;Nedir?&lt;/strong&gt; Yeni medya sanatı, elektronik sanatlar ve görsel tasarım projeleri için açık kaynaklı bir programlama dili.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Neden vazgeçilmez?&lt;/strong&gt; ART+COM Studios’dan Raphaël de Courville, “Kodlamada çabucak tasarım olanaklarını araştırmamı sağlıyor. Gerekli zamanlarda daha karmaşık yüklemeleri geliştirmek için ölçeklendirilebiliyor. Alışık olduğum tekrarlamalı oluşturma süreci için gerekli olan hızlı geribildirim döngüsü seviyorum,” diyor.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;a href="http://www.r-project.org/"&gt;R&lt;/a&gt;
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;Nedir?&lt;/strong&gt; Veri görselleştirme için kullanışlı olan bir istatistiksel programlama ortamı.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Neden vazgeçilmez?&lt;/strong&gt; FlowingData Kurucusu Nathan Yau, “Teknik olarak bir ‘tasarım uygulaması’ olmasa da benim için vazgeçilmez bir uygulama. Veri grafikleri yapabiliyorum. R, veri idaresinde oldukça başarılı. Kullandığım diğer her şey içinse bir alternatif mevcut,” diyor.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;a href="http://bjango.com/mac/skala/"&gt;SKALA&lt;/a&gt;
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;Nedir?&lt;/strong&gt; Kullanıcı arabirimi ve ikon tasarım aracı.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Neden vazgeçilmez?&lt;/strong&gt; Light UX Başkanı Jannie Lai, “Tasarım ekibindeki herkes telefonlarından gerçek zamanlı olarak çalışmalarına bakmak için Skala’yı kullanıyor. Çalışmalarımızın yüksek piksel yoğunluklu ekranlarda düzgün göründüğünden emin olmak istiyoruz ama aynı zamanda kullanışlı olmasını da istiyoruz,” diyor.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;a href="http://bohemiancoding.com/sketch/"&gt;SKETCH&lt;/a&gt;
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;Nedir?&lt;/strong&gt; Kullanımı kolay UI/UX tasarım uygulaması.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Neden vazgeçilmez?&lt;/strong&gt; Skully Genel Müdür Yardımcısı Josh Bloom, “MacBook Pro bilgisayarımdaki Sketch uygulaması telçerçevelemeyi ve görsel tasarımı eşit oranda idare ediyor. Büyük oranda vektör bazlı ve çok fazla iş yükü olmadan çeşitli ebatlarda tasarım edinimi için tonlarca müthiş özelliği var,” diyor. Work &amp;amp; Co Kurucu Ortağı Joe Stewart ise uygulamanın sadece iPhone uygulamaları tasarlayanlar için gerçekten kullanışlı olduğunu belirterek, “Bana aptalca gelse de Android desteği vermeyi pek düşünmüyorlar gibi,” diyor.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;a href="https://slack.com/"&gt;SLACK&lt;/a&gt;
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;Nedir?&lt;/strong&gt; Devamlı sohbet odaları etrafına yoğunlaşmış çapraz platformlu bir ekip iletişim aracı.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Neden vazgeçilmez?&lt;/strong&gt; Slack uygulaması şaşırtıcı bir şekilde tasarımcılara sorduğumuz uygulamalar arasında adı en çok geçen uygulamaydı. Huge Grup Direktörü Charles Fulford bütün tasarım çalışmalarında işbirliği ve iletişimin anahtar rol üstlendiğini belirtiyor. “Tüm hesapların ve projelerin organize edilmesi ve tek bir çatı altında ve tüm cihazlar tarafından erişilebilir olması günlük kaosu ortadan kaldırıyor,” diyor. “Slack ile her şeyi kontrol etmek ve anlık geribildirim yapmak projelerin sağlıklı yürümesini sağlıyor. Ayrıca, üçüncü taraf entegrasyonları pürüzsüz bir iş akışı sağlıyor. Örneğin, Box kısa bilgilendirmelerden araştırmalara, telçerçevelere kadar tüm proje dosyalarına erişim veriyor. Hatta Slackbot, Product Hunt’tan günlük ilham verici beslemeler bile alıyor.”&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;a href="http://www.macromates.com/"&gt;TEXTMATE&lt;/a&gt;
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;Nedir?&lt;/strong&gt; Kod ve biçimlendirmede uzmanlaşmış OS X için grafik metin editörü.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Neden vazgeçilmez?&lt;/strong&gt; OKFocus Kreatif Direktörü Ryder Ripps, “Metin editörleri en çok kullandığım uygulamalardır. Fikirlerimi not etmekten tutun da kod yazmaya kadar her şey için bu uygulamaları kullanıyorum. Dürüst olmak gerekirse, şimdiye kadar çok sayıda metin editörü kullandım. O yüzden, hangisini kullandığımın bir önemi yok. TextMate aralarında en çok kullanılanı ama eskiden BBEdit’i, Text Wrangler’i ve Notepad’i de kullanırdım,” diyor.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Siz de favori uygulaması olan bir tasarımcı mısınız? Beğendiğiniz uygulamayı bu listeye eklemek için aşağıda yorum yazabilirsiniz.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ux</category>
      <category>ui</category>
    </item>
    <item>
      <title>Nesnelerin İnterneti (IoT): Geleceğin Teknolojisi</title>
      <dc:creator>Berkay AKÇAY</dc:creator>
      <pubDate>Sun, 11 Aug 2019 17:08:14 +0000</pubDate>
      <link>https://dev.to/berkayakcay/nesnelerin-i-nterneti-iot-gelecegin-teknolojisi-bj6</link>
      <guid>https://dev.to/berkayakcay/nesnelerin-i-nterneti-iot-gelecegin-teknolojisi-bj6</guid>
      <description>&lt;h3&gt;
  
  
  “The Machine Stops” Nesnelerin İnterneti (IoT): Geleceğin Teknolojisi
&lt;/h3&gt;

&lt;p&gt;İnternet hayatlarımızı soyut açıdan tamamen değiştirdi: arkadaş edinme tarzımız ve ilişkileri sürdürme şeklimiz, haberleri ve bilgileri içselleştirmemiz, eğlenceyi tüketim şeklimiz ve daha fazlası. Şimdi de tüm bunların son ayağı olan Nesnelerin İnterneti (IoT) ise çevremizi ve bedenimizi gerçek manada izleme ve kontrol etme vaadinde bulunuyor. Eğer bu yeni ve birleştirici ağ beklendiği gibi gelişirse hali hazırda yaptığımız ışığı yakma, termostatı ayarlama ve manavdan alışveriş yapma gibi günlük hayatın basit eylemlerini köklü bir biçimde değiştirecektir. Sadece akıllı telefonumuzun ekranı yardımıyla bunlardan daha fazlasını yapabiliyor olacağız. Daha yakından bakarsak, bu teknoloji insanın üzerine düşen işi geliştiriyor veya indirgiyor diyebiliriz.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--nyS4ChYf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/960/1%2A36SbJFt0hByjfZ_07yI-1g.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--nyS4ChYf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/960/1%2A36SbJFt0hByjfZ_07yI-1g.jpeg" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Her yeni teknolojide olduğu gibi bu teknolojinin de hangi değişimleri tetikleyeceğini tam olarak öngöremiyoruz. Ancak 20. yüzyıl romancısı ve &lt;strong&gt;&lt;em&gt;Howards End&lt;/em&gt;&lt;/strong&gt; ile &lt;strong&gt;&lt;em&gt;A Passage to India&lt;/em&gt;&lt;/strong&gt; ’nın yazarı &lt;strong&gt;E. M. Forster&lt;/strong&gt; ’dan ilham alabiliriz. Kendisi “ &lt;strong&gt;The Machine Stops&lt;/strong&gt; ” (1909) adlı fütüristik kısa hikayesinde benzer bir evrensel öngörüde bulunmuştur. Bu öngörüde teknoloji insanlığın tüm ihtiyaçlarına cevap vermektedir.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--NQb0kZCU--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/220/1%2ACThrXo8HI1KM7p2xj62LZg.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--NQb0kZCU--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/220/1%2ACThrXo8HI1KM7p2xj62LZg.jpeg" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Forster kendi döneminde büyük teknolojik değişiklikler olarak gösterilen otomobilleri ve hava araçlarını pek sevmemiştir. 1908 yılında,&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“…eğer yaşlı bir insan olana kadar yaşarsam gökyüzünün de yollar kadar tehlikeli olduğunu göreceğim… Bilim insanoğlunu özgürleştirmek yerine…&lt;br&gt;&lt;br&gt;
onu makinelere köle haline getiriyor,”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;demiştir. Forster’in bu tepkisi, eserinin tonunu anti-Ütopya olarak göstermektedir. Eleştirmen ve siyasi yazar &lt;strong&gt;George Woodcock &lt;em&gt;The Sewanee Review&lt;/em&gt;&lt;/strong&gt; ’deki “ &lt;strong&gt;Utopias in Negative&lt;/strong&gt; ” adlı makalesinde “ &lt;strong&gt;The Machine Stops&lt;/strong&gt; ” eserini iki önemli distopik romanın öncüsü olarak adlandırmıştır. Bunlar &lt;strong&gt;Yevgeny Zamyatin&lt;/strong&gt; ’in &lt;strong&gt;&lt;em&gt;We&lt;/em&gt;&lt;/strong&gt; (1920) ve &lt;strong&gt;Aldous Huxley&lt;/strong&gt; ’in &lt;em&gt;Brave&lt;/em&gt; &lt;strong&gt;&lt;em&gt;New World&lt;/em&gt;&lt;/strong&gt; (1932) adlı romanlarıdır.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Lq-Md-gi--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/317/1%2AZMbmtnjv3jsM-TBlyMlyXA.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Lq-Md-gi--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/317/1%2AZMbmtnjv3jsM-TBlyMlyXA.jpeg" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Forster’in “The Machine Stops”taki kötümser bakış açısı bizleri “sadece birleşmeye” teşvik eden ünlü vecizesinden kaynaklanmaktadır. Forster’in makinelerin yükselişiyle birlikte kendisi gibi “ruhların” yok olmasından duyduğu korkunun yanı sıra bu hümanistik değer onun teknolojinin insanlara neler yapabileceği üzerine yaptığı yorumlarını şekillendirmektedir ki bu yorumlar günümüzde bile üzerine düşünmeye değerdir.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--_tqbDWlA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/334/1%2A02oSohyVZAq9hAagE2JP2A.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--_tqbDWlA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/334/1%2A02oSohyVZAq9hAagE2JP2A.jpeg" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Keza Forster’in hikayesiyle Nesnelerin İnterneti’nin ilk sürümü arasında çok sayıda benzerlik vardır. Britanyalı teknoloji uzmanı &lt;strong&gt;Kevin Ashton&lt;/strong&gt; “ &lt;strong&gt;Nesnelerin İnterneti&lt;/strong&gt; ” deyimini ilk defa 1999’da kullandığında bu deyim tek bir temel fikri kapsıyordu: montaj bandında ihtiyaç duyulan parçalar gibi gerçek nesneleri algılanabilir küçük kablosuz çiplerle etiketlemek. Böylece herbir “şey” internet üzerinden zaman ve boşlukta takip edilebilecekti. Ashton, iş dünyası ve tüketiciler için faydalı olan kaynakların ve ürünlerin yetkin yönetiminde Nesnelerin İnterneti teknolojisinin yararlı olabileceğini düşünüyordu. Fakat kendisi daha sonra verilerin yanı sıra gerçek şeyleri de yönlendirmek için bilgisayar kullanımına daha geniş bir anlam ve derinlik keşfetmiştir. Kendisi şunları yazmıştır:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Bizler de tıpkı çevremiz gibi fiziksel varlıklarız. Ekonomi, toplum ve yaşam mücadelesi fikirlere ya da bilgilere dayanmaz — nesnelere dayanır. İkilleri yiyemezsiniz [ya da] sıcak kalmak için onları yakamazsınız… Fikirler ve bilgiler önemlidir ama nesneler daha çok önem arz etmektedir.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--KjVaIogE--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2AHOUkvcxKNkAnA0as1CTAZw.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--KjVaIogE--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2AHOUkvcxKNkAnA0as1CTAZw.jpeg" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Artık Forster’in hayal ettiği dünyadakine benzer şekilde gerçek nesneleri birçok şekilde yönetiyoruz. Nesnelerin İnterneti teknolojisi artık çevremizi, sağlığımızı ve gizliliğimizi etkin bir biçimde etkileyen aygıtları da kapsıyor. Bu aygıtlar arasında uzaktan kumandalı ışık kaynakları, sıcaklığı otomatik olarak ayarlayan termostatlar ve trafiği izleyen ya da eylemlerimizi inceleyen kameralar bu aygıtlara örnek olarak gösterilebilir. Bu teknolojinin öncü geliştiricilerinden MIT mühendislik profesörü Sanjay Sarma “herbir ampül, fan ve aygıtın” eninde sonunda Nesnelerin İnterneti’nin bir parçası olacağını ve bu eğilimin aşikar olduğunu düşünüyor.&lt;/p&gt;

&lt;p&gt;Google, Apple ve diğer şirketler Nesnelerin İnterneti teknolojisinde potansiyeli ileriye taşımak ve imkanları arttırmak için uğraşıyorlar. Güney Koreli elektronik şirketi LG, sütünüz ya da yumurtanız azaldığında otomatik olarak sipariş vererek hayatı kolaylaştırması beklenen “internet bağlantılı buzdolabı” yapıyor.&lt;/p&gt;

&lt;p&gt;Öte yandan, Google’ın 2014’te 3.2 milyar dolara satın aldığı Nest firması tarafından üretilen internet bağlantılı termostat gibi başarılı Nesnelerin İnterneti aygıtları da mevcuttur. Bu aygıt kullanıldıkça öğrenebilen tarzda yapılmıştır. Böylece bu aygıt en nihayetinde optimum konfor sağlamak ve ısıtma-soğutma nedeniyle oluşan faturalarda tasarruf yapmak için evin doluluk oranına ve günün hangi zamanında olunduğuna bağlı olarak evin ısısını otomatik olarak ayarlamaktadır. Başlangıçtaki bazı sorunlardan sonra bu termostat artık genel olarak beğenilmekte ve en azından orta seviyede enerji tasarrufu sağlamaktadır. Geleneksel termostatlardan çok daha pahalı olmasına rağmen yüksek satış rakamına ulaşılmıştır.&lt;/p&gt;

&lt;p&gt;Nesnelerin İnterneti aynı zamanda ışık yayıcı diyotlardan (LEDler) yapay ışık elde eden yeni teknolojik gelişmenin de doğal bir partneridir. 2014’te Nobel Ödülü kazanan araştırmadan sonra bu katıhal aygıtları az elektrik harcayan ışık kaynakları olarak piyasaya sürüldü. Yılların ardından renkli ve beyaz ışık yayabilir ve internet üzerinden kontrol edilebilir hale geldi. Evlerde veya yerleşik sensörleri olan yeni kentsel LED ışıklandırması döşeyen Kopenhag gibi şehirlerde tamamen LEDle ışıklandırılan yerler ambiyans yaratma ya da gerçek zamanlı Nesnelerin İnterneti kontrolü üzerinden duruma göre trafiği yönlendirmeye olanak sağlamaktadır.&lt;/p&gt;

&lt;p&gt;Nesnelerin İnterneti teknolojisine sıcaklığın ya da ışıklandırmanın çevresel etkenlerini yerleştirerek Forster’in “The Machine Stops”ta gösterdiği geleceği yakalayabiliriz ki bu gelecekte insanoğlu teknoloji aracılığıyla varlığını sürdürmek için Dünya’nın yüzeyini terk ediyordu. Tıpkı herkes gibi Forster’in ana karakteri Vashti de pek nadir terk ettiği yeraltındaki bir odada yalnız başına yaşıyordu. Bunun nedeni de Makine adı verilen karanlık bir zeka ve mekanizma aracılığıyla tüm ihtiyaçlarını karşılayabilmesiydi.&lt;/p&gt;

&lt;p&gt;Makine bu yeraltı dünyasına ışık ve havalandırma sağlıyordu ve insanlar bunun Makine’nin içinde fiziksel olarak ayrılmış olsalar da Makine onları birbirlerine bağlıyordu. Vashti’nin odasında pek az şey vardır ama Forster Makine’nin Vashti’yi “sadece dünyada önem verdiği kişilerle iletişime sokuyordu.” Vashti, video ve ses aracılığıyla herhangi bir bireyle sohbet edebiliyor ya da bir gruba konuşma yapabiliyordu. Uyarılma ya da rahatlama içinse Makine aracılığıyla edebiyat ya da müzik gibi seçimler yapabiliyordu.&lt;/p&gt;

&lt;p&gt;Buradaki sosyal etkileşim ve eğlence esrarengiz bir biçimde internetin günümüzde Facebook, Skype, iTunes vb. platformlar aracılığıyla verdiği hizmetler üzerine öngörüde bulunmaktadır. Fakat buradaki Makine her kişi için insanlığın tüm maddesel isteklerini, yemek tedarikini, giysileri ya da istek üzerine sıcak veya soğuk banyoyu sağlayarak günümüz teknolojisinden çok daha fazlasını sunuyordu. Ayrıca, Makine her odaya kurulan ekipman aracılığıyla ihtiyaç halinde bireyselleştirilmiş tıbbi tanı ve bakım hizmetleri de sunmaktadır.&lt;/p&gt;

&lt;p&gt;Vashti bu izole ve durağan varoluşu tamamen kabul etmekte ve bu durumun hem kendisi hem de insanlık için fiziksel ve duygusal anlamda neye mal olduğundan habersiz kalmaktadır. Vashti cüce gibi “mantar kadar beyaz yüzlü… kundaklı bir et yığınına” benzemektedir. Oğlu Kuno’yu önemsese de diğer insanlarla doğrudan iletişime direnç göstermektedir. İnsan dokunuşu duygusal ve anlamsal olarak hayattan tamamen sökülmüştür ve cinsellik üreme amacıyla Makine tarafından küçük çiftlere indirgenmiştir.&lt;/p&gt;

&lt;p&gt;Ancak hikayedeki herkes bu hayatı benimsememektedir. Kuno bir defasında Doğa’yı hayretler içerisinde izlediği ve sonunda insanlığın kaybolduğunu anladığı yeryüzüne çıkışı için Makine’ye başkaldırmıştır. Fakat bu farkına varma durumu çok gecikmiş bir eylemdir ve Makine artık arıza çıkarmaya başlamıştır. İlk başlarda sunduğu müziklerde bazı kesilmeler olur. Daha sonra ise ışıklandırması, yemekleri ve tıbbi hizmetleri sorun çıkarmaya başlar. Son sahnede, Makine artık tamamen durarak Vashti, Kuno ve diğer biçare kalabalığı karanlıkta ölüme terk eder. Tek çözüm hayatta kalan az sayıda insanın yeryüzünde Doğa’nın içinde insanlığı yeniden yaratmasıdır.&lt;/p&gt;

&lt;p&gt;Forster’in hikayesi felaketle sonuçlanıyor ama Nesnelerin İnterneti teknolojisi bizi nereye götürürse götürsün insanlığı bir yeraltı felaketine götürmeyecektir. İyimser olmak gerekirse, Nesnelerin İnterneti teknolojisinin genel kabul görmesi ve dikkatli kullanılması halinde insanlığa faydalı olabilir. Aksi halde, fütursuzca kullanıldığında insanlığın potansiyelini düşürebilir. Bunlardan hiçbiri yakın bir gelecekte olmayacak ama Makine’nin yapabileceklerinin tohumları internette ve Nesnelerin İnterneti’nde varlığını çoktan göstermiştir. Örneğin, eşyaların hızlı ve geniş ölçekli dağıtımında hayata geçmiştir bile. Tıpkı yeraltındaki odasında oturan Vashti gibi birçoğumuz mağazadan alışveriş yapıp evimize taşımıyoruz. Bunun yerine internetten sipariş verip teslimatı bekliyoruz. Amazon gibi perakendeciler daha hızlı teslimatı sürekli zorladığı için çok uzun süre beklememiz de gerekmiyor. İnsansız dağıtım kamyonları ve hava araçları Nesnelerin İnterneti teknolojisine katıldığında teslimat süreleri daha da kısalacaktır.&lt;/p&gt;

&lt;p&gt;Teslimat kültürü yemek sektörüne de yayılmış durumda. İnternet üzerinden hazır yemek siparişi giderek yaygınlaşıyor ki bu popülarite sırf kısa sürede sıcak pizza almanın da ötesinde anlamlar taşıyor. 15 şehirde bir saat içinde teslimat yapabilen Instacart gibi firmaların çabaları sayesinde internet üzerinden market alışverişi yapmak da artık mümkün. Nesnelerin İnterneti yemek teslimat sistemlerinin gerçek manada etkin hale gelmesi durumunda dünya üzerinde yiyecek sıkıntısı çeken yerlere yiyecek göndermek gibi faydaları da olacaktır ki bu da küresel yiyecek yetersizliğinde büyük kriz olarak görülen durumun çözümüne katkı sağlayacaktır.&lt;/p&gt;

&lt;p&gt;Tıp alanıda da internetin ve Nesnelerin İnterneti teknolojisinin rolü giderek büyümektedir. Bu hizmetler bir doktorla yüz yüze görüşmenin yerini hiçbir zaman alamayabilir ama tıbbi kayıtlar ve MRI sonuçları gibi görüntülemeleri ve kalp hastaları için kalp atışlarını düzenleyen aygıtlar gibi kablosuz bağlantıyla izlenen tıbbi aygıtları da içeren uzaktan konsültasyonun yükselişi de aşikardır. Ayrıca, aktivite seviyeleri, kalp atım hızları, uyku alışkanlıkları vb. şeyleri takip eden Fitbit gibi giyilebilir kişisel aygıtlar da büyük bir patlama yapmıştır. Kablosuz olarak toplanan ve analiz edilen bu gerçek zamanlı veriler daha yüksek sağlık bilinci için insanları motive edebilir ve daha iyi tıbbi bakıma yol açabilir.&lt;/p&gt;

&lt;p&gt;Gelecekle ilgili bu olasılıklar &lt;em&gt;Environmental Health Perspectives&lt;/em&gt;’te yazan Ernie Hood gibi gözlemcileri Nesnelerin İnterneti teknolojisinin insanoğlunu daha sürdürülebilir bir dünyaya taşıyabileceğine ikna etmiştir. Fakat Forster’in teknoloji hakkındaki görüşlerini de aklımızda tutarak bu teknolojinin karanlık ve potansiyel olarak tehlikeli etkilerini de göz önünde bulundurmalıyız.&lt;/p&gt;

&lt;p&gt;Karşımızda duran olasılıklar da iki tanesi ise gizlilik sorunu ve hayatımıza dahil olan fiziksel ihlallerdir. Zararsız gibi görünen Nest termostat bile evin hangi zamanlarda boş olduğunu takip ederek özel bilgiyi potansiyel olarak savunmasız hale getiriyor. En uç örnek ise tıbbi bilgileri ele geçirmek ya da imkansız olmamakla birlikte uzak bir ihtimal de olsa cinayet işlemek için bir bilgisayar korsanının kablosuz kalp aletine erişmesi senaryosudur. Ayrıca, şehir ışıklandırmaları gibi bütünsel Nesnelerin İnterneti sistemlerinde güvenlik ihlalleri olması halinde sonuç Forster’in hikayesindeki gibi geniş çapta can yakıcı olabilir. Ciddi anlamda güçlü güvenlik Nesnelerin İnterneti teknolojisi için olmazsa olmazdır.&lt;/p&gt;

&lt;p&gt;Başka bir mesele daha önümüzde durmaktadır. Nesnelerin İnterneti teknolojisini hangi nihai otorite kontrol edecektir? “The Machine Stops” hikayesinde insanlık sonunda Makine’ye bir Tanrı gibi tapmıştı. Günümüzde bazı insanlar teknolojiye din gibi bir bağlılık gösterse de teknolojiye dinsel bir ağırlık vermiyoruz. Fakat hayatlarımızı Nesnelerin İnterneti teknolojisine teslim ederken bu teslimi gerçekten Google’a mı yapıyoruz? Joseph Janes de “Google Stops” eserinde bu soruyu sormaktadır. Yoksa kısaca GAFA (Google, Apple, Facebook ve Amazon) larak adlandırılan daha büyük bir tekno-şirket “Tanrı”ya mı hayatlarımızı teslim ediyoruz?&lt;/p&gt;

&lt;p&gt;Nesnelerin İnterneti’nin en az öngörülebilen yönü ise insan doğasının onunla nasıl başa çıkacağıdır. Forster’in hikayesinde bodur, mantar kadar beyaz, hiç güneş yüzü görmemiş Vashti, aktif doğal yaşamı teknolojinin mümkün kıldığı pasif yapay yaşamla değiştiren insanlığı temsil etmektedir. Günümüzde obezitenin yanında yiyecek yetersizliği de varsa, bazı kültürlerde insanların hayatta kalmak için çok çalışması gerekiyorsa ve diğer kültürlerde egzersiz isteğe bağlıysa (ve genellikle reddediliyorsa) bir tuşla veya parmak hareketiyle Nesnelerin İnterneti teknolojisi insanlığa tüm ihtiyaçlarını eşit ölçüde verebilecek midir?&lt;/p&gt;

</description>
      <category>nesnelerininternet</category>
      <category>iot</category>
      <category>internetofthings</category>
    </item>
    <item>
      <title>Docker İçerisinde Supervisor Kullanarak Birden Fazla Servis Çalıştırmak</title>
      <dc:creator>Berkay AKÇAY</dc:creator>
      <pubDate>Wed, 05 Jun 2019 19:10:42 +0000</pubDate>
      <link>https://dev.to/berkayakcay/docker-i-cerisinde-supervisor-kullanarak-birden-fazla-servis-calistirmak-3997</link>
      <guid>https://dev.to/berkayakcay/docker-i-cerisinde-supervisor-kullanarak-birden-fazla-servis-calistirmak-3997</guid>
      <description>&lt;p&gt;Bazı durumlarda ufak servislerinizin farklı container içerisine dağılmadan tek bir container içerisinde çalışmasını isteyebilirsiniz.&lt;/p&gt;

&lt;p&gt;Gerçekten bir birine sıkı sıkıya bağlı veya zorunlu olarak kullanmanız gereken durumlarda bu tarz bir yaklaşımda bulunmanızı tavsiye ediyoruz.&lt;/p&gt;

&lt;h4&gt;
  
  
  Docker Ne Öneriyor?
&lt;/h4&gt;

&lt;p&gt;Docker container’ı içerisinde main process olarak &lt;strong&gt;ENTRYPOINT&lt;/strong&gt; veya &lt;strong&gt;CMD&lt;/strong&gt; ile verdiğiniz process’ler çalışmaktadır.&lt;/p&gt;

&lt;p&gt;Genel olarak tavsiye edilen görevlerine göre bölerek her bir container içerisinde sadece bir tane servis çalıştırmaktır.&lt;br&gt;&lt;br&gt;
Docker container’larının network ve volume’larını birbirine bağlayabilirsiniz.&lt;/p&gt;
&lt;h4&gt;
  
  
  &lt;strong&gt;Docker Neden Böyle Söylüyor?&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;Docker aslında işini düzgün yapacak bir main process olsun diyor. Bu process başlangıçta düzgün olarak çalışsın yeni bir child process başlatmak isterse kendisi başlatsın işleri bittiğinde kapatsın, container’a kapatma sinyali geldiğinde bunların hepsini muntazam bir şekilde sonlandırsın.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Daha fazla detay isterseniz buradan başlayabilirsiniz&lt;/em&gt; &lt;a href="https://docs.docker.com/config/containers/multi-service_container/"&gt;&lt;em&gt;https://docs.docker.com/config/containers/multi-service_container/&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h4&gt;
  
  
  Dockerfile Oluşturuyoruz
&lt;/h4&gt;

&lt;p&gt;Senaryo olarak iki farklı servisimiz olduğunu varsayalım.&lt;br&gt;&lt;br&gt;
Birinci servisimiz bir dotnet core API uygulaması olsun.&lt;br&gt;&lt;br&gt;
İkinci uygulamamız external bir kaynaktan gelen paketlenmiş bir SpringFramework API olsun.&lt;/p&gt;

&lt;p&gt;Bu iki servisi kendi case’inize göre düşünebilirsiniz. Herhangi iki farklı process olması yeterli.&lt;/p&gt;


&lt;div class="ltag_gist-liquid-tag"&gt;
  
&lt;/div&gt;


&lt;p&gt;Dikkat ederseniz Docker imajını oluşturmak için projelerin hepsini derledik kopyaladık ama ihtiyacımız olan ENTRYPOINT yada CMD ile çalışacak komutlar yerini &lt;strong&gt;supervisor&lt;/strong&gt; ’a bırakıyor.&lt;/p&gt;

&lt;blockquote&gt;
&lt;h1&gt;
  
  
  SUPERVISORRUN
&lt;/h1&gt;

&lt;p&gt;mkdir -p /var/run/java/ /var/run/dotnet/&lt;/p&gt;

&lt;p&gt;COPY /scripts/supervisor-kill-container.py /scripts/supervisor-kill-container.py&lt;/p&gt;

&lt;p&gt;COPY /src/MyApplication/supervisord.conf /etc/supervisor/supervisord.conf&lt;/p&gt;

&lt;p&gt;CMD [“supervisord”, “-c”, “/etc/supervisor/supervisord.conf”]&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h4&gt;
  
  
  Supervisor Ayarlarının Yapılması
&lt;/h4&gt;

&lt;p&gt;Supervisor için gerçekleştirebileceğiniz birçok ayar var.&lt;br&gt;&lt;br&gt;
Öncelikle buraya dokümantasyon linkini bırakıyorum &lt;a href="http://supervisord.org/index.html"&gt;http://supervisord.org/index.html&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Supervisor config dosyasının isimlendirmesini sizden &lt;strong&gt;supervisord.conf&lt;/strong&gt; şeklinde yapmanızı talep ediyor. Daha sonra bu dosya ismini önceden belirli pathlerde arıyor.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;em&gt;$CWD/supervisord.conf&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;$CWD/etc/supervisord.conf&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;/etc/supervisord.conf&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;/etc/supervisor/supervisord.conf (since Supervisor 3.3.0)&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;../etc/supervisord.conf (Relative to the executable)&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;../supervisord.conf (Relative to the executable)&lt;/em&gt;&lt;/li&gt;
&lt;/ol&gt;


&lt;div class="ltag_gist-liquid-tag"&gt;
  
&lt;/div&gt;


&lt;p&gt;Ayar dosyasında iki farklı process’in çalıştığını bunları çalıştırmak için gerekli olan komutu ayrıcı log’ların yazılması için bazı ayarlar koyduk.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Main Process Kapanırsa Diğer Process’lerin Kapanması&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;Biz istedik ki main process olarak gördüğümüz dotnet projemizin herhangi bir şekilde kapanması durumunda bir script çalışsın ve supervisor içerisinde bulunan diğer process’leride sonlandırsın.&lt;/p&gt;


&lt;div class="ltag_gist-liquid-tag"&gt;
  
&lt;/div&gt;


&lt;h4&gt;
  
  
  Çerez
&lt;/h4&gt;

&lt;p&gt;Supervisor aynı zamanda basit bir ayarla size bir HTTP server oluşturabiliyor. TCP isteklerini dinleyerek process’lerini durumunu görüp müdahale edebiliyorsunuz.&lt;/p&gt;

&lt;p&gt;Portları docker dışarısına açmayı unutmayın :)&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--dVEqnhK9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2AQhgkDxTnAVJ6c7-OfVjz6Q.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--dVEqnhK9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2AQhgkDxTnAVJ6c7-OfVjz6Q.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Referanslar&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://docs.docker.com/config/containers/multi-service_container/"&gt;&lt;em&gt;https://docs.docker.com/config/containers/multi-service_container/&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://supervisord.org/configuration.html#inet-http-server-section-settings"&gt;&lt;em&gt;http://supervisord.org/configuration.html&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://blog.zhaw.ch/icclab/process-management-in-docker-containers/"&gt;&lt;em&gt;https://blog.zhaw.ch/icclab/process-management-in-docker-containers/&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>supervisor</category>
      <category>containers</category>
      <category>docker</category>
    </item>
    <item>
      <title>AT&amp;T Bell Labratuvarlarından Endüstriye, Endüstriden Yazılım Süreçlerine</title>
      <dc:creator>Berkay AKÇAY</dc:creator>
      <pubDate>Sun, 02 Jun 2019 18:25:15 +0000</pubDate>
      <link>https://dev.to/berkayakcay/at-t-bell-labratuvarlarindan-endustriye-endustriden-yazilim-sureclerine-4m4l</link>
      <guid>https://dev.to/berkayakcay/at-t-bell-labratuvarlarindan-endustriye-endustriden-yazilim-sureclerine-4m4l</guid>
      <description>&lt;p&gt;Bu aralar &lt;strong&gt;The Idea Factory&lt;/strong&gt; içerisinde &lt;strong&gt;Bell Labs&lt;/strong&gt; çalışanlarının etkileyici hikayelerini okurken kalite kontrol süreçlerinin ortaya çıkması ve tarihsel sürecini de kendimce harici okumalar ile araştırıyordum.&lt;/p&gt;

&lt;p&gt;Bu sürede &lt;strong&gt;Martin Fowler&lt;/strong&gt; ’ın &lt;a href="https://martinfowler.com/articles/is-quality-worth-cost.html"&gt;&lt;strong&gt;Is High-Quality Software Worth the Cost?&lt;/strong&gt;&lt;/a&gt; yazısında rastladım. Her zamanki gibi bizleri anlattıklarına ikna eden Sayın Fowler Piyasada aynı işi yarı fiyatına yapanların iyi mi kötü mü yaptığını özetlemiş.&lt;/p&gt;

&lt;p&gt;Bell Labs’tan çıkan kalite kontrol kavramının kısa tarihi ve yazılımda kalite konusunda içimden geçen fikirleri içeren bir yazı paylaşmak istedim.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--VxoFf5Ja--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/600/1%2Afzo0mFfjslpeIO7JsEn2xQ.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--VxoFf5Ja--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/600/1%2Afzo0mFfjslpeIO7JsEn2xQ.jpeg" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Fizikçiden Çıkan Kalite Kontol Yönteminin Endüstriye Örnek Olması
&lt;/h4&gt;

&lt;p&gt;Kitabı okuyarak &lt;strong&gt;AT&amp;amp;T&lt;/strong&gt; şirketinin o dönemde neler yapmaya çalıştığını daha ayrıntılı öğrenebilirsiniz ama ben konuya giriş yapmak için dönemi sizlere biraz özetlemek istiyorum.&lt;/p&gt;

&lt;p&gt;…Birkaç kilometreden iletişim kurmak için ürün geliştirmeye başlayan, önce amerikayı baştan sona daha sonrada dünyayı birbirine bağlayacak bir sistem geliştirmeye çalışılırken ortaya çıkan ürünlerden bir tanesiydi &lt;strong&gt;Teletype&lt;/strong&gt;. Ürün için daha önce geliştirilmiş bir tuşun daha da verimli hale getirilmesi adına bir yağlama mekanizması ve yay üretilmesi gerekiyordu…&lt;/p&gt;

&lt;p&gt;İletişim bu dönemde birçok karmaşık problemi barındırmakta olan bir sistem olarak tarif edilmekteydi.&lt;/p&gt;

&lt;p&gt;Endüstriyel süreçlere ve ürünlere uygulanan “ &lt;strong&gt;kalite kontrol&lt;/strong&gt; ” temelleri 1924 yıllarında &lt;strong&gt;Walter A. Shewhart&lt;/strong&gt; tarafından bu sistem içerisinde çalışırken atılmıştır.&lt;/p&gt;

&lt;p&gt;Ortaya çıkışındaki belirgin sebeplerin başında insanların kaliteli ürüne hasret kalması ve 2. Dünya savaşında askeri alanlarda kaliteli ürünlere ihtiyaç duymasıdır.&lt;/p&gt;

&lt;h4&gt;
  
  
  Walter A. Shewhart’ın Öğrencisi
&lt;/h4&gt;

&lt;p&gt;Walter A. Steward’ın öğrencilerinden W. Edwards Deming 2. Dünya savaşı sonrasında Japonya’da gerçekleştirdiği işler Japonya’nın endüstirisine örnek teşkil etmiş ve ekonomik olarak Japonya’nın dünya sıralamasına girmesini sağlamıştır.&lt;/p&gt;

&lt;p&gt;Deming “ &lt;strong&gt;İstatistiksel Ürün Kalite Yönetimi&lt;/strong&gt; ” adıyla yaptığı konuşma ve gerçekleştirdiği işler ile Japonya’nın savaş sonrası ekonomik kalkınmasının öncülerinden olmuştur. Japonya küllerinden yeniden doğarken Deming’in sözleri yol gösterici olmuştur.&lt;/p&gt;

&lt;p&gt;Deming’e göre kalite kapsamında;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Daha iyi ürün tasarımı daha iyi hizmet.&lt;br&gt;&lt;br&gt;
Ürün kalitesinin sürekli olarak mümkün olan en yüksek seviyede tutulması.&lt;br&gt;&lt;br&gt;
Ürün testlerinin iyileştirilmesi&lt;br&gt;&lt;br&gt;
Global pazardan daha çok pay alabilmek.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;gibi maddeler yaklaşımının ana başlıkları idi.&lt;/p&gt;

&lt;p&gt;Yıllar içerisinde endüstride kullanılacak birçok ürün/hizmet kalitesini ölçmeye ve yükseltmeye yönelik yöntemler bulundu.&lt;/p&gt;

&lt;p&gt;Bunların birçoğu ile karşılaşmamış olmak veya süreçlerin içerisinde olmamak ürün geliştiren bir takım için imkansızdır(!)&lt;/p&gt;

&lt;p&gt;Şimdi biraz daha, yazılım süreçlerine dahil etmeyi en azından planladığımız ya da hayal ettiğimiz kalite konularından bahsedelim.&lt;/p&gt;

&lt;h3&gt;
  
  
  Kaliteli Bir Yazılım
&lt;/h3&gt;

&lt;p&gt;Yazılım mühendisliği yaklaşımına göre kalite konusu birbiri ile ilişkili iki farklı kavram ile incelenmektedir.&lt;br&gt;&lt;br&gt;
 Bu kavramlardan birisi &lt;strong&gt;functional-requirements&lt;/strong&gt; diğeri &lt;strong&gt;non-functional-requirements&lt;/strong&gt; olarak adlandırılır.&lt;/p&gt;

&lt;p&gt;Tam tanımın olmasada kısaca &lt;strong&gt;functional-requirement&lt;/strong&gt; bir ürünün yapmayı amaçladığı işe odaklanırken, diğeri amaçladığı işi yaparkenki yapısal durumuna odaklanmaktadır.&lt;/p&gt;

&lt;p&gt;Yani basit bir örnek ile açmak gerekirse;&lt;br&gt;&lt;br&gt;
Müşterimizin bir istatistiksel hesaplama aracı programına ihtiyacı olduğunu varsalayım.&lt;br&gt;&lt;br&gt;
Bu program içerisinde yer alması gereken talep ettiği fonksiyonlar ürünün functional requirement’larını ifade etmektedir.&lt;br&gt;&lt;br&gt;
Kodunuzun sağlamlığı, test edilebilir ve yönetilebilir olması non-functional requirement’ların konusudur.&lt;/p&gt;

&lt;h4&gt;
  
  
  Martin Fowler’ın Internal ve External Olarak Böldüğü Kalite
&lt;/h4&gt;

&lt;blockquote&gt;
&lt;p&gt;Eğer bir yazılımın kalitesi hakkında konuşacak olursam, bunun ne olduğunu açıklamam gerekmektedir.&lt;br&gt;&lt;br&gt;
İlk karmaşa bunun altında yatmaktadır. Yazılım için kalite kriteri olarak sayılabilecek bir çok şey bulunmaktadır.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Yazılım mühendisliği kapsamında işlenen quality metrics konusunda bir yazılım ürününün nasıl ölçülmesi gerektiğini anlatmaya çalışıyoruz fakat kalite kavramına nasıl yaklaşılması gerektiğini anlatırken soyut kalan noktaları quality assurance konusuna kapsamlı olarak girdiğimizde tamamlayabiliyoruz.&lt;/p&gt;

&lt;p&gt;Müşterimizin ilgilendiği kısım kendi ihtiyaçları doğrultuğunda problemini çözebiliyor olması veya bir işi daha kolay yapabiliyor olmasıdır.&lt;/p&gt;

&lt;p&gt;Bizlerin bu yazılımları üretirken hangi mimari ile geliştirdiğimiz müşterilerimiz tarafından görülmemektedir.&lt;/p&gt;

&lt;p&gt;Bu sebep ile kalite özelliklerinin ikiye ayrılabildiğinden bahsetmiştir&lt;br&gt;&lt;br&gt;
&lt;strong&gt;external :&lt;/strong&gt; UI and defects (kullanıcı arayüzü ve kusurlar)&lt;br&gt;&lt;br&gt;
&lt;strong&gt;internal :&lt;/strong&gt; Architecture (mimari)&lt;/p&gt;

&lt;p&gt;Internal Quality konusu müşterilerimiz için bir anlam ifade etmesede, müşterilerimiz yeni özelliklerin hızlı bir şekilde almayı gerçekten önemsemekteler.&lt;/p&gt;

&lt;p&gt;Müşterilerimize hızlı cevap vermemize engel olan internal quality’nin yetersiz olmasıdır. Buna da sebep olan gereksiz, düzensiz ve tecnical debt oluşturacak kod parçalarının fazla sayıda olmasıdır.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--5sMa57Jr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/605/1%2Aaf9K7Fs7fwIaJt-fpKu6Tg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--5sMa57Jr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/605/1%2Aaf9K7Fs7fwIaJt-fpKu6Tg.png" alt=""&gt;&lt;/a&gt;A common metaphor for cruft is &lt;a href="https://martinfowler.com/bliki/TechnicalDebt.html"&gt;Technical Debt&lt;/a&gt;. The extra cost on adding features is like paying interest. Cleaning up the cruft is like paying down the principal. While it’s a helpful metaphor, it does encourage many to believe cruft is much easier to measure and control than it is in practice.&lt;/p&gt;

&lt;h4&gt;
  
  
  Sonuç
&lt;/h4&gt;

&lt;p&gt;Öncelikle teknoloji tarihi ve yenilikçi düşüncelerin nasıl ortaya çıktığını merak eden ve bu konulara ilgili birisiyseniz bahsettiğim kitabı okumanızı tavsiye ediyorum.&lt;/p&gt;

&lt;p&gt;Ayrıca hızlı ürün geliştirme ve kaliteden ödün vermenin detaylarından bahseden Martin Fowler' ın makalesini de orijinalinden okumanızı öneririm.&lt;/p&gt;

&lt;p&gt;Bizler biliyoruz ki hem yazılım yönetimi hem kişisel olrak yazılımcılar bu ve bunun gibi bir çok karmaşadan muzdaripler. O kadar hızlı ürün geliştirmemiz gerekiyor ki sonuçlarını hepimiz acı tatlı yaşamışızdır.&lt;/p&gt;

&lt;p&gt;Günümüzde bu hızı yakalamaya çalışırken, kalite standartlarına uyan yöntem yada kalite standartlarını kendilerine uyduran bir çok yöntemcik ile sarmalanmış durumdayız.&lt;/p&gt;

&lt;p&gt;Soyut ve yönetilmesi zor olan yazılımda kalite konusunda, endüstri devrimi ile gelen kalitesiz ürün bombardımanına maruz kalındığı gibi günümüzde de kaliteden ödün veren bir çok ürün ile uğraşmak durumunda kalabilirsiniz.&lt;/p&gt;

&lt;p&gt;Daha kaliteli ürünlerini global marketlere sunabilmek ve rekabet edebilmek için kaliteden ödün vermeyerek kısa ve uzun vadede trade-off’larını etraflıca düşünmeliyiz. Bize örnek olan olaylardan da dersler çıkararak uygulamamız kalite standartlarına uygun olarak geliştirmeye özen göstermeliyiz.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Image Processing MATLAB Laplacian Algoritması</title>
      <dc:creator>Berkay AKÇAY</dc:creator>
      <pubDate>Mon, 27 May 2019 10:37:09 +0000</pubDate>
      <link>https://dev.to/berkayakcay/image-processing-matlab-laplacian-algoritmasi-pke</link>
      <guid>https://dev.to/berkayakcay/image-processing-matlab-laplacian-algoritmasi-pke</guid>
      <description>&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--8ITjlHYe--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/756/1%2AloRz3J48jW5XEpr-MieSXg.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--8ITjlHYe--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/756/1%2AloRz3J48jW5XEpr-MieSXg.jpeg" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Örneğimizde 3×3 filter, ve siyah beyaz bir resim kullanılmıştır.&lt;/p&gt;

&lt;h3&gt;
  
  
  Laplacian Algoritması
&lt;/h3&gt;

&lt;p&gt;Amacımız;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Resminizi pixel pixel okumak.&lt;/li&gt;
&lt;li&gt;Her pixel’in etrafında bulunan n kadar uzaklıktaki pixellerin değerleri belirlediğimiz kernel matrisi ile çarpmak.(Kenar çizgilerini içe doğru veya dışa doğru çizmek için amaca uygun olarak pozitif veya negatif kernel kullanılabilir)&lt;/li&gt;
&lt;li&gt;Yeni resimde aynı konumdaki pixele bulduğumuz ortalamayı atamak.&lt;/li&gt;
&lt;/ul&gt;


&lt;div class="ltag_gist-liquid-tag"&gt;
  
&lt;/div&gt;


</description>
      <category>matlab</category>
      <category>algorithms</category>
      <category>laplacian</category>
    </item>
  </channel>
</rss>
