목록전체 글 (191)
거누의 개발노트
✨ 1. 서론머신러닝, 특히 컴퓨터 비전 모델의 성능은 정확한 학습 데이터에 크게 의존한다. 이를 위해 이미지 데이터 어노테이션(Data Annotation) 과정이 필요하다. 어노테이션은 이미지에 의미 있는 정보를 부여하여 **모델이 학습할 수 있도록 지도 데이터(라벨링 데이터)**를 생성하는 작업이다. 본 답안에서는 주요 어노테이션 유형과 실무 적용 기법을 설명한다.🔍 2. 본론🛠️ 2.1 이미지 데이터 어노테이션 유형✅ ① 분류(Classification) 어노테이션이미지 전체에 하나의 라벨을 부여하여 카테고리를 정의예제:고양이, 개, 자동차 등 분류의료 데이터에서 정상/암 진단 이미지 구분✅ ② 경계 상자(Bounding Box) 어노테이션객체 주변에 직사각형 박스를 그려 위치와 크기를 정의활..

✨ 1. 서론머신러닝 모델의 성능을 객관적으로 평가하는 것은 모델 개발의 핵심 과정이다. 잘못된 지표를 사용하면 모델이 실제 문제를 제대로 해결하지 못할 위험이 있으며, 적절한 지표 선택이 성공적인 시스템 구현으로 이어진다. 본 답안에서는 주요 성능 지표와 실무 적용 방안을 정리한다.🔍 2. 본론🛠️ 2.1 머신러닝 성능 지표의 종류1️⃣ 분류(Classification) 모델 성능 지표✅ (1) 정확도 (Accuracy)전체 데이터 중 모델이 올바르게 분류한 비율계산식:장점: 직관적이고 이해하기 쉬움단점: 데이터 불균형 상황에서는 부적절 (예: 환자 100명 중 99명이 건강하고 1명이 환자일 때, 99% 정확도가 의미가 없을 수 있음)✅ (2) 정밀도 (Precision)모델이 '긍정(Positi..
✨ 1. 서론소프트웨어 개발 프로젝트에서는 요구사항 변경, 코드 수정, 문서 갱신 등이 지속적으로 발생한다. 이를 제대로 관리하지 않으면 프로젝트 혼란, 품질 저하, 일정 지연으로 이어질 수 있다. 이를 방지하기 위해 **형상관리(Configuration Management)**가 필요하다. 본 답안에서는 형상관리의 개념과 형상관리 기준선(Baseline)의 정의 및 실무 적용 방안을 설명한다.🔍 2. 본론🛠️ 2.1 형상관리의 개념형상관리는 소프트웨어 개발 산출물의 변경을 체계적으로 관리하는 활동이다.주요 목적은 다음과 같다:요구사항, 설계, 코드, 문서 등 산출물의 일관성 유지변경 사항의 추적성과 가시성 확보불필요한 변경 방지 및 버전 충돌 방지최종 제품의 품질 보증🔧 2.2 형상관리의 주요 활..
✨ 1. 서론프로젝트 팀의 성과는 팀원 간의 협력과 상호작용에 크게 좌우된다. 터크만(Bruce Tuckman)은 팀의 발달 과정을 5단계로 나누어 설명하였으며, 이를 통해 팀의 성장과정과 리더십 역할을 이해할 수 있다. 본 답안에서는 터크만 사다리 모델의 각 단계별 특징과 실무 적용 방안에 대해 서술한다.🔍 2. 본론🛠️ 2.1 터크만 사다리 모델의 5단계1️⃣ 형성 단계 (Forming)팀원들이 처음 만나 서로를 탐색하는 단계역할과 책임이 불분명하고, 리더에게 의존도가 높음💡 실무 적용: 프로젝트 초기 킥오프 미팅(Kick-off Meeting)에서 목표와 역할을 명확히 정의하고, WBS(Work Breakdown Structure)와 RACI Matrix(책임 할당표)를 수립해야 한다.2️⃣ ..

현재 아래와 같이 작성되어있는 코드를 QueryDSL을 이용해서 분기처리를 최소화하고, MySQL Full Text Search를 적용해보려고 한다. @Transactional public PageBoardResponseDto getBoardList(FilterEnum filter, String keyword, Pageable pageable, String email, SubEnum sub) { Page boardPage; if(sub.equals(SubEnum.title)){ if(Objects.equals(filter, FilterEnum.challenge)) { log.info("title, challenge search"); boardPage = boardRepository.findByTitleC..

QueryDSL 강의를 듣는 중에 assertThat().extracting().containsExactly() 해당 코드를 작성하면 containsExactly에서 컴파일 에러가 발생한다. 실행 시켜보면 아래와 같은 에러 메시지를 확인 할 수 있다. java: cannot find symbol symbol: method containsExactly(java.lang.String,java.lang.String) location: class org.assertj.core.api.AbstractObjectAssert 원인을 찾아보자. 이렇게 써보니까 빨간불은 사라졌다. extracting 메소드가 단일 인자를 받지 못하는 것 같다. 강의에서는 되었었는데, 버전이 바뀌면서 단일개는 못받는 것일까? @Check..
원인 firstResult/maxResults specified with collection fetch; applying in memory! 라는 경고가 떴다. 동작에 문제는 없지만 메모리 낭비를 한다는 내용인 것 같다. 경고를 보아 아마 fetch join 시 offset limit 을 걸어둔 것과 연관이 있는 것 같다. 찾아보니 위 경고가 의미하는 것은 fetch join 과 pagination 을 같이 할 시 "모든 데이터"를 전부 가져와 메모리에서 걸러낸다는 것이다. @EntityGraph(attributePaths = {"user", "boardTodo"}, type = EntityGraph.EntityGraphType.LOAD) Page findByTitleContainingAndCategor..
문제 발생 배경 @ApiOperation(value = "전체 게시글 목록 조회") @ApiImplicitParams({ @ApiImplicitParam(name = "filter", value = "카테고리(daily/challenge/my)", required = false, dataType = "string", paramType = "query"), @ApiImplicitParam(name = "keyword", value = "검색 키워드", required = false, dataType = "string", paramType = "query"), @ApiImplicitParam(name = "pageable", value = "페이징 값(size, page, sort)", required = ..