본문 바로가기

전체 글

(47)
Docker란 무엇인가? Docker란 무엇인가?간단하게 개발환경 일치를 위한 도구라고 생각하자. 좀 더 자세히는 리눅스 컨테이너 기술을 활용한 오픈소스 가상화 플랫폼이라고 생각하면 된다.여기서 리눅스 컨테이너란 운영체제 위에 논리적인 영역을 구축하고 그 영역에 애플리케이션 실행에 필요한 프로그램들을 담아둔 공간이라고 생각하면 된다.Docker를 찾게되는 배경개발과정에서 발생하는 불편한 점을 생각해보자. 하나의 서비스를 개발할 때 그 서비스와 관련된 의존성들이 매우 많을 것이다.간단하게 예를 들어보자면 하나의 웹 애플리케이션을 개발해도 java, nodejs, DBMS 등 여러가지의 프로그램이 애플리케이션 동작을 위해 필요하다. 그리고 나중에 나의 로컬환경에서의 개발이 끝나고 실제 서버에 배포를 해야하는 상황이 발생했다.애플리케..
Spring과 Spring Boot에 대한 소개 Spring 이란?Spring은 자바 언어를 이용하여 애플리케이션 개발을 편하게 만들어주는 프레임워크(도구)이다.프레임워크, 즉 스프링은 개발을 위한 프레임을 제공하고 우리는 스프링이 제공해 주는 프레임 위에서 편리하게 애플리케이션 개발을 진행하면 되는 것이다. 스프링이 없다면 우리는 서블릿부터 데이터베이스 연결 등 애플리케이션에 필요한 모든 코드를 우리가 직접 짜야 하고 매우 복잡하고 어려워질 것이다.  하지만 우리는 스프링이 있기 때문에 다른 코드에 쏟을 집중을 온전히 서비스의 비즈니스 로직 구현에만 집중할 수 있다.(이게 바로 스프링의 목적이다)이렇게 우리가 로직에만 집중할 수 있게 도와주는 스프링의 핵심 원리들이 이제 스프링 하면 많이 언급되는 DI, IoC, AOP 같은 개념들이다. 근데 이제 ..
Visual Studio Code(vscode) 한글 깨짐 문제 원인과 해결 방법 비주얼 스튜디오 한글 깨짐 발생비주얼 스튜디오 코드 처음 쓰는 사람들은 아마 다음과 같이 실행 화면에서 한글이 깨지는 현상을 겪을 것이다. 한글 깨짐 원인윈도우 사용자들한테 발생하는 문제이다. 기본적으로 인코딩 불일치 문제로 발생하는 오류인데 윈도우는 한글 인코딩을 CP949를 기본값으로 지원하고 있고 비주얼 스튜디오 코드는 기본 인코딩이 UTF-8이다. 그렇기에 우리는 현재 UTF-8로 설정되어있는 vscode 소스 파일에 CP949로 작성을 하였기 때문에 컴파일하고 실행을 해보면 한글이 깨져있는 것이다. 이를 해결하기 위한 방법을 지금부터 알아보자. 한글 깨짐 해결 방법해결 방법이 두 가지 존재한다.소스 파일 인코딩을 UTF-8 에서 EUC-KR(CP949)로 설정윈도우의 한글 인코딩 방식을 UTF-..
[Mac OS] homebrew를 이용한 mysql 설치 및 세팅 방법 먼저 터미널을 실행해 줍니다. (이 과정은 homebrew가 설치가 되어있어야 합니다.) [Step 1] brew install mysql 이렇게 설치하는 경우 가장 최신 버전의 mysql이 설치가 되며 특정버전의 mysql 설치가 필요하신 분들은Ex) brew install mysql@5.7처럼 @버전을 뒤에 추가하여 특정 버전의 mysql을 설치합니다.설치가 완료되면 다음과 같은 안내문구가 출력됩니다.Caveats (주의사항)을 읽어보시면 root 계정 비밀번호 설정 없이 mysql만 설치되어 있다고 나와있습니다.아래에 안내해 주는 명령어 mysql_secure_installation을 통해 설정을 마저 해야지 mysql 설정이 완료됩니다.그리고 아래에 시작프로세스에 등록하여 컴퓨터 부팅하면 mysq..
[Intellij] Gradle dependency(의존성) 추가 방법 먼저 Gradle 프로젝트에서 의존성을 추가하는 방법은 프로젝트 폴더의 build.gradle 파일에서 dependencies 부분에 dependency를 추가하면 됩니다. Gradle 프로젝트에서 의존성을 추가하는 방법은 크게 두 가지로 나누어집니다. Maven Repository에서 직접 가져오기 Intellij 내부 기능을 이용하기 (번외) start.spring.io를 이용하여 프로젝트 시작단계에서 간단하기 의존성 추가 프로젝트 도중 추가는 불가 Maven Repository에서 직접 가져오기 첫 번째 방법은 https://mvnrepository.com/ 에서 직접 추가할 dependency를 검색해서 추가하는 방법입니다. 가장 기본적인 Spring-Web을 예시로 들어 설명하겠습니다. Mave..
[JAVA] 자바 클래스 첫 글자는 대문자? 자바 이름 규칙 - 네이밍 컨벤션 자바에서는 이름을 짓는 규칙이 있다. 이를 네이밍 컨벤션(Naming Convention)이라고 하는데, 코드의 가독성을 높이고 일관성을 유지하기 위해 사용되는 관례라고 보면 된다. 꼭 알아두어야 하는 이름 규칙을 알아보자. 클래스 변수 상수 메소드 먼저 이전에 공통으로 적용되는 기본적인 규칙은 이름이 자바의 예약어가 될 수는 없다. 네이밍 컨벤션과 별개로 자바의 규칙이라 예약어로 이름이 설정되면 컴파일 오류가 난다. ex) break, boolean, default, null, throw, while, do, case, try, int, double 등등.. 기본적인 자바 예약어 또한 이름의 첫 글자는 숫자가 될 수도 없다. ex) 123class, 5tar, 9ood 클래스(Class) 1. 클래스의..
아스키코드표 ASCII Table 아스키코드 중 자주 사용되는 부분은 식별이 쉽도록 푸른색으로 표시해 두었습니다. 푸른색으로 표시해 둔 부분은 외울 수 있다면 외워두는 편이 좋습니다. 상당히 사용할 일이 많기 때문이죠. 예를 들어 숫자 3이 있을 때, 이 숫자 3을 숫자 3이 아닌 문자 3으로 저장하고 싶을 때 51로 저장을 해두면 %c형식으로 읽을 때 문자 3으로 읽게 됩니다. Like this. int num = 3; char three; three = num; printf("%c", num); three = num + 48; printf("%c", num); 문자 변수에 3을 넣고 출력하면 문자 3이 아닌 아스키코드 3에 해당하는 ETX를 부릅니다. 그다음 줄처럼 num+48(숫자에 48을 추가해 주면 해당 숫자 아스키 값이 구해짐..
[C++] 함수 재정의와 오버라이딩란 무엇인가? 먼저 많은 글들을 살펴본 결과 C++는 오버라이딩에 대한 잘못된 설명이 인터넷에 돌아다니는 듯합니다. 그래서 제가 한방에 정리를 할 예정입니다. 먼저 기본적으로 이 정리 내용을 보기 전에 업캐스팅의 개념에 대해서는 잡혀있어야 됩니다. 먼저 함수 재정의부터 살펴보겠습니다. 함수 재정의 함수 재정의란 파생 클래스에서 기본 클래스와 동일한 형식의 함수를 작성하는 것입니다. *여기서 동일한 형식이란 리턴 타입, 함수 이름, 매개 변수 타입 및 개수 등 전부 동일한 형식을 의미합니다. 이렇게 재정의된 함수는 기본 클래스의 포인터로 접근 시 기본 클래스의 함수가 호출되고, 파생 클래스의 포인터로 접근시 파생클래스의 함수가 호출됩니다. 즉, 이미 호출할 함수는 해당 포인터의 형태의 클래스에서 부르기 때문에 컴파일 시..