본문 바로가기

dev-log147

Day 21. 봄이 오고 Spring도 왔ㄷㅏ... : ) 어느덧 3주가 지났네요 시간 정말 빠르다. 이번주의 가장 큰 목표는 스프링 부트에 최대한 익숙해지는 것이었다. 나의 공부 스타일대로라면 나는 처음부터 모든걸 완벽하게 알지 못한다. 그래서 그냥 최대한 강의를 많이 보고 익숙해지려고 노력했다 ~ JPA 는 Java Persistence API! 처음엔 이 단어가 명확하게 이해되지 않았지만 JPA는 인터페이스이고 이것을 사용하는 방법은 다양하다라는 것을 이해하고 보니 이제는 알 것 같다. 내가 직접 JPA를 사용하고 싶다면 인터페이스에 명세되어 있는걸 직접 구현해서 사용하거나? ORM 프레임 워크를 사용해서 이용하면 된다. 그러면 JPA 가 알아서 DB와 연결된 모든 일들을 처리해준다. 그렇다고해서 내가 원하는대로 전부 맞춰서 쿼리를 짜주지는 않는다. 그래서.. 2023. 4. 23.
Day 20. 1년만에 자바의 정석 다 봤다 ~~ Yay~~~~ 진짜 스터디의 위력을 느낀 오늘이다. 자바의 정석 책을 구매한지 1년 정도 되는 것 같다. 마치.. 고등학교 1학년때 가지고 있던 수학의 정석처럼, 가지고 있으면 멋있는데 정작 내가 본 부분은 1단원 뿐 ^^.... 역시나, 자바의 정석도 그렇게 되어가던 찰나, 운 좋게 스터디 모임에 합류하게 되었고 한 달만에 1회독을 하였다. 그동안 많이 만났지만 제대로 알지 못해 이해를 전혀 못하던 스트림, 람다식까즤 ~ 1회독을 했다고 해서 전부 다 아는것 절대 아니니 다시 보아야하겠지만, 그래도 이제 적어도 자바의 정석 1번은 본 사람이 되었다. (혼자서는 아직도 못봤을 것.. 팀원분들 정말 감사감사....🫡) 스터디 초반에는 질문에 대한 답을 준비하는 것도, 질문을 내는 것도, 답변을 하는 것도 ! 전부 다 너.. 2023. 4. 22.
Day 19. 벽을 넘어서면 그 벽은 계단이 된다. 어제 기술 매니저님과 면담을 할 때 들었던 Setter의 지양, 스프링 시큐리티에 대해서 조금 더 고민을 해본 날이다. 필수 값으로 들어가야하는 데이터가 requestDto에 의해 넘어오지 않아서 계속 null 값으로 인식했고 오류를 뱉어냈다. 그래서 임시방편으로 생각한 것은 `Setter 사용` 이었다. setter를 사용하면 외부에서 값을 지정해줄 수 있으니 보안상 이슈가 있을 수 있고 보통 지양하는 편이라고 했다. 일단 지금은 과제를 수행하기 위해 "기능"에 초점을 맞춘 상태여서 상관은 없다고 하셨다. 그리고 스프링 시큐리티를 쓰게 되면 자연스럽게 해결될 문제라고도 하셨음. https://mangkyu.tistory.com/76 [SpringBoot] Spring Security란? 대부분의 시스템.. 2023. 4. 21.
Day 18. 과제도 중요하지만 내가 제대로 아는 게 더 중요해 !! 지금은 주특기 주차를 진행하면서 과제를 하나씩 퀘스트처럼 수행중인데, 처음엔 과제 제출이 급해서 해당 코드를 제대로 알지 못하고 일단 과제부터 했다. 다른 사람들이 쭉쭉 치고 올라가는것도 조금 부러웠고.. 괜히 나도 빨리 내야할 것만 같아서.. 그래서 어찌하다보니 3레벨 과제 단계에 왔는데, 음 과연 내가 얼마나 알고 있을지 자꾸 의심이 들었다. 그런 와중에 이번에 만난 페어도 나랑 같은 생각을 하고 계셔서 차라리 한 번 다 훑고 넘어가자! 라는 생각으로 과제보다 공부를 선택했다. 그렇게 하루 공부하고 저녁에 잘 이해하지 못했던 개념들을 서로에게 설명해주며 이해하는 시간을 가졌다. https://mansooonuna.tistory.com/49 API? RESTful API? API? Application.. 2023. 4. 20.
피할 수 없는, JPA JPA가 뭐야? Java Persistence API : 자바 + (없어지지 않고) 지속됨 + API → 자바 ORM 기술에 대한 표준 명세.. 흠, ORM은 또 뭐야? Object Relational Mapping : 객체 + 관계 + 매핑 → 객체가 테이블이 되도록 매핑 시켜주는 것! ORM을 이용하면 SQL Query가 아닌 직관적인 코드로서 데이터를 조작할 수 있음 즉, SELECT * FROM table; 라는 쿼리문을 쓰지 않고 table.findAll() 이라는 메서드를 쓸 수 있게 해준다. 아주 편하지만 쿼리가 복잡해지면 ORM으로 표현하는게 한계가 있다. 그리고 raw query 보다 느리다. 그러니까 위의 이야기를 종합해보면, JPA는 영속성 관리를 위한 인터페이스, 이 기능을 구현해놓.. 2023. 4. 20.
백엔드의 숙명, Database 그리고 Sql 데이터베이스 관련 용어 정리 Database : 데이터의 집합소 DBMS : DataBase Management System , 데이터베이스를 관리하고 운영하는 소프트웨어 RDBMS : Relational DBMS, 관계형 데이터베이스 (종류 : MySQL, Oracle Database ...) JDBC : Java Database Connectivity, 자바 프로그램과 DB가 연결되어 데이터를 주고받도록 해주는 프로그래밍 인터페이스 SQL? Structured Query Language : 구조화된 + 요청(질의) + 언어 DB를 조작하고 관리하고 제어하기 위한 표준언어 종류는 아래와 같다. DDL : define CREATE, ALTER, DROP , TRUNCATE DCL : control GRA.. 2023. 4. 20.
320x100