{"id":1230,"date":"2007-08-13T22:46:01","date_gmt":"2007-08-13T22:46:01","guid":{"rendered":"http:\/\/gurkan.wordpress.com\/?p=1230"},"modified":"2017-09-06T02:02:09","modified_gmt":"2017-09-06T02:02:09","slug":"yazilim-srecinde-kalite","status":"publish","type":"post","link":"https:\/\/www.havatopraksu.org\/blog\/2007\/08\/13\/yazilim-srecinde-kalite\/","title":{"rendered":"Yaz\u0131l\u0131m S\u00fcrecinde Kalite"},"content":{"rendered":"<p><p>Yaz\u0131l\u0131m m\u00fchendisli\u011finin yegane amac\u0131 y\u00fcksek kalitede bir uygulama \u00fcretmek olagelmi\u015ftir. Bunu ba\u015farabilmek i\u00e7in test edilip onaylanm\u0131\u015f bir metod, y\u00fcksek kaliteli uygulama geli\u015ftirme ara\u00e7lar\u0131 ile birle\u015ftirilerek yaz\u0131l\u0131m s\u00fcre\u00e7lerinde kullan\u0131lmal\u0131d\u0131r. G\u00fcn\u00fcm\u00fczde yaz\u0131l\u0131m ara\u00e7lar\u0131n\u0131n \u00e7ok ilerledi\u011fi bir ger\u00e7ek; demek kaliteyi yakalamak i\u00e7in metodu do\u011fru ve yerinde kullanmam\u0131z gerekiyor. Ayr\u0131ca metoda ne kadar sad\u0131k kal\u0131nd\u0131\u011f\u0131 ve tam olarak kullan\u0131l\u0131p kullan\u0131lmad\u0131\u011f\u0131 da bir etken olarak kar\u015f\u0131m\u0131za \u00e7\u0131k\u0131yor. <\/p>\n<p><strong>Soru 1: \u00c7al\u0131\u015ft\u0131\u011f\u0131n\u0131z yerde hangi metodun kullan\u0131ld\u0131\u011f\u0131n\u0131 biliyor musunuz?<\/strong> <\/p>\n<p>Projelerin bir harala g\u00fcrele ile ba\u015flad\u0131\u011f\u0131 ve Allah ne verdiyse kod yazmaya giri\u015fildi\u011fi bir yerde mi \u00e7al\u0131\u015f\u0131yorsunuz? Yoksa belli bir d\u00fczende m\u00fc\u015fteri gereksinimlerine ba\u011fl\u0131 kal\u0131narak, d\u00f6k\u00fcmantasyon ve s\u00fcr\u00fcm y\u00f6netiminin kullan\u0131ld\u0131\u011f\u0131 bir ortam\u0131n\u0131z m\u0131 var? \u00c7al\u0131\u015ft\u0131\u011f\u0131n\u0131z yerdeki yaz\u0131l\u0131m geli\u015ftirme metodunu iyice \u00f6\u011frenip, i\u015flerin nas\u0131l da\u011f\u0131t\u0131ld\u0131\u011f\u0131n\u0131, nas\u0131l test yap\u0131ld\u0131\u011f\u0131n\u0131, kod yazarken nelere dikkat edildi\u011fini \u00f6\u011frenin. Belli bir d\u00fczen yok mu? O zaman siz bir d\u00fczen getirin. Metodun gerekliliklerini \u00f6\u011frenip uygulay\u0131n. Bu durumda hatalar\u0131n en \u00e7ok hangi a\u015famada olu\u015ftu\u011funu bililmsel olarak ortaya koyabilirsiniz. <\/p>\n<p>\u0130stenen kalitenin elde edildi\u011fini anlamak i\u00e7in proje boyunca olu\u015fan hatalara g\u00f6z at\u0131labilir. \u00d6rne\u011fin Use Case (Senaryo) kullanarak analiz yap\u0131yorsunuz diyelim. Senaryolar bir kez onayland\u0131ktan sonra gerekecek her t\u00fcrl\u00fc de\u011fi\u015fiklik bir hata demektir. Yada Yaz\u0131l\u0131m Gereksinimleri Tan\u0131mlama belgesinde onaydan sonra olu\u015facak her de\u011fi\u015fiklik te hata stat\u00fcs\u00fcne girer. Testler s\u0131ras\u0131nda kodda yakalanan hatalar da bu durumdad\u0131r. Hata projenin her a\u015famas\u0131nda ortaya \u00e7\u0131kar; sadece kod \u00fczerine odaklanmay\u0131n. <\/p>\n<p>Her senaryo ba\u015f\u0131na ka\u00e7 hata d\u00fc\u015ft\u00fc\u011f\u00fcn\u00fc, testler s\u0131ras\u0131nda 1 saatte ne kadar hata yakaland\u0131\u011f\u0131n\u0131 \u00f6l\u00e7\u00fcp projenin kalitesi hakk\u0131nda bir fikre sahip olabilirsiniz. Ayr\u0131ca Hata D\u00fczeltme H\u0131z\u0131 (HDH) her senaryo i\u00e7in \u00f6l\u00e7\u00fcld\u00fc\u011f\u00fcnde senaryolar\u0131n boyutlar\u0131 ve i\u00e7erdikleri zorluk seviyesi ortaya \u00e7\u0131kart\u0131labilir. E\u011fer bir senaryo i\u00e7in HDH zaman\u0131 uzunsa, kompleks bir senaryo ile u\u011fra\u015f\u0131yoruz demektir (yada \u00e7ok basit oldu\u011fu i\u00e7in analizcilere angarya gibi gelen bir i\u015ftir). Proje plan\u0131nda bu senaryo ve ba\u011fl\u0131 oldu\u011fu fonksiyonlar i\u00e7in daha fazla zaman ay\u0131rman\u0131z yada senaryoyu d\u00fczeltmesi i\u00e7in analizcileri d\u00fcrtmek gerekir. Projelerin kompleks k\u0131s\u0131mlar\u0131n\u0131 anlamak i\u00e7in maliyet analizi de yapabilirsiniz. Mod\u00fcl yada senaryo ba\u015f\u0131na maliyet analizi en fazla kullan\u0131lan tekniktir. <\/p>\n<p>Proje maliyetlerinin \u00e7o\u011fu son iki a\u015famada ortaya \u00e7\u0131kar. Bunlar <\/p>\n<ol>\n<li>\u00dcr\u00fcn m\u00fc\u015fteride kullan\u0131lmaya ba\u015flamas\u0131ndan sonra destek a\u015famas\u0131nda ve<\/li>\n<li>\u00dcr\u00fcn\u00fcn farkl\u0131 m\u00fc\u015fterilere ve sistemlere uydurulmaya \u00e7al\u0131\u015f\u0131lmas\u0131 s\u0131ras\u0131nda<\/li>\n<\/ol>\n<p>Bu a\u015famalarda ortaya \u00e7\u0131kacak hatalar da d\u00fczeltilmesi en maliyetli ve zor hatalardand\u0131r. Zaten kompleks ve zorlu olan bu iki a\u015fama, ortaya \u00e7\u0131kan hatalar ve uzun s\u00fcren HDH zamanlar\u0131 ile i\u00e7inden \u00e7\u0131k\u0131lmaz bir hal al\u0131r. Bu sebepten dolay\u0131 zaten \u00e7o\u011fu proje y\u00f6neticisi bu iki a\u015famay\u0131 proje planlar\u0131na dahil bile etmezler. B\u00f6ylece kaliteyi y\u00fckseltmi\u015f gibi g\u00f6z\u00fck\u00fcrler ama asl\u0131nda projenin en \u00f6nemli k\u0131sm\u0131n\u0131 es ge\u00e7mi\u015flerdir. <\/p>\n<p><strong>Soru 2: \u00dcr\u00fcn\u00fcn do\u011frulu\u011fu hakk\u0131nda ne biliyorsunuz?<\/strong> <\/p>\n<p>Bir program do\u011fru olarak \u00e7al\u0131\u015fmal\u0131d\u0131r. Peki do\u011frulu\u011funu nas\u0131l anlayaca\u011f\u0131z. \u015e\u00f6yle; m\u00fc\u015fteri gereksinimlerine g\u00f6re do\u011fru \u00e7al\u0131\u015f\u0131yor mu test ederek (basit de\u011fil mi? Tabii m\u00fc\u015fteri ne istedi\u011fini biliyorsa). Bu testler s\u0131ras\u0131nda ortaya \u00e7\u0131kan toplam hata rakam\u0131 diyelim ki 3000 olsun. Proje ba\u015f\u0131ndan beri yaz\u0131lan kodun da 150,000 sat\u0131r oldu\u011funu d\u00fc\u015f\u00fcnelim. Bu durumda 150,000*X=3000*1000 form\u00fcl\u00fcnden her 1000 sat\u0131r i\u00e7in 20 hata oldu\u011fu ortaya \u00e7\u0131kar. Tabii bu hatalar\u0131n hepsi \u00fcr\u00fcn m\u00fc\u015fteri taraf\u0131nda kullan\u0131lmaya ba\u015flad\u0131ktan sonra m\u00fc\u015fteri taraf\u0131ndan girilen hatalard\u0131r. Kalite \u00f6l\u00e7\u00fcm\u00fc i\u00e7in bellli bir zaman s\u00fcrecinde bu hatalar toplan\u0131r, \u00f6rne\u011fin 1 sene gibi. \u00dcr\u00fcn m\u00fc\u015fteride kullan\u0131lmaya ba\u015flad\u0131ktan sonra her 1000 sat\u0131r i\u00e7in hata seviyesinin %1,5 ile %2 aras\u0131nda olmas\u0131 gerekir ki \u00fcr\u00fcn\u00fc kaliteli bir \u00fcr\u00fcn olarak farzedebilelim. E\u011fer hata say\u0131s\u0131 \u00fcst limitlerde geziyorsa ki \u00f6rne\u011fimizde \u00f6yle, hata say\u0131s\u0131n\u0131 alt limitlere \u00e7ekmek i\u00e7in \u00e7al\u0131\u015fma yap\u0131lmal\u0131d\u0131r. <\/p>\n<p>Ayr\u0131ca mod\u00fcl ba\u015f\u0131na d\u00fc\u015fen hata say\u0131s\u0131 ve mod\u00fcllerin boyutu g\u00f6z \u00f6n\u00fcne al\u0131narak, kompleks fonksiyonlara daha fazla zaman ayr\u0131lmas\u0131n\u0131n sa\u011flanmas\u0131 gerekir. <\/p>\n<p><strong>Soru 3: \u00dcr\u00fcn\u00fcn ilk s\u00fcr\u00fcm\u00fcnden sonra gelen istekleri ve hatalar\u0131 ne kadar zamanda d\u00fczeltiyorsunuz?<\/strong> <\/p>\n<p>\u00dcr\u00fcn m\u00fc\u015fteriye sunulur ama proje bununla bitmez. Bir destek ekibi 7\/24 problem \u00e7\u00f6zmek i\u00e7in didinir durur. Bu a\u015famada olu\u015fan hata, istek ve entegrasyon problemlerine cevap verme h\u0131z\u0131 \u00fcr\u00fcn\u00fcn kalitesini belirler. Madde halinde s\u0131ralarsak: <\/p>\n<ol>\n<li>\u00dcr\u00fcn m\u00fc\u015fteriye sunulduktan sonra \u00e7\u0131kan hatalar\u0131n d\u00fczeltme h\u0131z\u0131<\/li>\n<li>\u0130stenen de\u011fi\u015fikliklerin analizi, uygulanmas\u0131, testi ve m\u00fc\u015fteriye sunulmas\u0131 s\u0131ras\u0131nda ge\u00e7en zaman ve<\/li>\n<li>\u00dcr\u00fcn\u00fcn farkl\u0131 sistemlere entegre edilmesi veya de\u011fi\u015fen ana sistemle birlikte \u00fcr\u00fcn\u00fcn de buna ayak uydurmas\u0131 i\u00e7in yap\u0131lacak de\u011fi\u015fikliklerin uygulanma h\u0131z\u0131.<\/li>\n<\/ol>\n<p>Genel bir \u00f6l\u00e7\u00fcm birimi olmasa da bu zamanlar\u0131n \u00f6l\u00e7\u00fcl\u00fcp grafik haline getirilmesi ileride \u00e7\u0131kacak hata, istek ve entegrasyon istekleri i\u00e7in tahmin edilecek zamanlar\u0131n daha ger\u00e7ek\u00e7i olmas\u0131n\u0131 sa\u011flayacakt\u0131r. Projenin boyutuna ve yo\u011funlu\u011funa, m\u00fc\u015fteri say\u0131s\u0131na ve hizmet veren programc\u0131, test\u00e7i, analizci vb gibi proje sahiplerine ba\u011fl\u0131 olarak her proje i\u00e7in farkl\u0131 bir g\u00f6sterge ortaya \u00e7\u0131kmas\u0131 do\u011fald\u0131r. <\/p>\n<p><strong>Soru 4: \u00dcr\u00fcn ne kadar g\u00fcvenli?<\/strong> <\/p>\n<p>\u00dcr\u00fcn\u00fcn korsan sald\u0131r\u0131lar\u0131na kar\u015f\u0131 ne kadar g\u00fcvenli oldu\u011fu da bir kalite g\u00f6stergesidir. Korsan sald\u0131r\u0131lar\u0131 direk programa, veritaban\u0131na veya belgelere yap\u0131labilir. Bu \u00fc\u00e7 \u00f6\u011fenin kendini koruyabilmesi ve sald\u0131r\u0131lardan yara almadan kurtulmas\u0131 \u00fcr\u00fcn\u00fcn gevenlili\u011fini g\u00f6sterir. Kod ve Rol seviyesinde g\u00fcvenlik mekanizmalar\u0131n\u0131n kurulmas\u0131, \u015fifreli bilgi al\u0131\u015fveri\u015fi i\u00e7in ortam\u0131n ayarlanmas\u0131, sistemlere ula\u015fan ki\u015filerin izlenmesi ve kay\u0131t edilmesi gerekir. \u00dcr\u00fcn\u00fcn \u00e7al\u0131\u015ft\u0131\u011f\u0131 sistem y\u00f6neticiler taraf\u0131ndan g\u00f6z alt\u0131nda tutulmal\u0131 ve \u015f\u00fcpheli durumlarda otomatik uyar\u0131c\u0131 mod\u00fcller eklenmelidir. \u00d6rne\u011fin her isteyen cumhurba\u015fkan\u0131n\u0131n vergi kay\u0131tlar\u0131n\u0131 g\u00f6rmemelidir. <\/p>\n<p>G\u00fcvenlik tam olarak \u00f6l\u00e7\u00fclecek bir birim de\u011fildir ama g\u00fcnde 10 kere sald\u0131r\u0131ya u\u011frayan bir sistemin her seferinde yara almadan kurtuldu\u011funu bilmek m\u00fc\u015fteri i\u00e7in rahatlat\u0131c\u0131 bir unsurdur. <\/p>\n<p><strong>Soru 5: \u00dcr\u00fcn\u00fcn kullan\u0131labilirli\u011fi hakk\u0131nda ne biliyorsunuz?<\/strong> <\/p>\n<p>Her yeni yaz\u0131l\u0131m \u00fcr\u00fcn\u00fc yada eklenen \u00f6zellik beraberinde belli bir \u00f6\u011frenme s\u00fcreci getirir. Bu \u00f6\u011frenme s\u00fcrecinin uzunlu\u011fu: <\/p>\n<ol>\n<li>Kullan\u0131c\u0131n\u0131n entellekt\u00fcel bilgi seviyesine<\/li>\n<li>\u00dcr\u00fcn ile yararl\u0131 bir \u015feyler yapacak seviyeye gelmek i\u00e7in ge\u00e7en zamana<\/li>\n<li>Yararl\u0131 bir \u015feyler yapacak seviyeye gelmekten tam \u00fcretken olacak zamana kadar ge\u00e7en s\u00fcreye ba\u011fl\u0131d\u0131r.<\/li>\n<\/ol>\n<p>Kullan\u0131labilirlik tamam\u0131 ile m\u00fc\u015fteriden m\u00fc\u015fteriye de\u011fi\u015fecek bir etkendir. Fakat \u00fcr\u00fcn\u00fcn aray\u00fcz tasar\u0131m\u0131, komutlara kar\u015f\u0131 verdi\u011fi cevaplar, tahmin edilebilirli\u011fi, hata durumlar\u0131nda verdi\u011fi yan\u0131tlar ve bir \u00e7\u00f6kme durumunda \u00fczerinde \u00e7al\u0131\u015ft\u0131\u011f\u0131 veriyi bozmadan bir \u00f6nceki haline geri d\u00f6nebilmesi kullan\u0131labilirli\u011fi artt\u0131ran unsurlard\u0131r. <\/p>\n<p>M\u00fc\u015fteri genelde \u00fcr\u00fcn\u00fc hatalar\u0131 ile beraber \u00f6\u011frenir ve bu hatalara kar\u015f\u0131 defans geli\u015ftirir. Yani program m\u00fc\u015fteriyi y\u00f6netmi\u015f olur fakat verinin b\u00fct\u00fcnl\u00fc\u011f\u00fc veya sistemin g\u00fcvenli\u011fi tehlike alt\u0131na girer. Bu t\u00fcr durumlara yer vermemek amac\u0131 ile kullan\u0131labilirlik testlerinin ba\u011f\u0131ms\u0131z ki\u015filer taraf\u0131ndan yap\u0131lmas\u0131 gerekir. <\/p>\n<p>Yaz\u0131l\u0131m s\u00fcre\u00e7lerinde bu metriklerin yerle\u015ftirilmesi ve kullan\u0131lmas\u0131 olduk\u00e7a g\u00fc\u00e7 bir i\u015ftir. Hele ki firmada ge\u00e7mi\u015fte herhangi bir metrik tutulmad\u0131ysa daha da zor olacakt\u0131r. Fakat \u015funu d\u00fc\u015f\u00fcn\u00fcnki e\u011fer \u00f6l\u00e7\u00fcm yapmazsak ilerledi\u011fimizi anlayamay\u0131z. Ben \u00f6rne\u011fin her body building salonuna gidi\u015fimde bir defter ve bir kalem bulunduruyorum ve kald\u0131rd\u0131\u011f\u0131m a\u011f\u0131rl\u0131\u011f\u0131 not ediyorum. \u00d6rne\u011fin 1 ayl\u0131k T\u00fcrkiye tatilinden sonra eski performans\u0131ma kavu\u015fmam bir ay gibi bir zaman ald\u0131. A\u011f\u0131rl\u0131klar\u0131 yazmasayd\u0131m bunu bilemeyecektim. \u00d6te yandan limitlerini bilmek ve biraz daha s\u0131n\u0131rlar\u0131 zorlamak i\u00e7in de tuttu\u011fum kay\u0131tlar\u0131 kullan\u0131yorum. \u00d6rne\u011fin uzunca bir s\u00fcre ayn\u0131 kiloda biceps yap\u0131yorsam bir daha ki antrenmanda 1 kilo artt\u0131r\u0131yorum ve ald\u0131\u011f\u0131m tepkilere dikkat ediyorum. <\/p>\n<p>Proje zaman \u00e7izelgelerinde bu \u015fekilde kompres yoluna gidilebilir ama mutlaka bir \u00f6nceki metrik \u00f6l\u00e7\u00fcmler g\u00f6z \u00f6n\u00fcnde bulundurulmal\u0131d\u0131r. Yoksa yap\u0131lan kompres anlams\u0131z olacakt\u0131r. 5 g\u00fcn s\u00fcrecek bir i\u015fi 2 g\u00fcnde bitirebilmek i\u00e7in yap\u0131lan kompres e\u011fer metod olarak \u00f6nceki metriklere dayanm\u0131yorsa pek bir anlam ifade etmez. <\/p>\n<p><strong>Sonu\u00e7<\/strong> <\/p>\n<p>Bir firma i\u00e7inde yaz\u0131l\u0131m s\u00fcreci boyunca her proje i\u00e7in belli metriklerin tutulmas\u0131 gerekir. Bu kay\u0131t tutma al\u0131\u015fkanl\u0131\u011f\u0131 ileride al\u0131nacak projelere ve zaman \u00e7izelgeleri i\u00e7in tahmin edilecek s\u00fcrelere bir \u0131\u015f\u0131k tutar. Proje baz\u0131nda kaliteyi \u00f6l\u00e7mek i\u00e7in belli rakamlar almam\u0131z\u0131 sa\u011flar. Bu metrikler sayesinde elle tutulur bir kalite anlay\u0131\u015f\u0131na sahip oluruz ve daha da artt\u0131rmak i\u00e7in neler yapmam\u0131z gerekti\u011fini daha a\u00e7\u0131k g\u00f6rebiliriz. Yoksa yaz\u0131l\u0131m s\u00fcrecimiz bir k\u00f6r d\u00f6v\u00fc\u015f\u00fcne d\u00f6ner ki piyasada uzun s\u00fcre kalmay\u0131 d\u00fc\u015f\u00fcnen bir firma i\u00e7in hi\u00e7te iyi bir \u015fey de\u011fil. Uzun s\u00fcreden kast\u0131m \u00f6yle 15 yada 20 y\u0131l de\u011fil. 100 yada 150 sene ortam\u0131n de\u011fi\u015fikliklerine ayak uydurabilmi\u015f ve \u00fcr\u00fcn\u00fc ile s\u00fcrekli devinim i\u00e7inde geli\u015fmi\u015f ve kaliteyi de \u00f6n planda tutmu\u015f bir firmadan bahsediyorum. <\/p>\n<p>Gene hi\u00e7 resimsiz bir yaz\u0131 oldu ama idare edin.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Yaz\u0131l\u0131m m\u00fchendisli\u011finin yegane amac\u0131 y\u00fcksek kalitede bir uygulama \u00fcretmek olagelmi\u015ftir. Bunu ba\u015farabilmek i\u00e7in test edilip onaylanm\u0131\u015f bir metod, y\u00fcksek kaliteli uygulama geli\u015ftirme ara\u00e7lar\u0131 ile birle\u015ftirilerek yaz\u0131l\u0131m s\u00fcre\u00e7lerinde kullan\u0131lmal\u0131d\u0131r. G\u00fcn\u00fcm\u00fczde yaz\u0131l\u0131m ara\u00e7lar\u0131n\u0131n \u00e7ok ilerledi\u011fi bir ger\u00e7ek; demek kaliteyi yakalamak i\u00e7in metodu do\u011fru ve yerinde kullanmam\u0131z gerekiyor. Ayr\u0131ca metoda ne kadar sad\u0131k kal\u0131nd\u0131\u011f\u0131 ve tam olarak kullan\u0131l\u0131p [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"advanced_seo_description":"","jetpack_seo_html_title":"","jetpack_seo_noindex":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[207,214],"tags":[],"class_list":["post-1230","post","type-post","status-publish","format-standard","hentry","category-bilisim","category-turkce"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p90nFK-jQ","jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/www.havatopraksu.org\/blog\/wp-json\/wp\/v2\/posts\/1230","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.havatopraksu.org\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.havatopraksu.org\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.havatopraksu.org\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.havatopraksu.org\/blog\/wp-json\/wp\/v2\/comments?post=1230"}],"version-history":[{"count":1,"href":"https:\/\/www.havatopraksu.org\/blog\/wp-json\/wp\/v2\/posts\/1230\/revisions"}],"predecessor-version":[{"id":3237,"href":"https:\/\/www.havatopraksu.org\/blog\/wp-json\/wp\/v2\/posts\/1230\/revisions\/3237"}],"wp:attachment":[{"href":"https:\/\/www.havatopraksu.org\/blog\/wp-json\/wp\/v2\/media?parent=1230"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.havatopraksu.org\/blog\/wp-json\/wp\/v2\/categories?post=1230"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.havatopraksu.org\/blog\/wp-json\/wp\/v2\/tags?post=1230"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}