4 2월 2025

[時事] 법원 차세대 장애 : 2000억 쏟아부었는데…”문서 하나 제출하는데 1시간”

[時事] 법원 차세대 장애 : 2000억 쏟아부었는데…”문서 하나 제출하는데 1시간”

차세대 전자소송 시스템 ‘첫 삽’ 뒤 마비

구축에만 1038억, 운영유지에 1092억 투입
4년 넘게 준비한 시스템
개통 닷새만에 ‘먹통’…법조계 혼란
미래등기 시스템도 접속 장애

사진=한경DB
사진=한경DB

대법원이 2000억원을 들여 개통한 ‘차세대 전자소송’ 시스템이 개통 닷새 만에 ‘먹통’이 되면서 법조계가 혼란에 빠졌다. 기본적인 접속조차 불안정해 법원의 디지털 전환 사업 전반에 대한 우려가 커지고 있다.

“소송 당사자 피해 우려”

4일 법조계에 따르면 지난달 31일 개통된 차세대 전자소송 시스템의 ‘전자소송포털’에서 송달 문서 확인과 기록 열람이 불가능한 상황이 닷새째 이어지고 있다. 이날 오전 11시부터 오후까지 일부 이용자는 로그인이 되지 않거나 포털 접속 자체가 불가능했다. 사건검색도 안 되는 경우가 속출했다.

급기야 대법원은 사이트 공지를 통해 “전자소송포털 시스템이 현재 제출 및 기록열람 등 업무가 원활하지 않다”면서 “긴급하게 제출해야 하는 서류는 관할 법원 민원실을 방문하여 접수해달라”고 밝혔다.

법조계는 사실상 ‘업무 마비’ 상태라며 불만을 쏟아내고 있다. 한 법무법인 관계자는 “문서 하나를 제출하기 위해 한 시간 이상 대기했다”며 “업무 진행이 어려운 상황”이라고 호소했다. 급한 서류는 직접 법원을 찾아 서면으로 제출하는 사례가 늘면서 각급 법원의 업무 부담도 가중되고 있다.

특히 법조계는 소송 당사자들의 피해를 우려하고 있다. 한 변호사는 “어제 자동송달된 소송서류를 아직도 열람하지 못하고 있다”며 “판결문 송달 시점부터 상소기간이 진행되는데 의뢰인들의 상소 검토 시간이 줄어들까 걱정”이라고 말했다.

“시스템 구축 전반적 설계 문제”

법원행정처는 “개통 초기 단계의 세부적 오류”라며 “시스템 구축을 담당한 기업들과 긴밀히 협력해 해결하고 있다”고 해명했다. 이번 장애는 새로 도입된 전자 기록 파일 처리 솔루션의 문제로 파악됐다. 법원은 시스템 도입을 위해 인프라와 시스템을 담당하는 사업을 발주한 후, 이를 활용할 소프트웨어와 하드웨어 솔루션을 별도로 발주했다. 당초 파일 처리 솔루션 문제로 국한됐던 오류가 시간이 지남에 따라 접속 장애로까지 확대되면서 LG CNS 컨소시엄이 구축한 차세대 전자소송 시스템 전반의 안정화를 진행 중이다.

차세대 전자소송 시스템은 대법원이 2020년부터 2000억원(구축 비용 1038억원·운영유지비용 1092억원)을 투입한 디지털 전환 사업이다. 분산됐던 전자소송·나홀로소송 홈페이지, 전자민원센터를 하나의 포털로 통합했다. 당초 지난해 9월 개통 예정이었으나 4개월 늦춰졌다.

법원 디지털 전환 역량 ‘회의론’도

차세대 전자소송 시스템뿐만 아니라 법원이 이용자 편의를 개선하기 위해 도입한 ‘미래등기’ 시스템에서도 접속 장애가 이어지고 있다. 경매용 등기부 전자발급 연계 제출 시스템 등에서 오류가 발생해 이용자 불편이 가중되고 있다. 법원은 지난달 31일부터 이틀간 추가 점검을 진행했으나 4일 오전까지도 일부 접속 장애가 계속됐다.

시스템 오류로 법원이 추진 중인 인공지능(AI) 기반 법률 서비스에 대한 회의론도 나오고 있다. 대법원이 대대적으로 준비한 소송 시스템조차 마비된 상황에서 AI 법률 서비스 도입 효용이 의문이라는 비판이 나온다. 법원은 차세대 전자소송 시스템 개통과 함께 24시간 ‘소송 절차 안내 챗봇’을 도입했다. AI가 유사 사건의 판결문을 판사에게 자동 추천하는 판결문 자동 추천 시스템도 준비 중이다.

황동진 기자 radhwang@hankyung.com

[출처] https://www.hankyung.com/article/202502042534i

Loading

27 1월 2025

[사회과학] [박진영의 사회심리학] ‘내가 틀릴 때’ 더 큰 희열 얻는 ‘지적 겸손’

[사회과학] [박진영의 사회심리학] ‘내가 틀릴 때’ 더 큰 희열 얻는 ‘지적 겸손’

게티이미지뱅크 제공

게티이미지뱅크 제공

언젠가 사회적 이슈에 대한 생각이 맞지 않아서 친구와 티격태격 했던 때가 있다. 그 때 대화를 마무리하며 친구가 “너 같이 생각하는 사람도 사회에 필요할 거야”라고 했었는데 그 친구는 그냥 지나가면서 한 말이겠지만 아직도 종종 생각나곤 한다.

서로 의견이 맞지는 않았지만 ‘다를 수도 있지’에서 나아가서 ‘(어쩌면 내가 잘 모를 뿐)네 의견도 일리가 있을 것’이라고 이야기해 준 것 같아서 기억에 남아 있다. 지금도 생각이 서로 다를 때가 있지만 오래도록 좋은 관계를 유지하고 있다.

보통 의견이 부딪히게 되면 무조건 내가 맞고 너는 틀리다며 언성을 높이고 목소리가 큰 사람이 이기는 것처럼 흘러갈 때가 많은 것이 사실이다. 하지만 여전히 내가 뭘 모르는 것일 가능성, 나의 경험과 식견이 부족해서 다른 견해를 이해하지 못할 가능성, 내가 틀렸을 가능성은 항상 존재한다.

과거에 분명히 무엇이 맞다고 생각했지만 시간이 지나면서 생각이 조금씩 바뀌는 경험도 하게 된다. 무엇이건 간에 ‘내가 절대적으로 옳다’고 확신하는 데에는 위험부담이 있다.

저명한 연구자이고 인격적으로도 많이 존경스러운 선생님 한 분은 자신이 옳을 때보다 ‘틀릴 때’ 더 큰 희열을 느낀다고 이야기하셨다. 이미 익숙하게 알고 있는 것이 맞았을 때는 그저 그렇지만, 뭔가 크게 잘못 생각하고 있었다는 것을 알게 되는 순간 사고의 지평이 확장되는 경험을 하게 된다고 하셨다.

아직도 더 배워야 하고 아직도 연구할 것이 많다는 생각에 신이 난다고 했다. 누군가 자신이 생각하지 못했던 새로운 가능성을 제시하면 자신이 틀렸다는 데서 상처를 입기보다 하나 더 배웠다는 사실에 기뻐하는 듯 보였다.

생각해보면 어차피 여러가지 한계로 인해 모든 것을 정확하게 알 수 없는 인간이 그 중에서도 평범한 인간인 내가 뭘 좀 잘 못 알았다거나 틀렸다는 것이 뭐 그렇게 대수인지 싶은 것이다. 객관적으로 봐도 내 자의식을 유지하며 혼자만의 세상에서 기뻐하는 것과 다양한 지식과 경험을 체득하는 것 중 후자가 더 나아 보인다.

이렇게 자신이 틀릴 가능성을 염두에 두는 것을 ‘지적 겸손 (intellectual humility)’이라고 부른다. 안타까운 사실은 지금까지의 연구에 의하면 지적 겸손은 마치 기질적인 성격 특성처럼 매우 안정적이고 잘 변하지 않는 듯 보인다는 것이다. ‘자의식 사수하기’에 몰두해 있는 경우 거기서 빠져나오기 쉽지 않다는 이야기 같다.

