[F-Lab] 0주차 - 시작한 계기, 사전 미팅
·
📝 끄적끄적/F-Lab
퇴사3년 반 동안 다니던 회사를 퇴사했다.첨에는 "환승 이직해야겠지..?" 하고 한 회사에 지원해서 최종 면접까지 경험할 수 있었다.마지막 관문에서 대차게 말아먹고 떨어졌지만…이 과정에서 “이대로 이직한다고 100% 기쁠까” 생각해 보니, 꼭 그렇지만은 않았다.그간 회사에서 안 좋은 사건이 있었고, 지인들은 신고하라고 당장 그만두라고 했다.괜찮다고 꾸역꾸역 삼키고 버텼지만 괜찮지 않았다.결국! 내 마지막 20대, 처음이자 마지막으로 잠시만 쉬고 쭉 일하자 다짐했고, 1년 넘게 고민하다 퇴사했다.그 후에는 짧게 일하러 서울에 유학도 가고, 유럽 여행도 길게 다녀왔다.정~말 행복했다 ㅎㅎㅎ 후회하지 않는다! 😌  F-Lab을 선택한 이유이직 시장에서 나의 위치는 굉장히 불리하다고 생각했다.(SI → 성능..
JDK 8에서 Perm 영역이 삭제된 이유
·
💻 Dev/Java
JDK 8부터 자바는 기존의 PermGen(Permanent Generation) 영역을 제거하고, Native Memory를 사용하는 Metaspace를 도입했다. PermGen이란?PermGen(이하 Perm) 영역은 JDK 7까지 존재했던 메모리 영역으로, 클래스 메타데이터와 런타임 중에 읽힌 클래스 및 메서드 정보 등을 저장하는 공간이었다. Perm에 저장되는 데이터클래스 메타데이터(클래스 이름, 메서드 이름, 필드 이름 등)런타임 상수(Constant Pool)Static 변수(JDK 8 이전)메서드와 바이트코드 Perm 영역은 힙(Heap) 외부에 위치하며, JVM 실행 시 크기가 고정된다. 하지만 이 고정된 크기는 메모리 부족 문제를 자주 일으켰다. 동적으로 클래스들이 로드되고 Static ..
가비지 컬렉터(GC) feat.힙 영역
·
💻 Dev/Java
Heap 영역가비지 컬렉터(GC)를 이해하기 전에 먼저 힙 영역에 대한 이해가 필요하다.Heap 영역의 역할자바의 힙 영역은 JVM 메모리 구조에서 가장 중요한 부분 중 하나로, 크게 세 가지 주요 역할을 한다. 1. 객체 저장 공간자바의 객체와 배열(Array)과 같은 참조 타입 변수는 힙영역에 저장된다.힙 영역에 저장된 데이터는 스택(Stack) 영역에 있는 참조 변수(reference value)를 통해 접근할 수 있다. 2. 동적 메모리 할당프로그램 시작 시에 한 번에 전체 메모리가 할당되는 것이 아니라, 객체가 실제로 필요할 때 동적으로 메모리가 할당된다.class Main { public static void main(String[] args) { // 여기서 person은 ..
자바는 Call by Value만 사용한다.
·
💻 Dev/Java
프로그래밍을 하다 보면 Call by Value / Call by Reference 개념을 배우게 된다.특히 C언어에서 포인터 할 때 고통받았던 기억이... 옛날에 자바 공부할 때는 어디서는 Call by Reference도 사용한다고 봤다..!결론만 보자면 자바는 Call by Value만 사용한다. Call by Value기본 데이터 타입Call by Value란 값에 의한 호출을 의미한다.메서드 호출 시 전달되는 값의 복사본이 메서드로 전달된다는 뜻이다.public class CallByValueExample { public static void main(String[] args) { int original = 5; modify(original); Sys..
인덱스(B-Tree, B+Tree)
·
👶🏻 CS/Database
데이터베이스의 성능을 향상시키기 위해서는 디스크 I/O를 줄이는 것이 가장 중요하다. 디스크 I/O란 데이터를 읽고 쓰는 작업으로, 데이터를 작성하거나 수정할 때 디스크에 저장되는 과정을 의미한다. 디스크 접근은 시간이 많이 걸리기 때문에 디스크 I/O를 최소화하는 것이 데이터베이스 성능을 높이는 핵심이다. 인덱스를 활용하면 데이터를 더 빠르게 조회할 수 있어 디스크 I/O를 줄이는 데 효과적이다.인덱스는 데이터베이스가 테이블의 모든 데이터를 탐색하지 않고도 원하는 정보를 빠르게 찾을 수 있도록 설계되어 있다. 이를 통해 불필요한 디스크 I/O 작업을 줄이고 빠르게 조회할 수 있다. 인덱스란?간단히 말해 인덱스는 책의 목차와 비슷한 개념이다. 책의 내용을 "데이터"라고 하고, 페이지 번호를 "인덱스"라고..
정규화와 비정규화
·
👶🏻 CS/Database
정규화정규화란 ERD 내에서 중복요소를 찾아 제거해 나가는 과정을 말한다.함수의 종속성을 이용해 속성들 간의 연관성을 분석하고, 데이터를 논리적으로 나누어 이상 현상(Anomaly)을 방지하는 것이다.이상 현상(Anomaly)정규화를 거치지 않으면 데이터베이스에 불필요한 데이터 중복이 발생하여 여러 문제가 생길 수 있다. 이를 이상 현상이라고 하며, 대표적으로 삽입 이상, 갱신 이상, 삭제 이상이 있다. 1. 삽입 이상 (Insertion Anomaly)데이터를 삽입할 때 원하지 않은 값들도 함께 삽입되는 현상이다. 2. 갱신 이상 (Update Anomaly)데이터를 수정할 때 일부만 갱신되어 정보가 불일치하게 되는 현상이다. 3. 삭제 이상 (Deletion Anomaly)데이터를 삭제할 때 의도치 ..