{"id":34333,"date":"2025-11-15T08:30:56","date_gmt":"2025-11-15T05:30:56","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/otomatik-macos-kurulumu-ve-dotfile-yonetimi-rehberi\/"},"modified":"2025-11-15T08:30:56","modified_gmt":"2025-11-15T05:30:56","slug":"otomatik-macos-kurulumu-ve-dotfile-yonetimi-rehberi","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/otomatik-macos-kurulumu-ve-dotfile-yonetimi-rehberi\/","title":{"rendered":"Otomatik macOS Kurulumu ve Dotfile Y\u00f6netimi Rehberi"},"content":{"rendered":"<style>\n  \/* Minimalist bir demo i\u00e7in basic stil tan\u0131mlar\u0131 *\/\n  body {\n    font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n    line-height: 1.6;\n    color: #333;\n    max-width: 900px;\n    margin: 20px auto;\n    padding: 0 15px;\n    background-color: #f9f9f9;\n  }\n  h2, h3 {\n    color: #2c3e50;\n    margin-top: 2em;\n    margin-bottom: 0.8em;\n  }\n  h2 {\n    font-size: 2em;\n    border-bottom: 2px solid #eee;\n    padding-bottom: 0.5em;\n  }\n  h3 {\n    font-size: 1.5em;\n  }\n  pre {\n    background-color: #ecf0f1;\n    border: 1px solid #ddd;\n    padding: 15px;\n    border-radius: 5px;\n    overflow-x: auto;\n    margin-bottom: 1.5em;\n  }\n  code {\n    font-family: \"SF Mono\", \"Consolas\", \"Monaco\", monospace;\n    font-size: 0.9em;\n    color: #c0392b;\n    background-color: #fdeded;\n    padding: 2px 4px;\n    border-radius: 3px;\n  }\n  pre code {\n    color: #2c3e50;\n    background-color: transparent;\n    padding: 0;\n    border-radius: 0;\n  }\n  ul, ol {\n    margin-bottom: 1.5em;\n    padding-left: 20px;\n  }\n  li {\n    margin-bottom: 0.5em;\n  }\n  table {\n    width: 100%;\n    border-collapse: collapse;\n    margin-bottom: 1.5em;\n  }\n  th, td {\n    border: 1px solid #ccc;\n    padding: 10px;\n    text-align: left;\n  }\n  th {\n    background-color: #e0e0e0;\n    font-weight: bold;\n  }\n  .uzman-ipucu {\n    background-color: #e8f5e9;\n    border-left: 5px solid #4CAF50;\n    padding: 15px 20px;\n    margin: 2em 0;\n    border-radius: 4px;\n  }\n  .uzman-ipucu h3 {\n    color: #388E3C;\n    margin-top: 0;\n    margin-bottom: 0.5em;\n  }\n  .uzman-ipucu p {\n    margin-bottom: 0;\n  }<\/p>\n<p>  \/* Mobil Uyumlu Tasar\u0131m \u0130\u00e7in Media Query \u00d6rne\u011fi *\/\n  \/* Bu stil sadece demo ama\u00e7l\u0131 olup, harici bir CSS dosyas\u0131nda bulunmas\u0131 tavsiye edilir. *\/\n  @media (max-width: 768px) {\n    body {\n      padding: 0 10px;\n      margin: 10px auto;\n    }\n    h2 {\n      font-size: 1.6em;\n    }\n    h3 {\n      font-size: 1.3em;\n    }\n    pre {\n      padding: 10px;\n    }\n    table {\n      display: block;\n      overflow-x: auto;\n      white-space: nowrap;\n    }\n    th, td {\n      min-width: 120px; \/* K\u00fc\u00e7\u00fck ekranlarda tablonun okunabilirli\u011fini art\u0131r\u0131r *\/\n    }\n  }\n<\/style>\n<p>Yeni bir macOS cihaz\u0131 kurmak ya da mevcut geli\u015ftirme ortam\u0131n\u0131z\u0131 s\u0131f\u0131rdan yeniden olu\u015fturmak, genellikle saatler s\u00fcren, tekrar eden ve hataya a\u00e7\u0131k bir s\u00fcre\u00e7 olabilir. Peki, bu s\u00fcreci tamamen otomatik hale getirerek hem zamandan tasarruf etmek hem de tutarl\u0131 bir deneyim sa\u011flamak m\u00fcmk\u00fcn m\u00fc? Elbette m\u00fcmk\u00fcn! Bu makalede, dotfile&#8217;lar (nokta dosyalar\u0131) ve g\u00fc\u00e7l\u00fc otomasyon ara\u00e7lar\u0131 kullanarak macOS kurulumunuzu nas\u0131l otomatikle\u015ftirece\u011finizi ad\u0131m ad\u0131m ke\u015ffedece\u011fiz. Art\u0131k her yeni kurulumda ayn\u0131 eziyeti \u00e7ekmeyecek, bunun yerine tek bir komutla t\u00fcm favori uygulamalar\u0131n\u0131z\u0131, terminal ayarlar\u0131n\u0131z\u0131 ve geli\u015ftirme ortam\u0131n\u0131z\u0131 an\u0131nda haz\u0131r hale getirebileceksiniz.<\/p>\n<p>Manuel macOS kurulumu, \u00f6zellikle yaz\u0131l\u0131m geli\u015ftiriciler, sistem y\u00f6neticileri veya s\u00fcrekli yeni cihazlar kurmak zorunda kalan herkes i\u00e7in olduk\u00e7a s\u0131k\u0131c\u0131 ve verimsiz bir s\u00fcre\u00e7tir. \u0130lk olarak, &#8220;Hangi uygulamalar\u0131 kurmu\u015ftum?&#8221;, &#8220;Hangi ayarlar\u0131 yapm\u0131\u015ft\u0131m?&#8221;, &#8220;Git yap\u0131land\u0131rmam neydi?&#8221; gibi sorularla zihinsel bir y\u00fckle kar\u015f\u0131la\u015f\u0131r\u0131z. Bu zihinsel y\u00fck, her yeni kurulumda yinelenir ve \u00f6nemli miktarda zaman kayb\u0131na yol a\u00e7ar. Ayr\u0131ca, her seferinde manuel i\u015flem yaparken, baz\u0131 kritik ad\u0131mlar\u0131 atlama veya farkl\u0131 yap\u0131land\u0131rmalar uygulama riski de bulunur. Bu durum, farkl\u0131 makinelerde tutars\u0131z geli\u015ftirme ortamlar\u0131na neden olabilir, bu da hatalara ve uyumluluk sorunlar\u0131na zemin haz\u0131rlayabilir.<\/p>\n<p>\u00d6rne\u011fin, yeni bir i\u015fe ba\u015flayan bir yaz\u0131l\u0131m geli\u015ftiricisini d\u00fc\u015f\u00fcnelim. \u0130lk birka\u00e7 g\u00fcn\u00fc, kulland\u0131\u011f\u0131 t\u00fcm ara\u00e7lar\u0131 (VS Code, Docker, Homebrew, iTerm2, zsh\/oh-my-zsh, NVM, Python ortamlar\u0131 vb.) kurmakla ve ki\u015fisel dotfile&#8217;lar\u0131n\u0131 elle kopyalamakla ge\u00e7er. Bu s\u00fcre\u00e7te bir yandan proje kodunu anlamaya \u00e7al\u0131\u015f\u0131rken, di\u011fer yandan kurulumun karma\u015fas\u0131yla bo\u011fu\u015fmak zorunda kal\u0131r. Her bir uygulaman\u0131n kendi kurulum ad\u0131mlar\u0131n\u0131 takip etmek, ba\u011f\u0131ml\u0131l\u0131klar\u0131 \u00e7\u00f6zmek ve sonras\u0131nda ki\u015fisel tercihlere g\u00f6re ince ayarlar yapmak, \u00fcretkenli\u011fin d\u00fc\u015fmesine ve ba\u015flang\u0131\u00e7 motivasyonunun azalmas\u0131na neden olabilir. \u0130\u015fte tam da bu noktada, otomatik macOS kurulumu devreye girer. Otomasyon sayesinde, yeni bir makineyi veya geli\u015ftirme ortam\u0131n\u0131 saniyeler i\u00e7inde, hatas\u0131z ve tamamen \u00f6zelle\u015ftirilmi\u015f bir \u015fekilde haz\u0131r hale getirebiliriz. Bu yakla\u015f\u0131m, sadece zamandan tasarruf etmekle kalmaz, ayn\u0131 zamanda farkl\u0131 makineler aras\u0131nda tutarl\u0131 bir deneyim sunarak olas\u0131 &#8220;benim makinemde \u00e7al\u0131\u015f\u0131yor&#8221; sendromunu da ortadan kald\u0131r\u0131r. Dolay\u0131s\u0131yla, otomatik kurulum, modern yaz\u0131l\u0131m geli\u015ftirme pratiklerinin vazge\u00e7ilmez bir par\u00e7as\u0131 haline gelmi\u015ftir. Bu, bir geli\u015ftiricinin ilk g\u00fcn\u00fcn\u00fc kod yazmaya ba\u015flamas\u0131yla ta\u00e7land\u0131r\u0131rken, \u015firketler i\u00e7in de on-boarding s\u00fcre\u00e7lerini b\u00fcy\u00fck \u00f6l\u00e7\u00fcde h\u0131zland\u0131r\u0131r.<\/p>\n<h2 id=\"dotfilelar-nelerdir-ve-neden-onemliler\">Dotfile&#8217;lar Nelerdir ve Neden \u00d6nemliler?<\/h2>\n<p>Dotfile&#8217;lar, Unix benzeri i\u015fletim sistemlerinde (macOS ve Linux dahil) kullan\u0131c\u0131 tercihlerini ve yap\u0131land\u0131rmalar\u0131n\u0131 saklayan dosyalard\u0131r. Ad\u0131ndan da anla\u015f\u0131laca\u011f\u0131 \u00fczere, bu dosyalar genellikle dosya adlar\u0131n\u0131n ba\u015f\u0131nda bir nokta (.) i\u00e7erirler (\u00f6rne\u011fin, <code>.bashrc<\/code>, <code>.zshrc<\/code>, <code>.gitconfig<\/code>, <code>.vimrc<\/code>). Bu nokta, dosyay\u0131 varsay\u0131lan olarak gizli yapar ve bu sayede kullan\u0131c\u0131 dizininizin gereksiz kalabal\u0131kla\u015fmas\u0131n\u0131 \u00f6nler. Dotfile&#8217;lar, bir geli\u015ftiricinin veya ileri d\u00fczey kullan\u0131c\u0131n\u0131n i\u015fletim sistemiyle etkile\u015fimini tan\u0131mlayan ki\u015fisel ayarlar\u0131n merkezi konumudur. \u00d6rne\u011fin, terminalinizin g\u00f6r\u00fcn\u00fcm\u00fcnden komut tamamlama se\u00e7eneklerine, kulland\u0131\u011f\u0131n\u0131z edit\u00f6r\u00fcn tu\u015f atamalar\u0131ndan Git komitlerinizdeki kullan\u0131c\u0131 bilgilerine kadar her \u015fey bu dosyalarda saklan\u0131r.<\/p>\n<p>Peki, dotfile&#8217;lar neden bu kadar \u00f6nemlidir ve neden \u00f6zel olarak y\u00f6netilmelidir? Temel nedeni, geli\u015ftirme ortam\u0131n\u0131z\u0131n &#8220;ruhu&#8221; olmalar\u0131d\u0131r. Bir geli\u015ftiricinin \u00fcretkenli\u011fi, b\u00fcy\u00fck \u00f6l\u00e7\u00fcde ki\u015fiselle\u015ftirilmi\u015f ve verimli bir \u00e7al\u0131\u015fma ortam\u0131na ba\u011fl\u0131d\u0131r. Bu ortam\u0131 s\u0131f\u0131rdan her kurdu\u011funuzda elle yap\u0131land\u0131rmak, hem zaman al\u0131c\u0131 hem de hataya a\u00e7\u0131k bir s\u00fcre\u00e7tir. Dotfile&#8217;lar\u0131n\u0131z\u0131 bir s\u00fcr\u00fcm kontrol sistemi (genellikle Git) ile y\u00f6netmek, bu yap\u0131land\u0131rmalar\u0131n yedeklenmesini, farkl\u0131 makineler aras\u0131nda senkronize edilmesini ve ge\u00e7mi\u015f s\u00fcr\u00fcmlerine geri d\u00f6n\u00fclmesini kolayla\u015ft\u0131r\u0131r. Ayr\u0131ca, yeni bir makineye ge\u00e7ti\u011finizde veya i\u015fletim sistemini yeniden kurdu\u011funuzda, sadece dotfile&#8217;lar\u0131n\u0131z\u0131 klonlayarak ve birka\u00e7 basit komutla \u00e7al\u0131\u015ft\u0131rarak t\u00fcm ki\u015fisel ayarlar\u0131n\u0131z\u0131 an\u0131nda geri y\u00fckleyebilirsiniz. Bu, geli\u015ftirme ortam\u0131n\u0131z\u0131n ta\u015f\u0131nabilirli\u011fini sa\u011flar ve &#8220;setup&#8221; s\u00fcresini dakikalara indirir. Dotfile&#8217;lar\u0131 y\u00f6netmek i\u00e7in yayg\u0131n stratejiler aras\u0131nda, t\u00fcm dotfile&#8217;lar\u0131 tek bir Git deposunda tutmak ve sembolik linkler (symlinks) arac\u0131l\u0131\u011f\u0131yla ana dizine ba\u011flamak bulunur. Bu y\u00f6ntem, dosyalar\u0131 merkezi bir konumda tutarken, i\u015fletim sisteminin onlar\u0131 bekledi\u011fi yerlerde bulmas\u0131n\u0131 sa\u011flar. Bu sayede, yap\u0131land\u0131rmalar\u0131n\u0131z\u0131 g\u00fcncel tutmak, payla\u015fmak ve yedeklemek inan\u0131lmaz derecede kolayla\u015f\u0131r. K\u0131sacas\u0131, dotfile&#8217;lar, dijital ayak izinizin bir par\u00e7as\u0131d\u0131r ve onlar\u0131n etkin y\u00f6netimi, modern bir geli\u015ftiricinin en de\u011ferli yetkinliklerinden biridir.<\/p>\n<div class=\"uzman-ipucu\">\n<h3>Uzman \u0130pucu:<\/h3>\n<p>Dotfile&#8217;lar\u0131n\u0131z\u0131 Git ile y\u00f6netirken, hassas bilgileri (API anahtarlar\u0131, \u015fifreler vb.) do\u011frudan depoya eklememeye \u00f6zen g\u00f6sterin. Bunun yerine, <code>.gitignore<\/code> kullanarak bu dosyalar\u0131 d\u0131\u015flay\u0131n veya \u00e7evre de\u011fi\u015fkenleri ya da \u015fifre y\u00f6neticileri kullan\u0131n.<\/p>\n<\/div>\n<h2 id=\"homebrew-ile-paket-yonetimi-nasil-yapilir\">Homebrew ile Paket Y\u00f6netimi Nas\u0131l Yap\u0131l\u0131r?<\/h2>\n<p>macOS kullan\u0131c\u0131lar\u0131 i\u00e7in Homebrew, a\u00e7\u0131k ara en pop\u00fcler ve etkili paket y\u00f6neticisidir. Linux&#8217;taki APT (Debian\/Ubuntu) veya Yum\/DNF (Red Hat\/Fedora) gibi, Homebrew da komut sat\u0131r\u0131ndan uygulamalar\u0131, k\u00fct\u00fcphaneleri ve sistem ara\u00e7lar\u0131n\u0131 kolayca y\u00fcklemenizi, g\u00fcncellemenizi ve kald\u0131rman\u0131z\u0131 sa\u011flar. Homebrew olmasayd\u0131, her bir uygulamay\u0131 kendi web sitesinden indirip s\u00fcr\u00fckle-b\u0131rak y\u00f6ntemleriyle kurmak, ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131 manuel olarak \u00e7\u00f6zmek ve her bir g\u00fcncelleme i\u00e7in ayn\u0131 s\u00fcreci tekrarlamak zorunda kal\u0131rd\u0131k. Homebrew, bu s\u00fcreci otomatikle\u015ftirerek geli\u015ftiricilerin hayat\u0131n\u0131 inan\u0131lmaz derecede kolayla\u015ft\u0131r\u0131r ve macOS ekosisteminde adeta bir devrim yaratm\u0131\u015ft\u0131r.<\/p>\n<p>Homebrew&#8217;u kurmak olduk\u00e7a basittir. Terminalinizi a\u00e7\u0131n ve a\u015fa\u011f\u0131daki komutu \u00e7al\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre><code>\n\/bin\/bash -c \"$(curl -fsSL https:\/\/raw.githubusercontent.com\/Homebrew\/install\/HEAD\/install.sh)\"\n<\/pre>\n<p><\/code><\/p>\n<p>Kurulumdan sonra, temel komutlar\u0131 kullanarak uygulamalar\u0131 y\u00f6netmeye ba\u015flayabilirsiniz:<\/p>\n<ul>\n<li><code>brew install [paket_ad\u0131]<\/code>: Komut sat\u0131r\u0131 ara\u00e7lar\u0131n\u0131 veya k\u00fct\u00fcphaneleri y\u00fckler (\u00f6rn. <code>brew install git<\/code>, <code>brew install htop<\/code>).<\/li>\n<li><code>brew uninstall [paket_ad\u0131]<\/code>: Y\u00fckl\u00fc bir paketi kald\u0131r\u0131r.<\/li>\n<li><code>brew update<\/code>: Homebrew'u ve form\u00fcl listesini g\u00fcnceller.<\/li>\n<li><code>brew upgrade<\/code>: Y\u00fckl\u00fc t\u00fcm paketleri g\u00fcnceller.<\/li>\n<li><code>brew cleanup<\/code>: Eski s\u00fcr\u00fcmleri ve gereksiz dosyalar\u0131 temizler.<\/li>\n<\/ul>\n<p>Homebrew'un g\u00fcc\u00fcn\u00fc art\u0131ran en \u00f6nemli \u00f6zelliklerden biri de <strong>Homebrew Cask<\/strong>'tir. Cask, grafik aray\u00fczl\u00fc (GUI) uygulamalar\u0131 (Chrome, VS Code, Slack, Docker Desktop gibi) komut sat\u0131r\u0131ndan y\u00fcklemenizi sa\u011flar. Cask ile uygulama kurmak i\u00e7in <code>brew install --cask [uygulama_ad\u0131]<\/code> komutunu kullanabilirsiniz. \u00d6rne\u011fin:<\/p>\n<pre><code>\nbrew install --cask visual-studio-code\nbrew install --cask google-chrome\nbrew install --cask docker\n<\/pre>\n<p><\/code><\/p>\n<p>Otomatik kurulum s\u00fcre\u00e7lerinin kalbinde ise <strong>Brewfile<\/strong> kullan\u0131m\u0131 yer al\u0131r. Brewfile, y\u00fcklenecek t\u00fcm Homebrew paketlerini ve Cask uygulamalar\u0131n\u0131 i\u00e7eren basit bir metin dosyas\u0131d\u0131r. Bu dosya, bir projenin ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131 veya ki\u015fisel kurulumunuzdaki t\u00fcm uygulamalar\u0131 tek bir yerde tan\u0131mlaman\u0131za olanak tan\u0131r. Bir Brewfile olu\u015fturmak i\u00e7in mevcut kurulumunuzu d\u0131\u015fa aktarabilirsiniz:<\/p>\n<pre><code>\nbrew bundle dump --force\n<\/pre>\n<p><\/code><\/p>\n<p>Bu komut, ge\u00e7erli dizinde bir <code>Brewfile<\/code> olu\u015fturur. Yeni bir makinede, bu <code>Brewfile<\/code>'\u0131 klonlay\u0131p a\u015fa\u011f\u0131daki komutu \u00e7al\u0131\u015ft\u0131rarak t\u00fcm uygulamalar\u0131 otomatik olarak kurabilirsiniz:<\/p>\n<pre><code>\nbrew bundle\n<\/pre>\n<p><\/code><\/p>\n<p>Brewfile, geli\u015ftirme ortam\u0131n\u0131z\u0131 yeniden olu\u015fturmay\u0131 veya bir ekiple standart bir kurulum \u015fablonu payla\u015fmay\u0131 inan\u0131lmaz derecede kolayla\u015ft\u0131r\u0131r. Bu sayede, her yeni macOS kurulumunda manuel olarak y\u00fczlerce t\u0131klama yapmak yerine, birka\u00e7 basit komutla her \u015feyi dakikalar i\u00e7inde haz\u0131r hale getirebilirsiniz. Paket y\u00f6netimindeki bu otomasyon, geli\u015ftirme s\u00fcre\u00e7lerinde zaman tasarrufu ve tutarl\u0131l\u0131k a\u00e7\u0131s\u0131ndan paha bi\u00e7ilmezdir.<\/p>\n<h2 id=\"otomatik-kurulum-scriptleri-nasil-olusturulur\">Otomatik Kurulum Scriptleri Nas\u0131l Olu\u015fturulur?<\/h2>\n<p>Homebrew ve dotfile'lar\u0131n g\u00fcc\u00fcn\u00fc bir araya getiren as\u0131l otomasyon, bir shell script yard\u0131m\u0131yla ger\u00e7ekle\u015fir. Bu script, t\u00fcm kurulum s\u00fcrecini ad\u0131m ad\u0131m otomatikle\u015ftiren, s\u0131ras\u0131yla \u00e7al\u0131\u015ft\u0131r\u0131lacak komutlar\u0131 i\u00e7eren basit bir metin dosyas\u0131d\u0131r. Bash veya Zsh gibi kabuklarda yaz\u0131lan bu script'ler, yeni bir macOS makinesini ki\u015fiselle\u015ftirilmi\u015f bir geli\u015ftirme ortam\u0131na d\u00f6n\u00fc\u015ft\u00fcrmek i\u00e7in adeta sihirli bir de\u011fnek g\u00f6revi g\u00f6r\u00fcr. Temel hedefimiz, bu script'i \u00e7al\u0131\u015ft\u0131rd\u0131\u011f\u0131m\u0131zda, Homebrew'un kurulmas\u0131ndan favori uygulamalar\u0131m\u0131z\u0131n y\u00fcklenmesine ve dotfile'lar\u0131m\u0131z\u0131n do\u011fru yerlere sembolik olarak ba\u011flanmas\u0131na kadar her \u015feyin sorunsuz bir \u015fekilde tamamlanmas\u0131d\u0131r.<\/p>\n<p>\u00d6ncelikle, kurulum script'inizin yap\u0131s\u0131 genellikle a\u015fa\u011f\u0131daki ad\u0131mlar\u0131 i\u00e7erir:<\/p>\n<ol>\n<li><strong>Sistem G\u00fcncellemesi Kontrol\u00fc:<\/strong> Kuruluma ba\u015flamadan \u00f6nce sistemin g\u00fcncel oldu\u011fundan emin olmak \u00f6nemlidir.<\/li>\n<li><strong>Homebrew Kurulumu:<\/strong> E\u011fer y\u00fckl\u00fc de\u011filse, Homebrew'u kurmak.<\/li>\n<li><strong>Brewfile ile Uygulama Y\u00fckleme:<\/strong> Tan\u0131ml\u0131 t\u00fcm paketleri ve uygulamalar\u0131 (Cask dahil) kurmak.<\/li>\n<li><strong>Dotfile'lar\u0131n Klonlanmas\u0131 ve Ba\u011flanmas\u0131:<\/strong> Git deposundaki dotfile'lar\u0131 indirip sembolik linklerle ba\u011flamak.<\/li>\n<li><strong>Shell Konfig\u00fcrasyonu:<\/strong> Varsay\u0131lan kabuk (shell) ayarlar\u0131n\u0131 yapmak (\u00f6rn. Zsh'e ge\u00e7mek, Oh My Zsh kurmak).<\/li>\n<li><strong>Uygulama \u0130\u00e7i Ayarlar:<\/strong> VS Code eklentileri, Git global ayarlar\u0131 gibi \u00f6zel konfig\u00fcrasyonlar\u0131 yapmak.<\/li>\n<\/ol>\n<p>Basit bir kurulum scripti (\u00f6rne\u011fin, <code>setup.sh<\/code>) \u015f\u00f6yle g\u00f6r\u00fcnebilir:<\/p>\n<pre><code>\n#!\/bin\/bash\n\necho \"macOS Otomatik Kurulum Scripti Ba\u015flat\u0131l\u0131yor...\"\n\n# 1. Homebrew Kurulumu\nif ! command -v brew &> \/dev\/null\nthen\n    echo \"Homebrew y\u00fckl\u00fc de\u011fil, y\u00fckleniyor...\"\n    \/bin\/bash -c \"$(curl -fsSL https:\/\/raw.githubusercontent.com\/Homebrew\/install\/HEAD\/install.sh)\"\n    echo 'eval \"$(\/opt\/homebrew\/bin\/brew shellenv)\"' >> ~\/.zprofile\n    eval \"$(\/opt\/homebrew\/bin\/brew shellenv)\"\nelse\n    echo \"Homebrew zaten y\u00fckl\u00fc, g\u00fcncelleniyor...\"\n    brew update\nfi\n\n# 2. Brewfile ile Uygulama ve Paket Y\u00fckleme\necho \"Brewfile ile paket ve uygulamalar y\u00fckleniyor...\"\nif [ -f \"Brewfile\" ]; then\n    brew bundle\nelse\n    echo \"Brewfile bulunamad\u0131. L\u00fctfen Brewfile'\u0131n ayn\u0131 dizinde oldu\u011fundan emin olun.\"\n    exit 1\nfi\n\n# 3. Dotfile'lar\u0131 Klonlama ve Sembolik Ba\u011flant\u0131 Kurma\n# Dotfile'lar\u0131n\u0131z\u0131 i\u00e7eren bir Git deposu oldu\u011funu varsayal\u0131m:\nDOTFILES_REPO=\"https:\/\/github.com\/kullaniciadi\/dotfiles.git\"\nDOTFILES_DIR=\"$HOME\/.dotfiles\"\n\nif [ ! -d \"$DOTFILES_DIR\" ]; then\n    echo \"Dotfile deposu klonlan\u0131yor...\"\n    git clone \"$DOTFILES_REPO\" \"$DOTFILES_DIR\"\nelse\n    echo \"Dotfile deposu zaten mevcut, g\u00fcncelleniyor...\"\n    git -C \"$DOTFILES_DIR\" pull\nfi\n\necho \"Dotfile'lar i\u00e7in sembolik ba\u011flant\u0131lar olu\u015fturuluyor...\"\n# \u00d6rnek: .zshrc dosyas\u0131n\u0131 ba\u011flama\nln -sf \"$DOTFILES_DIR\/.zshrc\" \"$HOME\/.zshrc\"\nln -sf \"$DOTFILES_DIR\/.gitconfig\" \"$HOME\/.gitconfig\"\n# Di\u011fer dotfile'lar i\u00e7in de benzer sat\u0131rlar eklenebilir.\n# GNU Stow gibi ara\u00e7lar bu s\u00fcreci daha kolay hale getirebilir.\n\n# 4. Shell Ayarlar\u0131 (\u00d6rn: Zsh ve Oh My Zsh)\necho \"Varsay\u0131lan kabuk ayarlar\u0131 yap\u0131l\u0131yor...\"\nif [ \"$(basename \"$SHELL\")\" != \"zsh\" ]; then\n    chsh -s \/bin\/zsh\n    echo \"Varsay\u0131lan kabuk Zsh olarak ayarland\u0131. L\u00fctfen terminali yeniden ba\u015flat\u0131n.\"\nfi\n\nif [ ! -d \"$HOME\/.oh-my-zsh\" ]; then\n    echo \"Oh My Zsh y\u00fckleniyor...\"\n    sh -c \"$(curl -fsSL https:\/\/raw.githubusercontent.com\/ohmyzsh\/ohmyzsh\/master\/tools\/install.sh)\" \"\" --unattended\nfi\n\necho \"macOS Kurulumu tamamland\u0131!\"\n<\/pre>\n<p><\/code><\/p>\n<p>Bu script, temel ad\u0131mlar\u0131 i\u00e7erir. Dotfile'lar i\u00e7in manuel <code>ln -sf<\/code> komutlar\u0131 yerine GNU Stow gibi ara\u00e7lar\u0131 kullanarak s\u00fcreci daha d\u00fczenli hale getirebilirsiniz. Stow, bir dizindeki t\u00fcm dosyalar\u0131 ve dizinleri sembolik olarak ana dizininize ba\u011flaman\u0131za olanak tan\u0131r ve b\u00f6ylece her dosya i\u00e7in ayr\u0131 bir link olu\u015fturma zahmetinden kurtar\u0131r. Bir vaka analizi olarak, b\u00fcy\u00fck bir yaz\u0131l\u0131m \u015firketindeki yeni \u00e7al\u0131\u015fanlar i\u00e7in standart bir geli\u015ftirme ortam\u0131 kurma s\u00fcrecini d\u00fc\u015f\u00fcn\u00fcn. Her yeni m\u00fchendis i\u00e7in bu script'i \u00e7al\u0131\u015ft\u0131rarak, t\u00fcm ekibin ayn\u0131 ara\u00e7 setine ve konfig\u00fcrasyonlara sahip olmas\u0131n\u0131 sa\u011flayabilir, b\u00f6ylece uyumluluk sorunlar\u0131n\u0131 minimize edebilir ve on-boarding s\u00fcresini haftalardan g\u00fcnlere, hatta saatlere indirebilirsiniz. Bu, tutarl\u0131l\u0131\u011f\u0131 garanti alt\u0131na al\u0131rken, ayn\u0131 zamanda bilgi i\u015flem departman\u0131n\u0131n \u00fczerindeki y\u00fck\u00fc de azalt\u0131r.<\/p>\n<h2 id=\"ileri-duzey-otomasyon-teknikleri-ve-en-iyi-uygulamalar\">\u0130leri D\u00fczey Otomasyon Teknikleri ve En \u0130yi Uygulamalar<\/h2>\n<p>Temel bir kurulum scriptiyle harikalar yaratabilsek de, otomasyon yeteneklerimizi daha da ileri ta\u015f\u0131yacak ve s\u00fcre\u00e7lerimizi daha sa\u011flam hale getirecek pek \u00e7ok ileri d\u00fczey teknik ve en iyi uygulama bulunmaktad\u0131r. Bunlar, \u00f6zellikle daha karma\u015f\u0131k geli\u015ftirme ortamlar\u0131 veya b\u00fcy\u00fck ekiplerle \u00e7al\u0131\u015f\u0131rken b\u00fcy\u00fck \u00f6nem ta\u015f\u0131r.<\/p>\n<h3>Yap\u0131land\u0131rma Y\u00f6netimi Ara\u00e7lar\u0131: Ansible<\/h3>\n<p>Daha b\u00fcy\u00fck \u00e7apl\u0131 otomasyon projelerinde veya birden fazla makineyi y\u00f6netirken, Bash script'lerinin \u00f6tesine ge\u00e7mek isteyebilirsiniz. Bu noktada Ansible gibi yap\u0131land\u0131rma y\u00f6netimi ara\u00e7lar\u0131 devreye girer. Ansible, sunucular\u0131n ve istemcilerin konfig\u00fcrasyonunu otomatikle\u015ftirmek i\u00e7in tasarlanm\u0131\u015ft\u0131r ve YAML tabanl\u0131 Playbook'lar kullanarak anla\u015f\u0131l\u0131r ve tekrarlanabilir otomasyon g\u00f6revleri olu\u015fturman\u0131za olanak tan\u0131r. macOS i\u00e7in de kullan\u0131labilen Ansible, dotfile'lar\u0131 y\u00f6netmekten, uygulamalar\u0131 kurmaya, sistem ayarlar\u0131n\u0131 de\u011fi\u015ftirmeye kadar geni\u015f bir yelpazede g\u00f6revleri yerine getirebilir. \u00d6rne\u011fin, bir Ansible Playbook ile:<\/p>\n<ul>\n<li>Belirli Homebrew paketlerini ve Cask uygulamalar\u0131n\u0131 kurabilirsiniz.<\/li>\n<li>Dotfile'lar\u0131n\u0131z\u0131 bir Git deposundan \u00e7ekip sembolik linkler olu\u015fturabilirsiniz.<\/li>\n<li>Varsay\u0131lan macOS ayarlar\u0131n\u0131 (Dock pozisyonu, klavye k\u0131sayollar\u0131 vb.) de\u011fi\u015ftirebilirsiniz.<\/li>\n<li>VS Code eklentilerini otomatik olarak kurabilirsiniz.<\/li>\n<\/ul>\n<pre><code>\n---\n- name: macOS Geli\u015ftirme Ortam\u0131 Kurulumu\n  hosts: localhost\n  connection: local\n  gather_facts: no\n  vars:\n    dotfiles_repo: \"https:\/\/github.com\/kullaniciadi\/dotfiles.git\"\n    dotfiles_dest: \"{{ ansible_user_dir }}\/.dotfiles\"\n  tasks:\n    - name: Homebrew'un y\u00fckl\u00fc oldu\u011fundan emin ol\n      community.general.homebrew:\n        name: brew\n        state: present\n\n    - name: Brewfile'dan paketleri ve uygulamalar\u0131 y\u00fckle\n      community.general.homebrew_bundle:\n        filepath: \"{{ dotfiles_dest }}\/Brewfile\"\n        state: present\n      args:\n        # Brewfile dosyas\u0131n\u0131n konumunu do\u011fru ayarlay\u0131n\n        chdir: \"{{ dotfiles_dest }}\" \n      when: lookup('file', dotfiles_dest + '\/Brewfile', rstrip=False) is defined # Brewfile varl\u0131\u011f\u0131n\u0131 kontrol et\n\n    - name: Dotfile reposunu klonla veya g\u00fcncelle\n      ansible.builtin.git:\n        repo: \"{{ dotfiles_repo }}\"\n        dest: \"{{ dotfiles_dest }}\"\n        version: master # veya main\n        update: yes\n\n    - name: Dotfile'lar i\u00e7in sembolik linkler olu\u015ftur (\u00f6rn: .zshrc)\n      ansible.builtin.file:\n        src: \"{{ dotfiles_dest }}\/.zshrc\"\n        dest: \"{{ ansible_user_dir }}\/.zshrc\"\n        state: link\n        force: yes\n\n    - name: Varsay\u0131lan kabuk olarak Zsh ayarla\n      ansible.builtin.user:\n        name: \"{{ ansible_user_id }}\"\n        shell: \/bin\/zsh\n\n    # Di\u011fer macOS ayarlar\u0131 veya uygulama \u00f6zel konfig\u00fcrasyonlar\u0131 eklenebilir\n    - name: VS Code eklentilerini y\u00fckle (\u00f6rnek)\n      ansible.builtin.command: \"code --install-extension ms-vscode.Go\"\n      args:\n        chdir: \"{{ ansible_user_dir }}\"\n      changed_when: true # Her zaman de\u011fi\u015fmi\u015f kabul et (\u00e7\u00fcnk\u00fc \u00e7\u0131kt\u0131y\u0131 kontrol etmek zor)\n<\/pre>\n<p><\/code><\/p>\n<h3>\u015eifre ve Hassas Veri Y\u00f6netimi<\/h3>\n<p>Otomasyon script'leri genellikle API anahtarlar\u0131, veritaban\u0131 \u015fifreleri veya SSH anahtarlar\u0131 gibi hassas bilgilerle etkile\u015fime girebilir. Bu t\u00fcr bilgileri do\u011frudan script i\u00e7inde veya Git deposunda saklamak b\u00fcy\u00fck bir g\u00fcvenlik riskidir. Bunun yerine a\u015fa\u011f\u0131daki yakla\u015f\u0131mlar\u0131 kullanmal\u0131s\u0131n\u0131z:<\/p>\n<ul>\n<li><strong>\u00c7evre De\u011fi\u015fkenleri:<\/strong> Hassas bilgileri oturum ba\u015flang\u0131c\u0131nda \u00e7evre de\u011fi\u015fkenleri olarak y\u00fckleyin (\u00f6rn. <code>.zshrc<\/code> veya <code>.bashrc<\/code> dosyalar\u0131nda <code>export MY_API_KEY=\"abcdef\"<\/code>). Ancak bu y\u00f6ntem, farkl\u0131 makineler aras\u0131nda senkronizasyon i\u00e7in yine manuel ad\u0131mlar gerektirebilir.<\/li>\n<li><strong>macOS Keychain:<\/strong> macOS'un yerle\u015fik Keychain Access uygulamas\u0131n\u0131 kullanarak \u015fifreleri g\u00fcvenli bir \u015fekilde saklayabilirsiniz. Script'leriniz, komut sat\u0131r\u0131 ara\u00e7lar\u0131 arac\u0131l\u0131\u011f\u0131yla Keychain'e eri\u015febilir.<\/li>\n<li><strong>\u015eifre Y\u00f6neticileri (CLI Destekli):<\/strong> 1Password CLI, Bitwarden CLI gibi ara\u00e7lar, \u015fifre y\u00f6neticilerinizdeki hassas bilgilere komut sat\u0131r\u0131ndan eri\u015fim sa\u011flayarak otomasyonu g\u00fcvenli bir \u015fekilde entegre etmenize olanak tan\u0131r.<\/li>\n<li><strong>Ansible Vault:<\/strong> Ansible kullan\u0131yorsan\u0131z, hassas verileri \u015fifrelemek ve g\u00fcvenli bir \u015fekilde depolamak i\u00e7in Ansible Vault'u kullanabilirsiniz.<\/li>\n<\/ul>\n<h3>Mod\u00fclerlik ve \u0130dempotentlik<\/h3>\n<p>Script'lerinizi k\u00fc\u00e7\u00fck, yeniden kullan\u0131labilir fonksiyonlara ay\u0131rmak (mod\u00fclerlik) ve her bir ad\u0131m\u0131n birden fazla kez \u00e7al\u0131\u015ft\u0131r\u0131ld\u0131\u011f\u0131nda ayn\u0131 sonucu vermesini sa\u011flamak (idempotentlik) en iyi uygulamalardand\u0131r. \u00d6rne\u011fin, bir script'in Homebrew'u yaln\u0131zca y\u00fckl\u00fc de\u011filse kurmas\u0131 veya bir sembolik link'i zaten do\u011fruysa yeniden olu\u015fturmamas\u0131 idempotent bir davran\u0131\u015ft\u0131r. Bu, script'inizi g\u00fcvenle birden fazla kez \u00e7al\u0131\u015ft\u0131rabilece\u011finiz anlam\u0131na gelir, b\u00f6ylece sisteminizde istenmeyen de\u011fi\u015fiklikler yapmazs\u0131n\u0131z.<\/p>\n<pre><code>\n# \u00d6rnek Mod\u00fcler ve Idempotent Fonksiyon\ninstall_brew() {\n    if ! command -v brew &> \/dev\/null; then\n        echo \"Homebrew y\u00fckl\u00fc de\u011fil, y\u00fckleniyor...\"\n        \/bin\/bash -c \"$(curl -fsSL https:\/\/raw.githubusercontent.com\/Homebrew\/install\/HEAD\/install.sh)\"\n        echo 'eval \"$(\/opt\/homebrew\/bin\/brew shellenv)\"' >> ~\/.zprofile\n        eval \"$(\/opt\/homebrew\/bin\/brew shellenv)\"\n    else\n        echo \"Homebrew zaten y\u00fckl\u00fc.\"\n    fi\n}\n\ninstall_brew # Fonksiyonu \u00e7a\u011f\u0131r\n<\/pre>\n<p><\/code><\/p>\n<h3>S\u00fcr\u00fcm Kontrol\u00fc ve Belgeleme<\/h3>\n<p>T\u00fcm otomasyon script'lerinizi ve dotfile'lar\u0131n\u0131z\u0131 Git gibi bir s\u00fcr\u00fcm kontrol sisteminde tutmak kritik \u00f6neme sahiptir. Bu, de\u011fi\u015fiklikleri takip etmenizi, ge\u00e7mi\u015f s\u00fcr\u00fcmlere geri d\u00f6nmenizi ve ekip \u00fcyeleriyle i\u015fbirli\u011fi yapman\u0131z\u0131 sa\u011flar. Ayr\u0131ca, script'lerinizin ne yapt\u0131\u011f\u0131n\u0131, nas\u0131l \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 ve hangi ba\u011f\u0131ml\u0131l\u0131klara sahip oldu\u011funu a\u00e7\u0131klayan kapsaml\u0131 bir <code>README.md<\/code> dosyas\u0131 bulundurmak da uzun vadede bak\u0131m kolayl\u0131\u011f\u0131 sa\u011flar.<\/p>\n<div class=\"uzman-ipucu\">\n<h3>Uzman \u0130pucu:<\/h3>\n<p>Otomasyon script'lerinizi geli\u015ftirirken, her ad\u0131m\u0131 k\u00fc\u00e7\u00fck par\u00e7alara ay\u0131r\u0131n ve her par\u00e7ay\u0131 ayr\u0131 ayr\u0131 test edin. Hata ay\u0131klamay\u0131 kolayla\u015ft\u0131rmak i\u00e7in bolca <code>echo<\/code> komutu kullanarak script'in hangi a\u015famada oldu\u011funu takip edin.<\/p>\n<\/div>\n<p>Bu ileri d\u00fczey teknikler, otomasyon s\u00fcrecinizi sadece daha g\u00fc\u00e7l\u00fc de\u011fil, ayn\u0131 zamanda daha g\u00fcvenli, s\u00fcrd\u00fcr\u00fclebilir ve y\u00f6netilebilir hale getirir. Ba\u015flang\u0131\u00e7ta biraz \u00e7aba gerektirse de, uzun vadede size inan\u0131lmaz bir zaman ve emek tasarrufu sa\u011flayacakt\u0131r.<\/p>\n<h2 id=\"sonuc\">Sonu\u00e7: Geli\u015ftirme Ortam\u0131n\u0131z\u0131 Bir Sonraki Seviyeye Ta\u015f\u0131y\u0131n<\/h2>\n<p>Bu makale boyunca, manuel macOS kurulum s\u00fcre\u00e7lerinin s\u0131k\u0131c\u0131, zaman al\u0131c\u0131 ve hataya a\u00e7\u0131k do\u011fas\u0131n\u0131 ele alarak, bu zorluklar\u0131n \u00fcstesinden gelmek i\u00e7in otomatik kurulum ve dotfile y\u00f6netiminin nas\u0131l g\u00fc\u00e7l\u00fc bir \u00e7\u00f6z\u00fcm sundu\u011funu detayl\u0131 bir \u015fekilde inceledik. Dotfile'lar\u0131n ne anlama geldi\u011finden, Homebrew ile paket y\u00f6netiminin nas\u0131l yap\u0131ld\u0131\u011f\u0131na ve nihayetinde bu bile\u015fenleri bir araya getirerek kendi otomatik kurulum script'inizi nas\u0131l olu\u015fturaca\u011f\u0131n\u0131za kadar ad\u0131m ad\u0131m ilerledik. Ayr\u0131ca, Ansible gibi ileri d\u00fczey yap\u0131land\u0131rma y\u00f6netim ara\u00e7lar\u0131 ve hassas veri y\u00f6netimi gibi en iyi uygulamalarla otomasyon yeteneklerinizi nas\u0131l bir \u00fcst seviyeye ta\u015f\u0131yabilece\u011finizi de \u00f6\u011frendik. Sonu\u00e7 olarak, otomasyon, sadece tekrarlayan g\u00f6revleri ortadan kald\u0131rmakla kalmaz, ayn\u0131 zamanda geli\u015ftirme ortam\u0131n\u0131z\u0131n tutarl\u0131l\u0131\u011f\u0131n\u0131, ta\u015f\u0131nabilirli\u011fini ve g\u00fcvenli\u011fini de art\u0131r\u0131r.<\/p>\n<p>Art\u0131k her yeni macOS makinesi kurdu\u011funuzda veya sisteminizi s\u0131f\u0131rlad\u0131\u011f\u0131n\u0131zda saatler harcamak yerine, tek bir komutla t\u00fcm ki\u015fiselle\u015ftirilmi\u015f ayarlar\u0131n\u0131za ve favori uygulamalar\u0131n\u0131za an\u0131nda sahip olabileceksiniz. Bu, sadece bireysel \u00fcretkenli\u011finizi art\u0131rmakla kalmayacak, ayn\u0131 zamanda ekip i\u00e7inde standart ve sorunsuz geli\u015ftirme ortamlar\u0131 olu\u015fturarak i\u015fbirli\u011fini de g\u00fc\u00e7lendirecektir. Unutmay\u0131n, iyi y\u00f6netilen dotfile'lar ve sa\u011flam otomasyon script'leri, modern bir geli\u015ftiricinin ara\u00e7 kutusunun vazge\u00e7ilmez bir par\u00e7as\u0131d\u0131r. Geli\u015ftirme ortam\u0131n\u0131z\u0131 otomatikle\u015ftirerek, daha fazla zaman\u0131n\u0131z\u0131 kod yazmaya, problem \u00e7\u00f6zmeye ve yenilik yapmaya ay\u0131rabilirsiniz. Bu rehberin, kendi otomatik macOS kurulum yolculu\u011funuza ba\u015flaman\u0131z i\u00e7in size ilham verdi\u011fini umuyoruz. Dijital d\u00fcnyan\u0131zda kontrol\u00fc ele al\u0131n ve otomasyonun g\u00fcc\u00fcn\u00fc ke\u015ffedin!<\/p>\n<h3 id=\"sikca-sorulan-sorular\">S\u0131k\u00e7a Sorulan Sorular<\/h3>\n<dl>\n<dt>Otomatik kurulum script'imi hangi s\u0131kl\u0131kla g\u00fcncellemeliyim?<\/dt>\n<dd>Geli\u015ftirme ortam\u0131n\u0131za yeni bir uygulama ekledi\u011finizde, bir ayar\u0131 de\u011fi\u015ftirdi\u011finizde veya mevcut bir uygulaman\u0131n kurulumu de\u011fi\u015fti\u011finde script'inizi g\u00fcncellemeniz \u00f6nerilir. En az\u0131ndan her birka\u00e7 ayda bir veya \u00f6nemli bir proje ba\u015flang\u0131c\u0131nda g\u00f6zden ge\u00e7irmek iyi bir al\u0131\u015fkanl\u0131kt\u0131r.<\/dd>\n<dt>Dotfile'lar\u0131m\u0131 Git'e y\u00fcklerken g\u00fcvenlik konusunda nelere dikkat etmeliyim?<\/dt>\n<dd>Asla hassas bilgileri (API anahtarlar\u0131, ki\u015fisel \u015fifreler, \u00f6zel SSH anahtarlar\u0131) do\u011frudan dotfile'lar\u0131n\u0131za veya Git deposuna y\u00fcklemeyin. Bunun yerine, bu bilgileri \u00e7evre de\u011fi\u015fkenleri, macOS Keychain, 1Password CLI gibi \u015fifre y\u00f6neticileri veya Ansible Vault gibi ara\u00e7lar arac\u0131l\u0131\u011f\u0131yla y\u00f6netin. <code>.gitignore<\/code> dosyas\u0131n\u0131 kullanarak hassas dosyalar\u0131n yanl\u0131\u015fl\u0131kla depoya eklenmesini \u00f6nleyin.<\/dd>\n<dt>Brewfile kullanmak yerine t\u00fcm Homebrew komutlar\u0131n\u0131 do\u011frudan script'e yazabilir miyim?<\/dt>\n<dd>Evet, yapabilirsiniz. Ancak Brewfile, y\u00fcklenecek t\u00fcm paketleri ve Cask uygulamalar\u0131n\u0131 tek, okunakl\u0131 bir dosyada listelemenin daha temiz ve y\u00f6netilebilir bir yoludur. Script'iniz daha k\u0131sa ve okunur olurken, Brewfile sayesinde ba\u011f\u0131ml\u0131l\u0131klar\u0131 daha kolay takip edebilirsiniz. B\u00fcy\u00fck projeler veya \u00e7ok say\u0131da ba\u011f\u0131ml\u0131l\u0131k i\u00e7in Brewfile kullan\u0131m\u0131 \u015fiddetle tavsiye edilir.<\/dd>\n<dt>Otomatik kurulum script'im sadece macOS i\u00e7in mi ge\u00e7erli?<\/dt>\n<dd>Bu makaledeki \u00f6rnekler macOS'a \u00f6zeldir (\u00f6zellikle Homebrew kullan\u0131m\u0131 nedeniyle). Ancak dotfile y\u00f6netimi prensipleri ve shell script otomasyonu, Linux gibi di\u011fer Unix benzeri sistemlerde de benzer \u015fekilde uygulanabilir. Sadece paket y\u00f6neticileri (APT, DNF vb.) ve baz\u0131 sistem yollar\u0131 farkl\u0131l\u0131k g\u00f6sterecektir.<\/dd>\n<dt>Manuel olarak de\u011fi\u015ftirdi\u011fim bir ayar\u0131 script'ime nas\u0131l dahil ederim?<\/dt>\n<dd>\u00d6ncelikle, manuel olarak yapt\u0131\u011f\u0131n\u0131z de\u011fi\u015fikli\u011fin hangi dosyay\u0131 etkiledi\u011fini veya hangi komutla yap\u0131labilece\u011fini bulun (\u00f6rn. <code>defaults write com.apple.finder AppleShowAllFiles -bool true<\/code> gibi). Daha sonra, bu komutu veya ilgili dosyan\u0131n g\u00fcncellenmi\u015f halini dotfile deponuza ve kurulum script'inize ekleyin. Her manuel de\u011fi\u015fikli\u011fi otomasyonunuza yans\u0131tarak, sisteminizin her zaman istedi\u011finiz durumda olmas\u0131n\u0131 sa\u011flayabilirsiniz.<\/dd>\n<\/dl>\n<p><\/body><\/p>\n","protected":false},"excerpt":{"rendered":"Yeni bir macOS cihaz\u0131 kurmak ya da mevcut geli\u015ftirme ortam\u0131n\u0131z\u0131 s\u0131f\u0131rdan yeniden olu\u015fturmak, genellikle saatler s\u00fcren, tekrar eden&hellip;","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":[1],"tags":[],"class_list":{"0":"post-34333","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-genel","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>Otomatik macOS Kurulumu ve Dotfile Y\u00f6netimi Rehberi<\/title>\n<meta name=\"description\" content=\"Yeni bir macOS cihaz\u0131 kurmak ya da mevcut geli\u015ftirme ortam\u0131n\u0131z\u0131 s\u0131f\u0131rdan yeniden olu\u015fturmak, genellikle saatler s\u00fcren, tekrar eden ve hataya a\u00e7\u0131k bir s\u00fcre\u00e7 olabilir. Peki, bu s\u00fcreci tamamen otomatik hale getirerek hem zamandan tasarruf etmek hem de tutarl\u0131 bir deneyim sa\u011flamak m\u00fcmk\u00fcn m\u00fc? Elbette m\u00fcmk\u00fcn! Bu makalede, dotfile&#039;lar (nokta dosyalar\u0131) ve g\u00fc\u00e7l\u00fc otomasyon ara\u00e7lar\u0131 kullanarak macOS kurulumunuzu nas\u0131l otomatikle\u015ftirece\u011finizi ad\u0131m ad\u0131m ke\u015ffedece\u011fiz. Art\u0131k her yeni kurulumda ayn\u0131 eziyeti \u00e7ekmeyecek, bunun yerine tek bir komutla t\u00fcm favori uygulamalar\u0131n\u0131z\u0131, terminal ayarlar\u0131n\u0131z\u0131 ve geli\u015ftirme ortam\u0131n\u0131z\u0131 an\u0131nda haz\u0131r hale getirebileceksiniz.\" \/>\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\/otomatik-macos-kurulumu-ve-dotfile-yonetimi-rehberi\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Otomatik macOS Kurulumu ve Dotfile Y\u00f6netimi Rehberi\" \/>\n<meta property=\"og:description\" content=\"Yeni bir macOS cihaz\u0131 kurmak ya da mevcut geli\u015ftirme ortam\u0131n\u0131z\u0131 s\u0131f\u0131rdan yeniden olu\u015fturmak, genellikle saatler s\u00fcren, tekrar eden ve hataya a\u00e7\u0131k bir s\u00fcre\u00e7 olabilir. Peki, bu s\u00fcreci tamamen otomatik hale getirerek hem zamandan tasarruf etmek hem de tutarl\u0131 bir deneyim sa\u011flamak m\u00fcmk\u00fcn m\u00fc? Elbette m\u00fcmk\u00fcn! Bu makalede, dotfile&#039;lar (nokta dosyalar\u0131) ve g\u00fc\u00e7l\u00fc otomasyon ara\u00e7lar\u0131 kullanarak macOS kurulumunuzu nas\u0131l otomatikle\u015ftirece\u011finizi ad\u0131m ad\u0131m ke\u015ffedece\u011fiz. Art\u0131k her yeni kurulumda ayn\u0131 eziyeti \u00e7ekmeyecek, bunun yerine tek bir komutla t\u00fcm favori uygulamalar\u0131n\u0131z\u0131, terminal ayarlar\u0131n\u0131z\u0131 ve geli\u015ftirme ortam\u0131n\u0131z\u0131 an\u0131nda haz\u0131r hale getirebileceksiniz.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/otomatik-macos-kurulumu-ve-dotfile-yonetimi-rehberi\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-11-15T05:30:56+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=\"18 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/otomatik-macos-kurulumu-ve-dotfile-yonetimi-rehberi\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/otomatik-macos-kurulumu-ve-dotfile-yonetimi-rehberi\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Otomatik macOS Kurulumu ve Dotfile Y\u00f6netimi Rehberi\",\"datePublished\":\"2025-11-15T05:30:56+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/otomatik-macos-kurulumu-ve-dotfile-yonetimi-rehberi\/\"},\"wordCount\":3021,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/otomatik-macos-kurulumu-ve-dotfile-yonetimi-rehberi\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/otomatik-macos-kurulumu-ve-dotfile-yonetimi-rehberi\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/otomatik-macos-kurulumu-ve-dotfile-yonetimi-rehberi\/\",\"name\":\"Otomatik macOS Kurulumu ve Dotfile Y\u00f6netimi Rehberi\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-11-15T05:30:56+00:00\",\"description\":\"Yeni bir macOS cihaz\u0131 kurmak ya da mevcut geli\u015ftirme ortam\u0131n\u0131z\u0131 s\u0131f\u0131rdan yeniden olu\u015fturmak, genellikle saatler s\u00fcren, tekrar eden ve hataya a\u00e7\u0131k bir s\u00fcre\u00e7 olabilir. Peki, bu s\u00fcreci tamamen otomatik hale getirerek hem zamandan tasarruf etmek hem de tutarl\u0131 bir deneyim sa\u011flamak m\u00fcmk\u00fcn m\u00fc? Elbette m\u00fcmk\u00fcn! Bu makalede, dotfile'lar (nokta dosyalar\u0131) ve g\u00fc\u00e7l\u00fc otomasyon ara\u00e7lar\u0131 kullanarak macOS kurulumunuzu nas\u0131l otomatikle\u015ftirece\u011finizi ad\u0131m ad\u0131m ke\u015ffedece\u011fiz. Art\u0131k her yeni kurulumda ayn\u0131 eziyeti \u00e7ekmeyecek, bunun yerine tek bir komutla t\u00fcm favori uygulamalar\u0131n\u0131z\u0131, terminal ayarlar\u0131n\u0131z\u0131 ve geli\u015ftirme ortam\u0131n\u0131z\u0131 an\u0131nda haz\u0131r hale getirebileceksiniz.\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/otomatik-macos-kurulumu-ve-dotfile-yonetimi-rehberi\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/otomatik-macos-kurulumu-ve-dotfile-yonetimi-rehberi\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/otomatik-macos-kurulumu-ve-dotfile-yonetimi-rehberi\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Otomatik macOS Kurulumu ve Dotfile Y\u00f6netimi Rehberi\"}]},{\"@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":"Otomatik macOS Kurulumu ve Dotfile Y\u00f6netimi Rehberi","description":"Yeni bir macOS cihaz\u0131 kurmak ya da mevcut geli\u015ftirme ortam\u0131n\u0131z\u0131 s\u0131f\u0131rdan yeniden olu\u015fturmak, genellikle saatler s\u00fcren, tekrar eden ve hataya a\u00e7\u0131k bir s\u00fcre\u00e7 olabilir. Peki, bu s\u00fcreci tamamen otomatik hale getirerek hem zamandan tasarruf etmek hem de tutarl\u0131 bir deneyim sa\u011flamak m\u00fcmk\u00fcn m\u00fc? Elbette m\u00fcmk\u00fcn! Bu makalede, dotfile'lar (nokta dosyalar\u0131) ve g\u00fc\u00e7l\u00fc otomasyon ara\u00e7lar\u0131 kullanarak macOS kurulumunuzu nas\u0131l otomatikle\u015ftirece\u011finizi ad\u0131m ad\u0131m ke\u015ffedece\u011fiz. Art\u0131k her yeni kurulumda ayn\u0131 eziyeti \u00e7ekmeyecek, bunun yerine tek bir komutla t\u00fcm favori uygulamalar\u0131n\u0131z\u0131, terminal ayarlar\u0131n\u0131z\u0131 ve geli\u015ftirme ortam\u0131n\u0131z\u0131 an\u0131nda haz\u0131r hale getirebileceksiniz.","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\/otomatik-macos-kurulumu-ve-dotfile-yonetimi-rehberi\/","og_locale":"tr_TR","og_type":"article","og_title":"Otomatik macOS Kurulumu ve Dotfile Y\u00f6netimi Rehberi","og_description":"Yeni bir macOS cihaz\u0131 kurmak ya da mevcut geli\u015ftirme ortam\u0131n\u0131z\u0131 s\u0131f\u0131rdan yeniden olu\u015fturmak, genellikle saatler s\u00fcren, tekrar eden ve hataya a\u00e7\u0131k bir s\u00fcre\u00e7 olabilir. Peki, bu s\u00fcreci tamamen otomatik hale getirerek hem zamandan tasarruf etmek hem de tutarl\u0131 bir deneyim sa\u011flamak m\u00fcmk\u00fcn m\u00fc? Elbette m\u00fcmk\u00fcn! Bu makalede, dotfile'lar (nokta dosyalar\u0131) ve g\u00fc\u00e7l\u00fc otomasyon ara\u00e7lar\u0131 kullanarak macOS kurulumunuzu nas\u0131l otomatikle\u015ftirece\u011finizi ad\u0131m ad\u0131m ke\u015ffedece\u011fiz. Art\u0131k her yeni kurulumda ayn\u0131 eziyeti \u00e7ekmeyecek, bunun yerine tek bir komutla t\u00fcm favori uygulamalar\u0131n\u0131z\u0131, terminal ayarlar\u0131n\u0131z\u0131 ve geli\u015ftirme ortam\u0131n\u0131z\u0131 an\u0131nda haz\u0131r hale getirebileceksiniz.","og_url":"https:\/\/fatihsoysal.com\/blog\/otomatik-macos-kurulumu-ve-dotfile-yonetimi-rehberi\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-11-15T05:30:56+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"18 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/otomatik-macos-kurulumu-ve-dotfile-yonetimi-rehberi\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/otomatik-macos-kurulumu-ve-dotfile-yonetimi-rehberi\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Otomatik macOS Kurulumu ve Dotfile Y\u00f6netimi Rehberi","datePublished":"2025-11-15T05:30:56+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/otomatik-macos-kurulumu-ve-dotfile-yonetimi-rehberi\/"},"wordCount":3021,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/otomatik-macos-kurulumu-ve-dotfile-yonetimi-rehberi\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/otomatik-macos-kurulumu-ve-dotfile-yonetimi-rehberi\/","url":"https:\/\/fatihsoysal.com\/blog\/otomatik-macos-kurulumu-ve-dotfile-yonetimi-rehberi\/","name":"Otomatik macOS Kurulumu ve Dotfile Y\u00f6netimi Rehberi","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-11-15T05:30:56+00:00","description":"Yeni bir macOS cihaz\u0131 kurmak ya da mevcut geli\u015ftirme ortam\u0131n\u0131z\u0131 s\u0131f\u0131rdan yeniden olu\u015fturmak, genellikle saatler s\u00fcren, tekrar eden ve hataya a\u00e7\u0131k bir s\u00fcre\u00e7 olabilir. Peki, bu s\u00fcreci tamamen otomatik hale getirerek hem zamandan tasarruf etmek hem de tutarl\u0131 bir deneyim sa\u011flamak m\u00fcmk\u00fcn m\u00fc? Elbette m\u00fcmk\u00fcn! Bu makalede, dotfile'lar (nokta dosyalar\u0131) ve g\u00fc\u00e7l\u00fc otomasyon ara\u00e7lar\u0131 kullanarak macOS kurulumunuzu nas\u0131l otomatikle\u015ftirece\u011finizi ad\u0131m ad\u0131m ke\u015ffedece\u011fiz. Art\u0131k her yeni kurulumda ayn\u0131 eziyeti \u00e7ekmeyecek, bunun yerine tek bir komutla t\u00fcm favori uygulamalar\u0131n\u0131z\u0131, terminal ayarlar\u0131n\u0131z\u0131 ve geli\u015ftirme ortam\u0131n\u0131z\u0131 an\u0131nda haz\u0131r hale getirebileceksiniz.","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/otomatik-macos-kurulumu-ve-dotfile-yonetimi-rehberi\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/otomatik-macos-kurulumu-ve-dotfile-yonetimi-rehberi\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/otomatik-macos-kurulumu-ve-dotfile-yonetimi-rehberi\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Otomatik macOS Kurulumu ve Dotfile Y\u00f6netimi Rehberi"}]},{"@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\/34333","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=34333"}],"version-history":[{"count":0,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/34333\/revisions"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=34333"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=34333"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=34333"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}