3월에 작성하는 22년도 회고 22년도 나의 키워드 '결정과 경험' '가족' '건강' 이다. '결정과 경험' 교환학생 도전기 교환학생을 가야겠다고 마음을 먹고, 그나마 학교에서 지원할 수 있는 가장 좋은 학교였던 일리노이 공대를 지원하기 위해서 토플을 보기로 결정. 12/31일날 급하게 토플학원 오전 6시반을 등록하고 1월에는 토플에만 매진했다. 아침 6시 학원을 가려면 5시에는 일어나서 5시 40분 차를 탔어야했는데, 5시 40분에도 사람은 정말 많았다. 결석 지각 없이, 5시 40분에 가서 20분간 단어 외우고, 끝나고 12시까지 스터디를 했다. 토플보는게 너무 비싸서 한번에 끝내야겠다는 생각에 나름 열심히 했다. 1/31일 토플 시험 당일, 긴장한 탓에 아침에 먹은 2잔의 커피가 원흉이 되었고, 리..
Apple Silicon이 적용된 M1 맥북의 경우 oracle database 설치가 불가능하다. M1 맥북 사용자라면, 외부에 Oracle 데이터베이스를 구성하여 사용해야한다. mac os에서는 OracleDB를 바로 사용할 수 없어서 Docker를 통해 이용해야한다. Colima 설치 brew install colima Docker 설치 brew install --cask docker Colima 실행 Colima를 x86_64 환경으로 창을 띄어준다. colima start --memory 4 --arch x86_64 Oracle Database 11gR2 XE (11.2.0.2) 설치 docker search oracle-xe-11g docker pull jaspeen/oracle-xe-11g ..
프록시? Member 엔티티와 Team 엔티티는 @Many(Member)ToOne(Team) 관계에 있다. Member를 조회할때, Team을 항상 조회하게 된다면? - 낭비가 엄청나게 발생한다. 비즈니스 로직에서 필요하지 않은 경우, 항상 Team을 조회해서 가져올 이유는 없다! JPA는 이 낭비를 하지 않기 위해, 지연로딩과 프록시라는 개념으로 해결한다. 지연로딩 JPA에는 em.find()와 em.getReference()라는 메서드가 존재한다. em.find() : DB를 통해서 실제 엔티티 객체 조회 em.getReference() : DB의 조회를 미루는 가짜(프록시) 엔티티 객체를 조회 Member 엔티티 @Entity @Getter @Setter public class Member exte..
BFS / DFS = 그래프 탐색 방법 DFS 임의의 노드에서 다음 분기로 넘어가기전에 해당 분기를 완벽하게 탐색하는 방법 구현방법: Stack, 재귀함수 경로를 탐색할때, 한방향으로 갈 수있을때까지 계속 탐색 - > 더이상 갈 수 없다면, 다른 방향으로 다시 탐색 진행함 BFS 임의의 노드에 인접한 노드를 먼저 탐색하는 방법 가장 가까운 노드 먼저 방문 > > 멀리 떨어져있는 것은 나중에 - 구현방법 : Queue 사용 DFS VS BFS 문제 분류 방법 그래프의 모든 정점을 방문 -> DFS, BFS 사용 경로의 특징을 저장 -> DFS (BFS는 경로의 특징을 가질 수 없다) -> DFS : 한경로상의 노드를 기억하기 때문에 적은 메모리를 사용한다. 최단 거리를 구해야할 때 -> BFS (BFS는 ..