본문 바로가기

전체 글

(60)
[ORM] ORM이란? ORM이란? 개요 JAVA의 JPA를 공부하면서, ORM 기술 표준이란 말을 듣고 ORM이 무엇인지에 대해 알아본다. 목차 ORM이란? ORM 등장 이전의 시대 ORM의 장점 ORM의 단점 소개 ORM 이란? ORM이란 Ojbect Relational DataBase의 약자로, 언어 그대로 객체(Object)와 RDB의 테이블을 매핑한다는 의미이다. ORM 등장 이전의 시대 그렇다면 기존 ORM 등장 이전에는 어떤 문제들이 존재하고 있을까? 기존 프로그래밍에서는, 객체는 객체의 클래스를 사용하고 RDB는 테이블을 사용하기 때문에 객체 모델과 RDB 모델 사이의 주된 목적이 맞지 않아 개발을 해야하는 주체의 불일치가 발생하게 되었다. 이때, ORM은 이런 불일치를 해결하기 위해 중간에서 두 객체를 매핑해주..
[JAVA & Spring] JPA란? [JAVA] JPA란? 개요 JPA의 등장배경에 대하여 알아보고, JPA의 특징에 대해 공부한다. 목차 JPA의 등장배경 JPA란? JPA의 특징 소개 1. JPA의 등장배경 실제, JPA 이전에는 개발자가 직접 Query를 작성하였는데 이로 인해 JAVA의 핵심인 객체지향적인 개념이 모호해지게 되었다. 개발자들은 객체에 따른 코드의 설계와 구현이 아닌, SQL에 중점을둔 개발을 하게 되었고 실제 많은 자원이 직접적인 개발보다는 SQL에 들어가게 되었다. 이러한 문제점 및 불편함을 해결하고자 많은 프로그램들이 등장하였고, 여러 진화를 거쳐 객체와 RDB를 매핑해주는 ORM기법이 등장하였고, JAVA 진영에서도 이러한 ORM을 기술 표준으로 하는 JPA가 등장하게 된것이다. 2. JPA란? JPA는 ORM..
[JAVA] Java 함수 orElse vs orElseGet [JAVA] Java Method orElse vs orElseGet 개요 자바 Object 객체의 orElse Method와 orElseGet Method의 차이에 대해 알아본다. 목차 orElse() orElseGet() orElse vs orElseGet 비교예시 주의사항 소개 1. orElse() /** * If a value is present, returns the value, otherwise returns * {@code other}. * * @param other the value to be returned, if no value is present. * May be {@code null}. * @return the value, if present, otherwise {@code othe..
KB 국민은행 최종합격 후기 KB 국민은행 최종합격 후기 개요 2022년 하반기 합격 후 입사한지 4개월이 지난 현 시점, KB 국민은행 IT 직군의 최종합격 후기에 대해 남겨본다. 소개 1. 고민의 과정 지원했던 기업들의 면접에서 떨어지고, 우아한 테크코스의 최종발표와 KB 국민은행의 최종발표만 남겨두고 있었다. 사실, KB 국민은행의 최종발표가 나기전에, 우테코의 최종시험을 정말 잘 봤다고 생각했어서 혼자 설레발을 치며 "둘 다 붙게 되면 어떡하지?" 와 같은 고민의 과정에 있었다. 그리고 마침내 당일, KB 국민은행의 IT 직군에 최종합격하게 되었다. 처음 느꼈던 기분은 정말 얼떨떨했다. 발표 전날만 하여도, 둘 다 합격하게 된다면 우아한 테크코스의 교육을 받아서 판교 IT 개발자의 꿈을 이뤄내겠다고 다짐했었지만, KB 국민은..
[우아한 테크코스] 5기 백엔드(BE) 최종 합격 후기 [우아한 테크코스] 5기 백엔드(BE) 최종 합격 후기 후기 정말 간절하게 원하던 교육프로그램이였다. 작년부터 도전하며, 나에게 부족한 부분들을 많이 채워줄 수 있는 교육이라고 생각되었는데 올해 끝내 BE 파트에 합격해서 정말 기뻤다! 하지만, 아쉽게도 이후의 여정은 함께하지 못하게 될 것 같다. 저번주에 지원한 기업의 합격 소식을 전해들었다. 사실, 우테코 최종 코딩테스트를 보고 합격할 것 같은 느낌을 강하게 받아서, 저번주부터 계속하여 고민하였다. "취업을 선택해, 경력을 쌓고 그 안에서 배울 수 있는 부분들을 배울지 vs 우테코에서 부족하였던 부분들을 채워나아가, 완성도 높은 개발자의 길로 나아갈지"에 대해서 말이다. 결론은 전자이다. 정말 많은 고민을 하였지만, 취업을 선택해 그 안에서 많은 것을..
[우아한 테크코스] 최종 코딩테스트 회고록 [우아한 테크코스] 최종 코딩테스트 회고록 개요 우아한 테크코스 최종 코딩테스트에 참여하며 느꼈던 감정을 회고로 작성해본다. 소개 시작 처음 미션을 받고는, "내가 이걸 할 수 있을까" 하는 생각이 먼저 들었다. 하지만, 주어진 요구사항들을 하나하나 설계해 나아가면서 점점 자신감이 붙었다. 4주 동안 진행한 프리코스에서 얻게 된 방법인 1. 함수 설계 2. 로직 테스트 의 순서를 신경쓰고, 구현한 내용이 헷갈리지 않도록 커밋 메시지를 잘 남김을 일단 목표로 하였다. 이러한 방법으로 프리코스를 진행하고 준비해왔기에, 위와 같이 설계하였을 때 가장 빨리 구현해낼 수 있다고 스스로 믿었다. 그 결과, 처음 원하는 출력 결과를 얻어낼 수 있었다. 위기 하지만, 테스트케이스가 계속해서 실패하였다. 내가 가진 로직..
[우아한 테크코스] 프리코스 4주차 회고록 [우아한 테크코스] 프리코스 4주차 회고록 개요 우아한 테크코스의 프리코스 4주차를 진행하면서 느낀점과 기억하고 싶은 부분을 기록한다. 소개 1. 단위 Test가 가능하도록 함수 구현 작은 기능의 단위로 함수를 나누는거 까지는 어느정도 성공하였다. 하지만, 구현한 함수들이 input() 값을 갖고 있고 void 형이 많아 단위 Test 하기 편하게 구현되지는 못하였다. 이로 인해, 테스트를 하기 위해서 실제 사용되지 않는 테스트만을 위한 함수를 작성하게 되었고, 3주차 피드백에서 이러한 행동들을 지양하였기 때문에, 함수를 다시 작성해야 했다. 이번 4주차 미션을 하면서, 단순히 함수를 작은 기능을 하도록 나누어 구현만 하는 것이 아닌, 실제 테스트가 될 수 있도록 구현해서 에러가 발생하지 않도록 하며 구..
[우아한 테크코스] 프리코스 3주차 회고록 [우아한 테크코스] 프리코스 3주차 회고록 개요 우아한 테크코스의 프리코스 3주차를 진행하면서 느낀점과 기억하고 싶은 부분을 기록한다. 소개 1. Test Case 작성 이 전에는, 관련된 객체를 전부 생성하고 함수가 잘 돌아가는지 각각 테스트 했었다. 하지만 이렇게 코드를 작성하게 되면, 이후에 함수가 커졌을 때 에러가 발생하면 연쇄적으로 수정을 해야하는 불필요한 시간이 발생하였다. 하지만, 이번 미션을 통해 작은 단위의 함수들에 대해 바로 테스트 케이스를 작성해 확인하면서 넘어가보니, 이후에 객체의 크기가 증가하고, 함수들이 종속되어도 오류가 발생하지 않음이 많이 보장됨을 느낄 수 있었다. 이번, Test Case를 작성해보며, 내가 얼마나 비효율적으로 코딩을 하고, Test Case를 작성하는지 깨..