<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>글을 잠깐 혼자 써봤던 진성 프로그래머</title>
    <link>https://archijude.tistory.com/</link>
    <description>안뇽?</description>
    <language>ko</language>
    <pubDate>Wed, 1 Jul 2026 20:09:28 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>Jude_Song</managingEditor>
    <image>
      <title>글을 잠깐 혼자 써봤던 진성 프로그래머</title>
      <url>https://tistory1.daumcdn.net/tistory/2268801/attach/e5415ea2738c421e878a4cf8bfd6797e</url>
      <link>https://archijude.tistory.com</link>
    </image>
    <item>
      <title>[공공 데이터 포털]한국공항공사_항공기 운항정보 - 도시별 코드</title>
      <link>https://archijude.tistory.com/601</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;MGF(마링가), MGM(몽고메리), MGQ(모가디슈/아덴아드), MHD(마슈하드), MIA(마이애미), LIN(밀라노), MXP(밀라노), BGY(밀라노/밀라노베르가모-오리오), SWK(밀라노/세그라테), MCI(캔자스시티), MKC(캔자스시티/캔자스시티다운타운), MKE(밀워키), KAC(밀워키/배튼국제공항), MLA(몰타/말타), MLE(말레), MMX(말모/말모스툴업), MMB(메만베츠/메만베쓰), MMJ(마쯔모토/마쓰모또), MMK(무르만스크), MMU(모리스타운), MNL(마닐라), MNS(만사), CCS(카라카스/마이케티아), FEZ(페스), GUW(아테라우), LIM(리마/호르에샤베즈), MHV(모하비), SHI(미야코지마/시모지시마), MMY(미야코지마/미야코), MYZ(몽키베이), OAI(바그람/아프카니스탄), OAA(바그람), TSJ(쓰시마), UKB(고베/고베공항), UUR(타간로크), CTU(청두), TFU(청두/청두티엔푸공항), DDG(단둥/단동), DLH(덜루스), DMB(잠불/타라즈), WRI(워싱턴/맥과이어), IAD(워싱턴), DCA(워싱턴/로널드레이건워싱턴), WAW(바르샤바), YCN(코흐레인/코크레인), PBI(웨스트팜비취/팜비취), PDX(포틀랜드), HIO(포틀랜드/힐스보로), PKO(파라코우), XRY(팔마/제레즈), PMI(팔마/팔마공항), JED(제다), KBV(끄라비/크라비), KCH(쿠칭), KJA(크라스노얄스크/크라스노야르스크), KOJ(가고시마), KOW(간저우), WHA(간저우/우후), KUH(구시로), SZB(쿠알라룸푸르/술탄압둘아지즈), KUL(쿠알라룸푸르), LAH(라부하), LAO(라오아그), KUO(쿠피오/쿠오피오공항), RAK(마라케쉬), OSR(오스트라바/레오시야나체크), USM(코사무이), NLV(미콜라이프), ZUH(주하이/주해), FSZ(시즈오카), TSV(타운즈빌), PEE(페름/볼쇼이샤비노), GRK(킬린), RKT(라스알카마이), MZR(마쟈리샤리프), BRS(브리스틀), BLR(뱅갈로/방갈로르), SGC(수르구트), POZ(포츠난), KRT(카툼/카르텀), UAB(아다나/인쥘리크), ADA(아다나), PNQ(푸네/퓨운), KAO(쿠사모), LYS(리옹/리옹-사토라스), YYR(구즈베이), PAP(포르토프랭스/포르토프랑스), CWB(쿠리치바/쿠리티바), FIH(킨샤사), MAO(마나우스/에두아르두고메스), SUV(피지), TNR(안타나나리보/안타나나리보이바토공항), AWF(포트워스/포트워스얼라이언스), YXE(새스커툰), NCL(뉴캐슬), MRU(모리셔스), BEG(베오그라드), ZAZ(사라고사), LIL(레스퀸), APW(아피아/팔레올로), LPQ(루앙프라방/루앙프라방), JYV(지바스킬라), KNH(진먼), CHQ(하니아), HET(후허하오터/후허하오티), COS(콜로라도스프링스/콜로라도스프링스), FAR(파고), HGH(항조우/항저우), SDM(브라운필드무니), SEZ(마헤/세이셸), DUR(더반), WKF(워터클루프/워터크루프), OOL(골드코스트/쿠란가타), SHP(친황다오/친황따오), SYZ(쉬라즈), IPH(아포), MXE(맥스톤), BWE(브라운슈바이크/브라운쉬바이그), SUS(세인트루이스), OER(오로스콜드수빅), TEX(텔룰라이드), MFE(맥앨런/맥앨런-밀러), MXL(맥시칼리), BCD(바콜로드), VNS(바라나시), INC(인촨(은천)/은천(인촨)), BED(배드포드), SCO(악타우), BGW(바그다드), MTY(몬테레이), XNN(시닝), ISN(슬로린필드), BIL(빌링스/빌링스로간), NDG(치치하얼), PER(퍼스), BFR(시애틀), ATW(애플턴), AAE(안나바), TIM(템바가푸라), PNK(폰티아나크), BGO(베르겐/베르겐플레스랜드), EBB(엔테베), JJN(진장/취안저우), BUF(버팔로/버팔로나이아가라), NMT(남튜), JNU(앨라모사/준오), ALS(앨라모사/산루이스계곡지방), NUQ(마운틴뷰/모페트), HPH(하이퐁), LJG(리장), TSF(트레비소), HSZ(신주/신주공군기지), MLH(뮐루즈/베일뮐루즈), JNZ(진저우), IBZ(이비자), DUS(뒤셀도르프), IWK(이와쿠니), OSW(오르스크), UTH(우돈타니), ZGC(란저우), LHW(란저우), GDL(과달라하라/미구엘히달고), ORB(외레브로/오레브로보포르), SBW(시부), KCO(이즈미트/이즈밋토펠), DWC(제벨알리알막툼/두바이/알막툼), KRW(투르크멘바시/터크멘바시), XUZ(쉬저우), OST(오스텐/오스텐드), BOJ(부르가스), GBB(아제르바이잔/카빌라), FLR(피렌체), BKA(모스크바/비코보), SVO(모스크바), UMO(모스크바/오스타예보), VKO(모스크바/보누코보), MOW(모스크바), DME(모스크바/도모데도보), OSF(모스크바/오스타피예보), UUB(모스크바/라멘스코예), ZIA(모스크바/라멘스코예), MPK(목포), MQF(마그니토고르스크), MRG(마리바), MRS(마르세유), MRY(몬터레이/몬테레이), MSJ(미자와/미사와), MIC(미니애폴리스/미니애폴리스크리스탈), MSP(미니애폴리스), MSQ(민스크), MSY(뉴올리안스/뉴올리언스암스트롱), MTJ(몬트로즈), MUC(뮌헨), AGB(뮌헨/아우스버그무엘하우젠공항), MWX(무안), MYJ(마즈야마/마쓰야마), MYP(마리/트럭메니스탄), MYY(미리), MZG(마쿵/마공), MZJ(마라나), NAK(나콘라차시마/코라트), NAN(나디/난디), NBO(나이로비), NCE(니스), NGB(닝보), NGF(카네오헤/모카푸카노헤베이), NGO(나고야/나고야/주부센트레아), NGS(나가사키), NHD(민하드/민하드공군기지), NJA(아수끼), NJC(니즈네바토브스크/니주네바르토프스크), NKG(난징(남경)/난징), NKW(디에고가르시아/디에고가르시아미공군기지), NMA(나망간), NNG(난닝), NOU(노우미아톤투타/누메아), NOZ(노보쿠즈네츠크), NTQ(노토/와지마/노토), NUE(뉘른베르크), NVY(네이벨리), LGA(뉴욕/뉴욕라과디아), NYC(뉴욕), JFK(뉴욕/뉴욕/존에프케네디), OAK(오클랜드), OBO(오비히로), OGG(카훌루이/카올리), OIT(오이타), DNA(오키나와/카네다공군기지), OKA(오키나와), OKI(오키), OKJ(오까야마/오카야마), OAE(요꼬다/옴니버), OMA(오마하/오마하-에플리), OME(놈), OMS(옴스크), ONJ(오다테/오다테노시로), ONT(온타리오), MCO(올랜도), ORL(올랜도), QQS(올랜도/NASA셔틀랜딩퍼실러티), ITM(오사카/이타미), KIX(오사카/간사이), YAO(오사카/야오), OSC(오스코다), OSK(오스카/오스카르스함), OSL(오슬로), TRF(오슬로/산데피오르드), OSN(오산), OSS(오쉬), OVB(노보시비르스크), PAE(에버레트/에버렛), CDG(파리/샤를드골), LBG(파리/르부아제), ORY(파리/파리/오를리), PBH(파로), PEK(베이징/서우두), PEN(페낭), PES(페트로자보스크/베소베츠), PHC(포트하커트/포트하르코트), PHI(피네이로/시캠), PHL(필라델피아), PNE(필라델피아/북동필라델피아), PHX(피닉스/피닉스스카이하버), GYR(피닉스/피닉스굳이어공항), AZA(피닉스/피닉스메사게이트웨이), PIE(세인트피터즈버그), PNH(프놈펜), PNI(폰페이/폼페이), POM(포트모레스비/포트모르즈비), KVG(포트모레스비/카비엥), PPS(푸에르토프렌세사/푸에르토프린세사), PPT(타히티/파페에테), PRG(프라하), PSA(피사), PSP(팜스프링스/팜), PTK(폰티악/폰티액), PTN(패터슨), PTY(토쿠멘), PUS(부산/김해), PUY(풀라), PWQ(파블로다), RAM(라밍닝/라민지닝), REK(레이퀘빅/레이캬비크), REP(씨앰립/시엠립), SAI(씨앰립/시엠립앙코르), RGN(랑군/양곤), RIX(리가), RMS(람스테인/램스타인), RNO(리노), NZH(만저우리), HLD(하이라얼/후룬베이얼하이라얼), KOS(시하누크빌/시하눅빌), TLN(히에레스), RVN(로바니미), BLQ(볼로냐), CXR(나트랑), NHA(나트랑/니트랑), HMY(서산), MDL(만달레이), SVG(스타방게르), ADK(아닥/애닥), ADL(애들레이드/아델레이드), ADQ(코디액), AKJ(아사이까와/아사히카와), AKL(오클랜드), AKN(킹살몬), LKK(킹살몬/쿨릭레이크), AKX(아티빈스크), ALA(알마티), ALB(알베니/알바니), ALG(알지에/알제), AMA(애머릴로), AMD(아메다바드/아마다비드), AMM(암만), AMS(암스테르담), SPL(암스테르담/암스테르담(스키폴)), ANC(앵커리지), AND(앤더슨/앤더슨공항), ANK(앙카라), ESB(앙카라), AOJ(아오모리), AQJ(아카바), ARH(아르항겔스크), ASB(아쉬카바드/아쉬가바트), ASC(데드호스), ASP(엘리스), ATH(아테네), PDK(아틀란타/데칼브피치트리), ATL(아틀란타/애틀랜타), AZI(아부다비/바틴공항), AUH(아부다비), AUS(오스틴), AVV(아발론/아바론), AWA(아와사), AXT(아끼다/아키타), AYT(안탈리아), AZN(안디잔), BAH(바레인), OBB(바레인/이사공군기지), BAS(발라래), BAX(바르나울), BCH(바카우/바우카우), BCN(바르셀로나), BDA(버뮤다), BDL(윈저락스), BEN(벵가지/뱅하지), BER(베를린), TXL(베를린), SXF(베를린/쉐네팰트), THF(베를린/베를린템펠호프), BET(베델), BEY(베이루트), BFN(블룸폰테인/블룸폰테인헐트조그), BFS(벨파스트), BHD(벨파스트), BGR(뱅고르), BHK(부하라), BIE(베아트리체), BIK(비아크), BKI(코타키나발루), BKK(방콕/수완나품), DMK(방콕/돈므앙), BLL(빌룬드), BNA(내쉬빌/내슈빌), BNE(브리즈번), BOM(뭄바이), BOS(보스톤/보스턴), PSM(보스톤/포츠머스), BPN(발릭파판), BQH(비긴힐), BQS(블라고베시첸스크/블라고베셴스크), BRE(브레멘), BRU(브뤼셀), BSL(바젤), BST(보스트), KBL(보스트/카불), BTH(바탐), BTK(브라츠크), BTU(빈툴루), BUD(부다페스트), BBU(부카레스트/부차레스트), OTP(부카레스트/부챠레스트), BUR(버뱅크), BWI(볼티모어), BWN(세리베가완브루나이/반다르스리브가완), BWT(브루나이), CAI(카이로), CAN(광저우), CBG(켐브리지), CCK(코코스), CCU(캘커타/캘거타), CDB(콜드베이), CEB(세부), CEI(치앙라이), CEK(첼랴빈스크/첼리아빈스크), CGN(퀼른/쾰른), CGO(정주/정저우), CGP(치타공), CGQ(장춘/창춘), CHC(크라이스트처치), DPA(시카고/웨스트시카고), CHI(시카고), PWK(시카고/시카고폴워키), ORD(시카고/시카고/오헤어), CHR(샤터룩스/샤토루), CHS(찰스틴/찰스톤), CIT(침켄트/쉼켄트), CJJ(청주), CJU(제주), JDG(제주/제동), CKG(충칭(중경)/충칭), CKL(체칼로브스키), CRQ(칼스배드/카라베라스), CLD(칼스배드/?클레란), CLT(샤롯테/샬럿더글라스), CMB(콜롬보), CMF(샹베리/챔벌리), LCK(콜럼버스), CMH(콜럼버스), CNS(캐언스/케언스), CNX(치앙마이), CPH(코펜하겐), RKE(코펜하겐/로스킬레), CPM(콤프톤), CPT(케이프타운), CRK(클락필드/클라크필드), CRZ(차조우/투르크메나바트), CSX(장사), HHA(장사/후앙후아), CTI(칸곰바/쉬리켄트), LUK(신시내티/신시나티), CVG(신시내티), CYI(치아이/치아이(자이)), CZX(창저우), DAC(다카), GZR(다카/방글라데시), DAD(다낭), DAR(다르에스살람), DAY(데이턴), DWF(데이턴/라이트패터슨공군기지), DBV(드보르부니크/두브로브니크), DEL(델리), APA(덴버/콘테니얼), DEN(덴버), BJC(덴버/제프코), PHN(디트로이트/세인트클레어카운티), DAL(댈러스/댈러스/Lovefield), DFW(댈러스/댈러스/댈러스포트워스), DGO(두랑고), DHA(다란), DJE(제르바), DKR(다카르), DSS(다카르/블레즈-디아뉴), DLC(대련/다롄), KLD(칼리닌/칼리닌그라드), KLO(칼리보), KMG(쿤밍), SHH(쿤밍), KMI(미야자키), KMJ(구마모도/구마모토), KMQ(고마스/고마쓰), KOA(코나), KPE(야시에이/얍시이), KPO(포항/포항경주), KSG(키센간), KSK(칼스코가), KSM(세인트마리스), KTM(카투만두/카트만두), KUA(쿠안탄), KUF(사마라), KUN(카우나스), KUV(군산), KWE(구이양), KWG(크리보이록/크리보이로그), KWI(쿠웨이트), KWJ(광주), KWL(계림/구이린), KXK(콤솜스크나무르/크후르바), KZN(카잔), LAD(루안다/루안다콰트루드페베레이루), LAS(라스베가스/라스베이거스), LAX(로스앤젤레스), LBU(라부안), LBV(리브르빌), LCA(라르나카), LED(세인트페테르부르크/상트페테르부르크), LEJ(라이프치히), LGB(롱비치), LGG(리에쥬/리에주), LGK(랑카위), LHE(라호르), LIH(카우아이섬/리후에), LIS(리스본), LIT(리틀락/리틀락), LKO(러크나우), LLA(룰리아/룰레오), LLU(알루잇섭/알루잇섭파), STN(런던/스텐스테드), LGW(런던/런던/개트윅), LHR(런던/런던/히드로), LON(런던), LTN(런던/루턴), LCY(런던/런던시티), LOS(라고스), LTS(알투스), LUG(루가노), LUX(룩셈부르크), LYG(라용/연운항), MAA(첸나이(마드라스)/첸나이), TOJ(마드리드/스페인마드리드), MAD(마드리드), AFE(마드리드/헤타페공군기지), MAJ(마주로), MAN(맨체스터), MBB(마블바), MBC(마비고/음비고(엠비구)), MBE(몬베쯔), MCT(머스캇/무스카트), MCX(마하츠칼라), MDC(마나도), MDG(무단장/목단강), MDT(헤리스버그), MDW(미드웨이), MDY(미드웨이샌드/미드웨이나프), MEB(멜버른/에센던), MEL(멜버른), MLB(멜버른/멜버른국제공항), MEM(멤피스), MES(메단), MEX(멕시코시티/멕시코시티), HAK(하이코우/하이커우), XFW(함부르크), HAM(함부르크), HAN(하노이), VVX(하노이/토슈안), HEL(헬싱키), HFE(허페이), HGR(행거스타운/해거스타운), HHN(한/프랑크푸르트/한), HIJ(히로시마), HIW(히로시마/히로시마니시), HIN(진주/사천), HKD(하꼬다데/하코다테), HKG(홍콩), HKT(푸켓), HMA(한티-만시스크/한티만시스크공항), HMN(앨러머고도), HNA(모리오카/하나마키), HNL(호놀룰루), HIK(호놀룰루/히캄공군기지), HON(호른), HOU(휴스톤/휴스톤호비), IAH(휴스톤/휴스턴), HPN(웨스트체스터/웨스트체스터카운티), HRB(하얼빈), HSG(사가), HSV(헌츠빌), HTA(치타), HUI(휴이휴), HUN(화롄), HYD(하디라버드), HOM(미국/호머), FOK(미국/웨스트햄튼비치), SUA(미국/위텀필드), TKI(미국/매키니), ICN(인천), ICT(위치콘), RAC(위치콘/배튼국제공항), KBP(키예프/보리스필), IEV(키예프/키예프-쥴하니), IFN(이스파한), IGU(이과수폭포/이과수), IKT(이르쿠츠크), ILM(윌밍턴), ILN(윌밍턴(오하이오주)/에어본에어파크), IND(인디아폴리스/인디애나폴리스), IQN(퀸강장/청양), ISB(이슬라마바드), SAW(이스탄불/이스탄불사비하), IST(이스탄불), ISL(이스탄불/아타튀르크(이스탄불신공항)), IWJ(이와미), IZO(이즈모), JAI(자이푸르), JAX(잭슨빌), JHB(조호바루), JIB(지부티/앙볼리), CGK(자카르타/자카르타/수카르노하타), HLP(자카르타/하림), JKT(자카르타), JMK(미코노스), KAD(카두나), KCZ(고찌/고치), KEF(케프라비크/케플라비크), KEJ(케메로보), KGF(카라간다), KHH(카오슝/가오슝), KHI(카라치), KHN(난창), KHV(하바로프스크), KIJ(니이가타/니가타), KIV(키시나우), KKJ(키타큐슈), SNN(샤논/새넌공항), SNP(세인트폴섬(알래스카주)/세인트폴아이랜드), SOF(소피아), SOU(사우샘프턴), SPK(삿포로/지토세), OKD(삿포로/오카다마), CTS(삿포로), SPN(사이판), SPS(위치토/위치토세펄드), IAB(위치토/위치토멕코넬), SSC(섬터/샤우공군기지), ARN(스톡홀름), BMA(스톡홀름), NYO(스톡홀름), STP(세인트폴(미네소타주)/세인트폴), STR(슈투트가르트), SUB(수라바야), SUU(트라비스/트레비스), SUW(슈피리어/슈피리어리차드), SVX(예카테린부르크/예카테린브르크), SWA(산터우), SWF(뉴버그), SWU(수원), SYA(셈야/쉠야), SYD(시드니), SYO(쇼나이), SYX(산야/싼야), SZG(잘츠부르크), SZX(심천/선전), TAE(대구), TAK(다가마스/다카마쓰), TAN(태안), QDY(태안/태안비행장), TAO(청도/칭다오), TAS(타쉬켄트/타슈켄트), TEB(티터보로/테터보로), IKA(테헤란), THR(테헤란), TIJ(티후아나/티주아나), DAN(댄빌), DUD(더니든), MME(더럼티스사이드/더럼티즈밸리), DBO(더보), DPO(데번포트), DOK(도네츠크), YDQ(도슨크릭), DRO(두랑고/두랑고라프라타), DNK(드네프로페트로프스크), DIJ(디종), DIK(디킨슨/디킨슨테오도어루즈벨트), TST(뜨랑), LCG(라코루냐), UNN(라농), LRD(라레도), LPA(라스팔마스/그랜카나리아-라스팔마스), ACE(란자로떼), LPT(람팡), LAR(래러미), RAP(래피드시티), LBB(러벅), LEX(렉싱턴/렉싱턴-블루글래스), LDH(로드하우군도/로드하우아일랜드), ROC(로체스터NY), RST(로체스터(미네소타주)), ROT(로터루아/로투루아), LAW(로턴), RKS(록스프링스/록스프링스스위트워러), RFD(록퍼드/락포드), LST(론서스턴), RDU(롤리/더럼/롤리-더럼), GGG(롱뷰/동부텍사스), LJU(류블랴나), LYX(리드/리스국제공항), LBL(리버럴), RIV(리버사이드/리버사이드공군기지), RIW(리버톤), LPL(리버풀/리버풀존레논), LIR(리베리아/리베리아(다니엘오두버키로스)), LSY(리스모어), YQR(리자이나), LBA(리즈/리즈/브래드포드), NYT(네피도), PQC(푸꼭(푸국)/푸꾸옥), PAD(파더보른), HIR(호니아라/호니아라(핸더슨)), ZAD(자다르), NTG(난퉁/난통), RLG(로스토크/독일로스톡공항), BRN(베른/버밍햄), QRO(쿠르타로), HHG(헌팅턴), ZZZ(기타), ADB(기타/아드난멘데레스), DIL(기타/프레지덴테니콜라우로바토국제공항), NMF(기타/마파루), RAR(기타/라로통가), KQT(기타/쿠르곤티우베), PDV(기타/쿠루모포), TRW(기타/본리키(타라와)), SLL(살랄라), MED(메디나/메디나공항), BAR(충하이보아오), VCA(껀터/칸토껀터), KVO(크랄레보/크랄레보모라바), TRK(타라칸/주와타), ROZ(로타), INN(인스브루크), WMI(바르샤바모들린마조비아), RIC(리치몬드), LNZ(린츠/린츠(hoersching)), LNK(링컨), MCY(마루키도르/마루치도르), MZT(마사틀란), MGB(마운트갬비어), AGP(말라가), LCL(리나델리오/라콜로마), MSN(매디슨/덴카운티), MKY(매카이), MCK(맥쿡), MIM(메림불라), MOB(모빌), SIY(몬태규), MBJ(몬테고베이/몬테고베이-생스터), MCM(몬테카를로/모나코헬리포트), THS(수코타이), FSD(수폴스), SHV(슈리브포트), YYD(스미더스), SKA(스포캔/스포캔페어차일드), GEG(스포캔), SPU(스플리트/스프릴트), CID(시더래피즈), SYR(시러큐스/시러큐스핸콕), TTH(썸래잇/섬레이트), AGU(아과스칼리엔테스/아과스칼리엔트스), ARM(아르미데일/아미데일), ABV(아부자), AST(아스토리아), ASE(아스펜/아스펜피트킨), ACA(아카풀코), ALP(알레포), HBE(알렉산드리아/보르그엘아랍), ALY(알렉산드리아/엘누즈하), ALC(알리칸테), YAA(애너힘호수/에너힘레이크), ADS(애디슨/아디슨), ABI(애빌린/애빌린지방), CAK(애크런/애크런-캔턴), ABX(앨버리), ABQ(앨버커키), BFF(스코츠블러프/서쪽네브래스카지역), SKP(스코페), AIA(얼라이언스), EVV(에번즈빌), EVX(에브뢰), AYQ(에어즈락/코넬란), ELD(엘도라도/남부아칸소주), ELP(엘패소), VDA(오브다), DWN(오클라호마/오클라호마다운타운), OKC(오클라호마/오클라호마윌로저스), YOW(오타와), WGA(와가와가), NZW(와이타케레/훼누아파이공군기지), JNB(요하네스버그), JOG(욕야카르타/요그야카르타), UBP(우본라차타니), UKK(우스트카메노고르스크/오스트카메노고르스크), WOL(울런공/일라와라(쉘하버)), WSZ(웨스트포트), KOE(엘타리), GOI(고아/고아(다보림)), MWE(메로베), KNG(카이마나), MWH(모제스레이크/그랜트카운티), AMQ(암본/파티무라), DSA(돈커스터셰필드/로빈후드), IAR(야로슬라블/투노시나), NUW(오크하버/위드비섬해군비행장), KUW(오크하버/워드비섬해군비행장), ISK(나시크/오자르), KUM(야쿠시마), PIR(피어), PIA(피오리아), PIT(피츠버그), PHS(핏사눌록), HRE(하라레), HAV(하바나/하바나-호세마르티), HVB(하비베이/허비베이), HOT(핫스프링스/메모리얼), HLZ(해밀턴), HTI(해밀턴아일랜드), HYS(해이즈), HUY(험버사이드), HDN(헤이든/얌파계곡), HNN(호니나비), HBA(호바트), DZN(제즈카잔), ATA(안타(와라즈)), BRQ(브르노/브르노투라니), KZO(키질로르다), MHZ(밀덴홀/밀덴홀공군기지), TIQ(티니안섬/티니안), URA(우랄스크(오랄)/우랄스크), URR(우라오), TBU(누쿠알로파/푸아모투), HSI(헤이스팅스), BFJ(비제/비제페이슝), BLI(벨링햄), BMB(붐바), LYA(뤼양(낙양)/뤄양(낙양)), HRI(함반토타/마탈라라자팍사), ABJ(아비장/포르부에(펠릭스우푸에부아니)), TRS(론키데이레지오나리/트리에스테프리울리베네치아줄리아), REN(오렌부르크/첸트랄니), TIN(타이난), MJI(트리폴리/미티가), TIP(트리폴리), TJH(토요오카/타지마(다지마)), TJM(튜멘/로치노), TKK(트럭/추크), TKS(도쿠시마), TLC(툴루카/톨루카), TLL(탈린/르나르메리탈린), TLS(툴루즈), TLV(텔아비브), TNA(제남/지난), TNN(타이난), TOF(톰스크), TOL(톨레도/토레도), TOY(도야마), TPE(타이페이/타오위안), TSA(타이페이/쑹산), TRG(타우랑가), TSE(누르술탄), NQZ(누르술탄/아스타나국제공항), TSN(톈진), TTJ(토토리/돗토리), TTT(타이둥), TUL(툴사/털사), TUN(튀니즈/투니스), TUS(툭슨/투손), RMQ(타이쭝/타이중/칭촨강), TXN(퉁치/황산), TYN(타이유안/타이위안), HND(도쿄/하네다), TYO(도쿄), NRT(도쿄/나리타), OKO(도쿄/요코다), UBJ(우베/야마구치우베), UFA(우파), ULN(울란바토르), UBN(울란바토르/칭기스칸), ULY(울랴노브스크/울랴봅스크), URC(우루무치), KHG(우루무치/카시라이닝), URT(수랏타니), USN(울산), USQ(우샤크), UTP(우타파오/우따파오), UUD(울란우데), UUS(사할린), VBS(브레시아), VCX(브레시아/이탈리아), VCE(베니스), VCV(빅토빌/빅터빌), VIE(비엔나), VIT(비토리아), VLC(발렌시아), VNY(밴나이스/캘리포니아), VPC(캐터스빌/카터스빌), VTE(비엔티안), VVO(블라디보스톡/블라디보스토크), WEH(위해/웨이하이), WJU(원주), WKJ(와카나이), WRO(브로츠와프), XCR(샤론스/샬롱), XMN(하문/샤먼), YEG(에드먼튼/에드먼턴), YGJ(요나고), YHZ(핼리팩스), YKS(야쿠츠크), YNJ(연길/옌지), YNT(연대/옌타이), YNY(양양), YNZ(염성/옌청), YQG(윈저락), YQX(뉴펀들랜드주/갠더), YFB(토론토/프로비셔만), YVR(밴쿠버), YWG(위니펙), YXX(애보츠포드), YXY(화이트홀스/화이트호스), YYC(캘거리), YYZ(토론토), YZD(다운스비위), YZF(엘로우나이프/옐로나이프), ZRH(취리히), AAN(알아인/알아인), ABA(아바칸), ABL(앰블러), ACD(아칸디), ACY(아틀랜틱시티/아틀랜틱), ADD(아디스아바바/볼레(아디스아바바)), ADE(아덴/예맨), RTM(로테르담), UJN(울진), ABZ(에버디인/에버디인-다이스), AER(소치), AGR(아그라/케리아), BTS(브라티슬라바), OEY(리야드), LKL(라크셀브/바낙공항), WEF(웨이팡(유방)/웨이팡), YTY(양저우(양주)/양저우), HHQ(후아힌), UIO(키토), ATQ(암리차르), IWO(이오지마(이오토)/이오지마), NCU(누쿠스), BAV(바우터우), FDH(프리드리히스하펜/프리드리히샤펜), YYJ(빅토리아), LOP(롬복), BJX(레온/레온-델바히오), BCO(진카/바코), UGC(우르겐치), DHF(알다프라), VGO(비고), MFR(메드포드/메드포드-로그밸리), BJV(보드룸/밀라스), NSI(야운데/시말런공항), SBD(샌버너디노/샌버너디노국제공항), PIF(핑풍/핑풍공항), LPI(린셰핑/린세핑), PKX(베이징/다싱), ACT(웨이코), AWK(웨이크섬/웨이크섬비행장), WDH(윈드훅), YWL(윌리암스레이크), YUM(유마), EUG(유진/유진-말론), ZIH(익타바/지후아테네조), IVR(인버렐), ILO(일로일로/만드리아오), AMB(입스위치/암베르리), JAN(잭슨(미시시피주)), JAC(잭슨(와이오밍주)/잭슨홀(와이오밍주)), GIB(지브롤터), GCC(질레트/질레트-캠벨), CHA(채터누가/채터누가-러벨필드), CUU(치와와), KAN(카노/말람아미누카노), CWL(카디프), CMN(카사블랑카/모하메드V), KTW(카토비체/카토와이스), CUN(칸쿤), CLL(칼리지스테이션/이스터우드), VCP(캄피나스/비라코푸스(캄피나스)), CPR(캐스퍼/캐스퍼-나트로나), YCG(캐슬잘), YKA(캠룹스), YBL(캠벨리버), EAR(커니), CAE(컬럼비아), YLW(켈로나), COD(코디/엘로우스톤/엘로우스톤), CEZ(코르테즈/몬테주마), YQQ(코목스/코목스밸리), KSN(코스타나이), CJB(코임바토르/필라메두공항), CZM(코쥬멜), COK(코친), ORK(코크), CRP(코퍼스크리스티), KKC(콘캔), CFS(콥스하버/콥스하버(코프스하버)), KWH(콰한), CUR(쿠라사오/쿠라사오-하토), YQZ(퀘스넬), KRK(크라쿠프/크라쿠프-발리스), YXC(크랜브룩), CLJ(크루즈), KRS(크리스티안산), LYI(린이), PMO(팔레르모/팔코네보르셀리노), YIH(이창), LAN(랜싱캐피탈시티/랜싱캐피탈시티), MQT(마켓/소여), BZZ(옥스포드/브라이즈노턴), SMM(샘포르나), TRN(투린(토리노)/토리노), ZYI(쭌이), NAG(나그푸르), INV(인버네스), MST(마스트리히트/마스트리히트아헨), NBS(바이샨/창바이샨), WOS(원산), TGD(포드고리카), FUJ(후쿠에), CAY(카옌로샹부공항/카옌로상부공항), UDR(우다이푸르), SGR(휴스턴슈거랜드/슈거랜드), PFO(파포스), YEV(마이크주브코), SSG(말라보/산타이사벨), GRU(상파울로/상파울루), ULM(뉴울름), TIA(티라나/티라나리나스), GFK(그랜드포스크/그랜드포크스), ERF(에르푸르트/에르푸트르), JWO((충주)중원비행장/중원), KLU(클라겐푸르트/알페아드리아클라겐푸르트), CLE(클리블랜드/클리블랜드-홉킨스), JRO(킬리만자로), KNS(킹아일랜드), KTP(킹스톤), TUU(타북), TYR(타일러/타일러파운즈), TCM(타코마/맥코드), TPA(탬파), TFS(테네리페), YXT(테라스), SKG(테살로니키), TXK(텍사캐나), TRC(토레온), TAB(토바고/토바고-크라운포인트), YAZ(토피노), TTN(트렌턴/트랜턴머서), TRD(트론헤임), TIV(티밧/몬테니그로TIVAT공항), PBM(파라마리보/요한아돌프펜겔), FAO(파로), PMR(파머스턴노스/파머스턴노스), FMN(파밍턴/훠코너(파밍턴)), PSC(파스코/트라이시티), YPW(파월리버), IXP(파탄코트), PLM(팔렘방/술탄마흐무드바다루딘2세), FFD(페어포드/페어포드공군기지), XNA(페이트빌), PKU(페칸바루/술탄샤리프카심2세), PKC(페트로파블로프스크), PNS(펜서콜라), YYF(펜틱턴), PMV(포르라마르/포르라마르-카리브연안), OPO(포르토), RSW(포트마이어스/플로리다남서부), YXJ(포트세인트존), FSM(포트스미스), FWA(포트웨인), YZT(포트하디), FUE(푸에르테벤투라), PVR(푸에르토바야르타), PUB(푸에블로), FNC(푼샬/마데이라), PUJ(푼타카나), FAT(프레즈노), PVD(프로비던스), FNA(프리타운/프리타운-룽기), YPR(프린스루퍼트/딕비아일랜드), YXS(프린스조지), MBA(몸바사), HDY(핫야이), IQA(알안바/알아자드), ISG(이시가키), OAZ(캠프배스티언/캠프베스티안), PGU(페르시안걸프/페르시안걸프), SDF(루이빌/스탠디포드필드(루이스빌)), STL(세인트루이스), TBS(트빌리시), HIA(화이안), YIW(이우/이우공항), AFA(산라파엘), SZZ(슈체친), VDO(번돈국제공항), TAG(타그빌라란/보홀(탁빌라란)), BIF(포트블리스/비기스아미필드), IOM(맨섬/로날즈웨이), DLI(달랏), ACC(아크라/아크라-코토카), ANR(안트베르펜(앤트워프)/앤트워프), TEQ(터커댁/터키콜루공항), ISU(술라이마니야), APF(네이플스/네이플스공항), UGN(시카고/와키건), YMX(몬트리올), YUL(몬트리올), MLI(몰린), FMO(뮌스터/뮌스터-오스나브뤼크), MAF(미들랜드), MSO(미졸라), MQL(밀두라), VRA(바라데로), BJL(반줄), VPS(발파라이소), BTR(배턴루지), BNK(밸리나/밸리나바이런게이트웨이), BHM(버밍엄), VRN(베로나/베로나빌라프랑카), EGE(베일/이글/이글카운티), QBC(벨라쿨라), BZE(벨리즈시티/벨리즈시티-필립), BLV(벨빌/세인트루이스), BON(보네르/보네르-플라밍고), QFD(보우파리크), BOI(보이시), BZN(보즈맨/보즈맨-갈라틴), BFV(부리람), EZE(부에노스아이레스), OUA(와가두구/와가두구공항), VII(비니/비니공항), BIS(비즈마크), VNO(빌니우스), BIO(빌바오), SAV(사바나), SVN(사바나/서배너(미공군기지)), SNO(사콘나콘), SJT(산안젤로), SJO(산호세/산호세-후안산타마리아), SJD(산호세델카보/로스카보스), SJU(산후안/산후아-루이즈뮈노즈마린), SLP(산루이스포토시), SNA(산타아나/존웨인-오렌지카운티), SPC(산타크루즈/산타크루즈라팔마), ZAM(삼보앙가/삼보앙가국제공항), SMF(새크라멘토), MHR(새크라멘토), MCC(새크라멘토/맥클레란), YZP(샌드스핏), SAF(샌타페이), CYS(샤이엔), CMI(샴페인/일리노이월러드), SDX(세도나), SRG(세마랑), SVQ(세비야/세비야공항), UVF(세인트루시아), ADJ(암만), GES(제너럴산토스), DAT(다퉁(대동)/다퉁), SGD(손도보리손도버그), DSN(오르도스), SMO(산타모니카), PIK(글래스고/프레스트위크), GLA(글래스고), GOA(제노바/제노아크라이스토포로), NHT(노스홀트), SBT(사베타), SCQ(산티아고데콤포스텔라/산티아고), KBR(코타바루/술탄이스마일페트라), AHO(알게로/알게로-페르티리아), NAP(나폴리), GUR(거니), UIH(퀴논/퀴논(푸캇)), NKM(코마키), YYT(세인트존스), SHR(셰리든), GCK(가든시티), GUC(거니슨/거니슨크레스티드뷰트), GPT(걸프포트/걸프포트-빌럭시), GRI(그랜드아일랜드/샌트럴네브래스카), GJT(그랜드정크션/워커필드), GFF(그리피스), GRB(그린베이/오스틴스트로벨), GSP(그린빌/그린빌-스파턴버그), GSO(그린즈버러/피드몬트트라이어드), CFE(끌레르몽-페랑/끌레르몽-페랑오르베뉴), YCD(나나이모), NAS(나소), KOP(나콘파놈), NST(나콤시탓마랏), NWI(노리치), LBF(노스플랫), NGU(노퍽), ORF(노퍽), TYS(녹스빌/맥기타이슨), NTL(뉴캐슬/윌리엄타운), GOJ(니주니노브고로드/스트리기노), DAM(다마스쿠스), BDO(반둥), DDC(닷지시티/닷지시티), AFW(포트워스/얼라이언스포트워스), MFM(마카오), PDP(우루구아이), DOL(도빌), GRZ(그라츠), UPG(우중판당/술탄하사누딘), ZAG(자그레브), CBR(캔버라), INL(폴스), PTF(파보스), IBR(이바라키), ROG(로저스), ROK(록햄프턴/락햄프튼), CIA(로마/시암피노), FCO(로마), ROR(코로르), ROV(로스토프), ROW(로스웰), RSU(여수), XXN(리야드), AHB(리야드/압하), RUH(리야드), RUN(세인트데니스), SAN(샌디아고/샌디에이고), NZY(샌디아고/북아일랜드해군공항), SAT(산안티노), SBA(산타바바라), SCL(센티아고/산티아고), SCW(식티프카르), SDA(바그다드), SDJ(센다이), SDN(샌다인), BFI(시애틀), SEA(시애틀), SSN(서울/성남), GMP(서울/김포), SFO(샌프란시스코), SFS(슈빅/수비크), SFX(쇼헨필트/마카과), SGF(스프링필드(미주리주)/스프링필드), SGN(호치민/호찌민), SHA(상하이/홍차오), PVG(상하이/푸동), SHB(나카시베츄/나카시베쓰), SHD(스타운톤), SHE(심양/선양), SHJ(사자르/샤르자), SHM(시라하마), SIA(시안), XIY(시안), SIN(싱가폴/싱가포르), XSP(싱가폴/셀레타), QPG(싱가폴/파야레바), SJC(샌호세/산호세), SJW(쉬지아쭈앙(석가장)/스자좡), SKD(사마르칸트/사마르칸드), SLC(솔트레이크시티), SMX(산타마리아), DMM(담만), DOH(도하/하마드), IUD(도하/알데이드), DIA(도하/도하(前)), XJD(도하/알우데이드공군기지), DOV(도버), DPS(덴파사르), DRS(드레스덴), DRW(다윈), DSM(디모인), YIP(디트로이트/윌로우런), DET(디트로이트), DTW(디트로이트), DUB(더블린), DVO(다바오/다바오프란시스코), DXB(두바이), DYG(대용/장가계), DYR(아나디르), DYU(두산베/듀샨베), EDF(엘멘도르프), EDI(에든버러/에든버러공항), EIN(에인트호벤), EMA(더비/이스트미들랜즈), EVN(예레반/쯔바르트노츠), EWR(뉴어크), FAB(판버러/판보로), EIL(페어뱅크스/아일슨공군기지), FAI(페어뱅크스), FCN(쿡스하펜/독일), FEG(페르가나), FJR(푸자이라), FKJ(후꾸이), FKS(후쿠시마), FLL(포트로더데일), FNI(니메스), FNJ(평양), FOC(푸저우), FRA(프랑크푸르트), FRG(파밍데일), FRU(비쉬케크/비슈케크), FUK(후쿠오카), GAJ(야마가타), GDN(그다니스크), GDX(마가단), GIG(리오데자네이로/갈레아오), GML(호스토멜/고스토멜), GNB(그르노블/그르노블이제르), GOT(고덴부르그/고테버그), GSE(고덴부르그/고터보르거), GRR(켄트/그랜드래피즈), GTF(그레이트폴스/그레이트폴스), GUA(과테말라시/과테말라), UAM(괌/앤더슨비행장), GUM(괌), GVA(제네바), BAK(바쿠), GYD(바쿠), HAJ(하노버), BPE(친황다오(베이다이허)), KAZ(카오/카오/쿠아방), PKZ(팍세), HHE(하치노헤), CTA(카타니아/카타니아폰타나로사), DNH(둔황), JAV(일루리사트), OKL(옥시빌), XFN(샹양/샹양리우지), VTZ(비사카파트남/비사), DGX(아탄), NAH(타우나/나하), NYK(난유키), HNM(하나), GAN(간섬/간), KMS(쿠마시), OLB(올비아/코스타스메랄다), MKP(마케모), AOC(알텐부르크/노비츠), AUU(아우루쿤), OJM(아즈락/알아즈락공군기지), MPM(마푸투/MaputoInternationalAirport), TZX(트라브존), MPH(카티클란/고도프레도P.라모스), TMP(탐페레/탐페레-피르칼라), BXY(바이코누르/크라이니), VAR(바르나), UYN(위린), FOR(포탈레자/포르탈레자), SSA(살바도르/루이즈E.마갈해즈), RZE(르제스조우/자시온카공항), DLM(달라만), INU(나우루제도/나우루제도국제공항), TJU(쿨롭), AKH(알카르지/프린스술탄공군기지), BKY(부카부/카부무), CZL(콘스탄틴/콘스탄틴무함마드부디아프공항), LBD(쿠즈탄드/쿠즈탄드공항), ITO(힐로), BYH(브리더빌/아르캔자스국제공항), SLZ(상루이즈/말쿤하마체이도공항), VBG(롬폭/반덴버그공군기지), BXI(분디아리), UDJ(우쵸로드/우쵸러드공항), GRX(그라나다), JGA(잠나가르), HAH(하하야,모로니/프린스사이드이브라힘), YQM(멍크턴/멍크턴로메오르블랑), AFI(아말피)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다 조회해서 문자열로 만듬 잘쓰삼&lt;/p&gt;</description>
      <category>E.T.C</category>
      <author>Jude_Song</author>
      <guid isPermaLink="true">https://archijude.tistory.com/601</guid>
      <comments>https://archijude.tistory.com/601#entry601comment</comments>
      <pubDate>Sat, 1 Mar 2025 18:37:09 +0900</pubDate>
    </item>
    <item>
      <title>iOS) alamofire.framework failed no such file or directory (2) 에러로 앱 빌드가 안될때</title>
      <link>https://archijude.tistory.com/600</link>
      <description>&lt;div style=&quot;color: #000000; text-align: start;&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Install the latest version of&lt;span&gt;&amp;nbsp;&lt;/span&gt;cocoapods&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;gt;=&lt;span&gt;&amp;nbsp;&lt;/span&gt;1.12.1&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;This version has been released with these fixes. Try the following commands to install the latest version.&lt;/p&gt;
