전체 글 170

gradle.properties 파일 설정하기

gradle.properties 파일은 gradle을 사용한 프로젝트 전체에 적용하는 설정에 대한 정보를 담은 파일이다. gradle.properties 파일을 .gradle 경로의 하위에 위치시키면 된다. .gradle 폴더의 위치는 intellij의 Preferences - Build, Execution, Deployment - Build tools - Gradle 을 선택 시 아래와 같이 나오는데 여기서 Gradle user home 의 우측에 있는 것이 .gradle 폴더의 경로이다. 해당 .gradle 폴더의 하위에 vi gradle.properties 명령어를 통해 gradle.properties 파일을 생성해 준 후 해당 파일에 필요한 설정 부분을 작성해 주면 된다. 예를 들어 아래와 같이 ..

JAVA/gradle 2023.02.18

docker 설치(mac 기준) 및 mariadb 실행

docker 설치 아래의 링크를 통해 들어가서 다운로드를 해준다. mac m1인 경우에는 Mac with Apple silicon을 통해 다운로드 하고, 그 외의 경우에는 Mac with intel chip을 통해 다운로드 해준다. ( 모니터 좌측 상단의 사과 모양 클릭 후 이 Mac에 관하여를 클릭하면 본인의 맥이 intel인지 m1인지 확인 가능하다. ) https://docs.docker.com/desktop/install/mac-install/ Install on Mac docs.docker.com 다운로드 후 application으로 옮겨준 후, docker를 실행시킨다. 도커 실행시킨 후 우측 상단에 sign in이 있는데 그것을 통해 로그인을 하면 된다. (계정 없는 경우 회원가입) 터미널에..

잡동사니 2023.02.09

hosts 파일이란? (도메인 ip 매핑)

hosts 파일이란? hosts 파일은 운영 체제가 호스트 이름을 ip 주소에 매핑할 때 사용하는 컴퓨터 파일이다. 우리가 주소창에 입력하는 www.naver.com과 같은 것을 도메인 주소라 하고, 223.130.195.95과 같이 숫자로 되어있는 것을 ip 주소라 하는데 이는 기본적으로 dns(=domain name server)에 의해 도메인 주소와 ip 주소가 매핑되어 사용자가 필요로 하는 사이트에 연결해 준다. hosts 파일은 이러한 매핑 작업을 해주는 파일이라 할 수 있다. 윈도우의 경우 C:\Windows\System32\drivers\etc\hosts 경로에 존재하며, 맥의 경우 /private/etc/hosts 경로에 존재한다. hosts 파일에 호스트명과 ip 주소를 추가로 매핑해주기..

잡동사니 2023.02.09

[ Spring boot ] - gradle multi project 생성 방법

* intellij idea를 사용하여 기본 gradle project를 생성하였음을 가정하였다. gardle multi project 생성하기1. gradle 기반의 프로젝트를 생성한다. intellij idea를 활용하여 gradle 기반의 기본 프로젝트를 생성한다.기본적으로 Spring web, Lombok, Spring Data MongoDB를 추가하였다. 이는 각 프로젝트 설정에 따라 달라질 수 있다.2. 위의 과정을 통해 아래와 같은 폴더 구조를 가진 프로젝트가 생성되는데, 나는 한 프로젝트, 즉 한 디렉토리 안에 여러개의 프로젝트를 지니는 multi project 구조로 생성할 것이기 때문에 src 폴더를 지워주었다.3. 하위 모듈 생성하기.최상위 디렉토리에서 마우스 오른쪽 클..

JAVA/gradle 2023.01.10

[ React ] - 훅(Hook) 종류와 사용법 ( useContext / useMemo )

[ React ] - 훅(Hook) 종류와 사용법 ( useContext / useMemo ) HTML 삽입 미리보기할 수 없는 소스 react에서 컴포넌트 간 상태 공유를 위해 사용되는 props는 기본적으로 상위컴포넌트에서 하위 컴포넌트로 내려주는 형태이다. 이는 만일 A -> B -> C 로, A 컴포넌트에 B 컴포넌트가 속하고 B 컴포넌트에 C컴포넌트가 속하는 상황에서 A컴포넌트에 있는 props를 C컴포넌트에서 사용하기 위해 해당 props가 B 컴포넌트에서 필요하지 않음에도 불구하고, B 컴포넌트에서도 props로 넘겨받고 내려주는 불필요한 코드를 작성하게 한다. 이러한 불필요한 코드 작성을 줄이기 위해 사용되는 것이 useContext() hook이다. useContext()는 프로젝트 내에..