일반적으로 지적 겸손도가 높은 사람들의 특징이라면 지적 호기심이 강하고 단순하기보다 복잡하고 추상적인 사고를 즐기며, 어떤 주장을 믿기 전에 여기에 제대로 된 ‘근거’가 있는지 확인하고, 또 자신과 비슷한 생각을 하는 사람들보다 다른 생각을 하는 사람들과의 대화를 더 즐기는 편이라는 것 등이 있다.

또 한 가지는 사람들, 친구들과의 관계를 소중하게 여긴다는 것이다. 태어나면서부터 우리가 배우는 대부분의 지식은 ‘타인’을 통해 전달된다. 양육자를 통해 처음 세상을 만나고, 말을 배우고, 무엇이 옳고 그른 것인지 계속해서 주변 사람들을 통해 배우게 된다.

학교에서, 친구들과의 관계에서, 사회생활을 하면서 계속 자신과 잘 맞거나 잘 맞지 않는 사람들을 만나며 자신은 무엇이 좋고 싫은지 저 사람과 나는 어떻게 다른지에 대한 정보들을 얻는다. 또 책과 영화, 역사 속에서 실존했던 또는 가상의 인물들을 통해 나라는 사람은 어떤 사람인지 어떻게 살아야 하는지에 대한 생각들을 정립하게 된다.

기본적으로 우리는 다른 사람들의 삶을 통해 삶을 배우는 셈이다. 이런 점에서 지적 겸손도가 높은 사람들이 타인과의 관계를 소중히 여기는 것은 매우 자연스러운 일이라는 생각이 든다. 다양한 삶을 접할수록 삶과 세상에 대해 배우는 깊이와 너비가 달라질 것이기 때문이다.

어쩌면 지적 겸손이 높은 사람들의 비밀은 일찌감치 나와 다른 ‘타인’을 통해서만 배울 수 있는 것들이 있음을 인정한다는 데 있는 것일지도 모르겠다. 타인을 포용하는 것이 결국 나의 배움을 위해서라고 생각하면 피곤하기보다 흥미롭게 느껴지는 것 같기도 하다.

PorterT., ElnakouriA., MeyersEA., ShibayamaT., JayawickremeE., & GrossmannI. (2022). Predictors and consequences of intellectual humilityNature Reviews Psychology, 1(9), 524-536.

※필자소개
박진영. 《나, 지금 이대로 괜찮은 사람》, 《나를 사랑하지 않는 나에게》를 썼다. 삶에 도움이 되는 심리학 연구를 알기 쉽고 공감 가도록 풀어낸 책을 통해 독자와 꾸준히 소통하고 있다. 온라인에서 ‘지뇽뇽’이라는 필명으로 활동하고 있다. 현재 미국 듀크대에서 사회심리학 박사 과정을 밟고 있다.

Loading

24 1월 2025

[chatgpt] 이전 기사 AI타임스 “오픈AI의 AGI 달성 기준은 인간 넘는 ‘코딩 에이전트’ 출시 순간”.

[chatgpt] 이전 기사 AI타임스 “오픈AI의 AGI 달성 기준은 인간 넘는 ‘코딩 에이전트’ 출시 순간”.

“오픈AI의 AGI 달성 기준은 인간 넘는 ‘코딩 에이전트’ 출시 순간”…’오퍼레이터’는 이번 주 챗GPT에 통합

  •  임대준 기자
  •  
  •  승인 2025.01.23 18:00
2025-01-24-01 openai 167422_182212_5856.png
(사진=셔터스톡)

오픈AI가 소프트웨어 개발을 담당하는 코딩 전문 인공지능(AI) 에이전트를 개발 중으로 알려졌다. 그리고 코딩 에이전트가 최고 수준의 프로그래머를 대체하는 순간을 인공일반지능(AGI)에 도달한 것으로 간주할 것으로 전해졌다.

또 이와는 별도로 개발한 범용 GUI 에이전트 ‘오퍼레이터’는 이번 주 정식 출시를 앞뒀다는 소식이다.

디 인포메이션은 22일(현지시간) 오픈AI 임원진과 이야기를 나눈 3명을 인용, 고급 소프트웨어 개발자보다 복잡한 프로그래밍 작업을 처리하는 AI 에이전트를 개발 중이라고 보도했다.

이에 따르면 오픈AI의 목표는 레벨 6 엔지니어, 즉 선임 스태프 급 엔지니어를 복제하는 것이다. 이 수준의 개발자는 관리자로부터 광범위한 지침을 받고 새로운 소프트웨어나 기능의 설계부터 이를 구동하는 시스템까지 전체를 발할 수 있다.

또 오픈AI의 어시스턴트는 코드 출력뿐 아니라, 코드 베이스에 변경 사항을 적용하려는 경우 슬랙을 통해 인간에게 메시지를 보내 알릴 수도 있는 것으로 전해졌다.

오픈AI의 몇개 팀이 이를 개발하고 있으며, 추론 모델 ‘o1’도 일부 활용한 것으로 알려졌다.

이에 대해 제이슨 리우 재피어 AI 컨설턴트는 오픈AI가 최고 수준의 프로그래머를 타깃으로 하는 것이 합리적이라고 말했다. 수석급 엔지니어는 가장 비용이 많이 들고 대체가 어렵기 때문에, 고급 코딩 에이전트가 기업에 재정적으로 확실한 도움이 된다는 것이다.

또 현재 출시된 코딩 에이전트가 기대에 미치지 못한다고도 지적했다. 리우 컨설턴트는 지난해 코그니션이 출시한 세계 최초의 코딩 에이전트 ‘데빈’과 작업하는 것을 “그저 멍청한 인턴 10명의 관리자가 되는 것 같은 느낌이 든다”라고 표현했다. 따라서 성능이 확실히 뛰어나야 한다는 것이다.

앞서 오픈AI는 지난해 하반기부터 코딩 성능 향상에 초점을 맞추고 집중적인 개발에 매달렸다는 말이 나왔다. 당시 오픈AI 제품이 앤트로픽에 비해 코딩 능력이 가장 떨어진다는 판단 때문이었다.

이번 소식으로 인해 샘 알트먼 CEO가 연초 개인 블로그를 통해 ‘리플렉션’이라는 글을 올리며 “AGI에 도달하는 방법을 이미 알고 있다”라고 한 것과 “연말까지 AI가 인력에 합류할 수 있다”라고 말한 것이 어떤 의미인지 확실해졌다는 분석이다.

한편, 디 인포메이션은 내부 관계자를 인용, 오픈AI가 이번 주에 ‘챗GPT’에 AI 에이전트 ‘오퍼레이터’를 통합 출시할 계획이라고 보도했다.

오퍼레이터는 웹 사이트를 검색하고 여행 계획을 짜며 레스토랑을 예약하는 등 사람 대신 마우스와 키보드를 사용해 일반적인 업무를 처리하는 범용 GUI 에이전트다. 

지난 20일에는 티버 블라호라는 소프트웨어 엔지니어가 맥OS용 챗GPT 클라이언트에서 오퍼레이터의 단축키 옵션을 발견했으며, 오픈AI 홈페이지에서는 벤치마크 결과도 확인했다고 전한 바 있다. 이 때문에 오퍼레이터의 출시가 임박한 것으로 파악됐다.

임대준 기자 ydj@aitimes.com

[출처] https://www.aitimes.com/news/articleView.html?idxno=167422

Loading

24 1월 2025

[ 一日30分 인생승리의 학습법] 기술부채(Technical Debt)는 소프트웨어 개발이나 프로젝트 과정에서, 약속된 것과 실제로 제공된 것 사이에 차이가 발생하는 것을 의미합니다. 

[ 一日30分 인생승리의 학습법] 기술부채(Technical Debt)는 소프트웨어 개발이나 프로젝트 과정에서, 약속된 것과 실제로 제공된 것 사이에 차이가 발생하는 것을 의미합니다. 

 

기술부채(Technical Debt)는 소프트웨어 개발이나 프로젝트 과정에서, 약속된 것과 실제로 제공된 것 사이에 차이가 발생하는 것을 의미합니다. 즉, 기술적으로 해결해야 할 문제를 미루고 비즈니스 문제를 해결하는 것을 말합니다.

