목록분류 전체보기 (278)
우당탕탕
가비지 컬렉션 알고리즘 이 글은 [Java] 가비지 컬렉션(Garbage Collection)이란? 의 2편이다. ( GC에 대한 자세한 내용은 1편을 참고 ) 1편에서 GC 알고리즘 종류에 대해 말을 했었다. 1. Serial GC 2. Parallel GC 3. Parallel old GC 4. CMS(Concurrent Mark & Sweep) GC 5. G1 GC(Garbage First GC) 대충 이런 알고리즘이 있었는데 이에 대해 하나하나 알아보도록 하자 1. Serial GC Serial GC의 경우 Young 영역과 Old 영역이 다르게 실행된다. Young 영역의 경우 1편에서 설명한 Mark Sweep 방식으로 수행되지만 Old 영역의 경우 Compact 가 추가된 Mark Sweep..
가비지 컬렉션(GC)이란? 가비지 컬렉션(Garbage Collection , GC) 가비지 컬렉션이란 개발자가 동적으로 할당한 메모리 영역 중 더 이상 사용하지 않는 자원을 해제하는 기능이다. Java의 경우 개발자가 직접 메모리를 해제하지 않아도 JVM의 가비지 컬렉터가 알아서 정리해준다. (JVM 메모리 구조 중 Heap영역에서 사용하지 않는 객체를 삭제한다. 아래의 그림 참조 ) 아래의 예시 코드로 한번 알아보자 Car car = new Car("K5"); car = new Car("K3"); 처음에 K5라는 차가 생성되고 car는 K5를 바라보고 있다 이때는 가비지가 존재하지 않는다. 하지만 이후 K3라는 차가 생성되고 car는 K3를 바라보게 된다. K3를 바라보게 되는 순간부터는 K5라는 차..
오늘은 이전에 작성한 REST API 소셜 로그인 2편-네이버를 작성한다. 카카오 버전은 [앱출시 - 1] REST API 소셜로그인 (네이버,카카오,구글,페이스북) - 카카오 를 참고하면 된다. 개발 ( Springboot ) 일단 개발에 앞서 네이버의 경우에도 카카오와 같이 개발자 사이트에 접속해서 개발 준비를 진행해야 한다. 네이버 개발자 -https://developers.naver.com/ 네이버 개발자 사이트에 접속하면 상단에 Application을 클릭 후 애플리케이션 등록을 눌러 새로운 애플리케이션을 등록해준다. 앱의 이름을 적고 사용 API로는 네아로(네이버 아이디로 로그인)를 선택한다. 정보제공의 경우 운영서버 심사 시에 실제 사용하는 내용만 넣어야 하므로 적당히 필요한 값만 선택해야 ..
플러터란? 대학생 시절 나는 GDSC(Google Developer Student Club) 동아리 활동을 진행하면서 플러터에 대해 알게 되었다. 플러터를 사용해서 앱개발도 진행했었고 현재 출시한 앱 산타의 경우도 초기버전의 경우 완전한 네이티브로 구현했었다. ( 현재는 플러터 웹뷰 ) 초기버전 : https://github.com/Kimbeomchul/HikingMobileApp Flutter란? 플러터는 구글에서 개발한 오픈소스 크로스 플랫폼 GUI 애플리케이션 프레임워크이다. Mobile World Congress 2018에 베타버전을 발표하면서 새롭게 소개된 프레임워크이다. ( 나같은경우에는 2019년에 처음 사용했으니 거의 나오자마자 썼다.. ) 플러터의 특징으로는 크로스플랫폼(Cross-Pla..
일급 객체란 무엇인가? 자바스크립트로 개발을 하다 보면 일급 객체와 일급 함수라는 말을 많이 듣는다. 일급 객체란 뭘까? 일급 객체(First Class Object) 일급 객체란 다음과 같이 설명할 수 있다. 다른 객체들에 일반적으로 적용 가능한 연산을 모두 지원하는 객체를 가리킨다. 보통 함수에 매개변수로 넘기기, 수정하기, 변수에 대입하기와 같은 연산을 지원할 때 일급 객체라고 한다. - 출처: 위키 설명이 어렵다면 일급 객체의 특징을 아래의 예시로 한번 보자 1. 변수(variable)에 담을 수 있다 let mozzi = function() { return "HelloWorld"; } console.log(mozzi()); 변수 mozzi의 경우 HelloWorld가 출력된다. 2. 파라미터로 ..
자바란 무엇인가? 자바(Java)란? 위키백과에서는 자바를 이렇게 설명한다 자바는 썬 마이크로시스템즈의 제임스 고슬링( James Gosling )과 다른 연구원들이 개발한 객체 지향적 프로그래밍 (OOP: Object Oriented Programming) 언어이다. 여기서 처음 개발을 시작하는 사람들은 객체 지향적 프로그래밍이란 것이 뭘까?라는 생각이 들것이다. 그럼 객체지향 프로그래밍(OOP: Object Oriented Programming)이란 무엇일까? 간단하게 말해서 객체지향 프로그래밍이란 프로그램을 개발하는 기법으로 객체(부품 정도로 생각하면 된다)를 만들고, 이것들을 조립하여 전체 프로그램을 완성시키는 기법이라 설명할 수 있다. 더 깊은 내용으로는 나중에 한 번에 모아서 작성하도록 하겠다..
