지금까지 자바를 사용하면서 JDK, JRE가 정확하게 무엇인지 잘 모르고 사용했었다. 그래서 JDK, JRE에 대해서 정리를 해보려고 한다. JDK (Java Development Kit) JDK는 자바 개발자들이 Java로 개발할 때 사용되는 키트이다. JDK 안에
Spring Framework를 공부하다보니 Spring MVC 프로젝트를 만들게 됐다.이론만 공부하지 않고 프로젝트 세팅부터 간단한 게시글까지 만들어 보기 위해 프로젝트를 생성해 보았는데 조금 복잡한 부분이 있어서 생성 방법을 잊더라도 빠르게 확인 할 수 있게 남겨보
지금까지 개발을 하면서 스프링에 대하여 잘 모르고 개발을 했었다. 그래서 스프링이 어떻게 동작하는지 이해하기 쉽게 정리하며 공부해보려고 한다. 그럼 Spring MVC 의 동작 구조, 실행 순서는 어떻게 되는지 알아보자 Spring Web MVC Spring Web
record는 불변 데이터를 객체 간에 전달하는 작업을 간단하게 만든다. Java 14부터 도입되어 16 버전에서 정식으로 채택된 클래스이다. record Type을 사용하면 불필요한 코드를 제거할 수 있고, 적은 코드로도 명확한 의도를 표현할 수 있다.맴버변수는 pr
소프트웨어 디자인 과정에서 자주 발생하는 문제들에 대한 전형적인 해결책이다. 이는 코드에서 반복되는 디자인 문제들을 해결하기 위해 맞춤화할 수 있는 미리 만들어진 청사진과 비슷하다. 여기서 패턴은 재사용할 수 있는 코드 조각이 아니라 특정 문제를 해결하는 방식을 알려주
Homebrew가 설치되어 있지 않다면 Homebrew를 설치 한다.설치가 완료되었거나 했었다면 터미널에 명령어를 입력하여 putty를 설치한다.터미널에서 ppk가 존재하는 폴더로 이동하여 ppk를 pem 파일로 변환하는 명령어를 입력한다.(pem 파일을 가지고 있다면
컴파일 언어는 소스 코드를 컴파일한 후, 기계어를 메모리와 CPU를 통해 읽어서 실행하는 방식으로 동작하는 언어를 말한다. 컴파일 후, 프로세서가 실행할 수 있도록 변환된 기계어 코드를 별도의 파일에 저장한다.컴파일을 하기 때문에 규모가 큰 프로그램일 경우 컴파일하는
메모리 관리 기법 중의 하나로, 프로그램이 동적으로 할당했던 메모리 영역 중에서 필요없게 된 영역을 해제하는 기능이다. C, C++ 등의 프로그래밍 언어에서는 수동으로 메모리를 관리해야 하지만 Java나 Kotlin을 이용해 개발을 하면 JVM의 가비지 컬렉터(GC)가
스프링은 자바 엔터프라이즈 개발을 위한 오픈소스 경량 애플리케이션 프레임워크이다. Spring Framework, Spring Boot, Spring MVC, Spring Data 등 다양한 프로젝트로 구분되어 있으며, 엔터프라이즈 애플리케이션을 개발의 다양한 영역에
프로그램 프로그램은 일반적으로 하드 디스크 등에 저장 되어 있는 실행코드를 뜻하고, 컴퓨터가 실행할 수 있는 명령어들의 집합. 프로세스 프로그램을 실행 시켜 정적인 프로그램이 동적으로 변하여 프로그램이 돌아가고 있는 상태. 즉, 컴퓨터에서 작업 중인 프로그램을 의미한
사용자가 여러 개의 선택지 중 1개만 선택할 수 있다.옵션 버튼으로 불리기도 한다.사용자가 잘못된 여러 개의 옵션을 선택하지 못하도록 방지한다.아래의 버튼은 복지관에서 일하는 친구의 부탁으로 구현하게 됐는데요. 아래 사진을 보시면 설문조사를 하는 표입니다. 어르신들의
두 인접한 원소를 검사하여 정렬하는 방법이다.시간 복잡도가 상당히 느리지만, 코드가 단순하기 때문에 자주 사용된다.원소의 이동이 커품이 수면으로 올라오는 듯한 모습을 보이기 때문에 지어진 이름이다.알고리즘 도감 / 버블 정렬 하는 과정해당 사진의 출처는 알고리즘 도감이
컴퓨터 과학에 있어서 재귀는 자신을 정의할 때 자기 자신을 재 참조하는 방법을 뜻함.프로그래밍에 재귀 호출(Recursion call)의 형태로 많이 사용된다.함수에서 자기 자신을 다시 호출해 작업을 수행하는 방식특정 분기까지 자기 자신을 계속해서 호출한다.반복문을 사
상속이란 기존 클래스의 변수와 메서드를 물려받아 새로운 클래스(더 나은, 더 구체적인 클래스)를 구성하는 것을 의미함.이러한 상속은 캡슐화, 추상화, 다형성과 더불어 객체지향 프로그래밍을 구성하는 특징 중 하나.예시로 현실세계에서 부모의 생물학적 특성을 자식이 물려받는
ArrayList란 Collection 프레임워크의 일부이며 java.util 패키지에 소속되어 있다.표준 배열보다는 느리지만 배열에서 많은 조작이 필요한 경우 유용하게 사용할 수 있다.List 인터페이스에서 상속받아 사용이 된다.저장 용량(capacity)이 가변적으
기본 자료형 배열은 선언과 동시에 배열의 크기만큼의 메모리가 할당되지만, 객체 배열의 경우엔 요소가 되는 객체의 주소가 들어갈(4바이트, 8바이트) 메모리만 할당되고(null) 각 요소 객체는 생성하여 저장해야 함https://coding-factory.tis
프로그램에서 객체의 인스턴스가 단 한 개만 생성되어야 하는 경우 사용하는 디자인 패턴static변수, 메서드를 활용하여 구현할 수 있음생성자의 호출이 반복적으로 이뤄져도 실제로 생성되는 객체는 최초 생성된 객체를 반환해 주는 것한 번의 객체 생성으로 재 사용이 가능하기
static 메서드는 객체의 생성 없이 호출이 가능객체에서는 호출이 가능하지만 지양한다.일반적으로 유틸리티 관련 함수는 static 메서드로 구현하는 것이 적합대표적인 Util Class는 java.util.Math가 있다.static 메서드는 인스턴스 생성과 무관하게
static 키워드를 통해 생성된 정적멤버는 static 메모리 영역에 할당된다.static 메모리 영역에 할당된 모든 객체는 공유되어 하나의 멤버를 어디서든지 참조할 수 있다.Garbage Collector의 관리 영역 밖에 존재해 static 영역에 있는 멤버들은
객체 지향 프로그램에서 객체 간에는 협력이 이루어짐협력을 위해서는 필요한 메시지를 전송하고 이를 처리하는 기능이 구현되어야 함매개 변수로 객체가 전달되는 경우가 발생James와 Tomas는 각각 버스와 지하철을 타고 학교에 갑니다.James는 5000원을 가지고 있었고