기술부채는 금전적인 채무와 비슷한 개념으로, 언젠가는 이자와 함께 상환해야 합니다. 기술부채가 쌓이면 개발 속도가 느려지고, 고객은 수정되지 않은 결함으로 인해 피해를 볼 수 있습니다.

기술부채를 최소화하기 위해서는 다음과 같은 방법을 고려할 수 있습니다.

  • 프로젝트 초기부터 적절한 기술 선택과 설계를 수행합니다
  • 코드 품질 관리를 합니다
  • 충분한 테스트를 수행합니다
  • 지속적인 개선과 리팩토링을 수행합니다
  • 기술 부채를 적극적으로 모니터링하고, 적절한 대응 전략을 수립합니다

2025-01-23-01 기술부채 01 DALL·E 2025-01-23 18.46.37 - A conceptual illustration of technical debt in software development. The image should depict a software engineer climbing a mountain made of messy cod.png

기술 부채(Technical Debt)란?

글쓴이 권오륜 / 2023년 06월 27일

 

기술 부채의 정의


 

사전적인 정의는 다음과 같습니다.

 

현 시점에서 더 오래 소요될 수 있는 더 나은 접근방식을 사용하는 대신 쉬운(제한된) 솔루션을 채택함으로써 발생되는 추가적인 재작업의 비용을 반영하는 소프트웨어 개발의 한 관점이다.

기술 부채는 금전적인 채무와 비유될 수 있다.

– 위키백과

출처 입력

워드 커닝햄(Ward Cunningham) 이 1992년도에 사용한 표현으로, 소프트웨어 개발에서 빠른 개발이나 기능 출시를 위해 나중에 처리하도록 미루어진 기술적인 문제를 말합니다. 이러한 문제들은 나중에 수정되어야 하지만, 미뤄진 만큼 처리하기에 더욱 복잡하고 비용이 많이 들어가게 됩니다.

결국, 나중에 개발해야 만 하는 추가적인 작업 형태로 남아 마치 갚아야 할 부채처럼 된다는 것입니다.

 

평균적인 소프트웨어 개발자는 기술 부채를 처리하는 데 일주일에 13시간 이상을 쓴다.

– 2018년 스트라이프(Stripe)의 Developer Coefficient 보고서

출처 입력

이와 같이 기술 부채를 관리하는데, 많은 시간을 투입해야 하는 것으로 나타났으며, 시스템이나 애플리케이션이 복잡하고, 커질수록 더욱 많은 시간을 투입해야 합니다.

이외에도, 마틴 파울러는 2009년 그의 블로그에서 기술 부채 사분면을 제시하였으며, 소프트웨어 개발 과정에서 “빠른 구현” 이라는 효과는 나타낼 수도 있지만 결국에는 “유지보수 노력 증가”라는 대가를 치루게 된다는 점을 설명하면서, 기술 부채의 중요성을 강조하고 있습니다.

02. 기술부채 -image-10.png