&lt;pre id=&quot;code_1691576694940&quot; class=&quot;css&quot; data-ke-language=&quot;css&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;sudo gem install cocoapods
pod install&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;If you want to use&lt;span&gt;&amp;nbsp;&lt;/span&gt;cococapods&lt;span&gt;&amp;nbsp;&lt;/span&gt;version &amp;lt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;1.12.1. You can try the following steps:&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;Navigate to the&lt;span&gt;&amp;nbsp;&lt;/span&gt;Pods/Target Support Files/Pods-ProjectName/&lt;span&gt;&amp;nbsp;&lt;/span&gt;directory&lt;/li&gt;
&lt;li&gt;Open the&lt;span&gt;&amp;nbsp;&lt;/span&gt;Pods-ProjectName-frameworks.sh&lt;span&gt;&amp;nbsp;&lt;/span&gt;file.&lt;/li&gt;
&lt;li&gt;Replace line 44 with code&lt;span&gt;&amp;nbsp;&lt;/span&gt;&quot;$(readlink &quot;${source}&quot;)&quot;&lt;span&gt;&amp;nbsp;&lt;/span&gt;with&lt;span&gt;&amp;nbsp;&lt;/span&gt;&quot;$(readlink -f &quot;${source}&quot;)&quot;.&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Source:&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://github.com/CocoaPods/CocoaPods/pull/11828&quot;&gt;https://github.com/CocoaPods/CocoaPods/pull/11828&lt;/a&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Hope it will work.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://stackoverflow.com/a/75916201&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://stackoverflow.com/a/75916201&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;sudo gem ~~ 이거랑 pod install하고&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1, 2, 3의 경로를 따라 들어가서 파일의 코드를 변경하니 정상 배포 빌드가 되었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;도움되셨으면 광고 클릭!&lt;/b&gt;&lt;/p&gt;</description>
      <category>Programing Language/iOS(Swift)</category>
      <author>Jude_Song</author>
      <guid isPermaLink="true">https://archijude.tistory.com/600</guid>
      <comments>https://archijude.tistory.com/600#entry600comment</comments>
      <pubDate>Wed, 9 Aug 2023 19:26:28 +0900</pubDate>
    </item>
    <item>
      <title>React) getUserMedia 함수의 카메라 전방 후방 설정</title>
      <link>https://archijude.tistory.com/599</link>
      <description>&lt;pre id=&quot;code_1679115360535&quot; class=&quot;css&quot; data-ke-language=&quot;css&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;To get the rear camera, you can use the MediaConstraint:
