본문 바로가기

분류 전체보기

(261)
failed to create jar file 문제 해결하기 팀원분이 올려주신 프로젝트를 클론하고 실행하려는데java.util.concurrent.executionexception: org.gradle.api.gradleexception: failed to create jar file에러가 발생한 것이다😱 다른 분들은 잘 실행된다고 해서 더 멘붕에 빠졌다문제 상황을 파악해보니gradle 파일에 문제가 있었음 -> 다른 팀원분들은 컴퓨터에 gradle이 깔려있어서 해당 gradle이 작동해서 빌드가 잘 됐음-> 나는 gradle이 내컴퓨터에 없었기 때문에 저 에러가 뜬 것gradle -v 을 했을때 gradle이 존재하지 않는다고 떴다! 해결방법1. 컴퓨터에 gradle깔기 brew install gradle 2. 다시 실행하기!Gradle Wrapper : (G..
1260 DFS와 BFS / DFS, BFS 정답from collections import dequedef DFS(graph, start, visited, dfs_ans): visited[start] = True dfs_ans.append(start) for i in graph[start]: if visited[i] is False: DFS(graph, i, visited, dfs_ans)def BFS(graph, start, visited, bfs_ans): queue = deque() queue.append(start) visited[start] = True while queue: v = queue.popleft() bfs_ans.append(v) ..
11724 연결 요소의 개수 / DFS, BFS 인접리스트 만들기n, m = map(int, input().split()) # 정점, 간선의 개수con = []for i in range(m): a, b = map(int, input().split()) con.append((a,b))# 그래프 세팅, 이차원 리스트로 만들기graph = []for i in range(0, n + 1): graph.append([])for a, b in con: graph[a].append(b) graph[b].append(a) 정답def DFS(graph, start, visited): visited[start]= True # print(start, end=' ') for i in graph[start]: if vi..
DFS와 BFS 그래프그래프 : 복잡하게 연결된 자료 객체 사이의 관계를 효율적으로 표현한 것객체 : 정점관계 : 간선 (= 객체간의 관계)그래프 : 접점과 간선의 집합으로 구성됨 -> A와 B를 연결하는 간선 (A, B)인접 : 간선으로 연결된 두 정점을 인접해 있다고 함차수 : 정점에 연결된 간선의 수경로 : 간선을 따라 갈 수 있는 길을 순서대로 나열한 것연결그래프 : 모든 정점사이에 경로가 존재하는 그래프트리 : 사이클을 가지지 않는 연결 그래프 그래프의 표현 : 인접리스트를 이용한 표현인접리스트 : 각 정점이 인접한 정점 리스트를 갖도록 하는 것 -> [[], [2, 5], [1, 5, 4, 3], [4, 2], [3, 6, 5, 2], [2, 1, 4], [4]]그래프 순회 : 하나의 정점에서 시작하여 그래프..
테스트 코드 작성하기 테스트 작성하는 법테스트하고 싶은 레이어에 가서 cmd + n 을 누른다! H2가 아닌 다른 데이터베이스에 연결하고 싶을 때1. 아래 경로에 설정 파일 만들기  2. 테스트 코드 파일에 어노테이션 2개 추가하기replace = AutoConfigureTestDatabase.Replace.NONESpring Boot가 테스트를 위해 다른 데이터베이스(H2 등)로교체하지 않도록 설정@TestPropertySource(locations = {"classpath:/application-test.properties"})해당 경로의 application.properties를 사용하겠다는 뜻 @AutoConfigureTestDatabase(replace = AutoConfigureTestDatabase.Replace..
JPA와 Transaction JPA자바에서 orm기술 표준으로 사용하는 인터페이스 orm자바 객체와 관계형 db의 데이터를 자동으로 매핑해주는 방법 Hibernate자바 언어를 위한 orm 프레임워크JPA 인터페이스를 구현하고 내부적으로 JDBC API를 사용 Spring Data JPAjpa를 더 쉽고 편하게 사용할 수 있게 도와주는 spring에서 제공되는 모듈jpa를 한 단계 더 추상화 시킨 jparepository 인터페이스 제공entitymaniger는 jpa에서 관리하는 것@transactional은 스프링에서 관리하는 것 Raw JPA  Persistence Context엔티티 객체가 생성, 관리, 소멸 되기까지 데이터베이스와 상호작용하는 모든 과정엔티티를 JPA 영속성 컨텍스트에 영속화(persist) 하게 되면, 이..
Spring Security의 JWT 적용 Spring Security스프링 기반 애플리케이션에 인증과 인가 기능을 제공하는 보안 프레임워크2003년에 나왔음 → 세션 방식으로 이루어져 있음 (JWT가 없던 시기) Spring Security에서 인증을 통과하는 방식SecurityContext : 현재 로그인한 사용자의 정보를 저장하는 객체SecurityContext에 AbstractAuthenticationToken을 set해야 한다로그인을 하면 → SecurityContext 내부에 Authentication 객체가 저장필요할 때 SecurityContext에서 현재 로그인한 사용자의 정보를 꺼낼 수 있음SecurityContextHolder를 통해 SecurityContext에 접근 가능로그아웃하면 SecurityContext가 초기화 Se..
User 데이터 100만건 생성하고 성능 개선하기 100만건 생성 테스트 첫 번째 시도 : NoSuchBeanDefinitionException jpa로 save를 100만건 시도@DataJpaTestclass UserRepositoryTest { @Autowired private UserRepository userRepository; @Test void 유저_데이터를_100만_건_생성() { for (long i = 0L; i  -> NoSuchBeanDefinitionException 발생EntityManager를 찾을 수 없다고 한다 테스트 패키지 하위에 config 파일을 만들고 해결@TestConfiguration // 테스트 환경 전용 설정public class TestQuerydslConfig { @..