전체 글 188

Day.30 JPA 그리고 영속성 컨텍스트

JPA 2022.12.09 - [스프링/JPA] - What is JPA(Java Persistence API)? 영속성 컨텍스트 2022.12.09 - [스프링/JPA] - JPA - 영속성 컨텍스트 심화 강의 첫 내용이 JPA와 영속성 컨텍스트였다. 과거에 네이버에서 개인 블로그를 운영할 때, 정리했던 내용들이기도 했고 공부를 했었는데 기억이 가물가물해서 다시 공부할 겸, 추가적으로 강의와 notion을 보며 정리하며 내 지식으로 만들었다. 과거에 JPA를 공부할 때, 그냥 그냥 그냥 이라는 느낌이었다면 오늘 다시 공부할 때는, 안 보이던 내용들이 보이기 시작했고, 아 ~ 이래서 아 ~ 이래서 ~~ 라는 느낌으로 바뀌었다. 확실히 과거랑 현재랑 획득하는 경험치가 다름을 느낀다.

JPA - 영속성 컨텍스트 (2022.12.11 추가)

전에 JPA가 무엇인지 간략하게 짚고 넘어갔고, 이번엔 왜 JPA가 중요한지에 대해 짚고 넘어가고자 한다. JPA가 부여받은 임무는 다음과 같다. 객체와 관계형 데이터베이스 매핑하기(Object Relational Mapping) 영속성 컨텍스트 객체와 RDB를 Mapping? 영속성 컨텍스트? 대체 이 것들이 무엇일까? 왜 JPA에서 이 두가지가 중요한지 궁금증이 생길 것이다. 우선 영속성 컨텍스트에 대해 짚고 넘어가야 한다. 1. 영속성 컨텍스트란 무엇인가? 2. Entity 생명 주기 3. 영속성 컨텍스트의 장점이자 이점 1. 영속성 컨텍스트? 영속성 컨텍스트는 애플리케이션과 데이터베이스 사이에 데이터를 보관하는 논리적 개념인데, 쉽게 설명하면 "엔티티를 영구 저장하는 환경" 이라는 뜻..

스프링/JPA 2022.12.09

What is JPA(Java Persistence API)?

