백엔드 (Backend)

백엔드 (Backend)/루비 온 레일즈 (Ruby on Rails)

[Ruby on Rails Tutorial] 1장 제로부터 배포까지: 정의, 설치, 프로젝트 생성

들어가기 앞서 책 소개 원작자: Michael Hartl (마이클 허틀) Ruby on Rails 프레임워크를 활용하여 Custom Web Application을 만들기 위한 튜토리얼 과정을 소개하고 있는 책이다. Learn Enough to Be Dangerous의 시리즈 중 하나로 Ruby on Rails(이하 레일즈)의 기초 지식을 배우는데 적절한 튜토리얼이다. 원본은 영어이고 번역본은 일어판이 존재하지만 정말 감사하게도 GitHub에 번역 작업을 해놓으신 천사님이 계신다..! 덕분에 해당 GitHub 참고해서 학습을 진행하였고 정말 감사한 마음이다. 개발 환경 OS: macOS Big Sur 11.5.2 IDE: Visual Studio Code, RubyMine를 혼용하여 사용 (책에서는 AWS..

백엔드 (Backend)/자바 (Java)

[JAVA] 자바에서 제네릭(Generic)

제네릭(Generic)의 기본 개념 Generic의 뜻 영어사전을 통해 확인할 수 있는 generic의 정의는 여러 가지가 있지만 다음과 같은 뜻을 가지고 있다. 형용사 1. 일반적인, 포괄적인(general) 2. 총칭적인 3. 상표 등록이 되어 있지 않은 명사 1. (상표명이 아닌) 일반명 그렇다면 자바에서의 제네릭이란? 자바에서 제네릭은 데이터의 타입을 일반화한다(generalize)는 것을 의미한다. 조금 더 정확하게 표현하자면 클래스나 메소드에서 사용할 내부 데이터 타입을 실제로 클래스를 사용하는 Actor에 의해 지정할 수 있는 방법이다. 즉 사용자 호출에 의해 클래스 내부 데이터 타입을 지정하는 것이다. 제네릭을 이용한 타입 지정은 컴파일 시에 진행이 된다. 컴파일러에 의해 자동으로 검사 되..

백엔드 (Backend)/자바 (Java)

[JAVA] 자바 컬렉션 프레임워크(Collection Framework) 구조

자바 컬렉션 프레임워크(Collection Framework)란? 컬렉션(Collection) 이란? 자바에서 컬렉션이란 여러 객체(데이터)를 담을 수 있는 자료구조, 다수의 데이터 그룹 또는 집합을 의미한다. 프레임워크(Framework)란? 복잡하게 설명할 수 있지만 간단하게 표준화된 프로그래밍 방식을 의미한다. 그렇다면 컬렉션 프레임워크(Collection Framework)는? 데이터 그룹을 저장하는 클래스들을 표준화한 설계이다. JDK 1.2 버전부터 java.util 패키지에서 지원하기 시작하였고 이전에는 Vector, Properties, Stack, Hash Tables, Dictionary와 같은 것들이 존재하였으나 통일성이 없고 표준화된 인터페이스가 존재하지 않았다. 컬렉션 프레임워크는..

백엔드 (Backend)/자바 (Java)

[JAVA] 자바 가비지 컬렉션(GC, Garbage Collection) 총정리 - 개념, 배경, 동작원리, 종류

자바 가비지 컬렉션(GC, Garbage Collection) 기본 개념 가비지 컬렉션(GC, Garbage Collection)이란? 자바 가상 머신(JVM)에 의해 구동되는 자바 프로그램은 메모리 관리를 개발자가 직접 명시적으로 수행하지 않고 자동 메모리 관리 기능을 지원한다. 가비지 컬렉션은 자바의 메모리 관리 방법 중의 하나로 자바 가상 머신의 Heap 영역에서 동적으로 할당했던 메모리 중 필요 없게 된 메모리 객체를 모아 주기적으로 제거하는 프로세스를 말한다. 두-두 등장 배경 과거의 프로그래밍 언어들은 메모리 할당기능이 존재하지 않거나 프로그래머가 할당한 뒤 수동으로 해제까지 하는 방식으로 메모리를 관리하였다. 대표적인 예가 C와 C++이다. 두 언어에서는 OS 레벨의 메모리에 직접 접근하기 ..

백엔드 (Backend)/자바 (Java)

[JAVA] JVM 메모리 구조 - 런타임 데이터 영역(Runtime Data Area) 알아보기

자바 가상 머신(JVM, Java Virtual Machine) 이란? 자바 가상 머신(JVM, Java Virtual Machine)은 자바 프로그램 실행환경을 만들어주는 소프트웨어이다. 이 포스트와 함께 다루고 싶지만 내용이 너무 길어져 나누어 작성하게 되었다. 불편하시더라도 자바 가상 머신에 대해서는 아래 포스트를 참고 부탁드립니다! 자바 가상 머신 내 메모리 구조만 알고 있어도 물론 좋겠지만 메모리 구조를 알기 전에 JVM이 뭔지 제대로 알면 더 좋을 것 같다. 숲이 아닌 나무를 보다 보면 결국 나중에는 나무만 알고 전체적인 숲의 모습을 알기 힘들어지는 법. (내가 이 블로그를 쓰고 있는 이유 😂) 자바 가상 머신 (JVM, Java Virtual Machine)의 구조와 동작방식 자바 가상 머신..

백엔드 (Backend)/자바 (Java)

[JAVA] 자바 가상 머신 (JVM, Java Virtual Machine)의 구조와 동작방식

자바 가상 머신(JVM, Java Virtual Machine) 이란? 자바 가상 머신(JVM, Java Virtual Machine)은 자바 프로그램 실행환경을 만들어주는 소프트웨어이다. 지난 포스트와 비슷한 내용이지만 과거에는 대부분의 컴퓨터 언어가 특수한 아키텍처나 OS에 맞게 컴파일되도록 설계가 되어있었다. 자바 이전에 C/C++은 모든 CPU에 맞게 컴파일될 수 있었지만 해당 CPU에 맞는 컴파일러가 필요했다. 하지만 각각의 환경을 위한 컴파일러 개발 비용은 비싸고 오랜 시간이 소요된다는 문제가 있었고 더 나은 방식을 찾기 위해 제임스 고슬링과 그 동료들은 다양한 환경의 CPU에서 실행될 수 있는 이식성이 뛰어난 Cross Platform 언어 개발에 착수하게 된다. 이렇게 자바는 "Write ..

Jayleen_
'백엔드 (Backend)' 카테고리의 글 목록 (3 Page)