Javascript/React 2023.01.08

[ React ] - 훅(Hook) 종류와 사용법 ( useState / useEffect )

훅(Hook) 종류와 사용법 ( useState / useEffect ) Hook이란? React 16.8에 새롭게 추가된 것으로, 공식 문서에 따르면 react의 state 관리와 다른 기능을 사용하기 편리하게 만들어준 메서드이다. HTML 삽입 미리보기할 수 없는 소스 useState의 경우 특정 값을 저장하고 해당 값을 변경하는 함수를 반환하여 주는 역할을 하는 react hook이다. (기본적으로 해당 state의 값이 변경되면 리렌더링이 이루어진다.) ex) useState 활용 예시 useState에서 state변경 함수를 통해 state를 변경할 때에 주의점은 기존의 state값과 변경하려는 state의 값이 같으면 메모리 절약을 위해 state가 변경되지 않고, 즉 렌더링이 발생하지 않는다..

Javascript/React 2023.01.04

[ Java ] - 상속 (instanceOf / 멤버변수가 같을 때 )

상속 HTML 삽입 미리보기할 수 없는 소스 상속관계의 클래스에서 해당 클래스가 속한 타입을 구별하는데 도움을 주는 키워드이다. package chapter07; public class InstancdOfEx { public static void main(String args[]) { Person[] people = {new Person(), new Teacher(), new Student()}; for (int i = 0; i HTML 삽입 미리보기할 수 없는 소스 package chapter07; public class BindingTest { public static void main(String args[]) { Parent p = new Child(); Child c = new Child(); ..

JAVA 2023.01.02

[ Java ] - 생성자

생성자 생성자는 클래스가 new 에 의해 인스턴스로 생성될 때 인스턴스의 변수들을 초기화하여주는 생성자 함수를 의미한다. 생성자 함수는 해당 클래스명과 같으며 반환값이 없다는 특징을 가진다. 한 클래스 내부에 인자깂에 따라 오버로딩하여 여러 개의 생성자 함수를 가질 수도 있다. 만약에 해당 클래스 내부에 아무런 생성자 함수가 존재하지 않는 경우에는 컴파일러에 의해 자동으로 아무런 인자를 받지 않는 기본 생성자를 추가하여 준다. * 클래스에 멤버변수가 존재함에도 불구하고 인자를 아무것도 받지 않고 아무런 기능도 하지 않는 기본 생성자 함수가 가능한 이유? 클래스의 멤버변수의 경우 초기화해주지 않아도 각 멤버변수의 타입에 따라 기본값으로 초기화가 이루어지기 때문에 초기화해주지 않아도 문제가 발생하지 않는다...

JAVA 2022.12.30

[ Java ] - 오버로딩과 오버라이딩

* 오버로딩과 오버라이딩은 용어 때문에 헷갈리는 경우가 많은데 오버로딩과 오버라이딩은 크게 관련이 없다. 오버로딩과 오버라이딩 HTML 삽입 미리보기할 수 없는 소스 오버로딩이란 한 클래스 내에 매개변수의 수와, 매개변수의 타입이 다른 동일한 이름의 메서드가 여러 개 정의된 것을 의미한다. public class OverloadingEx { public static void main(String args[]) { PrintlnByType result = new PrintlnByType(); result.println("string"); result.println(123); result.println(true); // string은 String // 123은 int // true은 boolean } } c..

JAVA 2022.12.30

[ Java ] - 클래스 / 객체 / 인스턴스 (인스턴스의 생성과 사용법)

클래스 / 객체 / 인스턴스 (인스턴스의 생성과 사용법) 클래스란 객체를 정의해 놓은 설계도를 의미한다. 클래스는 기본적으로 객체를 생성하기 위해 사용된다. 반대로 객체를 클래스에 정의된 내용이 인스턴스화 되어 실제로 생성된 것을 의미한다. 예를 들어 집을 짓는다고 할 때 집을 짓기 위한 설계도는 클래스이고, 설계도에 따라 지어진 집은 객체이다. 프로그래밍에서 객체의 의미는 클래스에 정의된 내용대로 메모리에 생성된 것을 의미한다. 클래스는 단순히 설계도에 불과하며, 해당 클래스를 실제로 사용하기 위해서는 반드시 인스턴스화하는 과정이 필요하다. 인스턴스화란 클래스를 객체 즉 실제로 사용할 수 있도록 생성하는 것을 의미한다. * 객체와 인스턴스의 차이 객체와 인스턴스는 클래스에 정의된 내용에 따라 생성된 것..

JAVA 2022.12.28