video:facingMode property. 

Available values are 'user' (front camera), 전방 
and 'environment' (back camera). 후방


navigator.mediaDevices.getUserMedia({
  audio: false,
  video: {
    facingMode: 'environment' // &amp;lt;- 값 변경
  }
})
  .then(stream =&amp;gt; vid.srcObject = stream)
  .catch(console.error);&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;도움되셨으면 광고 클릭 센스!!&lt;/b&gt;&lt;/p&gt;</description>
      <author>Jude_Song</author>
      <guid isPermaLink="true">https://archijude.tistory.com/599</guid>
      <comments>https://archijude.tistory.com/599#entry599comment</comments>
      <pubDate>Sat, 18 Mar 2023 13:56:12 +0900</pubDate>
    </item>
    <item>
      <title>React) iOS 스타일의 Switch 버튼 만들기</title>
      <link>https://archijude.tistory.com/598</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-03-18 오후 1.53.45.png&quot; data-origin-width=&quot;830&quot; data-origin-height=&quot;592&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/rnlBY/btr4AVzOzcG/qypNWLey5k6tbPQev1vAIK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/rnlBY/btr4AVzOzcG/qypNWLey5k6tbPQev1vAIK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/rnlBY/btr4AVzOzcG/qypNWLey5k6tbPQev1vAIK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FrnlBY%2Fbtr4AVzOzcG%2FqypNWLey5k6tbPQev1vAIK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;224&quot; height=&quot;160&quot; data-filename=&quot;스크린샷 2023-03-18 오후 1.53.45.png&quot; data-origin-width=&quot;830&quot; data-origin-height=&quot;592&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Component 코드&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1678883995237&quot; class=&quot;typescript&quot; data-ke-language=&quot;typescript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import styles from '../../../styles/Swtich.module.css';

