일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- CPU스케줄링
- 2178
- 산업은행청년인턴
- 파이널프로젝트
- 컴퓨터구조
- BFS
- flyway
- 프로그래머스
- 해시
- 그래프탐색
- fatch
- 구현
- 트리맵
- 프로젝트
- 코테
- SpringBatch
- JPA
- 스케일아웃
- 폰켓몬
- DB replication
- 백준
- Spring JPA
- 외래키제약조건위반
- springboot
- 트리셋
- 임베디드타입
- 산업은행it
- 운영체제
- CS
- findById
- Today
- Total
목록전체 글 (66)
나 JAVA 봐라
https://www.acmicpc.net/problem/2178 2178번: 미로 탐색 첫째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 M개의 정수로 미로가 주어진다. 각각의 수들은 붙어서 입력으로 주어진다. www.acmicpc.net 접근 방식 미로를 최소의 칸을 지나서 이동해야한다. -> 경로를 탐색하기 위해 dfs/bfs를 사용해야하는데 조건 중 '최소'가 있다. dfs를 사용할 경우 모든 경로를 다 탐색하기 때문에 시간 초과가 날 수 있을 것이라 생각하고 bfs를 사용하기로 했다. bfs 이기 때문에 queue를 사용했다. 미로의 상하좌우를 탐색하기 위한 x,y 배열을 생성한 후, 각 배열을 반복하여 더해줬을 때 다음 위치가 유효한지 확인하여 탐색할 수..

https://yejin-code.tistory.com/13 [AWS RDS] Multi-AZ, Read Replica 프로젝트를 aws를 통해 배포하기로 했다. 그에 따라 DB도 RDS를 사용하기로 했는데, 이 후 Replication, Auto scale까지 고려하다보니 따져봐야할 것들이 많아졌다. 그렇다고 무턱대고 생성하기에는.. 추 yejin-code.tistory.com (AWS에서 제공하는 RDS, Read Replica, DB replication에 대한 내용은 위의 링크를 참고해주세요!) 사전 작업으로 AWS RDS로 mysql를 띄운 후, read replica를 생성했다. read/write 요청에 따른 분산 처리를 어떻게 할까 고민하면서 aws 서비스를 사용해보려 했지만 여러 이슈로 ..

BFS (Breadth Fisrt Search) 너비 우선 탐색 이라고 부른다. 가까운 노드부터 우선적으로 탐색하기 때문에 넓게 탐색해서 너비 우선 탐색이다. Queue 자료구조를 사용하여 구현할 수 있다. 탐색 방식 루트 노드 (혹은 다른 임의의 노드) 에서 시작하여 인접한 노드를 먼저 탐색한다. 사용하는 경우: 두 노드 사이의 최단 경로 혹은 임의의 경로를 찾고 싶을 때 이 방법을 선택한다. ex) 미로 탐색 (최단 거리) 특징 시작 정점으로부터 거리가 가까운 정점의 순서로 탐색한다. (거리 1 탐색 후, 2,3,4 순서로 탐색) 그래프 탐색의 경우, 어떤 노드를 방문했었는지의 여부를 반드시 검사해야한다. 그래서 노드를 큐에 담을 때에는 꼭 방문처리를 한 후에 담는다. 방문 여부를 체크하지 않으면 무..

전공 수업 때, CS를 분명히 공부했음에도 실제로 어떻게 적용되며 어떻게 각 계층이 이어지는 것인지에 대해 유기적으로 이해하지 못했었다. 이번에 강의를 듣고 정리하는 과정을 통해 확실하게 내 지식으로 가져가보고자 한다 ! 강의는 패스트캠퍼스의 '현실 세상의 컴퓨터공학 지식 with 30가지 시나리오' 를 수강했다. https://fastcampus.co.kr/dev_online_newcomputer 현실 세상의 컴퓨터공학 지식 with 30가지 실무 시나리오 초격차 패키지 Online. | 패스트캠퍼스 국내유일, 77시간 분량의 개발자를 위한 한 번에 끝내는 컴퓨터공학 (CS 지식) 강의를 확인하세요. 자료구조,알고리즘부터 디자인패턴, 클린코드까지 ! CS지식의 이론~실습뿐 아니라, 실제 실무에 fast..

