반응형

전체 글 135

애플리케이션 에러 로깅하기, 에러 핸들링 (feat. clean code)

fastapi 을 이용한 web app 을 개발하면서, 어떻게 에러처리를 할 지 고민하면서 읽은 글을 정리해보았다. 꼭 python 에 국한할 필요없이, general 한 에러처리 방법론을 배울 수 있었으며, 반드시 이렇게 해야한다는 내용이 아니라 상황에 따라 적절한 에러 핸들링을 위한 의사결정을 돕는 글이기에, 정리해서 두고두고 보려고 정리해보았다. [원문]python error handling 방식에는 크게 2가지 방법이 있다. 첫번째는 LBYL(Look Before you Leap) 방식이고, 두번째 방식은 EAFP(Easier to Ask Forgiveness than Permission) 방식이다.  1. Look Before You Leap (LBYL)돌다리는 두들겨 보고 건너라는 의미로, a..

카테고리 없음 2024.11.13

글또 후기 & 2024 상반기 후기

keyword & 목차1. 많은 사건2. 글또 3. ssafy4. 취업5. 나 돌아보기6. 책  1. 많은 사건2023년 12월 마지막에서 두번쨰 주에, 대전 ssafy 프로그램에 합격하게 되었다. 글또로 글을 쓰면서 원래 공부하던 42 Seoul 에서 계속 공부할 것이라 생각했던 예상이 깨지고, 갑작스럽게 이사 준비와 새로운 자취 생활의 행보를 걷게 되었다.  2. 글또여러가지 사건이 겹치면서, 처음의 포부와는 달라진 감이 있지만, 글또가 있엇던 덕분에 꾸준히 개발 블로그에도 조금씩 더 글을 적을 수 있었다. 사실 글또가 나에게 가장 큰 도움이 된 건 다름아닌 '대나무 숲'이었다. 혼자 모든 걸 결정하는 상황이 되니, 고민되는 것도 너무 많고 나에게 딱 맞는 선택을 내리고 싶어서 안달이었는데, 대나무 ..

카테고리 없음 2024.05.12

글또 X udemy 강의 후기 (feat. Docker Kubernetes 와 Spring Boot 배우기)

Docker& Kubernetes : 실전 가이드, Spring Boot 3 & Spring Framework 6 강의 2개를 글또 X Udemy 프로그램 덕분에 수강할 기회를 얻게 되었다.  여러 목록 중 2개 강의를 선택한 이유는, spring framework를 이용해서 백엔드 개발에 전문을 쌓는게 목표였기 때문이고, 백엔드는 서버를 가동시키는 클라우드 서비스, 즉 Docker, Kubernetes 와 밀접하게 관련되어있기 때문에 공부하고 싶었기 때문이다.   뭣보다 한 프로젝트를 성공적으로 배포까지 하려면 가져야할 필수 지식이기 때문에 수강하고 싶었다. 이제 개발 공부한지 3년 차인데, 이 정도면 나름 빠르게 배워서 잘하는 거 아닌가 싶은 마음도 들지만, 인터넷은 넓고 잘하는 사람은 많고 그것이 ..

끄적 2024.05.12

[Spring Security] Spring Security 의 동작과정과 구현

