전체 글(191)
-
[Docker] 자주 사용하는 Docker CLI 정리하기
이미지 다운로드컨테이너를 실행시키려면 이미지가 필요하다.이미지: 닌텐도에 꽂는 게임 칩 같은 것임 docker pull {이미지명}ex) docker pull nginx이미지 조회/삭제[이미지 조회]이미지들을 docker hub에서 찾을 수 있음(https://hub.docker.com/) - docker hub이란?: 깃허브처럼 이미지를 저장 및 다운 받을 수 있는 저장소 역할을 하는 곳- 태그명: 해당 이미지의 특정 버전을 나타내는 이름 특정 버전의 이미지를 다운 받고 싶은 경우 태그명과 함께 다운받으면 됨docker pull nginxdocker pull nginx:{버전}ex) docker pull nginx:stable-alpine3.19-perl - docker pull nginx: nginx..
2025.04.27 -
[Docker] Docker로 Nginx 웹서버 구동하기
Docker를 이용해 간단하게 nginx를 구동해보았다.아래 과정을 따라가며 Docker가 어떻게 동작하는지 실습해볼 수 있었다.1. nginx 이미지 다운로드 먼저 Docker Hub에서 다음 명령어를 통해 nginx 이미지를 다운로드했다.docker pull nginx Docker를 사용하면 직접 설치할 필요 없이 이미 만들어진 이미지를 바로 가져와 사용할 수 있다. 2. 이미지 다운로드 확인 이미지가 잘 다운로드 되었는지 확인하기 위해 다음 명령어를 입력했다.docker image ls 위의 사진처럼 nginx라는 이름의 이미지가 목록에 뜨면 다운로드가 성공한 것이다. 3. 컨테이너 실행 다운로드한 nginx 이미지를 기반으로 컨테이너를 실행했다.docker run --name webs..
2025.04.26 -
[JAVA] 오버로딩(Overloading)과 오버라이딩(Overriding)
1. 오버로딩( Overloading )1. 오버로딩이란 무엇인가요?정의: 메소드 이름이 같더라도 매개변수의 타입, 개수, 또는 순서가 다르면 서로 다른 메소드로 인식되는 기능특징:메소드 시그니처(메소드 이름 + 매개변수 타입과 개수)가 다르면 JVM은 별개의 메소드로 처리반환 타입은 메소드 시그니처에 포함되지 않음예시 코드:public class Main { public static void main(String[] args) { MyClass mc = new MyClass(); mc.print(1); // 정수형 : 1 mc.print(1, 10); // 정수형 : 1, 10 mc.print('X')..
2025.01.23 -
웹 인증의 이해: 쿠키, 세션, 토큰 그리고 JWT
1. 들어가며웹 인증이란 무엇인가?웹 인증은 사용자가 누구인지 식별하고, 그 사용자에게 적절한 접근 권한을 부여하는 과정을 의미한다.이 과정은 보안의 핵심으로, 사용자가 웹 애플리케이션에 로그인하거나 특정 리소스에 접근할 때 반드시 필요하다. 웹 인증의 기본 흐름1. 사용자가 자신의 정보를 입력하여 서버에 인증 요청을 보낸다.(ex: ID, 비밀번호)2. 서버는 이 정보를 확인하여 사용자가 신뢰할 수 있는 대상인지 판단한다.3. 인증이 완료되면, 서버는 이후 요청을 처리하기 위해 인증 상태를 유지하는 메커니즘을 제공한다. 여기서 인증 상태를 유지하는 다양한 방법으로 쿠키, 세션, 토큰이 사용된다.특히 JWT와 같은 토큰 기반 인증 방식이 주목을 받고 있다. 쿠키, 세션, 토큰, JWT를 다루는 이유웹 인..
2025.01.21 -
[백준/JAVA] 백트래킹 15649 N과 M(1)
나의 답) 틀림import java.io.*;import java.util.*;class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.readLine()); StringBuilder sb = new StringBuilder(); int n = Integer.parseInt(st.nextToken()); int m = Integer.parseI..
2025.01.04 -
[알고리즘] 백트래킹(Backtracking)
1. 백트래킹(Backtracking)이란?백트래킹은 완전 탐색의 한 방법으로, 가능한 모든 경우를 탐색하지만, 불필요한 경로를 조기에 배제(가지치기, Pruning)하여 효율성을 높이는 알고리즘이다.기본 아이디어: 현재 상태에서 유망하지 않은 경로를 탐색하지 않고 이전 단계로 돌아가 다른 경로를 시도특징- DFS(깊이 우선 탐색)를 기반으로 함- 가지치기 기법을 활용해 탐색 공간을 줄임장단점- 장점 - 가능한 모든 해를 탐색하므로 정확한 해를 보장 - 문제의 구조를 단순화하여 구현 가능- 단점 - 상태 공간이 클 경우, 탐색 시간이 급격히 증가 - 가지치기가 적절하지 않으면 비효율적시간 복잡도- 시간 복잡도는 문제의 상태 공간 크기에 따라 결정되며, 최악의 경우 O(b ^ d) (b는 선..
2025.01.04