const Switch = ({ isOn, handleToggle }) =&amp;gt; {

  // 랜덤 키를 생성하지 않으면 component로 분리하여 Switch를 객체화 하여도 input과 label의 아이디가 동일하여
  // 객체화해서 따로사용할수가 없다.
  const rand = Math.floor(Math.random() * 100);
  const key = `${Date.now()}${rand}`;

  return (
    &amp;lt;&amp;gt;
      &amp;lt;input
        checked={isOn}
        onChange={handleToggle}
        className={styles.react__switch__checkbox}
        id={`react-switch-new-${key}`}
        type=&quot;checkbox&quot;
      /&amp;gt;
      &amp;lt;label
        style={{ background: isOn &amp;amp;&amp;amp; '#4285F4' }}
        className={styles.react__switch__label}
        htmlFor={`react-switch-new-${key}`}
      &amp;gt;
        &amp;lt;span className={styles.react__switch__button} /&amp;gt;
      &amp;lt;/label&amp;gt;
    &amp;lt;/&amp;gt;
  );
};

export default Switch;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;- CSS 코드&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1678884033859&quot; class=&quot;css&quot; data-ke-language=&quot;css&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;.react__switch__checkbox {
    height: 0;
    width: 0;
    visibility: hidden;
}

.react__switch__label {
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
    width: 60px;
    height: 30px;
    background: grey;
    border-radius: 30px;
    position: relative;
    transition: background-color .2s;
}