if(백엔드 개발자를 희망하는 사람 中) if(Spring Framework를 사용하는 사람이라면) known JPA 웃고자 대충 만들었다. 그 정도로 Spring을 사용해본 경험이 있으면 JPA를 모를수가없다. 오늘은 이 JPA와 관련해 이야기를 나눠보려고 한다. 이 글은 인프런-김영한 자바 ORM 표준 JPA 프로그래밍을 참고한 내용입니다. 우리는 Spring JPA를 사용하면서 이 JPA가 무엇인지, 왜 사용하는지를 여러 번 고민해본 적이 있을 것이다. JPA는 그냥 어마무시한 놈이다 이 JPA를 사용하는 이유는 바로 이 것이다 객체와 관계형데이터베이스(RDB)간의 패러다임의 불일치를 해결 - 목차 - 1. JPA란? 2. JPA를 왜 사용해야 하나? 3. JPA의 동작과정 1. JPA란? JPA(..

스프링/JPA 2022.12.09

Day.29 궁금한 점 질문, 그리고 이유 있는 코드

오늘 궁금했던 점을 직접 찾아보고, 읽어보고 정리해야겠다는 내용의 게시글을 찾아서 정리하고, 지식 곡간을 채워넣었다. 좋은 커밋 message 2022.12.08 - [기술면접 관련 및 참고하기] - 왜 Git의 Commit message는 중요할까?, 좋은 커밋 메시지란? 웹 애플리케이션 2022.12.08 - [기술면접 관련 및 참고하기] - 웹 애플리케이션의 이해 금일 피드백 내용은 다음과 같았다. 코드를 작성할 때, 계속 사용자 관점에서 바라보아서 로직을 구현할때도 그 관점이 그대로 반영되었다. 그래서 일까 여러 궁금증들이 생겼고, 이 궁금증들을 바탕으로 튜터님께 질문을 했다. 거기에서 나온 return은 다음과 같았다 " Backend 입장에서 생각할 것 " 우선 계속 UI관점에서 생각하지 말 ..

웹 애플리케이션의 이해

웹서버? 웹 애플리케이션 서버? was 한 개만으로 운영을 하다보면 서버의 과부하의 우려 그래서 오류 발생 시 오류 화면도 노출이 불가능하다. (오류에 대한 부담이 커진다 ) 그래서 정적 리소스는 웹 서버가 처리해버리고, 애플리케이션 로직같은 동적 처리가 필요하면 was에 요청 (이로 인해서 효율적인 리소스 관리가 가능) 공통점 : HTTP를 기반으로 동작한다는 점 차이점: 웹 서버 -> 정적 리소스 제공, 그래서 특정 사용자에게 다르게 보여주는 방식이 불가. (파일 - 정적 리소스) WAS는 웹 서버의 기능을 포함하며, 프로그램 코드를 실행해서 애플리케이션 로직을 수행 가능 (애플리케이션 로직 수행) 서블릿(Servlet) 전체적인 흐름 : 사용자가 url에 요청을 함 -> was 서버에서 요청 메시지..

왜 Git의 Commit message는 중요할까?, 좋은 커밋 메시지란?

이 글은 평상시 크게 신경쓰지 않았던 commit message와 관련된 내용으로 "NHN 클라우드 좋은 git 커밋 메시지를 작성하기 위한 7가지 약속" 이라는 글을 바탕으로 작성된 글입니다. 팀원들과 혹은 혼자서 개인 프로젝트 혹은 공부를 진행하고, 그 내용을 바탕으로 Git이라는 저장소에 던진다. 작업물을 Git으로 던질때마다, 그냥 해당 작업 내용을 적거나, 비슷한 내용이나, 귀찮으니까 대충 메시지를 던지곤 했었는데, 우리는 이 커밋 메시지를 잘 쓰려고 노력해야하고, 잘 써야한다. (특히나 협업 과정에서) 평소에 무심코 그냥 작업 내용만 포함해서 commit message를 작성했었다. 하지만 이 글을 읽고 더 좋은 커밋 메시지와 리뷰 프로세스 등을 고려하며 더욱 커밋 메시지를 잘 작성할 수 있도..

Day.28 스프링 AOP를 정리하며..

스프링 AOP Spring을 공부하다가 AOP라는 단어를 접했었다. 그래서 그때마다 AOP가 무엇인지 궁금했었고, 지식을 습득해야겠다고 생각했는데 바로 오늘이 그 날인가보다. 기존에 담아뒀던 강의들과 블로그들을 참고하며 나름 이해하려고 직접 포스팅 하고, 다음엔 기회가 된다면 그 코드들을 따라하며 AOP와 친해질 수 있도록 해봐야겠다. 2022.12.07 - [스프링] - 스프링 AOP 스프링 AOP 이 글은 우테코(봄의 AOP와 Spring AOP) 및 여러 정보들을 종합해 학습한 내용입니다. https://www.youtube.com/watch?v=hjDSKhyYK14&list=WL&index=84&t=305s https://engkimbs.tistory.com/746 https://yadon079...

스프링 AOP

이 글은 우테코(봄의 AOP와 Spring AOP) 및 여러 정보들을 종합해 학습한 내용입니다. https://www.youtube.com/watch?v=hjDSKhyYK14&list=WL&index=84&t=305s https://engkimbs.tistory.com/746 https://yadon079.github.io/2021/spring/spring-aop-core What is 스프링 AOP? AOP는 Aspect Oriented Programming의 약어 (관점 지향 프로그래밍) 이 관점 지향은 "관점"을 이용해 로직을 관점의 측면에서 나누어서 본다(핵심vs부가적). 그래서 이 관점을 기준으로 각각을 모듈화 하겠다는 것이다. 그럼 이 모듈을 필요로 하는 곳에서 호출만 하면 되니 어떻게보면 J..

스프링 2022.12.07

4주차 WIL(2022.11.28~12.04)

FACTS(사실, 객관) : 이번 일주일 동안 있었던 일, 내가 한 일 2번째 미니 프로젝트의 끝 서로서로 코드 리뷰, 그리고 Why에 대한 질의응답 및 더 나은 코드가 있는지 확인. 클린코드, 이펙티브 자바 읽을려고 바로 주문함 ㅋ FEELINGS(느낌, 주관) : 나의 감정적인 반응, 느낌 프로젝트를 진행하면서 어떻게 하면 더욱 색깔있는 코드를 작성할 수 있을까?에 대한 고민을 많이 했다. 또한 해당 언어가 가지는 장점을 어떻게 극대로 활용할 수 있을까?에 대한 고민과 어떻게 로직을 구성하는게 좋을까? 라는 고민들이 겹쳐저서 내 머릿속을 돌아다녔다. FINDINGS(배운 것) : 그 상황으로부터 내가 배운 것, 얻은 것 서비스 레이어에선 비즈니스 로직이 존재하면 x 에외는 상위에서 처리하도록 설계해야..

WIL(Week I Learned) 2022.12.06

Day.27 자바 진영의 스프링

스프링은 자바진영의 웹 어플리케이션 제작 지원을 도와주는 프레임워크다. 과거에 스프링을 공부하고 써본적이 있어서 금일 진행한 내용이 어렵게 느껴지진 않았다. 과거에는 서블릿이나 jsp 이런 기술들을 사용해서 웹을 제작하고 배포했었더라면 스프링은 그 기술들을 확장적용시켜 어노테이션 기반의 기술이 탄생했고, 그 외에도 스프링에서 내부적으로 지원해주는 라이브러리와 프레임워크들이 많아서 편리하게 웹을 개발하고 디자인 할 수 있다. Spring MVC를 통해 모델과 뷰, 컨트롤러들을 분리시켜 편리하고 확장성있게 개발이 가능하다는 장점이 있다. 사용자는 Controller를 조작해서 model을 통해 데이터를 가지고 오고, 그 정보를 바탕으로 시각적 표현을 담당하는 view를 제어해 사용자에게 정보를 전달한다. 스..