분류 전체보기154 [Ubuntu] E212: Can't open file for writting 에러 ubuntu 터미널에서 Dockerfile을 작성후 저장 후 종료하려고 했는데 에러가 발생했다. # syntax=docker/dockerfile:1 FROM node:18-alpine WORKDIR /app COPY . . RUN yarn install --production CMD ["node", "src/index.js"] EXPOSE 3000 "Dockerfile" E212: Can't open file for writing 해결방법은 둘중 하나를 쓰면 된다. 1. 이미 파일 만든 후 종료할 경우 :w !sudo tee % > /dev/null 2. 처음에 파일 만들때 sudo vi 사용 2023. 1. 18. [Ubuntu] root 초기 비밀번호 설정 terminal에서 아래 명령어를 입력하면 초기 비밀번호 설정이 가능하다. sudo passwd root 2023. 1. 18. [Docker] Dockerfile Reference 정리 Docker 공부에 앞서 Docker API를 정리해보았다. Docker는 Dockerfile에서 instructions를 읽고 이미지를 만든다. Dockerfile의 특징에 대해 알아보자. 1. Dockerfile에서 주석은 무시된다. 결과값은 hello world이다. Run echo hello \ # comment work? world 2. 공백은 무시된다. 그치만 권장되지 않는다. 결과값은 hello world이다. # this is a whitespace Run echo hello Run echo world 단, 다음과 같은 경우(" " 안에 공백이 있으므로)는 공백이 들어간다. RUN echo "\ hello\ world" 3. Parser directives는 선택사항이며 맨 윗줄에 적고 주.. 2023. 1. 16. [Docker] Docker란? Docker를 쓰는 이유 Docker는 container를 사용하는 기술이다. Container는 어플리케이션을 run하기 위한 dependencies, code의 패키지이다. Docker를 사용하는 이유는 1. 개발환경과 운영환경 똑같게 만들기 위함이다. 개발환경, 운영환경이 다르면 소프트웨어가 작동하지 않아서 고생하게 된다 ㅠㅠ 2. 개발자마다 개발환경이 다를 수 있는데 그 점도 똑같게 만들기 위함이다. 신입이 들어올 경우 환경세팅하는데 고생을 덜 수 있다. 3. 프로젝트 간에 tool, version간에 충돌을 막을 수 있다. A 프로젝트에서 java8을 쓰다가 java11로 버전을 바꾸고 싶을 경우 Docker를 이용해서 쉽게 바꿀 수 있다. 삭제하고 재설치하는 과정을 거치지 않아도 된다. 참고: https://www.u.. 2023. 1. 14. Spring - MultiValueMap<K, V>: Value가 List로 저장 Spring이 제공하는 MultiValueMap이 있다. Key에 대해서 Value를 List로 저장한다. Value에 List으로 저장하고 싶을 경우 아래와 같이 구현한다. MultiValueMap multiValueMap = useMultiValueMap(); System.out.println("multiValueMap = " + multiValueMap); Key: "학생1", Value: List classes로 구현한 경우이다. private static MultiValueMap useMultiValueMap() { MultiValueMap multiValueMap = new LinkedMultiValueMap(); List classes = new ArrayList(); classes.add(.. 2023. 1. 13. [Java] 입력할 때 날짜규칙 설정: 허용 O or X - dateFormat.setLenient(false) 날짜에 대해 규칙을 주고 해당 규칙에 맞게 입력값을 주고 싶을때 date.setLenient(false)를 사용한다. lenient는 관대한이라는 뜻이다. false이니 허용하지 않는다고 보면 된다. 날짜 입력에서 규칙에 어긋나면 parse할 때 에러를 잡도록 했다. public static boolean validationDate(String checkDate) { try { SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); dateFormat.setLenient(false); dateFormat.parse(checkDate); return true; } catch (ParseException e) { throw new RuntimeE.. 2023. 1. 13. JavaScript: html 가져와서 내용 확인 ex: document.querySelector() js에서 html을 가져와서 내용을 확인하고 싶을 경우 여러가지 방법이 있겠지만 몇가지 방법을 소개하고자 한다. document.getElementById(); document.getElemensByClassName(); document.querySelector(); document.getElementById(); // html에서 id 값을 가져오고 싶을 경우 사용 document.getElemensByClassName(); // html에서 특정한 element 값으로 되어 있는 여러 element를 한번에 가져오고 싶을 경우 사용 document.getElementsByTagName(); // tag name에 대해서 array로 값을 가져옴 document.querySelector(); // el.. 2023. 1. 13. html(thymeleaf) 이미지 2개를 나란히 배치 html에서 이미지 2개를 나란히 배치하는 경우가 있다. div로 묶고 각각의 이미지에 float:left를 적용하면 된다. 상품이미지 2023. 1. 10. 이전 1 ··· 7 8 9 10 11 12 13 ··· 20 다음