.react__switch__label .react__switch__button {
    content: '';
    position: absolute;
    top: 2px;
    left: 2px;
    width: 26px;
    height: 26px;
    border-radius: calc(100% / 2);
    transition: 0.2s;
    background: #fff;
    box-shadow: 0 0 2px 0 rgba(10, 10, 10, 0.29);
}

.react__switch__checkbox:checked + .react__switch__label .react__switch__button {
    left: calc(100% - 2px);
    transform: translateX(-100%);
}

.react__switch__label:active .react__switch__button {
    width: 30px;
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;참고 URL&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;a href=&quot;https://upmostly.com/tutorials/build-a-react-switch-toggle-component&quot;&gt;https://upmostly.com/tutorials/build-a-react-switch-toggle-component&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;도움 되셨다면 하단의 광고 클릭 센스!!&lt;/b&gt;&lt;/p&gt;</description>
      <author>Jude_Song</author>
      <guid isPermaLink="true">https://archijude.tistory.com/598</guid>
      <comments>https://archijude.tistory.com/598#entry598comment</comments>
      <pubDate>Wed, 15 Mar 2023 21:42:07 +0900</pubDate>
    </item>
    <item>
      <title>React) react-toastify 중복 실행 방지하기</title>
      <link>https://archijude.tistory.com/597</link>
      <description>&lt;pre id=&quot;code_1678608322024&quot; class=&quot;typescript&quot; data-ke-language=&quot;typescript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import { ToastContainer, toast } from 'react-toastify';

