본문 바로가기
728x90
반응형

공부합시당 💙156

웹/백엔드 개발자 기술 면접 준비 기술면접 D-1에 훑어볼 용으로 정리하는 for 백엔드개발자 기술면접 대비 요약집입니다. 손으로 메모해둔 쪽지들 모아모아 옮긴거라 순서가 뒤죽박죽이고 요약st인 것 감안요- 😌💙 Java 메모리 구조 코드 영억 - 프로그램 코드가 저장된 영역 데이터 영역 - 전역변수, 정적변수 할당 영역 힙 영역 - 런타임 시 동적 병수 할당 영역 스택 영역 - 컴파일 시 지역 변수, 함수, 매개 변수 할당 영역 멀티스레드 멀티스레드 환경에서는 race condition(경합 상황)이 발생할 수 있다. 이 때 요청이 같은 상태의 자원을 보도록 하는 가시성과 요청이 모두 반영되도록 하는 원자성을 확보하는 것이 중요하다. 변수에 volatile 키워드를 추가하여 캐싱한 자원을 보지 않도록 하고, 메소드에 synchroniz.. 2023. 3. 18.
(JPA) Entity 설계 시 주의점 JPA에서 Entity 설계 시 유의할 점 1 : N 관계에서는 N에 해당되는 엔티티에 FK가 있어야 한다. (회원-주문의 관계라면 주문이 회원이 FK를 가진다.) 1 : 1 관계에서는 둘 중 어디든 FK를 둘 수 있지만 이왕이면 더 많이 조회하는 엔티티에 둔다. N : N 관계(@ManyToMany)는 만들지 않는다. N : N인 경우 매핑 테이블이 필요한데 이 테이블에는 등록일, 수정일 같은 필드를 두기가 어려워 운영에 좋지 않다. 값 타입(임베디드 타입)은 변경하면 안된다. 생성시에만 값을 주고 변경 불가능하도록 해야 한다. 값 타입에는 @Embeddable, 사용 필드에는 @Embedded 를 달아준다. 엔티티는 가급적 변경 불가능하게 설계한다. (Setter 사용 금지. 생성자를 통해서만 생기도.. 2023. 3. 18.
쿠버네티스란 무엇인가 상세 설명 및 이미지 출처 : https://kubernetes.io/ko/docs/concepts/overview/ 컨테이너 개발 시대 컨테이너는 VM과 유사하지만 애플리케이션 간에 운영체제(OS)를 공유한다. 때문에 VM 보다 상대적으로 컨테이너가 가볍다고 여겨진다. 컨테이너도 자체 파일 시스템, CPU점유율, 메모리, 프로세스 공간 등을 가진다. 기본 인프라와의 종속성을 끊었기 때문에 클라우드나 OS 배포본에 모두 이식할 수 있다. 컨테이너의 장점 VM 이미지 사용에 비해 컨테이너 이미지 생성이 쉽고 효율적 지속적인 개발, 통합 및 배포 - 안정적이고 주기적으로 컨테이너 이미지 빌드/배포 가능 빠르고 효율적인 롤백 가능 느슨하게 커플되고, 분산되고, 유연하며, 자유로운 마이크로 서비스 쿠버네티스의 .. 2023. 3. 15.
Java 문자열을 정수로 바꾸기 (프로그래머스 코딩테스트 연습) 문제 풀이의 핵심 String 문자열에 Minus 또는 decimal point가 있는경우 String to Float을 먼저 하고 Round를 해준다. class Solution { public int solution(String s) { int answer = Math.round(Float.parseFloat(s)); return answer; } } 2023. 3. 13.
다음 큰 숫자(Java) - 프로그래머스 코딩테스트 연습 class Solution { public int solution(int n) { int answer = n+1;//정답은 n보다 큰 자연수. n이 될 수 있는 가장 작은 수는 n+1 int nBitCnt = Integer.bitCount(n);//숫자를 이진수화 했을 때 비트 개수를 리턴하는 함수 while(true) { if(Integer.bitCount(answer) == nBitCnt) { break;// 주어진 숫자와 비트카운트가 같은 n보다 큰 가장 작은 자연수 } answer++;// 비트카운트가 다르면 숫자를 1씩 올림 } return answer; } } Integer.bitCount(int n) 사실상 Integer.bitCount(int n)만 알면 쉽게 풀수 있는 문제. 하지만 난 .. 2023. 3. 12.
728x90
반응형