코드를 보다보면 개념들이 뒤엉켜 구조화되지 못할 때가 많다.그 일화중의 하나인데, 질문조차 부끄러워서 하지 못한 질문이고 구글링을 해도 아무도 궁금하지 않는 부분인것 같았다. ㅋㅋㅋvoid는 리턴타입이 없다. 그렇게 익혔다. 그런데 if문에서 return; 을 발견한
언제쯤 이 코드리뷰가 물흐르듯 될까😭하루종일 삽질해서 비니루라도 찾으면 좋겠다.
꿈에서는 보지말자 Big..O....
우선 이 문제에 대한 답은 이렇다.stack에서 찾을 수 있는 시간 복잡도는스택에 새로운 요소를 넣거나 뺄 때 발생하는 O(1)이 있습니다. (넣을 때와 뺄 때 가장 마지막 요소를 넣거나 뺍니다.)스택을 탐색하는 O(n)이 있습니다. (스택 한 번 순회)💡 내가 이해
배열을 정리하는 방법에는 여러가지가 있을 것이다. 오늘 나의 호기심을 자극한 것은 int[ ]을 역순으로, 즉 내림차순으로 정렬하는 방법에 관한것이다. 마구잡이로 섞여있는 int타입의 배열을 오름차순으로 정렬할 땐 Arrays.sort() 메서드를 사용하면 간단하다
둘 다 보안과 관련되었다는 것과 JWT 토큰 기반인 경우 해당 토큰을 사용한다는 점에서는 동일하지만 이 둘은 완전히 다른 개념이라고 할 수 있습니다. 왜냐하면 인증은 장치 혹은 사용자를 식별하는 행위이고 인가는 장치 및 사용자 엑세스 권한을 허용하거나 거부하는 행위이기
http는 서버와 클라이언트간에 데이터를 주고받는 프로토콜 입니다. 인터넷에서 하이퍼텍스트를 교환하기위한 통신규약으로 80포트를 사용하며 상태를 가지고 있지 않은 프로토콜입니다. http는 텍스트, 이미지, 영상,json등 거의 모든 형태의 데이터를 전송할 수 있다는
Groovy는 Java 가상 머신 상에서 동작하는 객체 지향적인 스크립트 언어로, Java와의 호환성이 뛰어나며 간결한 구문과 유연한 기능을 제공한다.Groovy는 java가상머신(jvm)에서 실행된다. 따라서 java코드와 함께 사용할 수 있다.Java와의 호환성:
: 캡슐화/상속/다형성/추상화 (추상화는 현업에서 많이 쓰이지 않는 경우도 더러 있음)캡슐화: 외부에 노출할 필요가 없는 정보들은 은닉(정보은닉, 은폐) ex) 퍼블릭, 프라이빗 등 외부에서 접근할 수 있는 권한을 얼만큼 부여할 것인지에 대해 생각하면서 작성해야한다.상
원인?JPA Repository 인터페이스는 스프링 데이터 JPA에 의해 동적으로 구현되기 때문에 단순히 @Mock 어노테이션으로는 모킹할 수 없다.스프링 데이터 JPA는 JPA Repository 인터페이스의 구현체를 런타임에 동적으로 생성한다.이러한 동작은 스프링
처음 테스트코드를 Spock를 이용하여 작성하려고 할 땐, 왜 @Mock객체를 스프링부트가 인식할 수 없는지 알지 못했다. ⭐️ \[이전블로그보기]Spock 테스트프레임워크를 사용할 때 @Mock import안되는 문제간단히 요약하자면 JPA Repository 인터페
메인프로젝트기간 이 후, 우리 백엔드팀은 코드리팩토링 하는 시간을 추가로 갖기로 하였다.그 중 하나가 바로, userId를 외부로 전달할 때 규칙적이고 통일성이 있는userId대신 자바에서 제공하는 UUID를 코드에 적용시키는 것이다.💡UUID를 사용하는 이유?예를들
@author : 코드 소스 작성자@deprecated : 해당 클레스(구현체)의 삭제 또는 지원이 중단되는 것을 알려줌@exception : 예외처리할 수 있는 것들을 정의, 알파벳 순@param : 매개변수 메서드, 생성자 설명@return : 리턴값 설명@see
기존에 나는 user와 관련된 비즈니스로직의 인터페이스를 한 곳에서 관리하며 readonly와, tranjaction이 적용되어야 할 service코드를 분리시켜 구현했었다.단기 프로젝트이긴 하나 실제로 사용되어야 할 웹 사이트라고 가정한다면 지금과 같은 코드는 유지보
처음 DB Migration을 알게되었을 때 그 필요성을 느끼지 못했다.단순히 'JPA가 @Table 애너테이션이 사용된 해당 클래스를 기반으로 데이터베이스 테이블을 자동으로 생성해주니 구지 관리까지 해야하나?' 라고 생각했던 것 같다.DB관리의 필요성을 못느꼈던 것은
Javascript 객체 문법으로 구조화된 데이터 교환형식이다.Javascript 객체문법이다.키(key)와 값(value)으로 구성되어있다.키가 중복되면 나중에 선언된 키에 값이 덮어쓰기가 된다.데이터를 교환하는 형식이다.객체, 해시테이블, 딕셔너리 등으로 여러 언어
Spring Boot와 Spock 테스트: 완벽한 조합을 위한 의존성 관리 서론 효과적인 백엔드 개발에서 테스트는 필수적인 요소입니다. Spring Boot는 자바 기반의 강력한 프레임워크로서, 개발자들에게 유연성과 효율성을 제공합니다. 하지만, Spring Boot
회원등록을 하는 메서드의 테스트코드를 작성하는데 mock설정을 제대로 해줬음에도 불구하고 User객체에서 NPE에러가 발생했다.이를 해결하기 위해 service클래스 내 createUser();가 제대로 동작하지 않는지 한번 더 확인 해보았으나 역시나 문제없이 잘 실행
⬇️이전 게시글 참고⬇️Spring Boot와 Spock 테스트: 완벽한 조합을 위한 의존성 관리Spock 테스트는 BDD(Behavior-Driven Development) 스타일을 따른다.Specification: Spock에서는 테스트 클래스를 'Specifica
AWS를 공부하다가 EC2(가상의 컴퓨터를 임대하는 서비스)인스턴스에 MySQL과 같은 관계형 데이터베이스 엔진을 설치하는데 굳이 RDS(관계형 데이터베이스)를 사용하는 이유가 궁금해졌다.데이터베이스만 따로 분리해서 서비스를 이용해야 할 이유가 있을까?1\. 편리한 관
아래는 그 예시 코드이다.여기서는 expected와 article 객체를 직접 비교하고 있다. 두 객체가 동등한지 여부를 assertEquals를 통해 확인한다.객체의 주소값을 비교하게 되어, null과 Article객체의 여부를 확인할 수 있다.여기서는 expecte
패키지란, npm에 업로드된 노드 모듈을 의미한다.다양한 자바스크립트 프로그램이 패키지라는 이름으로 npm에 등록되어 있고, 패키지가 다른 패키지를 사용할 경우 의존 관계를 갖는다. 패키지들을 사용하기 위해서는 다운로드, 설치, 업데이트, 의존성 관리, 제거 등 복잡한
회사에서 프로젝트를 시작하면서 엔티티를 구성할 때, Long타입과 long타입 중 어떤것을 id로 가지고 갈 것인지 논의가 있었다.처음 내 생각은 어차피 DB에 저장될 때 auto increament를 설정한다면 애초에 null이 들어갈 일이 없으니 p타입(=프리미티브
수 백장의 dicom파일을 사용자가 업로드 할 때, 메모리 사용량이 99%를 넘어가면서 error가 발생하는 문제가 있었다.vtk라이브러리를 통해 dicom파일에서 ct 이미지들을 3d 볼륨 랜더링으로 구현하고자 하는데, 처리할 파일의 크기에 따라 랜더링 여부가 결정되