일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 구름톤 트레이닝
- 공부하기 싫어 #그래도 해야해
- 동적 계획법
- 지연로딩
- 공부 기록
- 1931번
- 코드트리
- 구름톤 챌린지
- 최장 공통 부분수열
- 코드트리 챌린지
- Today I Learned
- 완전탐색
- 회의실 배정
- 멀록 조명등
- 행복한 수열의 개수
- 금 채굴하기
- 즉시로딩
- 코딩테스트
- IT 좀 아는 사람
- 1005 #ACM craft #백준
- 백준 #1010 #다리놓기
- 코딩테스트실력진단
- eager
- til
- 백준
- TagLibraryValidator
- JPA
- @EntityGraph
- 구름톤
- spring
- Today
- Total
목록전체 글 (39)
화분
(그림과 작동 원리로 쉽게 이해하는) AWS 구조와 서비스지은이 : 우에노 후미아키 외 3인옮긴이 : 양현, 김민호 읽게 된 계기스프링 프레임워크를 공부하며 본격적으로 백엔드 개발자가 되기 위해 공부하던 중 AWS에 자연스레 관심이 생겨 관련 서적을 구매하게 되었습니다. 당시에는 당장 읽을 필요가 없다고 생각해 다시 덮어두었으나, 최근 흥미를 되찾고 다시 공부를 시작하면서 자연스럽게 이 책에 관심이 갔습니다. AWS의 서비스는 200여 개가 넘을 만큼 다양하고 방대합니다. 처음 AWS 홈페이지에 들어가 출시된 서비스들을 확인하면 어떤 서비스가 존재하는지, 나에게 필요한 서비스가 무엇인지 감을 잡기 어렵습니다. 그래서 지금까지는 EC2나 S3와 같은 서버를 개발하는 데 주로 사용되는 서비스만 알고 지냈습니..
멀티스레딩을 공부하면서 스레드에 대한 코어 할당과 스레드의 yield() 메서드에 대한 궁금증이 생겨서 직접 여러가지 코드를 작성해보고 Gemini를 통해 알아낸 것들을 정리하고자 글을 썼다. 우선 yield()를 공부하기 위해 '이것이 자바다(개정판)'의 멀티스레드 파트에 적힌 예시 코드와 이것에 궁금한 점들을 해결하고자 추가적인 코드를 작성해가며 실험해보았다. 먼저 yield() 란? CPU 코어를 할당 받아 작업을 처리하던 스레드가 일을 안할때 해당 CPU 코어, 즉 코어를 할당 받은 커널 스레드를 다른 프로세스 내 스레드에게 양보하여 CPU의 효율을 끌어올리기 위한 메서드라고 생각하면 된다. WorkThread.java : Thread를 상속 받은 WorkThread 이다. 아래와 같이 if문의 ..
@EntityGraph 를 사용하게 된 이유 우선 다음과 같은 목적으로 쿼리를 짜는 과정에서 다양한 고민을 하였다. Team 엔터티와 Team에 지원하는 다수의 Appicant 엔터티가 존재한다. Team 엔터티와 Applicant 관련 연관관계 매핑시 Loading Strategy은 FetchType.LAZY로 설정하였다. 커서 페이징 방식으로 10개의 Team엔터티(게시글에 해당)를 거기에 속한 Applicant엔터티들과 함께 꺼내오려 한다. 최근 등록일자를 기준으로 내림차순으로 쿼리를 짜려한다. 위와 같은 문제를 해결하기 위해 쿼리를 짜기 전에 JpaRepository를 상속받아서 메서드명을 통해 데이터베이스에서 원하는 데이터를 꺼내오려 했다. @Repository public interface M..
WebSocketHandler란? 웹소켓 메시지와 수명 주기 이벤트를 위한 핸들러입니다. 이 인터페이스의 구현은 예외를 로컬에서 처리하는 것이 좋습니다. 예외를 로컬에서 처리하는 것이 좋으며, 그렇지 않은 경우 기본적으로 예외를 버블 처리합니다. 예외가 기록되고 세션이 다음과 같이 닫힙니다. SERVER_ERROR(1011) 전략은 다음과 같이 제공됩니다. ExceptionWebSocketHandlerDecorator ExceptionWebSocketHandlerDecorator에 의해 제공되며, 사용자 정의하거나 다음을 장식하여 대체할 수 있습니다. 다른 데코레이터로 웹소켓 핸들러를 장식하여 사용자 정의하거나 대체할 수 있습니다. public interface WebSocketHandler { /** ..
problem: 상위 댓글 객체를 저장하는 변수에 @JoinColumn 설정 시 기본키인 id를 지정해줄 때 오류가 발생하였다. solve: @JoinColumn을 아래와 같이 수정하고 다시 서버를 실행시켰더니 정상적으로 테이블을 생성하고 동작하였다. @JoinColumn(name = "parent_comment_id", referencedColumnName = "comment_id", columnDefinition = "bigint default null", insertable = false, updatable = false, foreignKey = @ForeignKey(name = "fk_parent_comment_id"))
문제 : java 17 버전을 사용하는데 gradle 5.x대 버전은 호환이 안된다는 IntelliJ의 경고 메세지가 떴다. 해결 : Compatibility Matrix (gradle.org) 에 들어가서 각 버전에 맞는 gradle 버전을 확인한 후 업데이트 하면 된다. 업데이트 하는 방법은... 1.터미널 창에서 ./gradlew wrapper --gradle-version 7.5(자신에게 맞는 버전)을 입력해서 업그레이드 하거나 2.gradle -> wrapper -> gradle-wrapper.properties 에서 distributionUrl 에 적힌 버전을 정정해준다.
문제점 : application.properties 를 다음과 같이 설정하고 build.gradle에 MySQL 의존성을 추가하는 것까지 완료하였으나 'chek'이란 데이터베이스가 존재하지 않는다는 오류가 발생한다. 해결 : MySQL에서 스키마를 생성해줘야 한다. 위의 'New Model'을 클릭해서 DB source URL 끝에 적은 데이터베이스 이름('chek')을 가진 스키마를 생성해주면 정상적으로 작동한다.
2448번: 별 찍기 - 11 (acmicpc.net) 2448번: 별 찍기 - 11 첫째 줄에 N이 주어진다. N은 항상 3×2k 수이다. (3, 6, 12, 24, 48, ...) (0 ≤ k ≤ 10, k는 정수) www.acmicpc.net 이 문제는 유명한 별찍기 문제의 심화버전 중 하나이다. 수학적인 규칙이 존재하고 그걸 발견해서 구현하면 됐지만, 나 같은 경우 클래스를 활용해서 풀고 싶어졌다. 그래서 아래와 같은 코드를 짜고 설마 돌아가진 않겠지? 생각하며 돌렸는데... import java.util.*; import java.io.*; public class Main{ public static void main(String[] args) throws IOException{ Scanner s..