마틴 파울러의 기술 부채 사분 (https://www.productplan.com/glossary/technical-debt/)

 

기술 부채의 종류


 

기술 부채는 다양한 형태로 나타날 수 있으며, 예를 들어, 설계 부채, 코드 부채, 테스트 부채, 인프라 부채 등이 있습니다.

설계 부채

  • 소프트웨어 설계 단계에서 적절한 설계를 제대로 수행하지 않았거나 설계 결함을 미처 수정하지 못하여 생기는 부채
  • 소프트웨어의 설계가 미흡하거나 부적절하게 이루어졌을 때, 나중에 해당 소프트웨어를 수정하거나 유지 보수하는 과정에서 발생하는 추가적인 비용과 시간

코드 부채

  • 개발자가 프로그램 코드를 작성할 때, 시간이나 예산 등의 제한으로 인해 충분한 품질을 보장하지 못하고 미루는 코드 작성 작업
  • 소프트웨어 개발의 초기 단계에서는 효과적으로 비용을 절감할 수 있지만, 이후에 시스템을 유지 보수/업그레이드/기능 추가 시 많은 비용과 시간이 들어감

테스트 부채

  • 소프트웨어 개발 과정에서 충분한 테스트를 수행하지 않아 생기는 부채
  • 시스템의 기능이나 성능을 충분히 검증하지 않거나, 불완전한 테스트를 수행하여 발견하지 못한 결함으로 인해 시스템이나 소프트웨어의 품질 저하되며, 이후 품질 향상을 위해 많은 비용과 시간이 들어감

인프라 부채

  • 소프트웨어 개발 및 운영을 위한 인프라 구성에 대한 부채
  • 개발자가 시스템 운영을 위한 서버나 DB 등의 인프라 구성을 미리 준비하지 않은 채 개발을 진행하여, 시스템의 초기 버전은 빠르게 출시할 수 있지만, 이후 시스템 규모가 확장되거나 사용자 수가 증가하면 인프라 구성이 부족한 상황이 발생하게 되어, 시스템의 성능 저하나 서버 다운 등의 문제가 발생

기술 부채의 원인


 

기술적인 결함

  • 시스템/소프트웨어 대한 적절하지 않은 설계 또는 코드의 품질 관리를 하지 않는 등의 이유

시간 및 예산 제약

  • 개발 프로젝트의 일정이 매우 촉박하거나, 예산이 제한되어 있는 경우 개발자들은 충분한 테스트나 코드 리팩토링을 수행하지 않아 발생

기술적인 부족함

  • 새로운 기술을 익히는데 시간이 부족한 경우나, 충분한 경험이 없는 경우 발생 가능성이 높음

업무 환경

  • 개발 프로젝트를 위한 업무 환경이 부적절하거나, 커뮤니케이션에 문제가 있어 일부 정보나 요구사항을 놓치는 경우

이외에도 업무 우선순위, 기술적인 한계 등 여러 원인이 있을 수 있습니다.

기술 부채 최소화하는 방안


 

코드 리뷰

  • 다른 개발자들이 작성한 코드를 검토하고, 잠재적인 기술 부채를 예방할 수 있음
  • 코드의 가독성, 유지보수성, 확장성 등을 개선하고, 문제가 발생했을 때 빠르게 대처할 수 있도록 도와줌

테스트 자동화

  • 개발자가 작성한 코드를 자동으로 검증하고, 문제를 미리 파악할 수 있음
  • 잠재적인 기술 부채를 미리 예방할 수 있으며, 개발자가 코드를 수정하거나 추가할 때마다 자동으로 테스트가 수행되므로 코드의 신뢰성을 높일 수 있음

지속적인 통합/배포

  • 코드 변경 사항을 빠르게 반영하고, 문제를 빠르게 파악하고 해결할 수 있음
  • 개발자들은 코드 변경에 대한 실시간 피드백을 받으므로, 문제가 발생했을 때 빠르게 대처할 수 있음

기술 부채 관리

  • 기술 부채를 발생시키는 원인을 파악하고, 관리할 수 있는 프로세스를 도입하여 최소화할 수 있음
  • 기술 부채를 쌓이지 않도록 예방하고, 발생했을 때는 빠르게 대처하여 안정적인 소프트웨어 개발을 진행할 수 있도록 노력해야 함

최신 기술 도입

  • 새로운 기술이 나올 때마다 최신 기술을 도입하여 기술 부채를 최소화할 수 있음
  • 최신 기술을 도입하면 개발 시간이 단축되고, 더욱 효율적으로 개발할 수 있음

기술 부채를 최소화하기 위해서는 프로젝트 초기부터 적절한 기술 선택과 설계, 코드 품질 관리, 충분한 테스트, 그리고 지속적인 개선과 리팩토링을 수행해야 합니다. 또한, 기술 부채를 적극적으로 모니터링하고, 적절한 대응 전략을 수립하여 신속하게 해결하는 것이 필요합니다. 이러한 노력을 통해 기술 부채를 최소화하고, 높은 품질과 안정성을 갖춘 소프트웨어를 개발하는 것이 가능합니다.

기술 부채 관리의 중요성


 

기술 부채는 소프트웨어 개발 프로젝트에서 매우 중요한 문제이며, 기술 부채가 높아질수록 프로젝트 진행에 대한 위험이 높아질 수 있습니다.

높은 기술 부채는 미래에 프로젝트를 더욱 복잡하게 만들어서, 수정과 유지 보수 비용이 늘어날 수 있으며, 회사와 고객에게 추가적인 비용과 불편함을 초래할 수 있습니다. 또한, 품질이 낮아질 가능성이 높아져서, 불편한 사용자 경험과 기능 오류를 초래할 수 있습니다.

따라서, 기술 부채를 적절하게 관리하고 최소화하는 것이 매우 중요합니다. 기술 부채를 관리함으로써, 프로젝트의 일정과 예산을 준수하는 데 도움을 주며, 프로젝트의 품질과 안정성을 유지하는 데에도 중요합니다. 또한, 기술 부채를 최소화하면 개발자들은 보다 많은 시간과 에너지를 현재의 개발 과제에 집중할 수 있으며, 개발자들의 생산성과 만족도를 높이는데 도움을 줍니다.

마치며 …


 

기술 부채는 피할 수 없는 것이며, 모든 조직에서 발생할 수 있는 문제입니다.

개발자들은 기술 부채에 대한 인식을 높이고, 팀 전체적으로 기술 부채를 예방하고 관리할 수 잇는 문화를 구축해야 할 것입니다.

팀내에서도 기술 부채를 관리하고 있는지에 대해 한번쯤 검토해 보아야 할 것이며, 저희가 개발하고 있는 제품/서비스를 지속적으로 발전해나가려면, 기술 부채들을 조금씩은 해소해나가면서 개발 진행할 수 있도록 해야할 것입니다.

기술 부채를 최소화하기 위한 방안 및 프로세스 개선에 대해서도 본부 차원에서 고민해봐야 할 문제로 보입니다.

관련 기사


 
  • https://melv1n.com/what-is-technical-debt/
  • https://namu.wiki/w/기술적 부채
  • https://www.itworld.co.kr/insider/238829
  • https://yozm.wishket.com/magazine/detail/1331/
  • https://www.bzpp.co.kr/viewplus/viewplus/ST170328A00001
  • https://www.2e.co.kr/news/articleView.html?idxno=207765
  • https://giljae.com/2022/08/08/기술-부채의-유형과-관리-방법.html

[출처] https://tech.hancom.com/2023-06-27-technical-debt/

 
한컴테크한컴테크를 통해 한컴의 기술을 공유합니다. 한컴의 프로그래밍, 프레임워크, 라이브러리 및 도구 등 다양한 기술을 만나보세요. 한컴 개발자들의 다양한 지식을 회사라는 울타리를 넘어 여러분과 공유합니다. 한컴이 제공하는 기술블로그에서 새로운 아이디어와 도전을 마주하고, 개발자가 꿈꾸는 미래를 실현하세요.

tech.hancom.com

 
 
 

 

Loading

28 12월 2024

[ 一日30分 인생승리의 학습법] 고가용성(High Availability) 시스템을 위한 5가지 전략

[ 一日30分 인생승리의 학습법] 고가용성(High Availability) 시스템을 위한 5가지 전략

고가용성(High Availability) 시스템을 위한 5가지 전략

5가지 전략으로 마스터하는 MSA의 고가용성 실전 가이드

Introduction

고가용성, 보통 HA(High Availability)라고 많이들 부를 텐데요. 비즈니스가 잘 되기 시작하면서 대용량 트래픽을 뒷받침할 요소들을 넣다보면 가용성에 대한 고민이 깊어질 수밖에 없어집니다. 특히 마이크로서비스 아키텍처(MSA)를 설계할 때 많은 소프트웨어 엔지니어들이 고민하는 부분이 바로 이 고가용성인데요. 서비스 간의 느슨한 결합과 독립적인 배포라는 MSA의 장점을 살리면서도 시스템 전체의 안정성과 가용성을 확보하는 것이 쉽지 않은 과제이기 때문입니다. 이번에 소개해 드릴 글은 System Design Codex의 “5 Strategies for High-Availability Systems”라는 제목의 글로, 고가용성 시스템을 설계하는 데 도움이 될 만한 5가지 핵심 전략을 다루고 있습니다.


가용성(Availability)은 사용자 경험에 있어 매우 중요합니다. 매 분마다 비행기가 이륙하고 착륙하는 바쁜 공항을 운영하고 있다고 가정해봅시다. 우리가 가장 원하지 않는 것은 관제탑이 고장 나서 혼란과 지연이 일어나는 것일 겁니다.

이와 비슷하게, 24시간 온라인 서비스가 제공되는 시대에 고가용성은 일종의 성배와도 같게 되었습니다. 여러분이 주말에 친구 및 가족과 하이킹을 갈 때조차도 시스템은 항상 작동하고 운영되도록 보장해야 합니다.

그렇다면, 이를 어떻게 해야 할까요? 당연히 여러분은 휴가나 가족과의 시간을 망치고 싶지 않겠죠. 그러니 시스템의 고가용성을 확보하기 위한 몇 가지 전략을 적용해야 합니다.

아래에 소개한 5가지 중요한 전략을 살펴보겠습니다.

1. 로드 밸런싱(Load Balancing, LB)

다시 공항 예시로 돌아가보죠. 우리의 시스템이 바쁜 공항이고, 들어오는 리퀘스트가 착륙을 요청하는 비행기와 같다고 가정해 봅시다. 그런데 활주로가 단 2개밖에 없다면 어떨까요?

바로 이때 관제사가 해야 할 일은 비행기를 다른 활주로로 유도하고, 각 활주로의 부하를 관리하며, 혼잡을 야기하지 않으면서 교통량을 계속 처리하는 것일 겁니다.

로드 밸런서는 곧 애플리케이션의 항공교통관제사와 같습니다. 로드 밸런서는 CPU 사용률, 메모리 사용량, 응답 시간 등 여러 요소를 분석하여 요청을 가장 가용성이 높고 응답성이 좋은 서버로 라우팅합니다. 부하를 분산시킴으로써 단일 서버가 과부하되는 것을 방지하여 피크 부하 시에도 원활한 운영 흐름을 보장합니다.

01 image.png

2. 격리를 통한 데이터 복제(Data Redundancy with Isolation)

만약 특정 노선의 비행기에 문제가 생겨 운항할 수 없게 되면 어떻게 될까요? 탁월한 고객 서비스를 제공하는 효율적인 항공사를 운영하고 있다면, 승객들을 목적지까지 데려다 줄 예비 항공기를 갖추고 있을 것입니다.

애플리케이션의 데이터 복제도 마찬가지입니다. 여기서 데이터 복제(Redundancy, 혹은 Replication)란, 여러 데이터 센터나 클라우드 리전(region)에 걸쳐 데이터의 복사본을 여러 개 저장하는 것을 포함합니다.이렇게 하면 한 데이터 센터에서 장애나 중단이 발생하더라도 사용자는 다른 위치에서 데이터에 계속 엑세스할 수 있습니다.

데이터베이스 복제, 객체 스토리지, 분산 파일 시스템은 바로 데이터 복제를 구현하는 데 일반적으로 사용되는 기술입니다.

02 image.png

3. 장애 조치(Failover)

스카이다이빙을 하러 갔다고 해봅시다. 땅으로 떨어지는 와중에 등에 매달린 유일한 낙하산에 결함이 있다는 것을 깨달은 적이 있나요? (아마도 그렇지 않겠지만) 만약 그런 상황이라면 쉽게 펼칠 수 있는 보조 낙하산이 있기를 간절히 바랄 테죠. 시스템 설계의 맥락에서 장애 조치(Failover)는 그 낙하산과 같습니다.

장애 조치란 주요 구성 요소가 실패할 때, 시스템이나 서비스를 주요 구성 요소에서 대기 또는 백업 구성 요소로 자동 전환하는 것을 의미합니다. 이는 네트워크 트래픽을 백업 서버로 전송하거나, 보조 데이터베이스로 전환하거나, 사용자를 미러링된 애플리케이션 인스턴스로 리디렉션하는 것을 포함할 수 있습니다.

장애 조치 메커니즘은 일반적으로 로드 밸런서, 애플리케이션 서버 및 데이터베이스 관리 시스템에 내장되어 있어 사용자의 가동 중단 시간을 최소화하면서 신속한 전환을 보장합니다.

03.png

4. 오토 스케일링(Auto scailing)

고가용성 관점에서 오토 스케일링은 전투 시나리오의 요구 사항에 따라 추진력을 조정할 수 있는 강력한 전투기에 비유할 수 있습니다.

시스템 설계에서 이 전략은 현재 부하 및 사용 패턴에 따라 컴퓨팅 자원(가상 머신, 컨테이너 또는 서버리스 기능 등)을 동적으로 할당하거나 할당 해제하는 것을 뜻합니다.

오토 스케일링은 CPU 사용률, 메모리 사용량 또는 들어오는 요청 비율과 같은 메트릭에 의해 트리거될 수 있으며, 종종 클라우드 플랫폼 서비스 또는 맞춤형 스케일링 알고리즘을 사용하여 구현됩니다.

사용자 트래픽이 변동할 때, 오토 스케일링은 시스템이 부하를 처리하는 데 필요한 용량을 항상 확보해 성능 저하나 중단을 방지합니다.

04 image.png

5. Rate Limiting(호출 제한)

매우 바쁜 공항의 활주로가 15분마다 단 두 번의 착륙만 처리할 수 있다고 상상해 보세요. 더 많은 착륙을 시도하면 사고가 발생해 활주로를 완전히 망가뜨리게 될 것입니다. 승객의 생명을 위험에 빠뜨리는 것은 말할 것도 없죠. 이 경우 관제사는 15분마다 2대의 비행기만 착륙할 수 있도록 들어오는 비행기를 조정함으로써 호출 제한기(Rate Limiter) 역할도 합니다.

사용자 요청과 관련하여 애플리케이션에도 동일한 개념이 적용됩니다. 이 전략은 초당 또는 분당 고정된 수의 요청과 같이 주어진 시간 프레임 내에서 사용자 또는 시스템이 요청할 수 있는 수에 제한을 두는 것을 포함합니다.

호출 제한은 로드 밸런서, 웹 서버 또는 애플리케이션 수준과 같은 다양한 계층에서 구현될 수 있습니다. 단일 사용자 또는 시스템이 모든 리소스를 사용하는 것을 방지함으로써 호출 제한은 모든 사용자에게 공정하고 안정적인 서비스를 보장하고 갑작스러운 트래픽 급증으로 인해 시스템이 과부하되는 것을 방지합니다.

05 image.png

자, 여러분들은 애플리케이션의 가용성을 향상시키기 위해 다른 어떤 전략을 사용해 보셨나요? 댓글을 남겨주세요 🙂

Top 1% 개발자로 거듭나는 확실한 처방전, 데브필이었습니다.

06 woonys__youtube_profile_image_the_channel_name_is_DevPill_softw_a07a80be-3468-4941-a672-9146f0f59b5b.png
 [출처] https://maily.so/devpill/posts/8do7x52ezgq

Loading

25 12월 2024

[인공지능 기술] 골칫거리 AI 환각, 과학 연구에서는 혁신적 아이디어 제공

[인공지능 기술] 골칫거리 AI 환각, 과학 연구에서는 혁신적 아이디어 제공

골칫거리 AI 환각, 과학 연구에서는 혁신적 아이디어 제공

입력
인공지능(AI)의 환각 현상이 과학 연구에서 새로운 아이디어를 낼 때 도움을 주는 것으로 나타났다. 게티이미지뱅크 제공

인공지능(AI)의 환각 현상이 과학 연구에서 새로운 아이디어를 낼 때 도움을 주는 것으로 나타났다. 게티이미지뱅크 제공

인공지능(AI)이 실제와 유사한 정보를 지어내거나 조작해 신뢰도에 문제를 일으키는 ‘AI 환각(hallucination)’ 현상이 과학계에서는 창의적 아이디어를 내고 문제를 해결하는 데 유용하게 쓰이고 있다.

23일(현지시간) 미국 뉴욕타임스(NYT) 보도에 따르면 AI 환각 현상은 단백질·의료기기 설계, 기상 예보 등의 분야에서 과학자들이 새로운 아이디어를 구상할 때 도움을 주는 것으로 나타났다.

학습한 데이터를 기반으로 새로운 정보를 만들어내는 생성형 AI는 때때로 진짜와 비슷하지만 존재하지 않는 정보를 지어내거나 조작하는 환각 현상을 보인다. 환각은 특히 AI가 내놓는 답변 신뢰도에 치명적인 영향을 미친다. AI 환각을 억제하려는 노력이 이어지고 있지만 과학계에서는 오히려 AI 환각이 연구활동에 유용하게 쓰이는 사례가 나오고 있다.

올해 노벨화학상을 수상한 데이비드 베이커 미국 워싱턴대 교수는 생명체의 기본 요소인 단백질을 연구하는 과학자다. 새로운 단백질을 설계해 암이나 바이러스와 싸우는 치료제로 활용할수 있다. 베이커 교수는 AI의 ‘상상력’이 새로운 단백질을 만들어내는 핵심이라고 밝혔다.

베이커 교수팀은 인간이 모호한 패턴을 의미 있는 이미지로 변환하려는 현상인 변상증(pareidolia)에서 아이디어를 얻기도 했다. 실제 단백질의 구조적 특징을 인식하도록 훈련된 모델에 임의의 아미노산 서열을 입력하자 자연 구조와 유사하지만 동일하지는 않은 수천 개의 가상 단백질이 생성됐다. 아미노산은 단백질의 기본 재료 물질로 아미노산 서열에 따라 다양한 단백질이 만들어진다.

AI 환각으로 설계된 단백질을 만드는 유전자를 합성해 미생물에 삽입하자 그동안 알려지지 않은 129종의 새로운 단백질이 만들어졌다. 베이커 교수는 “AI로 창의적 상상력을 한 단계 더 발전시켰다”고 밝혔다.

아난드쿠마르 미국 캘리포니아공대(칼텍) 수학·컴퓨팅과학과 교수는 병원균 오염을 줄일 수 있는 새로운 종류의 카테터를 설계하는 데 AI 환각을 활용했다. 카테터는 인체에 삽입할 때 쓰이는 얇은 의료용 관이다. 연구팀은 AI 모델로 수천 개의 카테터 모양을 생성하고 가장 효과적인 선택지를 골랐다. 내벽에 톱니 모양이 달려서 박테리아가 환자의 몸으로 거슬러 올라가는 것을 방지한다.

흐릿한 의료영상 이미지를 선명하게 만들기 위해 AI를 활용한 ‘환각 자기공명영상(MRI)’이라는 연구논문이 발표되기도 했다.

다만 과학자들 대부분은 환각이라는 표현에 대해서 부정확하고 오해의 소지가 있다고 생각해 사용을 피하는 것으로 나타났다. 챗GPT 같은 언어모델에서 모호한 인터넷 정보나 편견·거짓을 기반으로 발생하는 AI 환각과 달리 연구에 쓰이는 AI는 자연 현상과 과학적 데이터를 기반으로 하기 때문에 차이가 있다는 주장이다.

에이미 맥거번 미국 오클라호마대 기상학 및 컴퓨터과학과 교수는 “기상 전문가들이 AI로 미묘한 예보 변화와 확률 범위를 만들어 폭염 같은 극한 현상을 유발하는 요인을 발견할 수 있다”며 “AI 환각을 오래된 용어인 ‘확률 분포’로 설명할 수도 있다”고 말했다.

푸시미트 콜리 영국 구글 딥마인드 연구원은 “AI가 생명의 가장 깊은 비밀을 풀고 질병 치료, 건강 개선, 수명 연장을 위한 강력하고 새로운 기반을 구축할 것”이라고 밝혔다.

Loading

19 12월 2024

[wordpress, 워드프레스] WordPress 페이지또는 글에 별도 CSS와 JavaScript 추가하기

[wordpress, 워드프레스] WordPress 페이지또는 글에 별도 CSS와 JavaScript 추가하기

WordPress 페이지또는 글에 별도 CSS와 JavaScript 추가하기

WordPress 페이지또는 글에 별도 CSS와 JavaScript 추가하기

안녕하세요
RWDB 입니다~!!!

오늘 소개해드릴 내용은 WordPress 관련 내용인데요

WordPress에서 각 페이지나 글 등록시 해당 페이지나 글에만 적용되고 싶은 CSS, JavaScript 꼭 있잖아요??
그걸 쉽게~~ 아주 쉽게 하실 수 있게 하는 내용 입니다.

※ 다음에 소개하는 방법 functions.php을 사용하기 때문에 테마에 functions.php없는 경우 작성하십시오.

CSS를 추가 할 수 있도록

CSS를 추가 할 수 있도록하려면 아래 내용을 functions.php에 추가해주시면 됩니다.

functions.php

//Custom CSS Widget
add_action( 'admin_menu', 'custom_css_hooks' );
add_action( 'save_post', 'save_custom_css' );
add_action( 'wp_head','insert_custom_css' );
function custom_css_hooks() {
  add_meta_box( 'custom_css', 'Custom CSS', 'custom_css_input', 'post', 'normal', 'high' );
  add_meta_box( 'custom_css', 'Custom CSS', 'custom_css_input', 'page', 'normal', 'high' );
}
function custom_css_input() {
  global $post;
  echo '<input type="hidden" name="custom_css_noncename" id="custom_css_noncename" value="'.wp_create_nonce('custom-css').'" />';
  echo '<textarea name="custom_css" id="custom_css" rows="5" cols="30" style="width:100%;">'.get_post_meta($post->ID,'_custom_css',true).'</textarea>';
}
function save_custom_css($post_id) {
  if ( !wp_verify_nonce( $_POST['custom_css_noncename'], 'custom-css' ) ) return $post_id;
  if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE) return $post_id;
  $custom_css = $_POST['custom_css'];
  update_post_meta( $post_id, '_custom_css', $custom_css );
}
function insert_custom_css() {
  if ( is_page() || is_single() ) {
    if ( have_posts() ) : while ( have_posts() ) : the_post();
      echo '<style type="text/css">' . get_post_meta(get_the_ID(), '_custom_css', true) . '</style>';
    endwhile; endif;
    rewind_posts();
  }
}

