반응형

분류 전체보기 316

자바 Map 과 MultiValueMap의 대해서

이번에 새롭게 재미있는 자료구조를 배웠다. 바로 MultiValueMap이다. MultiValueMap을 알기전에 기존에 있던 Map과 무엇이 다른지 한번 비교를해보자. Map은 크게 3가지 1. HashMap 2. TreeMap 3. LinkedHashMap HashMap Map의 기본형식이다. 키:밸류 인 한쌍으로 데이터를 저장하며 중복된 키가 존재하지않는다. Map에있는 데이터를(밸류값) 뽑을때, 키를 기준으로 가져온다. 마치 키를 리스트나 배열에존재하는 idx(인덱스)처럼 가져와 밸류를 뽑기때문에 시간복잡도가 O(1)이다. TreeMap HashMap과 동일한 기능에 추가 옵션이들어간다. TreeMap은 데이터가 들어올때마다 Key값에따라 알아서 자동으로 정렬이된다. LinkedHashMap Ha..

자바/API 2022.04.21

스프링 Redirect를 활용해보자

Redirect란? 쉽게 예시를들자면, 3년전에 가게 A를 운영하다가 가게 점주 김씨가 A를 허물고 가게 B로 이사를한것이다. 그렇다면 손님들은 점주 김씨가 운영하던 가게 A를 이용하려고 했지만, 가게 A는 이미 허물고 없어졋다. 그러더니 안내인 박씨가 나타나 손님들을 이끌고 "가게 A는 허물었으니 새로지은 가게 B로 오세요" 라고 손님들을 인솔하는것이다. Redirect는 딱 안내인 박씨가 하는 역활과 동일하다. Redirect를 활용한 사이트를 예시를 들자면 나무위키를 들어보자. 검색창에 ㄴㅇㅅ를 치면 자동으로 알아서 '나이스' 검색결과로 Redirect를 해준다. ㄴㅇㅅ이라는 검색결과는 적절치못하니 서버가 Redirect를 해준것이다. Redirect는 잘 활용하면, Post의 중복을 막아준다 해당..

스프링 @ModelAttribute 에 관하여

@ModelAttribute?? @ModelAttribute는 요청받은 개체 속성들을 받은후, 추상화된 개체로 모델을 만든뒤 HTML파일로 자동으로 알아서 반환해준다. -> 말로하니 느낌이 확 안 와닫는다. ModelAttribute의 특징을 제대로 알려면 우선 @RequestParam과 비교를 한번 해보자. @RequestParam으로 요청받아내기 객체 Item 에 존재하는 속성 3개 itemName,price,quantity 3 요소를 받는요청이다. @RequestParam을 사용하면 그림과같이 Item에 존재하는 모든 속성을 모두 작성하고 모델에 집어넣어야한다. 이건 간단한 객체라그렇지, 실제 실무처럼 속성이 10개가 넘어가면 파라미터단락이 아주 길어질것이다. 이걸 조금 더 간결하고 스마트하게 줄여..

스프링에서 로그(log) 찍기

로그가 대체 무엇이며 왜쓸까? 로그는 스프링 프로젝트를 만들고 실행을 해보면 바로 볼 수가 있다. 로그는 다음과같이 날짜 , 중요도 , 발생한 위치 , 내용 순으로 찍어준다. 이 로그는 디버깅할때 코드 중간중간에 넣어서 확인용으로 쓰이거나 요청메시지를 찍고싶을때 쓴다. 근데 이런 비슷한 성질을 가지는 명령어가 하나 떠오르는데 바로, System.out.println() 이다. 자바에서 출력문을 볼때 정말 많이 썻던 것이다. 둘이 비교를 한번해보자. 두줄씩 써봣다. print 문과 log문이다. 그렇다. print문은 딱 내용만 보여준다. 이것이 문제가되는이유는 만약 서버에서 Error가 떳으면 그 Error 가 언제 , 어디서, 무슨내용이 터진지 알아야한다. print문은 딱 '내용'만 알려주니 정보가 ..

리눅스/유닉스 파일 속성

리눅스, 유닉스에 저장된 파일엔 속성이있다. 파일의 속성을 보려면 ls -l 명령어로 보면 된다. 파일의 속성중 중요하게 봐야할점은 2번과 5번이다. 왜냐하면 이 2개의 속성이 파일의 접근권한에 연관이 있기때문이다. 파일의 접근권한이란? 파일을 다룰수있는 권한이다. 여기엔 3가지 권한이있다. r: 읽는권한 w: 쓰는 권한 x: 실행 권한 그리고 이 3가지 권한은 각각 소유자 / 그룹 / 기타 사용자로 나누어서 권한을 관리할수있다. Group 속성 앞서말한 groups 명령은 파일의 접근권한의 2번째 그룹사용자와 관련이 있기때문이다. 파일이 속한곳에 grupos 명령만 치면 , 자신이 속한 그룹이름이 출력된다. groups [그룹이름] 을치면, [그룹이름]에속한 파일들이 나온다. 이를통해 예시로 A그룹에포..

리눅스 2022.04.18

리눅스/우분투 쉘(Shell) 명령어 정리