const autoCloseDuration = 1000;
const toastId = 'current-toast-id'; // &amp;lt;- 고정값 id 지정

export const showToast = (msg: string) =&amp;gt; {
  if(!toast.isActive(toastId)){ //isActive로 활성여부 체크
    // 중복 실행 방지하기 위해서 고정된 id를 넣는다.
    toast(msg, {
      toastId: toastId,
      position: 'bottom-center',
      autoClose: autoCloseDuration,
      hideProgressBar: true,
      closeButton: false,
      pauseOnHover: true,
      progress: undefined,
      theme: 'dark'
    });
  }
};

export const Toast = () =&amp;gt; {
  return (
    &amp;lt;ToastContainer limit={1} /&amp;gt;
  );

};&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;참고 &lt;a href=&quot;https://fkhadra.github.io/react-toastify/prevent-duplicate/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://fkhadra.github.io/react-toastify/prevent-duplicate/&lt;/a&gt;&lt;/p&gt;</description>
      <category>Programing Language/React.js</category>
      <author>Jude_Song</author>
      <guid isPermaLink="true">https://archijude.tistory.com/597</guid>
      <comments>https://archijude.tistory.com/597#entry597comment</comments>
      <pubDate>Sun, 12 Mar 2023 17:05:47 +0900</pubDate>
    </item>
    <item>
      <title>Mysql) Group by로 중복 제거한것들 count 하기</title>
      <link>https://archijude.tistory.com/596</link>
      <description>&lt;div&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;중복값 갯수와 값 구하기&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위의 테이블 예제로 2번 이상 구입한 사람의 이름과 구입횟수를 검색하는 쿼리입니다.&lt;/p&gt;
&lt;pre class=&quot;pgsql&quot;&gt;&lt;code&gt;SELECT name, COUNT(name) FROM carts
GROUP BY name
HAVING COUNT(name) &amp;gt; 1
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;실행결과는 다음과 같습니다.&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;name&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;COUNT(name)
&lt;table style=&quot;border-collapse: collapse; width: 100%; height: 64px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 18px;&quot;&gt;
&lt;td style=&quot;height: 18px;&quot;&gt;도현&lt;/td&gt;
&lt;td style=&quot;height: 18px;&quot;&gt;2&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 18px;&quot;&gt;
&lt;td style=&quot;height: 18px;&quot;&gt;민준&lt;/td&gt;
&lt;td style=&quot;height: 18px;&quot;&gt;2&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 18px;&quot;&gt;
&lt;td style=&quot;height: 18px;&quot;&gt;준서&lt;/td&gt;
&lt;td style=&quot;height: 18px;&quot;&gt;3&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;중복값 구하기로 고생할 누군가에게 도움이 되었으면 좋겠습니다^^&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;도움 되셨다면 하단의 광고 클리이잉ㄱ!!&lt;/b&gt;&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;</description>
      <category>Programing Language/Database</category>
      <author>Jude_Song</author>
      <guid isPermaLink="true">https://archijude.tistory.com/596</guid>
      <comments>https://archijude.tistory.com/596#entry596comment</comments>
      <pubDate>Wed, 22 Feb 2023 16:59:43 +0900</pubDate>
    </item>
    <item>
      <title>EC2) ubuntu 스토리지 추가하기</title>
      <link>https://archijude.tistory.com/595</link>
      <description>&lt;h1 id=&quot;요약&quot;&gt;요약&lt;/h1&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;용량 꽉참. (&lt;span&gt;&amp;nbsp;&lt;/span&gt;df -h&lt;span&gt;&amp;nbsp;&lt;/span&gt;로 확인.)&lt;/li&gt;
