여느때와 같이 평화롭게 개발하던 중 갑자기 equals()에 대한 궁금증이 생겼습니다.== 연산자는 비교하고자 하는 두개의 대상의 주소값을 비교하는데 반해 String클래스의 equals 메소드는 비교하고자 하는 두개의 대상의 값 자체를 비교한다.
PHP로 이루어진 사내 서버를 Spring으로 이전하는 작업중 상당수의 테이블이 복합키로 이루어진 것을 확인하고 JPA에서 복합키를 Entity로 풀어낼 수 있는 방법을 찾아보았습니다.
Git은 소프트웨어 개발에서 소스 코드를 효과적으로 관리할 수 있도록 하는 공개 소프트웨어로 프로젝트 폴더 내에서 작업을 기록(commit)하고, 버전 관리를 통해 체계적인 개발이 가능하도록 합니다.Github는 분산 버전 관리 툴인 Git을 사용하는 프로젝트를 지원하
Entity- DTO JPA를 사용하다보면 Entity와 DTO를 변환하는 상황을 매번 마주친다. Controller 와 Service에서는 DTO가 전달되고 Service와 Repository에서는 Entity가 전달되니 사용자의 요청이 한번 들어온다면 Entity-
테스트 코드를 작성하고 코드를 돌렸는데 다음과 같은 문제가 발생했다. error while writing GoalTest: could not create parent directories
HTTP 공식 문서(MDN)를 살펴보면 안전함, 멱등성 여부를 HTTP 메서드 속성으로 메서드마다 표시해준다. 여기서 말하는 안전함, 멱등성이란 무엇일까?
1년 넘게 유지해온 '발자국' 서비스의 AWS 프리티어 계정 사용기간이 만료되었다. 그에 따라 신규 계정을 생성하고 해당 계정으로 EC2와 RDS, S3를 이전하기로 결정하였다. 이때 그저 계정 및 데이터 이전만 진행하는 것이 아닌 기존 사용해온 CI/CD 환경을 개선
세상에는 다양한 데이터가 존재한다. 대표적으로 숫자와 문자가 있다. 사람의 경우 1234.567 이라는 숫자가 실수이고 '.'을 기준으로 연산을 해야한다는 것을 알고 있지만 컴퓨터는 1234.567 이라는 숫자만 보고는 이것이 정수인지 실수인지 심지어는 문자인지 알 수
Java GC가 어떤 방식으로 참조되지 않는 객체를 찾는지 살펴보자 Heap 안 객체 참조 방식 JVM에서 메모리 영역인 런타임 데이터 영역(runtime data area)은 크게 Thread 영역과 Heap영역, Method 영역으로 나눌 수 있다.
🧹Java는 Java가 청소해줘! C/C++의 경우 프로그래밍을 할 때 메모리 누수를 막기 위해 사용하지 않는 객체의 메모리를 개발자가 직접 해제 해줘야 했다. 하지만 Java에서는 그 역할을 다른 누가 해준다. 바로 Garbage Collection , GC이다.
자바를 사용할때 기본 자료형(Primitive Object) 다음으로 가장 많이 사용되는 객체는 String 클래스라고 생각된다. 때로는 이런 String 자료형을 기본 자료형이라고 착각할 때도 많다(몇몇 다른 언어에서 문자열이 기본 자료형인것도 혼동에 한몫 한다).
Call By Value 말 그대로 값에 의한 호출이다. 일반적으로 함수가 호출될 때, 메모리 공간 안에서는 함수를 위한 별도의 임시공간이 생성된다. (종료 시 해당 공간 사라짐)
JVM은 크게 아래와 같이 이루어져 있다.클래스 로더(Class Loader) 실행 엔진(Execution Engine) 런타임 데이터 영역 (Runtime Data Area).
직역하면 '자바를 실행하기 위한 가상 기계(컴퓨터)'라고 할 수 있다.Java 는 OS에 종속적이지 않다는 특징을 가지고 있다. OS에 종속받지 않고 실행되기 위해선 OS 위에서 Java 를 실행시킬 무언가가 필요하다. 그게 바로 JVM이다.
sudo 명령어는 유닉스 및 유닉스 계열 운영 체제에서, 다른 사용자의 보안 권한, 보통 슈퍼유저로서 프로그램을 구동할 수 있도록 하는 프로그램이다.
토큰 기반 인증을 사용하게된 이유를 이해하려면 먼저 기존의 사용했던 방식(어떤 기술이던지 그 탄생 이유를 알기위해서는 그 전 기술의 특징과 장단점을 파악하면 된다)을 알아보아야 한다.
Dispatcher-Servlet은 표현 계층(Presentation layer) 전면에서 HTTP 프로토콜을 통해 들어오는 모든 요청을 중앙집중식으로 처리하는 프론트 컨트롤러(Front Controller)로 Spring MVC의 핵심 요소이다.
클라이언트가 서버에 메세지를 보낼때 HTML Form 데이터를 전송한다. 이때 요청 데이터 방식의 HTTP 메시지를 만들어 보낸다.해당 HTTP 메시지를 보내고 받을때 비지니스 로직 이외에 개발자가 해야할 일이 너무 많고 이를 대신 담당하여 줄여주는 업무를 하는것
Transaction이란 데이터베이스의 상태를 변화시키기 해서 수행하는 작업의 단위를 뜻한다. 그렇다면 Transaction을 왜 쓰는가?
우리가 알던 기존의 Java Programming 에서는 Class를 생성하고 new를 입력하여 원하는 객체를 직접 생성한 후에 사용했다. 하지만 Spring에서는 직접 new 를 이용하여 생성한 객체가 아니라, Spring에 의하여 관리당하는 자바 객체를