저번 포스팅에선 기본적으로 echo 와 print 명령어로 간단하게 출력문자를 나타내보았다. 그외에 다양한 명령어를 이번포스팅에 정리를 해보자고한다. 쉘 특수문자 특수문자 * 특수문자 *는 모든~ 이라는 의미를 말한다. 특수문자 ? , 특수문자 [] 특수문자 ? 는 ?자리에 어떤문자가와도 해당이되면 가져온다. EX) ls c?t -> cat파일 출력 , ls ???? -> 4글자로된 파일 모두출력 특수문자 []는 우리가 알고있는 정규표현식 방식과 매우 흡사하다. []안에 조건을 입력하면 조건에 해당하는 파일들이출력이된다. 특수문자 ~ , 특수문자 - 특수문자 ~ 가 단독으로 사용되면 루트 디렉토리를 의미한다. 루트디렉토리 관련해서 작업하고싶을때 사용한다. 특수문자 - 는 cd에서 사용되므로, 이전 작업 ..

리눅스 2022.04.09

리눅스/우분투 쉘(Bash) 명령어 사용해보기

쉘 명령어를 사용해보기 전에 알아둬야할것이 있다. 쉘 명령어를 왜 쓸까? 쉘 스크립트의 사전적 정의 [출처: 위키백과] 셸 스크립트(Shell Script)는 셸이나 명령 줄 인터프리터에서 돌아가도록 작성되었거나 한 운영체제를 위해 쓰인 스크립트다. 단순한 도메인 고유 언어로 여기기도 한다. 셸 스크립트가 수행하는 일반 기능으로는 파일 이용, 프로그램 실행, 문자열 출력 등이 있다. 셸 스크립트라는 말은 유닉스 셸을 위해 쓰인 스크립트를 말하는 반면, COMMAND.COM(도스)과 cmd.exe(윈도) 명령 줄 스크립트는 보통 배치 파일이라고 부른다. 쉽게말하자면, 완전한 응용프로그램을 개발하는 것보다 간단한 프로그램을 빠른 시간 안에 개발해야 할 때 편리하기 때문이라고 할 수 있다. 또한 특정 작업을 ..

리눅스 2022.04.01

vim 으로 C파일을 작성하기 (gcc 사용법)

vim 명령어로 C프로그램을 하나 작성해보자 명령어 vi pr.c로 하나 새로만들자. C프로그램 하나 작성했다. 이름은 pr.c gcc 설치하기 https://www.delftstack.com/ko/howto/linux/how-to-install-gcc-compiler-on-ubuntu/ Ubuntu 18.04에 GCC 컴파일러를 설치하는 방법 apt 명령 줄 도구를 사용하여 Ubuntu에 GCC 컴파일러를 설치할 수 있습니다. www.delftstack.com gcc로 컴파일 하기 C프로그램파일을 실행시키려면 컴파일을 먼저해야한다. gcc -o pr pr.c 로 컴파일한다 컴파일시킨 파일 pr을 명령어 ./pr로 실행시킨다. 제대로 실행됬는지 확인한다.

리눅스 2022.03.25

리눅스/우분투 (vim 명령어)

Vim 이란? 파일을 쉽게 편집하게해주는 기능이다. 리눅스/우분투에서 파일을 cat으로 생성은 하되, 수정 편집이 불가능한걸 눈치챗을것이다. vim은 이를 해결하기위해 각종 편집 커맨드를 가지고있다. Vim의 입력모드와 명령모드 입력모드와 명령모드의 전환은 ESC키로 한다. 입력모드 에서는 파일을 작성하는모드고, 명령모드는 파일을 수정,편집 등등 명령커맨드를 치는 모드다. vim 의 명령어 vi 실행하는법: vi [파일이름] - vi file1 (파일이없으면 새로운 파일 생성) vi를 종료하는 종료키다. 전부 외울필요는 없다. 자기가 편한거 쓰자 필자는 저장하고 vim 종료는 ZZ 명령을 사용한다. 저장 안할때는 :q! 명령 입력모드로 전환하는 명령키다. 이것역시 전부다 외울 필요가없다. 필자는 그냥 명..

리눅스 2022.03.25

리눅스의 기본 명령어 (2)

이번 포스팅에 알아볼 명령어 cat more tail cp rm mv ln touch 명령어 cat 명령어 cat의 어원은 concatenate = 합성하다 에서 따와졋다. 어원에서 따오듯이, 파일1과 파일 2를 합친 파일3을 생성하는 기능이 포함되어있다. ex) cat file1 file2 file3 두번째 기능은 파일의 내용을 확인하는용으로도 쓰일수있다. ex) cat file1 (file1의 내용 확인) 파일의 내용을 읽을때 -n 옵션이 하나존재한다. ex) cat -n file1 -n 옵션은 파일의 내용에 한줄씩 넘버링을 붙여준다. 세번째 기능은 파일을 생성하고 내용을 작성할수있다. 사용방법 : cat > file1 (file1을 생성) 이 명령어 이후 내용을 작성할수있다. 작성을 모두 마친후에 ..

리눅스 2022.03.21
반응형