현재 프로젝트에서 Flyway로 데이터베이스 스키마 생성, 변경을 하고 이 후 CRUD 작업은 Spring JPA로 하고 있다. 그러던 중 각 방식에서 연관관계를 맺는 방식에 차이가 있는 것을 보고 정리해본다. Spring JPA 란? Spring JPA(Java Persistence API)는 자바 ORM(Object-Relational Mapping) 표준으로, 객체와 데이터베이스 테이블 간의 매핑을 쉽게 처리할 수 있게 도와준다. 스프링 JPA는 기본적으로 JPA를 사용하면서 스프링에서 제공하는 추가적인 기능을 사용할 수 있게 한다. Spring JPA 주요 특징 개발 편의성 향상 : Spring JPA는 개발자가 직접 SQL 쿼리를 작성하는 대신, 메소드 이름만으로 데이터베이스의 CRUD 연산을 ..
프로젝트를 aws를 통해 배포하기로 했다. 그에 따라 DB도 RDS를 사용하기로 했는데, 이 후 Replication, Auto scale까지 고려하다보니 따져봐야할 것들이 많아졌다. 그렇다고 무턱대고 생성하기에는.. 추후 배포 후 운영 단계에서 많이 힘들어질 것 같았다. 그래서 프로젝트 운영 시 필요한 기능들을 따지다보니 AWS 서비스에 대해 하나씩 공부하게 되었다. AWS.. 공부할수록 없는게 없어서 왜 비싼지는 알 것 같고, 동시에 잘 써먹으려면 CS 지식을 바탕으로 AWS 서비스도 잘 공부해야겠다는 필요성을 느꼈다... ㅠ 현재 진행형으로 계속 공부 중인데, 공부한 것들이 머리에서 휘발되기 전에 어떤 서비스들을 어떤 이유로 찾아보게 되었는지 순서대로 정리해보려고 한다! 처음에는 단순히 DB rep..
Service에서 reviewReaction 엔티티를 DB에 저장하는 메소드를 아래와 같이 작성했다. reviewReaction 엔티티는 review, user 엔티티를 참조하고 있기 때문에 revieReaction 엔티티 생성 시에 참조하고 있는 값이 DB에 존재하지 않으면 java.sql.SQLIntegrityConstraintViolationException을 던진다. 해당 연관관계는 sql 스크립트로 FK를 맺어주고 엔티티에는 JPA 연관관계를 따로 명시하지 않고 있다. 따라서 위의 Exception은 데이터베이스에서 던지는 에러이며, SQL 실행 중 무결성 제약 조건이 위반되었을 때 발생한다. @Transactional public void createReviewReaction(ReviewRea..
https://yejin-code.tistory.com/10 Embeddable Type review 엔티티에 이어, review에 대한 반응을 남기는 기능을 구현하기 위해 Embedded Type에 대해 알아보게 되었다. review 반응을 저장하기 위한 review_reaction DB를 새로 구상해보았더니 필드를 아래와 같 yejin-code.tistory.com (Embedded Type에 대한 포스팅은 위의 링크를 참고하세요!) Embedded PK 엔티티에 대한 Dto를 생성하지 않았다. 그래서 컨트롤러에서 Dto 대신 엔티티를 import 하게 되었다. Embedded PK에 한해서만 컨트롤러에서 엔티티를 import 하는 것이 기존의 방식과 어떻게 다른지 정리했다. PK에 대한 Dto를 생..
review 엔티티에 이어, review에 대한 반응을 남기는 기능을 구현하기 위해 Embedded Type에 대해 알아보게 되었다. review 반응을 저장하기 위한 review_reaction DB를 새로 구상해보았더니 필드를 아래와 같이 구성해야한다. reviewReactionPK(ReviewReactionPK) : reviewId와 userId를 갖는 Embedded PK reviewReaction(int) : 어떤 반응을 남겼는지를 나타내는 int (반응은 1부터 5까지 있다. ) Embedded Type이란, 여러 개의 컬럼을 하나의 객체로 묶어서 사용하는 것을 의미하며, 이 객체를 엔티티의 일부로 사용할 수 있다. @Embeddable : JPA에서 임베디드 타입을 정의하는데 사용되는 어노테..
프로젝트 진행 중, 예상치 못한 에러로 인해 시간이 지체 되었다... ㅠ @Entity(name = "review") public class Review extends AuditingField { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "id", nullable = false) private Long id; @ManyToOne(optional = false) @JoinColumn(name = "user_id", nullable = false) private User user; @ManyToOne(optional = false) @JoinColumn(name = "gym_id", nullable = false) priv..