테스트없는 레거시프로젝트에 인수 테스트 도입하는 이야기
배경: 테스트 코드 부재로 인해 마주친 실무적인 문제 이 글을 쓰는 시점은 입사 후 약 7개월 정도 된 시점이다. 우리 팀은 신입 개발자 두명이 FE, BE를 담당하고 있다. 나는 BE를 담당하고 있다. 내가 솔루션의 담당자가 되었을 때, 물려받은 기존 코드에서는 테스트 코드가 작성되지 않았다. (아예 없던 것은 아니지만 테스트가 작성되고 있다고 말...
배경: 테스트 코드 부재로 인해 마주친 실무적인 문제 이 글을 쓰는 시점은 입사 후 약 7개월 정도 된 시점이다. 우리 팀은 신입 개발자 두명이 FE, BE를 담당하고 있다. 나는 BE를 담당하고 있다. 내가 솔루션의 담당자가 되었을 때, 물려받은 기존 코드에서는 테스트 코드가 작성되지 않았다. (아예 없던 것은 아니지만 테스트가 작성되고 있다고 말...
상당히 길고 복잡한 기능을 수행하는 로직을 만들었다. 요구사항이 변경되면서 엔티티 설계가 함께 변경되었는데 이때 만든 코드가 스파게티처럼 얽혀 있어 수정이 어려웠다. 이때의 리팩토링 경험을 공유해본다. 접근제한자 public, private으로 추상화레벨을 구분하기 이팩티브자바, 클린코드 등에서 메소드의 추상화 레벨을 통일해야한다고 말한다. ...
임상시험대상자는 시험에 대한 여러 검사를 받게 된다. 검사 결과에 대해서는 CDISK SDTM에서 정하는 기준을 주로 표준처럼 사용한다. 표준이라는 것은 개념을 용어로 묶어두고 정리하는 경우가 많다. 예를 들어 Alpha-1 Acid Glycoprotein 검사는 A1AGLP 라는 코드를 가진다. 검사의 종류란 상당히 많아서 많으면 3천개 정도 되기도...
나는 회사에서 외부데이터 연동 API를 만들었다. 이 API는 현재 외부로부터 한번에 약 1만건 정도의 데이터를 가져와서 본 서비스에 저장한다. 이 API는 다음과 같은 과정을 거친다. API요청으로부터 작업 수행에 필요한 파라미터를 제공받는다. 해당 파라미터로 외부 API를 요청한다. 응답을 받고 사전에 정의된 DTO로 파싱된다. ...
내가 소속한 팀은 2024년에 신규로 생성된 팀이다. 팀은 현재 7명으로 구성되어있는데 이중 개발을 담당하는 사람은 팀장을 제외하여 총 2명이다. 1년차 이하 신입개발자 2명이 각각 프론트엔드와 백엔드를 담당하고 있다. 나는 우리팀에서 백엔드 개발을 담당하고 있다. 팀장의 포지션운 도메인에 더 가깝다. 보통의 개발 요구사항들은 팀장을 통해서 전달되는데...
배경 우리가 담당하는 A서비스는 A서버가 담당한다. A서비스에서는 특정 의학영상(이미지)를 업로드하고 수시로 조회할 수 있는 기능을 제공한다. 각 이미지는 메타정보에 따라서 작은 단위(Sequence)로 묶인 후 더 큰 단위(study)로 묶이게 된다. 이는 영상의학에 관련한 도메인 지식이므로 자세한 설명은 아래의 ChatGPT가 대신해준다. ...
스터디를 만든 동기 안녕하세요? 마스쿤입니다. 저는 2024년 7월부터 JAVA/Kotlin + Spring 스택을 공유하는 백엔드 개발자를 위한 스터디를 운영하고 있습니다. 저는 9년간 다녔던 직장을 그만두고 2024년 3월부터 중소기업에서 백엔드 개발자로서의 첫 커리어를 시작했습니다. 개발자를 위한 스터디에 대한 제 생각과 고민들은 오래전부터 ...
회사에서 일을 하면서 다음과 같은 과제가 생겼다. 특정 json 데이터가 외부로부터 전달된다. 이 데이터를 요구되는 Map구조에 맞추어 가공해야했다. 하나의 객체 안에 담겨야 할 내용이 여러 객체로 분산되어 전달되는 경우 이를 하나로 병합해야했다. 반대로 분리되어야할 정보는 각각 분할해야했다. 키를 변경하거나 값을 변경해야할 경우도 있었다. 문제는...
stackoverflow::confusion-between-noun-vs-verb-in-rest-urls 티스토리::REST API 설계 원칙 restfulapi.net 국내 블로그에서는 RESTFUL API의 원칙을 소개하면서도 한국어로 된 자료를 일부만 스크랩하여 블로그에 개시하다보니 URL document나 store controller의 ...
0 External API를 Request 하고 Response 처리하여 적절히 DB Save 해야하는 Requirement 가 생겼다. Response JSON 의 schema 는 다음과 같았다. By ChatGPT. 이어서 example data 다. { "$schema": "", "type": "array", "items": { ...