공부공부
-
[intelij] org.junit.After가 다운로드 되지 않을때공부공부 2022. 8. 11. 21:49
테스트 코드를 작성하다가 @After가 import 되지 않는 현상이 있었다. junit5 -> junit4로 변경하는 시도를 했지만 여전히 되지 않아서 다른 방법을 찾아야 했다. build.gradle에 testImplementation 'junit:junit:4.12' 를 추가해주니 org.junit.After가 잘 import된다! 라고 생각했으나 class를 제대로 못찾아서 다시 구글링했다. Files > setting > build, excution, deployment > gradle에서 아래와 같이 설정한다. 다시 돌려보니 이번엔 h2 database를 못찾아서 application,.properties 파일에 h2연결을 위한 설정을 추가했다. spring.datasource.driver-c..
-
2022.08.09 스프링에 대해 새롭게 알게된 사실공부공부 2022. 8. 9. 23:20
1. 스프링 비즈니스 로직은 반드시 service에서 처리하는 것? -> 아님. Domain에서 처리해줘야 함 -> service에서 처리하는 방식을 트랜잭션 스크립트라 하는데, 객체지향이라기 보다는 단순히 데이터를 요리조리 가공하는 것 처럼 보인다. 대신 Domain에서 처리하는 방식을 적용하면 service는 트랜잭션과 도메인 간의 순서만 보장해주는 역할을 수행한다. 2. Service에서 Bean을 주입하는 방식 중 (@Autowired, setter, 생성자) 생성자 방식을 제일 선호한다. 그럼 이 생성자는 어디있느냐? @RequiredArgsConstructor 에 존재한다.
-
Invocation of init method failed; nested exception is java.lang.IllegalStateException: Ambiguous mapping공부공부 2022. 8. 8. 00:13
test 코드를 작성하다가 Invocation of init method failed; nested exception is java.lang.IllegalStateException: Ambiguous mapping 에러를 만났다. HelloController에서 문제가 있다길래 역시나 매핑된 url이 test코드에 작성한 것과 달랐다. ctrl+d한다고 잊지말고 통일해주자!
-
error: invalid source release:17공부공부 2022. 8. 7. 23:43
스프링부트와 AWS로 혼자 구현하는 웹 서비스 책으로 공부중에 테스트 코드를 작성하다가. error: invalid source release:17라는 에러를 만났다. settings > build, excution, deployment > compiler > java compiler의 bytecode 버전과 project structure > project settings > project, modules에서 language level이 동일함에도 발생했다. gradle 설정이 일치하지 않은가 해서 build.gradle을 보니 sourceCompatibility가 17로 되어있었다. 11로 변경하고 gradle 업데이트 후 다시 돌려보니 문제없이 작동했다.
-
2022.08.02의 공부 : 그래프공부공부 2022. 8. 2. 23:33
1. 에지 리스트 출발노드 - 도착노드 저장하여 에지를 표현(가중치가 들어가기도 한다!) 출발노드, 도착노드만 이끈 경우에는 배열의 행이 2개만 존재한다. - 벨만포드나 크루스칼 알고리즘에 사용한다고 함 벨만-포드 알고리즘 : 한 노드에서 다른 노드까지의 최단 거리를 구하는 알고리즘 -> 간선의 가중치가 음수일 때도 최단 거리를 구할 수 있음 **다익스트라와의 차이 - 다익스트라는 매번, 방문하지 않은 노드 중에서 최단 거리가 가장 짧은 노드를 선택 - 다익스트라는 시간 복잡도가 빠르다는 장점이 있음(우선순위 큐 사용) - 대신 벨만-포드 알고리즘의 경우에는 매번, 모든 간선을 전부 확인해서 음수 간선이 존재하는 경우에도 cost를 계산에 넣기 때문에 실질적인 최단거리를 찾는다. **결론 : 모든 간선의..
-
유튜브_엘리님이 알려주신 성장하는 공부방법공부공부 2022. 8. 2. 22:41
원본영상 : https://www.youtube.com/watch?v=DmK7d0xB2j0 1. 문제가 발생했을 시, 다음은 오지 않는다. '이번만, 다음에!' 하지 않기 2. 깨어있기 (사고하기) - 의식을 깨우자! 사고하고 공부하고 일하자 - 궁극적인 목표가 뭐지? - 왜 하는거지?? - 왜 이렇게 되는거지? - 불편하네, 비효율적이네 어떻게 개선할 수 있을까? - 내가 여기서 부족하구나 어떻게 개성할 수 있을까? - 내가 지금 뭘하는지, 뭘 복사해서 붙여 넣은 건지 이해함 - 왜 이 라이브러리를 사용해야 하는가? - 업무에 반복적으로 나타나면 하나씩 배워나간다 : 3의 법칙(3번째에도 나오면 그땐 정말 조져야 할때) 3. 메모하기 : 내가 필요한 지식들 정리하기 4. 우선순위 정하기 : T자로 공략..
-
TCP/IP공부공부 2022. 6. 27. 21:41
1. TCP는 header와 data로 이루어져있다. 2. tcp 통신은 http와는 다르게 3 way handshake를 수행하는데, 통신하면서 handshake로 연결하므오 연결성 통신이다. (반면, http는 웹페이지와 같이 단순한 리소스를 출력하기에 단방향 통신이다.) 3. ip-port 쌍 2개로 통신을 하므로 end-to-end 통신 tcp header에는 data offset이 존재하여 데이터의 시작점을 나타내는 인자가 존재한다. 이게 왜 있어야 하냐면, UDP 통신과는 다르게 데이터를 나눠서 보낼 때 순서가 보장되어야 하므로 각 바이트 뭉치에 seq 넘버를 붙인다. 이 offset를 통해 데이터를 표시하고 순서대로 정렬한다.
-