본문 바로가기

전체 글18

SW 테스트에 대한 고찰 요즘 AI를 열심히 쓰면서 SW의 품질에 대한 고민이 늘어났다. AI를 쓰면서 개발 속도는 확실히 빨라졌다. 근데 결과물의 품질을 보장할 수 없다는 생각이 들었다. 품질이 높은 소프트웨어란 무엇일까? 나는 결함이 적을수록, 유지보수성이 높을수록 소프트웨어의 품질이 높다고 생각한다. 이런 관점에서 봤을 땐 AI가 작성해 주는 코드를 맹신해서는 고품질의 소프트웨어를 만들 수 없다고 생각한다. AI를 사용했을 때 개발 속도가 너무나 빨라지기 때문에 개발 과정에서 AI를 사용하지 않을 수는 없다. 사실 사람이 직접 개발할 때도 고품질을 보장하기 어렵다. 그렇다면 AI를 사용하더라도 일정 수준 이상의 품질을 보장할 수 있는 장치가 필요하다. 마치 가드레일처럼 AI가 만든 작업물의 품질이 일정 범위를 벗어나지 않도.. 2026. 5. 12.
개인사업자 세금 정리 올해 4월 사업자 등록을 했다.사업자 등록은 개발 외주를 수행하기 위해 진행하게 되었다. 사업자 등록을 했으니 이제 세금을 신경써야 한다. 이 글은 내가 사업자 등록을 하고 내야 하는 세금 관련 지식을 정리한 글이다. 내가 나중에 읽고 참고하는 것을 목적으로 작성했다. 원천세와 지방소득세매달 가장 먼저 챙겨야 하는 것은 원천세와 지방소득세다. 직원을 고용하면 매월 10일 납부해야 한다. 직원에게 급여를 지급할 때 사업자는 급여에서 근로소득세를 공제한다. 이 공제한 세금을 사업자가 보관하고 있다가 국세청에 신고하고 납부하게 되는데, 이것이 원천세다. 원천세 신고, 납부 기한은 소득을 지급한 달의 다음 달 10일이다. 여기서 중요한 기준은 근무한 달이 아니라 실제로 급여를 지급한 달이다. 예를 들어 4월 근.. 2026. 5. 3.
[Spring AI] Introduction to Spring AI 스프링 AI는 무슨 기술일까? 스프링 AI의 사용법에 대해 학습하기 전에 스프링 AI라는 기술 그 자체에 대해 알아보고자 한다. 이 글은 스프링 AI 공식 문서(https://docs.spring.io/spring-ai/reference/)를 참고하여 작성되었다. 스프링 AI 프로젝트는 스프링 부트, 스프링 클라우드 등 스프링의 여러 프로젝트 중 하나이다. 스프링 AI 프로젝트의 목표는 간단하게 인공지능 기능을 스프링 애플리케이션에 통합하는 것이다. 즉, 스프링 AI는 AI 통합의 근본적인 과제인 기업 데이터와 API를 AI 모델에 연결하는 문제를 해결하고자 한다. 이 프로젝트는 LangChain, LlamaIndex 같은 파이썬 프로젝트에서 영감을 받았지만, 이러한 프로젝트를 직접 포팅한 것은 아니라.. 2026. 4. 28.
ISTQB CTFL Syllabus 정리 - 1편 1. 테스팅의 기초1.1 테스팅이란 무엇인가?소프트웨어 테스팅결함을 식별하고 소프트웨어 산출물의 품질을 평가하는 일련의 활동SW 테스팅은 다양한 활동을 포함하며, 소프트웨어 개발수명주기(SDLC, Software Development LifeCycle)에 따라 달라진다.테스트 대상 (Test Object)테스트의 대상이 되는 산출물Verification & ValidationVerification시스템이 주어진 요구사항을 충족하는지 확인하는 작업Validation시스템이 운영 환경에서 사용자 또는 기타 이해관계자가 필요한 바를 만족하는지 확인하는 작업테스팅은 베리피케이션과 밸리데이션을 모두 수행동적 테스팅 & 정적 테스팅동적 테스팅소프트웨어를 실행한다.정적 테스팅리뷰와 정적 분석을 포함한다.소프트웨어를 .. 2026. 4. 27.
[OS] 논문 리뷰: Efficient Software-Based Fault Isolation 도입현대 소프트웨어 시스템은 신뢰할 수 없는 외부 코드를 사용해야 하는 숙명을 안고 있다. Chrome의 JavaScript 엔진인 V8 엔진은 매일 수많은 웹 사이트의 스크립트를 실행하고, WebAssembly는 네이티브에 가까운 성능으로 브라우저에서 C++ 코드를 돌린다. V8 엔진, WebAssembly 등 수많은 현대 소프트웨어 기술들이 직면한 공통 과제는 “어떻게 하면 신뢰할 수 없는 외부 코드를 안전하면서도 효율적으로 실행할 수 있을까?”이다. 1993년 12월에 발표된 “Efficient Software-Based Fault Isolation” 논문은 이 문제에 대한 혁신적인 해법을 제시한다. 놀랍게도 이 30년도 더 된 연구가 오늘날 V8 엔진, WebAssembly 등 여러 시스템 내부 .. 2025. 9. 23.
[Docker] Dockerfile 명령어 정리 DockerfileDockerfile을 사용하면 도커 컨테이너 이미지를 생성할 수 있다. Dockerfile을 이용하여 이미지를 만들기 위해서는 'docker build' 명령어를 사용하면 된다. 예시 코드는 다음과 같다.docker build -t my-server-image .FROM: 베이스 이미지 설정FROM 명령어를 사용하면 베이스 이미지를 설정할 수 있다. 다음과 같이 사용할 수 있다.FROM [이미지명]FROM [이미지명]:[태그명] 태그명을 지정해줄 수도 있고, 지정해주지 않을수도 있는데, 태그명을 지정해주지 않으면 자동으로 latest 태그명이 지정된다.COPY: 파일 복사(이동)COPY 명령어를 사용하면 호스트 컴퓨터에 있는 파일을 복사해서 컨테이너로 전달할 수 있다. 다음과 같이 사용.. 2025. 9. 17.