
개발자로 20년을 보내고 있지만 큰 파도로 다가온 AI의 물결에 개발자로 살아가기에는 시간이 지날수록 힘들어지는 것 같습니다. 특히나 춘추전국시대처럼 거대 기업의 각축장이 된 지금, Open AI를 선두로 마이크로 소프트, 구글등 많은 기업들이 플랫폼을 발표하고 있습니다. 이런 흐름에 맞추어서 몇 년 전부터 딥러닝, 머신러닝에 대해서 학습을 하고 있지만 수학이라는 벽에 멈추어서 고등 수학부터 차근히 학습하는 중에 만난 도서입니다. 이 도서는 "밑바닥부터 시작하는 딥러닝"이라는 부제 처럼 기본적인 문제에 대한 설명과 해석을 다양한 이미지와 수학 공식으로 풀고 Python으로 코드를 통해 확인할 수 있게 구성하고 있으며, 행동이 어떤 환경에 놓여져 있을 때 행동을 취한 결과로 환경의 상태라 변하고 보상을 받..

개발자의 삶이란 끝이 없는 학습의 길입니다. 초보 개발자에서 중급 개발자로 다시 고급 개발자로 한 걸음씩 나아갈 때 필요한 것은 내가 만든 코드가 운영 환경에서 문제없이 돌아가느데 필요한 여러 요소를 하나씩 익혀 가는 것입니다. 이 도서는 총 4개의 영역으로 운영에 필요한 요소를 저자의 경험을 토대로 소개하고 있습니다, 1부 안정성 구축 시스템 구축 시 구축시 안전성은 가장 중요한 요소입니다. 도서에서는 항공사 사례 연구를 통해서 안정성을 설명하고 있으며 운영 중에 발생하는 여러 장애에 대한 패턴을 축에 따라서 나타내는 특정 취약성, 문제가 증폭되는 방식, 안정성과 관련된 여러 안티 패턴을 소개하고 안티 패턴을 해결할 설계와 아키텍처 패턴을 안정성 패턴을 도서 내용의 거의 반정도로 소개하고 있습니다. 이..

머신러닝은 관심이 많은 영역으로 개발자로 살아가면서 조금씩 학습하고 있다.. 도서의 분량은 두권으로 분리 될 정도로 많지만 머신러닝을 학습하고자 하는 님들에게 필요한 것들로 두권을 한달 가까이 정독을 하였다, 모든 예제를 실습하면서 읽었으면 하는 아쉬움이 남는다. 학습 하는 님들의 편의를 위해서 두권으로 나눈 것이 지하철에서 이동 하면서 읽기에 좋았다. 데이터 과학을 공부하지 않는 친구들에게 어려운 책이지만 기초 설명, 수학 이론, 실습, 예제를 통해서 접근 하고 있어서 수학 이론에 약한 나에게 수학 이론을 찾아 볼 수 있게 하여.좋았다. 1부에서는 머신러닝의 개념을 소개 하는 파트로 기본적인 머신러닝의 개념, 학습방법( 분류 / 모델훈련 / 서포트 벡터 머신 / 결정 트리 / 앙상블학습과 랜덤 포레스트..

2022년 겨울 OpenAI가 GPT 3.0 기반으로 오픈 베타가 시작되었을 때 베타 신청을 하고 승인 후 지금 까지 사용하고 있는데 초기에 비해 많은 변화가 있고 보다 정확한 정보를 주고 있습니다. 가까운 미래에 개발자는 없어 진다고 하는 이야기하는 개발자 친구들 있지만 개인적인 생각으로 No Coding으로 개발자는 없어질 것 이라고 하는데 2023년 현재도 개발자는 부족한 것이 현실로 개인적인 의견은 개발자는 없어지지 않고 AI와 페어 프로그램으로 상호 보안 하면서 나아갈 것으로 예상이 됩니다. 실제 6개월 정도 GPT에 질의 하여 답을 찾고 작성한 코드에 대한 인스펙션을 요청하여 좋은 코드가 작성이 된 경험이 있습니다. 본 도서는 개발자 입장에서 GPT를 활용하는 방법에 대해서 소개 하는 도서로 ..
Gson을 사용해서 자바 객체로 변환하는 과정에서 다음과 같은 오류가 발생하는 경우 해결 방안입니다.Unable to make field private final java.time.LocalDate java.time.LocalDateTime.date accessible: module java.base does not "opens java.time" to unnamed module1. 원인 Gson은 Java 객체를 json으로 json을 Java 객체로 변환해 주는 라이브러리로 변환 과정에 위와 같은 오류가 나는 이유는 LocalDate 또는 LocalDateTime 과 같은 Java 8 날짜 시간 클래스에 속하는 Java 클래스를 직렬화하거나 역직렬화할 때 발생 하는 오류로 public으로 선언한 필드..
객체와 테이블 매핑 : @Entity, @Table 기본키 매핑 : @Id, @GeneratedValue, @SequenceGenerator, @TableGenerator 필드와 컬럼 매핑 : @Column, @Enumerated, @Temporal, @Lob, @Transient 어노테이션 적용 기능 @Entity 클래스 JPA 에게 TABLE 매핑 -> 엔티티 클래스 @Table 클래스 @Table 생략시 클래스 이름이 테이블 이름 · name : 테이블 이름 · catalog : 테이블 카테고리 · schema : 테이블 스키마 · uniqueConstraints : 컬럼값 유니크 제약 조건 · indexes : 인덱스 생성 @Access 클래스, 필드 · AccessType.FIELD : 필드에 ..
테이블에 CRUD 작업을 해야 할 떄 생성일자, 변경일자, 등록자, 수정자 필드에 작업은 공통으로 적용이 되는 작업 입니다. JPA를 적용 할 때 @EntityListeners 에노테이션을 사용 하면 쉽게 적용 할 수 있습니다. @EntityListeners 주석은 Specifies the callback listener classes to be used for an entity or mapped superclass. This annotation may be applied to an entity class or mapped superclass 과 같이 작성되어 있습니다. Spring-Data-Jpa에서 제공 하는 기본 에노테이션을 사용하여 생성 일자와 수정일자를 코드 개발 없이 사용 할 수 있습니다. 다..
1. JPA Entity Life Cycle Event JPA 사용할 때 Entity가 어떻게 동작하는지 확인할 수 있습니다. 확인은 JPA는 엔티티의 생명주기 동안 일어나는 일곱 가지 선택적인 이벤트를 통해서 확인합니다. Entity Life Cycle Event는 이벤트가 발생할 때 콜백 메서드를 실행할 수 있도록 애노테이션을 다음과 같이 제공합니다. 새 엔터티에 대해 persist가 호출되기 전에 : @PrePersist 새 엔터티에 대해 persist가 호출된 후 : @PostPersist 엔터티가 제거되기 전에 : @PreRemove 엔터티가 삭제된 후 : @PostRemove 업데이트 작업 전 : @PreUpdate 엔터티가 업데이트된 후 : @PostUpdate 엔터티가 로드된 후 : @Po..