JavaScript를 추가 할 수 있도록

JavaScript를 추가 할 수 있도록하려면 아래 내용을 functions.php에 추가해주시면 끝!

functions.php

//Custom JS Widget
add_action( 'admin_menu', 'custom_js_hooks' );
add_action( 'save_post', 'save_custom_js' );
add_action( 'wp_head','insert_custom_js' );
function custom_js_hooks() {
  add_meta_box( 'custom_js', 'Custom JS', 'custom_js_input', 'post', 'normal', 'high' );
  add_meta_box( 'custom_js', 'Custom JS', 'custom_js_input', 'page', 'normal', 'high' );
}
function custom_js_input() {
  global $post;
  echo '<input type="hidden" name="custom_js_noncename" id="custom_js_noncename" value="'.wp_create_nonce('custom-js').'" />';
  echo '<textarea name="custom_js" id="custom_js" rows="5" cols="30" style="width:100%;">'.get_post_meta($post->ID,'_custom_js',true).'</textarea>';
}
function save_custom_js($post_id) {
  if (!wp_verify_nonce($_POST['custom_js_noncename'], 'custom-js')) return $post_id;
  if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) return $post_id;
  $custom_js = $_POST['custom_js'];
  update_post_meta($post_id, '_custom_js', $custom_js);
}
function insert_custom_js() {
  if ( is_page() || is_single() ) {
    if ( have_posts() ) : while ( have_posts() ) : the_post();
      echo '<script type="text/javascript">' . get_post_meta(get_the_ID(), '_custom_js', true) . '</script>';
    endwhile; endif;
    rewind_posts();
  }
}

