일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 코드업
- 자바
- SQL
- java
- 캡슐화
- CRUD
- HTML
- Python
- git
- 브랜치
- 부스트코스
- html tag
- HashSet
- entity
- DTO
- 에러
- 알고리즘
- 상속
- 프로그래머스
- @NoArgsConstructor
- Codeup
- 파이썬
- github
- @AllArgsConstructor
- 기본생성자
- stringbuffer
- 부트캠프
- @builder
- lv1
- 깃허브
- Today
- Total
목록분류 전체보기 (90)
잉?
JPA를 배우고 CRUD를 적용하면서, 문득 작성해야 하는 코드들에 대해 의문이 들었다. 물론 어렴풋이 이유를 이해하고 있지만, 그 이해가 깊지 않아 이번 기회에 확실히 짚고 넘어가고자 한다.특히, 연관관계 매핑을 설정할 때 영속성 컨텍스트의 중요성을 깨달았다. 단순히 "다대다, 일대다 관계를 맺어줘야 할 것 같다"는 막연한 이유로 매핑을 추가하는 것이 아니라, 불필요한 매핑은 성능 저하를 초래할 수 있음을 인지하고 명확한 필요성을 느낄 때만 매핑을 작성해야 한다는 점을 깨달았다.또한, JPA의 영속성 컨텍스트가 어떻게 동작하는지 흐름을 이미지로 이해하고, 이를 기반으로 @Transactional 어노테이션을 사용하지 않았을 때 어떤 문제가 발생할 수 있는지 알아보자.출처 : 인프런 김영한님의 ‘자바 O..
그동안 알고리즘 문제 풀이 사이트에서 단순히 감으로 문제를 풀곤 했다. 그러나 시간이 지나고 나서야 이러한 방식으로는 실력을 향상할 수 없다는 것을 깨달았다. 이제는 체계적으로 문제를 해결하고자 한다.우선, 코딩 테스트에서 중요한 시간 복잡도와 공간 복잡도를 고려하기 전에, 다양한 알고리즘의 종류를 먼저 이해하고 그런 다음, 문제를 풀고 나서 내가 작성한 풀이의 시간 복잡도를 분석하며 개선점을 찾아가는 방식으로 학습을 진행할 계획이다. 이렇게 체계적인 접근을 통해 깊이 있는 문제 해결 능력을 키우고자 한다.출처 : 리트코드 정렬정렬은 점수, 학번과 같은 항목의 대소 관계에 따라 나열하는 작업이다.즉, 핵심 항목들을 체계적으로 정리하는 과정이다. 안정 정렬정렬 전 동일한 키값에 한해서 정렬 후에도 키값이 ..
API ? - 하나의 약속 - 약속한 방식의 API 요청을 수행하면 정해진 결과를 반환 API(application programming interface) 애플리케이션 프로그래밍 인터페이스, 응용 프로그램 프로그래밍 인터페이스)는 컴퓨터나 컴퓨터 프로그램 사이의 연결이다. 일종의 소프트웨어 인터페이스이며 다른 종류의 소프트웨어에 서비스를 제공한다. 컴퓨터와 인간을 연결시키는 사용자 인터페이스와 반대로, API는 컴퓨터나 소프트웨어를 서로 연결한다. RESTful API ? - api 작동방식에 대한 조건을 부과하는 소프트웨어 아키텍처 - 아키텍처 스타일을 따르는 api를 REST api라고 한다. - REST 아키텍처를 구현하는 웹 서비스를 RESTful 웹 서비스라 한다. 위의 정의만 보면 알듯 말듯..
중고거래에 위한 CRUD를 만드는 와중 희망장소를 어떻게 지정해줘야 할까 고민하다 kakao map api를 적용해 보기로 했다. 처음에는 이걸 그래서 어떻게 사용하라는건데,,, 싶었지만 차근차근 살펴보고, 추가해줘야 할 기능들이있다면 추가해 주고, 삭제해야 할 것들이 있다면 일단 주석처리 해가며 진행했다. 그리고 웬만한 이벤트들을 카카오에서 다 제공해 주기 때문에 손쉽게 좌표를 가져올 수 있었다. 키 생성하는 것은 다른 블로그에서 흔하게 볼 수 있으니깐 생략(https://webty.tistory.com/95) 우선 개떡같이 주소를 작성해도 찰떡같이 가져오는 것을 원했다. 그래서 다음 우편번호 서비스를 이용해서 가져올까 했지만 정확한 도로명 주소가 아니면 해당좌표나 주소를 가져오지 못했기에 패스. 그다..
프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr첫 번째 풀이 - [19.56ms - 28.69ms]Calendar 인스턴스 생성set()을 이용하여 구하고자 하는 년, 월, 일 입력getDisplayName로 요일을 텍스트로 리턴두 번째 풀이 - [0.02ms - 0.07ms]dat배열에 요일, date배열에 달의 수를 입력구하고자 하는 요일까지 더한 후 7일로 나눈 나머지 리턴첫 번째 풀이 코드public String solution(int a, int b) { // Calendar 인스턴스 생성 Calendar calendar = Calendar..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 첫 번째 풀이 점수 합계를 담을 answer []를 만들어 준다. photo의 길이 만큼 for문을 돌린다. photo [i]의 길이만큼 for문을 돌린다. name의 배열과 photo의[][j]값이 같다면 합계에 점수 추가. 두 번째 풀이 점수 합계를 담을 answer[]를 만들어 준다. HashMap을 사용하여 key, value를 지정해 준다. for문을 통해 HashMap에 값을 넣어준다. photo의 길이만큼 for문을 돌린다. photo[i]의 값들을 하나씩 반환하여 사진 속 인물과 비교한다. 만약..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 로직 빈병 n개 % 줘야 할 빈병 a 빈병 n개 / 줘야할 빈병 a * 돌려주는 병 b 빈병 n개 = 1번 + 2번 만약 빈병(n) < 줘야 할 빈병(a)? break 실패한 풀이 public int solution(int a, int b, int n) { int answer = 0; while(true){ if(n < a) break; answer += division(a, n); n = division(a, n) + rest(a, n); } return answer; } public int divis..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 첫 번째 풀이 food의 index값이 1, 짝수, 홀수 일 때를 나눠서 비교한다. 해당 조건에 적합하면 Integer.toString을 통해 int형을 String형으로 변경해 주고 값을 넣어준다. 위의 answer값을 for문을 통해 내림차순으로 값을 넣어준다. 두번째 풀이 StringBuilder를 선언한다. 이중 for문을 통해 해당 값을 builder에 추가해 준다. reverse() 메서드를 통해 반대되는 순서도 추가해 준다. 실패 풀이 코드 public String solution(int[] fo..