본문 바로가기

전체 글

(133)
[Python] 백준 2667번. 단지번호 붙이기 https://www.acmicpc.net/problem/2667 2667번: 단지번호붙이기 과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. 여 www.acmicpc.net 풀이 입력받은 배열에 1이 있다면 dfs 함수를 호출합니다. x,y의 인덱스가 n보다 크거나 0보다 작아지면 배열 범위를 벗어나기 때문에 return을 합니다. x,y 좌표에 1이 있다면 count을 증가시킵니다. -> 1의 갯수를 셉니다. 위,아래,오른쪽,왼쪽을 확인하며 1이 있는지 확인합니다. 1이 있다면 다시 dfs을 호출합니다. import sys input = sys.stdin.readli..
[Python][LeetCode] letter Combinations of a phone number(전화번호 문자 조합) https://leetcode.com/problems/letter-combinations-of-a-phone-number/ 문제 설명: 2에서 9까지 숫자가 주어졌을 때 전화번호로 조합 가능한 모든 문자를 출력하는 문제 이 문제는 전체를 탐색해서 푸는 조합 문제이다. dic = { "2": "abc", "3": "def", "4": "ghi", "5": "jkl", "6": "mno", "7": "pqrs", "8": "tuv", "9": "wxyz", "0": "+" } 자판기에 다음과 같이 있다고 했을때 '23' 을 입력받으면 'ad' , 'ae', 'af', 'bd', 'be', 'bf', 'cd', 'cd', 'cf' 3*3 = 9개 출력을 하면 된다. 풀이 path = '' 를 정의하고 path..
명령어의 구조 누군가에게 명령할 때 어떻게 우리는 말할까요? "학생들, 다음주까지 과제를 제출해주세요" "멍멍아, 이거 물어와!" 와 같이 말합니다. 연산 코드와 오퍼랜드 "멍멍아, 이거 물어와" 명령을 내릴때 다음과 같은 구조를 가지고 있습니다. 무엇을 대상으로, 어떤 작동을 수행하라의 구조로 되어있습니다. 컴퓨터 속 명령어도 이와 같습니다. 더해라(작동) 100과 120을 빼라(작동) 메모리 32번지 안의 값과 메모리 33번지 안의 값 빨간색 글씨는 명령의 '작동' -> '연산' 을 담고 있으며 나머지 필드는 '연산에 사용할 데이터' or '연산에 사용할 데이터가 저장된 위치' 를 담고 있습니다. 명령어 = 연선코드 + 오퍼랜드 연사코드(operation code ) : '더해라', '빼라' 와 같은 명령어가 수행..
쿠키(Cookie) 세션(Session) 쿠키, 세션의 개념과 차이를 설명해보세요 쿠키와 세션은 HTTP의 특성인 비연결성과 무상태의 특징으로 인한 약점을 보완하기 위해 쿠키와 세션을 사용합니다. 만약 쿠키와 세션을 사용하지 않는다면 물건을 구입하려 할 때 계속 로그인을 해야하는 문제가 발생할 수 있습니다. 쿠키와 세션이 있다면 로그인한 뒤 사용자에 대한 인증을 유지하게 됩니다. 쿠키는 클라이언트(브라우저)에 저장되어 키와 값이 들어있는 작은 데이터 파일입니다. 사용자 인증에 대한 유효시간을 설정할 수 있으며 브라우저가 종료되어도 인증이 유지된다는 특징이 있습니다. 쿠키의 장점으로는 기존 로그인 정보가 사용되기 때문에 인증을 위한 추가적인 데이터 저장이 필요합니다. 또한 서버가 아닌 클라이언트에 위치하기 때문에 속도가 세션에 비해서 빠릅니다. ..
nginx.conf 설정 NGINX 모듈 기본 구조 Nginx는 크게 핵심 모듈(Core Module), 이벤트 모듈(Event Module), 구성 모듈(Configuration Module), HTTP 모듈로 구성되어있다. nginx.conf 파일에는 접속자수, 동작 프로세스수등 퍼포먼스에 기본적인 설정 항목을 담고 있다. 핵심모듈(Core Module) : Nginx의 프로세스 관리, 보안, 필수 기능 등등 설정하는 부분이다. 이벤트 모듈(Event Module) : Nginx가 네트워크 동작방법에 설정하는 부분이다. 구성 모듈(Configuration Module) : Nginx에서 구조 include를 통해 외부 파일을 포함시키는 부분이다. HTTP 모듈 : Nginx에서 웹사이트를 설정하는 부분이다. Nginx 프로세..
[SpringBoot] tomcat access log 출력 SpringBoot의 web module에 있는 내장 톰캣은 기본적으로 access log를 출력하지 않는다. 다양한 방법으로 access log 혹은 그와 유사한 로그를 남길 수 있지만 전통적인 설치형 tomcat에서 access log를 남기는 것과 동일한 log 출력 방법을 설정해본다. application.yml 설정 server: tomcat: accesslog: enabled: true directory: logs suffix: .log prefix: access_log file-date-format: .yyyy-MM-dd pattern: %{yyyy-MM-dd HH:mm:ss}t %s %r %{User-Agent}i %{Referer}i %a %b %D max-days: 14 basedir:..
[Docker] Postgresql 도커에 설치 및 접속 docker로 postgresql 을 설치하는 방법에 대해 알아본다. 이미 도커가 설치되어있다고 가정하고 시작한다. 만약 도커가 설치되어있지 않다면 다음 게시물을 참조바란다. https://jung-mmmmin.tistory.com/124 [Docker] Docker 부터 docker compose 설치 실행환경 cat /etc/*-release | uniq DISTRIB_ID=Ubuntu DISTRIB_RELEASE=22.04 Docker 설치 sudo apt-get update 필요한 패키지 설치 sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common Docker의 공 jung..
EC2 한국시간으로 타임존(timeZone) 설정하기 처음 EC2 인스턴스를 할당받으면 다음과 같이 할당되어있다 이를 바꾸기 위한 방법을 기록한다. ubuntu@ip-172-xx-xxx-xxx:~$ date Mon Jan 8 09:29:51 UTC 2024 sudo ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime sudo timedatectl set-timezone 'Asia/Seoul' tzselect 4 > 23 > 1 Please identify a location so that time zone rules can be set correctly. Please select a continent, ocean, "coord", or "TZ". 1) Africa 7) Europe 2) Americas 8) Ind..