본문 바로가기

프로그래밍

(82)
20.01.25) Enum 목차 Enum이란 Enum 속 상수는 인스턴스이다.핵심 책으로 이해가 안될 땐 영상으로, 영상이 이해가 안될 땐 책으로.. 다양하게 공부하자. Enum이란 열거형이라고 한다. 어플리케이션 전체에서 사용하는 상수를 따로 포장해서 관리할 수 있다. 상수를 클래스 안에 길게 늘어뜨리지 않고 enum으로 변하게 사용 가능하다. 또한, 상수의 타입 확인을 확실하게 할 수 있다. enum은 클래스이다. 상수를 효과적으로 관리하는 클래스라고 생각하면 된다. 맨 처음 배울 땐 왜 쓰는지 몰랐지만, 책에선 열거형 상수를 사용하면, 기존 소스를 다시 컴파일 하지 않아도 된다고 한다. Enum 속 상수는 인스턴스이다. Enum 속 상수들은 단순히 상수가 아니라 하나의 인스턴스가 생겨난 것이다. 그렇기 때문에 생성자를 Enu..
20.01.18) Java - 자주 하는 실수 객체 선언만 하고 생성안하고 사용할 때 : NullPointException java error : release version 13 not supported project structures -> project -> projectSDK를 java 13으로 지정한다.
20.01.09) Java - 유용한 메서드 형변환 int -> String : Integer.toString(); String -> int : String.valueOf(); , Integer.toString(); Double -> int : (int) int -> Double : (Double) 진법 변환 : Integer.parseInt("100", 16); -> 16진수 100을 계산해봐 : 16^2 자료형 확인 객체 자료형에서 사용 가능하다. str instanceof String : return값은 true or false str.getClass() : return 값은 class java.lang.String Array 초기화 방법 for문 사용 Arrays.fill(arr, 3) : 같은 값으로 초기화 int[] arr = {1, 2..
20.01.08) Linux - vim(ongoing) 목차 Vim 명령어 Vim 설정하기 핵심 꾸준함이 살 길 Vim 설정하기 터미널을 띄운다.(Ctrl + Alt + T) $ sudo apt-get update 엔터 $ sudo apt-get install vim 엔터 vim ~/.vimrc (vim 설정 파일. 하이라이팅, 인덱스, 공백 칸 수등 설정을 할 수 있다.) 아래 설정 내용을 입력하고 저장한다. set number " 줄 번호 표시 set tabstop=4 " tab을 4칸으로 set ignorecase " 검색시 대소문자 구별하지 않음 set hlsearch " 검색시 하이라이트 set fileencodings=utf-8,euc-kr " 파일인코딩 형식 set bs=indent,eol,start " backspace 키 사용 set rule..
20.01.08) Linux - 리눅스에 대해 목차 리눅스란? 리눅스 공부 순서 리눅스 탄생 오픈 프로그램과 오픈 소스 핵심 리눅스는 서버 개발자라면 반드시 알아야할 언어이다. 리눅스란? 운영 체제 중 하나이다. 개발자가 아닌 일반 사용자라면 원도우라는 운영 체제가 익숙할 것이다. 운영 체제는 컴퓨터가 운영될 수 있게 도와주는 프로그램이다. 세상에는 다양한 운영 체제가 있지만 원도우, 맥OS, 리눅스 등이 가장 유명하다. 즉, 리눅스도 윈도우와 비슷한 친구이다. 그런데 왜 이렇게 낯설까? 왜냐하면 리눅스는 일반 사용자가 사용하는 수준보단 조금 더 전문적인 영역에서 사용되기 때문이다. 다른 영역에서 리눅스의 영향력은 엄청나다. 추후에 알아보는 걸로 그럼 리눅스를 반드시 배워야 할까? 아니다. 하지만 내가 웹사이트를 직접 만들어서 고객에게 제공하고 싶으..
20.01.06) DataStructure - LinkedList(ongoing) 목차 연결리스트란? 연결리스트 구현 코드 핵심 연결리스트는 배열의 삽입과 삭제를 보완한 자료구조이다. 연결리스트란? 연결리스트는 각 원소가 포인터로 연결되어 있는 자료구조를 말한다. 왜 태어났을까? 배열이 가진 단점을 보완하기 위해 등장했다. 배열은 원소의 삽입과 삭제 시 그 뒤에 있는 원소들이 줄줄이 움직여야 한다. 그렇기에 삽입과 삭제시 선형 시간 복잡도를 가진다. 연결리스트는 이런 배열의 단점을 포인터로 극복한다. 각 원소는 메모리에서 따닥따닥 붙어 있지 않다. 각 원소는 이전 혹은 이후 원소의 주소를 참조한다. 주소를 참조하기 때문에 메모리에 따닥따닥 붙어있지 않는다. 그러면 삽입과 삭제의 시간이 단축될까? 그렇다. 삽입과 삭제시 주변 원소의 포인터를 조정해주면 된다. 그러면 상수 시간 복잡도를 ..
20.01.06) Linux - Docker 목차 핵심 도커는 컨테이너 기반의 오픈소스 가상화 플랫폼이다도커의 필요성 클라우드의 발전과 짧아진 배포 주기는 관리할 서버가 수백, 수천대에 이르는 상황에 도달한다. 하나의 서버를 관리하는 것도 쉽지 않은데 수 많은 서버를 관리하는 것은 더 어려운 상황이다. 이 때 도커가 등장하고 서버 관리 방식이 바뀐다. 도커란? 도커는 컨테이너 기반의 오픈소스 가상화 플랫폼이다 컨테이너가 정해진 규격으로 물품의 운반을 쉽게 도와준다. 도커의 의미는 어떤 프로그램이든 컨테이너처럼 포장(?)을 할 수 있고 이는 어떤 환경에서는 실행할 수 있다. 참고할 영상 동빈나도커
19.12.30) Java - Static Map 목차 URLEncoder.encode의 역할 지도를 요청할 땐 byte를 읽기 때문에 InputStream이 필요핵심 기술말고 API와 소통하는 원리를 이해하자. URLEncoder.encode의 역할 서버에 요청할 url에 들어 가는 변수에 공백이 있으면 공백을 %20로 변환 시켜 주는 역할. 공백을 utf-8로 변환하지 않으면 공백을 끝으로 인식해 제대로 서버에 요청할 수 없다. 지도를 요청할 땐 byte를 읽기 때문에 InputStream이 필요 문자열을 읽을 때는 BufferedReader가 필요하지만, byte를 읽을 때는 InputStream이 필요하다. API로 부터 통로를 만들어 주는 것이다. 읽어 올 땐 int로 받는다.