CSS와 JavaScript를 모두 사용하시려면 둘다 넣으시면 되겠죠?? ㅋ
functions.php 파일을 저장후 편집 페이지를 확인해보시면 아래 이미지와 같이 추가된걸
확인 하실 수 있습니다. 

Custom CSS Write Panel

 [출처] http://rwdb.kr/wordpress-page-css-javascript/

Loading

19 12월 2024

[時事] 조선일보 테크팀이 뽑은 2024 테크놀로지 10대 뉴스

[時事] 조선일보 테크팀이 뽑은 2024 테크놀로지 10대 뉴스

조선일보 테크팀이 뽑은 2024 테크놀로지 10대 뉴스

조선일보 테크부는 2024년 테크놀로지 10대 뉴스를 선정했다. 올해 테크 업계를 관통한 키워드는 ‘격변’이었다.

인간 수준의 능력을 보이는 인공지능(AI)이 세계적으로 확산하면서 기존 산업 공식은 통째로 흔들렸다. AI 시대 흐름에 잘 올라타느냐 여부가 기업의 명운을 갈랐다. AI 반도체 최강자 엔비디아 주가는 훨훨 날며 젠슨 황 CEO의 인기도 치솟았다. 반면 기존 반도체 업계의 최강자였던 삼성전자와 인텔은 기대에 미치지 못하는 실적을 내며 위기를 겪었다.

기술에도 명암이 있었다. 일론 머스크가 세운 뇌신경과학 스타트업 뉴럴링크는 사지마비 환자의 뇌에 컴퓨터 칩을 심는 수술에 성공하며 뇌 과학의 새로운 시대를 열었다. 인류 역사상 가장 거대한 우주선 ‘스타십’도 시험 비행에 성공했다. 하지만 기술의 어두운 면도 많았다. 올해 AI 발달로 이미지 합성 기술이 정교해지면서 미국부터 한국까지 딥페이크 성범죄물로 몸살을 앓았다. 마이크로소프트 클라우드 서비스에 오류가 발생하면서 세계 곳곳에서 업무가 마비되는 ‘IT 블랙아웃’ 사태가 벌어지기도 했다. /편집자주

01 PM356KLJQ5E5ZKK3UGCZOZWESI.png
 

1) 테일러 스위프트부터 한국 청소년들까지 덮친 ‘딥페이크’

AI 발달로 이미지 합성 기술이 정교해지면서 실제 얼굴 사진에 음란물을 덧붙이는 ‘딥페이크 성범죄’가 글로벌을 덮쳤다. 올해 초에는 세계적인 팝스타 테일러 스위프트의 얼굴을 합성한 성범죄물이 급속도로 유포됐으며, 한국에서는 학생들을 대상으로 한 딥페이크 성범죄가 수면 위로 드러났다. 생성형AI로 딥페이크 성범죄물을 만들기 쉬워지고 소셜미디어를 타고 빠르게 퍼질 수 있는 만큼 관련 기술과 플랫폼 규제를 위한 법 제정 등이 이뤄지고 있다.

2) 반도체 둘러싼 미·중 숨바꼭질…AI 칩 빼돌리고, 미국은 틀어막고

첨단 반도체와 AI를 둘러싼 미국과 중국의 무역 전쟁은 올해도 이어졌다. 미국은 규제를 잇따라 강화하고 있지만 중국 기업들은 유학생이나 해외 자회사를 설립하는 방식으로 미국의 AI 반도체를 밀수하고 있다는 의혹을 받는다. 이에 미국은 이달 초 SK하이닉스와 삼성전자가 생산하는 고대역폭메모리(HBM)마저도 수출 규제 대상에 포함하는 한층 강화된 3차 규제안을 발표했다. 중국은 갈륨, 게르마늄 등 주요 광물 자원의 대미 수출 통제 조치로 맞대응에 나서며 긴장이 고조되고 있다.

3) 위기의 삼성전자, 경영진 공식 사과까지

삼성전자를 둘러싸고 위기론이 나오고 있다. 지난 10월 삼성전자 반도체 수장 전영현 부회장은 3분기 실적이 시장의 기대에 미치지 못하자 사과문까지 내놨다. 반도체 실적뿐만이 아니다. 삼성전자 창사 이래 노동조합이 파업에 돌입하며 내부 리스크가 높아졌고, 지난 7월 내놓은 무선 이어폰 신제품 ‘갤럭시버즈3’에서는 품질 문제가 발생해 교환 환불 조치에 들어갔다. 이재용 삼성전자 회장은 재판정에 출석해 “국민의 사랑을 받는 삼성으로 거듭날 수 있도록 하겠다”며 위기 극복 의지를 다졌다.

