목록분류 전체보기 (233)
주뇽's 저장소
https://www.acmicpc.net/problem/2206 2206번: 벽 부수고 이동하기 N×M의 행렬로 표현되는 맵이 있다. 맵에서 0은 이동할 수 있는 곳을 나타내고, 1은 이동할 수 없는 벽이 있는 곳을 나타낸다. 당신은 (1, 1)에서 (N, M)의 위치까지 이동하려 하는데, 이때 최단 경로 www.acmicpc.net 시간 제한메모리 제한제출정답맞힌 사람정답 비율 2 초 192 MB 130213 33916 21211 23.281% 문제 N×M의 행렬로 표현되는 맵이 있다. 맵에서 0은 이동할 수 있는 곳을 나타내고, 1은 이동할 수 없는 벽이 있는 곳을 나타낸다. 당신은 (1, 1)에서 (N, M)의 위치까지 이동하려 하는데, 이때 최단 경로로 이동하려 한다. 최단경로는 맵에서 가장 적..
JavaScript XML(JSX) - HTML 보다 엄격함 - 닫는 태그가 필수 - 하나의 최상위 태그만 있어야 함 - Babel 덕분에 리액트 프로젝트에 사용 가능 - JSX -> JS 로 변환 - 괄호를 사용하면 JSX값을 반환하기 쉬움 return () - 컴포넌트 이름은 대문자로 - className을 사용 모든 컴포넌트는 components 폴더 아래 각각 저장하는게 모범 사례 components - FirstComponents.jsx - SecondComponents.jsx ... 각각 jsx 파일로 만들 때는 export를 해줘야 다른 경로에서 사용 가능 당연하게 사용하고자 하는 위치에서는 import 해야한다. export default function FirstComponent(){ r..
http.csrf().disable() is not working in Spring Boot 3.x.x. 스프링 부트 3.x.x 버전 부터는 csrf().disable()이 적용 시 경고 문장이 뜬다. 이는 다음과 같이 바꿔주면 된다. http.csrf().disable() => http.csrf(AbstractHttpConfigurer::disable) Security 필터체인 커스터마이징 코드 @Configuration public class SecurityConfiguration { @Bean public SecurityFilterChain filterChain(HttpSecurity http) throws Exception { http.authorizeHttpRequests( auth -> aut..
DAO(Data Access Object)와 DTO(Data Transfer Object) DAO(Data Access Object)와 DTO(Data Transfer Object)는 소프트웨어 개발, 특히 데이터베이스와의 상호작용을 다룰 때 자주 사용되는 개념이다. 이 둘은 명확히 다른 역할을 하지만, 때때로 혼동되기도 한다. DAO (Data Access Object) 목적 : DAO는 데이터베이스 접근하는 객체로, 데이터베이스의 CRUD(Create, Read, Update, Delete)작업을 처리 특징 : DAO는 데이터베이스 쿼리를 실행하고 결과를 반환하는 메서드를 포함한다. DAO는 데이터베이스와의 상호작용을 추상화하고, 비즈니스 로직과 데이터베이스 사이의 중간 계층 역할을 한다. 예시 : ..

H2 인메모리 데이터베이스는 서버 재시작시 정보가 휘발되므로 MySQL로 데이터베이스 변경 1. Docker를 사용해 MySQL 실행하기 docker run --detach --env MYSQL_ROOT_PASSWORD=dummypassword --env MYSQL_USER=todos-user --env MYSQL_PASSWORD=dummytodos --env MYSQL_DATABASE=todos --name mysql --publish 3306:3306 mysql:8-oracle docker run \ # Docker 컨테이너를 실행하는 기본 명령어 --detach \ # 컨테이너를 백그라운드에서 실행 (대화형 모드가 아님) --env MYSQL_ROOT_PASSWORD=dummypassword \ #..

Spring Security 로그인과 로그아웃에 관련된 기능을 쉽게 구현할 수 있음 로그인 구현 Spring Security 의존성 추가 implementation 'org.springframework.boot:spring-boot-starter-security' 의존성을 추가하는것만으로 따로 로그인 페이지나 기능을 구현하지 않아도 자동으로 로그인 페이지로 넘어가진다. 개발자 전용 id : user pw : 디버깅 창에서 나오는 패스워드 디버깅 창에서 나오는 패스워드는 항상 바뀌기 때문에 이를 고정된 값으로 매핑해줄 수 있다. ## 추가 application.properties에서 간단하게 아디이와 패스워드 설정하는 법(간단함) spring.security.user.name = username sprin..
파이썬은 기본적으로 최대 재귀 깊이가 1000으로 설정되어 있어 dfs와 같은 문제를 해결하다 보면 최대 깊이를 초과하는 경우가 있다. 이 때 아래와 같이 최대 깊이를 바꿔주면 문제가 해결된다 하지만 너무 높게만 설정해도 메모리 초과가 발생할 수 있다. import sys sys.setrecursionlimit(10 ** 6) 따라서 최대 재귀 깊이는 그래프 탐색의 경우 노드의 개수를 넘을 수 없다. ex) 노드의 개수가 5의 경우 node : 1, 2, 3, 4, 5 1 -> 2 : 1번 노드와 2번 노드가 연결되어 있음 2 -> 3 : 2번 노드가 3번 노드와 연결되어 있음 3 -> 4 : 3번 노드가 4번 노드와 연결되어 있음 4 -> 5 : 4번 노드와 5번 노드가 연결되어 있음 위와 같은 경우 ..

Step 1. 공유하고자 하는 파일을 공유 -> 링크가 있는 모든 사용자 -> 링크 복사를 해준다. 구글 드라이브 링크 : https://drive.google.com/file/d/1hiqm9D5t5z0WA2-W1aHUaTrq7HCylFiM/view?usp=sharing 여기서 위와 같은 링크가 있다면 d/ 와 /view에 있는 값이 해당 구글 드라이브 링크의 id가 된다. id : 1hiqm9D5t5z0WA2-W1aHUaTrq7HCylFiM Step 2. gdown 라이브러리를 이용하여 해당 파일 다운로드 1. 만약 gdown이 없다면(구글 코랩은 기본적으로 있음) 다음 명령어로 pip install pip install gdow 2. !gdown https://drive.google.com/uc?id..