<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[Stories by Erkam Dev on Medium]]></title>
        <description><![CDATA[Stories by Erkam Dev on Medium]]></description>
        <link>https://medium.com/@erkamdev?source=rss-b6f9f6403af4------2</link>
        <image>
            <url>https://cdn-images-1.medium.com/fit/c/150/150/1*Wxq24tPeMyBOIs8kHVnW7Q.jpeg</url>
            <title>Stories by Erkam Dev on Medium</title>
            <link>https://medium.com/@erkamdev?source=rss-b6f9f6403af4------2</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Sat, 23 May 2026 07:32:19 GMT</lastBuildDate>
        <atom:link href="https://medium.com/@erkamdev/feed" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com" rel="hub"/>
        <item>
            <title><![CDATA[Installing Flutter | Creating Your First Project]]></title>
            <link>https://medium.com/@erkamdev/installing-flutter-building-your-first-project-6264c0d8ac8e?source=rss-b6f9f6403af4------2</link>
            <guid isPermaLink="false">https://medium.com/p/6264c0d8ac8e</guid>
            <category><![CDATA[flutter]]></category>
            <category><![CDATA[android-app-development]]></category>
            <category><![CDATA[ios-app-development]]></category>
            <category><![CDATA[vscode]]></category>
            <category><![CDATA[flutter-tutorial]]></category>
            <dc:creator><![CDATA[Erkam Dev]]></dc:creator>
            <pubDate>Mon, 15 Apr 2024 12:40:03 GMT</pubDate>
            <atom:updated>2024-04-15T12:47:05.593Z</atom:updated>
            <content:encoded><![CDATA[<p>Have you ever dreamt of building beautiful apps but felt discouraged by the need to learn separate languages for iOS, Android, Web and Desktop? This app you dream of can come true. Flutter is a revolutionary framework from Google that allows you to create stunning apps for both platforms using a single codebase.</p><p>This article will guide you through installing Flutter and creating your very first Flutter project. By the end, you&#39;ll be equipped with the basics to embark on your mobile app development journey!</p><h3>What is Flutter and Why Use It?</h3><p>Flutter is a free and open-source framework for building beautiful, high-performance native mobile apps for iOS and Android, as well as web and desktop. It uses the Dart programming language, known for its readability and ease of learning.</p><p>The biggest advantage of Flutter is its ability to create cross-platform apps. This means you can write code once and deploy it to both iOS and Android devices, saving you significant development time and resources.</p><h3>Getting Started: Tools You’ll Need</h3><p>Before diving in, ensure you have the following tools installed on your machine:</p><ul><li><strong>Flutter SDK:</strong> This is the core set of tools you’ll need to develop Flutter apps. You can download it from the <a href="https://docs.flutter.dev/get-started/install">official Flutter website</a> following the instructions for your specific operating system.</li><li><strong>Code Editor:</strong> While any code editor will work, popular choices for Flutter development include <a href="https://code.visualstudio.com/download">Visual Studio Code</a> and <a href="https://developer.android.com/studio/intro">Android Studio</a>.</li></ul><h3>Installing Flutter</h3><p>The installation process for Flutter varies slightly depending on your operating system. Here&#39;s a quick overview:</p><p><strong>Windows</strong>: You can either download the Flutter installer or set it up using the command line.</p><p><strong>macOS</strong>: Flutter can be installed using the popular package manager Homebrew or directly through the command line.</p><p><strong>Linux</strong>: Different Linux distributions use their respective package managers for Flutter installation.</p><p><a href="https://docs.flutter.dev/get-started/install">The official Flutter documentation</a> provides detailed instructions for each platform.</p><p>Once you&#39;ve installed Flutter, a handy tool called flutter doctor helps verify that everything is set up correctly.</p><h3>Troubleshooting `flutter doctor` Issues</h3><p>If `flutter doctor` or any other Flutter-related command is not working on your terminal, here are some solutions depending on your platform:</p><h4><strong>Windows</strong>:</h4><ul><li>Ensure you’ve added the Flutter installation directory (e.g., `C:\src\flutter\bin`) to your system’s PATH environment variable.</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/788/1*sg11SNE1TAxXQLQ1W5vL0g.png" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/412/1*djWnHsncGtma593MQEuUhQ.png" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/618/1*-1_FU-O3AVzMHsre6IKkHw.png" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/527/1*PzsCEkx2pHT3G5KwktoOAQ.png" /></figure><ul><li>If you used the command line installation, check for typos or errors during the process. Retry the installation if necessary.</li></ul><h4><strong>MacOS</strong>:</h4><ul><li>Verify that the `flutter` command is available in your PATH. You might need to add the directory containing the `flutter` executable (e.g., `/flutter/bin`) to your `.zshrc` or `.bashrc` file depending on your shell configuration.</li><li>If using Homebrew for installation, try reinstalling Flutter using `brew reinstall flutter`.</li></ul><h4><strong>Linux</strong>:</h4><ul><li>Double-check that you followed the correct installation instructions for your specific Linux distribution. Some distributions might require additional configuration steps.</li><li>Ensure you have the necessary development tools installed (e.g., Git, build tools).</li></ul><p>For Android licensing agreement error, you can type this command:</p><pre>flutter doctor --android-licenses</pre><p>After this command, you must accept all agreements by typing ‘Y’ and pressing Enter.</p><p>If the issues persist after trying these solutions, refer to the Flutter documentation for troubleshooting tips specific to your environment.</p><h3>Creating Your First Flutter Project</h3><p>Now comes the exciting part - building your first app! Open your terminal or command prompt and navigate to the directory where you want to create your project. Then, run the following command:</p><pre>flutter create my_first_app</pre><p>Replace &quot;my_first_app&quot; with your desired project name. This command creates a new Flutter project directory with the necessary files and folders. You can also use the GUI of your code editor to create new flutter projects.</p><h4>VS Code</h4><p>You can click on the search bar in the editor’s top bar and type ‘&gt;’ or use this shortcut:</p><blockquote>Ctrl + Shift + P</blockquote><p>Then when we type flutter, the option to create a new flutter project will appear. Select this option and the editor will direct you to create a new project.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/770/1*DvaizBB6Qdn7mDubaEviHA.png" /></figure><h4>Android Studio</h4><p>The first screen shows three options. Select the first option and fill in the name of the project. You can also define the Android language and the build system. Click on the Create button and complete the project creation process.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/599/1*8S6tdgFm_bMJzbtA84fonA.png" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/786/1*YXO2B6F-V08z6ckrQEJy6Q.png" /></figure><h3>Project Structure</h3><p>A newly created Flutter project has a well-defined structure. The most important directories are:</p><h4><strong>lib</strong>:</h4><p>This directory contains the core Dart code for your app. The `main.dart` file is the entry point for your application.</p><h4>pubspec.yaml</h4><p>This file specifies the project dependencies and configurations.</p><h3>Running Your First App</h3><p>With the project set up, you can launch your app on a physical device or an emulator. You can use the ‘F5’ key to launch a debug session of your app in VS Code.</p><h4>Hot Reload - A Flutter Superpower</h4><p>One of Flutter&#39;s coolest features is Hot Reload. This allows you to see the changes you make in your code reflected in the running app almost instantly, without the need to restart the app every time. This significantly speeds up your development workflow. (Hot reload only works in debug sessions)</p><h3>Conclusion</h3><p>Congratulations! You&#39;ve successfully installed Flutter and created your first Flutter project. This is just the beginning of your exciting journey into mobile app development with Flutter. There&#39;s a vast world of possibilities waiting to be explored.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=6264c0d8ac8e" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Flutter Extensions? What is that!]]></title>
            <link>https://medium.com/@erkamdev/flutter-extensions-what-is-that-c75c31453afb?source=rss-b6f9f6403af4------2</link>
            <guid isPermaLink="false">https://medium.com/p/c75c31453afb</guid>
            <category><![CDATA[extension]]></category>
            <category><![CDATA[refactoring]]></category>
            <category><![CDATA[flutter]]></category>
            <dc:creator><![CDATA[Erkam Dev]]></dc:creator>
            <pubDate>Fri, 12 Jan 2024 19:30:16 GMT</pubDate>
            <atom:updated>2024-01-12T19:30:16.946Z</atom:updated>
            <content:encoded><![CDATA[<p>In Flutter, we have a secret tool, ✨Fluter Extensions✨, to reduce parentheses and improve readability in code. But why is it used and how is it often a life saver? Let’s take a look.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*lwmJV1bJ-eZJUZFCINUJYw.png" /></figure><h3>What extensions are look like in Flutter?</h3><p>They look like this:</p><pre>extension Example on Type{<br>  Type someCoolMethod (){<br>    return &lt;Type&gt;();<br>  };<br>}</pre><p>Of course this is an example and cannot be used as is. But the general scheme looks like this. Just like a class, you can create an extension with the keyword ‘extension’ and define the type that this extension will operate on. Now you can call these extensions on the instance of the defined type. For example:</p><pre>extension PaddingExtension on Widget{<br>  Padding pad(int value)=&gt; Padding(<br>    padding: EdgeInsets.all(value),<br>    child: this,<br>  );<br>}</pre><p>This is a Padding extension. It is executed on the ‘Widget’ type. To use it, add a dot (.) at the end of any widget and call the ‘pad’ method. PaddingExtension does the rest (wraps children with the method property of the given extension). Don’t forget to add the ‘this’ keyword to the target type parameter. We don’t want to add another ‘child’ parameter to the extension. The ‘this’ keyword will take the Object (which in this example is a ‘Widget’) and use it as is. So you don’t need to add any context or anything else. Let’s take a look at the same two widget trees. The only difference is that one of them uses an extension:</p><pre>Column(<br>  mainAxisAlignment: MainAxisAlignment.center,<br>  children: [<br>    Padding(<br>      padding: EdgeInsets.all(16.0),<br>      child: Text(&#39;Text 1&#39;),<br>    ),<br>    Padding(<br>      padding: EdgeInsets.all(16.0),<br>      child: Text(&#39;Text 2&#39;),<br>    ),<br>    Padding(<br>      padding: EdgeInsets.all(16.0),<br>      child: Text(&#39;Text 3&#39;),<br>    ),<br>  ],<br>),</pre><p>With Extensions:</p><pre>Column(<br>  mainAxisAlignment: MainAxisAlignment.center,<br>  children: [<br>    Text(&#39;Text 1&#39;).pad(16.0),<br>    Text(&#39;Text 2&#39;).pad(16.0),<br>    Text(&#39;Text 3&#39;).pad(16.0),<br>  ],<br>),</pre><p>This looks much cleaner, right? And also more customizable. you can create custom style material cards and define it as an extension. It’s more convenient to use it this way because you don’t have to pass the child. it’s already connected to the child :D . Or you can add extensions to other types (String, BuildContext, List, etc…).</p><h3>Extension Examples</h3><p>Let’s take a look at other examples.</p><p><strong>Navigation:</strong></p><pre>extension NavigationExtension on BuildContext {<br>  Future&lt;void&gt; navigateTo(String routeName, {Object? arguments}) =&gt;<br>      Navigator.pushNamed(this, routeName, arguments: arguments);<br>  Future&lt;void&gt; navigateToReplacement(String routeName, {Object? arguments}) =&gt;<br>      Navigator.pushReplacementNamed(this, routeName, arguments: arguments);<br><br>  popUntilFirst() =&gt; Navigator.popUntil(this, (route) =&gt; route.isFirst);<br>  popWhenPoppable() =&gt; Navigator.canPop(this) ? Navigator.pop(this) : null;<br>  pop() =&gt; Navigator.pop(this);<br>  unfocus() =&gt; FocusScope.of(this).unfocus();<br>}</pre><p>To call extensions of type BuildContext, simply put a period at the end of the context and call the method. For example:</p><pre>context.navigateTo(&quot;homePage&quot;);</pre><p><strong>SnackBar:</strong></p><pre>extension SnackbarExtensions on BuildContext {<br>  void showSnackbar({String? message, Widget? child, SnackBarAction? action}) {<br>    ScaffoldMessenger.of(this).hideCurrentSnackBar();<br>    ScaffoldMessenger.of(this).showSnackBar(<br>      SnackBar(<br>        content: child ?? Text(message ?? &quot;&quot;),<br>        action: action,<br>      ),<br>    );<br>  }<br><br>  void hideCurrentSnackBar() =&gt;<br>      ScaffoldMessenger.of(this).hideCurrentSnackBar();<br>  void removeCurrentSnackBar() =&gt;<br>      ScaffoldMessenger.of(this).removeCurrentSnackBar();<br>}</pre><p><strong>Padding:</strong></p><p>You can go crazy(!) and create the same extension for two different types:</p><pre>extension PaddingExtension on Widget {<br>  Padding pad(<br>    double value, {<br>    bool horizontal = true,<br>    bool vertical = true,<br>  }) =&gt;<br>      Padding(<br>        padding: EdgeInsets.symmetric(<br>          horizontal: horizontal ? value : 0,<br>          vertical: vertical ? value : 0,<br>        ),<br>        child: this,<br>      );<br>  Padding padOnly({double? top, double? bottom, double? right, double? left}) =&gt;<br>      Padding(<br>          padding: EdgeInsets.only(<br>            top: top ?? 0,<br>            bottom: bottom ?? 0,<br>            right: right ?? 0,<br>            left: left ?? 0,<br>          ),<br>          child: this);<br>  Padding pad4({bool horizontal = true, bool vertical = true}) =&gt;<br>      pad(4, horizontal: horizontal, vertical: vertical);<br>  Padding pad8({bool horizontal = true, bool vertical = true}) =&gt;<br>      pad(8, horizontal: horizontal, vertical: vertical);<br>  Padding pad16({bool horizontal = true, bool vertical = true}) =&gt;<br>      pad(16, horizontal: horizontal, vertical: vertical);<br>  Padding pad24({bool horizontal = true, bool vertical = true}) =&gt;<br>      pad(24, horizontal: horizontal, vertical: vertical);<br>  Padding pad32({bool horizontal = true, bool vertical = true}) =&gt;<br>      pad(32, horizontal: horizontal, vertical: vertical);<br>}<br><br>extension EdgeInsetsExtension on BuildContext {<br>  EdgeInsets edgeInsets(double value,<br>          {bool horizontal = true, bool vertical = true}) =&gt;<br>      EdgeInsets.symmetric(<br>          horizontal: horizontal ? value : 0, vertical: vertical ? value : 0);<br>  EdgeInsets edgeInsetsOnly(<br>          {double? top, double? bottom, double? right, double? left}) =&gt;<br>      EdgeInsets.only(<br>        top: top ?? 0,<br>        bottom: bottom ?? 0,<br>        right: right ?? 0,<br>        left: left ?? 0,<br>      );<br>  EdgeInsets edgeInsets4({bool horizontal = true, bool vertical = true}) =&gt;<br>      edgeInsets(4, horizontal: horizontal, vertical: vertical);<br>  EdgeInsets edgeInsets8({bool horizontal = true, bool vertical = true}) =&gt;<br>      edgeInsets(8, horizontal: horizontal, vertical: vertical);<br>  EdgeInsets edgeInsets16({bool horizontal = true, bool vertical = true}) =&gt;<br>      edgeInsets(16, horizontal: horizontal, vertical: vertical);<br>  EdgeInsets edgeInsets24({bool horizontal = true, bool vertical = true}) =&gt;<br>      edgeInsets(24, horizontal: horizontal, vertical: vertical);<br>  EdgeInsets edgeInsets32({bool horizontal = true, bool vertical = true}) =&gt;<br>      edgeInsets(32, horizontal: horizontal, vertical: vertical);<br>}</pre><p>As you can see, I can use extensions within extensions. This will allow us to create a more complex structure in fewer lines of code.</p><p><strong>Border Radius:</strong></p><pre>extension RoundBorderExtension on Widget {<br>  ClipRRect roundBorder([double radius = 8.0]) =&gt;<br>      ClipRRect(borderRadius: BorderRadius.circular(radius), child: this);<br>  ClipRRect roundBorder4() =&gt; roundBorder(4);<br>  ClipRRect roundBorder8() =&gt; roundBorder(8);<br>  ClipRRect roundBorder16() =&gt; roundBorder(16);<br>  ClipRRect roundBorder24() =&gt; roundBorder(24);<br>  ClipRRect roundBorder32() =&gt; roundBorder(32);<br>}<br><br>extension BorderRadiusExtension on BuildContext {<br>  BorderRadius borderRadius([double radius = 8.0]) =&gt;<br>      BorderRadius.circular(radius);<br>  BorderRadius borderRadius4() =&gt; borderRadius(4);<br>  BorderRadius borderRadius8() =&gt; borderRadius(8);<br>  BorderRadius borderRadius16() =&gt; borderRadius(16);<br>  BorderRadius borderRadius24() =&gt; borderRadius(24);<br>  BorderRadius borderRadius32() =&gt; borderRadius(32);<br>}</pre><p><strong>Color, Gradient &amp; Other Visuals (Opacity, Blur, Clip, All in one…):</strong></p><pre><br>extension GradientExtension on BuildContext {<br>  LinearGradient linearGradient(List&lt;Color&gt; colors) =&gt; LinearGradient(<br>      colors: colors, begin: Alignment.topLeft, end: Alignment.bottomRight);<br>}<br><br>extension ColorFilterMaskExtension on Widget {<br>  ColorFiltered colorFiltered(Color color, [BlendMode? blendMode]) =&gt;<br>      ColorFiltered(<br>        colorFilter: ColorFilter.mode(color, blendMode ?? BlendMode.srcIn),<br>        child: this,<br>      );<br>  BackdropFilter blurBackground([double? blur]) =&gt; BackdropFilter(<br>        filter: ImageFilter.blur(sigmaX: blur ?? 2, sigmaY: blur ?? 2),<br>        child: this,<br>      );<br>  Widget blurBackgroundWithClip({double? blur, double? borderRadius}) =&gt;<br>      blurBackground(blur).roundBorder(borderRadius ?? 0);<br>  ShaderMask linearGradient(List&lt;Color&gt; colors,<br>          {Alignment? begin, Alignment? end}) =&gt;<br>      ShaderMask(<br>        shaderCallback: (bounds) =&gt; LinearGradient(<br>          colors: colors,<br>          begin: begin ?? Alignment.centerLeft,<br>          end: end ?? Alignment.centerRight,<br>        ).createShader(bounds),<br>        blendMode: BlendMode.srcIn,<br>        child: this,<br>      );<br><br>  Opacity opacity(double value) =&gt; Opacity(opacity: value, child: this);<br>}</pre><p><strong>String:</strong></p><p>Yes, you can also create it for Strings. For example, this extension will capitalize the character at the beginning of a sentence:</p><pre>extension StringExtensions on String {<br>  String capitalizeFirstChar() =&gt;<br>      &quot;${this[0].toUpperCase()}${substring(1)}&quot;;<br>  String capitalizeEveryWordsFirstChar() =&gt;<br>      split(&quot; &quot;).map((e) =&gt; e.capitalizeFirstChar()).join(&quot; &quot;);<br>}</pre><p>Also ‘capitalizeEveryWordsFirstChar’ uses the ‘capitalizeFirstChar’ method internally to reduce code repetition.</p><h3>Summary</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*BB9eBP_Ly6HJ-XXaos04mA.png" /><figcaption>Celebration</figcaption></figure><p>You’ve learned the basics of ✨Flutter Extensions✨. Yayy 🥳. With extensions you can create anything you want (within objects and types of course :D). If you think of more different and creative things that can be created with this, you can share them in the comments. Take care and see you in the next one 🙌</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=c75c31453afb" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Flutter Kurulumu — Türkçe Detaylı (Windows / Mac / Linux)]]></title>
            <link>https://medium.com/@erkamdev/flutter-kurulumu-t%C3%BCrk%C3%A7e-detayl%C4%B1-windows-mac-linux-3b278cd36853?source=rss-b6f9f6403af4------2</link>
            <guid isPermaLink="false">https://medium.com/p/3b278cd36853</guid>
            <category><![CDATA[linux]]></category>
            <category><![CDATA[dart]]></category>
            <category><![CDATA[windows]]></category>
            <category><![CDATA[flutter]]></category>
            <category><![CDATA[mac]]></category>
            <dc:creator><![CDATA[Erkam Dev]]></dc:creator>
            <pubDate>Sun, 23 Jan 2022 14:51:25 GMT</pubDate>
            <atom:updated>2022-01-23T14:51:25.997Z</atom:updated>
            <content:encoded><![CDATA[<h3>Flutter Kurulumu — Türkçe Detaylı (Windows / Mac / Linux)</h3><p>Flutter’dan önce ki makalelerimde de bahsetmiştim. Şimdi de nasıl kurulacağını anlatacağım. Bazı kilit noktalar dışında çok zorlanmayacağımızı düşünüyorum. O zaman hemen başlayalım.</p><h3>Flutter Nedir?</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/768/1*yMKaOhi9Hx0TCfEUeiYmRA.jpeg" /></figure><p>Flutter, çapraz platform çalışabilen ve 6 platform için tek kodla uygulama geliştirebilmemizi sağlayan bir Framework ve uygulama geliştirme kitidir. Bu 6 platform:</p><ul><li>Web</li><li>Android</li><li>IOS</li><li>Windows</li><li>Mac OS</li><li>Linux</li></ul><p>olarak sıralanabilir. Masaüstü için çıkışını sağlayan versiyonun halen test aşamasında olduğunu belirtelim. Dart diliyle yazılan Flutter, hata ayıklama için hot reload ve hot restart özelliğine sahip. Bu özellikler sayesinde geliştirme sırasında bir metni değiştirmek için bütün uygulamayı baştan başlatmak zorunda kalmıyoruz. Değişikliklerimiz saniyeler içerisinde gerçekleşiyor. Flutter’ın bir başka avantajı ise react gibi alternatiflerinden daha hızlı çalışan native uygulama çıkışları verebilmesi. BMW ve Google Ads gibi büyük markalarda uygulamalarını Flutter ile geliştirmeye başladılar. Peki bu kadar güzel bir geliştirme platformunun eksikleri yokmu tabi ki var. Mesela eğer Windows işletim sistemiyle geliştirme yapıyorsanız Apple’ın kapalı kaynak sistemi nedeniyle IOS veya Mac uygulamalarının çıkışını alamıyorsunuz. Ancak kodunuz bir Mac üzerinde, değişime uğramadan Apple cihazları için build edilebilir. Bu aslında Flutter’ın değil Apple’ın suçu. Bir başka zorluk ise kurulumunun teferruatlı olması. Şimdi bu teferruatlı kısmı kolayca atlatabilmek ve Flutter’ın güzel dünyasına girişinizi hızlandırmak için kuruluma geçelim.</p><h3>Kuracağımız işletim sistemleri</h3><ul><li><strong>Windows</strong></li><li><strong>Mac OS</strong></li><li><strong>Linux</strong></li></ul><h3>Windows için kurulum aşamaları</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/550/0*Ubk_QjFwPU7uzCUL.png" /></figure><h4>Minimum Sistem Gereksinimleri</h4><ul><li>İşletim Sistemleri: Windows 7 SP1 veya üstü (64-bit), x86–64 tabanlı.</li><li>Disk Alanı: 1.64 GB (Kullandığınız editörün alanı hariç).</li></ul><h4>Araçlar:</h4><p>Flutter, ortamınızda mevcut olan bu araçlara bağlıdır.</p><ul><li>Windows PowerShell 5.0 veya daha yenisi (bu, Windows 10 ile önceden yüklenmiştir)</li><li>Windows Komut İsteminden Git’i Kullan seçeneğiyle Windows 2.x için Git.</li></ul><p>Windows için Git zaten yüklüyse, komut isteminden veya PowerShell’den git komutlarını çalıştırabildiğinizden emin olun.</p><h4>Flutter SDK’yı indirelim</h4><ul><li><a href="https://docs.flutter.dev/get-started/install/windows#get-the-flutter-sdk">Bu linke</a> tıklayıp SDK dosyasını indirin.</li><li>SDK dosyasının bulunduğu zip’i, klasöre çıkarın. (Örneğin: Belgeler klasörü)</li></ul><p>‘flutter’ isimli klasörü istediğiniz yere çıkardığınızdan emin olduktan sonra diğer adıma geçelim.</p><h4>“Yol” parametresini güncelleme</h4><p>Şimdi terminal ekranında Flutter’a erişmek için yol belirleyelim. Eğer terminal ekranında Flutter’a erişmek istemiyorsanız bu adımı atlayabilirsiniz. Ancak bu adımı atladığınızda sistem otomatik olarak Flutter’ı bulamayabilir. Android lisanslarını kabul edemediğiniz için Android çıkışı alamayabilirsiniz. Bu adımı uygulamanızı tavsiye ederim.</p><ul><li>Başlat’ı açıp arama çubuğuna ‘Ortam’ yazın.</li><li>“Sistem ortam değişkenlerini düzenleyin” seçeneğine tıklayın.</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/761/1*pkxwBN-764WRT9V2NSROrA.png" /></figure><ul><li>“Ortam değişkenleri” tuşuna basın.</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/412/1*PBXOjOOF1AsN4EnR37PIJg.png" /></figure><ul><li>Çıkan pencerede PATH değişkeni var mı, kontrol edelim.</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/618/1*HAnfHxsMwEAdy8APpL_BDA.png" /></figure><ul><li>Eğer resimde ki gibi varsa Path değişkenine çift tıklayın ve yeni tuşuna basın.</li><li>Yeni satıra ‘flutter’ klasörünün bulunduğu klasör yolunu bin klasörünü içerecek şekilde ekleyelim.</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/599/1*n43MdkkmHim-1pUujJFY7A.png" /></figure><ul><li>Ardından tamam deyin.</li></ul><p>Şimdi flutter terminalde çalışıyor mu test edelim:</p><ul><li>CMD’yi açalım.</li><li>Komutları yazalım:</li></ul><pre>where flutter<br>where dart</pre><ul><li>Çıkışları kontrol edelim.</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/755/1*khTWN1vat054Nygcn6iv5g.png" /></figure><p>Eğer çıkışlar böyleyse Flutter sistem yoluna başarıyla eklenmiş demektir.</p><h4>Flutter Doctor ile eksik kısımları görelim</h4><p>Terminal ekranında şu kodu çalıştıralım:</p><pre>flutter doctor</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/601/1*Ao0h2dOl__UVxfIT8wlftg.png" /></figure><p>İlk seferde böyle bir çıkış alamayabilirsiniz. Karşılaşacağınız hatalar:</p><pre>[-] Android Studio Not Installed<br>[-] Android toolchain - develop for Android devices<br>    • Android SDK at D:\Android\sdk<br>    <strong>✗ Android SDK is missing command line tools; download from https://goo.gl/XxQghQ</strong><br>    • Try re-installing or updating your Android SDK,<br>      visit https://docs.flutter.dev/setup/#android-setup for detailed instructions.<br>[-] There is no connected device</pre><ul><li>Android Studio Not Installed</li></ul><p>Android stüdyo bulunamadı.</p><p><strong>Çözümü: </strong>Android studio’yu yüklemeniz gerekiyor.</p><ul><li><strong>Android Studio cmd-line-tools not found</strong></li></ul><p>Android Studio yüklü ama cmd-line-tools yüklü değil.</p><p><strong>Çözümü: </strong>Android Studio’yu açın, seçeneklere gelin. Arama kısmında SDK olarak aratın. Açılan kısımda tools bölümüne gelin. Command line tools’u yükleyin.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/984/1*UBz9ct1quOjwrZHfzKzyrg.png" /></figure><ul><li><strong>Android licenses not accepted</strong></li></ul><p>Android lisansları kabul edilmemiş.</p><p><strong>Çözümü: </strong>Şu kodu çalıştırın:</p><pre>flutter doctor --android-licenses</pre><p>Ardından gelen tüm lisansları kabul edin. Kabul etmek için ‘ y ’ tuşuna basıp Enter’a basın. Yaklaşık 6 adet lisansı kabul etmelisiniz.</p><ul><li><strong>There is no connected device</strong></li></ul><p>Hiç bağlı cihaz yok.</p><p><strong>Çözümü: </strong>USB hata ayıklaması açık bir cihaz bağlayın.</p><h4>Android Studio kurulumu</h4><p><a href="https://developer.android.com/studio">Buradan</a> indirin ve kurulumu gerçekleştirin. SDK kısmından Command line tools’u ve Build Tools’u edinmeyi unutmayın.</p><p>Ardından tekrar şu kodu çalıştırın ve Android Studio’nun algılanıp algılanmadığını kontrol edin:</p><pre>flutter doctor</pre><h4>Windows Çıkışı için kurulum</h4><p>Windows’a da uygulama geliştirmek isterseniz masaüstü seçeneğini aktifleştirmeniz gerekmektedir.</p><ul><li>32 bit desteği için:</li></ul><pre>flutter config --enable-windows-desktop</pre><ul><li>Evrensel Windows Platformu desteği için, halen test aşamasında olduğu için, master kanalına geçmeli ardından desteği açmalısınız:</li></ul><pre>flutter channel master<br>flutter upgrade<br>flutter config --enable-windows-uwp-desktop</pre><h4>Web için çıkış alma</h4><p>Flutter varsayılan olarak web için de uygulamayı geliştirir. Yayınlamak için build almak isterseniz şu komudu proje klasörü içerisinde çalıştırın</p><pre>flutter build web</pre><p>Tebrikler! Flutter, Windows için başarıyla kuruldu.</p><h3>Mac için kurulum aşamaları</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*tjhor97el4OKLEvK" /></figure><h4>Minimum Sistem Gereksinimleri</h4><ul><li><strong>İşletim Sistemleri</strong>: macOS</li><li><strong>Disk Alanı</strong>: 2,8 GB (Editör alanı hariç).</li></ul><h4><strong>Araçlar</strong>:</h4><ul><li>Xcode</li><li>Git (Xcode içinde geliyor ayrı da yüklenebilir)</li></ul><h4>Flutter SDK’yı indirelim</h4><p><a href="https://docs.flutter.dev/get-started/install/macos#get-sdk">Bu linkten </a>SDK’yı indirin ve klasöre çıkartın</p><h4>“Yol” parametresini güncelleme</h4><ul><li>Flutter klasörünü çıkardığınız yeri belirleyin.</li><li>Mac OS, Z kabuğu kullanır. Kabuğa yolu yüklemek için Dosyalar içerisinde $HOME/.zshrc’yi açın. $HOME, sizin ana dizininiz.</li><li>Dosyaya şu satırı ekleyin:</li></ul><pre>export PATH=&quot;$PATH:/YOUR_FLUTTER_DIR/flutter/bin&quot;</pre><ul><li>Kaydedip dosyayı kapatın. Sonra tekrar terminal açın ve şunu yazın.</li></ul><pre>flutter doctor</pre><p>Eğer Flutter yok gibi bir hata almıyorsanız başarılı olmuşsunuzdur.</p><h4>Flutter Doctor ile eksik kısımları görelim</h4><p>Terminali açalım ve şu komudu girelim</p><pre>flutter doctor</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/587/1*ZYymmM8LeGZkEX6tuw33wA.png" /></figure><p>Ekran görüntüsüne bakacak olursak Xcode başarılı bir şekilde yüklenmiş ve Flutter IOS için çıkış almaya hazır. Herhangi bir cihaz bağlı olmadığı; Android Studio ve Chrome yüklü olmadığı için bir kaç hata alıyoruz.</p><h4><strong>IOS’a çıkış </strong>almak için:</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/892/1*7cPodIN8-s-4AWRIye3PQg.png" /></figure><ul><li>Xcode yükleyin. <a href="https://developer.apple.com/xcode/">indirmek için tıklayın</a></li><li>CocoaPods eklentisini yüklemek için şu kodu terminale yazın:</li></ul><pre>sudo gem install cocoapods</pre><p>Bu işlemler sonucunda IOS için Uygulama çıkışı almaya hazırsınız. Xcode veya farklı editörlerle çıkışlar alabilir ve uygulamayı simülatörde veya gerçek cihazda test edebilirsiniz.</p><h4>Android’e çıkış almak için:</h4><ul><li><strong>Android Studio yükleyin.</strong></li></ul><p><a href="https://developer.android.com/studio#downloads">Bu linkten </a>Android studio’yu indirin. Kurulumu tamamlayın ve uygulamayı Uygulamalar klasörüne taşıyın.</p><ul><li><strong>Android Studio içerisinde SDK ve Command line tools’u kurun</strong></li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/984/1*s1GNk9G0o8bTs-RAi_1dqw.png" /></figure><p>Android Studio’yu açın ve SDK Manager ekranında SDK Tools kısmına gelip Command line tools’u işaretleyin.</p><ul><li><strong>Android lisanslarını kabul edin</strong></li></ul><p>Şu komutla kabul etmeniz gereken android lisanslarını sıralayın. Ardından her bir lisansı kabul etmek için ‘y’ tuşuna basın.</p><pre>flutter doctor --android-licenses</pre><ul><li><strong>USB hata ayıklama modunda bir Android cihaz bağlayın veya emülatör kurun.</strong></li></ul><p>Android versiyonu çalıştırmak için ihtiyacınız olacak. Android studio bu konuda size yardımcı olacaktır.</p><p>Bu işlemler sonunda Android için çıkış alabilirsiniz.</p><h4>Mac uygulaması çıkışı almak için:</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/892/1*7cPodIN8-s-4AWRIye3PQg.png" /></figure><ul><li>Xcode yükleyin. <a href="https://developer.apple.com/xcode/">indirmek için tıklayın</a></li><li>CocoaPods eklentisini yüklemek için şu kodu terminale yazın:</li></ul><pre>sudo gem install cocoapods</pre><p>Flutter Mac desteğini aktifleştirmek için şu kodu yazın:</p><pre>flutter config --enable-macos-desktop</pre><p>Bu işlemler sonucunda Mac için çıkış alabilirsiniz.</p><h4>Web için çıkış almak için:</h4><p>Flutter varsayılan olarak web için de uygulamayı geliştirir. Yayınlamak için build almak isterseniz şu komudu proje klasörü içerisinde çalıştırın</p><pre>flutter build web</pre><p>Tebrikler! Flutter, Mac OS için başarıyla kuruldu.</p><h3>Linux için kurulum aşamaları</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/325/0*V0LLv9-4I0AUsJiP.png" /></figure><h4>Minimum Sistem Gereksinimleri</h4><ul><li>İşletim Sistemleri: Linux (64-bit)</li><li>Disk Alanı: 600 MB (Editör alanı hariç).</li></ul><h4>Araçlar:</h4><p>Flutter, ortamınızda mevcut olan bu komut satırı araçlarına bağlıdır.</p><ul><li>bash</li><li>curl</li><li>file</li><li>git 2.x</li><li>mkdir</li><li>rm</li><li>unzip</li><li>which</li><li>xz-utils</li><li>zip</li></ul><h4>Paylaşılan kitaplıklar:</h4><p>Flutter testi komutu, bu kitaplığın ortamınızda bulunmasına bağlıdır.<br><strong>libGLU.so.1</strong> — Ubuntu/Debian’da <strong>libglu1-mesa</strong> ve Fedora’da <strong>mesa-libGLU</strong> gibi mesa paketleri tarafından sağlanır.</p><h4>Flutter SDK’yı İndirelim</h4><p>Linux’te bunu iki yoldan yapabiliriz.</p><ul><li>SnapD’den paketi indirerek. Aşağıda ki komutu terminale yazarak kolayca indirebilirsiniz.</li></ul><pre>sudo snap install flutter --classic</pre><ul><li>Zip dosyasını klasöre çıkartarak</li></ul><p><a href="https://docs.flutter.dev/get-started/install/linux#install-flutter-manually">Bu linkten </a>zip dosyasını indirip klasöre çıkartarak manuel kurulum gerçekleştirebilirsiniz.</p><h4>“Yol” parametresini güncelleme</h4><p>Çoğu Linux Bash kabuğu kullanır. $HOME/.bashrc dosyasını açalım ve içine şu satırı ekleyelim:</p><pre>export PATH=”$PATH:[PATH_OF_FLUTTER_GIT_DIRECTORY]/bin”</pre><p>ardından şu komutla kontrol edebiliriz.</p><pre>echo $PATH<br>which flutter</pre><h4>Flutter Doctor ile eksik kısımları görelim</h4><p>Terminal yolunu güncellediğimize göre şimdi şu komutları çalıştıralım.</p><pre>flutter doctor</pre><p>Buna benzer bir çıkış alabilirsiniz.</p><pre>[-] Android toolchain - develop for Android devices<br>    • Android SDK at /Users/obiwan/Library/Android/sdk<br>    <strong>✗ Android SDK is missing command line tools; download from https://goo.gl/XxQghQ</strong><br>    • Try re-installing or updating your Android SDK,<br>      visit https://docs.flutter.dev/setup/#android-setup for detailed instructions.</pre><h4>Android’e çıktı almanız için</h4><ul><li>Android Studio indirin. <a href="https://developer.android.com/studio#downloads">Buraya tıklayın</a></li><li>Android Studio içerisinde SDK ve command line tools’u indirin</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/984/1*s1GNk9G0o8bTs-RAi_1dqw.png" /></figure><ul><li>Android lisanslarını kabul edin. Bunun için şu komudu yazın ve ‘y’ yazıp Enter’a basarak kabul edin.</li></ul><pre>flutter doctor --android-licenses</pre><ul><li>USB hata ayıklama modunda bir Android cihazı bağlayın. (Emulator’de olur)</li></ul><p>Bu işlemlerin sonunda Oluşturduğunuz proje Android ile çalışacaktır.</p><h4>Linux’e çıktı almak için</h4><ul><li>Gereken paketleri kurun</li></ul><pre>sudo apt-get install clang cmake ninja-build pkg-config libgtk-3-dev</pre><ul><li>Linux desteğini aktifleştirin</li></ul><pre>flutter config — enable-linux-desktop</pre><h4>Web’e çıktı almak için</h4><p>Flutter varsayılan olarak web için de uygulamayı geliştirir. Yayınlamak için build almak isterseniz şu komudu proje klasörü içerisinde çalıştırın</p><pre>flutter build web</pre><p>Tebrikler! Flutter, Linux için başarıyla kuruldu.</p><h3>Sonuç</h3><p>3 farklı işletim sistemi için de nasıl Flutter kurulacağını bu makale ile anlatmış oldum. Eğer herhangi bir sorunla karşılaşırsanız lütfen belirtin. Flutter ile alakalı daha fazla makale gelecek, bu yüzden takipte kalmak isteyebilirsin. Şimdilik bu kadar. Kendinize çok iyi davranın. Gününüz güzel olsun. 😊</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=3b278cd36853" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[GitHub Profilimizin Tanıtımını (Readme) Öne Çıkarabilecek İyileştirmeler]]></title>
            <link>https://medium.com/@erkamdev/github-profilimizin-tan%C4%B1t%C4%B1m%C4%B1n%C4%B1-readme-%C3%B6ne-%C3%A7%C4%B1karabilecek-i%CC%87yile%C5%9Ftirmeler-e9c5e3fc5eae?source=rss-b6f9f6403af4------2</link>
            <guid isPermaLink="false">https://medium.com/p/e9c5e3fc5eae</guid>
            <category><![CDATA[custom]]></category>
            <category><![CDATA[github]]></category>
            <category><![CDATA[git]]></category>
            <category><![CDATA[profile]]></category>
            <category><![CDATA[highlights]]></category>
            <dc:creator><![CDATA[Erkam Dev]]></dc:creator>
            <pubDate>Sat, 25 Dec 2021 17:14:59 GMT</pubDate>
            <atom:updated>2021-12-25T17:14:59.766Z</atom:updated>
            <content:encoded><![CDATA[<p>Önceki yazımda kılavuza uygun readme dosyasını nasıl hazırlayabileceğimizi keşfettik. Şimdi de ekstra araçlar ve bazı tüyolarla, nasıl havalı bir görünüme ve işlevsel bir tasarıma sahip olan readme dosyası hazırlayabileceğimizi öğreneceğiz.</p><h3>Başlamadan Önce…</h3><p>Bu içerikte ki özelleştirmelerin hiçbirini uygulamak zorunda değilsiniz. Ancak özelleştirme yapmanız, projelerinizi ön plana çıkarmanıza ve pazarlamanızı geliştirmenize yardımcı olabilir. Kendi hayal gücünüzü takip edin ve benzersiz hesabınızın tanıtımını en güzel şekilde yapın.</p><h4>İçerik İndexi:</h4><ul><li>Badge Kullanımı</li><li>Başlık (Header) Resmi</li><li>İllüstrasyon / GIF Ekleme</li><li>Sosyal Medya ve Linklerinizi Ekleme</li><li>Analizler ve Özet Araçları</li><li>İş Akışınızı Ekleme (Workflow)</li></ul><h3>Badge Kullanımı</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/700/1*uw2XzJO65Li-qGEqoYzdmw.png" /></figure><p>Badge nedir önce bunu anlayalım. Badge’ler isim karşılığında da anlaşılacağı üzere Rozet olarak kullanılır. Badge ile kullandığınız araçları, dilleri ve markaları belirtebilir. Sosyal Medyanızı ekleme kısmında da belirttiğim gibi hesaplarınızın küçük işlevsel rozetlerini koyabilirsiniz.</p><h4>Kullanmak için:</h4><ul><li><a href="https://shields.io/">bu siteye</a> giderek taslaklardan Badge oluşturabilirsiniz.</li><li>yada aşağıda ki gibi url’nin son kısmını düzenleyerek özel Badge’ler yapabilirsiniz.</li></ul><pre><a href="https://img.shields.io/badge/Google%20Play-black?logo=googleplay">https://img.shields.io/badge/Google%20Play-black?logo=googleplay</a></pre><ul><li>Yukarıda ki url’yi inceleyecek olursak <a href="https://img.shields.io/badge/Google%20Play-black?logo=googleplay">img.shields.io/badge/</a>’den sonrası bizim Badge’imizin özelliklerini belirtir.</li><li>Logonuzu <a href="https://simpleicons.org/">Simple Icon’da</a> arayın. Eğer ikon bulunuyorsa Badge’inizde kullanabilirsiniz.</li></ul><pre><a href="https://img.shields.io/badge/Google%20Play-black?logo=googleplay">https://img.shields.io/badge/Badge½20başlığınız-renkSeçiminiz?logo=</a>simpleiconlogomuz<br>(logo ismi ve renk ismi tamamen küçük harf olmalı)</pre><ul><li>İstediğiniz kombinasyonu bulduktan sonra url’yi, readme dosyasına link resim şeklinde ekleyin.</li><li>Örnek olarak Flutter ikonu GitHub içerisinde Badge olarak bu şekilde eklenebilir:</li></ul><pre>![Flutter](<a href="https://img.shields.io/badge/Flutter-blue?logo=flutter">https://img.shields.io/badge/Flutter-blue?logo=flutter</a>)</pre><h3>Başlık (Header) Resmi</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*koWVfWDV97EH4n4R" /></figure><p>Aslında bunun özel bir yolu yok. kısaca anlatırsam eğer herhangi bir grafik programı ile oluşturduğunuz imajları readme dosyanızın en başına uygun boyutta eklemeniz yeterli. Bunun için kullanabileceğiniz araçlar ise sınırsız. İsterseniz paint’ten bile hazırlayabilirsiniz. Özel olarak geliştirilmiş bir paketi kullanmak isterseniz örnek olarak sunmak isterim. Kendi Header’ınızı da oluşturabileceğiniz bu pakete <a href="https://github.com/khalby786/REHeader">şu linkten</a> ulaşabilirsiniz.</p><h3>İllustrasyon ve GIF Ekleme</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*Cb1LGRG2R1pBFDoN_h65vw.png" /></figure><p>İllüstrasyon, empati duygusunu çok iyi yansıtabilme potansiyeline sahip bir çizim kategorisi aslında. Çünkü sadelikle bezenmiş bu çizimler sadece anlatmak istediğinizi görsel olarak hoş bir şekilde anlatır ve çekilir. Görsel olarakta diğer profillerden öne çıkarır.</p><p>GIF’ler ise biraz daha az kullanılması gereken bir kategori. Hareketli imajlar ne kadar göze hoş gelse de önemli olanın kendimiz hakkında bilgi aktarmak olduğu bir bölümde dikkatleri fazla dağıtmak istemeyiz.</p><p>Özellikle illüstrasyon kısmında:</p><ul><li><a href="https://www.humaaans.com/">Humaaans</a></li><li><a href="https://www.opendoodles.com/">Open Doodles</a></li><li><a href="https://undraw.co/illustrations">unDraw</a></li><li><a href="https://illlustrations.co/">illustrations</a></li><li><a href="https://drawkit.com/">DrawKit</a></li></ul><p>gibi siteleri tavsiye ederim. bu sitelerde isteğinize uygun çizimleri bulabilirsiniz. Sonrasında yapmanız gereken desteklenen formatlarda indirip yazınızın içine koymak.</p><p>GIF kısmında ise projenizle veya uğraştığınız işlerle alakalı göstermek istediğiniz kısa videoları GIF’e dönüştürmenizi tavsiye ederim.</p><h3>Sosyal Medya ve Linklerinizi Ekleme</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/885/1*HfChdXQoqd7jtRI5nFvBbw.png" /></figure><p>Gerçekten unutulabilecek bir kısım. Projelerinizle ve sizinle ilgilenen insanların size ulaşabilmesinin bir yolu olmalı. Bu yüzden sosyal bağlantılarınızı mutlaka eklemelisiniz. Badge ile işlevsel bağlantılar koyabilir, Simple icon setiyle ikonlar ekleyip bağlantılar atayabilir, sosyal medya logo resimlerine link koyarak buton yapabilir yada link ağacınız varsa sadece o linki koyarak derli toplu bir yapı elde edebilirsiniz. Link Ağacınız yoksa ve oluşturmak isterseniz <a href="https://linktr.ee/">bu siteyi</a> inceleyebilirsiniz</p><h3>Analizler ve Özet Araçları</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1022/1*tvhVZGgU246kXvBMNdDVFg.png" /></figure><p>Bir bakışta yaptıklarınızın ve hesabınızın özetini, kullandığınız dillerin ortalama kullanım grafiklerini ve hesabınıza kaç kişinin baktığı gibi bilgileri paylaşmak isterseniz bunu sizin için çözebilecek bazı paketler mevcut:</p><p><a href="https://github.com/anuraghazra/github-readme-stats"><strong>Durum Göstergesi</strong></a>:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*qF2QgV9rm2ZbkPnA" /></figure><p>Yıl içerisinde kaç tane commit yaptığınız, Kaç kişinin projelerinizi yıldızladığı ve kaç sorun olduğuyla ilgili bir özet grafik paketi</p><p><a href="https://github.com/anuraghazra/github-readme-stats#github-stats-card">Bu linke</a> giderek daha detaylı inceleme yapabilir ve nasıl kullanabileceğinizi öğrenebilirsiniz.</p><p><a href="https://github.com/anuraghazra/github-readme-stats#github-extra-pins"><strong>Extra Pinler</strong></a>:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/409/1*yGEA-ImW86I5-IasndrVRg.png" /></figure><p>Ana sayfanızda sabitlemek ve readme dosyanızı okuyan kişiye bahsetmek istediğiniz bir projeniz varsa bu aracı kullanarak yazınızın içine projenizi detaylarıyla birlikte sabitleyebilirsiniz.</p><p><a href="https://github.com/anuraghazra/github-readme-stats#github-extra-pins">Bu linke</a> giderek daha detaylı inceleme yapabilir ve nasıl kullanabileceğinizi öğrenebilirsiniz.</p><p><a href="https://github.com/anuraghazra/github-readme-stats#top-languages-card"><strong>En Çok Kullanılan Diller</strong></a>:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/284/1*REl2HjcQVPkk7HqoyfsA3w.png" /></figure><p>Hesabınızda bulunan projelerin dil oranlarını hesaplayıp gösteren bir bar grafik sistemi. <a href="https://github.com/anuraghazra/github-readme-stats#top-languages-card">Bu linke</a> giderek readme dosyanızın içine nasıl sabitleyeceğinizi ve dahasını öğrenebilirsiniz.</p><p><a href="https://github.com/antonkomarev/github-profile-views-counter#usage"><strong>Profile Views</strong></a><strong>:</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/308/1*RRmP8j8WttIraK7aKZ58lQ.png" /></figure><p>Hesabımıza kaç kere bakıldığını bizim gibi başkaları da merak edebilir. Bu Markdown ile birlikte profilinize kaç kişinin baktığını görebilirsiniz. Daha fazla bilgi için <a href="https://github.com/antonkomarev/github-profile-views-counter#usage">bu linke</a> gidin.</p><h3>İş Akışınızı Ekleme</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/968/1*DKUSl93RBHWqNh_U0o9nZg.png" /></figure><p>Eğer düzenli olarak içerik ürettiğiniz bir mecra varsa GitHub hesabınız içerisinde oluşturacağınız bir otomasyonla müdahaleye gerek kalmadan tüm içeriklerinizi readme içerisinde güncel şekilde paylaşabilirsiniz. Tek yapmanız gereken .yml ile iş akışınızı entegre etmek. Daha fazla bilgi için <a href="https://cloud.google.com/dataproc/docs/concepts/workflows/using-yamls">bu linke</a> gidebilirsiniz.</p><h3>Sonuç</h3><p>Kendinizi tanıtmak için harika olan bu alanda işleri biraz daha görsel şölen halinde sunmak hem sizi hem de sizi ve projelerinizi tanımak isteyen kişiyi memnun edecektir. Ancak aşırıya kaçırmamanızı tavsiye ederim. Sonuçta herşey dozunda güzel. Eğer sizinde belirtmek istediğiniz veya aklınıza takılan birşey olursa belirtmekten çekinmeyin. Mutlu günler dilerim.</p><p>(<em>Tüm kaynaklar içerik içerisinde işaretlenmiştir</em>)</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=e9c5e3fc5eae" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[GitHub ve Readme.md için Yazım Kılavuzu]]></title>
            <link>https://medium.com/@erkamdev/github-ve-readme-md-i%C3%A7in-yaz%C4%B1m-k%C4%B1lavuzu-77a983a4d423?source=rss-b6f9f6403af4------2</link>
            <guid isPermaLink="false">https://medium.com/p/77a983a4d423</guid>
            <category><![CDATA[custom]]></category>
            <category><![CDATA[documentary]]></category>
            <category><![CDATA[version-control]]></category>
            <category><![CDATA[git]]></category>
            <category><![CDATA[github]]></category>
            <dc:creator><![CDATA[Erkam Dev]]></dc:creator>
            <pubDate>Sat, 25 Dec 2021 12:59:31 GMT</pubDate>
            <atom:updated>2021-12-25T12:59:31.018Z</atom:updated>
            <content:encoded><![CDATA[<p>Readme dosyasına resim, link, liste, kod ve hatta yapılacaklar listesi bile yüklenebileceğini biliyor muydunuz? Bu yazımda sizlere türkçe açıklamalar ile kısa ve öz şekilde bunları nasıl kendimizde kullanabileceğimizi anlatacağım.</p><h3>Readme Oluşturma</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/305/1*4BX7NKGWKLXD6cv_z6lCow.png" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/667/1*ts-pMFvFr5KQPKBLY5M8-Q.png" /><figcaption>Profil için tanıtım readme dosyası oluşturma</figcaption></figure><p>Projenizde veya hesabınızda readme oluşturmak için GitHub’ın verdiği kısayolu kullanabilir veya kendiniz de readme.md adında bir dosya oluşturabilirsiniz. Bu dosyanın projenizin ana kısmında veya Profilinizle aynı adı taşıyan bir deponun içinde olduğundan emin olun.</p><h3>Readme içinde kullanabileceğiniz kodlar</h3><p>Özelleştirmeleri yapabilmek için bilmeniz gereken bazı kod ve özel işaretler bulunmaktadır. Kolayca adapte olup hayal gücünüzün sınırlarına kadar herşeyi ekleyebilirsiniz. Tabi boyut ve dosya formatı sınırlamaları içinde :)</p><h4>Resim ekleme</h4><p>GitHub’ın güzel özelliklerinden biri yazıya resmi sürükle bırak ile yerel imaj dosyalarınızı kendi sunucularına yükleyerek gösterebilmesi. Yani hiç kod yazmadan da resim ekleyebilirsiniz. Ancak özel ayarlamalar yapmak isterseniz kod yazmanız gerekebilir.</p><p><strong>Resim eklerken basit özelleştirmeleri yapabileceğiniz bazı kodlar:</strong></p><pre>img width= resim genişliği<br>img height= resim yüksekliği<br>alt= resim alt yazısı<br>src= resimin çekileceği kaynak site veya dosya yolu</pre><p>Hepsinin birlikte kullanımı:</p><pre>&lt;img width=&quot;resim genişliği(sayı olarak)&quot; img height=&quot;resim yüksekliği(sayı olarak)&quot; alt=&quot;Resim açıklaması&quot; src=&quot;https://resminiz/bulunduğu/web/adresi/yada/kaynak/dosyalarınızın/dosya/yolu/buraya/gelecek.png&quot;&gt;</pre><p><em>(Tüm özellikler belirtilmemiştir. Gösterilen özelliklerin hepsini kullanmak zorunda değilsiniz.)</em></p><h4>Link ve Link Gösterimi için Resim Ekleme</h4><p>Linkleri yazılara veya resimlere gömmek ve temiz bir görünümle iyi bir işlevsellik kazanmak için ideal bir kod</p><p><strong>Resme tıklama ile linke gitme:</strong></p><p>Yazı linklerin başında ! işareti ile belirlenmesi onların resim olduğunu belirtir.</p><pre>[![Link açıklaması](https://resminiz/bulunduğu/web/adresi/yada/kaynak/dosyalarınızın/dosya/yolu/buraya/gelecek.png)](https://tıklayınca/gitmek/istediğiniz/link/burada/olacak)</pre><p><strong>Yazıya tıklama ile linke gitme:</strong></p><p>Link gömülü tıklanabilir yazı oluşturur.</p><pre>[Görünecek yazı](https://tıklayınca/gitmek/istediğiniz/link/burada/olacak)</pre><h4>Yazı Formatları</h4><p>Readme içerisine yazılanların formatlarını aşağıda belirtilen yöntemlerle özelleştirebilirsiniz.</p><p><strong>Başlık çeşitleri:</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/406/1*93EPfYBwVPpK-9w8IvmKjQ.png" /><figcaption>Başlık çeşitleri</figcaption></figure><p>Bu başlık görünümlerini eklemek için Hash işareti kullanabilirsiniz.(#)</p><pre>#Büyük başlık</pre><pre>##Başlık</pre><pre>######En küçük başlık</pre><p><strong>Maddeleme ve numaralandırma:</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/186/1*P6pIO5hkglEBpXkHpWx_JA.png" /><figcaption>Madde işaretleri</figcaption></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/214/1*Xv2dzyij3dOdi5UMYRL8zQ.png" /><figcaption>Numaralandırma</figcaption></figure><p>Aşağıdaki sembolleri kullanarak madde işaretleri kullanabilirsiniz.</p><pre>- madde işareti ekleme<br>- madde işareti ekleme<br>- madde işareti ekleme</pre><pre>1. numaralandırma<br>2. numaralandırma<br>3. numaralandırma</pre><p><strong>Yazı stilleri:</strong></p><p>Farklı yazı şekillerini kullanmak için gereken semboller aşağıdadır.</p><pre>** Kalın Yazı **</pre><pre>* İtalik Yazı *</pre><pre>~~ Üstü çizili yazı ~~</pre><pre>**bu kalın yazıda _italik_ olan kısım _burası_**</pre><pre>***Hepsi kalın ve italik yazı***</pre><p><strong>Alıntılar:</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/404/1*eWIE97C8odO3YrN-04300g.png" /><figcaption>Tekli alıntı</figcaption></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/237/1*_HeBtiRJfedpbPiwBoqN4w.png" /><figcaption>Çoklu kod alıntısı</figcaption></figure><p>Resimde ki gibi Alıntı şekillerini kullanmak için gereken semboller ve yazım şekilleri</p><pre>&gt;Alıntı yazı</pre><pre>mesela &#39;git status&#39; gibi kodları alıntılayabiliriz.(tek tırnakla)</pre><pre>veya blok şeklinde de kodlar alıntılanabilir:<br>```<br>git status<br>git add<br>git commit<br>``` (3&#39;lü tek tırnak, başta ve sonda)</pre><h4>Listeler</h4><p><strong>Bağlı Liste:</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/314/1*RWpUU32HqXw13WQACuB_EA.png" /><figcaption>Bağlı liste görünümü</figcaption></figure><p>İç içe geçmiş madde işaretli listeleri oluşturmak için aşağıdaki kodu kullanabilirsiniz.</p><pre>1. Bağlı liste başlangıcı<br>   - İlk bağlı öğe<br>     - İkinci bağlı öğe</pre><p><strong>Yapılacak Listesi:</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/426/1*pfOhV7tjzs805_ocqIYG-w.png" /><figcaption>todo list</figcaption></figure><p>Yapılacak listesiyle sorun takiplerinizi kolaylaştırabilirsiniz. Parametreler verebilir veya yazıları link ve sorun kodları ile çağırabilirsiniz.</p><pre>Yapılacak Listesi</pre><pre>- [x] Tamamlanmış yapılacak öğesi<br>- [ ] Tamamlanmamış yapılacak öğesi<br>- [ ] https://github.com/depo_ismi/issues/740 </pre><h3>Bonus</h3><p><strong>Başkalarından Bahsetme:</strong></p><p>Birilerinden bahsetmek için @ i kullanabilirsiniz. Bahsettiğiniz kişi bildirimler kısmında sizin bahsettiğinizi görecektir. Daha fazla bilgi için <a href="https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications">buraya tıklayın</a></p><pre>@github/support Yeni güncellemeler hakkında ne düşünüyorsun</pre><p><strong>Alakalı Linkler:</strong></p><p>Projeniz içinde bulunan dosyalara yönlendiren linkleri oluşturmak için kullanmanız gereken format</p><pre>[Bu proje için kılavuz](docs/CONTRIBUTING.md)</pre><p>Tüm kılavuz kurallarını detaylı olarak incelemek isterseniz kaynaklar kısmından orijinal ingilizce dokümana ulaşabilirsiniz. Şimdilik bu kadar. İyi çalışmalar :)</p><h3><strong>Kaynaklar</strong></h3><p>GitHub Kodları ve yazım şekilleri: <a href="https://docs.github.com/en/github/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax">https://docs.github.com/en/github/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax</a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=77a983a4d423" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Projenizi GitHub Hesabınıza Yükleme ve Takibini Yapma]]></title>
            <link>https://medium.com/@erkamdev/projenizi-github-hesab%C4%B1n%C4%B1za-y%C3%BCkleme-ve-takibini-yapma-8918db2d2112?source=rss-b6f9f6403af4------2</link>
            <guid isPermaLink="false">https://medium.com/p/8918db2d2112</guid>
            <category><![CDATA[version-control]]></category>
            <category><![CDATA[github]]></category>
            <category><![CDATA[project-management]]></category>
            <category><![CDATA[git]]></category>
            <category><![CDATA[mobile-app-development]]></category>
            <dc:creator><![CDATA[Erkam Dev]]></dc:creator>
            <pubDate>Fri, 24 Dec 2021 16:23:49 GMT</pubDate>
            <atom:updated>2021-12-24T16:31:37.550Z</atom:updated>
            <content:encoded><![CDATA[<p>Tüm kodlarımızı saklamalı, versiyonlara ayırmalı ve güncellemek için takibini kolayca yapmalıyız. Git versiyon kontrol sistemi de bu gibi durumlar için var. Bu makalede basitçe nasıl GitHub’a yükleme yapabileceğimizi anlatacağım.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/200/1*npkNFqRK8c2r5Oh3ilJkuw.png" /></figure><h4>Git Versiyon Kontrol Sistemi Nedir?</h4><p>Tanıma göre Git, yazılım geliştirme süreçlerinde kullanılan, hız odaklı, dağıtık çalışan bir sürüm kontrol ve kaynak kod yönetim sistemidir. Özetleyecek olursak bizim kod yedekleme, takip etme ve diğer ayak işlerimizi halleder. Git sayesinde güncelleme sonrası oluşan hataların nereden kaynaklandığını daha kolay bulabilir yada en son çalışan sürüme dönebiliriz.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/302/1*VWDh6xsmZpaUZSfzOxrVow.png" /></figure><h4>GitHub Nedir?</h4><p>Tanıma göre GitHub, sürüm kontrol sistemi olarak Git kullanan yazılım geliştirme projeleri için web tabanlı bir depolama servisidir. Herkesin kendi sunucusu olmadığı için kodlar genellikle GitHub gibi ücretsiz servislere yüklenir. Git sisteminizle GitHub hesabınız eşitlenir.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/891/1*gL0RNd0qF6oGEVoyBYizmw.png" /></figure><h3>Adımlar:</h3><ul><li>Git kurulumu</li><li>GitHub hesabı oluşturma</li><li>Git’i GitHub’ınızla Eşleştirme</li><li>İlk Projemizi Yükleyelim</li><li>Git Komutlara Detaylı Bakış</li><li>Kaynaklar</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*ArUZ8i0ss34YWs0o1UIaMw.png" /></figure><h4>Git Kurulumu (Eğer kuruluysa atlayabilirsiniz)</h4><ul><li><a href="https://git-scm.com/downloads">Bu Siteye</a> gidin ve işletim sisteminize uygun olan paketi indirin.</li><li>Kurulumu (eğer özelleştirme isteğiniz yoksa) varsayılan ayarlarla ilerleyerek tamamlayın.</li><li>İşletim sisteminizin terminalini açın ve şu kodu yazın:</li></ul><pre>git --version</pre><ul><li>Eğer terminal size bir versiyon numarası döndürüyorsa kurulum başarılı demektir.</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/909/1*jvrcOobpYqU1QS1P4uQ1Ug.png" /></figure><h4>GitHub Hesabı Oluşturma(Eğer hesabınız varsa atlayabilirsiniz)</h4><ul><li><a href="https://github.com/">Bu siteye</a> gidin ve hesap açmak için sign up’a tıklayın.</li><li>Gereken bilgilerinizi doğru bir şekilde doldurun.</li><li>Kullanıcı adı (username) seçerken özen gösterin tekrar değiştirirken bazı istenmeyen durumlar oluşabilir.</li><li>İlgi alanlarınız hakkında da seçim yaptıktan sonra hesabınız başarıyla açılmış olacaktır.</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*TDqGI2BcoEOXQiKs0vzy-A.png" /></figure><h4>Git’i GitHub’ınızla Eşleştirme</h4><ul><li>Terminale şu kodu yazarak kullanıcı adınızı tanımlayın:</li></ul><pre>git config --global user.name “GitHubKullanıcıAdınız”</pre><ul><li>Terminale şu kodu yazarak email adresinizi tanımlayın:</li></ul><pre>git config --global user.email “GitHubEpostaAdresiniz”</pre><ul><li>Eğer hata almadıysanız Başarılı bir şekilde Git sistemi bağlanmış olmalı.</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*komCEFg_YQTxsrle-qPzhw.png" /></figure><h3>İlk Projemizi Yükleyelim</h3><p>Kullandığımız editörün veya sistemin terminal kısmını açalım. Eğer sistemin terminal ekranını kullanacaksak, terminalin proje klasöründe açıldığından emin olalım. Terminali proje klasörüne taşımak için terminale bunu yazın:</p><pre>cd C:\Proje\klasör\yolunu\buraya\yazın\</pre><p>Ardından…</p><pre>git init</pre><p>yazalım. Bu kod, projemiz için git programında yerel boş bir depo açacaktır. Ardından…</p><pre>git add .</pre><p>ile proje dosyalarımızı depomuza eklemiş olduk. Ardından…</p><pre>git commit -m &#39;Benim ilk commitim&#39;</pre><p>kodu ile projemizin ilk yüklemesinin açıklamasını eklemiş olduk.</p><p>Şimdi GitHub sitesine gidelim ve hesabımızda yeni bir repository (depo) oluşturalım. Depo isminizi boşluksuz, tirelerle ve küçük harflerle belirttikten sonra açıklama girip halka açık veya kapalı gibi seçenekleri belirleyip depoyu oluştur’a tıklayalım.</p><p>Ardından site bizi depoya yönlendirecek. Orada aşağıdakine benzer olan komutu kopyalayalım. Deponun linkini kopyalayıp kodu kendinizde yazabilirsiniz.</p><pre>git remote add origin <a href="https://burada">https://burada</a>/deponuzun/linki/olacak</pre><p>bu komutla birlikte git yerel programınızda ki yerel depo ile GitHub deponuzu birleştirdiniz. Ardından aşağıdaki komutla yerel commitlerimizi bir branş adı vererek depomuza gönderelim (push)</p><pre>git push -u origin master</pre><p>(Bunu ilk kez yaptığınızda bir popup menü ile birlikte sizden GitHub hesabınıza erişim için kullanıcı adı ve şifre isteyebilir. Sıkıntı yok, girişleri yapın tekrar karşınıza çıkmayacaktır.)</p><p>Tebrikler!! projeniz başarıyla GitHub deponuza yüklendi.</p><p><strong>Bundan sonra aynı proje üzerinde güncelleme yapmak isterseniz sık sık kullanacağınız komutlar sırasıyla:</strong></p><pre>git status</pre><p>ile değişiklikleri kontrol ederiz.</p><pre>git add .</pre><p>ile tüm değişiklik içeren dosyalar yerel depoya eklenir.</p><pre>git commit -m &#39;Commit mesajınız&#39;</pre><p>ile yaptığınız değişikliklerin ne olduğunu belirtebilirsiniz. en sonuna git status’ta belirtilen dosya yollarını yazarak her dosyaya özel farklı commitler oluşturabilirsiniz.</p><pre>git push</pre><p>ile tüm değişiklik içeren ve commitlenmiş öğeleri yerel depodan GitHub’a göndermiş olursunuz. GitHub hesabınızı kontrol ederek bu değişiklikleri görebilir ve her değişikliğin mesajını ve nelerin değiştiğini inceleyebilirsiniz.</p><p>Projenizin değişiklikliklerini güncel ve yedekte tutmak işte bu kadar kolay.</p><p>Makale devamında merak edenler için detaylı açıklamaları paylaştım. Ancak detayları merak etmiyorsanız herşey bu kadar. Düşüncelerinizi ve aklınıza takılan kısımları belirtmeyi unutmayın. İyi geliştirmeler. :)</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*ovP63bsrYJWb3KGPq--IhA.png" /></figure><h3>Git komutlarına Detaylı Bakış</h3><p>En çok kullanılan komutlar şu şekildedir:</p><h4>Git Clone</h4><p>uzak bir depodan (örneğin Github gibi) mevcut kaynak kodunu indirmek için kullanılan bir komuttur. Başka bir deyişle, Git klonu temelde bir projenin en son sürümünün aynı kopyasını indirir ve bilgisayarınıza kaydeder.</p><p>Kaynak kodu indirmenin birkaç yolu var, ancak çoğunlukla <strong>klonu https</strong> yolu <strong>ile</strong> tercih ediyorum :</p><pre>git clone &lt;https://klonlayacağınız-deponun-linki&gt;</pre><p>Github’dan proje indirmenin bir başka yoluda yeşil indirme butonuna tıklamak (klonla veya indir), veya URL’yi kopyalayıp yukardaki kodla indirme işini git clone’a bırakabilirsiniz.</p><h4>Git Status</h4><p>İçerisinde bulunmuş olduğunuz branşın eşitlenme durumunu gösterir.</p><p>Aşağıdaki gibi bilgileri toplayabiliriz:</p><p>*Mevcut şubenin güncel olup olmadığı</p><p>*Commit edilecek, push veya pull edilecek bir şey olup olmadığı</p><p>*Aşamalı, aşamalandırılmamış veya izlenmemiş dosyalar olup olmadığı</p><p>*Oluşturulan, değiştirilen veya silinen dosyalar olup olmadığı</p><pre>git status</pre><h4>Git Add</h4><p>Bir dosyayı oluşturduğumuzda, değiştirdiğimizde veya sildiğimizde, bu değişiklikler yerelimizde gerçekleşecek ve bir sonraki işleme dahil edilmeyecektir (konfigürasyonları değiştirmedikçe). Dosya(lar)daki değişiklikleri bir sonraki commit’imize dahil etmek için git add komutunu kullanmamız gerekiyor.</p><pre>git add &lt;dosya&gt;</pre><p>Herşeyi birden eklemek için:</p><pre>git add -A</pre><h4>Git Commit</h4><p>Bu belki Git’in en çok kullanılan komutudur. Geliştirmede belirli bir noktaya ulaştığımızda, değişikliklerimizi kaydetmek istiyoruz (belki belirli bir görev veya sorundan sonra). Bu komut, geliştirme sürecinde gerektiğinde daha sonra geri dönebileceğiniz bir kontrol noktası belirlemek gibidir. Ayrıca kaynak kodunda ne geliştirdiğimizi veya değiştirdiğimizi anlatan kısa bir mesaj yazmamız gerekiyor.</p><pre>git commit -m &quot;commit mesajınız&quot;</pre><h4>Git Push</h4><p>Değişikliklerinizi gerçekleştirdikten sonra yapmak istediğiniz sonraki şey, değişikliklerinizi GitHub’a göndermektir. Git push, commit’lerinizi GitHub’a yükler.</p><pre>git push &lt;remote&gt; &lt;branş_ismi&gt;</pre><p>Ancak, şubeniz yeni oluşturulduysa, şubeyi aşağıdaki komutla da yüklemeniz gerekir:</p><pre>git push --set-upstream &lt;remote&gt; &lt;branş_isminizi_verin&gt;</pre><p>veya</p><pre>git push -u origin &lt;branş_ismi&gt;</pre><h4>Git Pull</h4><p>Bu komut, Depodan güncellemeleri almak için kullanılır. Bu komut, <strong>git fetch</strong> ve <strong>git merge’nin</strong> bir birleşimidir; bu, git pull kullandığımızda, güncellemeleri uzak depodan (git fetch) alır ve yerelinizdeki en son değişiklikleri hemen uygular (git merge).</p><pre>git pull &lt;remote&gt;</pre><h4>Git Revert</h4><p>Bazen yaptığımız değişiklikleri geri almamız gerekir. Değişikliklerinizi yerel olarak veya uzaktan geri almanın çeşitli yolları vardır (neye ihtiyacımız olduğuna bağlıdır), ancak istenmeyen silmeleri önlemek için bu komutları dikkatli bir şekilde kullanmalıyız. Taahhütlerimizi geri almanın daha güvenli bir yolu <strong>git revert</strong> kullanmaktır . <strong>Taahhüt</strong> geçmişimizi görmek için önce <strong>git log — oneline</strong> kullanmamız gerekiyor <strong>:</strong></p><pre><strong>git log — oneline</strong></pre><p>Ardından, geri almak istediğimiz commit’in yanındaki Hash kodunu belirtmemiz yeterlidir:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/896/0*OTsHLR641jI4NXdl.png" /></figure><pre>git revert 3321844</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*H5VibrwwnLASxamqNNLL8w.png" /></figure><h3>Kaynaklar</h3><p>GitHub komutları: <a href="https://www.freecodecamp.org/news/10-important-git-commands-that-every-developer-should-know/">https://www.freecodecamp.org/news/10-important-git-commands-that-every-developer-should-know/</a></p><p>İlk projemizi GitHub’a yükleyelim: <a href="https://www.youtube.com/watch?v=zD6baZsoQDs">https://www.youtube.com/watch?v=zD6baZsoQDs</a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=8918db2d2112" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[UI/UX Tasarım Sistemleri ve Araçlar için Kaynaklar]]></title>
            <link>https://medium.com/@erkamdev/ui-ux-tasar%C4%B1m-sistemleri-ve-ara%C3%A7lar-i%C3%A7in-kaynaklar-436aa03c5bf7?source=rss-b6f9f6403af4------2</link>
            <guid isPermaLink="false">https://medium.com/p/436aa03c5bf7</guid>
            <category><![CDATA[adobe]]></category>
            <category><![CDATA[figma]]></category>
            <category><![CDATA[material-design]]></category>
            <category><![CDATA[ui-ux]]></category>
            <category><![CDATA[design]]></category>
            <dc:creator><![CDATA[Erkam Dev]]></dc:creator>
            <pubDate>Thu, 02 Dec 2021 21:05:50 GMT</pubDate>
            <atom:updated>2021-12-02T21:05:50.624Z</atom:updated>
            <content:encoded><![CDATA[<h3>UI/UX Kavramları Nedir?</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/541/1*LugHRKRXkjThHgFivanJGA.png" /></figure><p>Herhangi bir üründe kullanıcının gördüğü arayüz elemanları UI yapısı iken, Bu arayüz öğelerinin bir kılavuza göre verimli bir şekilde yerleştirilmesi de UX yapısını oluşturur. Kullanıcıların, ürünleri kullanırken kafasında soru oluşmaması ve ürünü kullanmaktan memnun olması gerekmektedir. Bunun için güzel tasarlanmış UI öğeleri, UX kılavuzu oluşturularak yerleştirilir. Bu alanda iyi olamamanız, ürününüzün kullanıcı deneyiminin vasat olmasıyla sonuçlanır. Yani bazen fonksiyonellik, tasarımdan sonra gelebilir. Bunu önlemek ve daha iyi tasarımlar yapabilmenizi sağlamak için iyi bir hayal gücüne ve verimli araçlara ihtiyacınız vardır. Ayrıca üzerine proje geliştirdiğiniz sektörün tasarım standartlarını takip etmeli ve erişilebilir bir yapı sunmalısınız. Hayal gücünüz hakkında iyileştirmeyi sadece siz geliştirebilseniz de tasarım sistemleri ve araçları hakkında size kendi kullandığım kaynakları tavsiye edebilirim.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/340/1*4HuIqF1L5dZpwUnrVbfhpg.png" /></figure><h3>UI/UX Tasarımı İçin Kullandığım Araçlar</h3><h3>Prototipleme</h3><h4><a href="http://figma.com">Figma</a></h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/900/1*oS2g8HkRN28jdcR_BW24tg.png" /></figure><p>UI ve UX tasarımı için gerekli araç ve eklentileri içeren ayrıca prototipleme aracına sahip internet tabanlı tasarım sayfası. Figma ile taslak olarak uygulamanıza, sitenize veya herhangi bir tasarımınıza, prototip olarak otomatik animasyonlar ve interaktif özellikler ekleyebilirsiniz. Eksi yanı internet olmadığında kullanamamanız. Artı yanı bir sürü eklentiye ve Google fonts’a kolay erişim sağlaması. Akış şemaları oluşturabileceğiniz taslaklar da mevcut</p><h4><a href="https://www.adobe.com/tr/products/xd.html">Adobe XD</a></h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/270/1*zUxPzCubDkidzVztzIOgWg.png" /></figure><p>Figma’nın benzeri bir işleve sahip. Farklılıkları her zaman internete ihtiyaç duymaması ve özel uygulama yüklemesi gerektiriyor olması. Diğer Adobe uygulamalarından farklı olarak ücretsiz olarak kullanabilirsiniz. Figma’da ki gibi tasarımları ve prototipleme fonksiyonlarını kullanabilirsiniz. Eklentiler ve fontlar için Adobe’un kaynaklarını kullanmalısınız.</p><h3>Fontlar</h3><h4><a href="http://fonts.google.com">Google Fonts</a></h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/590/1*BsQnW-yEtPr7BYV-0CF_wg.png" /></figure><p>Binlerce ücretsiz fontu indirip kullanmak, karşılaştırmak ve tipografi konusunda bilgi almak için kaynak konumunda bir hizmet. Ücretli fontların alternatiflerini de bulabilirsiniz.</p><h3>İkon Seti</h3><h4><a href="https://iconify.design/">Iconify</a></h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/400/1*SHWiWNIF9LIKjz10yblaJg.png" /></figure><p>Farklı tasarım sistemlerinin her birine özel ikon setlerini ücretsiz bir şekilde bulabileceğiniz bu site, Figma gibi tasarım araçlarına eklentiler sunarak işinizi kolaylaştırıyor. Fluent UI Design, Material Design, Carbon… bu ikon setlerinden sadece birkaçı.</p><h3>Renk Paleti</h3><h4><a href="https://coolors.co/">Coolors</a></h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/600/1*13RHBz8K-P7rbu5Dio3aJQ.jpeg" /></figure><p>Renk paletleri oluşturup kaydedebileceğiniz, başkalarının renk paletlerini keşfedebileceğiniz ve güzel renk şemaları elde etmek için kullanabileceğiniz bir site. İstediğiniz sayıda renk paleti oluşturabilir ve oluşturduğunuz renklerin çıkışını istediğiniz formatta alabilirsiniz.</p><h3>İllustrasyonlar</h3><h4><a href="https://undraw.co/illustrations">unDraw</a></h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*q5UnC4ls3b7_NMJEHe3YDQ.png" /></figure><p>Açık kaynaklı illüstrasyon sitesi. Ücretsiz illüstrasyonlar ve el yapımı imajlar bulabilirsiniz. Kullanmak istediğiniz illüstrasyonu istediğiniz gibi düzenlemeye izin vermesi de cabası.</p><h3>Tasarım Sistemleri</h3><h4><a href="https://material.io/">Material Design</a></h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/400/1*eijn-FKFOf3kt2rbBu_4kQ.jpeg" /></figure><p>Material Design, Google tarafından Android için 2014 te duyurulan ve bu yıl yeniden güncellenerek material you temasına geçen bir tasarım sistemi. Bu sitede tasarımınız için platforma göre hangi adımlarla daha okunaklı, işlevli ve güzel görünen canlı tasarımlar yapabileceğinizi görebilir, ikon paketlerine ve proje taslaklarına göz atabilir, ufkunuzu genişletebilirsiniz. Ayrıca sunduğu kılavuzlarla projenizi geliştirebilir, eklentileri ile Figma gibi tasarım araçlarında kodlamadan tasarımınıza temel yapıları aktarabilirsiniz.</p><h4><a href="https://developer.apple.com/design/human-interface-guidelines/ios/overview/themes/">Human Interface</a></h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/301/1*AgDMK9Kj25Rz8q1GpjBM1Q.jpeg" /></figure><p>Apple tarafından IOS ve diğer Apple ürünleri için geliştirilmiş arayüz tasarım sistemi. Burdaki kılavuzları kullanarak daha tutarlı ve Apple arayüzüne sahip yazılımları geliştirebilirsiniz. Eğer Apple için proje geliştiriyorsanız bu sistemi kullanmak zorundasınız.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=436aa03c5bf7" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Flutter ile Uygulama Geliştirmek için Takip Edebileceğiniz Kaynaklar]]></title>
            <link>https://medium.com/@erkamdev/flutter-ile-uygulama-geli%C5%9Ftirmek-i%C3%A7in-takip-edebilece%C4%9Finiz-kaynaklar-e1631d07847f?source=rss-b6f9f6403af4------2</link>
            <guid isPermaLink="false">https://medium.com/p/e1631d07847f</guid>
            <category><![CDATA[android]]></category>
            <category><![CDATA[flutter]]></category>
            <category><![CDATA[development]]></category>
            <category><![CDATA[recommendations]]></category>
            <category><![CDATA[cross-platform]]></category>
            <dc:creator><![CDATA[Erkam Dev]]></dc:creator>
            <pubDate>Thu, 02 Dec 2021 20:24:14 GMT</pubDate>
            <atom:updated>2021-12-02T21:08:13.781Z</atom:updated>
            <content:encoded><![CDATA[<p>Başlangıç seviyesinde de, çok tecrübeli de olsanız ,geliştirici olarak, yeni ilhamlar ve bakış açıları bulabilmek veya sorunların üstesinden gelebilmek için internette kaynaklara başvururuz. Bende size bugüne kadar kullandığım ve çok memnun kaldığım bazı araçlardan ve kaynaklardan bahsedeceğim.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/953/1*0h8e7K6qsIG6fv7BchwHEg.png" /></figure><h3>Flutter Nedir?</h3><p>Flutter, çapraz şekilde 3 platforma birden uygulama çıkarabilmek için kullanılan bir geliştirme ortamı. Şuan için Web, Android ve IOS’a uygulama çıkarabilirsiniz. tabi ki çıkmak istediğiniz platform için gerekli geliştirme kitleri (SDK) sizde ayrıca yüklü olmalı. Bu yüzden IOS’a geliştirme yapmak isterseniz, Xcode’a ihtiyaç duyacağınız için Windows veya Linux üzerinde IOS platformuna çıkış yapamazsınız. Android için de Android geliştirme kiti (SDK) yüklü olmalı. İşin güzel tarafı dart dili ile geliştirme yapılması. yani tek dil ile geliştirme yaptığınız için Mac ve iPhone sahibi olmasanız bile kodlarınız ileri ki zamanlarda Mac üzerinden IOS’a çıkış için kullanılabilir. Flutter, sizin için her platforma çıkış esnasında Native olarak build olur. Yani kodlarınız Android için kotlin’de, IOS için Swift’te yazılmış gibi çalışır. Böylelikle hem doğal olarak hızlı hem de az yer kaplayan projeler oluşturabilirsiniz. Flutter için Android Studio’yu ve Visual Studio/Code’u editor olarak kullanabilirsiniz. Flutter’ın en iyi özelliği Hot Reload ve Hot Restart özellikleridir. Bu özellikler sayesinde her değişiklik için uygulamayı yeniden build edip yüklemeniz gerekmez, değişimler anında görünür. Ayrıca Flutter kendi içerisinde performans analizi aracı ve hata ayıklayıcı ile birlikte gelir. Kurulum ve daha fazlası için <a href="https://www.flutter.dev">Flutter resmi sitesine</a> bakabilirsiniz.</p><h3>Flutter İçin Kullandığım Kaynaklar</h3><h4><a href="https://docs.flutter.dev/cookbook">Flutter resmi sitesi</a></h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/256/1*CymW4OAGGGgkyNOXFY_Wvg.png" /></figure><p>Flutter ana sitesi, en güncel dokümanlar ve videolu açıklamaları burada bulabilirsiniz. Kurulumdan örnek projelere kadar resmen size yol arkadaşlığı yapan bu site, sizi neredeyse yolun sonuna kadar sıkıntısız bir şekilde taşıyabiliyor. Sayfanın Türkçe dil desteği yok. Eğer İngilizceniz iyi değilse sayfayı Chrome’un çeviri aracıyla çevirebilirsiniz.</p><h4><a href="http://pub.dev">Dart Packages</a></h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/318/1*i4iPSA6dUnfIMXSVOqLTnQ.png" /></figure><p>Flutter ve dart için topluluk tarafından oluşturulmuş binlerce paketin ve metodun depolandığı site. Buradan edindiğiniz paketlerle normalde çok uzun sürecek veya hiç tamamlanamayacak geliştirme sürecini kısaltabilir. Yada daha efektif yollarla problemleri çözebilirsiniz. Üstüne uğraştığınız ve başka alanlarda da kullanılabileceğine inandığınız projeleri, buraya paket olarak yükleyerek başka insanlara yardımda bulunabilirsiniz.</p><h4><a href="https://dart.dev/guides/language">Dart Resmi Sitesi</a></h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/300/1*482pxBhYaHk_j2LeObYoSw.png" /></figure><p>Flutter’ın Dart dilini kullanmasının sebeplerinden biri de tasarım ve performans odaklı olması. Flutter için veya genel amaçlı kullanabileceğiniz Dart sınıf ve metotlarına ulaşabileceğiniz bu site, sizin problemlerin arasından kolayca sıyrılmanızı sağlayabilir.</p><h4><a href="https://gallery.flutter.dev/">Flutter gallery</a></h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/512/1*-zSF4PLkd5eeTg7O68oUxw.png" /></figure><p>Web ve uygulama sürümü bulunan bu proje, Flutter içerisinde oluşturabileceğiniz yapıların canlı ve kullanılabilen örneklerini sunar ve size kaynak kodlarıyla dokümanlarını aktarır. Buradan beğendiğiniz özellikleri kullanabilir veya halihazırda üretilmiş örnek projelere bakarak farklı bakış açıları ve ilhamlar edinebilirsiniz.</p><h4><a href="https://codelabs.developers.google.com/">Google Codelabs</a></h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/800/1*b9Te2gNWaZdWK30tlFxFug.png" /></figure><p>Flutter’da dahil olmak üzere farklı alanlarda örnek projeleri yapmanız için size yardımcı olan bu site, size sıfırdan yeni bir uygulama inşa etmenize yardımcı olacak materyaller içeriyor. Codelabs, adım adım size yoldaşlık yaparak sıfırdan başladığınız örnek projeleri bitirebilmenizi sağlıyor. Flutter dışında da çok başarılı olan bu site, yeni deneyimler elde etmek ve özgüven kazanabilmeniz için örnek projeleri tamamlamanızı sağlayan güzel bir hizmet.</p><h3>YouTube Kanalları</h3><h4><a href="https://www.youtube.com/c/flutterdev">Flutter</a></h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/953/1*0h8e7K6qsIG6fv7BchwHEg.png" /></figure><p>Flutter’ın resmi Youtube hesabı. Tüm yeni özellikler ve kullanım dokümantasyonu videoları burada paylaşılıyor. Her hafta yeni bir Widget yapısının açıklandığı videolar paylaşan bu kanal, eğlenceli bir konsept olan ve proje geliştirme sürecinin düzenlenmeden gösterildiği Flutter Boring Show’a da ev sahipliği yapıyor.</p><h4><a href="https://www.youtube.com/googlecode">Google Developers</a></h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/539/1*twDXQe1oATRMRKNzHn5OsA.png" /></figure><p>Bu kanalda Google’ın geliştirici etkinliklerini, yeni teknoloji tanıtımlarını ve Flutter gibi geliştirme ortamları hakkında dokümantasyon ayarında videoları bulabilirsiniz.</p><h4><a href="https://www.youtube.com/c/JohannesMilke">Johannes Milke</a></h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/225/1*45Z4m8YKnjlXD5VqnLcv-A.jpeg" /></figure><p>Flutter için projeler geliştirirken bunu detaylı ve anlaşılır şekilde kanalında paylaşan bu geliştirici, özellikle yeni başlayanlar ve spesifik konularda çözüm arayanlar için altın değerinde bir kaynak.</p><h4><a href="https://www.youtube.com/c/FlutterCommunityVideos">Flutter Community</a></h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/800/1*S7e2X8HkjVjFp-FEFI6Hlg.png" /></figure><p>Flutter iskeleti hakkında konuşulan canlı yayınlarla bilgi paylaşımında bulunan bu kanal ile derinlemesine bilgi sahibi olmak ve konuların soru cevaplarını öğrenmek isterseniz takip edebilirsiniz.</p><h4><a href="https://www.youtube.com/c/HelloWorldhere">Hello World</a></h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/88/1*ls_CI2w1sqYL1HeFA7o2fA.jpeg" /></figure><p>Flutter’da Türkçe kaynak bulmak isterseniz bu kanal size yardımcı olabilir. Şuan da büyüyen ve farklı konseptler deneyerek yeni bakış açıları oluşturan, ayrıca örnek projeler üzerinden anlatım yapan bir kanal.</p><h3>Sonuç</h3><p>Flutter ile uygulama geliştirmek için sadece resmi hesapları takip etmek ve dokümantasyonları okumak yeterli aslında. Size tavsiyem örnek projeleri de inceleyerek yeni fikirler elde etmeniz ve yol haritanızı oluştururken hayal gücünüzü sonuna kadar kullanmanız. Elbette internette kaynak bol, ancak burada en çok beğendiğim ve takip etmeye değer bulduğum kaynakları paylaşmak istedim.</p><p>Gününüz güzel olsun…</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=e1631d07847f" width="1" height="1" alt="">]]></content:encoded>
        </item>
    </channel>
</rss>