&lt;li&gt;루트볼륨 늘리기 (EBS 용량 늘리기)&lt;/li&gt;
&lt;li&gt;파티션 크기 늘리기 (&lt;span&gt;&amp;nbsp;&lt;/span&gt;growpart&lt;span&gt;&amp;nbsp;&lt;/span&gt;명령)&lt;/li&gt;
&lt;li&gt;파일시스템 크기 늘리기 (ext4일 경우&lt;span&gt;&amp;nbsp;&lt;/span&gt;resize2fs&lt;span&gt;&amp;nbsp;&lt;/span&gt;명령)&lt;/li&gt;
&lt;li&gt;끝&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;h1 id=&quot;용량-확인법&quot;&gt;용량 확인법&lt;/h1&gt;
&lt;pre class=&quot;dos&quot;&gt;&lt;code&gt;df -hT #각 볼륨의 파일시스템 용량, 타입 확인

du &amp;lt;dir&amp;gt; # dir과 dir 내부에있는 모든 dir의 용량 확인
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;516&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cQz3w9/btrZ85mSXO6/D4vjKr8u90onIE0cYSQY00/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cQz3w9/btrZ85mSXO6/D4vjKr8u90onIE0cYSQY00/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cQz3w9/btrZ85mSXO6/D4vjKr8u90onIE0cYSQY00/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcQz3w9%2FbtrZ85mSXO6%2FD4vjKr8u90onIE0cYSQY00%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1280&quot; height=&quot;516&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;516&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;보면 현재 용량이 꽉 차있다.. (7.6G / 7.7G)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;h1 id=&quot;내-ec2-인스턴스가-쓰고있는-블록-디바이스-확인&quot;&gt;내 EC2 인스턴스가 쓰고있는 블록 디바이스 확인&lt;/h1&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1238&quot; data-origin-height=&quot;848&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bUKxUH/btrZ4bBUIy7/2A2U11Frj3n1ZSlvejXxoK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bUKxUH/btrZ4bBUIy7/2A2U11Frj3n1ZSlvejXxoK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bUKxUH/btrZ4bBUIy7/2A2U11Frj3n1ZSlvejXxoK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbUKxUH%2FbtrZ4bBUIy7%2F2A2U11Frj3n1ZSlvejXxoK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1238&quot; height=&quot;848&quot; data-origin-width=&quot;1238&quot; data-origin-height=&quot;848&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;722&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bIb1z5/btrZYSbOCFz/5UHkHpWgzMj2oJ7duUy9Ok/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bIb1z5/btrZYSbOCFz/5UHkHpWgzMj2oJ7duUy9Ok/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bIb1z5/btrZYSbOCFz/5UHkHpWgzMj2oJ7duUy9Ok/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbIb1z5%2FbtrZYSbOCFz%2F5UHkHpWgzMj2oJ7duUy9Ok%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1280&quot; height=&quot;722&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;722&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;EBS 콘솔에서 내 볼륨 우클릭 후 수정해서 크기를 8에서 16으로 수정함.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;lsblk&lt;span&gt;&amp;nbsp;&lt;/span&gt;명령어로 인스턴스에 연결된 블록디바이스를 확인&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1144&quot; data-origin-height=&quot;370&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/QWE2Q/btrZ4cOlWCq/Z2KDYKqgcRMrGWOBQMpd6k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/QWE2Q/btrZ4cOlWCq/Z2KDYKqgcRMrGWOBQMpd6k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/QWE2Q/btrZ4cOlWCq/Z2KDYKqgcRMrGWOBQMpd6k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FQWE2Q%2FbtrZ4cOlWCq%2FZ2KDYKqgcRMrGWOBQMpd6k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1144&quot; height=&quot;370&quot; data-origin-width=&quot;1144&quot; data-origin-height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;루트 볼륨&lt;span&gt;&amp;nbsp;&lt;/span&gt;/dev/xvda&lt;span&gt;&amp;nbsp;&lt;/span&gt;가 8GB에서 16GB로 됨.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;볼륨 크기는 커졌지만&lt;span&gt;&amp;nbsp;&lt;/span&gt;/dev/xvda&lt;span&gt;&amp;nbsp;&lt;/span&gt;의 파티션인&lt;span&gt;&amp;nbsp;&lt;/span&gt;/dev/xvda1&lt;span&gt;&amp;nbsp;&lt;/span&gt;은 아직 8GB인 상태.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이걸 늘려야한다.&lt;/p&gt;
&lt;pre class=&quot;dts&quot;&gt;&lt;code&gt;sudo growpart &amp;lt;볼륨&amp;gt; &amp;lt;파티션번호&amp;gt;

# ex) sudo growpart /dev/xvda 1&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;h1 id=&quot;파티션-크기-늘리기&quot;&gt;파티션 크기 늘리기&lt;/h1&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;56&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cZI28Y/btrZ77FfB46/hdTKOFUuYYNQsXp8vnut4K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cZI28Y/btrZ77FfB46/hdTKOFUuYYNQsXp8vnut4K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cZI28Y/btrZ77FfB46/hdTKOFUuYYNQsXp8vnut4K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcZI28Y%2FbtrZ77FfB46%2FhdTKOFUuYYNQsXp8vnut4K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1280&quot; height=&quot;56&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;56&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;위&lt;span&gt;&amp;nbsp;&lt;/span&gt;sudo growpart /dev/xvda 1&lt;span&gt;&amp;nbsp;&lt;/span&gt;명령을 통해 파티션의 크기를 늘렸다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1110&quot; data-origin-height=&quot;364&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/22qNk/btrZ85ULTjG/74g5KejPX9v41rKmSWkTwk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/22qNk/btrZ85ULTjG/74g5KejPX9v41rKmSWkTwk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/22qNk/btrZ85ULTjG/74g5KejPX9v41rKmSWkTwk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F22qNk%2FbtrZ85ULTjG%2F74g5KejPX9v41rKmSWkTwk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1110&quot; height=&quot;364&quot; data-origin-width=&quot;1110&quot; data-origin-height=&quot;364&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;/dev/xvda1&lt;span&gt;&amp;nbsp;&lt;/span&gt;파티션 크기가 16GB로 늘어난 모습&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;512&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/BdCfY/btrZ7aP0INH/eI6sjmcD8lQA4t5a41tFG0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/BdCfY/btrZ7aP0INH/eI6sjmcD8lQA4t5a41tFG0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/BdCfY/btrZ7aP0INH/eI6sjmcD8lQA4t5a41tFG0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FBdCfY%2FbtrZ7aP0INH%2FeI6sjmcD8lQA4t5a41tFG0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1280&quot; height=&quot;512&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;512&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;df -hT를 통해 /dev/xvda1 파티션을 보니 타입이 ext4이다.&lt;/p&gt;
&lt;h3 id=&quot;-주의-&quot; data-ke-size=&quot;size23&quot;&gt;* 주의 *&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;106&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dIIa7G/btrZ86e1QpR/QCtrMoG5JW7TAYMS3FmTfk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dIIa7G/btrZ86e1QpR/QCtrMoG5JW7TAYMS3FmTfk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dIIa7G/btrZ86e1QpR/QCtrMoG5JW7TAYMS3FmTfk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdIIa7G%2FbtrZ86e1QpR%2FQCtrMoG5JW7TAYMS3FmTfk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1280&quot; height=&quot;106&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;106&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;용량이 너무 없으면 위 사진처럼 temporary 폴더도 못써서 명령어가 작동이 안된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;어느정도 공간을 비워 놓고 하자.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;h1 id=&quot;ext4-파일-시스템의-크기-늘리기&quot;&gt;ext4 파일 시스템의 크기 늘리기&lt;/h1&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;파티션의 크기까지 늘렸으니 이제 우리가 사용하는&lt;span&gt;&amp;nbsp;&lt;/span&gt;파일 시스템에다가 바뀐 파티션의 size를 적용 시켜야 한다.&lt;/p&gt;
&lt;pre class=&quot;xml&quot;&gt;&lt;code&gt;sudo resize2fs &amp;lt;파티션&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1242&quot; data-origin-height=&quot;198&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Vmzi1/btrZ6I7norh/a3sbKZOrGbXSBvunCvwImK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Vmzi1/btrZ6I7norh/a3sbKZOrGbXSBvunCvwImK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Vmzi1/btrZ6I7norh/a3sbKZOrGbXSBvunCvwImK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FVmzi1%2FbtrZ6I7norh%2Fa3sbKZOrGbXSBvunCvwImK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1242&quot; height=&quot;198&quot; data-origin-width=&quot;1242&quot; data-origin-height=&quot;198&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;실행한 모습&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;496&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Am2fC/btr0aUZsq22/zuk0yUPDN6GgQp8f5n8nRK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Am2fC/btr0aUZsq22/zuk0yUPDN6GgQp8f5n8nRK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Am2fC/btr0aUZsq22/zuk0yUPDN6GgQp8f5n8nRK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FAm2fC%2Fbtr0aUZsq22%2Fzuk0yUPDN6GgQp8f5n8nRK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1280&quot; height=&quot;496&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;496&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;/dev/xvda1의 크기가 16G로 늘어났다!!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;h1 id=&quot;aws-freetier의-ebs-사용-가능-용량&quot;&gt;AWS freetier의 EBS 사용 가능 용량?&lt;/h1&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;672&quot; data-origin-height=&quot;716&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cSMWX6/btrZ78qBRsE/ks1kLHzMKo3o0PEPEKkN71/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cSMWX6/btrZ78qBRsE/ks1kLHzMKo3o0PEPEKkN71/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cSMWX6/btrZ78qBRsE/ks1kLHzMKo3o0PEPEKkN71/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcSMWX6%2FbtrZ78qBRsE%2Fks1kLHzMKo3o0PEPEKkN71%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;672&quot; height=&quot;716&quot; data-origin-width=&quot;672&quot; data-origin-height=&quot;716&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;free tier요금제로 30GB까지 무료로 사용가능 하다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;근데 인스턴스 생성하면 default로 8GB로 생성되므로 걱정 x.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h1 id=&quot;참고-aws-user-guide&quot;&gt;참고 (AWS User Guide)&lt;/h1&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/recognize-expanded-volume-linux.html&quot;&gt;AWS User Guide&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://velog.io/@hyeonseop/ec2-%EC%9A%A9%EB%9F%89-full%EC%9D%BC-%EB%95%8C-%EB%8C%80%EC%B2%98%EB%B2%95&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://velog.io/@hyeonseop/ec2-%EC%9A%A9%EB%9F%89-full%EC%9D%BC-%EB%95%8C-%EB%8C%80%EC%B2%98%EB%B2%95&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1676904326747&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;ec2 용량 full일 때 대처법&quot; data-og-description=&quot;용량 꽉참. ( df -h 로 확인.)루트볼륨 늘리기 (EBS 용량 늘리기)파티션 크기 늘리기 ( growpart 명령)파일시스템 크기 늘리기 (ext4일 경우 resize2fs 명령)끝보면 현재 용량이 꽉 차있다..EBS 콘솔에서 내 &quot; data-og-host=&quot;velog.io&quot; data-og-source-url=&quot;https://velog.io/@hyeonseop/ec2-%EC%9A%A9%EB%9F%89-full%EC%9D%BC-%EB%95%8C-%EB%8C%80%EC%B2%98%EB%B2%95&quot; data-og-url=&quot;https://velog.io/@hyeonseop/ec2-용량-full일-때-대처법&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bA5C6g/hyRHi8ySn7/TgvHphe9hFlUULrNuoNkKK/img.png?width=1368&amp;amp;height=552&amp;amp;face=0_0_1368_552,https://scrap.kakaocdn.net/dn/xeTap/hyRHn25psj/OBR1cnS9RzuS45U8fiZogk/img.png?width=1368&amp;amp;height=552&amp;amp;face=0_0_1368_552,https://scrap.kakaocdn.net/dn/E1yGz/hyRHmpyZ2m/71mx81c1BDI64NeaShiGWk/img.png?width=1475&amp;amp;height=832&amp;amp;face=0_0_1475_832&quot;&gt;&lt;a href=&quot;https://velog.io/@hyeonseop/ec2-%EC%9A%A9%EB%9F%89-full%EC%9D%BC-%EB%95%8C-%EB%8C%80%EC%B2%98%EB%B2%95&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://velog.io/@hyeonseop/ec2-%EC%9A%A9%EB%9F%89-full%EC%9D%BC-%EB%95%8C-%EB%8C%80%EC%B2%98%EB%B2%95&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bA5C6g/hyRHi8ySn7/TgvHphe9hFlUULrNuoNkKK/img.png?width=1368&amp;amp;height=552&amp;amp;face=0_0_1368_552,https://scrap.kakaocdn.net/dn/xeTap/hyRHn25psj/OBR1cnS9RzuS45U8fiZogk/img.png?width=1368&amp;amp;height=552&amp;amp;face=0_0_1368_552,https://scrap.kakaocdn.net/dn/E1yGz/hyRHmpyZ2m/71mx81c1BDI64NeaShiGWk/img.png?width=1475&amp;amp;height=832&amp;amp;face=0_0_1475_832');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;ec2 용량 full일 때 대처법&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;용량 꽉참. ( df -h 로 확인.)루트볼륨 늘리기 (EBS 용량 늘리기)파티션 크기 늘리기 ( growpart 명령)파일시스템 크기 늘리기 (ext4일 경우 resize2fs 명령)끝보면 현재 용량이 꽉 차있다..EBS 콘솔에서 내&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;velog.io&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;h1 id=&quot;참고-aws-user-guide&quot;&gt;&amp;nbsp;&lt;/h1&gt;</description>
      <category>Programing Study/네트워크</category>
      <author>Jude_Song</author>
      <guid isPermaLink="true">https://archijude.tistory.com/595</guid>
      <comments>https://archijude.tistory.com/595#entry595comment</comments>
      <pubDate>Mon, 20 Feb 2023 23:45:42 +0900</pubDate>
    </item>
    <item>
      <title>mysql) 월별 방문자 통계 SQL문 만들기</title>
      <link>https://archijude.tistory.com/594</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;- 테이블 정보&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1676648940851&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;CREATE TABLE `statistics` (
  `no` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `date` timestamp NULL DEFAULT NULL,
  `value` int(11) DEFAULT NULL,
  PRIMARY KEY (`no`)
) ENGINE=InnoDB AUTO_INCREMENT=24 DEFAULT CHARSET=utf8;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;- SQL 문&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1676648927296&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;SELECT 
    DATE_FORMAT(date, '%m') AS month , SUM(value) AS total 
	FROM statistics 
