- Today
- Yesterday
- Total
목록Java (62)
메이쁘
안녕하세요? 개인적으로 코틀린 문법 공부하다가 contract에 대해 알게 되었고, 샘플 코드를 작성해가면서 이해하고 있었습니다. 그러던 중, 샘플 코드가 제대로 동작하지 않아서 원인을 찾던 중 좀 다르게 이해하고 있었습니다.. 그래서, 혹시나 까먹지 않고 나중에 다시 사용할 때 기억하기 위해 간단하게라도 포스팅하게 되었습니다! (다른 블로그 게시글을 참고하면서 공부했습니다.) 0. Contract 란? 우선, contract에 대한 정의와 사용 목적에 대해 간단히 작성하겠습니다. ------------------------------------------------------------------------------------------------------------------------------..
안녕하세요? 보통 java persistence framework로 ORM방식인 JPA를 많이들 사용하시는데요. 현재 프로젝트에서는 SQL Mapper 방식인 mybatis로 DB연동을 합니다. API 개발 도중, insert한 후, insert할 때 사용했던 PK값을 가지고 와서 이 PK와 연계된 테이블에 FK로 값을 insert하는 그런 로직을 만들어야 했습니다. 이를 위해 insert 후 해당 값을 다시 select해서 PK값을 가져오는건 비효율적이라고 생각했습니다. 다른 방법이 있지 않을까 찾다가, insert 후 결과로 특정 값을 select 해서 받아올 수 있는 방법을 찾게 되서 적용시켰는데요. 바로, selectKey 입니다. 핵심만 말씀드리면, 방식으로 xml에 쿼리를 만들어두면, sele..
안녕하세요. CS관련 질문과 면접에 맞는 답변을 작성하면서 지식도 쌓고 면접도 대비하는 시간을 가지려고 합니다. 틈틈히 게시글을 작성하며 면접 대비 데이터셋을 확보해둔 다음 언젠간 면접하게 될 때 모아서 쓰려고 합니다. (실제로 면접에서 들었던 질문이 아니라, 제가 스스로 답을 정해놓고 짜논 질문이라 이렇게 안나올 수 있습니다!!!) 이번 글은 Spring 카테고리 입니다. -- 질문 목록 Q1. find 시 transaction에 readonly 속성을 준 이유가 있을까요? (=@Transactional 어노테이션에 readOnly 속성을 부여한 이유?) Q2. EntityManager가 무엇이고, JPA에서는 어떻게 사용하나요? Q3. 영속성 컨테스트(Persistence Context)가 무엇이고,..
안녕하세요? Spring Boot와 Java를 이용해서 쉽고 간단하게 구글 로그인하는 API를 구현해봤습니다. 여러 블로그 및 공식 문서를 참고했습니다. https://developers.google.com/identity/protocols/oauth2/web-server 웹 서버 애플리케이션에 OAuth 2.0 사용 | Google ID 플랫폼 | Google Developers 이 페이지는 Cloud Translation API를 통해 번역되었습니다. Switch to English 웹 서버 애플리케이션에 OAuth 2.0 사용 이 문서에서는 웹 서버 애플리케이션이 Google API 클라이언트 라이브러리 또는 Google OAuth developers.google.com https://develop..
안녕하세요? 개발 도중 발생했던 트러블 슈팅에 대해 원인을 찾고자 끝까지 팠던 경험을 기록하고 왜 저 에러가 발생했는지, 어떻게 해결했는지 정리하려고 합니다. 0. 시작 - RestTemplate Class를 활용해 API 통신하려고 postForEntity() 함수 호출 시 에러 발생 ** RestTemplate? Spring 3.0 부터 지원, 스프링이 제공하는 HTTP 통신에 유용하게 사용 할 수 있는 템플릿이며, HTTP 서버와의 통신을 단순화하고 RESTful 원칙을 지키고 있다. RestTemplate는 Spring에서 제공하고 있는 JdbcTemplate같은 Template로, RESTful Service 호출과 응답에 관련된 여러 메소드를 제공하고, REST 클라이언트를 쉽게 개발할 수 있..
안녕하세요. 최근에 이클립스 대신 인텔리제이를 사용하게 되면서 기존에 사용하는 톰캣 서버 설치 및 플젝 연동방식과 달라 새롭게 여러 블로그 포스팅을 참고하며 진행했었습니다. 정리하고자 작성하게 되었습니다. 간단명료하게 진행해보겠습니다. -> Windows 10 -> IntelliJ IDEA 2021.3 1. Tomcat 다운로드 https://tomcat.apache.org/ Apache Tomcat® - Welcome! The Apache Tomcat® software is an open source implementation of the Jakarta Servlet, Jakarta Server Pages, Jakarta Expression Language, Jakarta WebSocket, Jakar..
https://github.com/201402407/JAVA_LOGIC_TUTORIAL GitHub - 201402407/JAVA_LOGIC_TUTORIAL: 자바의 기본기를 다지는 코딩 가이드 및 자바 튜토리얼 자바의 기본기를 다지는 코딩 가이드 및 자바 튜토리얼. Contribute to 201402407/JAVA_LOGIC_TUTORIAL development by creating an account on GitHub. github.com -> 자바의 기본기를 담은 자바 튜토리얼(또는 가이드) (Java 17) [QUESTION 1] Optional 클래스란? (Java 8) [ANSWER] 가장 큰 이유는 NPE(NullPointerException)을 방지하기 위해 사용하는 클래스. null이 ..
https://github.com/201402407/JAVA_LOGIC_TUTORIAL GitHub - 201402407/JAVA_LOGIC_TUTORIAL: 자바의 기본기를 다지는 코딩 가이드 및 자바 튜토리얼 자바의 기본기를 다지는 코딩 가이드 및 자바 튜토리얼. Contribute to 201402407/JAVA_LOGIC_TUTORIAL development by creating an account on GitHub. github.com -> 자바의 기본기를 담은 자바 튜토리얼(또는 가이드) (Java 17) [QUESTION 1] ThreadLocal이란? [ANSWER] 일종의 쓰레드 지역변수. 오직 하나의 쓰레드에 의해 읽고 쓸 수 있는 변수로서, 다른 각각의 쓰레드가 하나의 ThreadLo..
https://www.acmicpc.net/problem/21317 21317번: 징검다리 건너기 산삼을 얻기 위해 필요한 영재의 최소 에너지를 출력한다. www.acmicpc.net 안녕하세요. 이 문제는 간단합니다. DFS를 사용하여 1) 작은 점프(1칸 이동) 2) 큰 점프(2칸 이동) 3) 매우 큰 점프(3칸 이동) -> 1번만 사용 가능 각각의 경우에 DFS로 재귀호출하면 됩니다. 그래서 각 돌에서 작은점프, 큰점프하는 데 드는 에너지를 2차원 배열[n][2]로 저장해두고 (0: 작은점프 / 1: 큰점프) DP 2차원배열[n][2]을 별도로 만들어 해당 돌에 도착했을 때의 에너지 최소 값을 저장해둡니다. (0: K점프 안한경우 / 1: K점프 한경우) DP 초기값(0)인 경우만 구분해서 잘 넣어..
https://www.acmicpc.net/problem/19949 19949번: 영재의 시험 컴퓨터공학과 학생인 영재는 이번 학기에 알고리즘 수업을 수강한다. 평소에 자신의 실력을 맹신한 영재는 시험 전날까지 공부를 하지 않았다. 당연하게도 문제를 하나도 풀지 못하였지만 다행 www.acmicpc.net 안녕하세요 이 문제는 실버3 문제입니다. 총 5^10 경우의 수가 존재하기 때문에, 시간제한인 1초 내에 가능하므로 백트래킹을 활용했습니다. 이 때, 문제에서 적혀있듯이 i번째 문제 정답을 적을 때, i-1번째와 i-2번째 적었던 정답이 같으면 i번째 정답은 절대 i-1번째 정답과 같으면 안됩니다. 이를 위해 i >=2 인 경우, i-1, i-2번째 정답을 확인하고 같을 때 해당 정답을 제외하고 백트래..