본문 바로가기

IT_Report13

[IT Insite] 디자인 패턴 디자인 패턴은 소프트웨어 개발에서 자주 발생하는 문제를 해결하기 위해 선배 개발자들이 경험을 바탕으로 정리한 재사용 가능한 설계 방법 입니다. 즉, 반복적으로 등장하는 문제에 대해 개발자가 더 쉽고 효율적으로 설계할 수 있도록 도와줍니다. 디자인 패턴 분류 생성 패턴 (Creational) 구조 패턴 (Structural) 행위 패턴 (Behavioral) Abstract Factory (추상 팩토리)Adapter (어댑터)Command (커맨드)Builder (빌더)Bridge (브리지)Interpreter (인터프리터)Factory Method (팩토리 메서드)Composite (컴포지트)Iterator (이터레이터)Prototype (프로토타입)Decorator (데코레이터)Mediator (미.. 2025. 4. 19.
[IT Scarp] 1년 동안 LLM과 프로그래밍하며 얻은 교훈 아래 컴럼을 읽으면서 나에게 LLM은 뭘까? 생각해보았는데, 저에게는 프로그래밍에 대한 학습시간을 단축시켜주는 것 뿐만 아니라, 맞춤형 학습법으로 커스터마이징 할 수 있다는 것이 더 큰 매력으로 다가왔습니다. 사람마다 배경지식이 다르고 이해하기 위한 적절한 수단이 다른데, 맞춤형 LLM을 사용함으로써 효율적인 학습이 가능했습니다.  프로그래밍에서 LLM을 사용하는 방식은 3가지자동완성 : 이미 많은 개발자가 사용하고 있을텐데, 개발 생산성을 올려줍니다. 꼭 사용!검색 : 필요한 지식을 습득하거나, 기술이 필요할 때 최고는 아니더라도 최적의 답변을 얻을 수 있습니다.채팅 기반 프로그래밍 : 아직 발전 중인 기술이지만, 노코딩 서비스도 간혹 나오고 있습니다. 저는 마음을 열어놓고 주시하고 있지만, 아직은 시.. 2025. 3. 26.
[IT Scarp] 프로젝트의 문서는 왜 만들까? 프로젝트를 진행하면 문서 작성은 필수로 해왔지만, 어떻게 작성하는게 좋은가에 대해서는 깊게 생각하지 않았던 것 같습니다. 그래서 아래 링크된 요즘IT의 글을 읽으면서 문서화 메뉴얼이 필요하겠다는 생각이 들었습니다. 글을 보면서 들었던 생각은 개발문서를 작성할 때, 그림이나 도식화하는 등의 방법론도 물론 중요하지만, 문서의 주요 목적인 "소통"과 "과정"과 "결과"를 "어떻게 잘 기록할 것인가?"에 대한 질문을 던지고, 구성원간에 이를 개선하려는 노력을 하는 것이 더 중요하다는 것을 느꼈습니다. 그리고, 프로젝트 각 단계별로 어떤 문서의 형태가 존재하는지 확인해볼 수 있어서 좋았습니다. 업무 구성도, 시스템 구성도, 시스템 소프트웨어 구성도, 애플리케이션 구성도(클래스 다이어그램, API정의서, 화면 설계.. 2025. 3. 14.
[IT Scrap] 개발자들이 사랑하는 '퍼플렉시티 AI' 잘 쓰는 법 개발자들에게 검색은 중요한 역량 중 하나인 것 같습니다.스택오버플로우나 공식 문서를 통해서 오류를 해결하고 기술 구현에 필요한 정보를 얻을 수 있겠지만, 수많은 정보 속에서 필요한 정보를 직접 걸러내야 하는 비효율적인 부분이 많고, 생성형 AI는 실시간 정보를 충분히 반영하지 못하고 종종 신뢰도가 떨어지는 경우도 있습니다. 퍼플렉시티(perplexity)는 기존 검색 방식과 달리, 출처가 명확한 요약된 답변을 제공해 신뢰도를 높인 AI 검색엔진 입니다. 단순히 키워드 매칭이 아닌 맥락을 고려한 정보를 제공하기 때문에, 정확하고 빠른 답변이 필요한 개발자들에게 특히 유용합니다. 특히 기술 변화가 빠른 시대인 만큼 퍼플렉시티의 활용 능력은 개발자에게 있어 중요한 역량이 될텐데, 그렇다면 어떻게 활용하면 좋을.. 2025. 3. 11.
[IT Scrap] '오픈소스' 프로젝트를 진행하며 배운 것들 내가 '오픈소스' 프로젝트를 진행하며 배운 것들작성자는 오픈소스 프로젝트의 성공적인 운영과 성장에 대해 설명하고,직접 경험한 프로젝트인 "NotionPresso" 사례를 바탕으로 교훈과 실질적인 팁을 공유하고 있습니다.오픈소스를 통해 개발자로서 스스로 커리어와 문제해결 능력을 증명하는 것은 중요한 일이지만,어떻게 하느냐에 따라 누군가는 인정받고, 다른 누군가는 인정받지 못하는 것 같습니다. 그럼 어떻게 해야할까요? 주제 선정오픈소스를 공개한다고 해서 가치를 인정받는 것은 아닙니다.오픈소스는 프로덕트와 다르지 않습니다. 결국 누군가에게 필요로 해야합니다.내가 해결하려는 문제는 무엇인가?이것이 누구에게 필요한 것인가?구조 설계새로운 것을 처음부터 만드는 것은 시간과 노력이 많이 들고, 성공 가능성을 낮출 수.. 2024. 11. 21.
[IT Scrap] 거짓말쟁이 AI 잡아낼 4가지 '팩트 체크 방법' 거짓말쟁이 AI 잡아낼 4가지 '팩트 체크 방법'프로그래밍 언어를 공부하면 AI를 활용하는 비중은 나날히 높아지고 있습니다.비중이 높아진 만큼 상당 부분 도움이 되고 있지만, AI가 최선의 방법을 제공하지는 않습니다.마치 좋은 해결방법을 제공하는 것처럼 보이지만 실제로는 프로그램의 성능을 악화시키는 코드들도 존재하였습니다. AI는 어떤 원리로 우리에게 정보를 제공할까요?  1. AI의 오류 원인확률적 동작: AI는 통계적 패턴에 기반하여 답변을 생성하기 때문에, 논리적으로 타당하지 않은 답변이 나올 수 있습니다.맥락 이해의 한계: 컨텍스트 윈도우(기억 가능한 정보량)가 제한적이라, 대화가 길어지면 이전 정보를 잊거나 왜곡합니다.지식의 최신성 부족: 사전에 학습된 데이터가 오래된 경우, 최신 정보를 반영하.. 2024. 11. 20.
[Process] 소프트웨어 개발방법론 소프트웨어 개발을 시작하기 까지에는 다양한 이해관계들이 존재합니다.소프트웨어를 발주하는 회사에서는 어떤 사업을 시작할지, 해당 사업의 수익구조를 어떻게 만들지, 어떻게 서비스를 제공하지를 정합니다. 그리고 서비스를 제공할 시스템을 기획하고, 시스템을 만들거나 입찰공고를 띄웁니다. "어떻게 소프트웨어 결과물을 만들 것인가?""어떤게 이 프로젝트를 수행할 것인가?""어떻게 전문 회사임을 어필할 것인가?" 그 다음 개발자들의 역할이 진행되는데, 요구사항을 분석하고, 설계하고, 개발하고, 구현하는 프로세스로 이어집니다. 찾아보니 프로세스 모델이 몇가지 있어 주요 내용을 정리하고, 해당 모델의 장단점에 대해서도 확인해보겠습니다.  1. 소프트웨어 개발 프로세스 모델 개요전체 프로그램을 어떻게 개발할 건지 "개발방.. 2024. 10. 17.
[Trend] IT Scrap | 2024-10-16 프론트엔드의 라이프 사이클토스 코어 FE 플랫폼 팀에서 Frontend Ops 유닛을 리딩하는 정석호 님의 글 입니다.FE 개발자가 사용하는 모노리포를 관리하고 있고, 하루 평균 머지 리퀘스트 요청은 50개라고 합니다...또한 250개의 서비스의 배포부터 모니터링까지 같이 관리한다고 합니다...ㅎㅎ 사내에서 관리하는 공통 라이브러리는 약 220개 정도라고 하네요...ㅎㅎㅎ 무튼 해당 컬럼은 세계 최강의 프론트엔드 UX/DX라는 목표를 위해 토스 코어에서 활용하는 기술들에 대해 설명하고 있습니다. 이미지 최적화, 비디오 썸네일, 폴리필, 스켈레톤 등이 있는데, 자세한 내용은 해당 컬럼을 참고하시면 좋을 것 같습니다.다만 전문적인 내용이라, 주요 용어에 대한 선수지식이 필요하여 아래에 풀어서 설명해보았습니다.. 2024. 10. 16.
728x90