자바의 가비지 컬렉션(GC) 한 번에 이해하기
Language/Java ☕️2024. 2. 2. 21:46자바의 가비지 컬렉션(GC) 한 번에 이해하기

가비지 컬렉션(GC)이란?자바를 배우다 보면 한 번쯤 들어봤을 용어, 바로 가비지 컬렉션(Garbage Collection, GC)입니다. 간단히 말해, GC는 더 이상 접근할 수 없는 객체(=가비지)를 찾아내서 자동으로 메모리를 정리해주는 기능이에요.개발자가 직접 free()나 delete 같은 명령으로 메모리를 해제하지 않아도 된다는 점이죠. 이 덕분에 자바는 “메모리 안전성과 개발 생산성” 두 가지를 모두 잡을 수 있었습니다.GC가 없었다면 매번 메모리를 신경 써야 했을 테니, 개발 속도는 훨씬 느려졌겠죠. 조금 더 깊이 들어가 보면, GC는 JVM의 힙(Heap) 구조에서 작동하며수집기(Collector)의 종류나 동작 방식에 따라 성능이 달라집니다.이 부분을 이해하면 실무에서 메모리 누수나 성능..

[Kernel360 1기] Boot-up 후기
회고/학습 🧑‍💻2024. 2. 2. 20:56[Kernel360 1기] Boot-up 후기

커널 360 과정에 합류하게 되고, 처음으로 진행하게 된 프로젝트는 Boot-up 프로젝트 였습니다.이 게시물에선 3일간 진행되었던 부트업 프로젝트에 대해 간단히 회고하도록 하겠습니다. Boot-up 프로젝트란 무엇인가?처음 들어가서 부트업 프로젝트를 진행한다고 하니 도대체 어떤 프로젝트인지 저도 감이 잘 안왔답니다.부트업 프로젝트란 프로젝트 구현보다는 기능 설계와 문서화에 집중하여 프로젝트를 진행하는데에 있어 어떤 과정으로 어떻게 협업을 해야하는지 배우는 과정이었습니다. 5-6인 정도로 구성된 팀에 인원이 랜덤으로 배정되었고, 해당 배정된 팀원과 함께 프로젝트를 기획하고 해당 과정을 통해 산출물을 작성하여 발표하는 것이 큰 흐름이었습니다.특이한 사항은 2일차 일정 이후 팀장을 제외한 팀원이 전부 교체되..

[Kernel360 1기] 백엔드 최종 합격 후기
회고/학습 🧑‍💻2024. 2. 2. 19:44[Kernel360 1기] 백엔드 최종 합격 후기

저는 블로그를 어느 플랫폼에서 제공하는 서비스가 아닌 직접 Vercel 을 통해 배포를 하고 있다보니, google search console을 활용해서 직접 유입 검색어나 조회 게시물 비율등을 조회할 수가 있답니다. (현재는 티스토리로 이전했어요!) 제 블로그 포스팅이 구글에 노출된 인기 검색어 목록인데요, 지난 7월 정도에 작성했던 네이버 부스트캠프 웹모바일 8기 지원 후기 포스팅 관련 유입의 비율이 엄청나게 많았습니다! 2024.02.01 - [회고] - 네이버 부스트캠프 웹모바일 8기 지원 후기 네이버 부스트캠프 웹모바일 8기 지원 후기네이버 부스트캠프에 지원하다 최근 약 1년여간 근무하던 회사를 그만두고 스스로 공부하고 성장하는 시기를 갖기로 결정하였습니다. 계획적이기보단 우연한 기회에 취업을 ..

스프링부트 프로젝트 시작하는 법
Backend/Spring 🌱2024. 2. 2. 19:32스프링부트 프로젝트 시작하는 법

처음 스프링 부트를 배우려 하면 이런 생각이 들죠.“도대체 어떻게 프로젝트를 만들지?”“무엇을 설치해야 하지?” 걱정하지 마세요. 이 글에서는 스프링 부트 프로젝트를 가장 빠르고 정확하게 시작하는 두 가지 방법을 소개합니다.Spring Initializr — 웹 사이트에서 템플릿을 생성IntelliJ IDEA — IDE에서 바로 프로젝트 생성이제 함께 여러분의 첫 번째 스프링 부트 프로젝트를 만들어봅시다! 💪 스프링 부트란? 스프링 부트(Spring Boot)는 스프링(Spring) 프레임워크를 더 쉽게 사용할 수 있도록 만든 도구입니다.복잡한 설정 없이도 간단히 웹 서버를 실행하고,API나 웹 서비스를 빠르게 개발할 수 있도록 도와줍니다. 즉, 스프링 부트는 “설정의 복잡함을 줄이고, 바로 실행 가..

깃(Git)과 깃허브(GitHub), 처음으로 사용해보자
DevOps/Git 🐈‍⬛2024. 2. 2. 18:52깃(Git)과 깃허브(GitHub), 처음으로 사용해보자

개발을 처음 시작하면 누구나 한 번쯤 이런 말을 듣게 됩니다."코드는 꼭 Git으로 관리해야 해요""깃허브(GitHub)에 프로젝트를 올려봤나요?" 하지만 막상 들어보면 Git과 GitHub가 같은 건지, 다른 건지 헷갈리기 마련이죠. 오늘은 두 개념의 차이와 역할을 명확히 구분해,처음 접하는 사람도 Git과 GitHub의 관계를 쉽게 이해할 수 있도록 설명해볼게요. Git이란 무엇인가? Git은 버전 관리 시스템(Version Control System)입니다.즉, 코드를 수정하거나 추가할 때마다 그 변화를 기록하고 관리해 주는 도구입니다. 간단히 말하면 “코드의 히스토리를 추적할 수 있게 도와주는 프로그램” 입니다. Git은 리누스 토르발스(Linus Torvalds)가리눅스 커널 개발을 효율적으로 ..

객체지향 프로그래밍이란?
Computer Science/프로그래밍 이론 💬2024. 2. 2. 18:32객체지향 프로그래밍이란?

오늘은 객체지향 프로그래밍(Object-Oriented Programming, OOP) 을 자바 관점에서 빠르고 명확하게 이해하는 시간을 가져보도록 할게요!이 글을 읽고 나면 다음 내용을 알게 될 거에요!객체와 클래스의 차이를 자신의 언어로 정리할 수 있다.OOP의 핵심 개념(추상화, 캡슐화, 상속, 다형성)을 예제 코드와 함께 이해한다.SOLID 원칙을 실제 코드 구조에 어떻게 적용할지 감을 잡는다.“클래스 중심”과 “객체 중심”이라는 표현의 차이를 명확히 구분한다. 객체 vs 클래스 — 왜 헷갈릴까?객체와 클래스를 정의해보면 다음과 같아요클래스(Class): 객체를 만들기 위한 설계도(틀) 로, 필드와 메서드를 정의한다.객체(Object, 인스턴스): 클래스로부터 생성된 실제 실체로, 메모리에 존재하..

image