Study
-
docker layer
FROM node WORKDIR /app COPY . /app RUN npm install EXPOSE 80 CMD ["node", "server.js"] FROM node WORKDIR /app COPY package.json /app RUN npm install COPY . /app EXPOSE 80 CMD ["node", "server.js"] docker는 한줄 한줄 레이어 구조이다. 위 dockerfile로 builld를 할때 만약 server.js에서 뭔가를 수정했다면 server.js에 관련된 레이어는 COPY . /app 이므로 하위인 RUN 레이어도 뒤따라 실행된다. 하지만 아래 dockerfile로 실행하게 되면 server.js를 수정했더라도 수정되지 않은 package.json을 n..
-
docker 명령어
docker build - 이미지를 만들지만 실행은 안함 docker ps - 현재 실행중인 이미지 목록 -a 전체 목록 docker run [이미지id] - 이미지를 기반으로 컨테이너 실행 -p [내로컬포트]:[도커포트] -- publish docker stop [컨테이너name] - 중단
-
Dockerfile
기본이 되는 이미지 FROM node WORKDIR /app 작업이 일어날 폴더 지정 1번 . 컨테이너의 외부 이미지의 외부경로 이미지로 복사되어야할 파일들이 있는곳 . = Dockerfile이 포함된 동일한 폴더라는 뜻 이 프로젝트의 모든 폴더및 하위폴더 파일을 포함한다는 뜻 2번 . 그 파일을 저장해야하는 이미지의 내부의 경로 도커는 로컬 머신과 분리된 자체 내부 파일 시스템이 있는데 . 는 Root를 가리키며 사용자 지정 폴더 사용하는게 좋음 COPY . . dockerfile과 같은 디렉터리 및 하위디렉터리의 모든게 /app 폴더에 담김 없으면 만듦 COPY . /app workdir로 인해 아래도 가능 COPY . ./ workdir로 인해 /app 에서 실행됨 RUN npm install 이미..
-
wsl 명령어가 안 될 때
> dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart > dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
-
ubuntu 설치 오류
The Windows Subsystem for Linux optional components is not enabled powershell 에서 Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
-
vm 과 docker
vm을 사용하면 docker와 마찬가지로 container를 만들기에 비슷한 효과를 낼 수 있다. 그러나 새로운 시스템을 매번 새로 설치해야하며 컴퓨터 자원을 낭비하게 된다. docker는 현재 시스템에서 작동하는 docker engine을 기반으로 해 컨테이너를 가동할 수 있다. 이 컨테이너에는 운영체제나 필요없는 도구들이 포함되지 않아 가볍다. 구성파일을 이용하여 컨테이너를 만들 수 있으며 컨테이너 이미지를 만들고 공유해 동일한 컨테이너를 만들기 용이하도록 할 수 있다. 운영체제에 영향이 적으며 빠르고 디스크 공간 차지도 적다.
-
JWT
JSON WEB TOKEN - JSON 형태로 된 토큰 {header}.{payload}.{signature}로 구성 돼 있다. {"typ":"JWT","alg":"HS512"}. {"sub":"2154125125125151251","iss":"test app","iat":1251251."exp":2512512}. {nn1onio1236nnonkln16nlknl1i6nlinl126nkl12kn6linilnli12n6l12nli} Header - typ: 토큰의 타입을 의미 - alg: 토큰의 서명을 발행하는데 사용된 해시 알고리즘의 종류 Payload - sub:Subject로 토큰의 주인을 의미. ID처럼 유일한 식별자여야 한다 - iss:Issuer 토큰 발행의 주체. 여기서는 test app - i..
-
CORS
Cross-Origin Resource Sharing 처음 리소스를 제공한 도메인이 현재 요청하려는 도메인과 다르더라도 요청을 허락해 주는 웹 보안 방침. 프론트 서버 localhost:3000, 백엔드 서버 localhost:8080 으로 쓰고 있을 때 프론트 서버에서 백엔드에 데이터를 요구하지만 백엔드 서버에서는 요청의 Origin이 localhost:8080이 아닌 localhost:3000이기에 거부하게 된다. 백엔드에서 CORS 방침을 설정할 수 있는데 package com.example.demo.config; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.conf..
Project
-
개인 블로그 (개인)
devkukirun.com - SPRING WEB - MySQL -AWS -SPRING SECURITY
-
공유 오피스 예약 사이트(팀플) - jsp 프로젝트
고객용 관리자용
-
myBlog(개인)
이 어플리케이션의 기반인 jsp 웹 - https://kukirun.tistory.com/58 로그인이 되지 않은 상태에서는 아무것도 출력되지 않습니다. 로그인 화면이며 집 모양을 누르면 메인화면으로 돌아갑니다 로그인 후에는 study, project 의 각각 최신 글을 하나씩 불러와서 표시합니다.
-
myBlog(개인)
이 웹을 활용한 안드로이드 어플 - https://kukirun.tistory.com/59
-
HRD출결 관리(개인) - java swing 프로젝트
랜덤 학생 - STUDENT 테이블에 있는 이름중 랜덤으로 한명의 이름을 가져와 이름 TEXTBOX에 입력 이름 - 이름을 입력후 ENTER 할 경우 이 학생의 기록만 보여줌. 등록되지 않은 이름일 경우 전체 테이블 조회 출석 방법 - TOOL 테이블에 있는 QR 혹은 CARD 출석부 조회 - ENTRY테이블에서 오늘 날짜 출석 상태를 불러옴. 오늘 날짜 레코드가 없을 경우 STUDENT 테이블에 등록된 학생들의 오늘날짜 레코드 생성 후 조회. 출석부에 있는 학생의 이름을 입력했을 경우 입실 버튼과 출석달력 활성화 입실 - ENTRY 테이블에 입실 시간 기록. 9시 10분을 넘겼을 경우 출석 상태가 지각으로 표시. 출석 달력 - 해당 개인의 출석 달력 조회 이미 입실한 사람의 경우 퇴실, 확인, 외출 버..
-
포스머신(팀플) - java swing 프로젝트
mysql과 자바swing을 이용한 포스머신 구현 USER 테이블에 접근하여 계정을 확인. 각 테이블을 클릭했을 경우 테이블 상세 매출현황, 물품관리, 영수증관리, 테이블관리 페이지로 버튼을 이용하여 이동 구매목록 - TABLE 테이블의 테이블 넘버 -> ORDER 테이블의 오더넘버 -> ORDER_DETAIL에서 해당 오더넘버의 리스트를 조회 후 테이블로 표시. 삭제 또는 계산처리 가능 우측 메뉴 패널 - 각 카테고리에 해당하는 버튼을 누르면 메뉴를 조회하여 표시하고 구매목록에 추가 가능 판매항목(메인) - 판매 물품의 추가 또는 삭제 카테고리 - 물품 목록 카테고리의 추가 또는 삭제 날짜선택 - jdatepicker 를 사용한 달력에서 날짜를 선택하면 해당 날짜의 영수증 목록을 조회 상세내역 - 날짜..