<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-2563314423202704731</id><updated>2024-11-05T19:00:27.947-08:00</updated><category term="yazılım"/><category term="Sql"/><category term="Genel"/><category term="c#"/><category term="Asp.Net"/><category term="aspnetcore"/><category term="Sql Server"/><category term="angular"/><category term="Stack-Overflow"/><category term="mobile"/><category term="Hobi"/><category term="teknoloji"/><category term="Design Patterns"/><category term="Java"/><category term="WCF"/><category term="WebAPI"/><category term="event"/><category term="fullstack"/><category term="hata"/><category term="problem-solving"/><category term="Android"/><category term="Asp.Net MVC"/><category term="C# List vs IEnumerable"/><category term="Git"/><category term="GittiGidiyor Api"/><category term="Hosting"/><category term="Kitap"/><category term="Linq to Sql"/><category term="Microsoft"/><category term="TDD"/><category term="Yazılım Performansı"/><category term="restapi"/><category term="sqlserver"/><category term="veritabanı"/><category term="web.config"/><title type='text'>Yunus Emre Göl</title><subtitle type='html'>Bir Yazılım Mühendisinden tavsiyeler . . .</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://blog.yunusemregol.com.tr/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2563314423202704731/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://blog.yunusemregol.com.tr/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/2563314423202704731/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>Yunus Emre</name><uri>http://www.blogger.com/profile/18218659907704276476</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiPmTrLxPiewlOuFDY38UUQKX9znXQTlOspMGCfuboBh-2F3akBlbFI3ZPRlnCB9_7kza5tzQuqSwb1gP0IMeFpdLglAZPAUprwA-JQXSNmUE5hEhK5PVUsbZzwBWJrHg/s1600/*'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>209</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2563314423202704731.post-2266618987172354834</id><published>2021-11-14T03:20:00.003-08:00</published><updated>2021-11-14T03:20:31.986-08:00</updated><title type='text'>How to read .Net Resource Files all content</title><content type='html'>&lt;p&gt;Once in a day, when I need to read all resx file contents and put all of them into database I tried to find resource with googling but I couldn&#39;t find any proper solution to read efficiently so I tried to create a method in a basic way of xml reading.&lt;/p&gt;&lt;p&gt;&amp;nbsp;To read all key and values from .net resource language map files. Following method can be used :&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;private static Dictionary&amp;lt;string, string&amp;gt; GetResourceFile(string languageCode)&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Dictionary&amp;lt;string, string&amp;gt; langMap = new Dictionary&amp;lt;string, string&amp;gt;();&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; string fileName = $&quot;SharedResource.{languageCode}.resx&quot;;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; string fullPath = &quot;D:\\projects\\projectName\\Resources\\&quot; + fileName;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; XDocument xDoc = XDocument.Load(fullPath);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; foreach (XElement item in xDoc.Root.Elements(&quot;data&quot;))&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; string key = item.Attribute(&quot;name&quot;).Value;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; string value = item.Element(&quot;value&quot;).Value;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; langMap.Add(key, value);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return langMap;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;(In my case, there are two resource files into Resources folder in root of project as&amp;nbsp;SharedResource.en-US.resx and&amp;nbsp;SharedResource.tr-TR.resx. to read one of them just pass input as en-US or tr-TR and get dictionary of key value map.)&lt;/p&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2563314423202704731/posts/default/2266618987172354834'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2563314423202704731/posts/default/2266618987172354834'/><link rel='alternate' type='text/html' href='http://blog.yunusemregol.com.tr/2021/11/how-to-read-net-resource-files-all.html' title='How to read .Net Resource Files all content'/><author><name>Yunus Emre</name><uri>http://www.blogger.com/profile/18218659907704276476</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiPmTrLxPiewlOuFDY38UUQKX9znXQTlOspMGCfuboBh-2F3akBlbFI3ZPRlnCB9_7kza5tzQuqSwb1gP0IMeFpdLglAZPAUprwA-JQXSNmUE5hEhK5PVUsbZzwBWJrHg/s1600/*'/></author></entry><entry><id>tag:blogger.com,1999:blog-2563314423202704731.post-322911856999416754</id><published>2021-06-26T14:46:00.001-07:00</published><updated>2021-06-26T14:46:13.575-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="C# List vs IEnumerable"/><title type='text'>IEnumerable ile List Arasındaki Farklar</title><content type='html'>&lt;p&gt;Sık kullandığımız iki tip olan IEnumerable ve List tipleri ile ilgili sürekli kullanılmasına rağmen farkının çok bilinmediğini düşünerek bu konuda kısa bir yazı yazmak istedim. Bakalım aralarında farklar nelermiş.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;IEnumerable bir interface iken, List yine IEnumerable sınıftan türeyen somut ( concrete) bir sınıftır.&lt;/p&gt;&lt;p&gt;Arasındaki Farklar :&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;IEnumerable&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;- List e göre iteration çok daha hızlıdır. Performans için kullanılabilir.&lt;/p&gt;&lt;p&gt;&amp;nbsp;- Read Only bir tip olduğu için Add, Remove gibi işlemler yapılamaz, IEnumerable ile sadece iteration, sort, filter gibi işlemler yapılabilir.&lt;/p&gt;&lt;p&gt;&amp;nbsp;- Soyut bir class olduğu için istenen tipe somutlaştırılabilir.&lt;/p&gt;&lt;p&gt;&amp;nbsp;- &lt;b&gt;yield &lt;/b&gt;tipi ile birlikte kullanılabilir.(Promise veri döndürme,state-machine liste kullanımı)&lt;/p&gt;&lt;p&gt;&amp;nbsp;- Linq sorguları veri tabanı sorgularınızın cevaplarınızı IEnumerable olarak döndürür, bu size siz ilgili IEnumerable list i iterate edene kadar ilgili sorguyu çalıştırmama performansı verir, böylece ilgili listeyi kullanmaya ihtiyacınız olmadığı bir durumda yada kullanana kadar ki zamanda performansdan kazanmış olursunuz.&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;b&gt;List&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&amp;nbsp;- &lt;/b&gt;Performansı IEnumerable a göre daha düşük olmasına karşın, döndürülen liste üzerinde data manupulation yapılabilir, ekle,çıkar işlemleri yapılabilir.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2563314423202704731/posts/default/322911856999416754'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2563314423202704731/posts/default/322911856999416754'/><link rel='alternate' type='text/html' href='http://blog.yunusemregol.com.tr/2021/06/ienumerable-ile-list-arasndaki-farklar.html' title='IEnumerable ile List Arasındaki Farklar'/><author><name>Yunus Emre</name><uri>http://www.blogger.com/profile/18218659907704276476</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiPmTrLxPiewlOuFDY38UUQKX9znXQTlOspMGCfuboBh-2F3akBlbFI3ZPRlnCB9_7kza5tzQuqSwb1gP0IMeFpdLglAZPAUprwA-JQXSNmUE5hEhK5PVUsbZzwBWJrHg/s1600/*'/></author></entry><entry><id>tag:blogger.com,1999:blog-2563314423202704731.post-7527434397546152631</id><published>2020-09-15T00:43:00.001-07:00</published><updated>2020-09-15T00:43:04.554-07:00</updated><title type='text'>.NET Core 3.0: Razor views değişikliklerinde uygulama tekrar derlenmeme problemi</title><content type='html'>&lt;p&gt;&amp;nbsp;Normal şartlarda mvc&amp;nbsp; ortamında uygulama geliştirirken cshtml dosyalarında yaptığımız değişiklikler uygulama çalışır durumdayken sayfayı yenilediğimizde otomatik derlenip ekrana geliyordu sadece .cs dosyalarındaki işlemler için uygulamayı durdurup tekrar başlatmamız gerekiyordu.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Fakat .net core ile birilkte bu çalışmamaya başladı ve mvc core uygulaması geliştirirken view larımızda yaptığımız her değişiklikten sonra uygulamayı durdurup tekrar başlatmamız gerekiyor bu da geliştirme sırasında bir işkenceye dönüşüyor.&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Bu sorunu çözmek için bir nuget package yükleyerek startup.cs e aşağıdaki kodu eklememiz yeterli.&lt;/p&gt;&lt;p&gt;Sırası ile&amp;nbsp; :&amp;nbsp;&lt;/p&gt;&lt;p&gt;1.&amp;nbsp;Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation nuget package ını indiriyoruz.&lt;/p&gt;&lt;p&gt;2. Startup.cs içerisine aşağıdaki gibi bir ekleme yapıyoruz ki bu kısım views değiştiğinde otomatik recompile işlemini yapacak kısım.&lt;/p&gt;&lt;pre class=&quot;lang-cs prettyprint prettyprinted&quot; style=&quot;border-radius: 5px; border: 0px; box-sizing: inherit; color: var(--highlight-color); font-family: consolas, menlo, monaco, &amp;quot;lucida console&amp;quot;, &amp;quot;liberation mono&amp;quot;, &amp;quot;dejavu sans mono&amp;quot;, &amp;quot;bitstream vera sans mono&amp;quot;, &amp;quot;courier new&amp;quot;, monospace, sans-serif; font-size: 13px; font-stretch: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; line-height: 1.30769; margin-bottom: 1.6em; margin-top: 0px; max-height: 600px; overflow-wrap: normal; overflow: auto; padding: 12px; vertical-align: baseline; width: auto;&quot;&gt;&lt;code style=&quot;border-radius: 0px; border: 0px; box-sizing: inherit; color: var(--black-800); font-family: consolas, menlo, monaco, &amp;quot;lucida console&amp;quot;, &amp;quot;liberation mono&amp;quot;, &amp;quot;dejavu sans mono&amp;quot;, &amp;quot;bitstream vera sans mono&amp;quot;, &amp;quot;courier new&amp;quot;, monospace, sans-serif; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline; white-space: inherit;&quot;&gt;&lt;span class=&quot;pln&quot; color=&quot;var(--black-750)&quot; style=&quot;border: 0px; box-sizing: inherit; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt; services&lt;/span&gt;&lt;span class=&quot;pun&quot; color=&quot;var(--black-750)&quot; style=&quot;border: 0px; box-sizing: inherit; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;typ&quot; style=&quot;border: 0px; box-sizing: inherit; color: #2b91af; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;AddControllersWithViews&lt;/span&gt;&lt;span class=&quot;pun&quot; color=&quot;var(--black-750)&quot; style=&quot;border: 0px; box-sizing: inherit; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;().&lt;/span&gt;&lt;span class=&quot;typ&quot; style=&quot;border: 0px; box-sizing: inherit; color: #2b91af; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;AddRazorRuntimeCompilation&lt;/span&gt;&lt;span class=&quot;pun&quot; color=&quot;var(--black-750)&quot; style=&quot;border: 0px; box-sizing: inherit; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;();&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;yada&amp;nbsp;&lt;/p&gt;&lt;pre class=&quot;lang-cs prettyprint prettyprinted&quot; style=&quot;border-radius: 5px; border: 0px; box-sizing: inherit; color: var(--highlight-color); font-family: consolas, menlo, monaco, &amp;quot;lucida console&amp;quot;, &amp;quot;liberation mono&amp;quot;, &amp;quot;dejavu sans mono&amp;quot;, &amp;quot;bitstream vera sans mono&amp;quot;, &amp;quot;courier new&amp;quot;, monospace, sans-serif; font-size: 13px; font-stretch: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; line-height: 1.30769; margin-bottom: 1.6em; margin-top: 0px; max-height: 600px; overflow-wrap: normal; overflow: auto; padding: 12px; vertical-align: baseline; width: auto;&quot;&gt;&lt;code style=&quot;border-radius: 0px; border: 0px; box-sizing: inherit; color: var(--black-800); font-family: consolas, menlo, monaco, &amp;quot;lucida console&amp;quot;, &amp;quot;liberation mono&amp;quot;, &amp;quot;dejavu sans mono&amp;quot;, &amp;quot;bitstream vera sans mono&amp;quot;, &amp;quot;courier new&amp;quot;, monospace, sans-serif; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline; white-space: inherit;&quot;&gt;&lt;span class=&quot;pln&quot; color=&quot;var(--black-750)&quot; style=&quot;border: 0px; box-sizing: inherit; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt; services&lt;/span&gt;&lt;span class=&quot;pun&quot; color=&quot;var(--black-750)&quot; style=&quot;border: 0px; box-sizing: inherit; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;typ&quot; style=&quot;border: 0px; box-sizing: inherit; color: #2b91af; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;AddControllers&lt;/span&gt;&lt;span class=&quot;pun&quot; color=&quot;var(--black-750)&quot; style=&quot;border: 0px; box-sizing: inherit; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;().&lt;/span&gt;&lt;span class=&quot;typ&quot; style=&quot;border: 0px; box-sizing: inherit; color: #2b91af; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;AddRazorRuntimeCompilation&lt;/span&gt;&lt;span class=&quot;pun&quot; color=&quot;var(--black-750)&quot; style=&quot;border: 0px; box-sizing: inherit; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;();&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;pre class=&quot;lang-cs prettyprint prettyprinted&quot; style=&quot;border-radius: 5px; border: 0px; box-sizing: inherit; color: var(--highlight-color); font-family: consolas, menlo, monaco, &amp;quot;lucida console&amp;quot;, &amp;quot;liberation mono&amp;quot;, &amp;quot;dejavu sans mono&amp;quot;, &amp;quot;bitstream vera sans mono&amp;quot;, &amp;quot;courier new&amp;quot;, monospace, sans-serif; font-size: 13px; font-stretch: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; line-height: 1.30769; margin-bottom: 1.6em; margin-top: 0px; max-height: 600px; overflow-wrap: normal; overflow: auto; padding: 12px; vertical-align: baseline; width: auto;&quot;&gt;&lt;br /&gt;&lt;/pre&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div id=&quot;gtx-trans&quot; style=&quot;left: -24px; position: absolute; top: 511.253px;&quot;&gt;&lt;div class=&quot;gtx-trans-icon&quot;&gt;&lt;/div&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2563314423202704731/posts/default/7527434397546152631'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2563314423202704731/posts/default/7527434397546152631'/><link rel='alternate' type='text/html' href='http://blog.yunusemregol.com.tr/2020/09/net-core-30-razor-views.html' title='.NET Core 3.0: Razor views değişikliklerinde uygulama tekrar derlenmeme problemi'/><author><name>Yunus Emre</name><uri>http://www.blogger.com/profile/18218659907704276476</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiPmTrLxPiewlOuFDY38UUQKX9znXQTlOspMGCfuboBh-2F3akBlbFI3ZPRlnCB9_7kza5tzQuqSwb1gP0IMeFpdLglAZPAUprwA-JQXSNmUE5hEhK5PVUsbZzwBWJrHg/s1600/*'/></author></entry><entry><id>tag:blogger.com,1999:blog-2563314423202704731.post-810428993927609664</id><published>2019-11-20T23:01:00.000-08:00</published><updated>2019-11-20T23:01:38.883-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="fullstack"/><category scheme="http://www.blogger.com/atom/ns#" term="mobile"/><category scheme="http://www.blogger.com/atom/ns#" term="yazılım"/><title type='text'>Hibrit Mobil Uygulama Geliştirme Hakkında</title><content type='html'>Uzun yıllardır windows ve web platformlarında çalışan bir yazılımcı olduğum için ara ara mobil uygulama geliştirme konusunda motive olup native android ve ios geliştirme denemelerim olsa da sonradan bu tarafta ciddi bir efor sarf edip zaman harcamam gerektiğini gördükten sonra önce android sonra ios platformlarında geliştirme yapmaktan sırayla vazgeçtim.&lt;br /&gt;
&lt;br /&gt;
Ama mobil uygulama geliştirme fikri bana hep olağanüstü geldi. Çünkü artık insanlar bilgisayar başında değil telefonu başında vakit geçiriyor ve eğer bir kitleye hitap eden ürün geliştirmek istiyor iseniz mobil uygulama tarafı kaçınılmaz oluyor.&lt;br /&gt;
&lt;br /&gt;
Zaman zaman hibrit platformlar üzerine denemeler yapsam ve çevremde bolca araştırma yapsam da uygulamaların performanslarından oldukça şikayet olduğunu duyduktan ve gözlemledikten sonra bu fikrimden de hep vazgeçmiştim.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
IONIC 3&lt;br /&gt;
Geçen yılın başlarında angular teknolojisi ile biraz haşır neşir olmaya başladıktan sonra ionic 3 hakkında çevremden baya iyi övgüler almaya başladım. ionic 3 - angular 2+ kullanarak web ve mobil platforma aynı code base de uygulama geliştirmeye izin veren bir platform. Çevremdeki çoğu arkadaşımında bu konudaki değerlendirmelerini duyduktan sonra kara verdim ve ionic3 üzerine çalışmaya başladım.&lt;br /&gt;
&lt;br /&gt;
Sonrasında ilk acemilik ürünüm olan &quot;Tata - Tahsilat Takip&quot; mobil uygulamamı 1 ay içerisinde genel componentlere hakim olup geliştirdim. Aşağıdaki linklerden store üzerinde uygulamayı görüp göz atabilirsiniz.&lt;br /&gt;
&lt;br /&gt;
Android Link :&lt;br /&gt;
https://play.google.com/store/apps/details?id=com.ansoftware.tatatApp&amp;amp;hl=en_US&lt;br /&gt;
&lt;br /&gt;
IOS Link :&lt;br /&gt;
https://itunes.apple.com/us/app/tata-tahsilat-takip-sistemi/id1359026552?mt=8&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sonrasında bu işi biraz daha profesyonel ve performanslı bir şekilde geliştirmeye karar verdim ve ilk mobil işlerimi aldım. Birtanesi Otel Mobil uygulaması diğeri de, video paylaşım ve oylama içeren sosyal bir mobil uygulamaydı. Bunları 2 ay gibi kısa bir süre içerisinde bitirerek yayına verdim ve dönüşler kesinlikle çok çok iyiydi.&lt;br /&gt;
&lt;br /&gt;
Aynı zamanda bu mobil uygulamalrım için web uygulaması da yapmam gerekiyordu tabi, o da nesi tüm kodu aynen kopyaladığımda angular 2+ ile hemen web sitesi hazır. Sadece front-end html, css kodlamalarında oynamalar yapmamız yetti. Ki asp.net mvc ile yıllarca geliştirme yaptıktan sonra bu kadar az yer kaplayıp, platform bağımsız,bu kadar hızlı bir web uygulaması görmemiştim.&lt;br /&gt;
&lt;br /&gt;
İşte bu geliştirme ve deneyimler beni angular ve ionic üzerinde mobil uygulama geliştirme için ikna etmeye yetmişti.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2563314423202704731/posts/default/810428993927609664'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2563314423202704731/posts/default/810428993927609664'/><link rel='alternate' type='text/html' href='http://blog.yunusemregol.com.tr/2019/11/hibrit-mobil-uygulama-gelistirme-hakknda.html' title='Hibrit Mobil Uygulama Geliştirme Hakkında'/><author><name>Yunus Emre</name><uri>http://www.blogger.com/profile/18218659907704276476</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiPmTrLxPiewlOuFDY38UUQKX9znXQTlOspMGCfuboBh-2F3akBlbFI3ZPRlnCB9_7kza5tzQuqSwb1gP0IMeFpdLglAZPAUprwA-JQXSNmUE5hEhK5PVUsbZzwBWJrHg/s1600/*'/></author></entry><entry><id>tag:blogger.com,1999:blog-2563314423202704731.post-8821078433508034465</id><published>2019-11-07T23:45:00.003-08:00</published><updated>2019-11-08T10:14:55.104-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="aspnetcore"/><category scheme="http://www.blogger.com/atom/ns#" term="yazılım"/><title type='text'>Asp.Net Core - Swagger Kurulumu</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFGmz3TDXqTHKFWv7o_1G9wLGxriOPevj4w69h7DLmBUmpvH9sed1spoGEA9X7wDO8njBCgoUVFSzpFVycGa4IFCbmXtq4IrRel_bkNPVZHPIZk1RMw1dwQYMNKrTYHI0PVJKQIiisUvo/s1600/swagger2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;710&quot; data-original-width=&quot;1600&quot; height=&quot;281&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFGmz3TDXqTHKFWv7o_1G9wLGxriOPevj4w69h7DLmBUmpvH9sed1spoGEA9X7wDO8njBCgoUVFSzpFVycGa4IFCbmXtq4IrRel_bkNPVZHPIZk1RMw1dwQYMNKrTYHI0PVJKQIiisUvo/s640/swagger2.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMb8rTRAkqbxtjTQ7klq4LqijPFGXLtL2M2Bq3Qv0_k2iP-t_VD0LJWYGHy06UkV-cHqdhfJ3H00wjUZhtOgCpu5rTt_lbEHBMpNfHsIUbbaggYZ_44dMkmZU-z4Y2eyeEm_nLj3So_O8/s1600/swagger.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;242&quot; data-original-width=&quot;713&quot; height=&quot;108&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMb8rTRAkqbxtjTQ7klq4LqijPFGXLtL2M2Bq3Qv0_k2iP-t_VD0LJWYGHy06UkV-cHqdhfJ3H00wjUZhtOgCpu5rTt_lbEHBMpNfHsIUbbaggYZ_44dMkmZU-z4Y2eyeEm_nLj3So_O8/s320/swagger.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Asp.Net Core 3.0 ile swagger kullanımı için basitce aşağıdaki aşamaları takip etmemiz yeterli olacaktır.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1.Package Manager Console açalım.&lt;br /&gt;
&lt;br /&gt;
2.Aşağıdaki komutu çalıştıralım :&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;hljs-pscommand&quot; style=&quot;background-color: #fafafa; box-sizing: inherit; color: #0101fd; font-family: , &amp;quot;consolas&amp;quot; , &amp;quot;liberation mono&amp;quot; , &amp;quot;menlo&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: 14px; white-space: pre;&quot;&gt;Install-Package&lt;/span&gt;&lt;span style=&quot;background-color: #fafafa; color: #171717; font-family: , &amp;quot;consolas&amp;quot; , &amp;quot;liberation mono&amp;quot; , &amp;quot;menlo&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: 14px; white-space: pre;&quot;&gt; Swashbuckle.AspNetCore&lt;/span&gt;&lt;span class=&quot;hljs-parameter&quot; style=&quot;background-color: #fafafa; box-sizing: inherit; color: #007d9a; font-family: , &amp;quot;consolas&amp;quot; , &amp;quot;liberation mono&amp;quot; , &amp;quot;menlo&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: 14px; white-space: pre;&quot;&gt; -Version&lt;/span&gt;&lt;span style=&quot;background-color: #fafafa; color: #171717; font-family: , &amp;quot;consolas&amp;quot; , &amp;quot;liberation mono&amp;quot; , &amp;quot;menlo&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: 14px; white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;hljs-number&quot; style=&quot;background-color: #fafafa; box-sizing: inherit; color: #171717; font-family: , &amp;quot;consolas&amp;quot; , &amp;quot;liberation mono&amp;quot; , &amp;quot;menlo&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: 14px; white-space: pre;&quot;&gt;5.0&lt;/span&gt;&lt;span style=&quot;background-color: #fafafa; color: #171717; font-family: , &amp;quot;consolas&amp;quot; , &amp;quot;liberation mono&amp;quot; , &amp;quot;menlo&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: 14px; white-space: pre;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;hljs-number&quot; style=&quot;background-color: #fafafa; box-sizing: inherit; color: #171717; font-family: , &amp;quot;consolas&amp;quot; , &amp;quot;liberation mono&amp;quot; , &amp;quot;menlo&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: 14px; white-space: pre;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;background-color: #fafafa; color: #171717; font-family: , &amp;quot;consolas&amp;quot; , &amp;quot;liberation mono&amp;quot; , &amp;quot;menlo&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: 14px; white-space: pre;&quot;&gt;-rc4&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
3. Startup.cs içerisinde gerekli configurasyonu aşağıdaki gibi ekleyelim.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;b&gt;ConfigureServices &lt;/b&gt;metodu içerisine metodun başlangıcına aşağıdaki kodu ekleyelim:&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // Register the Swagger generator, defining 1 or more Swagger documents&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; services.AddSwaggerGen(c =&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; c.SwaggerDoc(&quot;v1&quot;, new OpenApiInfo { Title = &quot;My API&quot;, Version = &quot;v1&quot; });&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; });&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;b&gt;Configure &lt;/b&gt;metodu içerisine yine metodun başlangıcına ekleyelim :&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // Enable middleware to serve generated Swagger as a JSON endpoint.&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; app.UseSwagger();&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // Enable middleware to serve swagger-ui (HTML, JS, CSS, etc.),&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // specifying the Swagger JSON endpoint.&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; app.UseSwaggerUI(c =&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; c.SwaggerEndpoint(&quot;/swagger/v1/swagger.json&quot;, &quot;My API V1&quot;);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; });&lt;br /&gt;
&lt;br /&gt;
3.İşlem tamamdır şimdi api projenizi başlatıp url in sonuna /swagger yazdığınızda swagger dökümantasyon sisteminiz açılacaktır.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2563314423202704731/posts/default/8821078433508034465'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2563314423202704731/posts/default/8821078433508034465'/><link rel='alternate' type='text/html' href='http://blog.yunusemregol.com.tr/2019/11/aspnet-core-swagger-kurulumu.html' title='Asp.Net Core - Swagger Kurulumu'/><author><name>Yunus Emre</name><uri>http://www.blogger.com/profile/18218659907704276476</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiPmTrLxPiewlOuFDY38UUQKX9znXQTlOspMGCfuboBh-2F3akBlbFI3ZPRlnCB9_7kza5tzQuqSwb1gP0IMeFpdLglAZPAUprwA-JQXSNmUE5hEhK5PVUsbZzwBWJrHg/s1600/*'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFGmz3TDXqTHKFWv7o_1G9wLGxriOPevj4w69h7DLmBUmpvH9sed1spoGEA9X7wDO8njBCgoUVFSzpFVycGa4IFCbmXtq4IrRel_bkNPVZHPIZk1RMw1dwQYMNKrTYHI0PVJKQIiisUvo/s72-c/swagger2.png" height="72" width="72"/></entry><entry><id>tag:blogger.com,1999:blog-2563314423202704731.post-7319576974729634584</id><published>2019-11-07T12:04:00.000-08:00</published><updated>2019-11-08T10:18:01.962-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="aspnetcore"/><category scheme="http://www.blogger.com/atom/ns#" term="yazılım"/><title type='text'>Linux Centos 7 - .Net Core Api Yayınlama</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZxx8v_ebgZGdjS9hqdiTZZ2Pim3ytuqAUdPXVsUUBbjUDPTLwzJ560b098VSLw1E8qtnqXUc2FyoE9Mm4uo1Tqpt2yE_mC5dpBABRS9haXRB2Wpd9sFtEbUENdFhBLw-F_9KucIeX8UI/s1600/l%25C4%25B1nux+centos.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;720&quot; data-original-width=&quot;1280&quot; height=&quot;360&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZxx8v_ebgZGdjS9hqdiTZZ2Pim3ytuqAUdPXVsUUBbjUDPTLwzJ560b098VSLw1E8qtnqXUc2FyoE9Mm4uo1Tqpt2yE_mC5dpBABRS9haXRB2Wpd9sFtEbUENdFhBLw-F_9KucIeX8UI/s640/l%25C4%25B1nux+centos.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
.Net Core dünyasını uzun zamandır takip etmemin yanı sıra bir fırsat bulupta arge ve küçük deneme projelerinden öteye geçememiş, henüz zamanı var bu platform biraz daha olgunlaşsın community artsın diye diye baya da geç kalmıştım :)&lt;br /&gt;
&lt;br /&gt;
Sonunda dedim ki tamam ben artık bu .Net Core dünyasına geçiş yapayım ve deployment dahil tam bir similasyon projesi yapayım gerçek hayata uygun şekilde.&lt;br /&gt;
&lt;br /&gt;
Bu tarafta da belirlediğim kıstasların başında projenin Linux da çalışması vardı.Şimdi bakalım adım adım neler yaptık, hangi kavramları öğrendik ve sonuca nasıl ulaştık.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Başlamadan Önce Araştırmanız Gereken Temel Konular;&lt;br /&gt;
&amp;nbsp;- Nginx -&amp;gt; EngineX&lt;br /&gt;
&amp;nbsp;- Centos7 Linux İşletim sistemi&lt;br /&gt;
&amp;nbsp;- .Net Core Kestrel Servis&lt;br /&gt;
&amp;nbsp;- SSH ile command line üzerinden linux sunucusuna bağlantı ve temel ssh komutları&lt;br /&gt;
&amp;nbsp;- .Net Core da bir api projesi oluşturmak ve deploy etmek&lt;br /&gt;
&amp;nbsp;-</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2563314423202704731/posts/default/7319576974729634584'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2563314423202704731/posts/default/7319576974729634584'/><link rel='alternate' type='text/html' href='http://blog.yunusemregol.com.tr/2019/11/linux-centos-7-net-core-api-yaynlama.html' title='Linux Centos 7 - .Net Core Api Yayınlama'/><author><name>Yunus Emre</name><uri>http://www.blogger.com/profile/18218659907704276476</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiPmTrLxPiewlOuFDY38UUQKX9znXQTlOspMGCfuboBh-2F3akBlbFI3ZPRlnCB9_7kza5tzQuqSwb1gP0IMeFpdLglAZPAUprwA-JQXSNmUE5hEhK5PVUsbZzwBWJrHg/s1600/*'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZxx8v_ebgZGdjS9hqdiTZZ2Pim3ytuqAUdPXVsUUBbjUDPTLwzJ560b098VSLw1E8qtnqXUc2FyoE9Mm4uo1Tqpt2yE_mC5dpBABRS9haXRB2Wpd9sFtEbUENdFhBLw-F_9KucIeX8UI/s72-c/l%25C4%25B1nux+centos.png" height="72" width="72"/></entry><entry><id>tag:blogger.com,1999:blog-2563314423202704731.post-672857217934536684</id><published>2019-11-07T12:02:00.000-08:00</published><updated>2019-11-08T10:33:54.207-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="angular"/><category scheme="http://www.blogger.com/atom/ns#" term="yazılım"/><title type='text'>Angular Dinamik Component Oluşturma ve Dinamik Componentler ile Çalışma</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKicBJJZ7iqcu4wumXlli0drw18NmKaUrUC1YDB7snlvffcG0ozBkqsrX4dN5wSGenp086hhg0xfU5-AJ60yUmRAewxiZ6kHYliY-UCvrYQ19IdHYfWDK1jsOxlfyGErQRHp85L-3tNto/s1600/angularCC.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;400&quot; data-original-width=&quot;1015&quot; height=&quot;252&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKicBJJZ7iqcu4wumXlli0drw18NmKaUrUC1YDB7snlvffcG0ozBkqsrX4dN5wSGenp086hhg0xfU5-AJ60yUmRAewxiZ6kHYliY-UCvrYQ19IdHYfWDK1jsOxlfyGErQRHp85L-3tNto/s640/angularCC.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;br /&gt;
Angular ile çalışırken bazı durumlarda dinamik olarak oluşan ve yönetilen modüler bir alt yapı ihtiyacımız olabilir. Bu ihtiyacımızı karşılayabilmek için angular &#39;ComponentFactoryResolver&#39; adında bir sınıfa sahip. Bu sınıf aracılığı ile oldukça esnek ve runtime da çalışan dinamik bir yapı hazırlayabiliriz.&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;Adım Adım&amp;nbsp;Dinamik Modül Sistemi Uygulama&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;&amp;nbsp;1- Yeni bir proje oluşturuyoruz.&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Routing mekanizmasına sahip bir angular uygulamasını console yardımı ile aşağıdaki komutu çalıştırarak uyguluyoruz.&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;br /&gt;
&lt;div style=&quot;background-color: #fcfcfc; box-sizing: border-box; font-family: monospace; font-size: 13px; position: relative;&quot;&gt;
&lt;pre style=&quot;-webkit-tap-highlight-color: transparent; background: transparent; border-radius: 0px; border: 0px solid rgb(204, 204, 204); box-sizing: border-box; font-variant-ligatures: contextual; line-height: inherit; overflow: visible; padding: 0px 4px; position: relative; word-break: break-all; word-wrap: normal; z-index: 2;&quot;&gt;&lt;span style=&quot;color: #770088;&quot;&gt;ng new test-dinamik --routing&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;2 - Örnek Uygulamamızın Kurgusu&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Örnek uygulamamızda bir adet mesaj componentini dinamik olarak ilgili sayfamızın içerisine dahil ediyor olacağız. Modülümüzü dinamik yüklerken aynı zamanda @Input() anahtar kelimesi ile child component imize de veri gönderiyor olacağız.&lt;br /&gt;
&lt;br /&gt;
Şimdi Adım Adım İşlemimize Geçeli :&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;app.component.html&lt;/u&gt;&lt;br /&gt;
&lt;br /&gt;
app.component.html dosyamıza aşağdaki gibi bir html ekliyoruz. İlgili html ComponentContainer Id si ile içerisine dinamik olarak bizim yükleyeceğimiz componentleri alıyor olacaktır.&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace, &amp;quot;Segoe UI Emoji&amp;quot;; font-size: 14px; line-height: 19px; white-space: pre;&quot;&gt;
&lt;span style=&quot;color: grey;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;template&lt;/span&gt; #Component&lt;span style=&quot;color: #9cdcfe;&quot;&gt;container&lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;template&lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;u&gt;&lt;br /&gt;&lt;/u&gt;
&lt;u&gt;app.component.ts&lt;/u&gt;&lt;br /&gt;
&lt;br /&gt;
öncelikle app.component.ts dosyamızın constructor u aşağıdaki gibi görünmeli. Constructor ımızda Dinamik çalışmamızı sağlayacak ComponentFactoryResolver nesnemizi dependency injection ile tanımlıyor. Ve hemen üstünde de childcomponent imizin hangi Id ye sahip kontrol içerisine yükleneceğini tanımlıyoruz.&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace, &amp;quot;Segoe UI Emoji&amp;quot;; font-size: 14px; line-height: 19px; white-space: pre;&quot;&gt;
&lt;div&gt;
&lt;span style=&quot;color: #c586c0;&quot;&gt;import&lt;/span&gt; { &lt;span style=&quot;color: #9cdcfe;&quot;&gt;Component&lt;/span&gt;, &lt;span style=&quot;color: #9cdcfe;&quot;&gt;ViewChild&lt;/span&gt;, &lt;span style=&quot;color: #9cdcfe;&quot;&gt;ViewContainerRef&lt;/span&gt;, &lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #9cdcfe;&quot;&gt;ComponentFactoryResolver&lt;/span&gt;, &lt;span style=&quot;color: #9cdcfe;&quot;&gt;Input&lt;/span&gt; } &lt;span style=&quot;color: #c586c0;&quot;&gt;from&lt;/span&gt; &lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;@angular/core&#39;&lt;/span&gt;;  &lt;/div&gt;
&lt;div&gt;
&lt;div style=&quot;line-height: 19px;&quot;&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div&gt;
@&lt;span style=&quot;color: #dcdcaa;&quot;&gt;Component&lt;/span&gt;({&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #9cdcfe;&quot;&gt;selector:&lt;/span&gt; &lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;app-root&#39;&lt;/span&gt;,&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #9cdcfe;&quot;&gt;templateUrl:&lt;/span&gt; &lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;./app.component.html&#39;&lt;/span&gt;,&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #9cdcfe;&quot;&gt;styleUrls:&lt;/span&gt; [&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;./app.component.css&#39;&lt;/span&gt;]&lt;/div&gt;
&lt;div&gt;
})&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #c586c0;&quot;&gt;export&lt;/span&gt; &lt;span style=&quot;color: #569cd6;&quot;&gt;class&lt;/span&gt; &lt;span style=&quot;color: #4ec9b0;&quot;&gt;AppComponent&lt;/span&gt; {&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
@&lt;span style=&quot;color: #dcdcaa;&quot;&gt;ViewChild&lt;/span&gt;(&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;Componentcontainer&#39;&lt;/span&gt;, { &lt;span style=&quot;color: #9cdcfe;&quot;&gt;read:&lt;/span&gt; &lt;span style=&quot;color: #9cdcfe;&quot;&gt;ViewContainerRef&lt;/span&gt; }) &lt;span style=&quot;color: #9cdcfe;&quot;&gt;entry&lt;/span&gt;: &lt;span style=&quot;color: #4ec9b0;&quot;&gt;ViewContainerRef&lt;/span&gt;;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #569cd6;&quot;&gt;constructor&lt;/span&gt;(&lt;span style=&quot;color: #569cd6;&quot;&gt;private&lt;/span&gt; &lt;span style=&quot;color: #9cdcfe;&quot;&gt;resolver&lt;/span&gt;: &lt;span style=&quot;color: #4ec9b0;&quot;&gt;ComponentFactoryResolver&lt;/span&gt;) {&lt;/div&gt;
&lt;div&gt;
&lt;/div&gt;
&lt;div&gt;
}  &lt;/div&gt;
&lt;div&gt;
}&lt;/div&gt;
&lt;/div&gt;
&lt;br /&gt;
Message Component imizi dinamik olarak çağırma&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace, &amp;quot;Segoe UI Emoji&amp;quot;; font-size: 14px; line-height: 19px; white-space: pre;&quot;&gt;
&lt;br /&gt;
&lt;div&gt;
&lt;span style=&quot;color: #dcdcaa;&quot;&gt;createContainerViewModel&lt;/span&gt;() {&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #608b4e;&quot;&gt;this.entry.clear();&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #569cd6;&quot;&gt;const&lt;/span&gt; &lt;span style=&quot;color: #9cdcfe;&quot;&gt;factory&lt;/span&gt; = &lt;span style=&quot;color: #569cd6;&quot;&gt;this&lt;/span&gt;.&lt;span style=&quot;color: #9cdcfe;&quot;&gt;resolver&lt;/span&gt;.&lt;span style=&quot;color: #dcdcaa;&quot;&gt;resolveComponentFactory&lt;/span&gt;(Message&lt;span style=&quot;color: #9cdcfe;&quot;&gt;Component&lt;/span&gt;);&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #569cd6;&quot;&gt;let&lt;/span&gt; &lt;span style=&quot;color: #9cdcfe;&quot;&gt;componentRefItem&lt;/span&gt; = &lt;span style=&quot;color: #569cd6;&quot;&gt;this&lt;/span&gt;.&lt;span style=&quot;color: #9cdcfe;&quot;&gt;containerEntry&lt;/span&gt;.&lt;span style=&quot;color: #dcdcaa;&quot;&gt;createComponent&lt;/span&gt;(&lt;span style=&quot;color: #9cdcfe;&quot;&gt;factory&lt;/span&gt;);&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #569cd6;&quot;&gt;this&lt;/span&gt;.&lt;span style=&quot;color: #9cdcfe;&quot;&gt;componentRef&lt;/span&gt;.&lt;span style=&quot;color: #dcdcaa;&quot;&gt;push&lt;/span&gt;(&lt;span style=&quot;color: #9cdcfe;&quot;&gt;componentRefItem&lt;/span&gt;);&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #608b4e;&quot;&gt;this.componentRef.instance.message=&quot;hello world&quot;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
}&lt;/div&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2563314423202704731/posts/default/672857217934536684'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2563314423202704731/posts/default/672857217934536684'/><link rel='alternate' type='text/html' href='http://blog.yunusemregol.com.tr/2019/11/angular-dinamik-component-olusturma-ve.html' title='Angular Dinamik Component Oluşturma ve Dinamik Componentler ile Çalışma'/><author><name>Yunus Emre</name><uri>http://www.blogger.com/profile/18218659907704276476</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiPmTrLxPiewlOuFDY38UUQKX9znXQTlOspMGCfuboBh-2F3akBlbFI3ZPRlnCB9_7kza5tzQuqSwb1gP0IMeFpdLglAZPAUprwA-JQXSNmUE5hEhK5PVUsbZzwBWJrHg/s1600/*'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKicBJJZ7iqcu4wumXlli0drw18NmKaUrUC1YDB7snlvffcG0ozBkqsrX4dN5wSGenp086hhg0xfU5-AJ60yUmRAewxiZ6kHYliY-UCvrYQ19IdHYfWDK1jsOxlfyGErQRHp85L-3tNto/s72-c/angularCC.jpg" height="72" width="72"/></entry><entry><id>tag:blogger.com,1999:blog-2563314423202704731.post-4829743959798892164</id><published>2019-11-07T12:00:00.000-08:00</published><updated>2019-11-08T10:45:08.971-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="aspnetcore"/><category scheme="http://www.blogger.com/atom/ns#" term="restapi"/><category scheme="http://www.blogger.com/atom/ns#" term="yazılım"/><title type='text'>OAuth implementation in Asp.Net Web Api</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijyeCTqlK_SCNMHDvQRyl4vhxGAgKqKgh2DQ52qFyLsdY53PSU0WLyQip9JZsK4Ud1AJ6rbPJmYpRPGhCMIiJqhUBkCGfVj90e1ZLjakLzHXLWmSMyxgK55OAuTaT3lbeys6aI3JA5ZHk/s1600/JWT.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;400&quot; data-original-width=&quot;1015&quot; height=&quot;251&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijyeCTqlK_SCNMHDvQRyl4vhxGAgKqKgh2DQ52qFyLsdY53PSU0WLyQip9JZsK4Ud1AJ6rbPJmYpRPGhCMIiJqhUBkCGfVj90e1ZLjakLzHXLWmSMyxgK55OAuTaT3lbeys6aI3JA5ZHk/s640/JWT.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;br /&gt;
While desinging Rest API ,we almost need to security layer to keep our data source in safety. The most popular authentication is OAuth in last years.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;What is OAuth ?&lt;br /&gt;
&lt;br /&gt;
OAuth is an authentication which allow to use RestApi Architecture more secure. There are several type of usage which is seperated with GrantTypes as follow;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Grant Types&lt;/b&gt;&lt;br /&gt;
&amp;nbsp;- Authorization Code&lt;br /&gt;
&amp;nbsp;- Implicit&lt;br /&gt;
&amp;nbsp;- Password&lt;br /&gt;
&amp;nbsp;- Client Credentials&lt;br /&gt;
&amp;nbsp;- Device Code&lt;br /&gt;
&amp;nbsp;- Refresh Token&lt;br /&gt;
&lt;br /&gt;
We will explain to usage of Password Grant Type and implement in via Asp.Net Web Api.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
So lets follow the basic steps to implement password grant type OAuth2:&lt;br /&gt;
&amp;nbsp;-&amp;nbsp;Create a Visual Studio Project as Asp.Net Web Api project.&lt;br /&gt;
&amp;nbsp;- As default we have a ValuesController which allow to call http get :&amp;nbsp; http://localhost:3221/api/values without any security control.&lt;br /&gt;
&amp;nbsp;- Lets call&amp;nbsp; http://localhost:3221/api/values url to see data before implement anything.&lt;br /&gt;
&amp;nbsp;- Add new item in App_Start folder as Startup.cs.&lt;br /&gt;
&amp;nbsp;- Add the following codes into Startup File configuration method.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; public void Configuration(IAppBuilder app)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; HttpConfiguration httpConfiguration = new HttpConfiguration();&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; this.ConfigureAuth(app);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; WebApiConfig.Register(httpConfiguration);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; app.UseWebApi(httpConfiguration);&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; private void ConfigureAuth(IAppBuilder appBuilder)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; OAuthAuthorizationServerOptions oAuthAuthorizationServerOptions = new OAuthAuthorizationServerOptions()&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; TokenEndpointPath = new PathString(&quot;/api/token&quot;),&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; AccessTokenExpireTimeSpan = TimeSpan.FromDays(1),&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; AllowInsecureHttp = true,&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Provider = new ICRONClientAuthorizationServerProvider()&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; };&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //fill the settings for OAuth to create new token properly&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; appBuilder.UseOAuthAuthorizationServer(oAuthAuthorizationServerOptions);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; appBuilder.UseOAuthBearerAuthentication(new OAuthBearerAuthenticationOptions());&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;- Create folder in root as OAuth then add new class into this directory as Provider&lt;br /&gt;
&lt;br /&gt;
resource:&lt;br /&gt;
https://oauth.net/2/grant-types/</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2563314423202704731/posts/default/4829743959798892164'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2563314423202704731/posts/default/4829743959798892164'/><link rel='alternate' type='text/html' href='http://blog.yunusemregol.com.tr/2019/11/oauth-implementation-in-aspnet-web-api.html' title='OAuth implementation in Asp.Net Web Api'/><author><name>Yunus Emre</name><uri>http://www.blogger.com/profile/18218659907704276476</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiPmTrLxPiewlOuFDY38UUQKX9znXQTlOspMGCfuboBh-2F3akBlbFI3ZPRlnCB9_7kza5tzQuqSwb1gP0IMeFpdLglAZPAUprwA-JQXSNmUE5hEhK5PVUsbZzwBWJrHg/s1600/*'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijyeCTqlK_SCNMHDvQRyl4vhxGAgKqKgh2DQ52qFyLsdY53PSU0WLyQip9JZsK4Ud1AJ6rbPJmYpRPGhCMIiJqhUBkCGfVj90e1ZLjakLzHXLWmSMyxgK55OAuTaT3lbeys6aI3JA5ZHk/s72-c/JWT.jpg" height="72" width="72"/></entry><entry><id>tag:blogger.com,1999:blog-2563314423202704731.post-3040229266697405292</id><published>2019-11-07T11:59:00.000-08:00</published><updated>2019-11-07T11:59:09.072-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="aspnetcore"/><category scheme="http://www.blogger.com/atom/ns#" term="yazılım"/><title type='text'>Entity Framework Core - Paralel Programlama</title><content type='html'>&lt;a href=&quot;https://neelbhatt.com/2018/02/27/use-dbcontextpooling-to-improve-the-performance-net-core-2-1-feature/&quot;&gt;https://neelbhatt.com/2018/02/27/use-dbcontextpooling-to-improve-the-performance-net-core-2-1-feature/&lt;/a&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2563314423202704731/posts/default/3040229266697405292'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2563314423202704731/posts/default/3040229266697405292'/><link rel='alternate' type='text/html' href='http://blog.yunusemregol.com.tr/2019/11/entity-framework-core-paralel.html' title='Entity Framework Core - Paralel Programlama'/><author><name>Yunus Emre</name><uri>http://www.blogger.com/profile/18218659907704276476</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiPmTrLxPiewlOuFDY38UUQKX9znXQTlOspMGCfuboBh-2F3akBlbFI3ZPRlnCB9_7kza5tzQuqSwb1gP0IMeFpdLglAZPAUprwA-JQXSNmUE5hEhK5PVUsbZzwBWJrHg/s1600/*'/></author></entry><entry><id>tag:blogger.com,1999:blog-2563314423202704731.post-2693285127904966076</id><published>2019-11-04T02:48:00.000-08:00</published><updated>2019-11-07T12:24:58.677-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="angular"/><category scheme="http://www.blogger.com/atom/ns#" term="yazılım"/><title type='text'>Angular Projemizi Electron.js ile Masaüstü Uygulamaya Çevirme</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj93Z-aiAB_2IWPAbrcUJVO1C1slfzcm-bLiNloXHbpPE-kMeLIdQU9yjulvBnMla-_-XWAoN9F-bc9NATLHktFLRWMWm-Cz9ADfMkUlBizPqJp_SXJYs_vusCBhemLNrgCFJk1Gv8y_3I/s1600/electron.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;415&quot; data-original-width=&quot;739&quot; height=&quot;179&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj93Z-aiAB_2IWPAbrcUJVO1C1slfzcm-bLiNloXHbpPE-kMeLIdQU9yjulvBnMla-_-XWAoN9F-bc9NATLHktFLRWMWm-Cz9ADfMkUlBizPqJp_SXJYs_vusCBhemLNrgCFJk1Gv8y_3I/s320/electron.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Electron.js son zamanlarda oldukça popüler hale gelmeye başladı. Hibrit uygulamalar öncelikle web uygulamalarının mobil uygulama olarak kullanmaya imkan verdikten sonra, sonrasında masaüstü uygulamalara da el attı ve electron.js framework ü ciddi anlamda bu konuda destek sağlayarak windows app geliştirilerini de web e yönlendirecek kıvama geldi.&lt;br /&gt;
&lt;br /&gt;
Bu yazımda kısaca mevcut bir angular2+ uygulamanızı nasıl electron.js ile masaüstü uygulamasına çevirebilirsiniz bunu anlatıyor olacağım.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Electron.js Nedir&lt;/b&gt;&lt;br /&gt;
Kısaca bahsetmem gerekirse electron.js açık kaynak olarak geliştirilen web uygulamalarımızı mac,windows ve linux ortamlarında çalışabilen masaüstü uygulamasına çeviren bir frameworktür. Bu framework ile geliştirilen uygulamaları görmek isterseniz&amp;nbsp;&lt;a href=&quot;https://electronjs.org/apps&quot;&gt;https://electronjs.org/apps&lt;/a&gt;&amp;nbsp;linkine göz atabilirsiniz.&lt;br /&gt;
&lt;br /&gt;
Electron.js kullanarak masaüstü uygulama hizmeti sunan en bilindik uygulamaları aşağıdaki gibi sıralayabiliriz.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;ul class=&quot;d-flex flex-justify-around flex-wrap list-style-none my-2 my-md-3&quot; style=&quot;background-color: white; box-sizing: border-box; color: #767676; display: flex !important; flex-wrap: wrap !important; font-family: Roboto, -apple-system, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, sans-serif; font-size: 16px; justify-content: space-around !important; list-style: none !important; margin-bottom: 12px !important; margin-left: 1.5em; margin-top: 12px !important; padding-left: 0px; text-align: center;&quot;&gt;
&lt;li class=&quot;featured-company-list-item&quot; style=&quot;box-sizing: border-box; flex-basis: 250px; height: 104px; margin-bottom: 0.5em;&quot;&gt;&lt;a href=&quot;https://discordapp.com/&quot; rel=&quot;noopener&quot; style=&quot;background-color: transparent; box-sizing: border-box; color: #4078c0; text-decoration-line: none;&quot; target=&quot;_blank&quot;&gt;&lt;img alt=&quot;Discord&quot; class=&quot;px-2&quot; src=&quot;https://electronjs.org/images/companies/discord.png&quot; style=&quot;border: 0px none; box-sizing: border-box; height: 104px; max-width: 100%; opacity: 1; padding-left: 6px !important; padding-right: 6px !important; transition: opacity 0.3s ease 0s; width: 250px;&quot; /&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li class=&quot;featured-company-list-item&quot; style=&quot;box-sizing: border-box; flex-basis: 250px; height: 104px; margin-bottom: 0.5em;&quot;&gt;&lt;a href=&quot;https://openfin.co/&quot; rel=&quot;noopener&quot; style=&quot;background-color: transparent; box-sizing: border-box; color: #4078c0; text-decoration-line: none;&quot; target=&quot;_blank&quot;&gt;&lt;img alt=&quot;OpenFin&quot; class=&quot;px-2&quot; src=&quot;https://electronjs.org/images/companies/openfin.png&quot; style=&quot;border: 0px none; box-sizing: border-box; height: 104px; max-width: 100%; opacity: 1; padding-left: 6px !important; padding-right: 6px !important; transition: opacity 0.3s ease 0s; width: 250px;&quot; /&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li class=&quot;featured-company-list-item&quot; style=&quot;box-sizing: border-box; flex-basis: 250px; height: 104px; margin-bottom: 0.5em;&quot;&gt;&lt;a href=&quot;https://slack.com/&quot; rel=&quot;noopener&quot; style=&quot;background-color: transparent; box-sizing: border-box; color: #4078c0; text-decoration-line: none;&quot; target=&quot;_blank&quot;&gt;&lt;img alt=&quot;Slack&quot; class=&quot;px-2&quot; src=&quot;https://electronjs.org/images/companies/slack.png&quot; style=&quot;border: 0px none; box-sizing: border-box; height: 104px; max-width: 100%; opacity: 1; padding-left: 6px !important; padding-right: 6px !important; transition: opacity 0.3s ease 0s; width: 250px;&quot; /&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li class=&quot;featured-company-list-item&quot; style=&quot;box-sizing: border-box; flex-basis: 250px; height: 104px; margin-bottom: 0.5em;&quot;&gt;&lt;a href=&quot;https://www.microsoft.com/&quot; rel=&quot;noopener&quot; style=&quot;background-color: transparent; box-sizing: border-box; color: #4078c0; text-decoration-line: none;&quot; target=&quot;_blank&quot;&gt;&lt;img alt=&quot;Microsoft&quot; class=&quot;px-2&quot; src=&quot;https://electronjs.org/images/companies/msft.png&quot; style=&quot;border: 0px none; box-sizing: border-box; height: 104px; max-width: 100%; opacity: 1; padding-left: 6px !important; padding-right: 6px !important; transition: opacity 0.3s ease 0s; width: 250px;&quot; /&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li class=&quot;featured-company-list-item&quot; style=&quot;box-sizing: border-box; flex-basis: 250px; height: 104px; margin-bottom: 0.5em;&quot;&gt;&lt;a href=&quot;https://symphony.com/&quot; rel=&quot;noopener&quot; style=&quot;background-color: transparent; box-sizing: border-box; color: #4078c0; text-decoration-line: none;&quot; target=&quot;_blank&quot;&gt;&lt;img alt=&quot;Symphony&quot; class=&quot;px-2&quot; src=&quot;https://electronjs.org/images/companies/symphony.png&quot; style=&quot;border: 0px none; box-sizing: border-box; height: 104px; max-width: 100%; opacity: 1; padding-left: 6px !important; padding-right: 6px !important; transition: opacity 0.3s ease 0s; width: 250px;&quot; /&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li class=&quot;featured-company-list-item&quot; style=&quot;box-sizing: border-box; flex-basis: 250px; height: 104px; margin-bottom: 0.5em;&quot;&gt;&lt;a href=&quot;https://www.atlassian.com/&quot; rel=&quot;noopener&quot; style=&quot;background-color: transparent; box-sizing: border-box; color: #4078c0; text-decoration-line: none;&quot; target=&quot;_blank&quot;&gt;&lt;img alt=&quot;Atlassian&quot; class=&quot;px-2&quot; src=&quot;https://electronjs.org/images/companies/atlassian.png&quot; style=&quot;border: 0px none; box-sizing: border-box; height: 104px; max-width: 100%; opacity: 1; padding-left: 6px !important; padding-right: 6px !important; transition: opacity 0.3s ease 0s; width: 250px;&quot; /&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li class=&quot;featured-company-list-item&quot; style=&quot;box-sizing: border-box; flex-basis: 250px; height: 104px; margin-bottom: 0.5em;&quot;&gt;&lt;a href=&quot;https://www.abstract.com/&quot; rel=&quot;noopener&quot; style=&quot;background-color: transparent; box-sizing: border-box; color: #4078c0; text-decoration-line: none;&quot; target=&quot;_blank&quot;&gt;&lt;img alt=&quot;Abstract&quot; class=&quot;px-2&quot; src=&quot;https://electronjs.org/images/companies/abstract.png&quot; style=&quot;border: 0px none; box-sizing: border-box; height: 104px; max-width: 100%; opacity: 1; padding-left: 6px !important; padding-right: 6px !important; transition: opacity 0.3s ease 0s; width: 250px;&quot; /&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li class=&quot;featured-company-list-item&quot; style=&quot;box-sizing: border-box; flex-basis: 250px; height: 104px; margin-bottom: 0.5em;&quot;&gt;&lt;a href=&quot;https://www.ringcentral.com/&quot; rel=&quot;noopener&quot; style=&quot;background-color: transparent; box-sizing: border-box; color: #4078c0; text-decoration-line: none;&quot; target=&quot;_blank&quot;&gt;&lt;img alt=&quot;RingCentral&quot; class=&quot;px-2&quot; src=&quot;https://electronjs.org/images/companies/ringcentral.png&quot; style=&quot;border: 0px none; box-sizing: border-box; height: 104px; max-width: 100%; opacity: 1; padding-left: 6px !important; padding-right: 6px !important; transition: opacity 0.3s ease 0s; width: 250px;&quot; /&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li class=&quot;featured-company-list-item&quot; style=&quot;box-sizing: border-box; flex-basis: 250px; height: 104px; margin-bottom: 0.5em;&quot;&gt;&lt;a href=&quot;https://aircall.io/&quot; rel=&quot;noopener&quot; style=&quot;background-color: transparent; box-sizing: border-box; color: #4078c0; text-decoration-line: none;&quot; target=&quot;_blank&quot;&gt;&lt;img alt=&quot;Aircall&quot; class=&quot;px-2&quot; src=&quot;https://electronjs.org/images/companies/aircall.png&quot; style=&quot;border: 0px none; box-sizing: border-box; height: 104px; max-width: 100%; opacity: 1; padding-left: 6px !important; padding-right: 6px !important; transition: opacity 0.3s ease 0s; width: 250px;&quot; /&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;Angular Projemizi Electron.js ile Masaüstü Uygulamasına Çevirme&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Bu kadar konuştuktan sonra hadi şimdi mevcut uygulamamızı nasıl electron.js ile çalıştırabileceğimze bakalım.&lt;br /&gt;
&lt;br /&gt;
1.Öncelikle electron.js ortamını yüklemek için aşağıdaki linkten işletim sisteminize göre gerekli düzenlemeleri yapıyorsunuz.&lt;br /&gt;
&lt;a href=&quot;https://electronjs.org/docs/tutorial/development-environment&quot;&gt;https://electronjs.org/docs/tutorial/development-environment&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
2.Angular uygulamanızın src/index.html dosyasındaki&amp;nbsp;&lt;code style=&quot;background-color: #eff0f1; border: 0px; box-sizing: inherit; color: #242729; font-family: Consolas, Menlo, Monaco, &amp;quot;Lucida Console&amp;quot;, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace, sans-serif; font-size: 13px; font-stretch: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; line-height: inherit; margin: 0px; padding: 1px 5px; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&amp;lt;base href=&quot;/&quot;&amp;gt;&lt;/code&gt;&lt;span style=&quot;background-color: white; color: #242729; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica neue&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: 15px;&quot;&gt;&amp;nbsp;ifadesini&lt;/span&gt;&lt;code style=&quot;background-color: #eff0f1; border: 0px; box-sizing: inherit; color: #242729; font-family: Consolas, Menlo, Monaco, &amp;quot;Lucida Console&amp;quot;, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace, sans-serif; font-size: 13px; font-stretch: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; line-height: inherit; margin: 0px; padding: 1px 5px; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&amp;lt;base href=&quot;./&quot;&amp;gt;&lt;/code&gt;şeklinde değiştirelim.&lt;br /&gt;
&lt;br /&gt;
3.&amp;nbsp;&lt;span style=&quot;background-color: #eff0f1; color: #242729; font-family: &amp;quot;consolas&amp;quot; , &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;lucida console&amp;quot; , &amp;quot;liberation mono&amp;quot; , &amp;quot;dejavu sans mono&amp;quot; , &amp;quot;bitstream vera sans mono&amp;quot; , &amp;quot;courier new&amp;quot; , monospace , sans-serif; font-size: 13px; white-space: pre-wrap;&quot;&gt;npm install electron --save-dev&lt;/span&gt;&amp;nbsp;komutunu çalıştırarak electron yüklemesini yapalım.&lt;br /&gt;
&lt;br /&gt;
4. Uygulamanın root dizininde &lt;span style=&quot;background-color: #eff0f1; color: #242729; font-family: &amp;quot;consolas&amp;quot; , &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;lucida console&amp;quot; , &amp;quot;liberation mono&amp;quot; , &amp;quot;dejavu sans mono&amp;quot; , &amp;quot;bitstream vera sans mono&amp;quot; , &amp;quot;courier new&amp;quot; , monospace , sans-serif; font-size: 13px; white-space: pre-wrap;&quot;&gt;main.js&lt;/span&gt;&amp;nbsp;adında bir dosya oluşturun ve içeriği aşağıdaki gibi olsun.&lt;br /&gt;
Bu main.js console dan başlatılacak olan ilk dosya ve exe oluşturduğumuzda çalışacak ilk dosyadır, bize bir masaüstü ekranı oluşturmamızı sağlar.&lt;br /&gt;
&lt;br /&gt;
&lt;pre style=&quot;background-color: #eff0f1; border-radius: 3px; border: 0px; box-sizing: inherit; color: #242729; font-family: Consolas, Menlo, Monaco, &amp;quot;Lucida Console&amp;quot;, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace, sans-serif; font-size: 13px; font-stretch: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; line-height: inherit; margin-bottom: 1em; max-height: 600px; overflow-wrap: normal; overflow: auto; padding: 12px 8px; vertical-align: baseline; width: auto;&quot;&gt;&lt;code style=&quot;border: 0px; box-sizing: inherit; font-family: Consolas, Menlo, Monaco, &amp;quot;Lucida Console&amp;quot;, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace, sans-serif; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline; white-space: inherit;&quot;&gt;const {app, BrowserWindow} = require(&#39;electron&#39;) 
const path = require(&#39;path&#39;) 
const url = require(&#39;url&#39;) 
let win 
function createWindow () { 
win = new BrowserWindow({width: 800, height: 600}) // load the dist folder from Angular 
win.loadURL(url.format({ pathname: path.join(__dirname, &#39;dist/index.html&#39;), protocol: &#39;file:&#39;, slashes: true })) 
// Open the DevTools optionally: 
// win.webContents.openDevTools() 
win.on(&#39;closed&#39;, () =&amp;gt; { win = null }) 
} 

app.on(&#39;ready&#39;, createWindow) 
app.on(&#39;window-all-closed&#39;, () =&amp;gt; { if (process.platform !== &#39;darwin&#39;) { app.quit() } }) 
app.on(&#39;activate&#39;, () =&amp;gt; { if (win === null) { createWindow() } })&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
5.package.json dosyasınızın root objesine&amp;nbsp;&lt;span style=&quot;background-color: #eff0f1; color: #242729; font-family: &amp;quot;consolas&amp;quot; , &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;lucida console&amp;quot; , &amp;quot;liberation mono&amp;quot; , &amp;quot;dejavu sans mono&amp;quot; , &amp;quot;bitstream vera sans mono&amp;quot; , &amp;quot;courier new&amp;quot; , monospace , sans-serif; font-size: 13px; white-space: pre-wrap;&quot;&gt;&quot;main&quot;:&quot;main.js&quot;&lt;/span&gt;&amp;nbsp;eklemesini yapınız.&lt;br /&gt;
&lt;br /&gt;
Örnek :&lt;br /&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; line-height: 19px; white-space: pre;&quot;&gt;
&lt;div&gt;
&amp;nbsp;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;&quot;name&quot;&lt;/span&gt;:&amp;nbsp;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;uygulama-adı&quot;&lt;/span&gt;,&lt;/div&gt;
&lt;div&gt;
&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;&quot;version&quot;&lt;/span&gt;:&amp;nbsp;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;0.0.0&quot;&lt;/span&gt;,&lt;/div&gt;
&lt;div&gt;
&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;&quot;main&quot;&lt;/span&gt;:&amp;nbsp;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;main.js&quot;&lt;/span&gt;,&lt;/div&gt;
&lt;/div&gt;
&lt;br /&gt;
6. yine package.json dosyamızın scripts tag ı içine aşağıdaki kod bloğunu ekleyelim.&lt;br /&gt;
&lt;br /&gt;
&lt;pre style=&quot;background-color: #eff0f1; border-radius: 3px; border: 0px; box-sizing: inherit; color: #242729; font-family: Consolas, Menlo, Monaco, &amp;quot;Lucida Console&amp;quot;, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace, sans-serif; font-size: 13px; font-stretch: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; line-height: inherit; margin-bottom: 1em; margin-top: 0.5em; max-height: 600px; overflow-wrap: normal; overflow: auto; padding: 12px 8px; vertical-align: baseline; width: auto;&quot;&gt;&lt;code style=&quot;border: 0px; box-sizing: inherit; font-family: Consolas, Menlo, Monaco, &amp;quot;Lucida Console&amp;quot;, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace, sans-serif; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline; white-space: inherit;&quot;&gt;&quot;electron&quot;: &quot;electron .&quot;, // &amp;lt;-- run electron 
&quot;electron-build&quot;: &quot;ng build --prod &amp;amp;&amp;amp; electron .&quot; // &amp;lt;-- build app, then run electron &lt;/code&gt;&lt;/pre&gt;
Aşağıdaki gibi bi durumda olacak scripts kısmımız :&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; line-height: 19px; white-space: pre;&quot;&gt;
&lt;div&gt;
&lt;span style=&quot;color: #9cdcfe;&quot;&gt;&quot;scripts&quot;&lt;/span&gt;:&amp;nbsp;{&lt;/div&gt;
&lt;div&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;&quot;ng&quot;&lt;/span&gt;:&amp;nbsp;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;ng&quot;&lt;/span&gt;,&lt;/div&gt;
&lt;div&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;&quot;start&quot;&lt;/span&gt;:&amp;nbsp;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;ng&amp;nbsp;serve&quot;&lt;/span&gt;,&lt;/div&gt;
&lt;div&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;&quot;build&quot;&lt;/span&gt;:&amp;nbsp;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;ng&amp;nbsp;build&quot;&lt;/span&gt;,&lt;/div&gt;
&lt;div&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;&quot;test&quot;&lt;/span&gt;:&amp;nbsp;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;ng&amp;nbsp;test&quot;&lt;/span&gt;,&lt;/div&gt;
&lt;div&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;&quot;lint&quot;&lt;/span&gt;:&amp;nbsp;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;ng&amp;nbsp;lint&quot;&lt;/span&gt;,&lt;/div&gt;
&lt;div&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;&quot;e2e&quot;&lt;/span&gt;:&amp;nbsp;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;ng&amp;nbsp;e2e&quot;&lt;/span&gt;,&lt;/div&gt;
&lt;div&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;&quot;electron&quot;&lt;/span&gt;:&amp;nbsp;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;electron&amp;nbsp;.&quot;&lt;/span&gt;,&lt;/div&gt;
&lt;div&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;&quot;electron-build&quot;&lt;/span&gt;:&amp;nbsp;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;ng&amp;nbsp;build&amp;nbsp;--prod&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;electron&amp;nbsp;.&quot;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&amp;nbsp;&amp;nbsp;},&lt;/div&gt;
&lt;/div&gt;
&lt;br /&gt;
7. Şimdi uygulamamızı test edip çalıştrmak için aşağıdaki komutu çalıştırmamız yeterli.&lt;br /&gt;
&lt;br /&gt;
&lt;pre style=&quot;background-color: #eff0f1; border-radius: 3px; border: 0px; box-sizing: inherit; color: #242729; font-family: Consolas, Menlo, Monaco, &amp;quot;Lucida Console&amp;quot;, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace, sans-serif; font-size: 13px; font-stretch: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; line-height: inherit; margin-bottom: 1em; max-height: 600px; overflow-wrap: normal; overflow: auto; padding: 12px 8px; vertical-align: baseline; width: auto;&quot;&gt;&lt;code style=&quot;border: 0px; box-sizing: inherit; font-family: Consolas, Menlo, Monaco, &amp;quot;Lucida Console&amp;quot;, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace, sans-serif; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline; white-space: inherit;&quot;&gt;npm run electron-build&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
8. Test ve geliştirmelerimizi yaptıktan sonra uygulamamızı build edip yayınlamak için aşağıdaki komutları kullanıyoruz.&lt;br /&gt;
Aşağıdaki kod satırları ile paketleme yöneticisini yüklüyoruz.&lt;br /&gt;
&lt;br /&gt;
&lt;pre style=&quot;background-color: #eff0f1; border-radius: 3px; border: 0px; box-sizing: inherit; color: #242729; font-family: Consolas, Menlo, Monaco, &amp;quot;Lucida Console&amp;quot;, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace, sans-serif; font-size: 13px; font-stretch: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; line-height: inherit; margin-bottom: 1em; max-height: 600px; overflow-wrap: normal; overflow: auto; padding: 12px 8px; vertical-align: baseline; width: auto;&quot;&gt;&lt;code style=&quot;border: 0px; box-sizing: inherit; font-family: Consolas, Menlo, Monaco, &amp;quot;Lucida Console&amp;quot;, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace, sans-serif; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline; white-space: inherit;&quot;&gt;npm install electron-packager -g​​
npm install electron-packager --save-dev&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
Yukarıdaki komutları çalıştırdıktan sonra artık aşağıdaki komut ile uygulamamızın exe çıktısı üretmesini sağlayabiliriz.&lt;br /&gt;
&lt;br /&gt;
&lt;pre style=&quot;background-color: #eff0f1; border-radius: 3px; border: 0px; box-sizing: inherit; color: #242729; font-family: Consolas, Menlo, Monaco, &amp;quot;Lucida Console&amp;quot;, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace, sans-serif; font-size: 13px; font-stretch: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; line-height: inherit; margin-bottom: 1em; max-height: 600px; overflow-wrap: normal; overflow: auto; padding: 12px 8px; vertical-align: baseline; width: auto;&quot;&gt;&lt;code style=&quot;border: 0px; box-sizing: inherit; font-family: Consolas, Menlo, Monaco, &amp;quot;Lucida Console&amp;quot;, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace, sans-serif; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline; white-space: inherit;&quot;&gt;electron-packager . --platform=win32​
&lt;/code&gt;&lt;/pre&gt;
&lt;div&gt;
&lt;code style=&quot;border: 0px; box-sizing: inherit; font-family: Consolas, Menlo, Monaco, &amp;quot;Lucida Console&amp;quot;, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace, sans-serif; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline; white-space: inherit;&quot;&gt;&lt;br /&gt;&lt;/code&gt;
&lt;span style=&quot;font-family: &amp;quot;consolas&amp;quot; , &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;lucida console&amp;quot; , &amp;quot;liberation mono&amp;quot; , &amp;quot;dejavu sans mono&amp;quot; , &amp;quot;bitstream vera sans mono&amp;quot; , &amp;quot;courier new&amp;quot; , monospace , sans-serif;&quot;&gt;Bu komutu bir defa çalıştırdıktan sonra tekrar çalıştırmamız gerektiğinde var olan exe mizin üzerine yazması için --overwrite komutu eklemesi yapmamız gerekiyor.&lt;/span&gt;&lt;br /&gt;
&lt;code style=&quot;border: 0px; box-sizing: inherit; font-family: Consolas, Menlo, Monaco, &amp;quot;Lucida Console&amp;quot;, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace, sans-serif; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline; white-space: inherit;&quot;&gt;&lt;br /&gt;&lt;/code&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: &amp;quot;consolas&amp;quot; , &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;lucida console&amp;quot; , &amp;quot;liberation mono&amp;quot; , &amp;quot;dejavu sans mono&amp;quot; , &amp;quot;bitstream vera sans mono&amp;quot; , &amp;quot;courier new&amp;quot; , monospace , sans-serif;&quot;&gt;Yukarıdaki işlemleri uyguladığımızda projemiz hazır olacaktır.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: &amp;quot;consolas&amp;quot; , &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;lucida console&amp;quot; , &amp;quot;liberation mono&amp;quot; , &amp;quot;dejavu sans mono&amp;quot; , &amp;quot;bitstream vera sans mono&amp;quot; , &amp;quot;courier new&amp;quot; , monospace , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;Angular Projemize Electron.js kütüphanesini dahil edip electron.js fonksiyonlarını angular içerisine çağırma&lt;/b&gt;&lt;br /&gt;
Bu işlem için npm de bir yükleme ve app.module.ts e bir referans eklememiz yeterli olacaktır.&lt;br /&gt;
&lt;br /&gt;
1. Console da aşağıdaki komut ile npm instlal yapalım.&lt;br /&gt;
&lt;br /&gt;
&lt;pre style=&quot;background-color: #eff0f1; border-radius: 3px; border: 0px; box-sizing: inherit; color: #242729; font-family: Consolas, Menlo, Monaco, &amp;quot;Lucida Console&amp;quot;, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace, sans-serif; font-size: 13px; font-stretch: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; line-height: inherit; margin-bottom: 1em; max-height: 600px; overflow-wrap: normal; overflow: auto; padding: 12px 8px; vertical-align: baseline; width: auto;&quot;&gt;&lt;code style=&quot;border: 0px; box-sizing: inherit; font-family: Consolas, Menlo, Monaco, &amp;quot;Lucida Console&amp;quot;, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace, sans-serif; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline; white-space: inherit;&quot;&gt;npm install ngx-electron --save​&lt;/code&gt;&lt;/pre&gt;
2. app.module.ts dosyamıza electron referansını ekleyelim.&lt;br /&gt;
&lt;br /&gt;
&lt;pre style=&quot;background-color: #eff0f1; border-radius: 3px; border: 0px; box-sizing: inherit; color: #242729; font-family: Consolas, Menlo, Monaco, &amp;quot;Lucida Console&amp;quot;, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace, sans-serif; font-size: 13px; font-stretch: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; line-height: inherit; margin-bottom: 1em; max-height: 600px; overflow-wrap: normal; overflow: auto; padding: 12px 8px; vertical-align: baseline; width: auto;&quot;&gt;&lt;code style=&quot;border: 0px; box-sizing: inherit; font-family: Consolas, Menlo, Monaco, &amp;quot;Lucida Console&amp;quot;, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace, sans-serif; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline; white-space: inherit;&quot;&gt;Import { NgxElectronModule } from &#39;ngx-electron&#39;;

@NgModule({
  ...
  imports: [
    BrowserModule,
    NgxElectronModule   // buraya ekle
  ],
  ...
})
export class AppModule { }​&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
&lt;br /&gt;
4.App.component.ts de electronu dependency injection ile kullanmak için aşağıdaki eklemeleri yapmamız yeterli.&lt;br /&gt;
&lt;br /&gt;
&lt;pre style=&quot;background-color: #eff0f1; border-radius: 3px; border: 0px; box-sizing: inherit; color: #242729; font-family: Consolas, Menlo, Monaco, &amp;quot;Lucida Console&amp;quot;, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace, sans-serif; font-size: 13px; font-stretch: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; line-height: inherit; margin-bottom: 1em; max-height: 600px; overflow-wrap: normal; overflow: auto; padding: 12px 8px; vertical-align: baseline; width: auto;&quot;&gt;&lt;code style=&quot;border: 0px; box-sizing: inherit; font-family: Consolas, Menlo, Monaco, &amp;quot;Lucida Console&amp;quot;, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace, sans-serif; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline; white-space: inherit;&quot;&gt;import { Component } from &#39;@angular/core&#39;;
import { ElectronService } from &#39;ngx-electron&#39;;​&lt;/code&gt;&lt;/pre&gt;
&lt;pre style=&quot;background-color: #eff0f1; border-radius: 3px; border: 0px; box-sizing: inherit; color: #242729; font-family: Consolas, Menlo, Monaco, &amp;quot;Lucida Console&amp;quot;, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace, sans-serif; font-size: 13px; font-stretch: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; line-height: inherit; margin-bottom: 1em; max-height: 600px; overflow-wrap: normal; overflow: auto; padding: 12px 8px; vertical-align: baseline; width: auto;&quot;&gt;&lt;code style=&quot;border: 0px; box-sizing: inherit; font-family: Consolas, Menlo, Monaco, &amp;quot;Lucida Console&amp;quot;, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace, sans-serif; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline; white-space: inherit;&quot;&gt;export class AppComponent {

  constructor(private _electronService: ElectronService) {}   // DI

  launchWindow() {
    this._electronService.shell.openExternal(&#39;http://google.com&#39;);
  }

}&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2563314423202704731/posts/default/2693285127904966076'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2563314423202704731/posts/default/2693285127904966076'/><link rel='alternate' type='text/html' href='http://blog.yunusemregol.com.tr/2019/11/angular-projemizi-electronjs-ile.html' title='Angular Projemizi Electron.js ile Masaüstü Uygulamaya Çevirme'/><author><name>Yunus Emre</name><uri>http://www.blogger.com/profile/18218659907704276476</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiPmTrLxPiewlOuFDY38UUQKX9znXQTlOspMGCfuboBh-2F3akBlbFI3ZPRlnCB9_7kza5tzQuqSwb1gP0IMeFpdLglAZPAUprwA-JQXSNmUE5hEhK5PVUsbZzwBWJrHg/s1600/*'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj93Z-aiAB_2IWPAbrcUJVO1C1slfzcm-bLiNloXHbpPE-kMeLIdQU9yjulvBnMla-_-XWAoN9F-bc9NATLHktFLRWMWm-Cz9ADfMkUlBizPqJp_SXJYs_vusCBhemLNrgCFJk1Gv8y_3I/s72-c/electron.png" height="72" width="72"/></entry><entry><id>tag:blogger.com,1999:blog-2563314423202704731.post-6169647499890581598</id><published>2019-10-23T03:37:00.000-07:00</published><updated>2019-11-07T11:59:25.812-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="angular"/><category scheme="http://www.blogger.com/atom/ns#" term="yazılım"/><title type='text'>Angular uygulama içinde birden fazla layout kullanımı</title><content type='html'>Angular uygulamamız içerisinde login/logout sayfalarında farklı layout, uygulama içinde farklı layout, hatta farklı bölümler için de birden fazla layout kullanmak isteyebiliriz.&lt;br /&gt;
&lt;br /&gt;
Bu durumlar için yapmamız gereken işlem her bir layout&#39;umuz için farklı bir component oluşturmak ve Route dosyamızı aşağıdaki şekilde güncellememiz yeterlidir.&lt;br /&gt;
&lt;br /&gt;
Şimdi diyelim ki 2 adet layout kullanacağız. Layotlarımızdan biri sadece bir layout olsun adına BasicLayoutComponent , diğeri de genel olarak projemizde kullanacağımız bir layout olsun header footer bilgileri içersin. Bu layoutumuzun adına da PortalLayoutComponent diyelim.&lt;br /&gt;
&lt;br /&gt;
Layoutları da kullanan login ve index adında iki component oluşturalım.&lt;br /&gt;
&lt;br /&gt;
Componentleri aşağıdaki komut satırı ile oluşturabiliriz.&lt;br /&gt;
&amp;nbsp;- ng generate component BasicLayout&lt;br /&gt;
&amp;nbsp;- ng generate component PortalLayout&lt;br /&gt;
&amp;nbsp;- ng generate component Index&lt;br /&gt;
&amp;nbsp;- ng generate component Login&lt;br /&gt;
&lt;br /&gt;
Ardından app-routing.module.ts dosyamızı aşağıdaki şekilde düzenliyelim.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;app-routing.module.ts&lt;/b&gt;&lt;br /&gt;
&lt;pre style=&quot;background-color: #2b2b2b; color: #a9b7c6; font-family: &#39;Consolas&#39;; font-size: 9,8pt;&quot;&gt;&lt;span style=&quot;color: #cc7832;&quot;&gt;const &lt;/span&gt;routes: Routes = [
  {
    &lt;span style=&quot;color: #9876aa;&quot;&gt;path&lt;/span&gt;: &lt;span style=&quot;color: #6a8759;&quot;&gt;&#39;&#39;&lt;/span&gt;&lt;span style=&quot;color: #cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9876aa;&quot;&gt;component&lt;/span&gt;: PortalLayoutComponent&lt;span style=&quot;color: #cc7832;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #cc7832;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: #9876aa;&quot;&gt;children&lt;/span&gt;: [
      {&lt;span style=&quot;color: #9876aa;&quot;&gt;path&lt;/span&gt;: &lt;span style=&quot;color: #6a8759;&quot;&gt;&#39;&#39;&lt;/span&gt;&lt;span style=&quot;color: #cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9876aa;&quot;&gt;component&lt;/span&gt;: IndexComponent}&lt;span style=&quot;color: #cc7832;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #cc7832;&quot;&gt;      &lt;/span&gt;{&lt;span style=&quot;color: #9876aa;&quot;&gt;path&lt;/span&gt;: &lt;span style=&quot;color: #6a8759;&quot;&gt;&#39;main&#39;&lt;/span&gt;&lt;span style=&quot;color: #cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9876aa;&quot;&gt;component&lt;/span&gt;: IndexComponent}]
  }&lt;span style=&quot;color: #cc7832;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #cc7832;&quot;&gt;  &lt;/span&gt;{
    &lt;span style=&quot;color: #9876aa;&quot;&gt;path&lt;/span&gt;: &lt;span style=&quot;color: #6a8759;&quot;&gt;&#39;&#39;&lt;/span&gt;&lt;span style=&quot;color: #cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9876aa;&quot;&gt;component&lt;/span&gt;: BasicLayoutComponent&lt;span style=&quot;color: #cc7832;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #cc7832;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: #9876aa;&quot;&gt;children&lt;/span&gt;: [{&lt;span style=&quot;color: #9876aa;&quot;&gt;path&lt;/span&gt;: &lt;span style=&quot;color: #6a8759;&quot;&gt;&#39;login&#39;&lt;/span&gt;&lt;span style=&quot;color: #cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9876aa;&quot;&gt;component&lt;/span&gt;: LoginComponent}]
  }]&lt;span style=&quot;color: #cc7832;&quot;&gt;;&lt;/span&gt;&lt;span style=&quot;color: #cc7832;&quot;&gt;
&lt;/span&gt;&lt;span style=&quot;color: #bbb529;&quot;&gt;@NgModule&lt;/span&gt;({
  &lt;span style=&quot;color: #9876aa;&quot;&gt;imports&lt;/span&gt;: [RouterModule.&lt;span style=&quot;color: #ffc66d; font-style: italic;&quot;&gt;forRoot&lt;/span&gt;(routes)]&lt;span style=&quot;color: #cc7832;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #cc7832;&quot;&gt;  &lt;/span&gt;&lt;span style=&quot;color: #9876aa;&quot;&gt;exports&lt;/span&gt;: [RouterModule]
})
&lt;span style=&quot;color: #cc7832;&quot;&gt;export class &lt;/span&gt;AppRoutingModule {
}&lt;/pre&gt;
&lt;br /&gt;
&lt;br /&gt;
BasicLayout ve PortalLayout html dosyaları içerisine aşağıdaki kodu ekliyoruz.Bu kod içerisine bizim bu layout u kullanan component içeriklerimiz gelecektir. Bu tag in altına ve üstüne bu layout un içereceği htmlleri, componentleri ekleyebiliriz.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;basic-layout.component.ts &lt;/b&gt;ve&amp;nbsp;&lt;b&gt;portal-layout.component.html &lt;/b&gt;dosya içeriklerine eklenecek standart tag.&lt;br /&gt;
&lt;pre style=&quot;background-color: #2b2b2b; color: #a9b7c6; font-family: &#39;Consolas&#39;; font-size: 9,8pt;&quot;&gt;&lt;span style=&quot;color: #e8bf6a;&quot;&gt;&amp;lt;router-outlet&amp;gt;&amp;lt;/router-outlet&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;br /&gt;
&lt;br /&gt;
Yukarıdaki işlemi yaptığımızda index i açtığımızda portalLayout içerisindeki html, login i açtığımızda ise BasicLayoutComponent layout u görünecek.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2563314423202704731/posts/default/6169647499890581598'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2563314423202704731/posts/default/6169647499890581598'/><link rel='alternate' type='text/html' href='http://blog.yunusemregol.com.tr/2019/10/angular-uygulama-icinde-birden-fazla.html' title='Angular uygulama içinde birden fazla layout kullanımı'/><author><name>Yunus Emre</name><uri>http://www.blogger.com/profile/18218659907704276476</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiPmTrLxPiewlOuFDY38UUQKX9znXQTlOspMGCfuboBh-2F3akBlbFI3ZPRlnCB9_7kza5tzQuqSwb1gP0IMeFpdLglAZPAUprwA-JQXSNmUE5hEhK5PVUsbZzwBWJrHg/s1600/*'/></author></entry><entry><id>tag:blogger.com,1999:blog-2563314423202704731.post-6303012473425324799</id><published>2019-10-22T00:22:00.002-07:00</published><updated>2019-11-07T11:59:40.507-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="angular"/><category scheme="http://www.blogger.com/atom/ns#" term="yazılım"/><title type='text'>How to import bootstrap and jquery to our angular project</title><content type='html'>In order to import jquery and bootstrap frameworks to our angular project. we may use following command via commandline.&lt;br /&gt;
&lt;br /&gt;
Update angular cli&lt;br /&gt;
&amp;nbsp;-&amp;nbsp;npm install -g @angular/cli&lt;br /&gt;
&lt;br /&gt;
Import jquery and bootstrap&lt;br /&gt;
&amp;nbsp;-&amp;nbsp;npm install bootstrap jquery&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If the commands above gave you to permission you can open commandline as right click &quot;Run as Administrator&quot; on windows, add prefix &quot;sudo &quot; in mac&lt;br /&gt;
&lt;br /&gt;
After run commands, then the add paths of jquery and bootstrap as follows in to angular.json file which is located in root of project.&lt;br /&gt;
&lt;br /&gt;
&quot;styles&quot;: [&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;src/styles.css&quot;,&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;b&gt;&amp;nbsp; &amp;nbsp; &quot;node_modules/bootstrap/dist/css/bootstrap.min.css&quot;&lt;/b&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ],&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;scripts&quot;: [&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;b&gt;&amp;nbsp; &amp;nbsp; &quot;node_modules/jquery/dist/jquery.min.js&quot;,&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;node_modules/bootstrap/dist/js/bootstrap.min.js&quot;&lt;/b&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Addin info :&lt;br /&gt;
When you run code above it will download the latest version of jquery and bootstrap frameworks. If you downgrade the version of them use following commands;&lt;br /&gt;
&lt;br /&gt;
To downgrade or install spesific version of bootstrap :&lt;br /&gt;
&amp;nbsp;-&amp;nbsp;&amp;nbsp;npm install bootstrap@3 --save</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2563314423202704731/posts/default/6303012473425324799'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2563314423202704731/posts/default/6303012473425324799'/><link rel='alternate' type='text/html' href='http://blog.yunusemregol.com.tr/2019/10/how-to-import-bootstrap-and-jquery-to.html' title='How to import bootstrap and jquery to our angular project'/><author><name>Yunus Emre</name><uri>http://www.blogger.com/profile/18218659907704276476</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiPmTrLxPiewlOuFDY38UUQKX9znXQTlOspMGCfuboBh-2F3akBlbFI3ZPRlnCB9_7kza5tzQuqSwb1gP0IMeFpdLglAZPAUprwA-JQXSNmUE5hEhK5PVUsbZzwBWJrHg/s1600/*'/></author></entry><entry><id>tag:blogger.com,1999:blog-2563314423202704731.post-6225095550246091183</id><published>2019-10-20T07:53:00.001-07:00</published><updated>2019-11-20T22:59:52.208-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Asp.Net"/><category scheme="http://www.blogger.com/atom/ns#" term="WebAPI"/><category scheme="http://www.blogger.com/atom/ns#" term="yazılım"/><title type='text'>Asp.Net Web Api - Windows Authentication</title><content type='html'>Asp.Net Web Api projemize internal çalışacak bir güvenlik sistemi eklemek için Windows Authentication eklemek isteyebiliriz. Bunun için internette biraz nitelikli kaynak sıkıntısı çektiğim için ihtiyacı olanlara yardımcı olması açısından bilgi vermek istiyorum.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Öncelikle bu işlem oldukça basit bir süreç. Sırası ile aşağıdaki aşamaları uygulamamız yeterli olacaktır.&lt;br /&gt;
&lt;br /&gt;
1. web.config dosyasını açıp &amp;lt;system.web&amp;gt; in altına aşağıdaki ayarı ekliyoruz.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;lt;authentication mode=&quot;Windows&quot;&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;lt;/authentication&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Windows Authentication özelliğini kullanmak istediğimiz api metodlarımızın üzerine [Authorize] annotation ununu eklememiz ilgili aip metodlarımızın Windows Authentication ile çalışması için yeterli.&lt;br /&gt;
&lt;br /&gt;
3.Gelelim Http Client tarafında test edip çalıştırma işlemine. aşağıdaki kod bloğu ile api metodlarımızı çağırabilir ve windows auth bilgilerini HttpClientHandler ile sağlayabiliriz.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;notranslate&quot; id=&quot;pre319328&quot; lang=&quot;cs&quot; style=&quot;background-color: #fbedbb; border: 1px solid rgb(251, 237, 187); font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; overflow: auto; padding: 6px; tab-size: 4; word-break: break-word; word-wrap: break-word;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;consolas&amp;quot; , &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , &amp;quot;mono&amp;quot;;&quot;&gt;&lt;span style=&quot;font-size: 12px; white-space: pre-wrap;&quot;&gt; var httpClient = new HttpClient(new HttpClientHandler()
            {
                Credentials = new System.Net.NetworkCredential(&quot;username&quot;, &quot;password&quot;)
            });&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre class=&quot;notranslate&quot; id=&quot;pre319328&quot; lang=&quot;cs&quot; style=&quot;background-color: #fbedbb; border: 1px solid rgb(251, 237, 187); font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; overflow: auto; padding: 6px; tab-size: 4; word-break: break-word; word-wrap: break-word;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;consolas&amp;quot; , &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , &amp;quot;mono&amp;quot;;&quot;&gt;&lt;span style=&quot;font-size: 12px; white-space: pre-wrap;&quot;&gt;HttpResponseMessage httpResMessage = httpClient.GetAsync(&quot;api/testAuth&quot;).Result;
&lt;/span&gt;&lt;span style=&quot;font-size: 9pt; white-space: pre-wrap;&quot;&gt;
&lt;/span&gt;&lt;span style=&quot;font-size: 12px; white-space: pre-wrap;&quot;&gt;  var result = httpResMessage.Content.ReadAsAsync&amp;lt;string&amp;gt;();&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;br /&gt;
&lt;br /&gt;
Tüm bu işlemleri yaptıktan sonra sunucumuzda windows authentication desteği olup olmadığını kontrol etmemiz ve eğer yok ise windows özellikleri aç kapat kısmından windows authentication özelliğini açmalıyız.&lt;br /&gt;
&lt;br /&gt;
İşimiz bitti artık rest api miz windows authentication ile hizmet veriyor.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2563314423202704731/posts/default/6225095550246091183'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2563314423202704731/posts/default/6225095550246091183'/><link rel='alternate' type='text/html' href='http://blog.yunusemregol.com.tr/2019/10/aspnet-web-api-windows-authentication.html' title='Asp.Net Web Api - Windows Authentication'/><author><name>Yunus Emre</name><uri>http://www.blogger.com/profile/18218659907704276476</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiPmTrLxPiewlOuFDY38UUQKX9znXQTlOspMGCfuboBh-2F3akBlbFI3ZPRlnCB9_7kza5tzQuqSwb1gP0IMeFpdLglAZPAUprwA-JQXSNmUE5hEhK5PVUsbZzwBWJrHg/s1600/*'/></author></entry><entry><id>tag:blogger.com,1999:blog-2563314423202704731.post-8173521438780371301</id><published>2019-05-16T03:18:00.003-07:00</published><updated>2019-11-07T12:00:43.522-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="problem-solving"/><category scheme="http://www.blogger.com/atom/ns#" term="Sql"/><category scheme="http://www.blogger.com/atom/ns#" term="veritabanı"/><title type='text'>Sql Check All Tables Data Size</title><content type='html'>When the sql server has large data size then we need to check which table has how much data row and data size. TO check all tables data size and row count in sql server we may use following sql query:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
SELECT&lt;br /&gt;
&amp;nbsp; &amp;nbsp; t.NAME AS TableName,&lt;br /&gt;
&amp;nbsp; &amp;nbsp; s.Name AS SchemaName,&lt;br /&gt;
&amp;nbsp; &amp;nbsp; p.rows AS RowCounts,&lt;br /&gt;
&amp;nbsp; &amp;nbsp; SUM(a.total_pages) * 8 AS TotalSpaceKB,&lt;br /&gt;
&amp;nbsp; &amp;nbsp; CAST(ROUND(((SUM(a.total_pages) * 8) / 1024.00), 2) AS NUMERIC(36, 2)) AS TotalSpaceMB,&lt;br /&gt;
&amp;nbsp; &amp;nbsp; SUM(a.used_pages) * 8 AS UsedSpaceKB,&lt;br /&gt;
&amp;nbsp; &amp;nbsp; CAST(ROUND(((SUM(a.used_pages) * 8) / 1024.00), 2) AS NUMERIC(36, 2)) AS UsedSpaceMB,&lt;br /&gt;
&amp;nbsp; &amp;nbsp; (SUM(a.total_pages) - SUM(a.used_pages)) * 8 AS UnusedSpaceKB,&lt;br /&gt;
&amp;nbsp; &amp;nbsp; CAST(ROUND(((SUM(a.total_pages) - SUM(a.used_pages)) * 8) / 1024.00, 2) AS NUMERIC(36, 2)) AS UnusedSpaceMB&lt;br /&gt;
FROM&lt;br /&gt;
&amp;nbsp; &amp;nbsp; sys.tables t&lt;br /&gt;
INNER JOIN&amp;nbsp; &amp;nbsp; &lt;br /&gt;
&amp;nbsp; &amp;nbsp; sys.indexes i ON t.OBJECT_ID = i.object_id&lt;br /&gt;
INNER JOIN&lt;br /&gt;
&amp;nbsp; &amp;nbsp; sys.partitions p ON i.object_id = p.OBJECT_ID AND i.index_id = p.index_id&lt;br /&gt;
INNER JOIN&lt;br /&gt;
&amp;nbsp; &amp;nbsp; sys.allocation_units a ON p.partition_id = a.container_id&lt;br /&gt;
LEFT OUTER JOIN&lt;br /&gt;
&amp;nbsp; &amp;nbsp; sys.schemas s ON t.schema_id = s.schema_id&lt;br /&gt;
WHERE&lt;br /&gt;
&amp;nbsp; &amp;nbsp; t.NAME NOT LIKE &#39;dt%&#39;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; AND t.is_ms_shipped = 0&lt;br /&gt;
&amp;nbsp; &amp;nbsp; AND i.OBJECT_ID &amp;gt; 255&lt;br /&gt;
GROUP BY&lt;br /&gt;
&amp;nbsp; &amp;nbsp; t.Name, s.Name, p.Rows&lt;br /&gt;
ORDER BY&lt;br /&gt;
&amp;nbsp; &amp;nbsp; t.Name</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2563314423202704731/posts/default/8173521438780371301'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2563314423202704731/posts/default/8173521438780371301'/><link rel='alternate' type='text/html' href='http://blog.yunusemregol.com.tr/2019/05/sql-check-all-tables-data-size.html' title='Sql Check All Tables Data Size'/><author><name>Yunus Emre</name><uri>http://www.blogger.com/profile/18218659907704276476</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiPmTrLxPiewlOuFDY38UUQKX9znXQTlOspMGCfuboBh-2F3akBlbFI3ZPRlnCB9_7kza5tzQuqSwb1gP0IMeFpdLglAZPAUprwA-JQXSNmUE5hEhK5PVUsbZzwBWJrHg/s1600/*'/></author></entry><entry><id>tag:blogger.com,1999:blog-2563314423202704731.post-8395248081211053709</id><published>2019-04-21T13:03:00.002-07:00</published><updated>2019-04-21T13:03:38.396-07:00</updated><title type='text'>Installing dotnet core 2.2 version with ssh terminal</title><content type='html'>To check your dotnet core current version on your linux machine with terminal ssh connection type following command to terminal&amp;nbsp;&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;




&lt;style type=&quot;text/css&quot;&gt;
p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; color: #f2f2f2; background-color: #000000; background-color: rgba(0, 0, 0, 0.85)}
span.s1 {font-variant-ligatures: no-common-ligatures}
&lt;/style&gt;


&lt;div class=&quot;p1&quot;&gt;
&lt;span class=&quot;s1&quot;&gt;dotnet --info&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Above commanve will give you detail explanation about your dotnet core version.To install 2.2 or any spesific version of dotnet core type following kind of command to your terminal then complete your dotnet core 2.2 version installation.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;




&lt;style type=&quot;text/css&quot;&gt;
p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; color: #f2f2f2; background-color: #000000; background-color: rgba(0, 0, 0, 0.85)}
span.s1 {font-variant-ligatures: no-common-ligatures}
&lt;/style&gt;


&lt;div class=&quot;p1&quot;&gt;
&lt;span class=&quot;s1&quot;&gt;sudo yum install dotnet-sdk-2.2&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2563314423202704731/posts/default/8395248081211053709'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2563314423202704731/posts/default/8395248081211053709'/><link rel='alternate' type='text/html' href='http://blog.yunusemregol.com.tr/2019/04/installing-dotnet-core-22-version-with.html' title='Installing dotnet core 2.2 version with ssh terminal'/><author><name>Yunus Emre</name><uri>http://www.blogger.com/profile/18218659907704276476</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiPmTrLxPiewlOuFDY38UUQKX9znXQTlOspMGCfuboBh-2F3akBlbFI3ZPRlnCB9_7kza5tzQuqSwb1gP0IMeFpdLglAZPAUprwA-JQXSNmUE5hEhK5PVUsbZzwBWJrHg/s1600/*'/></author></entry><entry><id>tag:blogger.com,1999:blog-2563314423202704731.post-1442675799775295512</id><published>2019-04-09T11:15:00.001-07:00</published><updated>2019-04-09T11:15:38.475-07:00</updated><title type='text'>Sql Server Database Language Change</title><content type='html'>




&lt;style type=&quot;text/css&quot;&gt;
p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.5px Helvetica; min-height: 11.0px}
p.p2 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.5px Helvetica; color: #008000}
p.p3 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.5px Helvetica; color: #0000ff}
p.p4 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.5px Helvetica}
p.p5 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.5px Helvetica; color: #ff0000}
span.s1 {color: #000000}
span.s2 {color: #0000ff}
span.s3 {color: #ff00ff}
span.s4 {color: #808080}
&lt;/style&gt;


&lt;br /&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;p2&quot;&gt;
-- Set to single-user mode&lt;/div&gt;
&lt;div class=&quot;p3&quot;&gt;
ALTER&lt;span class=&quot;s1&quot;&gt; &lt;/span&gt;DATABASE&lt;span class=&quot;s1&quot;&gt;&amp;nbsp;&lt;/span&gt;yourdatabasename&lt;/div&gt;
&lt;div class=&quot;p3&quot;&gt;
SET&lt;span class=&quot;s1&quot;&gt; &lt;/span&gt;SINGLE_USER&lt;span class=&quot;s1&quot;&gt; &lt;/span&gt;WITH&lt;span class=&quot;s1&quot;&gt; &lt;/span&gt;ROLLBACK&lt;span class=&quot;s1&quot;&gt; &lt;/span&gt;IMMEDIATE&lt;/div&gt;
&lt;div class=&quot;p3&quot;&gt;
GO&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p2&quot;&gt;
-- change collation&lt;/div&gt;
&lt;div class=&quot;p4&quot;&gt;
&lt;span class=&quot;s2&quot;&gt;ALTER&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;DATABASE&lt;/span&gt;&amp;nbsp;yourdatabasename&amp;nbsp;&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p4&quot;&gt;
&lt;span class=&quot;s3&quot;&gt;COLLATE&lt;/span&gt; Turkish_CI_AS&lt;span class=&quot;s4&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p4&quot;&gt;
&lt;span class=&quot;s2&quot;&gt;GO&lt;/span&gt; &lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;p2&quot;&gt;
-- Set to multi-user mode&lt;/div&gt;
&lt;div class=&quot;p3&quot;&gt;
ALTER&lt;span class=&quot;s1&quot;&gt; &lt;/span&gt;DATABASE&lt;span class=&quot;s1&quot;&gt; yourdatabasename&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p3&quot;&gt;
SET&lt;span class=&quot;s1&quot;&gt; &lt;/span&gt;MULTI_USER&lt;span class=&quot;s1&quot;&gt; &lt;/span&gt;WITH&lt;span class=&quot;s1&quot;&gt; &lt;/span&gt;ROLLBACK&lt;span class=&quot;s1&quot;&gt; &lt;/span&gt;IMMEDIATE&lt;span class=&quot;s4&quot;&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p4&quot;&gt;
&lt;span class=&quot;s2&quot;&gt;GO&lt;/span&gt; &lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;p2&quot;&gt;
--Verify the collation setting. &lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p4&quot;&gt;
&lt;span class=&quot;s2&quot;&gt;SELECT&lt;/span&gt; name&lt;span class=&quot;s4&quot;&gt;,&lt;/span&gt; collation_name &lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p2&quot;&gt;
&lt;span class=&quot;s2&quot;&gt;FROM&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt; &lt;/span&gt;sys&lt;span class=&quot;s4&quot;&gt;.&lt;/span&gt;databases&lt;span class=&quot;s1&quot;&gt; &lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p5&quot;&gt;
&lt;span class=&quot;s2&quot;&gt;WHERE&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt; name &lt;/span&gt;&lt;span class=&quot;s4&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt; &lt;/span&gt;yourdatabasename&#39;&lt;span class=&quot;s4&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt; &lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2563314423202704731/posts/default/1442675799775295512'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2563314423202704731/posts/default/1442675799775295512'/><link rel='alternate' type='text/html' href='http://blog.yunusemregol.com.tr/2019/04/sql-server-database-language-change.html' title='Sql Server Database Language Change'/><author><name>Yunus Emre</name><uri>http://www.blogger.com/profile/18218659907704276476</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiPmTrLxPiewlOuFDY38UUQKX9znXQTlOspMGCfuboBh-2F3akBlbFI3ZPRlnCB9_7kza5tzQuqSwb1gP0IMeFpdLglAZPAUprwA-JQXSNmUE5hEhK5PVUsbZzwBWJrHg/s1600/*'/></author></entry><entry><id>tag:blogger.com,1999:blog-2563314423202704731.post-2809084675945659356</id><published>2019-03-09T09:11:00.003-08:00</published><updated>2019-11-07T12:02:42.453-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="angular"/><category scheme="http://www.blogger.com/atom/ns#" term="yazılım"/><title type='text'>Angular Routing Problem on Linux Host</title><content type='html'>If your angular application working well on localhost then does not work on linux host when redirecting any of existing page with returning 404 error. It means that you have missing routing configuration for routing.&lt;br /&gt;
&lt;br /&gt;
To provide right configuration on linux apache server just put following code to .htAccess file of your angular application root folder and check the the magic :)&lt;br /&gt;
&lt;br /&gt;
.htaccess file content should be as following:&lt;br /&gt;
&lt;span class=&quot;typ&quot; style=&quot;background-color: rgba(241 , 241 , 241 , 0.2); color: red; font-family: &amp;quot;droid sans mono&amp;quot; , monospace; font-size: 12.6px; letter-spacing: 0.3px; line-height: 24px; white-space: pre-wrap;&quot;&gt;RewriteEngine&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-color: rgba(241 , 241 , 241 , 0.2); font-family: &amp;quot;droid sans mono&amp;quot; , monospace; font-size: 12.6px; letter-spacing: 0.3px; line-height: 24px; white-space: pre-wrap;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;typ&quot; style=&quot;background-color: rgba(241 , 241 , 241 , 0.2); color: red; font-family: &amp;quot;droid sans mono&amp;quot; , monospace; font-size: 12.6px; letter-spacing: 0.3px; line-height: 24px; white-space: pre-wrap;&quot;&gt;On&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-color: rgba(241 , 241 , 241 , 0.2); font-family: &amp;quot;droid sans mono&amp;quot; , monospace; font-size: 12.6px; letter-spacing: 0.3px; line-height: 24px; white-space: pre-wrap;&quot;&gt;
    &lt;/span&gt;&lt;span class=&quot;com&quot; style=&quot;background-color: rgba(241 , 241 , 241 , 0.2); color: #006600; font-family: &amp;quot;droid sans mono&amp;quot; , monospace; font-size: 12.6px; letter-spacing: 0.3px; line-height: 24px; white-space: pre-wrap;&quot;&gt;# If an existing asset or directory is requested go to it as it is&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-color: rgba(241 , 241 , 241 , 0.2); font-family: &amp;quot;droid sans mono&amp;quot; , monospace; font-size: 12.6px; letter-spacing: 0.3px; line-height: 24px; white-space: pre-wrap;&quot;&gt;
    &lt;/span&gt;&lt;span class=&quot;typ&quot; style=&quot;background-color: rgba(241 , 241 , 241 , 0.2); color: red; font-family: &amp;quot;droid sans mono&amp;quot; , monospace; font-size: 12.6px; letter-spacing: 0.3px; line-height: 24px; white-space: pre-wrap;&quot;&gt;RewriteCond&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-color: rgba(241 , 241 , 241 , 0.2); font-family: &amp;quot;droid sans mono&amp;quot; , monospace; font-size: 12.6px; letter-spacing: 0.3px; line-height: 24px; white-space: pre-wrap;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-color: rgba(241 , 241 , 241 , 0.2); color: #666600; font-family: &amp;quot;droid sans mono&amp;quot; , monospace; font-size: 12.6px; letter-spacing: 0.3px; line-height: 24px; white-space: pre-wrap;&quot;&gt;%{&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-color: rgba(241 , 241 , 241 , 0.2); font-family: &amp;quot;droid sans mono&amp;quot; , monospace; font-size: 12.6px; letter-spacing: 0.3px; line-height: 24px; white-space: pre-wrap;&quot;&gt;DOCUMENT_ROOT&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-color: rgba(241 , 241 , 241 , 0.2); color: #666600; font-family: &amp;quot;droid sans mono&amp;quot; , monospace; font-size: 12.6px; letter-spacing: 0.3px; line-height: 24px; white-space: pre-wrap;&quot;&gt;}%{&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-color: rgba(241 , 241 , 241 , 0.2); font-family: &amp;quot;droid sans mono&amp;quot; , monospace; font-size: 12.6px; letter-spacing: 0.3px; line-height: 24px; white-space: pre-wrap;&quot;&gt;REQUEST_URI&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-color: rgba(241 , 241 , 241 , 0.2); color: #666600; font-family: &amp;quot;droid sans mono&amp;quot; , monospace; font-size: 12.6px; letter-spacing: 0.3px; line-height: 24px; white-space: pre-wrap;&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-color: rgba(241 , 241 , 241 , 0.2); font-family: &amp;quot;droid sans mono&amp;quot; , monospace; font-size: 12.6px; letter-spacing: 0.3px; line-height: 24px; white-space: pre-wrap;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-color: rgba(241 , 241 , 241 , 0.2); color: #666600; font-family: &amp;quot;droid sans mono&amp;quot; , monospace; font-size: 12.6px; letter-spacing: 0.3px; line-height: 24px; white-space: pre-wrap;&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-color: rgba(241 , 241 , 241 , 0.2); font-family: &amp;quot;droid sans mono&amp;quot; , monospace; font-size: 12.6px; letter-spacing: 0.3px; line-height: 24px; white-space: pre-wrap;&quot;&gt;f &lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-color: rgba(241 , 241 , 241 , 0.2); color: #666600; font-family: &amp;quot;droid sans mono&amp;quot; , monospace; font-size: 12.6px; letter-spacing: 0.3px; line-height: 24px; white-space: pre-wrap;&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-color: rgba(241 , 241 , 241 , 0.2); font-family: &amp;quot;droid sans mono&amp;quot; , monospace; font-size: 12.6px; letter-spacing: 0.3px; line-height: 24px; white-space: pre-wrap;&quot;&gt;OR&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-color: rgba(241 , 241 , 241 , 0.2); color: #666600; font-family: &amp;quot;droid sans mono&amp;quot; , monospace; font-size: 12.6px; letter-spacing: 0.3px; line-height: 24px; white-space: pre-wrap;&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-color: rgba(241 , 241 , 241 , 0.2); font-family: &amp;quot;droid sans mono&amp;quot; , monospace; font-size: 12.6px; letter-spacing: 0.3px; line-height: 24px; white-space: pre-wrap;&quot;&gt;
    &lt;/span&gt;&lt;span class=&quot;typ&quot; style=&quot;background-color: rgba(241 , 241 , 241 , 0.2); color: red; font-family: &amp;quot;droid sans mono&amp;quot; , monospace; font-size: 12.6px; letter-spacing: 0.3px; line-height: 24px; white-space: pre-wrap;&quot;&gt;RewriteCond&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-color: rgba(241 , 241 , 241 , 0.2); font-family: &amp;quot;droid sans mono&amp;quot; , monospace; font-size: 12.6px; letter-spacing: 0.3px; line-height: 24px; white-space: pre-wrap;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-color: rgba(241 , 241 , 241 , 0.2); color: #666600; font-family: &amp;quot;droid sans mono&amp;quot; , monospace; font-size: 12.6px; letter-spacing: 0.3px; line-height: 24px; white-space: pre-wrap;&quot;&gt;%{&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-color: rgba(241 , 241 , 241 , 0.2); font-family: &amp;quot;droid sans mono&amp;quot; , monospace; font-size: 12.6px; letter-spacing: 0.3px; line-height: 24px; white-space: pre-wrap;&quot;&gt;DOCUMENT_ROOT&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-color: rgba(241 , 241 , 241 , 0.2); color: #666600; font-family: &amp;quot;droid sans mono&amp;quot; , monospace; font-size: 12.6px; letter-spacing: 0.3px; line-height: 24px; white-space: pre-wrap;&quot;&gt;}%{&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-color: rgba(241 , 241 , 241 , 0.2); font-family: &amp;quot;droid sans mono&amp;quot; , monospace; font-size: 12.6px; letter-spacing: 0.3px; line-height: 24px; white-space: pre-wrap;&quot;&gt;REQUEST_URI&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-color: rgba(241 , 241 , 241 , 0.2); color: #666600; font-family: &amp;quot;droid sans mono&amp;quot; , monospace; font-size: 12.6px; letter-spacing: 0.3px; line-height: 24px; white-space: pre-wrap;&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-color: rgba(241 , 241 , 241 , 0.2); font-family: &amp;quot;droid sans mono&amp;quot; , monospace; font-size: 12.6px; letter-spacing: 0.3px; line-height: 24px; white-space: pre-wrap;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-color: rgba(241 , 241 , 241 , 0.2); color: #666600; font-family: &amp;quot;droid sans mono&amp;quot; , monospace; font-size: 12.6px; letter-spacing: 0.3px; line-height: 24px; white-space: pre-wrap;&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-color: rgba(241 , 241 , 241 , 0.2); font-family: &amp;quot;droid sans mono&amp;quot; , monospace; font-size: 12.6px; letter-spacing: 0.3px; line-height: 24px; white-space: pre-wrap;&quot;&gt;d
    &lt;/span&gt;&lt;span class=&quot;typ&quot; style=&quot;background-color: rgba(241 , 241 , 241 , 0.2); color: red; font-family: &amp;quot;droid sans mono&amp;quot; , monospace; font-size: 12.6px; letter-spacing: 0.3px; line-height: 24px; white-space: pre-wrap;&quot;&gt;RewriteRule&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-color: rgba(241 , 241 , 241 , 0.2); font-family: &amp;quot;droid sans mono&amp;quot; , monospace; font-size: 12.6px; letter-spacing: 0.3px; line-height: 24px; white-space: pre-wrap;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-color: rgba(241 , 241 , 241 , 0.2); color: #666600; font-family: &amp;quot;droid sans mono&amp;quot; , monospace; font-size: 12.6px; letter-spacing: 0.3px; line-height: 24px; white-space: pre-wrap;&quot;&gt;^&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-color: rgba(241 , 241 , 241 , 0.2); font-family: &amp;quot;droid sans mono&amp;quot; , monospace; font-size: 12.6px; letter-spacing: 0.3px; line-height: 24px; white-space: pre-wrap;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-color: rgba(241 , 241 , 241 , 0.2); color: #666600; font-family: &amp;quot;droid sans mono&amp;quot; , monospace; font-size: 12.6px; letter-spacing: 0.3px; line-height: 24px; white-space: pre-wrap;&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-color: rgba(241 , 241 , 241 , 0.2); font-family: &amp;quot;droid sans mono&amp;quot; , monospace; font-size: 12.6px; letter-spacing: 0.3px; line-height: 24px; white-space: pre-wrap;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-color: rgba(241 , 241 , 241 , 0.2); color: #666600; font-family: &amp;quot;droid sans mono&amp;quot; , monospace; font-size: 12.6px; letter-spacing: 0.3px; line-height: 24px; white-space: pre-wrap;&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-color: rgba(241 , 241 , 241 , 0.2); font-family: &amp;quot;droid sans mono&amp;quot; , monospace; font-size: 12.6px; letter-spacing: 0.3px; line-height: 24px; white-space: pre-wrap;&quot;&gt;L&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-color: rgba(241 , 241 , 241 , 0.2); color: #666600; font-family: &amp;quot;droid sans mono&amp;quot; , monospace; font-size: 12.6px; letter-spacing: 0.3px; line-height: 24px; white-space: pre-wrap;&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-color: rgba(241 , 241 , 241 , 0.2); font-family: &amp;quot;droid sans mono&amp;quot; , monospace; font-size: 12.6px; letter-spacing: 0.3px; line-height: 24px; white-space: pre-wrap;&quot;&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;div style=&quot;background-color: rgba(241, 241, 241, 0.2); color: #333333; font-family: &amp;quot;Droid Sans Mono&amp;quot;, monospace; font-size: 14px; letter-spacing: 0.3px; line-height: 24px; white-space: pre-wrap;&quot;&gt;
&lt;span class=&quot;pln&quot; style=&quot;color: black; line-height: 24px;&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;com&quot; style=&quot;color: #006600; line-height: 24px;&quot;&gt;# If the requested resource doesn&#39;t exist, use index.html&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;color: black; line-height: 24px;&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;typ&quot; style=&quot;color: red; line-height: 24px;&quot;&gt;RewriteRule&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;color: black; line-height: 24px;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;color: #666600; line-height: 24px;&quot;&gt;^&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;color: black; line-height: 24px;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;color: #666600; line-height: 24px;&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;color: black; line-height: 24px;&quot;&gt;index&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;color: #666600; line-height: 24px;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;color: black; line-height: 24px;&quot;&gt;html&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: rgba(241, 241, 241, 0.2); color: #333333; font-family: &amp;quot;Droid Sans Mono&amp;quot;, monospace; font-size: 14px; letter-spacing: 0.3px; line-height: 24px; white-space: pre-wrap;&quot;&gt;
&lt;span class=&quot;pln&quot; style=&quot;color: black; line-height: 24px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
On the otherhand, If you deployed your app to another servers check the following solutions :&lt;br /&gt;
&lt;br /&gt;
IIS Server on windows host , following webconfig rule can be help you to solve your redirection problem&lt;br /&gt;
&lt;br /&gt;
web.config file content should be as following;&lt;br /&gt;
&lt;br /&gt;
&lt;ol class=&quot;linenums&quot; style=&quot;background-color: rgba(241, 241, 241, 0.2); color: #b3b6b7; font-family: Roboto, &amp;quot;Helvetica Neue Light&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, &amp;quot;Lucida Grande&amp;quot;, sans-serif; font-size: 14px; letter-spacing: 0.3px; line-height: 24px; margin: 0px; white-space: pre-wrap;&quot;&gt;
&lt;li class=&quot;L0&quot; style=&quot;font-family: &amp;quot;Droid Sans Mono&amp;quot;, monospace; font-size: 12.6px; letter-spacing: 0.3px; line-height: 24px; margin: 0px;&quot;&gt;&lt;span class=&quot;tag&quot; style=&quot;color: #000088; line-height: 24px;&quot;&gt;&amp;lt;system.webServer&amp;gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;L1&quot; style=&quot;font-family: &amp;quot;Droid Sans Mono&amp;quot;, monospace; font-size: 12.6px; letter-spacing: 0.3px; line-height: 24px; margin: 0px;&quot;&gt;&lt;span class=&quot;pln&quot; style=&quot;color: black; line-height: 24px;&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;tag&quot; style=&quot;color: #000088; line-height: 24px;&quot;&gt;&amp;lt;rewrite&amp;gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;L2&quot; style=&quot;font-family: &amp;quot;Droid Sans Mono&amp;quot;, monospace; font-size: 12.6px; letter-spacing: 0.3px; line-height: 24px; margin: 0px;&quot;&gt;&lt;span class=&quot;pln&quot; style=&quot;color: black; line-height: 24px;&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;tag&quot; style=&quot;color: #000088; line-height: 24px;&quot;&gt;&amp;lt;rules&amp;gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;L3&quot; style=&quot;font-family: &amp;quot;Droid Sans Mono&amp;quot;, monospace; font-size: 12.6px; letter-spacing: 0.3px; line-height: 24px; margin: 0px;&quot;&gt;&lt;span class=&quot;pln&quot; style=&quot;color: black; line-height: 24px;&quot;&gt;      &lt;/span&gt;&lt;span class=&quot;tag&quot; style=&quot;color: #000088; line-height: 24px;&quot;&gt;&amp;lt;rule&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;color: black; line-height: 24px;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;atn&quot; style=&quot;color: #660066; line-height: 24px;&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;color: #666600; line-height: 24px;&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;atv&quot; style=&quot;color: #880000; line-height: 24px;&quot;&gt;&quot;Angular &lt;/span&gt;&lt;a class=&quot;code-anchor&quot; href=&quot;https://angular.io/api/router/Routes&quot; style=&quot;cursor: pointer; font-size: inherit; font-weight: inherit; letter-spacing: 0.3px; line-height: 24px; text-decoration-line: none;&quot;&gt;&lt;span class=&quot;atv&quot; style=&quot;color: #880000; line-height: 24px;&quot;&gt;Routes&lt;/span&gt;&lt;/a&gt;&lt;span class=&quot;atv&quot; style=&quot;color: #880000; line-height: 24px;&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;color: black; line-height: 24px;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;atn&quot; style=&quot;color: #660066; line-height: 24px;&quot;&gt;stopProcessing&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;color: #666600; line-height: 24px;&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;atv&quot; style=&quot;color: #880000; line-height: 24px;&quot;&gt;&quot;true&quot;&lt;/span&gt;&lt;span class=&quot;tag&quot; style=&quot;color: #000088; line-height: 24px;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;L4&quot; style=&quot;font-family: &amp;quot;Droid Sans Mono&amp;quot;, monospace; font-size: 12.6px; letter-spacing: 0.3px; line-height: 24px; margin: 0px;&quot;&gt;&lt;span class=&quot;pln&quot; style=&quot;color: black; line-height: 24px;&quot;&gt;        &lt;/span&gt;&lt;span class=&quot;tag&quot; style=&quot;color: #000088; line-height: 24px;&quot;&gt;&amp;lt;match&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;color: black; line-height: 24px;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;atn&quot; style=&quot;color: #660066; line-height: 24px;&quot;&gt;url&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;color: #666600; line-height: 24px;&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;atv&quot; style=&quot;color: #880000; line-height: 24px;&quot;&gt;&quot;.*&quot;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;color: black; line-height: 24px;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;tag&quot; style=&quot;color: #000088; line-height: 24px;&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;L5&quot; style=&quot;font-family: &amp;quot;Droid Sans Mono&amp;quot;, monospace; font-size: 12.6px; letter-spacing: 0.3px; line-height: 24px; margin: 0px;&quot;&gt;&lt;span class=&quot;pln&quot; style=&quot;color: black; line-height: 24px;&quot;&gt;        &lt;/span&gt;&lt;span class=&quot;tag&quot; style=&quot;color: #000088; line-height: 24px;&quot;&gt;&amp;lt;conditions&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;color: black; line-height: 24px;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;atn&quot; style=&quot;color: #660066; line-height: 24px;&quot;&gt;logicalGrouping&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;color: #666600; line-height: 24px;&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;atv&quot; style=&quot;color: #880000; line-height: 24px;&quot;&gt;&quot;MatchAll&quot;&lt;/span&gt;&lt;span class=&quot;tag&quot; style=&quot;color: #000088; line-height: 24px;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;L6&quot; style=&quot;font-family: &amp;quot;Droid Sans Mono&amp;quot;, monospace; font-size: 12.6px; letter-spacing: 0.3px; line-height: 24px; margin: 0px;&quot;&gt;&lt;span class=&quot;pln&quot; style=&quot;color: black; line-height: 24px;&quot;&gt;          &lt;/span&gt;&lt;span class=&quot;tag&quot; style=&quot;color: #000088; line-height: 24px;&quot;&gt;&amp;lt;add&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;color: black; line-height: 24px;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;atn&quot; style=&quot;color: #660066; line-height: 24px;&quot;&gt;input&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;color: #666600; line-height: 24px;&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;atv&quot; style=&quot;color: #880000; line-height: 24px;&quot;&gt;&quot;{REQUEST_FILENAME}&quot;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;color: black; line-height: 24px;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;atn&quot; style=&quot;color: #660066; line-height: 24px;&quot;&gt;matchType&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;color: #666600; line-height: 24px;&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;atv&quot; style=&quot;color: #880000; line-height: 24px;&quot;&gt;&quot;IsFile&quot;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;color: black; line-height: 24px;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;atn&quot; style=&quot;color: #660066; line-height: 24px;&quot;&gt;negate&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;color: #666600; line-height: 24px;&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;atv&quot; style=&quot;color: #880000; line-height: 24px;&quot;&gt;&quot;true&quot;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;color: black; line-height: 24px;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;tag&quot; style=&quot;color: #000088; line-height: 24px;&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;L7&quot; style=&quot;font-family: &amp;quot;Droid Sans Mono&amp;quot;, monospace; font-size: 12.6px; letter-spacing: 0.3px; line-height: 24px; margin: 0px;&quot;&gt;&lt;span class=&quot;pln&quot; style=&quot;color: black; line-height: 24px;&quot;&gt;          &lt;/span&gt;&lt;span class=&quot;tag&quot; style=&quot;color: #000088; line-height: 24px;&quot;&gt;&amp;lt;add&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;color: black; line-height: 24px;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;atn&quot; style=&quot;color: #660066; line-height: 24px;&quot;&gt;input&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;color: #666600; line-height: 24px;&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;atv&quot; style=&quot;color: #880000; line-height: 24px;&quot;&gt;&quot;{REQUEST_FILENAME}&quot;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;color: black; line-height: 24px;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;atn&quot; style=&quot;color: #660066; line-height: 24px;&quot;&gt;matchType&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;color: #666600; line-height: 24px;&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;atv&quot; style=&quot;color: #880000; line-height: 24px;&quot;&gt;&quot;IsDirectory&quot;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;color: black; line-height: 24px;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;atn&quot; style=&quot;color: #660066; line-height: 24px;&quot;&gt;negate&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;color: #666600; line-height: 24px;&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;atv&quot; style=&quot;color: #880000; line-height: 24px;&quot;&gt;&quot;true&quot;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;color: black; line-height: 24px;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;tag&quot; style=&quot;color: #000088; line-height: 24px;&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;L8&quot; style=&quot;font-family: &amp;quot;Droid Sans Mono&amp;quot;, monospace; font-size: 12.6px; letter-spacing: 0.3px; line-height: 24px; margin: 0px;&quot;&gt;&lt;span class=&quot;pln&quot; style=&quot;color: black; line-height: 24px;&quot;&gt;        &lt;/span&gt;&lt;span class=&quot;tag&quot; style=&quot;color: #000088; line-height: 24px;&quot;&gt;&amp;lt;/conditions&amp;gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;L9&quot; style=&quot;font-family: &amp;quot;Droid Sans Mono&amp;quot;, monospace; font-size: 12.6px; letter-spacing: 0.3px; line-height: 24px; margin: 0px;&quot;&gt;&lt;span class=&quot;pln&quot; style=&quot;color: black; line-height: 24px;&quot;&gt;        &lt;/span&gt;&lt;span class=&quot;tag&quot; style=&quot;color: #000088; line-height: 24px;&quot;&gt;&amp;lt;action&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;color: black; line-height: 24px;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;atn&quot; style=&quot;color: #660066; line-height: 24px;&quot;&gt;type&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;color: #666600; line-height: 24px;&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;atv&quot; style=&quot;color: #880000; line-height: 24px;&quot;&gt;&quot;Rewrite&quot;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;color: black; line-height: 24px;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;atn&quot; style=&quot;color: #660066; line-height: 24px;&quot;&gt;url&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;color: #666600; line-height: 24px;&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;atv&quot; style=&quot;color: #880000; line-height: 24px;&quot;&gt;&quot;/index.html&quot;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;color: black; line-height: 24px;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;tag&quot; style=&quot;color: #000088; line-height: 24px;&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;L0&quot; style=&quot;font-family: &amp;quot;Droid Sans Mono&amp;quot;, monospace; font-size: 12.6px; letter-spacing: 0.3px; line-height: 24px; margin: 0px;&quot;&gt;&lt;span class=&quot;pln&quot; style=&quot;color: black; line-height: 24px;&quot;&gt;      &lt;/span&gt;&lt;span class=&quot;tag&quot; style=&quot;color: #000088; line-height: 24px;&quot;&gt;&amp;lt;/rule&amp;gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;L1&quot; style=&quot;font-family: &amp;quot;Droid Sans Mono&amp;quot;, monospace; font-size: 12.6px; letter-spacing: 0.3px; line-height: 24px; margin: 0px;&quot;&gt;&lt;span class=&quot;pln&quot; style=&quot;color: black; line-height: 24px;&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;tag&quot; style=&quot;color: #000088; line-height: 24px;&quot;&gt;&amp;lt;/rules&amp;gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;L2&quot; style=&quot;font-family: &amp;quot;Droid Sans Mono&amp;quot;, monospace; font-size: 12.6px; letter-spacing: 0.3px; line-height: 24px; margin: 0px;&quot;&gt;&lt;span class=&quot;pln&quot; style=&quot;color: black; line-height: 24px;&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;tag&quot; style=&quot;color: #000088; line-height: 24px;&quot;&gt;&amp;lt;/rewrite&amp;gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;L3&quot; style=&quot;font-family: &amp;quot;Droid Sans Mono&amp;quot;, monospace; font-size: 12.6px; letter-spacing: 0.3px; line-height: 24px; margin: 0px;&quot;&gt;&lt;span class=&quot;tag&quot; style=&quot;color: #000088; line-height: 24px;&quot;&gt;&amp;lt;/system.webServer&amp;gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;br /&gt;
For more information about this issue, just check the offical page from this link : &lt;a href=&quot;https://angular.io/guide/deployment&quot; target=&quot;_blank&quot;&gt;https://angular.io/guide/deployment&lt;/a&gt;&lt;span id=&quot;goog_1968087456&quot;&gt;&lt;/span&gt;&lt;a href=&quot;https://www.blogger.com/&quot;&gt;&lt;/a&gt;&lt;span id=&quot;goog_1968087457&quot;&gt;&lt;/span&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2563314423202704731/posts/default/2809084675945659356'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2563314423202704731/posts/default/2809084675945659356'/><link rel='alternate' type='text/html' href='http://blog.yunusemregol.com.tr/2019/03/angular-routing-problem-on-linux-host.html' title='Angular Routing Problem on Linux Host'/><author><name>Yunus Emre</name><uri>http://www.blogger.com/profile/18218659907704276476</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiPmTrLxPiewlOuFDY38UUQKX9znXQTlOspMGCfuboBh-2F3akBlbFI3ZPRlnCB9_7kza5tzQuqSwb1gP0IMeFpdLglAZPAUprwA-JQXSNmUE5hEhK5PVUsbZzwBWJrHg/s1600/*'/></author></entry><entry><id>tag:blogger.com,1999:blog-2563314423202704731.post-3717468470784530198</id><published>2019-02-20T10:12:00.001-08:00</published><updated>2019-11-20T23:00:26.432-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="aspnetcore"/><category scheme="http://www.blogger.com/atom/ns#" term="yazılım"/><title type='text'>How to set ASPNETCORE_ENVIRONMENT to Development Mode in Asp.Net Core MVC Application</title><content type='html'>&lt;h2&gt;
Asp.Net MVC Core Application Development Mode&amp;nbsp;&lt;/h2&gt;
&lt;br /&gt;
&lt;br /&gt;
When we deployed our application to the server and get any eror message then we won&#39;t be able to see details of message on previewed page. In this time we may convert our application to development mode via web.config.&lt;br /&gt;
In root folder of web.config file&amp;nbsp; we can add following&amp;nbsp; lines to child of AspNetCore element.&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;color: #d4d4d4; font-family: Menlo, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 12px; white-space: pre;&quot;&gt;
&lt;span style=&quot;color: grey;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;environmentVariables&lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #d4d4d4; font-family: Menlo, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 12px; white-space: pre;&quot;&gt;
&lt;span style=&quot;color: grey;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;environmentVariable&lt;/span&gt; &lt;span style=&quot;color: #9cdcfe;&quot;&gt;name&lt;/span&gt;=&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;ASPNETCORE_ENVIRONMENT&quot;&lt;/span&gt; &lt;span style=&quot;color: #9cdcfe;&quot;&gt;value&lt;/span&gt;=&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Development&quot;&lt;/span&gt; &lt;span style=&quot;color: grey;&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #d4d4d4; font-family: Menlo, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 12px; white-space: pre;&quot;&gt;
&lt;span style=&quot;color: grey;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;environmentVariables&lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #d4d4d4; font-family: Menlo, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 12px; white-space: pre;&quot;&gt;
&lt;span style=&quot;color: grey;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #d4d4d4; font-family: Menlo, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 12px; white-space: pre;&quot;&gt;
&lt;span style=&quot;color: grey;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #d4d4d4; font-family: Menlo, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 12px; white-space: pre;&quot;&gt;
&lt;span style=&quot;color: black; font-family: &amp;quot;times&amp;quot;; font-size: small; white-space: normal;&quot;&gt;Result view of config should be as following ;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; font-family: Menlo, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 12px; line-height: 18px; white-space: pre;&quot;&gt;
&lt;div&gt;
&lt;span style=&quot;color: grey;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;system.webServer&lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: grey;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;handlers&lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: grey;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;add&lt;/span&gt; &lt;span style=&quot;color: #9cdcfe;&quot;&gt;name&lt;/span&gt;=&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;aspNetCore&quot;&lt;/span&gt; &lt;span style=&quot;color: #9cdcfe;&quot;&gt;path&lt;/span&gt;=&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;*&quot;&lt;/span&gt; &lt;span style=&quot;color: #9cdcfe;&quot;&gt;verb&lt;/span&gt;=&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;*&quot;&lt;/span&gt; &lt;span style=&quot;color: #9cdcfe;&quot;&gt;modules&lt;/span&gt;=&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;AspNetCoreModule&quot;&lt;/span&gt; &lt;span style=&quot;color: grey;&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: grey;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;handlers&lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: grey;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;aspNetCore&lt;/span&gt; &lt;span style=&quot;color: #9cdcfe;&quot;&gt;processPath&lt;/span&gt;=&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;.\CMSPortal.WebUI.exe&quot;&lt;/span&gt; &lt;span style=&quot;color: #9cdcfe;&quot;&gt;stdoutLogEnabled&lt;/span&gt;=&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;false&quot;&lt;/span&gt;  &lt;span style=&quot;color: grey;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: grey;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;environmentVariables&lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: grey;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;environmentVariable&lt;/span&gt; &lt;span style=&quot;color: #9cdcfe;&quot;&gt;name&lt;/span&gt;=&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;ASPNETCORE_ENVIRONMENT&quot;&lt;/span&gt; &lt;span style=&quot;color: #9cdcfe;&quot;&gt;value&lt;/span&gt;=&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Development&quot;&lt;/span&gt; &lt;span style=&quot;color: grey;&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: grey;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;environmentVariables&lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: grey;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;aspNetCore&lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: grey;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;system.webServer&lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Now we able to see all details of error messages :)</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2563314423202704731/posts/default/3717468470784530198'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2563314423202704731/posts/default/3717468470784530198'/><link rel='alternate' type='text/html' href='http://blog.yunusemregol.com.tr/2019/02/how-to-set-aspnetcoreenvironment-to.html' title='How to set ASPNETCORE_ENVIRONMENT to Development Mode in Asp.Net Core MVC Application'/><author><name>Yunus Emre</name><uri>http://www.blogger.com/profile/18218659907704276476</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiPmTrLxPiewlOuFDY38UUQKX9znXQTlOspMGCfuboBh-2F3akBlbFI3ZPRlnCB9_7kza5tzQuqSwb1gP0IMeFpdLglAZPAUprwA-JQXSNmUE5hEhK5PVUsbZzwBWJrHg/s1600/*'/></author></entry><entry><id>tag:blogger.com,1999:blog-2563314423202704731.post-6504041171030192256</id><published>2019-02-14T06:24:00.001-08:00</published><updated>2019-11-20T23:00:34.295-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Sql"/><title type='text'>Running large .sql script via command line</title><content type='html'>Sometimes we need to run large sql script which has 1-10 gb size or something etc. then we won&#39;t be open this .sql file in sql, notepad, etc.&lt;br /&gt;
&lt;br /&gt;
In this case, we need to run this command without any problem in easiest way, we can use commandline sqlcmd command to run our sql commands.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To do this operation, just follow few steps ;&lt;br /&gt;
&amp;nbsp;- Click Windows + R&lt;br /&gt;
&amp;nbsp;- type cmd and press enter to reach commandline&lt;br /&gt;
&amp;nbsp;- use&amp;nbsp;&amp;nbsp;&lt;span class=&quot;pln&quot; style=&quot;background-color: #eff0f1; border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-size: 13px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline; white-space: inherit;&quot;&gt;sqlcmd &lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-color: #eff0f1; border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-size: 13px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline; white-space: inherit;&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-color: #eff0f1; border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-size: 13px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline; white-space: inherit;&quot;&gt;S &lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-color: #eff0f1; border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-size: 13px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline; white-space: inherit;&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-color: #eff0f1; border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-size: 13px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline; white-space: inherit;&quot;&gt;servername&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-color: #eff0f1; border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-size: 13px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline; white-space: inherit;&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-color: #eff0f1; border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-size: 13px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline; white-space: inherit;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-color: #eff0f1; border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-size: 13px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline; white-space: inherit;&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-color: #eff0f1; border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-size: 13px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline; white-space: inherit;&quot;&gt;d &lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-color: #eff0f1; border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-size: 13px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline; white-space: inherit;&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-color: #eff0f1; border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-size: 13px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline; white-space: inherit;&quot;&gt;databasename&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-color: #eff0f1; border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-size: 13px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline; white-space: inherit;&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-color: #eff0f1; border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-size: 13px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline; white-space: inherit;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-color: #eff0f1; border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-size: 13px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline; white-space: inherit;&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-color: #eff0f1; border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-size: 13px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline; white-space: inherit;&quot;&gt;i &lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-color: #eff0f1; border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-size: 13px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline; white-space: inherit;&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-color: #eff0f1; border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-size: 13px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline; white-space: inherit;&quot;&gt;scriptfilename&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-color: #eff0f1; border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-size: 13px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline; white-space: inherit;&quot;&gt;]&lt;/span&gt;&amp;nbsp;command to run your file :)&lt;br /&gt;
&lt;br /&gt;
Thats all.&lt;br /&gt;
&lt;br /&gt;
In my scenario , I runned 8 GB .sql file with this method then it will completed successfuly without wasting memory or cpu while doing its job.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2563314423202704731/posts/default/6504041171030192256'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2563314423202704731/posts/default/6504041171030192256'/><link rel='alternate' type='text/html' href='http://blog.yunusemregol.com.tr/2019/02/running-large-sql-script-via-command.html' title='Running large .sql script via command line'/><author><name>Yunus Emre</name><uri>http://www.blogger.com/profile/18218659907704276476</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiPmTrLxPiewlOuFDY38UUQKX9znXQTlOspMGCfuboBh-2F3akBlbFI3ZPRlnCB9_7kza5tzQuqSwb1gP0IMeFpdLglAZPAUprwA-JQXSNmUE5hEhK5PVUsbZzwBWJrHg/s1600/*'/></author></entry><entry><id>tag:blogger.com,1999:blog-2563314423202704731.post-4130911149706983157</id><published>2019-02-07T22:51:00.005-08:00</published><updated>2019-11-20T23:00:53.923-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="teknoloji"/><title type='text'>Mi Band 3 NFC ve Türkçe Diline Çevirme</title><content type='html'>Bu hafta eski kafa saat kullanımını bırakıp artık akıllı saatlere geçme kararı vermem ile birlikte. Yine de birkaç günde bir saat şarj etmek bana çok ters geldiği için bu dünyaya bir Xiaomi Mi Band bileklik ile girmek istedim.&lt;br /&gt;
&lt;br /&gt;
Bunun üzerine kısa bir araştırma sonrası&amp;nbsp;Xiaomi Mi Band 3 NFC modelini internetten satın aldım ve bugün kargo ile elime ulaştı. Öncesinde narin diye düşündüğüm için saati banta yerleştirme ve çıkarma kısımlarından biraz çekiniyodum fakat sonradan alışıp sert bir şekilde hızlıca çıkarıp takmaya başladım.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Kutu Açılışı&lt;/b&gt;&lt;br /&gt;
Öncelikle ilk geldiğinde cihazı bilgisayarınızdan yada bir adaptor yardımı ile şarj etmeniz gerekiyor. Ardından Android için PlayStore yada IOS için PlayStore a girip &quot;Mi Fit&quot; yazarak uygulamasını indirmeniz ve eşleştirmeniz gerekiyor.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiloC-Yk3__KBjShwFvBGXm0l74hpmQ25wJiaMvDimdyGLXpC3tz_35qaaQapV0s3UfplFmUptP9B9am5YbGNE_GdVy94pMapdpil7y5W7aIAJpgBBk5X4AdtLJe6WpEyJWdIQNpMcRyAE/s1600/miband3.jpeg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1600&quot; data-original-width=&quot;1200&quot; height=&quot;400&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiloC-Yk3__KBjShwFvBGXm0l74hpmQ25wJiaMvDimdyGLXpC3tz_35qaaQapV0s3UfplFmUptP9B9am5YbGNE_GdVy94pMapdpil7y5W7aIAJpgBBk5X4AdtLJe6WpEyJWdIQNpMcRyAE/s400/miband3.jpeg&quot; width=&quot;300&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Cihaz Eşleştirme&lt;/b&gt;&lt;br /&gt;
Bu işlem oldukça basit, telefonunuzdan uygulamayı açıp &quot;Cihaz Ekle&quot; kısmına bastığınızda bluetooth üzerinden cihazı arıyor ve cihazın butonuna basmanızı istiyor. Cihazın üzerindeki butona bastığınızda ise anında eşleştiriyor ve bir güncelleme var sie Mi Fit uygulaması üzerinden cihaza yükleme işlemini gerçekleştiriyor.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Temel Özellikler&lt;/b&gt;&lt;br /&gt;
&amp;nbsp;- Whatsapp ve diğer mesaj uygulamalarının bildirimlerini alıp okuyabiliyorsunuz&lt;br /&gt;
&amp;nbsp;- Saat Özelliği var :)&lt;br /&gt;
&amp;nbsp;- adım sayar, spor yapanlar için bazı ölçümler&lt;br /&gt;
&amp;nbsp;- Kartlarınızı kayıt edip nfc özelliği ile kullanabiliyorsunuz(Türkiye de destekleniyor mu emin değilim ama çin de yaygın olarak kullanılıyor)&lt;br /&gt;
&amp;nbsp;- Nabız Atış Ritmi Ölçümü&lt;br /&gt;
&amp;nbsp;- Adım Sayar ,&lt;br /&gt;
&amp;nbsp;- Mesafe Ölçer,&lt;br /&gt;
&amp;nbsp;- Yakılan Kalori Hesaplama,&lt;br /&gt;
&amp;nbsp;- Pil Durumu Gösterimi&lt;br /&gt;
&amp;nbsp;- Koşu Bandı ve Egzersiz Hesaplamaları&lt;br /&gt;
&amp;nbsp;- Kronometre,&lt;br /&gt;
&amp;nbsp;- Cihazımı Bul : Telefon acaip şekilde yüksek sesli bir alrm ile çalıyor, bulmamanız imkansız :)&lt;br /&gt;
&amp;nbsp;- Ekran Modları : 3 farklı ekran modu var seçip kullanabilirsiniz.&lt;br /&gt;
&amp;nbsp;- Hava Durumu : 3 günlük hava durumunu size gösteriyor&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Yorumlarım&lt;/b&gt;&lt;br /&gt;
&amp;nbsp;Öncelikle cihaz fiyatına göre oldukça kullanışlı ve almayı düşünen olursa, düşünmeden alsın diyebilirim. Benim sevdiğim özellikleri telefona bakmama gerek kalmadan tüm gelen mesajları okuyabiliyor ve aramalarda titreşim özelliği ile telefonum sessizdeyken gelen aramaları kaçırmıyorum.Saat ve Hava durumu da günlük olarak bilgi edinmem için oldukça güzel özellikler. Temel olarak sadece bu özellikleri kullanmak ile birlikte arada nabız ölçümü de kendini kontrol altına almak için güzel bir özellik diyebilirim.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Türkçe Dile Çevirim&lt;/b&gt;&lt;br /&gt;
Cihazın NFC modeli standart olarak elime çince dilinde geldi, eğer telefonunuz ingilizce ise dil ingilizce oluyor ama bildirimlerdeki türkçe karakterler yine bozuk gelebiliyor. Ben o yüzden cihazı türkçeye çevirmeye çalıştım ve birkaç araştırma sonrasında aşağıdaki adımlardan problemi çözdüm&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;- IOS : AmazTools uygulamasını indirin&lt;br /&gt;
&amp;nbsp;-&amp;nbsp;https://geekdoing.com/forums/custom-firmwares.8/ linkinden cihazınızın güncel versiyonuna göre dil paketi indirebilirsiniz.&lt;br /&gt;
Ben elimdeki 1.7.0.4 versiyon için&amp;nbsp;https://geekdoing.com/threads/firmwares-1-7-0-4-mi-band-3-nfc-spanish-turkish-thai.599/ linkinden türkçe desteğini indirdim telefonuma ve AmazTools uygulamasını açıp &quot;Daha Fazla&quot; ikonuna tıklayarak ek dosya yükle seçeneğinden ilgili dosyayı seçerek yükle ye tıkladım ve dil seçeneği türkçe oldu :)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2563314423202704731/posts/default/4130911149706983157'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2563314423202704731/posts/default/4130911149706983157'/><link rel='alternate' type='text/html' href='http://blog.yunusemregol.com.tr/2019/02/mi-band-3-nfc-ve-turkce-diline-cevirme.html' title='Mi Band 3 NFC ve Türkçe Diline Çevirme'/><author><name>Yunus Emre</name><uri>http://www.blogger.com/profile/18218659907704276476</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiPmTrLxPiewlOuFDY38UUQKX9znXQTlOspMGCfuboBh-2F3akBlbFI3ZPRlnCB9_7kza5tzQuqSwb1gP0IMeFpdLglAZPAUprwA-JQXSNmUE5hEhK5PVUsbZzwBWJrHg/s1600/*'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiloC-Yk3__KBjShwFvBGXm0l74hpmQ25wJiaMvDimdyGLXpC3tz_35qaaQapV0s3UfplFmUptP9B9am5YbGNE_GdVy94pMapdpil7y5W7aIAJpgBBk5X4AdtLJe6WpEyJWdIQNpMcRyAE/s72-c/miband3.jpeg" height="72" width="72"/></entry><entry><id>tag:blogger.com,1999:blog-2563314423202704731.post-5385550072868852735</id><published>2019-01-31T11:21:00.002-08:00</published><updated>2019-10-20T07:51:26.555-07:00</updated><title type='text'>.Net Core Entity Framework PostgreSql DB First </title><content type='html'>.Net Core projenizde db first ile PostgreSql veri tabanındaki tablolar için migration oluşturmak ve DB First ile çalışmak için Package Manager Console dan aşağıdaki komutu&lt;br /&gt;
&lt;br /&gt;
Standart Komut:&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;br /&gt;
&lt;div&gt;
&lt;b&gt;Scaffold-DbContext &quot;Host=serverHostIP;Database=veritabanıadi;Username=kullanıcıadınız;Password=sifreniz&quot; Npgsql.EntityFrameworkCore.PostgreSQL -OutputDir DataAccess -Context &quot;TestContext&quot; -DataAnnotations -force&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;code style=&quot;border: 0px; box-sizing: inherit; font-family: Consolas, Menlo, Monaco, &amp;quot;Lucida Console&amp;quot;, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace, sans-serif; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline; white-space: inherit;&quot;&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/code&gt;
&lt;code style=&quot;border: 0px; box-sizing: inherit; font-family: Consolas, Menlo, Monaco, &amp;quot;Lucida Console&amp;quot;, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace, sans-serif; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline; white-space: inherit;&quot;&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/code&gt;
&lt;code style=&quot;border: 0px; box-sizing: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline; white-space: inherit;&quot;&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; box-sizing: inherit; color: #303336; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;times&amp;quot; , &amp;quot;times new roman&amp;quot; , serif;&quot;&gt;Yukarıdaki komut standart olarak startup project olarak seçilen solution içerisinde DataAccess dizini içerisinde tüm entity class larını oluşturacaktır. Eğer çok katmanlı mimari ile projelerimizi farklı class library ler olarak oluşturuyor ve o şekilde kullanıyor isek bu komuta ek olarak &quot;-project ProjemizinAdı.DAL&quot; gibi bir komutla çalıştırmamız gerekiyor. Örnek komut aşağıdaki gibi olmalı.&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;
&lt;code style=&quot;border: 0px; box-sizing: inherit; font-family: consolas, menlo, monaco, &amp;quot;lucida console&amp;quot;, &amp;quot;liberation mono&amp;quot;, &amp;quot;dejavu sans mono&amp;quot;, &amp;quot;bitstream vera sans mono&amp;quot;, &amp;quot;courier new&amp;quot;, monospace, sans-serif; font-stretch: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline; white-space: inherit;&quot;&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&lt;br /&gt;&lt;b style=&quot;color: black; font-family: Times;&quot;&gt;&quot;Host=serverHostIP;Database=veritabanıadi;Username=kullanıcıadınız;Password=sifreniz&quot; Npgsql.EntityFrameworkCore.PostgreSQL -OutputDir DataAccess -Context &quot;TestContext&quot; -DataAnnotations -force -project ProjemizinAdi.DAL&lt;/b&gt;&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;
&lt;code style=&quot;border: 0px; box-sizing: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline; white-space: inherit;&quot;&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; box-sizing: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;times&amp;quot;;&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;
&lt;code style=&quot;border: 0px; box-sizing: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline; white-space: inherit;&quot;&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; box-sizing: inherit; color: #303336; font-family: &amp;quot;times&amp;quot; , &amp;quot;times new roman&amp;quot; , serif; font-stretch: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;Yukarıdaki DataAccess kısmı hangi klasörde dbContext sınıflarınızın oluşacağını, TestContext kısmı ise DBContext sınıfından devralacak temel sınıfınızı belirliyor.&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;
</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2563314423202704731/posts/default/5385550072868852735'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2563314423202704731/posts/default/5385550072868852735'/><link rel='alternate' type='text/html' href='http://blog.yunusemregol.com.tr/2019/01/net-core-entity-framework-postgresql-db.html' title='.Net Core Entity Framework PostgreSql DB First '/><author><name>Yunus Emre</name><uri>http://www.blogger.com/profile/18218659907704276476</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiPmTrLxPiewlOuFDY38UUQKX9znXQTlOspMGCfuboBh-2F3akBlbFI3ZPRlnCB9_7kza5tzQuqSwb1gP0IMeFpdLglAZPAUprwA-JQXSNmUE5hEhK5PVUsbZzwBWJrHg/s1600/*'/></author></entry><entry><id>tag:blogger.com,1999:blog-2563314423202704731.post-8162741677137569865</id><published>2019-01-24T11:20:00.001-08:00</published><updated>2019-11-07T12:03:49.869-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="aspnetcore"/><category scheme="http://www.blogger.com/atom/ns#" term="yazılım"/><title type='text'>Asp.Net Core Api - Swagger Kurulumu</title><content type='html'>Önceki yazılarımda &lt;a href=&quot;http://blog.yunusemregol.com/2018/05/aspnet-web-api-swagger-dokumantasyon.html&quot; target=&quot;_blank&quot;&gt;Asp.Net Web Api Swagger&lt;/a&gt; kurulumundan bahsetmiştim. Şimdi sıra geldi .Net Core Api için swagger ı kolayca nasıl kurabiliriz ve apimizi dökümante edip kolayca testlerini gerçekleştirebiliriz kısmına.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Aşağıdaki adımları izleyerek .Net Core uygulamamıza swagger kurulumunu yapabiliriz.&lt;br /&gt;
&lt;br /&gt;
1. Sırası ile ilgili menüyü izliyoruz ve Nuget Package Manager ı açıyoruz. Tools &amp;gt; NugetPackageManager &amp;gt; Manage Nuget Package Manager for Solution&lt;br /&gt;
&lt;br /&gt;
2.Arama barına &quot;Swashbuckle.AspNetCore&quot; yazıp aratıyor ve ilk çıkan Nuget Package ı yüklüyoruz.&lt;br /&gt;
&lt;br /&gt;
3. Yükleme tamamlandı şimdi sıra gerekli kodları Startup.cs dosyasına yerleştirip projemizde swagger ı çalışır hale getirme işleminde.&lt;br /&gt;
&lt;br /&gt;
4. Startup.cs dosyamızı açıp aşağıda bold olarak belirtilen kısımlar kod dosyamıza ekleniyor.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public void ConfigureServices(IServiceCollection services)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;b&gt;&amp;nbsp; &amp;nbsp; //Swagger döküman tanımını yapıyoruz.&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; services.AddSwaggerGen(c =&amp;gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; c.SwaggerDoc(&quot;v1&quot;, new Microsoft.OpenApi.Models.OpenApiInfo { Title = &quot;WebApplication1&quot;, Version = &quot;v1&quot; });&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; });&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public void Configure(IApplicationBuilder app, IHostingEnvironment env)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (env.IsDevelopment())&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; app.UseDeveloperExceptionPage();&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; else&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; app.UseHsts();&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;//swagger kullanımı aktif ediliyor.&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;b&gt;&amp;nbsp; app.UseSwagger();&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;//&lt;/b&gt;swagger arayüz tanımı yapılıyor.&lt;br /&gt;
&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; app.UseSwaggerUI(c =&amp;gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; c.SwaggerEndpoint(&quot;/swagger/v1/swagger.json&quot;, &quot;Web Uygulamamızın Adı&quot;);&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; });&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; app.UseHttpsRedirection();&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; app.UseMvc();&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&lt;br /&gt;
İlgili kod dosyamızı son hali aşağıdaki görseldeki gibi olacak.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAPSyUbCV555L6y0WxTb6idlVUIbsFpHF_GqzxbhlOWbrkwg7KcquK2eIB5DIEOYNZWm1oWtw6u1lzUnrwsjdOZyZnaknQq7bIgTLHAagit7bWREz8mniWigBanp9TDangD2pedHJym0I/s1600/Screen+Shot+2019-01-24+at+22.18.46.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1008&quot; data-original-width=&quot;1600&quot; height=&quot;402&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAPSyUbCV555L6y0WxTb6idlVUIbsFpHF_GqzxbhlOWbrkwg7KcquK2eIB5DIEOYNZWm1oWtw6u1lzUnrwsjdOZyZnaknQq7bIgTLHAagit7bWREz8mniWigBanp9TDangD2pedHJym0I/s640/Screen+Shot+2019-01-24+at+22.18.46.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
5. Artık projemiz swagger ile çalışmaya hazır. Projemizi çalıştırıyoruz ve localhost url mize /swagger yazıyoruz ve aşağıdaki gibi bir ekran karşımıza çıkıyor. Artık swagger alt yapısını kullanarak api mizi geliştirmeye devam edebiliriz.&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEgUF3Nt2HkXSUsOLWYsjXIN0A-gRQZDIzE5-TdghiXe5zTduHcd8wc4KNd3mGZtQf82VLtYTU9Mu1-o-EGJPR-_8JRAH4Ub9dbb05FrcbTAHmc9WeCwvNr7eX5f7Yg8uGgmODFLHps3Y/s1600/Screen+Shot+2019-01-24+at+22.18.12.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;958&quot; data-original-width=&quot;1600&quot; height=&quot;382&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEgUF3Nt2HkXSUsOLWYsjXIN0A-gRQZDIzE5-TdghiXe5zTduHcd8wc4KNd3mGZtQf82VLtYTU9Mu1-o-EGJPR-_8JRAH4Ub9dbb05FrcbTAHmc9WeCwvNr7eX5f7Yg8uGgmODFLHps3Y/s640/Screen+Shot+2019-01-24+at+22.18.12.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2563314423202704731/posts/default/8162741677137569865'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2563314423202704731/posts/default/8162741677137569865'/><link rel='alternate' type='text/html' href='http://blog.yunusemregol.com.tr/2019/01/aspnet-core-api-swagger-kurulumu.html' title='Asp.Net Core Api - Swagger Kurulumu'/><author><name>Yunus Emre</name><uri>http://www.blogger.com/profile/18218659907704276476</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiPmTrLxPiewlOuFDY38UUQKX9znXQTlOspMGCfuboBh-2F3akBlbFI3ZPRlnCB9_7kza5tzQuqSwb1gP0IMeFpdLglAZPAUprwA-JQXSNmUE5hEhK5PVUsbZzwBWJrHg/s1600/*'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAPSyUbCV555L6y0WxTb6idlVUIbsFpHF_GqzxbhlOWbrkwg7KcquK2eIB5DIEOYNZWm1oWtw6u1lzUnrwsjdOZyZnaknQq7bIgTLHAagit7bWREz8mniWigBanp9TDangD2pedHJym0I/s72-c/Screen+Shot+2019-01-24+at+22.18.46.png" height="72" width="72"/></entry><entry><id>tag:blogger.com,1999:blog-2563314423202704731.post-2810637612956185246</id><published>2019-01-17T03:28:00.001-08:00</published><updated>2019-01-17T03:28:19.021-08:00</updated><title type='text'>How to determine computer disks are ssd or hdd ? </title><content type='html'>Today in my computer pc , I wonder that is my computer disks are ssd or not&amp;nbsp; ? Then just google it a while and learned that the following line of commands will show us disk partitions and disk types:&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;- Open Windows PowerShell&lt;br /&gt;
&amp;nbsp;- run following command&lt;br /&gt;
&lt;pre class=&quot;lang-powershell prettyprint prettyprinted&quot; style=&quot;background-color: #eff0f1; border: 0px; box-sizing: inherit; color: #393318; font-family: Consolas, Menlo, Monaco, &amp;quot;Lucida Console&amp;quot;, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace, sans-serif; font-size: 13px; font-stretch: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; line-height: inherit; margin-bottom: 1em; max-height: 600px; overflow-wrap: normal; overflow: auto; padding: 5px; vertical-align: baseline; width: auto;&quot;&gt;&lt;code style=&quot;border: 0px; box-sizing: inherit; font-family: Consolas, Menlo, Monaco, &amp;quot;Lucida Console&amp;quot;, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace, sans-serif; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline; white-space: inherit;&quot;&gt;&lt;span class=&quot;typ&quot; style=&quot;border: 0px; box-sizing: inherit; color: #2b91af; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;Get&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;typ&quot; style=&quot;border: 0px; box-sizing: inherit; color: #2b91af; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;PhysicalDisk&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;|&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;kwd&quot; style=&quot;border: 0px; box-sizing: inherit; color: #101094; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;select&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;typ&quot; style=&quot;border: 0px; box-sizing: inherit; color: #2b91af; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;FriendlyName&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;typ&quot; style=&quot;border: 0px; box-sizing: inherit; color: #2b91af; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;BusType&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;typ&quot; style=&quot;border: 0px; box-sizing: inherit; color: #2b91af; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;MediaType&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;div&gt;
&amp;nbsp;- Then the following screen apeared;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjfBBY3fCSE1slm_qVaIQpA5l-okJKfmETwSmXAl_XJMLTF5UiBqTWEDAQjImyusW2voxAKTZoO6YU8oR4sYyTBsXFxxXZgEkOosZe9sgaoRvjK34uy7JvMElXhlmFGu8Ff-mqbaqd3Ahc/s1600/computer-info.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;304&quot; data-original-width=&quot;860&quot; height=&quot;225&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjfBBY3fCSE1slm_qVaIQpA5l-okJKfmETwSmXAl_XJMLTF5UiBqTWEDAQjImyusW2voxAKTZoO6YU8oR4sYyTBsXFxxXZgEkOosZe9sgaoRvjK34uy7JvMElXhlmFGu8Ff-mqbaqd3Ahc/s640/computer-info.PNG&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&amp;nbsp;- According to informations above I have 2 partitions as 128 GB SSD and&amp;nbsp; hdd.&lt;/div&gt;
</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2563314423202704731/posts/default/2810637612956185246'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2563314423202704731/posts/default/2810637612956185246'/><link rel='alternate' type='text/html' href='http://blog.yunusemregol.com.tr/2019/01/how-to-determine-computer-disks-are-ssd.html' title='How to determine computer disks are ssd or hdd ? '/><author><name>Yunus Emre</name><uri>http://www.blogger.com/profile/18218659907704276476</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiPmTrLxPiewlOuFDY38UUQKX9znXQTlOspMGCfuboBh-2F3akBlbFI3ZPRlnCB9_7kza5tzQuqSwb1gP0IMeFpdLglAZPAUprwA-JQXSNmUE5hEhK5PVUsbZzwBWJrHg/s1600/*'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjfBBY3fCSE1slm_qVaIQpA5l-okJKfmETwSmXAl_XJMLTF5UiBqTWEDAQjImyusW2voxAKTZoO6YU8oR4sYyTBsXFxxXZgEkOosZe9sgaoRvjK34uy7JvMElXhlmFGu8Ff-mqbaqd3Ahc/s72-c/computer-info.PNG" height="72" width="72"/></entry><entry><id>tag:blogger.com,1999:blog-2563314423202704731.post-3529057479209584091</id><published>2018-11-29T23:37:00.001-08:00</published><updated>2019-11-07T12:03:40.208-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="yazılım"/><title type='text'>Wix Installer Project - UnInstall issue loging</title><content type='html'>We may get an error as uninstall package not found or etc. while using wix installer project to preparing software setup. To get detailed log about what exactly problem it is, we can use following command in cmd&lt;br /&gt;
&lt;br /&gt;
&lt;pre style=&quot;background-color: whitesmoke; border-radius: 4px; border: 1px solid rgb(204, 204, 204); box-sizing: border-box; color: #333333; font-family: Menlo, Monaco, Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 13px; line-height: 1.42857; margin-bottom: 10px; overflow-wrap: break-word; overflow: auto; padding: 9.5px; word-break: break-all;&quot;&gt;&lt;code style=&quot;background-color: transparent; border-radius: 0px; box-sizing: border-box; color: inherit; font-family: Menlo, Monaco, Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: inherit; padding: 0px; white-space: pre-wrap;&quot;&gt;msiexec /x {applicationUniqGuid} /l*v installerLog.txt&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
&lt;pre style=&quot;background-color: whitesmoke; border-radius: 4px; border: 1px solid rgb(204, 204, 204); box-sizing: border-box; color: #333333; font-family: menlo, monaco, consolas, &amp;quot;courier new&amp;quot;, monospace; font-size: 13px; line-height: 1.42857; margin-bottom: 10px; overflow-wrap: break-word; overflow: auto; padding: 9.5px; word-break: break-all;&quot;&gt;msiexec.exe /i {filename}.msi /L*V installerLog.txt&lt;/pre&gt;
&lt;div&gt;
&lt;code style=&quot;background-color: transparent; border-radius: 0px; box-sizing: border-box; color: inherit; font-family: Menlo, Monaco, Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: inherit; padding: 0px; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/code&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
the command above will be try to uninstall application again and create log file for whole process of uninstall.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2563314423202704731/posts/default/3529057479209584091'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2563314423202704731/posts/default/3529057479209584091'/><link rel='alternate' type='text/html' href='http://blog.yunusemregol.com.tr/2018/11/wix-installer-project-uninstall-issue.html' title='Wix Installer Project - UnInstall issue loging'/><author><name>Yunus Emre</name><uri>http://www.blogger.com/profile/18218659907704276476</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiPmTrLxPiewlOuFDY38UUQKX9znXQTlOspMGCfuboBh-2F3akBlbFI3ZPRlnCB9_7kza5tzQuqSwb1gP0IMeFpdLglAZPAUprwA-JQXSNmUE5hEhK5PVUsbZzwBWJrHg/s1600/*'/></author></entry><entry><id>tag:blogger.com,1999:blog-2563314423202704731.post-4870560792184328055</id><published>2018-09-17T14:39:00.000-07:00</published><updated>2019-11-07T12:03:29.510-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="mobile"/><category scheme="http://www.blogger.com/atom/ns#" term="yazılım"/><title type='text'>Ionic Android Push Notification</title><content type='html'>Ionic push notifications are really easy to implement but if you couldn&#39;t find the best tutorial to use push notification yet it can&#39;t be easy at the first. Due to this reason I decide to prepare this small tutorial for ionic developers.&lt;br /&gt;
&lt;br /&gt;
Lets start with easy steps.&lt;br /&gt;
&lt;br /&gt;
Android Push Notification&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;- Create Firebase account at here&amp;nbsp;&lt;a href=&quot;https://firebase.google.com/&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;https://firebase.google.com/&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;- After creating your firebase account click to &quot;GO TO CONSOLE&quot; button from right top corner of page. (you should redirect to &lt;a href=&quot;https://console.firebase.google.com/&quot; target=&quot;_blank&quot;&gt;https://console.firebase.google.com/&lt;/a&gt; link.)&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;- Click to &quot;Create Project&quot; button and enter dummy values to input. Just care about application package name while you fill the input, it should has same name with your project root directory config.xml file widget id value.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;- Then end of the creating new project wizard you should download google-services.json file to your project &quot;projectName/platforms/android/app/&quot; directory.&lt;br /&gt;
&lt;br /&gt;
- click the settings in the top of left nav bar and go to &#39;Cloud Messaging&#39;&amp;nbsp; menu.then copy your senderID to use following steps.&lt;br /&gt;
&lt;br /&gt;
- then run the following commands in console&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
cd projectName&lt;br /&gt;
&lt;pre style=&quot;background: white; border-radius: 4px; border: 1px solid rgb(230, 233, 238); box-sizing: border-box; color: #333333; font-family: &amp;quot;Roboto Mono&amp;quot;, Menlo, Monaco, Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 13px; line-height: 24px; margin-bottom: 10px; margin-top: 10px; overflow: auto; padding: 16px; word-break: break-all; word-wrap: break-word;&quot;&gt;&lt;code class=&quot;nohighlight&quot; style=&quot;background-color: transparent; border-radius: 0px; box-sizing: border-box; color: inherit; font-family: &amp;quot;Roboto Mono&amp;quot;, Menlo, Monaco, Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: inherit; padding: 0px; white-space: pre-wrap;&quot;&gt;ionic cordova plugin add phonegap-plugin-push --variable SENDER_ID=yoursenderId&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
&lt;pre style=&quot;background: white; border-radius: 4px; border: 1px solid rgb(230, 233, 238); box-sizing: border-box; color: #333333; font-family: &amp;quot;Roboto Mono&amp;quot;, Menlo, Monaco, Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 13px; line-height: 24px; margin-bottom: 10px; margin-top: 10px; overflow: auto; padding: 16px; word-break: break-all; word-wrap: break-word;&quot;&gt;&lt;code class=&quot;nohighlight&quot; style=&quot;background-color: transparent; border-radius: 0px; box-sizing: border-box; color: inherit; font-family: &amp;quot;Roboto Mono&amp;quot;, Menlo, Monaco, Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: inherit; padding: 0px; white-space: pre-wrap;&quot;&gt;npm install --save @ionic-native/push&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;- Then open component.ts file and add to following codes.&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;hljs-keyword&quot; style=&quot;box-sizing: border-box; color: #4a86ef; font-family: &amp;quot;roboto mono&amp;quot; , &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;consolas&amp;quot; , &amp;quot;courier new&amp;quot; , monospace; font-size: 13px; font-weight: bold; white-space: pre;&quot;&gt;import&lt;/span&gt;&lt;span style=&quot;background-color: white; color: #314361; font-family: &amp;quot;roboto mono&amp;quot; , &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;consolas&amp;quot; , &amp;quot;courier new&amp;quot; , monospace; font-size: 13px; white-space: pre;&quot;&gt; { Push, PushObject, PushOptions } from &lt;/span&gt;&lt;span class=&quot;hljs-string&quot; style=&quot;box-sizing: border-box; color: #f2576d; font-family: &amp;quot;roboto mono&amp;quot; , &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;consolas&amp;quot; , &amp;quot;courier new&amp;quot; , monospace; font-size: 13px; white-space: pre;&quot;&gt;&#39;@ionic-native/push&#39;&lt;/span&gt;&lt;span style=&quot;background-color: white; color: #314361; font-family: &amp;quot;roboto mono&amp;quot; , &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;consolas&amp;quot; , &amp;quot;courier new&amp;quot; , monospace; font-size: 13px; white-space: pre;&quot;&gt;;
&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;
&lt;span style=&quot;background-color: white; color: #314361; font-family: &amp;quot;roboto mono&amp;quot; , &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;consolas&amp;quot; , &amp;quot;courier new&amp;quot; , monospace; font-size: 13px; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;hljs-constructor&quot; style=&quot;box-sizing: border-box; color: #314361; font-family: &amp;quot;roboto mono&amp;quot; , &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;consolas&amp;quot; , &amp;quot;courier new&amp;quot; , monospace; font-size: 13px; white-space: pre;&quot;&gt;&lt;span class=&quot;hljs-keyword&quot; style=&quot;box-sizing: border-box; color: #4a86ef; font-weight: bold;&quot;&gt;constructor&lt;/span&gt;(private push: Push) &lt;/span&gt;&lt;span style=&quot;background-color: white; color: #314361; font-family: &amp;quot;roboto mono&amp;quot; , &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;consolas&amp;quot; , &amp;quot;courier new&amp;quot; , monospace; font-size: 13px; white-space: pre;&quot;&gt;{ &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;background-color: white; color: #314361; font-family: &amp;quot;roboto mono&amp;quot; , &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;consolas&amp;quot; , &amp;quot;courier new&amp;quot; , monospace; font-size: 13px; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;background-color: white; color: #314361; font-family: &amp;quot;roboto mono&amp;quot; , &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;consolas&amp;quot; , &amp;quot;courier new&amp;quot; , monospace; font-size: 13px; white-space: pre;&quot;&gt;this.pushInit();&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;background-color: white; color: #314361; font-family: &amp;quot;roboto mono&amp;quot; , &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;consolas&amp;quot; , &amp;quot;courier new&amp;quot; , monospace; font-size: 13px; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;background-color: white; color: #314361; font-family: &amp;quot;roboto mono&amp;quot; , &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;consolas&amp;quot; , &amp;quot;courier new&amp;quot; , monospace; font-size: 13px; white-space: pre;&quot;&gt;}
&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;background-color: white; color: #314361; font-family: &amp;quot;roboto mono&amp;quot; , &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;consolas&amp;quot; , &amp;quot;courier new&amp;quot; , monospace; font-size: 13px; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;background-color: white; color: #314361; font-family: &amp;quot;roboto mono&amp;quot; , &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;consolas&amp;quot; , &amp;quot;courier new&amp;quot; , monospace; font-size: 13px; white-space: pre;&quot;&gt;pushInit(){&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;background-color: white; color: #314361; font-family: &amp;quot;roboto mono&amp;quot; , &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;consolas&amp;quot; , &amp;quot;courier new&amp;quot; , monospace; font-size: 13px; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;background-color: white; color: #314361; font-family: &amp;quot;roboto mono&amp;quot; , &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;consolas&amp;quot; , &amp;quot;courier new&amp;quot; , monospace; font-size: 13px; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;hljs-keyword&quot; style=&quot;box-sizing: border-box; color: #4a86ef; font-family: &amp;quot;roboto mono&amp;quot; , &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;consolas&amp;quot; , &amp;quot;courier new&amp;quot; , monospace; font-size: 13px; font-weight: bold; white-space: pre;&quot;&gt;const&lt;/span&gt;&lt;span style=&quot;background-color: white; color: #314361; font-family: &amp;quot;roboto mono&amp;quot; , &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;consolas&amp;quot; , &amp;quot;courier new&amp;quot; , monospace; font-size: 13px; white-space: pre;&quot;&gt; options: PushOptions = {
   android: {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;background-color: white; color: #314361; font-family: &amp;quot;roboto mono&amp;quot; , &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;consolas&amp;quot; , &amp;quot;courier new&amp;quot; , monospace; font-size: 13px; white-space: pre;&quot;&gt;senderID:&#39;put your senderId here&#39;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;background-color: white; color: #314361; font-family: &amp;quot;roboto mono&amp;quot; , &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;consolas&amp;quot; , &amp;quot;courier new&amp;quot; , monospace; font-size: 13px; white-space: pre;&quot;&gt;},
   ios: {
       alert: &lt;/span&gt;&lt;span class=&quot;hljs-string&quot; style=&quot;box-sizing: border-box; color: #f2576d; font-family: &amp;quot;roboto mono&amp;quot; , &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;consolas&amp;quot; , &amp;quot;courier new&amp;quot; , monospace; font-size: 13px; white-space: pre;&quot;&gt;&#39;true&#39;&lt;/span&gt;&lt;span style=&quot;background-color: white; color: #314361; font-family: &amp;quot;roboto mono&amp;quot; , &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;consolas&amp;quot; , &amp;quot;courier new&amp;quot; , monospace; font-size: 13px; white-space: pre;&quot;&gt;,
       badge: &lt;/span&gt;&lt;span class=&quot;hljs-literal&quot; style=&quot;box-sizing: border-box; color: #00b07d; font-family: &amp;quot;roboto mono&amp;quot; , &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;consolas&amp;quot; , &amp;quot;courier new&amp;quot; , monospace; font-size: 13px; white-space: pre;&quot;&gt;true&lt;/span&gt;&lt;span style=&quot;background-color: white; color: #314361; font-family: &amp;quot;roboto mono&amp;quot; , &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;consolas&amp;quot; , &amp;quot;courier new&amp;quot; , monospace; font-size: 13px; white-space: pre;&quot;&gt;,
       sound: &lt;/span&gt;&lt;span class=&quot;hljs-string&quot; style=&quot;box-sizing: border-box; color: #f2576d; font-family: &amp;quot;roboto mono&amp;quot; , &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;consolas&amp;quot; , &amp;quot;courier new&amp;quot; , monospace; font-size: 13px; white-space: pre;&quot;&gt;&#39;false&#39;&lt;/span&gt;&lt;span style=&quot;background-color: white; color: #314361; font-family: &amp;quot;roboto mono&amp;quot; , &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;consolas&amp;quot; , &amp;quot;courier new&amp;quot; , monospace; font-size: 13px; white-space: pre;&quot;&gt;
   }&lt;/span&gt;&lt;span style=&quot;background-color: white; color: #314361; font-family: &amp;quot;roboto mono&amp;quot; , &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;consolas&amp;quot; , &amp;quot;courier new&amp;quot; , monospace; font-size: 13px; white-space: pre;&quot;&gt;
};

&lt;/span&gt;&lt;span class=&quot;hljs-keyword&quot; style=&quot;box-sizing: border-box; color: #4a86ef; font-family: &amp;quot;roboto mono&amp;quot; , &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;consolas&amp;quot; , &amp;quot;courier new&amp;quot; , monospace; font-size: 13px; font-weight: bold; white-space: pre;&quot;&gt;const&lt;/span&gt;&lt;span style=&quot;background-color: white; color: #314361; font-family: &amp;quot;roboto mono&amp;quot; , &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;consolas&amp;quot; , &amp;quot;courier new&amp;quot; , monospace; font-size: 13px; white-space: pre;&quot;&gt; pushObject: PushObject = &lt;/span&gt;&lt;span class=&quot;hljs-keyword&quot; style=&quot;box-sizing: border-box; color: #4a86ef; font-family: &amp;quot;roboto mono&amp;quot; , &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;consolas&amp;quot; , &amp;quot;courier new&amp;quot; , monospace; font-size: 13px; font-weight: bold; white-space: pre;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;background-color: white; color: #314361; font-family: &amp;quot;roboto mono&amp;quot; , &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;consolas&amp;quot; , &amp;quot;courier new&amp;quot; , monospace; font-size: 13px; white-space: pre;&quot;&gt;.push.init(options);


pushObject.on(&lt;/span&gt;&lt;span class=&quot;hljs-string&quot; style=&quot;box-sizing: border-box; color: #f2576d; font-family: &amp;quot;roboto mono&amp;quot; , &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;consolas&amp;quot; , &amp;quot;courier new&amp;quot; , monospace; font-size: 13px; white-space: pre;&quot;&gt;&#39;notification&#39;&lt;/span&gt;&lt;span style=&quot;background-color: white; color: #314361; font-family: &amp;quot;roboto mono&amp;quot; , &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;consolas&amp;quot; , &amp;quot;courier new&amp;quot; , monospace; font-size: 13px; white-space: pre;&quot;&gt;).subscribe((notification: &lt;/span&gt;&lt;span class=&quot;hljs-built_in&quot; style=&quot;box-sizing: border-box; color: #3dafd4; font-family: &amp;quot;roboto mono&amp;quot; , &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;consolas&amp;quot; , &amp;quot;courier new&amp;quot; , monospace; font-size: 13px; white-space: pre;&quot;&gt;any&lt;/span&gt;&lt;span style=&quot;background-color: white; color: #314361; font-family: &amp;quot;roboto mono&amp;quot; , &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;consolas&amp;quot; , &amp;quot;courier new&amp;quot; , monospace; font-size: 13px; white-space: pre;&quot;&gt;) =&amp;gt; &lt;/span&gt;&lt;span class=&quot;hljs-built_in&quot; style=&quot;box-sizing: border-box; color: #3dafd4; font-family: &amp;quot;roboto mono&amp;quot; , &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;consolas&amp;quot; , &amp;quot;courier new&amp;quot; , monospace; font-size: 13px; white-space: pre;&quot;&gt;console&lt;/span&gt;&lt;span style=&quot;background-color: white; color: #314361; font-family: &amp;quot;roboto mono&amp;quot; , &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;consolas&amp;quot; , &amp;quot;courier new&amp;quot; , monospace; font-size: 13px; white-space: pre;&quot;&gt;.log(&lt;/span&gt;&lt;span class=&quot;hljs-string&quot; style=&quot;box-sizing: border-box; color: #f2576d; font-family: &amp;quot;roboto mono&amp;quot; , &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;consolas&amp;quot; , &amp;quot;courier new&amp;quot; , monospace; font-size: 13px; white-space: pre;&quot;&gt;&#39;Received a notification&#39;&lt;/span&gt;&lt;span style=&quot;background-color: white; color: #314361; font-family: &amp;quot;roboto mono&amp;quot; , &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;consolas&amp;quot; , &amp;quot;courier new&amp;quot; , monospace; font-size: 13px; white-space: pre;&quot;&gt;, notification));

pushObject.on(&lt;/span&gt;&lt;span class=&quot;hljs-string&quot; style=&quot;box-sizing: border-box; color: #f2576d; font-family: &amp;quot;roboto mono&amp;quot; , &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;consolas&amp;quot; , &amp;quot;courier new&amp;quot; , monospace; font-size: 13px; white-space: pre;&quot;&gt;&#39;registration&#39;&lt;/span&gt;&lt;span style=&quot;background-color: white; color: #314361; font-family: &amp;quot;roboto mono&amp;quot; , &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;consolas&amp;quot; , &amp;quot;courier new&amp;quot; , monospace; font-size: 13px; white-space: pre;&quot;&gt;).subscribe((registration: &lt;/span&gt;&lt;span class=&quot;hljs-built_in&quot; style=&quot;box-sizing: border-box; color: #3dafd4; font-family: &amp;quot;roboto mono&amp;quot; , &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;consolas&amp;quot; , &amp;quot;courier new&amp;quot; , monospace; font-size: 13px; white-space: pre;&quot;&gt;any&lt;/span&gt;&lt;span style=&quot;background-color: white; color: #314361; font-family: &amp;quot;roboto mono&amp;quot; , &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;consolas&amp;quot; , &amp;quot;courier new&amp;quot; , monospace; font-size: 13px; white-space: pre;&quot;&gt;) =&amp;gt; &lt;/span&gt;&lt;span class=&quot;hljs-built_in&quot; style=&quot;box-sizing: border-box; color: #3dafd4; font-family: &amp;quot;roboto mono&amp;quot; , &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;consolas&amp;quot; , &amp;quot;courier new&amp;quot; , monospace; font-size: 13px; white-space: pre;&quot;&gt;console&lt;/span&gt;&lt;span style=&quot;background-color: white; color: #314361; font-family: &amp;quot;roboto mono&amp;quot; , &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;consolas&amp;quot; , &amp;quot;courier new&amp;quot; , monospace; font-size: 13px; white-space: pre;&quot;&gt;.log(&lt;/span&gt;&lt;span class=&quot;hljs-string&quot; style=&quot;box-sizing: border-box; color: #f2576d; font-family: &amp;quot;roboto mono&amp;quot; , &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;consolas&amp;quot; , &amp;quot;courier new&amp;quot; , monospace; font-size: 13px; white-space: pre;&quot;&gt;&#39;Device registered&#39;&lt;/span&gt;&lt;span style=&quot;background-color: white; color: #314361; font-family: &amp;quot;roboto mono&amp;quot; , &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;consolas&amp;quot; , &amp;quot;courier new&amp;quot; , monospace; font-size: 13px; white-space: pre;&quot;&gt;, registration));

&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;background-color: white; color: #314361; font-family: &amp;quot;roboto mono&amp;quot; , &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;consolas&amp;quot; , &amp;quot;courier new&amp;quot; , monospace; font-size: 13px; white-space: pre;&quot;&gt;pushObject.on(&lt;/span&gt;&lt;span class=&quot;hljs-string&quot; style=&quot;box-sizing: border-box; color: #f2576d; font-family: &amp;quot;roboto mono&amp;quot; , &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;consolas&amp;quot; , &amp;quot;courier new&amp;quot; , monospace; font-size: 13px; white-space: pre;&quot;&gt;&#39;error&#39;&lt;/span&gt;&lt;span style=&quot;background-color: white; color: #314361; font-family: &amp;quot;roboto mono&amp;quot; , &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;consolas&amp;quot; , &amp;quot;courier new&amp;quot; , monospace; font-size: 13px; white-space: pre;&quot;&gt;).subscribe(error =&amp;gt; &lt;/span&gt;&lt;span class=&quot;hljs-built_in&quot; style=&quot;box-sizing: border-box; color: #3dafd4; font-family: &amp;quot;roboto mono&amp;quot; , &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;consolas&amp;quot; , &amp;quot;courier new&amp;quot; , monospace; font-size: 13px; white-space: pre;&quot;&gt;console&lt;/span&gt;&lt;span style=&quot;background-color: white; color: #314361; font-family: &amp;quot;roboto mono&amp;quot; , &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;consolas&amp;quot; , &amp;quot;courier new&amp;quot; , monospace; font-size: 13px; white-space: pre;&quot;&gt;.error(&lt;/span&gt;&lt;span class=&quot;hljs-string&quot; style=&quot;box-sizing: border-box; color: #f2576d; font-family: &amp;quot;roboto mono&amp;quot; , &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;consolas&amp;quot; , &amp;quot;courier new&amp;quot; , monospace; font-size: 13px; white-space: pre;&quot;&gt;&#39;Error with Push plugin&#39;&lt;/span&gt;&lt;span style=&quot;background-color: white; color: #314361; font-family: &amp;quot;roboto mono&amp;quot; , &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;consolas&amp;quot; , &amp;quot;courier new&amp;quot; , monospace; font-size: 13px; white-space: pre;&quot;&gt;, error));&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;background-color: white; color: #314361; font-family: &amp;quot;roboto mono&amp;quot; , &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;consolas&amp;quot; , &amp;quot;courier new&amp;quot; , monospace; font-size: 13px; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;background-color: white; color: #314361; font-family: &amp;quot;roboto mono&amp;quot; , &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;consolas&amp;quot; , &amp;quot;courier new&amp;quot; , monospace; font-size: 13px; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;background-color: white; color: #314361; font-family: &amp;quot;roboto mono&amp;quot; , &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;consolas&amp;quot; , &amp;quot;courier new&amp;quot; , monospace; font-size: 13px; white-space: pre;&quot;&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;background-color: white; color: #314361; font-family: &amp;quot;roboto mono&amp;quot; , &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;consolas&amp;quot; , &amp;quot;courier new&amp;quot; , monospace; font-size: 13px; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br class=&quot;Apple-interchange-newline&quot; /&gt;
&amp;nbsp;- now when you start your application, you can get push message and regsiteredDeviceId values.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&amp;nbsp;- after that you can use &#39;Cloud Messaging&#39; link from left nav menu and send push message to all users or deviceId spesific users.&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;background-color: white; color: #314361; font-family: &amp;quot;roboto mono&amp;quot; , &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;consolas&amp;quot; , &amp;quot;courier new&amp;quot; , monospace; font-size: 13px; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;background-color: white; color: #314361; font-family: &amp;quot;roboto mono&amp;quot; , &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;consolas&amp;quot; , &amp;quot;courier new&amp;quot; , monospace; font-size: 13px; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;background-color: white; color: #314361; font-family: &amp;quot;roboto mono&amp;quot; , &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;consolas&amp;quot; , &amp;quot;courier new&amp;quot; , monospace; font-size: 13px; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;background-color: white; color: #314361; font-family: &amp;quot;roboto mono&amp;quot; , &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;consolas&amp;quot; , &amp;quot;courier new&amp;quot; , monospace; font-size: 13px; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;background-color: white; color: #314361; font-family: &amp;quot;roboto mono&amp;quot; , &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;consolas&amp;quot; , &amp;quot;courier new&amp;quot; , monospace; font-size: 13px; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;background-color: white; color: #314361; font-family: &amp;quot;roboto mono&amp;quot; , &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;consolas&amp;quot; , &amp;quot;courier new&amp;quot; , monospace; font-size: 13px; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2563314423202704731/posts/default/4870560792184328055'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2563314423202704731/posts/default/4870560792184328055'/><link rel='alternate' type='text/html' href='http://blog.yunusemregol.com.tr/2018/09/ionic-android-push-notification.html' title='Ionic Android Push Notification'/><author><name>Yunus Emre</name><uri>http://www.blogger.com/profile/18218659907704276476</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiPmTrLxPiewlOuFDY38UUQKX9znXQTlOspMGCfuboBh-2F3akBlbFI3ZPRlnCB9_7kza5tzQuqSwb1gP0IMeFpdLglAZPAUprwA-JQXSNmUE5hEhK5PVUsbZzwBWJrHg/s1600/*'/></author></entry></feed>