{"id":37069,"date":"2025-12-27T01:30:33","date_gmt":"2025-12-26T22:30:33","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/flutter-ile-elektrik-muhendisligi-icin-gercek-zamanli-bir-fizik-motoru-nasil-gelistirdim\/"},"modified":"2025-12-27T01:30:33","modified_gmt":"2025-12-26T22:30:33","slug":"flutter-ile-elektrik-muhendisligi-icin-gercek-zamanli-bir-fizik-motoru-nasil-gelistirdim","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/flutter-ile-elektrik-muhendisligi-icin-gercek-zamanli-bir-fizik-motoru-nasil-gelistirdim\/","title":{"rendered":"Flutter ile Elektrik M\u00fchendisli\u011fi i\u00e7in Ger\u00e7ek Zamanl\u0131 Bir Fizik Motoru Nas\u0131l Geli\u015ftirdim?"},"content":{"rendered":"<h2>Flutter ile Elektrik M\u00fchendisli\u011fi i\u00e7in Ger\u00e7ek Zamanl\u0131 Bir Fizik Motoru Nas\u0131l Geli\u015ftirdim?<\/h2>\n<p>Elektrik m\u00fchendisli\u011fi, soyut kavramlar\u0131n ve karma\u015f\u0131k devrelerin anla\u015f\u0131lmas\u0131n\u0131 gerektiren bir aland\u0131r. Bu makalede, bu soyut d\u00fcnyay\u0131 somut hale getirmek, \u00f6\u011frencilere ve profesyonellere interaktif bir \u00f6\u011frenme ve prototipleme arac\u0131 sunmak amac\u0131yla Flutter kullanarak ger\u00e7ek zamanl\u0131 bir fizik motoru geli\u015ftirme s\u00fcrecimi detayland\u0131raca\u011f\u0131m. Bu proje, sadece bir sim\u00fclasyon arac\u0131 olman\u0131n \u00f6tesinde, m\u00fchendislik prensiplerini dinamik bir ortamda deneyimleme f\u0131rsat\u0131 sunuyor.<\/p>\n<h3>1. Problem Tan\u0131m\u0131 ve Neden Flutter?<\/h3>\n<p>Elektrik devrelerinin davran\u0131\u015f\u0131n\u0131 anlamak, \u00e7o\u011fu zaman teorik dersler ve laboratuvar deneyleri arac\u0131l\u0131\u011f\u0131yla ger\u00e7ekle\u015fir. Ancak, bu yakla\u015f\u0131mlar\u0131n belirli s\u0131n\u0131rl\u0131l\u0131klar\u0131 vard\u0131r: pahal\u0131 ekipman ihtiyac\u0131, fiziksel k\u0131s\u0131tlamalar ve deneylerin tekrar edilebilirli\u011findeki zorluklar. \u0130\u015fte tam da bu noktada, sanal bir sim\u00fclasyon ortam\u0131n\u0131n \u00f6nemi ortaya \u00e7\u0131k\u0131yor.<\/p>\n<h4>Elektrik M\u00fchendisli\u011finde Sim\u00fclasyon \u0130htiyac\u0131<\/h4>\n<p>\u00d6\u011frencilerin diren\u00e7, kapasit\u00f6r, ind\u00fckt\u00f6r gibi temel elemanlar\u0131n yan\u0131 s\u0131ra, transist\u00f6rler veya op-amp&#8217;ler gibi daha karma\u015f\u0131k bile\u015fenlerin dinamik etkile\u015fimlerini ger\u00e7ek zamanl\u0131 olarak g\u00f6zlemlemesi, konuyu derinlemesine kavramalar\u0131 i\u00e7in kritik \u00f6neme sahiptir. Geleneksel sim\u00fclasyon yaz\u0131l\u0131mlar\u0131 genellikle karma\u015f\u0131k aray\u00fczlere sahip olup, h\u0131zl\u0131 prototipleme veya interaktif \u00f6\u011frenme i\u00e7in yeterince esnek de\u011fildir.<\/p>\n<h4>Geleneksel Yakla\u015f\u0131mlar\u0131n S\u0131n\u0131rl\u0131l\u0131klar\u0131<\/h4>\n<p>Spice tabanl\u0131 sim\u00fclat\u00f6rler g\u00fc\u00e7l\u00fc olsa da, genellikle bir metin tabanl\u0131 netlist giri\u015fi gerektirir ve g\u00f6rsel, interaktif bir deneyim sunmazlar. Web tabanl\u0131 veya masa\u00fcst\u00fc tabanl\u0131 baz\u0131 g\u00f6rsel sim\u00fclat\u00f6rler mevcut olsa da, genellikle performans veya platform ba\u011f\u0131ms\u0131zl\u0131\u011f\u0131 konusunda \u00f6d\u00fcn verirler. Amac\u0131m\u0131z, hem g\u00f6rsel hem de hesaplama a\u00e7\u0131s\u0131ndan verimli, platformdan ba\u011f\u0131ms\u0131z bir \u00e7\u00f6z\u00fcm sunmakt\u0131.<\/p>\n<h4>Flutter&#8217;\u0131n \u00c7oklu Platform ve Performans Avantajlar\u0131<\/h4>\n<p>Bu projede Flutter&#8217;\u0131 se\u00e7memin temel nedenleri \u015funlard\u0131:<\/p>\n<ul>\n<li><strong>\u00c7oklu Platform Deste\u011fi:<\/strong> Tek bir kod taban\u0131yla iOS, Android, Web, Masa\u00fcst\u00fc (Windows, macOS, Linux) uygulamalar\u0131 geli\u015ftirebilme yetene\u011fi. Bu, hedef kitlemizin geni\u015fli\u011fine ula\u015fmak i\u00e7in hayatiydi.<\/li>\n<li><strong>Y\u00fcksek Performans:<\/strong> Flutter&#8217;\u0131n Dart dili ve do\u011frudan cihaza derleme (ahead-of-time compilation) yetene\u011fi sayesinde, karma\u015f\u0131k fizik hesaplamalar\u0131n\u0131 ve grafik \u00e7izimlerini ak\u0131c\u0131 bir \u015fekilde ger\u00e7ekle\u015ftirebilmek.<\/li>\n<li><strong>Zengin UI Bile\u015fenleri ve CustomPaint:<\/strong> Kendi \u00f6zel \u00e7izim algoritmalar\u0131m\u0131z\u0131 uygulamak ve devre elemanlar\u0131n\u0131 g\u00f6rselle\u015ftirmek i\u00e7in CustomPaint widget&#8217;\u0131 inan\u0131lmaz esneklik sunuyor.<\/li>\n<li><strong>Geli\u015ftirici Deneyimi:<\/strong> Hot Reload ve Hot Restart gibi \u00f6zellikler, h\u0131zl\u0131 iterasyon ve geli\u015ftirme s\u00fcre\u00e7lerini kolayla\u015ft\u0131r\u0131yor.<\/li>\n<\/ul>\n<h3>2. Temel Fizik Prensipleri ve Modelleme<\/h3>\n<p>Bir elektrik fizik motorunun kalbi, elektrik devrelerinin davran\u0131\u015f\u0131n\u0131 do\u011fru bir \u015fekilde modelleyebilmesidir. Bu, hem elemanlar\u0131n kendilerini hem de aralar\u0131ndaki etkile\u015fimleri matematiksel olarak temsil etmeyi gerektirir.<\/p>\n<h4>Devre Elemanlar\u0131n\u0131n Soyutlanmas\u0131 (Diren\u00e7, Kapasit\u00f6r, \u0130nd\u00fckt\u00f6r vb.)<\/h4>\n<p>Her devre eleman\u0131 (diren\u00e7, kapasit\u00f6r, ind\u00fckt\u00f6r, voltaj kayna\u011f\u0131, ak\u0131m kayna\u011f\u0131 vb.) kendi matematiksel modeline sahiptir. \u00d6rne\u011fin:<\/p>\n<ul>\n<li><strong>Diren\u00e7 (R):<\/strong> Ohm Yasas\u0131 (V = I * R)<\/li>\n<li><strong>Kapasit\u00f6r (C):<\/strong> I = C * (dV\/dt)<\/li>\n<li><strong>\u0130nd\u00fckt\u00f6r (L):<\/strong> V = L * (dI\/dt)<\/li>\n<\/ul>\n<p>Bu elemanlar\u0131 Dart s\u0131n\u0131flar\u0131 olarak modelledik. Her s\u0131n\u0131f, eleman\u0131n t\u00fcr\u00fcn\u00fc, de\u011ferini ve ba\u011fl\u0131 oldu\u011fu d\u00fc\u011f\u00fcmleri (nodes) i\u00e7erir. \u00d6rne\u011fin:<\/p>\n<pre><code class=\"language-dart\">\nclass Resistor extends CircuitComponent {\n  double resistance;\n  Resistor(String id, this.resistance) : super(id, ComponentType.resistor);\n\n  \/\/ Ohm yasas\u0131n\u0131 uygulayacak metotlar\n  \/\/ ...\n}\n\nclass Capacitor extends CircuitComponent {\n  double capacitance;\n  Capacitor(String id, this.capacitance) : super(id, ComponentType.capacitor);\n\n  \/\/ Diferansiyel denklemi \u00e7\u00f6zecek metotlar\n  \/\/ ...\n}\n<\/pre>\n<p><\/code><\/p>\n<h4>Kirchhoff Yasalar\u0131 ve D\u00fc\u011f\u00fcm Gerilimi Analizi<\/h4>\n<p>Devrelerin \u00e7\u00f6z\u00fcm\u00fcnde en yayg\u0131n kullan\u0131lan y\u00f6ntemlerden biri D\u00fc\u011f\u00fcm Gerilimi Analizi (Nodal Analysis)'dir. Bu y\u00f6ntem, Kirchhoff'un Ak\u0131m Yasas\u0131'na (KCL) dayan\u0131r: bir d\u00fc\u011f\u00fcme giren ve \u00e7\u0131kan ak\u0131mlar\u0131n toplam\u0131 s\u0131f\u0131rd\u0131r. Bu, devredeki her d\u00fc\u011f\u00fcm i\u00e7in bir denklem sistemi olu\u015fturmam\u0131z\u0131 sa\u011flar. Sonu\u00e7 olarak, lineer bir denklem sistemi (Ax = B) elde ederiz ve bu sistemi \u00e7\u00f6zerek her d\u00fc\u011f\u00fcmdeki gerilimi buluruz.<\/p>\n<h4>Diferansiyel Denklemler ve Zaman Ad\u0131m\u0131 Entegrasyonu<\/h4>\n<p>Kapasit\u00f6rler ve ind\u00fckt\u00f6rler, devreye dinamik bir davran\u0131\u015f katarak diferansiyel denklemlerin \u00e7\u00f6z\u00fcm\u00fcn\u00fc gerektirir. Ger\u00e7ek zamanl\u0131 sim\u00fclasyonlar i\u00e7in, Euler metodu veya Runge-Kutta gibi say\u0131sal entegrasyon y\u00f6ntemleri kullan\u0131l\u0131r. Bu y\u00f6ntemler, k\u00fc\u00e7\u00fck zaman ad\u0131mlar\u0131yla (dt) elemanlar\u0131n durumlar\u0131n\u0131 (gerilim, ak\u0131m) g\u00fcncelleyerek devrenin zaman i\u00e7indeki evrimini sim\u00fcle eder.<\/p>\n<pre><code class=\"language-dart\">\n\/\/ Basit bir Euler entegrasyonu \u00f6rne\u011fi\ndouble integrateCapacitor(double current, double capacitance, double deltaTime) {\n  \/\/ dV\/dt = I\/C -> dV = (I\/C) * dt\n  return (current \/ capacitance) * deltaTime;\n}\n<\/pre>\n<p><\/code><\/p>\n<h3>3. Ger\u00e7ek Zamanl\u0131 Sim\u00fclasyon Mimarisi<\/h3>\n<p>Bir fizik motorunun \"ger\u00e7ek zamanl\u0131\" olabilmesi i\u00e7in, s\u00fcrekli olarak devrenin durumunu hesaplay\u0131p g\u00fcncelleyen bir d\u00f6ng\u00fcye ihtiyac\u0131 vard\u0131r. Bu d\u00f6ng\u00fc, oyun motorlar\u0131ndaki \"game loop\" prensibine benzer.<\/p>\n<h4>Oyun D\u00f6ng\u00fcs\u00fc (Game Loop) Yakla\u015f\u0131m\u0131<\/h4>\n<p>Sim\u00fclasyon motorumuz, belirli bir kare h\u0131z\u0131nda (\u00f6rne\u011fin saniyede 60 kez) \u00e7al\u0131\u015fan bir d\u00f6ng\u00fcye sahiptir. Her d\u00f6ng\u00fc ad\u0131m\u0131nda:<\/p>\n<ol>\n<li>Kullan\u0131c\u0131 girdileri i\u015flenir (eleman ekleme, ta\u015f\u0131ma, parametre de\u011fi\u015ftirme).<\/li>\n<li>Devre topolojisi g\u00fcncellenir.<\/li>\n<li>Denklem sistemi olu\u015fturulur ve \u00e7\u00f6z\u00fcl\u00fcr.<\/li>\n<li>Elemanlar\u0131n ak\u0131m ve gerilim de\u011ferleri g\u00fcncellenir.<\/li>\n<li>G\u00f6rselle\u015ftirme i\u00e7in ekran yeniden \u00e7izilir.<\/li>\n<\/ol>\n<p>Bu d\u00f6ng\u00fc, <code>TickerProviderStateMixin<\/code> ve <code>AnimationController<\/code> kullan\u0131larak Flutter'da kolayca uygulanabilir.<\/p>\n<h4>Veri Yap\u0131lar\u0131: Devre Graf\u0131 ve Eleman Listeleri<\/h4>\n<p>Devrenin yap\u0131s\u0131n\u0131 temsil etmek i\u00e7in bir graf veri yap\u0131s\u0131 kulland\u0131k. D\u00fc\u011f\u00fcmler (nodes) devre ba\u011flant\u0131 noktalar\u0131n\u0131, kenarlar (edges) ise devre elemanlar\u0131n\u0131 temsil eder. Bu yap\u0131, KCL denklemlerini olu\u015fturmak i\u00e7in devrenin topolojisini h\u0131zl\u0131ca travers etmemizi sa\u011flar. Ayr\u0131ca, elemanlar\u0131 t\u00fcrlerine g\u00f6re ayr\u0131 listelerde tutmak, belirli elemanlara h\u0131zl\u0131 eri\u015fim sa\u011flar.<\/p>\n<h4>\u00c7\u00f6z\u00fcc\u00fc Algoritmalar\u0131 (Solver Algorithms)<\/h4>\n<p>Denklem sistemini \u00e7\u00f6zmek i\u00e7in say\u0131sal lineer cebir k\u00fct\u00fcphaneleri kullan\u0131l\u0131r. Dart i\u00e7in bu t\u00fcr k\u00fct\u00fcphaneler mevcut olup, matris inversiyonu veya LU ayr\u0131\u015ft\u0131rmas\u0131 gibi y\u00f6ntemlerle denklem sistemlerini \u00e7\u00f6zmemizi sa\u011flarlar. B\u00fcy\u00fck devreler i\u00e7in sparse matris algoritmalar\u0131 performans a\u00e7\u0131s\u0131ndan kritik \u00f6neme sahiptir.<\/p>\n<h3>4. Flutter ile Aray\u00fcz Geli\u015ftirme ve G\u00f6rselle\u015ftirme<\/h3>\n<p>Sim\u00fclasyonun hesaplama k\u0131sm\u0131 kadar, kullan\u0131c\u0131ya sunulan g\u00f6rsel aray\u00fcz de \u00f6nemlidir. Flutter'\u0131n esnek \u00e7izim yetenekleri bu noktada devreye girer.<\/p>\n<h4>CustomPaint ve Canvas Kullan\u0131m\u0131<\/h4>\n<p>Devre elemanlar\u0131n\u0131 ve ba\u011flant\u0131lar\u0131n\u0131 \u00e7izmek i\u00e7in Flutter'\u0131n <code>CustomPaint<\/code> widget'\u0131n\u0131 ve <code>Canvas<\/code> API'sini kulland\u0131k. Her devre eleman\u0131 (diren\u00e7, kapasit\u00f6r vb.) kendi \u00e7izim mant\u0131\u011f\u0131na sahiptir. <code>CustomPainter<\/code> s\u0131n\u0131f\u0131 i\u00e7inde, elemanlar\u0131n konumlar\u0131na ve durumlar\u0131na g\u00f6re \u00e7izgiler, dikd\u00f6rtgenler, yaylar ve metinler \u00e7izilir.<\/p>\n<pre><code class=\"language-dart\">\nclass CircuitPainter extends CustomPainter {\n  final List<CircuitComponent> components;\n  final List<Connection> connections;\n\n  CircuitPainter(this.components, this.connections);\n\n  @override\n  void paint(Canvas canvas, Size size) {\n    \/\/ Ba\u011flant\u0131lar\u0131 \u00e7iz\n    for (var conn in connections) {\n      canvas.drawLine(conn.startPoint, conn.endPoint, Paint()..color = Colors.black..strokeWidth = 2);\n    }\n\n    \/\/ Elemanlar\u0131 \u00e7iz\n    for (var component in components) {\n      component.draw(canvas); \/\/ Her eleman\u0131n kendi \u00e7izim metodu var\n    }\n  }\n\n  @override\n  bool shouldRepaint(covariant CustomPainter oldDelegate) => true;\n}\n<\/pre>\n<p><\/code><\/p>\n<h4>Etkile\u015fimli Bile\u015fenlerin Olu\u015fturulmas\u0131<\/h4>\n<p>Devre elemanlar\u0131n\u0131n sadece \u00e7izilmesi yeterli de\u011fildir; kullan\u0131c\u0131lar\u0131n onlarla etkile\u015fim kurabilmesi gerekir. Bu, <code>GestureDetector<\/code> widget'\u0131 ile sa\u011flan\u0131r. Kullan\u0131c\u0131 bir elemana dokundu\u011funda veya s\u00fcr\u00fckledi\u011finde, bu olaylar yakalan\u0131r ve eleman\u0131n konumu veya durumu g\u00fcncellenir. \u00d6rne\u011fin, bir direnci s\u00fcr\u00fcklemek, onun canvas \u00fczerindeki koordinatlar\u0131n\u0131 de\u011fi\u015ftirir.<\/p>\n<h4>Veri G\u00f6rselle\u015ftirme: Dalga \u015eekilleri ve De\u011ferler<\/h4>\n<p>Sim\u00fclasyon sonu\u00e7lar\u0131n\u0131 (gerilim, ak\u0131m dalga \u015fekilleri) g\u00f6rselle\u015ftirmek i\u00e7in grafik k\u00fct\u00fcphaneleri (\u00f6rne\u011fin <code>fl_chart<\/code>) entegre edilebilir. Ayr\u0131ca, elemanlar\u0131n \u00fczerine anl\u0131k gerilim ve ak\u0131m de\u011ferlerini metin olarak \u00e7izmek, kullan\u0131c\u0131ya an\u0131nda geri bildirim sa\u011flar.<\/p>\n<h3>5. Etkile\u015fim ve Kontrol Mekanizmalar\u0131<\/h3>\n<p>Kullan\u0131c\u0131lar\u0131n sim\u00fclasyon ortam\u0131yla kolayca etkile\u015fim kurabilmesi, uygulaman\u0131n kullan\u0131labilirli\u011fi i\u00e7in hayati \u00f6neme sahiptir.<\/p>\n<h4>S\u00fcr\u00fckle-B\u0131rak (Drag-and-Drop) \u0130\u015flevselli\u011fi<\/h4>\n<p>Devre elemanlar\u0131n\u0131 paletten \u00e7al\u0131\u015fma alan\u0131na s\u00fcr\u00fckleyip b\u0131rakma ve mevcut elemanlar\u0131 yeniden konumland\u0131rma yetene\u011fi, sezgisel bir kullan\u0131c\u0131 deneyimi sunar. Flutter'\u0131n <code>Draggable<\/code> ve <code>DragTarget<\/code> widget'lar\u0131 bu i\u015flevselli\u011fi kolayca sa\u011flar.<\/p>\n<h4>Parametre Ayarlar\u0131 ve Kullan\u0131c\u0131 Girdileri<\/h4>\n<p>Elemanlar\u0131n de\u011ferlerini (diren\u00e7 de\u011feri, kapasitans vb.) de\u011fi\u015ftirmek i\u00e7in bir \u00f6zellik paneli veya a\u00e7\u0131l\u0131r pencereler (dialogs) kullan\u0131l\u0131r. Kullan\u0131c\u0131, bir elemana t\u0131klad\u0131\u011f\u0131nda, bu panel a\u00e7\u0131l\u0131r ve eleman\u0131n \u00f6zelliklerini d\u00fczenlemesine olanak tan\u0131r. Bu, <code>TextFormField<\/code> gibi standart Flutter giri\u015f widget'lar\u0131 ile ger\u00e7ekle\u015ftirilir.<\/p>\n<h4>Devre D\u00fczenleme ve Kaydetme \u00d6zellikleri<\/h4>\n<p>Kullan\u0131c\u0131lar\u0131n olu\u015fturduklar\u0131 devreleri kaydetmeleri ve daha sonra tekrar y\u00fcklemeleri \u00f6nemlidir. Devre topolojisi ve eleman parametreleri JSON format\u0131nda serile\u015ftirilerek yerel depolama (<code>shared_preferences<\/code> veya dosya sistemi) veya bulut tabanl\u0131 bir hizmete kaydedilebilir.<\/p>\n<h3>6. Performans Optimizasyonu ve Zorluklar<\/h3>\n<p>Ger\u00e7ek zamanl\u0131 bir fizik motoru geli\u015ftirmek, \u00f6zellikle karma\u015f\u0131k devrelerle \u00e7al\u0131\u015f\u0131rken performans zorluklar\u0131n\u0131 beraberinde getirir.<\/p>\n<h4>Hesaplama Yo\u011funlu\u011funu Y\u00f6netme<\/h4>\n<p>B\u00fcy\u00fck devrelerdeki denklem sistemlerini \u00e7\u00f6zmek ve diferansiyel denklemleri entegre etmek yo\u011fun hesaplamalar gerektirir. Bu noktada:<\/p>\n<ul>\n<li><strong>Seyrek Matrisler:<\/strong> Denklem sistemleri genellikle seyrek matrisler i\u00e7erir (\u00e7o\u011fu eleman\u0131 s\u0131f\u0131rd\u0131r). Seyrek matris algoritmalar\u0131 kullanmak, bellek ve CPU kullan\u0131m\u0131n\u0131 \u00f6nemli \u00f6l\u00e7\u00fcde azalt\u0131r.<\/li>\n<li><strong>Daha H\u0131zl\u0131 \u00c7\u00f6z\u00fcc\u00fcler:<\/strong> Geli\u015fmi\u015f say\u0131sal y\u00f6ntemler (\u00f6rn. Backward Euler, Trapezoidal Rule) daha b\u00fcy\u00fck zaman ad\u0131mlar\u0131yla bile stabilite sa\u011flayarak daha az hesaplama ad\u0131m\u0131 gerektirebilir.<\/li>\n<\/ul>\n<h4>Bellek Y\u00f6netimi ve \u00c7\u00f6p Toplama<\/h4>\n<p>Her sim\u00fclasyon ad\u0131m\u0131nda yeni matrisler ve vekt\u00f6rler olu\u015fturmak, \u00e7\u00f6p toplama (garbage collection) maliyetini art\u0131rabilir. Nesne havuzlama (object pooling) gibi teknikler kullanarak tekrar tekrar nesne olu\u015fturmaktan ka\u00e7\u0131nmak, performans\u0131 art\u0131rabilir.<\/p>\n<h4>\u00c7oklu \u0130\u015f Par\u00e7ac\u0131\u011f\u0131 (Multithreading) ve \u0130zole Edilmi\u015f Hesaplamalar<\/h4>\n<p>Flutter'\u0131n UI i\u015f par\u00e7ac\u0131\u011f\u0131n\u0131 (main thread) bloke etmemek i\u00e7in yo\u011fun hesaplamalar ayr\u0131 bir izole edilmi\u015f i\u015f par\u00e7ac\u0131\u011f\u0131nda (Isolate) \u00e7al\u0131\u015ft\u0131r\u0131labilir. Dart'\u0131n <code>Isolate<\/code> mekanizmas\u0131, UI'nin ak\u0131c\u0131l\u0131\u011f\u0131n\u0131 korurken arka planda karma\u015f\u0131k fizik hesaplamalar\u0131n\u0131 yapmam\u0131z\u0131 sa\u011flar. Hesaplama sonu\u00e7lar\u0131 daha sonra ana i\u015f par\u00e7ac\u0131\u011f\u0131na geri g\u00f6nderilir.<\/p>\n<pre><code class=\"language-dart\">\n\/\/ Basit bir Isolate kullan\u0131m\u0131 \u00f6rne\u011fi\nFuture<Map<String, double>> runSolverInIsolate(CircuitData circuit) async {\n  return await Isolate.run(() => _solveCircuit(circuit));\n}\n\nMap<String, double> _solveCircuit(CircuitData circuit) {\n  \/\/ Burada yo\u011fun hesaplamalar yap\u0131l\u0131r (denklem sistemi \u00e7\u00f6z\u00fcm\u00fc vb.)\n  \/\/ Sonu\u00e7lar bir Map olarak d\u00f6nd\u00fcr\u00fcl\u00fcr\n  return {'node1_voltage': 5.0, 'node2_voltage': 3.2};\n}\n<\/pre>\n<p><\/code><\/p>\n<h3>7. Gelecek Potansiyeli ve Uygulama Alanlar\u0131<\/h3>\n<p>Bu t\u00fcr bir ger\u00e7ek zamanl\u0131 fizik motoru, elektrik m\u00fchendisli\u011fi alan\u0131nda geni\u015f bir kullan\u0131m yelpazesine sahiptir.<\/p>\n<h4>E\u011fitim ve \u00d6\u011frenme Ara\u00e7lar\u0131<\/h4>\n<p>\u00d6\u011frenciler i\u00e7in interaktif bir laboratuvar ortam\u0131 sunar. Teorik bilgileri pratik uygulamalarla birle\u015ftirerek daha kal\u0131c\u0131 \u00f6\u011frenme sa\u011flar. Sanal deneyler, maliyetleri d\u00fc\u015f\u00fcr\u00fcr ve riskli durumlar\u0131 sim\u00fcle etme imkan\u0131 sunar.<\/p>\n<h4>Prototipleme ve H\u0131zl\u0131 Tasar\u0131m<\/h4>\n<p>M\u00fchendisler, yeni devre tasar\u0131mlar\u0131n\u0131 h\u0131zl\u0131ca test edebilir, farkl\u0131 parametrelerin etkilerini an\u0131nda g\u00f6zlemleyebilir. Bu, fiziksel prototipleme \u00f6ncesinde tasar\u0131m hatalar\u0131n\u0131 erken a\u015famada tespit etmeye yard\u0131mc\u0131 olur.<\/p>\n<h4>IoT ve G\u00f6m\u00fcl\u00fc Sistem Sim\u00fclasyonlar\u0131<\/h4>\n<p>IoT cihazlar\u0131 ve g\u00f6m\u00fcl\u00fc sistemler i\u00e7in sens\u00f6r aray\u00fczleri, g\u00fc\u00e7 y\u00f6netimi devreleri gibi bile\u015fenlerin sim\u00fclasyonu, geli\u015ftirme s\u00fcrecini h\u0131zland\u0131rabilir ve hata ay\u0131klamay\u0131 kolayla\u015ft\u0131rabilir.<\/p>\n<h3>Sonu\u00e7<\/h3>\n<p>Flutter ile elektrik m\u00fchendisli\u011fi i\u00e7in ger\u00e7ek zamanl\u0131 bir fizik motoru geli\u015ftirmek, hem teknik hem de pedagojik a\u00e7\u0131dan olduk\u00e7a \u00f6d\u00fcllendirici bir yolculuk oldu. Bu proje, Flutter'\u0131n \u00e7oklu platform yeteneklerini, y\u00fcksek performans\u0131n\u0131 ve esnek UI \u00e7izim ara\u00e7lar\u0131n\u0131 kullanarak karma\u015f\u0131k m\u00fchendislik problemlerine yenilik\u00e7i \u00e7\u00f6z\u00fcmler \u00fcretilebilece\u011fini g\u00f6stermektedir. Geli\u015ftirilen bu motor, elektrik m\u00fchendisli\u011fi e\u011fitimini ve prototipleme s\u00fcre\u00e7lerini daha eri\u015filebilir, interaktif ve verimli hale getirme potansiyeline sahiptir. Gelecekte, daha karma\u015f\u0131k bile\u015fen modelleri, 3D g\u00f6rselle\u015ftirmeler ve yapay zeka destekli analizlerle bu motoru daha da geli\u015ftirmeyi hedefliyorum.<\/p>\n<h3>SSS (S\u0131k Sorulan Sorular)<\/h3>\n<h4>1. Bu fizik motoru hangi elektrik m\u00fchendisli\u011fi konular\u0131n\u0131 kapsayabilir?<\/h4>\n<p>Temel olarak DC ve AC devre analizi, ge\u00e7ici durum analizi, filtreler, op-amp devreleri ve hatta basit yar\u0131 iletken modelleri (diyot, transist\u00f6r) gibi konular\u0131 kapsayabilir. Kapsam, eklenen bile\u015fen modellerinin karma\u015f\u0131kl\u0131\u011f\u0131na ba\u011fl\u0131d\u0131r.<\/p>\n<h4>2. Neden C++ veya Java gibi daha geleneksel diller yerine Dart\/Flutter tercih edildi?<\/h4>\n<p>Flutter'\u0131n \u00e7oklu platform yetene\u011fi ve h\u0131zl\u0131 geli\u015ftirme d\u00f6ng\u00fcs\u00fc, projenin geni\u015f bir kitleye ula\u015fmas\u0131n\u0131 ve h\u0131zl\u0131ca prototip olu\u015fturulmas\u0131n\u0131 sa\u011flad\u0131. Performans a\u00e7\u0131s\u0131ndan Dart, JIT ve AOT derleme yetenekleri sayesinde bir\u00e7ok senaryoda C++'a yak\u0131n performans sunabilir ve yo\u011fun hesaplamalar i\u00e7in Isolate'lar kullan\u0131labilir.<\/p>\n<h4>3. Ger\u00e7ek zamanl\u0131 sim\u00fclasyon ne anlama geliyor?<\/h4>\n<p>Ger\u00e7ek zamanl\u0131 sim\u00fclasyon, devrenin davran\u0131\u015f\u0131n\u0131n, fiziksel d\u00fcnyadaki zamanla e\u015fzamanl\u0131 olarak veya \u00e7ok k\u00fc\u00e7\u00fck bir gecikmeyle hesaplan\u0131p g\u00f6rselle\u015ftirilmesi anlam\u0131na gelir. Bu, kullan\u0131c\u0131lar\u0131n devre parametrelerini de\u011fi\u015ftirdi\u011finde sonu\u00e7lar\u0131 an\u0131nda g\u00f6rmesini sa\u011flar.<\/p>\n<h4>4. Bu projeyi a\u00e7\u0131k kaynak olarak payla\u015fmay\u0131 d\u00fc\u015f\u00fcn\u00fcyor musunuz?<\/h4>\n<p>Evet, bu t\u00fcr projelerin a\u00e7\u0131k kaynak olmas\u0131, toplulu\u011fun katk\u0131lar\u0131yla daha da geli\u015fmesine olanak tan\u0131r. Gelecekte bir GitHub deposu \u00fczerinden payla\u015fmay\u0131 planl\u0131yorum.<\/p>\n<h4>5. Bu motor ile hangi t\u00fcr devreler sim\u00fcle edilebilir?<\/h4>\n<p>Lineer ve lineer olmayan elemanlar i\u00e7eren (diren\u00e7, kapasit\u00f6r, ind\u00fckt\u00f6r, voltaj\/ak\u0131m kaynaklar\u0131, diyotlar, transist\u00f6rler, op-amp'ler) analog ve dijital kar\u0131\u015f\u0131k sinyal devreleri sim\u00fcle edilebilir. Dijital mant\u0131k kap\u0131lar\u0131 gibi elemanlar da eklenebilir.<\/p>\n","protected":false},"excerpt":{"rendered":"Elektrik devrelerinin davran\u0131\u015f\u0131n\u0131 anlamak, \u00e7o\u011fu zaman teorik dersler ve laboratuvar deneyleri arac\u0131l\u0131\u011f\u0131yla ger\u00e7ekle\u015fir. Ancak, bu yakla\u015f\u0131mlar\u0131&#8230;","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[1492],"tags":[],"class_list":{"0":"post-37069","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-flutter","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Flutter ile Elektrik M\u00fchendisli\u011fi i\u00e7in Ger\u00e7ek Zamanl\u0131 Bir Fizik Motoru Nas\u0131l Geli\u015ftirdim? - Kodlar\u0131n Gizemli D\u00fcnyas\u0131<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/flutter-ile-elektrik-muhendisligi-icin-gercek-zamanli-bir-fizik-motoru-nasil-gelistirdim\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Flutter ile Elektrik M\u00fchendisli\u011fi i\u00e7in Ger\u00e7ek Zamanl\u0131 Bir Fizik Motoru Nas\u0131l Geli\u015ftirdim?\" \/>\n<meta property=\"og:description\" content=\"Elektrik devrelerinin davran\u0131\u015f\u0131n\u0131 anlamak, \u00e7o\u011fu zaman teorik dersler ve laboratuvar deneyleri arac\u0131l\u0131\u011f\u0131yla ger\u00e7ekle\u015fir. Ancak, bu yakla\u015f\u0131mlar\u0131...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/flutter-ile-elektrik-muhendisligi-icin-gercek-zamanli-bir-fizik-motoru-nasil-gelistirdim\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-12-26T22:30:33+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"12 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/flutter-ile-elektrik-muhendisligi-icin-gercek-zamanli-bir-fizik-motoru-nasil-gelistirdim\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/flutter-ile-elektrik-muhendisligi-icin-gercek-zamanli-bir-fizik-motoru-nasil-gelistirdim\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Flutter ile Elektrik M\u00fchendisli\u011fi i\u00e7in Ger\u00e7ek Zamanl\u0131 Bir Fizik Motoru Nas\u0131l Geli\u015ftirdim?\",\"datePublished\":\"2025-12-26T22:30:33+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/flutter-ile-elektrik-muhendisligi-icin-gercek-zamanli-bir-fizik-motoru-nasil-gelistirdim\/\"},\"wordCount\":2159,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"Flutter\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/flutter-ile-elektrik-muhendisligi-icin-gercek-zamanli-bir-fizik-motoru-nasil-gelistirdim\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/flutter-ile-elektrik-muhendisligi-icin-gercek-zamanli-bir-fizik-motoru-nasil-gelistirdim\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/flutter-ile-elektrik-muhendisligi-icin-gercek-zamanli-bir-fizik-motoru-nasil-gelistirdim\/\",\"name\":\"Flutter ile Elektrik M\u00fchendisli\u011fi i\u00e7in Ger\u00e7ek Zamanl\u0131 Bir Fizik Motoru Nas\u0131l Geli\u015ftirdim? - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-12-26T22:30:33+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/flutter-ile-elektrik-muhendisligi-icin-gercek-zamanli-bir-fizik-motoru-nasil-gelistirdim\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/flutter-ile-elektrik-muhendisligi-icin-gercek-zamanli-bir-fizik-motoru-nasil-gelistirdim\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/flutter-ile-elektrik-muhendisligi-icin-gercek-zamanli-bir-fizik-motoru-nasil-gelistirdim\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Flutter ile Elektrik M\u00fchendisli\u011fi i\u00e7in Ger\u00e7ek Zamanl\u0131 Bir Fizik Motoru Nas\u0131l Geli\u015ftirdim?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Flutter ile Elektrik M\u00fchendisli\u011fi i\u00e7in Ger\u00e7ek Zamanl\u0131 Bir Fizik Motoru Nas\u0131l Geli\u015ftirdim? - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/flutter-ile-elektrik-muhendisligi-icin-gercek-zamanli-bir-fizik-motoru-nasil-gelistirdim\/","og_locale":"tr_TR","og_type":"article","og_title":"Flutter ile Elektrik M\u00fchendisli\u011fi i\u00e7in Ger\u00e7ek Zamanl\u0131 Bir Fizik Motoru Nas\u0131l Geli\u015ftirdim?","og_description":"Elektrik devrelerinin davran\u0131\u015f\u0131n\u0131 anlamak, \u00e7o\u011fu zaman teorik dersler ve laboratuvar deneyleri arac\u0131l\u0131\u011f\u0131yla ger\u00e7ekle\u015fir. Ancak, bu yakla\u015f\u0131mlar\u0131...","og_url":"https:\/\/fatihsoysal.com\/blog\/flutter-ile-elektrik-muhendisligi-icin-gercek-zamanli-bir-fizik-motoru-nasil-gelistirdim\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-12-26T22:30:33+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"12 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/flutter-ile-elektrik-muhendisligi-icin-gercek-zamanli-bir-fizik-motoru-nasil-gelistirdim\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/flutter-ile-elektrik-muhendisligi-icin-gercek-zamanli-bir-fizik-motoru-nasil-gelistirdim\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Flutter ile Elektrik M\u00fchendisli\u011fi i\u00e7in Ger\u00e7ek Zamanl\u0131 Bir Fizik Motoru Nas\u0131l Geli\u015ftirdim?","datePublished":"2025-12-26T22:30:33+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/flutter-ile-elektrik-muhendisligi-icin-gercek-zamanli-bir-fizik-motoru-nasil-gelistirdim\/"},"wordCount":2159,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["Flutter"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/flutter-ile-elektrik-muhendisligi-icin-gercek-zamanli-bir-fizik-motoru-nasil-gelistirdim\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/flutter-ile-elektrik-muhendisligi-icin-gercek-zamanli-bir-fizik-motoru-nasil-gelistirdim\/","url":"https:\/\/fatihsoysal.com\/blog\/flutter-ile-elektrik-muhendisligi-icin-gercek-zamanli-bir-fizik-motoru-nasil-gelistirdim\/","name":"Flutter ile Elektrik M\u00fchendisli\u011fi i\u00e7in Ger\u00e7ek Zamanl\u0131 Bir Fizik Motoru Nas\u0131l Geli\u015ftirdim? - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-12-26T22:30:33+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/flutter-ile-elektrik-muhendisligi-icin-gercek-zamanli-bir-fizik-motoru-nasil-gelistirdim\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/flutter-ile-elektrik-muhendisligi-icin-gercek-zamanli-bir-fizik-motoru-nasil-gelistirdim\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/flutter-ile-elektrik-muhendisligi-icin-gercek-zamanli-bir-fizik-motoru-nasil-gelistirdim\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Flutter ile Elektrik M\u00fchendisli\u011fi i\u00e7in Ger\u00e7ek Zamanl\u0131 Bir Fizik Motoru Nas\u0131l Geli\u015ftirdim?"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/37069","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=37069"}],"version-history":[{"count":0,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/37069\/revisions"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=37069"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=37069"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=37069"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}