4) 인텔의 끝 모를 추락

‘인텔 인사이드’로 한때 세계를 호령했던 인텔도 AI 변화에 올라타지 못하고 올해 힘든 한 해를 보냈다. 야심차게 내놓은 AI 가속기 ‘가우디’ 시리즈는 엔비디아의 아성을 넘기엔 역부족이었다. 새 먹거리로 파운드리(위탁생산) 사업에 재진출했지만 TSMC와 삼성전자의 벽은 높았다. 직원 1만5000명을 해고하는 비상 경영 체제에 돌입했지만 사정은 좋지 않다. 추락하는 인텔의 구세주가 되겠다며 인텔로 돌아온 팻 겔싱어 최고경영자(CEO)도 이달 초 퇴임했다.

5) 뇌부터 우주까지…머스크의 미친 존재감

올해는 ‘일론 머스크의 해’였다. 머스크가 설립한 뇌신경과학 스타트업 뉴럴링크는 지난 1월 사지마비 환자의 뇌에 컴퓨터 칩을 심는 수술에 성공하며 뇌 과학의 새로운 시대를 열었다. 민간우주기업 스페이스X는 인류 역사상 가장 거대한 우주선 ‘스타십’의 시험 비행에 성공하며 화성 탐사에 한 발짝 가까워졌다. 미국 대선에서 도널드 트럼프에 베팅했던 머스크는 트럼프 정부의 자문기구인 ‘정부효율부’ 공동 수장으로 임명되며 정치적으로도 입지를 다지고 있다.

6) IT 분야 최고 스타 젠슨 황…대만 맛집 방문 지도까지 등장

AI 시대를 이끌고 있는 엔비디아의 젠슨 황 CEO의 인기가 작년에 이어 올해도 이어지고 있다. 엔비디아의 연례행사 컴퓨텍스를 위해 대만을 방문한 젠슨 황은 수많은 시민들과 셀카를 찍었으며 귀국 날 사인을 해주다 출국 시간에 늦기도 했다. 대만 타이베이시 관광국은 그가 대만에 머물며 방문한 야시장과 식당 등을 모아 ‘젠슨 황 미식지도’를 만들었다. 컴퓨텍스에는 AMD, 인텔, 퀄컴, ARM 등 글로벌 반도체 빅테크뿐 아니라 6000여 명의 청중이 모이며 인기를 실감하게 했다.

7) 조사·벌금 때려 맞는 글로벌 빅테크

글로벌 빅테크들의 수난 시대가 이어지고 있다. 각국에서 자국 산업을 보호하고 빅테크의 영향력에서 벗어나려는 움직임이 일어나고 있는 것이다. 유럽연합(EU)은 애플이 반독점법을 위반했다며 올해 초 약 2조7000억원에 달하는 과징금을 부과했다. 미국 법무부는 반독점법 위반을 이유로 구글에 웹브라우저 크롬 매각을 요구하고 나섰다. 마크 저커버그 메타 CEO는 미국 워싱턴DC에서 열린 상원 법제사법위원회 청문회에서 온라인 아동 성 착취 피해자 가족에게 고개를 숙이기도 했다.

8) MS 클라우드 먹통에 전세계 IT 블랙아웃

지난 7월 마이크로소프트(MS)의 클라우드 서비스에서 보안 프로그램 업데이트 도중 오류가 발생해 세계 곳곳에서 항공·은행·병원 등의 업무가 마비되는 초유의 사태가 벌어졌다. 이번 장애는 미국 대형 사이버 보안 기업 ‘크라우드 스트라이크’가 MS의 클라우드 ‘애저’에서 보안 프로그램을 업데이트하는 과정에서 일어났다. 업계에선 이번 사태를 우리의 일상을 촘촘한 네트워크망 위에 구축한 ‘초연결 사회’의 위험을 보여준 상징적 사건으로 본다.

9) 트럼프 당선과 함께 솟아오른 비트코인

도널드 트럼프 미국 대통령 당선인의 취임을 앞두고 가상자산 호황기가 찾아왔다. 트럼프 당선인은 대선 과정에서 “미국을 가상자산의 수도로 만들겠다”며 가상자산 옹호자를 자처했다. 트럼프 당선 이후 대표적인 가상자산인 비트코인 가격은 사상 처음으로 10만달러를 돌파했다. 트럼프 대통령이 비트코인을 국가 비축자산으로 삼을 것으로 전망되면서 내년에는 비트코인 가격이 20만달러를 기록할 것이란 예측도 나오고 있다.

10) 김범수 카카오 창업자 구속

올해 카카오는 SM엔터테인먼트 시세 조종 의혹으로 창업자 김범수 경영쇄신위원장이 구속되며 최악의 한 해를 보냈다. 구속 3개월여 만인 지난 10월 보석으로 풀려났지만 피고인 신분으로 재판을 받아야 하는 만큼 경영 등에 차질은 계속 이어질 것으로 보인다. 카카오는 핵심 사업을 중심으로 사업을 재편하면서 AI를 중심으로 한 서비스 개발을 이어나갈 계획이다. 이를 통해 기업 리스크를 최소화하면서 미래 성장 동력을 마련한다는 전략이다.

02 https___s3.amazonaws.com_arc-authors_chosun_5cb5aa01-8c49-4412-a702-6debe77b0fd3.png
편집국 테크부 기자
 
 
 
03 https___author-service-images-prod-us-east-1.publishing.aws.arc.pub_chosun_19d549fe-74d5-43e5-b840-43f0d60d9dc6.png
플랫폼과 스타트업, 게임 등을 담당합니다.
 

[출처] https://www.chosun.com/economy/tech_it/2024/12/19/RVZL36THO5F6RALEAZ4TZESZAE/

Loading

14 12월 2024

[chatGPT] ChatGPT를 활용한 데이터베이스 설계 및 데이터분석 쿼리 실습 사례 – eCommerce 플랫폼을 위한 데이터 베이스 설계

[chatGPT] ChatGPT를 활용한 데이터베이스 설계 및 데이터분석 쿼리 실습 사례 – eCommerce 플랫폼을 위한 데이터 베이스 설계

오늘은 ChatGPT를 데이터베이스 설계 및 데이터 분석 쿼리를 만드데 사용하는 방법을 정리한 첫번째 내용으로 이 글에서는 ChatGPT를 활용하여 eCommerce 플랫폼을 위한 데이터베이스 설계 및 데이터 분석 쿼리를 만드는 방법에 대해 알아보겠습니다.

1. 요구사항 분석

eCommerce 플랫폼 개발을 위해 가장 먼저 필요한 작업은 데이터베이스 설계를 위한 요구 사항을 파악 하는 일입니다. 실제 요구사항 분석 단계는 고객사의 니즈를 파악하고 사용자 시나리오 분서, 성능, 확장성 등 다양한 조사와 작업들이 필요하지만 오늘은 ChatGPT를 통해 일반적인 요구 사항을 확인해보겠습니다. ChatGPT에게 먼저 eCommerce 플랫폼 개발을 위한 데이터베이스 설계를 위한 요구 사항을 확인해봅니다.

ChatGPT프롬프트
eCommerce 플랫폼 개발을 위한 DB 설계 요구 사항을 정리 해줘
 

01. pic1-507426aed497b8dfbc1fdc3e7e3e9d17.png

2. 데이터베이스 설계 및 테이블 생성

1) 설계

위에서 요구사항을 파악 한 것 처럼 eCommerce 플랫폼을 위한 데이터베이스는 사용자 정보, 제품 정보, 주문 정보, 결제 정보, 배송 정보, 리뷰 및 평점, 장바구니 정보 등을 관리해야 합니다. 이러한 정보를 관리하기 위해 다음과 같은 테이블을 생성할 수 있습니다:

  • Users
  • Products
  • Orders
  • OrderDetails
  • Payments
  • Shipping
  • Reviews
  • Cart
ChatGPT프롬프트
eCommerce 플랫폼 개발을 위한 DB table 들을 정리 해줘
 

02. pic2-eb33c323f111cbcd32f9fef80f6c19b9.png

2) ERD 작성