WHERE YEAR(date) = 2023 GROUP BY month&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;도움되셨다면 하단의 광고 클릭 센스!&lt;/b&gt;&lt;/p&gt;</description>
      <category>Programing Language/Database</category>
      <category>월별 sql 통계</category>
      <author>Jude_Song</author>
      <guid isPermaLink="true">https://archijude.tistory.com/594</guid>
      <comments>https://archijude.tistory.com/594#entry594comment</comments>
      <pubDate>Sat, 18 Feb 2023 00:49:50 +0900</pubDate>
    </item>
    <item>
      <title>mysql) 이번주 또는 저번주 방문자 통계 sql 문</title>
      <link>https://archijude.tistory.com/593</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;- 월요일에서부터 일요일까지 기준으로 통계 SELECT SQL&amp;nbsp;&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1676648748965&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;CREATE TABLE `statistics` (
  `no` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `date` timestamp NULL DEFAULT NULL,
  `value` int(11) DEFAULT NULL,
  PRIMARY KEY (`no`)
) ENGINE=InnoDB AUTO_INCREMENT=24 DEFAULT CHARSET=utf8;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;- 이번주(월 ~ 일)&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1676648776661&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;SELECT date, DATE_FORMAT(`date`, '%a') AS `week`, value AS total from statistics_table where date_format(date,'%Y-%m-%d')
    BETWEEN
        (SELECT ADDDATE(CURDATE(), - WEEKDAY(CURDATE()) + 0 ))
    AND
        (SELECT ADDDATE(CURDATE(), - WEEKDAY(CURDATE()) + 6 ))
    order by date desc&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;- 저번주 (월 ~ 일)&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1676648697908&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;SELECT date, DATE_FORMAT(`date`, '%a') AS `week`, value AS total from statistics_table where date_format(date,'%Y-%m-%d')
    BETWEEN
        (SELECT ADDDATE(CURDATE(), - WEEKDAY(CURDATE()) - 7 ))
    AND
        (SELECT ADDDATE(CURDATE(), - WEEKDAY(CURDATE()) - 1 ))
    order by date desc&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;참고되셨으면 하단의 광고 클릭센스!!&lt;/b&gt;&lt;/p&gt;</description>
      <category>Programing Language/Database</category>
      <category>DB 조회</category>
      <category>MySQL</category>
      <category>자료수집</category>
      <category>통계</category>
      <author>Jude_Song</author>
      <guid isPermaLink="true">https://archijude.tistory.com/593</guid>
      <comments>https://archijude.tistory.com/593#entry593comment</comments>
      <pubDate>Sat, 18 Feb 2023 00:47:04 +0900</pubDate>
    </item>
    <item>
      <title>Spring Boot) Controller와 Service 사용방법 (기초)</title>
      <link>https://archijude.tistory.com/592</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;- 1. Inserface 생성&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1676548328731&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;public interface UserService {
    UserDTO createUser(UserDTO userDTO);
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;- 2. service 파일 생성하여 interface 상속받기&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1676548336395&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;@Service
public class UserServiceImpl implements UserService {
    @Autowired
    private UserRepository userRepository;
    
    @Override
    public UserDTO createUser(UserDTO userDTO) {
        // Perform necessary operations
        // ...
        User user = new User(userDTO);
        userRepository.save(user);
        return new UserDTO(user);
    }
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;- 3. controller 파일 생성하여 Mapping 안에서 사용하기&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1676548346875&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;@RestController
public class UserController {
    @Autowired
    private UserService userService;
    
    @PostMapping(&quot;/users&quot;)
    public ResponseEntity&amp;lt;UserDTO&amp;gt; createUser(@RequestBody UserDTO userDTO) {
        UserDTO createdUser = userService.createUser(userDTO);
        return new ResponseEntity&amp;lt;&amp;gt;(createdUser, HttpStatus.CREATED);
    }
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;구조를 보면 Controller (req 받기) -&amp;gt; Service (파일 정제) -&amp;gt; Controller (res 하기)&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;도움 되셨다면 아래의 광고 클릭!!&lt;/b&gt;&lt;/p&gt;</description>
      <category>Programing Language/Java</category>
      <author>Jude_Song</author>
      <guid isPermaLink="true">https://archijude.tistory.com/592</guid>
      <comments>https://archijude.tistory.com/592#entry592comment</comments>
      <pubDate>Thu, 16 Feb 2023 20:54:43 +0900</pubDate>
    </item>
  </channel>
</rss>