본 글은 Spring Boot 3 & Spring Framework 6 마스터하기! (https://www.udemy.com/course/spring-boot-and-spring-framework-korean/) 를 보고 정리한 글입니다.글또 x Udemy 이벤트로 수강하게 된 강의인데, 좋은 기회를 얻게 되어 감사드리는 마음입니다!컴퓨터에 강한 나라 인도 출신 강사님이 설명해주시는 spring framework 강의로, Hibernate, React, Docker AWS 등 spring framework 뿐 아니라 이를 활용해서 하나의 어플리케이션을 만들기 위한 전반적인 과정을 담고 있습니다.가장 좋은 점은 정말 핵심 이론만 쏙쏙 골라서 설명한 후 , 코드를 작성하는 방식이라는 점입니다.군더더기 없이 ..

개발/java 2024.04.14

[Spring - JPA] 4. 엔티티 매핑

목차 객체와 테이블 매핑 : @Entity, @Table 필드와 컬럼 매핑 : @Column 기본 키 매핑 : @Id 연관 관계 매핑 : @ManyToOne, @JoinColumn 1. 객체와 테이블 매핑 1. @Entity 이 어노테이션이 붙으면 JPA가 관리한다. 이 어노테이션 사용 시 주의점 기본 생성자 필수 (public or protected 생성자) 다양한 기술을 사용하기 위해서 필요 final 클래스, enum, interface, inner 클래스에는 사용 불가 저장할 필드에 final 사용 x @Entity 속성 name : JPA에서 사용할 엔티티 이름 지정 (기본값으로는 클래스 이름 그대로)2. @Table 엔티티와 매핑할 테이블 지정 속성 : name, catalog, schema,..

개발/java 2024.03.16

Spring 에서 configuration 을 다루는 방법 - @Value vs @ConfigurationProperties

사이드 프로젝트를 하면서 동료 개발자분께서 Components/KakaoKey 의 존재 이유를 여쭤보셨다. application.properties 의 값을 @Value 어노테이션을 이용해 가져와 저장하는 목적의 클래스들이었다. 단순히 환경 설정을 위한 값을 저장하는 빈, 컴포넌트로는 사용하기 애매할 수 있다는 생각이 들었고, @ConfigurationProperties라는 어노테이션에 대해 알게 되어 이번 기회에 정리해보게 되었다. Externalized Configuration 서로 다른 환경에서 애플리케이션이 돌아갈 수 있게 하는 방법 중 하나는 externalized configuration 이다. 여러가지 외부 설정을 java properies 파일, yaml 파일, 환경 변수, command-..

개발/java 2024.02.26

백준 2636 - 치즈 - BFS

https://www.acmicpc.net/problem/2636 2636번: 치즈 아래 과 같이 정사각형 칸들로 이루어진 사각형 모양의 판이 있고, 그 위에 얇은 치즈(회색으로 표시된 부분)가 놓여 있다. 판의 가장자리(에서 네모 칸에 X친 부분)에는 치즈가 놓 www.acmicpc.net 랭크 : 골드 4 걸린 시간: 40분 해설 이 문제는 치즈가 시간이 지날 때마다 공기와 닿는 부분이 녹는 문제이다. 쉽게 생각하면 자칫 할 수 있는 오류는 다음과 같다. "공기를 queue에 담은 후 BFS를 진행하면서 시간(== 닿는데 걸린 거리)을 체크하면 되지 않을까? " 이러한 점은 문제가 다음과 같다. 1. 치즈 안의 공기, 즉 가장 자리와 맞닿아 있지 않은 공기는 치즈를 녹이지 않는다. 2. 새로 생긴 구..

[Spring - JPA] 3. 영속성관리

JPA 에서 가장 중요한 2가지 객체와 관계형 데이터 베이스를 어떻게 매핑하나 영속성 컨텍스트 (JPA 가 내부적으로 어떻게 동작하나) 1. 영속성 컨텍스트란? 'Entity를 영구 저장하는 환경’이라는 뜻 EntityManager.persist(entity); EntityManager를 통해 영속성 컨텍스트에 접근. 2. Entity 의 생명주기 비영속(new/transient) : 영속성 컨텍스트와 전혀 관계가 없는 새로운 상태 영속(managed) : 영속성 컨텍스트에 관리되는 상태 ((em.persist(member))) 준영속(detached) : 영속성 컨텍스트에 저장되었다가 분리된 상태 (em.detach(member)) 삭제 (removed) : 삭제된 상태 *영속상태가 되었다고 해서 바로..

개발/java 2024.02.18

[Spring - JPA] 2. JPA 개요

JPA 설정하기 위치가 정해져 있음. Dialect ? 데이터베이스들은 각각 SQL 문법과 함수가 조금씩 다르다. 예를 들어 Mysql은 VARCHAR, Oracle은 VARCHAR2 페이징 : Mysql은 LIMIT, Oracle은 ROWNUM 방언 -> SQL 표준을 지키지 않는 특정 데이터베이스 만의 고유한 기능. JPA 구동 방식 설정정보를 보고 나서, entity manager factory를 만든다. persistenceUnitName (pom.xml 에서 설정된 게 있음) 인자를 넣어서 createEntityManagerFactory 궁금한 점 : 트랜잭션마다 entity manager 를 새롭게 만들어야 하는 이유가 뭐지? create table Member( id bigint not nu..

개발/java 2024.02.18

[Spring - JPA] 1. JPA 소개

*본 글은 JPA 에 대해 공부(책, 강의) 하고 쓴 글입니다. 내용 요약 JPA 란, 객체와 관계형 데이터 베이스 간을 연결해주는 인터페이스로, 객체의 필드에 대해 관계형 데이터베이스에 저장, 삭제, 수정, 조회를 SQL 작성없이 용이하게 할 수 있도록 하는 JAVA API 이다. (Java Persistence API) - JPA는 entityManager를 통해 객체를 관리한다. - JPA는 JPQL 을 사용하여 객체를 기반으로한 쿼리를 작성할 수 있다. - JPA 는 내부적으로 database 와 통신하기 위해 JDBC 를 사용한다. JPA 를 사용함으로써 직접 SQL을 작성해 객체를 저장해야하는 시절의 어려움 (객체들마다 다르게 작성, 상속관계, 연관관계의 객체들은 별도의 맵핑, 객체간의 비교 ..

개발/java 2024.02.03
728x90
728x90