이러한 테이블 간의 관계는 ERD(Entity Relationship Diagram)를 통해 시각화할 수 있습니다. ERD는 데이터베이스 테이블 간의 관계를 보여주는 도구로, 데이터베이스 설계 과정에서 중요한 역할을 합니다. eCommerce의 테이블 간의 관계를 파악하기 위한 ERD를 그려보고 위의 테이블들을 만들고 ERD

ChatGPT프롬프트
위의 테이블 목록을 기반으로 데이터베이스 ERD를 그려줘
 

03 ecommerce-database-design-pic3-fbb9e60ae5f87c499817afb5ae11e829.png

참고로 ERD를 그리기 위해서는 Show Me 라는 ChatGPT 플러그인을 설치 하셔야 합니다.

3. 데이터베이스 쿼리 작성

먼저 ChatGPT로 위의 요구사항 분석 및 ERD 작성을 통해 도출된 데이터베이스 테이블을 만들기 위한 쿼리를 만들어봅니다.

1) 테이블 생성 쿼리

ChatGPT프롬프트
위의 테이블 생성을 위한 mysql 쿼리를 작성해줘
 

04 pic4-01fa31d2245a2d52607f9d9a2ed26a8c.png

2) 주요 동작(Operation) 쿼리

테이블 생성 후에는 MySQL 쿼리를 사용하여 데이터를 관리할 수 있습니다. 사용자 생성, 제품 조회, 주문 업데이트, 결제 정보 조회, 배송 정보 생성, 리뷰 작성, 장바구니에 제품 추가, 장바구니에서 제품 삭제, 장바구니 조회 등의 작업을 수행하는 데 필요한 기본적인 쿼리를 작성할 수 있습니다.

먼저 ChatGPTfh 주요 동작(Operation)들을 정리해봅니다.

ChatGPT프롬프트
주요 operation 들을 정리 해줘
 

05 pic5-1550d712be796c2c2e36e04db78f37fe.png

ChatGPT프롬프트
위에서 정리해준 주요 동작(Operation)을 위한 mysql 쿼리를 정리 해줘
 

06 pic6-cfd31c44115bf9de63912dcddf754934.png

3) 주요 동작(Operation) 상태 관리 및 상태 다이어그램

주문 관리, 결제 관리, 배송 관리의 경우 상태관리가 중요한 테이블 들이라 상태 관리를 위한 상태 들을 정의 해달라고 요청 합니다.

ChatGPT프롬프트
주문 관리, 결제 관리, 배송 관리 상태 관리를 위한 상태 들을 정리 해줘

 

07 pic6-2-5c42375d749bbe2525e1488c2ab23939.png

ChatGPT가 정리 해준 상태 정의를 기반으로 상태 다이어그램을 작성 해달라고 요청 합니다.

ChatGPT프롬프트
주문 관리, 결제 관리, 배송 관리 상태 관리를 위한 상태 다이어그램을 각각 작성 해줘
 

08 pic6-3-609a499d7619136652de7fead7a8f826.png

 09 pic6-4-efe54c273ec3c276e47d07d59eac61ca.png

 10 pic6-5-7c1b3479c3e01e45b3bfa8e27bab48fc.png

마지막으로 ChatGPT에게 주문 관리, 결제 관리, 배송 관리 상태 관리 업데이트를 위한 쿼리문들을 작성해 달라고 요청 합니다.

ChatGPT프롬프트
주문 관리, 결제 관리, 배송 관리 상태 관리 업데이트를 위한 쿼리문들을 작성해줘
 

11 pic6-6-13d838497016de194cfc0c113ee543af.png

이상으로 기본적인 테이블 생성 및 기본 동작 및 주요 테이블들의 상태 관리를 위한 쿼리 까지 작성 해볼 수 있었습니다. 다음으로는 월별 고객 데이터 분석과 판매 실적 분석 등 데이터 분석을 위한 쿼리를 만들어보겠습니다.

3. 데이터 분석 쿼리 만들기

데이터베이스가 준비 되고나면, 데이터 분석을 위한 쿼리를 작성할 수 있습니다. 월별 신규 고객 수, 월별 총 판매량, 월별 총 판매액, 월별 베스트셀러 상품 등의 정보를 얻는 데 도움이 되는 쿼리를 작성할 수 있습니다.

ChatGPT프롬프트
월별 고객 데이터 분석과 판매 실적 분석을 위한 쿼리들을 정리 해줘
 

12 pic7-193a47b09819c4f235bc900dcd361f8c.png

월별 고객 데이터 분석과 판매 실적 분석을 위한 쿼리는 다음과 같습니다:

월별 신규 고객 수(New Customers per Month):

SELECT DATE_FORMAT(creation_date, '%Y-%m') AS month, COUNT(*) AS new_customers
FROM Users
GROUP BY month;
 

이 쿼리는 각 월별로 신규 가입한 고객 수를 계산합니다. 여기서 creation_date는 사용자가 계정을 생성한 날짜를 나타내는 필드입니다.

월별 총 판매량(Total Sales per Month):

SELECT DATE_FORMAT(order_date, '%Y-%m') AS month, COUNT(*) AS total_sales
FROM Orders
WHERE payment_status = 'Completed'
GROUP BY month;
 

이 쿼리는 각 월별로 완료된 주문의 총 수를 계산합니다. 여기서 order_date는 주문이 생성된 날짜를 나타내는 필드입니다.

월별 총 판매액(Total Sales Amount per Month):

SELECT DATE_FORMAT(Orders.order_date, '%Y-%m') AS month, SUM(OrderDetails.quantity * Products.price) AS total_sales_amount
FROM Orders
JOIN OrderDetails ON Orders.order_id = OrderDetails.order_id
JOIN Products ON OrderDetails.product_id = Products.product_id
WHERE Orders.payment_status = 'Completed'
GROUP BY month;
 

이 쿼리는 각 월별로 판매된 제품의 총액을 계산합니다.

월별 베스트셀러 상품(Bestselling Products per Month):

SELECT DATE_FORMAT(Orders.order_date, '%Y-%m') AS month, Products.product_name, SUM(OrderDetails.quantity) AS quantity_sold
FROM Orders
JOIN OrderDetails ON Orders.order_id = OrderDetails.order_id
JOIN Products ON OrderDetails.product_id = Products.product_id
WHERE Orders.payment_status = 'Completed'
GROUP BY month, Products.product_name
ORDER BY quantity_sold DESC;
 

이 쿼리는 각 월별로 가장 많이 판매된 제품을 찾습니다.

이러한 쿼리는 월별 고객 데이터와 판매 실적을 분석하는 데 도움이 됩니다. 실제 구현시에는 비즈니스 요구 사항에 따라 쿼리가 달라질 수 있습니다.

7. 마치며

eCommerce 플랫폼 개발은 복잡한 과정이고 데이터베이스 설계 및 상태 관리에도 많은 고민이 필요하지만, ChatGPT를 활용해서 데이터베이스 설계 및 데이터 분석 쿼리 작성 과정을 쉽게 관리할 수 있었습니다. 이 글을 통해 eCommerce 플랫폼을 위한 데이터베이스 설계 및 데이터 분석 쿼리 작성에 대한 기본적인 이해 뿐만 아니라 원하는 시스템을 디자인하고 개발 하는데 도움이 되셨으면 좋겠습니다.

[출처] https://www.developerfastlane.com/docs/backend-database/ecommerce-platform-database-design

Loading

3 12월 2024

[교직훈련/교수법] IT 개발자에서 결국, 인생2막 “교육자”로 변신 中

[교직훈련/교수법] IT 개발자에서 결국, 인생2막 “교육자”로 변신 中

27년 넘게 개발자로 일하며 다양한 프로젝트를 경험했는데요, 이제는 제가 가진 경험과 노하우를 다른 분들과 나누고 싶어서 새로운 도전을 시작했습니다. 최근 “국가 직업능력 훈련 교사” 자격증을 취득하고, 직업훈련교사로의 전환을 준비 중입니다.

앞으로는 실무에서 쌓은 이야기를 바탕으로, 필요한 기술과 지식을 전달하며 함께 성장할 수 있는 교육자가 되고 싶습니다.

직업능력개발훈련교사 자격증(web용_blur처리).png

Loading