목록개발Article (143)
밤빵's 개발일지
영속성 컨텍스트(Persistence Context)는 JPA(Java Persistence API)에서 매우 중요한 개념으로, 데이터베이스와 애플리케이션 간의 데이터를 관리하는 역할을 한다. JPA를 이해하고 효과적으로 사용하기 위해서는 영속성 컨텍스트에 대한 이해가 필수인거같아서(스프링 강의에서 영속성컨텍스트 강의가 너무길고 집중이안되서 건너뛰었는데 후회중...ㅠ) 오늘 개발일지에서는 영속성 컨텍스트의 정의와 역할, 작동 방식, 장점, 그리고 주의사항 등을 정리해보았다. 🤓영속성 컨텍스트(Persistence Context)란?영속성 컨텍스트(Persistence Context)는 JPA(Java Persistence API)에서 엔티티(Entity) 객체를 저장하고 관리하는 메모리 상의 저장소이다..
로그인 기능을 구현하는데 강의에서 쓰던 11.5? 그 버전의 jwt가 아니여서 방식이 많이... 다른 느낌이다. 빨간줄이 엄청 많아지고, 오류파티하는 중이라 계속 잡고 해결하는중인데 아무것도 안되서, 블로그들을 뒤져보니 님버스라는게 있다...!! 이걸 써볼까 싶어서 알아보게되었는데..결론은 그냥 원래 하던방식에서 뭔가를 해보자!로 마음을 바꾸긴했지만, 이왕 알아본거 개발일지에 기록하기로 했다. 🤓Nimbus 라이브러리를 이용한 JWT 토큰 파싱과 검증이번 개발일지에서는 Java 애플리케이션에서 JWT(JSON Web Token)를 파싱하고 검증할 때 사용할 수 있는 두 가지 라이브러리, 기존의 JWT 라이브러리와 Nimbus 라이브러리를 비교해봤다. JWT 라이브러리(JJWT 12.5)로 구현하는 코드..
쓰리 레이어 아키텍처(Three-Layer Architecture)오늘 개발일지에서는 전통적인 소프트웨어 설계 패턴 중 하나인 쓰리 레이어 아키텍처(Three-Layer Architecture)에 대해 공부했다. 이 아키텍처는 응용 프로그램을 세 개의 주요 계층으로 나누어 설계하는 방법으로, 나에게도 조금은 익숙한 설계 패턴이다. 쓰리 레이어 아키텍처의 개념과 장점, 각 계층의 역할, 그리고 예시를 통해 어떻게 적용할 수 있는지에 대해 정리했다! ▶ 쓰리 레이어 아키텍처란?쓰리 레이어 아키텍처(Three-Layer Architecture)는 소프트웨어 애플리케이션을 프레젠테이션(Presentation) 계층, 비즈니스 로직(Business Logic) 계층, 그리고 데이터 액세스(Data Access) ..
Java에서 가장 널리 사용되는 ORM(Object-Relational Mapping) 프레임워크 중 하나인 Hibernate! Hibernate는 데이터베이스와 객체 지향 프로그래밍 간의 불일치를 해결해주는 강력한 도구로, Hibernate의 기본 개념과 장점, 동작 방식, 그리고 사용 시 주의할 점들을 정리해봤다.🤓Hibernate에 대한 이해와 활용▶Hibernate란 ? → Hibernate는 Java 기반의 ORM 프레임워크로, 데이터베이스의 테이블과 Java 객체 간의 매핑을 자동으로 처리해주는 도구이다. Hibernate는 SQL 쿼리를 직접 작성하지 않고도 데이터베이스와 상호작용할 수 있게 해주며, JPA(Java Persistence API)의 표준 구현체 중 하나이다. 이를 통해 개발..
▶ DI(Dependency Injection)와 IoC(Inversion of Control)에 대한 이해오늘 개발일지에서는 객체 지향 프로그래밍(OOP)에서 중요한 개념인 의존성 주입(Dependency Injection, DI)와 제어의 역전(Inversion of Control, IoC)에 대해 알아보고, 개발 과정에서 어떤 역할을 하고 어떻게 활용되는지에 대해 정리했다. DI와 IoC는 코드의 유연성과 재사용성을 높이고, 더 유지보수하기 쉬운 코드를 작성하는 데 매우 유용한 개념이다. ▶제어의 역전(Inversion of Control, IoC)이란?제어의 역전(Inversion of Control, IoC)은 소프트웨어 디자인 원칙으로, 프로그램의 제어 흐름을 직접 관리하는 것이 아니라 프레..
SOLID 원칙에 대한 이해와 중요성오늘 개발일지에는 객체 지향 설계의 핵심 원칙 중 하나인 SOLID 원칙에 대해 정리해봤다! 정재님과 기술매니저님께 종종 듣던거라 공부해야지하면서 미루다미루다 지금 정리하게되었다. SOLID 원칙은 유지보수성과 확장성이 뛰어난 소프트웨어를 설계하기 위한 다섯 가지의 원칙을 의미하고, 초보 개발자라도 반드시 이해하고 있어야 하는 중요한 개념이다. 각 원칙의 개념과 실제 개발에 어떻게 적용할 수 있는지에 대해 예시와 함께 정리했다! ▶ SOLID 원칙이란?SOLID는 객체 지향 프로그래밍에서 소프트웨어 설계를 유연하고 확장 가능하며 유지보수하기 쉽게 만드는 다섯 가지 원칙의 약어이다. 이 원칙은 견고하고 이해하기 쉬운 코드를 작성하는 데 도움을 준다. SOLID 원칙은 ..
▶ ORM (Object-Relational Mapping)에 대한 이해와 사용 이유오늘 개발일지에서는 Java 개발에서 자주 사용되는 ORM (Object-Relational Mapping)에 대해 공부하고, ORM이 제공하는 장점과 단점, 그리고 어떤 상황에서 ORM을 사용하는 것이 좋은지에 대해서 정리해봤다. 웹 미니프로젝트 때 테이블을 만들 줄 몰라서 엄청나게 고생했던 기억이있는데 요즘은 그래도 조금 배웠다고 데이터베이스 연결이 어렵지않다! ▶ ORM(Object-Relational Mapping)이란 ?ORM(Object-Relational Mapping)은 객체 지향 프로그래밍 언어의 객체와 관계형 데이터베이스의 테이블 간의 매핑을 자동으로 처리해주는 기술이다. Java와 같은 객체 지향 언..
Stream()을 사용하는 이유? 그냥 강사님이 쓰셨고, 그래서 써보니 간략하고 좋아서 였는데 이렇게 대답하면 안되는거였다.사실 이게 어떻게 돌아가는건지 자바에서 듣고오지않아서 정말 하나도 모르는 상태라 그냥 반복문인가? 정도로만 알고있었어서 알아두기위해 오늘 개발일지의 주제로 정했다. (사실 스트림은 비슷한 작업을 할 수 있는거지 완전히 같은 개념도 아니였다.)이번 개발일지에서는 Java 8에서 도입된 Stream을 사용하는 이유와 그 장점, 단점에 정리해봤다. BookService 클래스의 getAllBooks() 메서드에서는 Stream을 사용하여 책 목록을 정렬하고 변환하는 작업을 수행한다. Stream을 사용하는 이유와 그 유용성, 주의해야 할 점에 대해 이해해보려고한다! ▶ Stream이란 ?..
과제코드리뷰를 받으면서 /api를 두는 이유에 대해서 기술매니저님이 질문하셨는데 당당히 모른다고 했다. 진짜 잘 몰라서애매하게도 대답을 못 하던 그 상황이 다시 오는게 싫어서 오늘 개발일지 주제로 정했다!웹 애플리케이션에서 RESTful API를 설계할 때 URI에 /api를 두는 이유와 그 중요성에 대해 공부했다. RESTful 원칙에 따라 API를 설계하는 과정에서 /api 경로를 사용하는 것은 단순한 관습 이상의 의미를 가지고, 다양한 측면에서 고려할 가치가 있다! ▶ URI(Uniform Resource Identifier)의 역할URI(Uniform Resource Identifier)는 웹 상에서 자원을 식별하는 표준화된 주소 형식이다. URI는 RESTful API의 기본 요소로, 특정 자원..
웹미니프로젝트를 같이하던 팀장님이 발표를 하면서 가장 많이 한 말이 RESTful 하지않다는 말이였다. 그때 알아본다알아본다 하면서 잊고있다가 주특기 주차에 와서 RESTful의 의미를 알아두면 좋을 것이라는 기술매니저님의 조언에 공부를 할 수 밖에 없었다... 어차피 앞으로 계속 써야하는 단어같은데, 이 참에 공부해두고 개발자처럼 써먹어야겠다. REST(Representational State Transfer)는 웹 서비스의 설계 원칙 중 하나로, RESTful은 이러한 REST 원칙을 준수하여 설계된 웹 서비스를 의미한다. 웹 애플리케이션의 설계 시 RESTful은 클라이언트-서버 구조를 더 효율적이고 일관성 있게 만들어 주기 때문에, 이를 이해하는 것은 매우 중요하다. ▶ REST란? REST(R..