EO - 바닥부터 시작해 아마존의 리드 자리까지 오르게 만든 성장통ㅣAmazon 방비룡 https://www.youtube.com/watch?v=w_JOomDg70A&ab_channel=EO%EC%9D%B4%EC%98%A4 자신의 강점과 약점을 잘 파악 하는것이 중요하다. 약점을 쌓아 올려서, 약점이 되지 않는 수준까지 연단의 시간이 필요하다. 상대방의 피드백을 지나치지 말라 문제 상황이 일어 났을때, 어떻게 해결 하느냐는 나의 방향성에 따라 달라진다. 무엇보다 한계를 한정 짓지 않는 것이 중요하다. 다른 이들의 이야기 2023.02.25
CURRENT_TIMESTAMP를 default로 셋팅시 datagrip 오류 create table issue ( id bigint auto_increment, amount decimal(19, 2) not null, created_at timestamp not null, modified_at timestamp not null, constraint issue_pk primary key (id) ); 위와 같이 테이블을 구성하고 테스트를 해본다. created_at 컬럼에 빈값으로 넣어도 현재 시간을 저장하고 싶어졌을때, default 값을 넣어주어야 한다. 그런데, timestamp 타입의 컬럼에 default 값을 넣을때 문제가 생긴다! [42000][1064] You have an error in your SQL syntax; check the manual that corre.. DB/MySQL 2023.02.16
[HY000][1093] You can't specify target table 'XXX' for update in FROM clause [HY000][1093] You can't specify target table 'order_item' for update in FROM clause 위와 같은 오류가 발생 했다. DELETE from order_item WHERE id in ( SELECT * FROM order_item WHERE item_id IN( '1','2','3','4','5' ) ); 쿼리를 위와 같았다. MySQL에서는 아래처럼 조회한 Sub-Query의 결과를 임시 테이블로 만들어 주어야 한다. Oracle과 다른 점이 같은 table 참조가 직접적으로 불가하다. (Update, Delete 쿼리에 해당한다.) DELETE from order_item WHERE id in ( SELECT id FROM ( SELECT .. DB/MySQL 2023.02.01
개발자냐, 직장인이냐 #개발자의넋두리 넋두리니까, 솔직하게 쓰자. 일하다가 가끔 기술을 딥하게 논하는 사람들이 있는데, 늘 어렵다. 기술은 기술일뿐이지, 정답은 없다고 생각하고, 믿는 편이다. 그런데, 간혹 늘 이게 정답이다 라고 하는 사람들이랑은 좀 어렵게 느낄 때가 많다. 상황에 늘 해답 정도만이 존재하고 그 해답을 같이 일 하는 사람끼리 맞춰 가는 것이 개발자의 삶이라고 생각하고 정진하고 있는 사람이라, 정답 같은건 없다. 결과적으로 진리의 정답이라는게 개발 세계에 있었으면, 한번 개발하고 계속 냅둬도 John na게 잘 돌아가고, 서버 전원 내리기 전까지 잘 동작해야 된다. 그리고, 진리니까 불변해야 된다. 근데 특정한 상황이 되었을때, 설계를 포함한 무언가를 바꿔야만 하는 것이라면, 그건 그 상황에서만 해답인 것이지.. 승돌 쓰다 2022.12.07
[IDEA] Run Configuration 설정 ref. https://vividcode.io/generate-custom-intellij-idea-run-configuration-programmatically/ local 환경에서 어플리케이션의 실행 환경 설정을 지정하여, 해당 설정으로 고정 시킬 수 있다. (2020.1 부터 사용) .run 디렉토리 안에 Application 이름과 같은 이름으로 된 xml 설정을 idea가 자동적으로 인식 파일 이름은 [application name].run.xml 형식으로 지정 해야 한다. Options Description VM_PARAMETERS JVM options PROGRAM_PARAMETERS Program parameters MAIN_CLASS_NAME Main class WORKING_DIRECT.. 프로그래밍/IDE 관련 2022.12.07
[Spring framework] Unable to load io.netty.resolver.dns.macos.MacOSDnsServerAddressStreamProvider Netty를 쓰는 환경에서는 해당 오류가 M1 Apple chip 부터 발생한다. Unable to load io.netty.resolver.dns.macos.MacOSDnsServerAddressStreamProvider, fallback to system defaults. This may result in incorrect DNS resolutions on MacOS 해당 이슈는 MacOS에서만 발생한다. 해결방법은 netty issue에 나와 있는데, 보통 아래 디펜던시를 추가해주면 해결 된다. io.netty:netty-resolver-dns-native-macos 그런데, 좋은 방법이 며칠전에 추가 되었는데, 실행 하는 OS를 구분하여 runtimeOnly로 해당 모듈을 추가 해주는 방식이다.O.. Spring/Spring 이야기 2022.12.07
Jupyter Install (macos) 기본적으로 python이 설치 되어 있다고 가정한다. https://jupyter.org/install Project Jupyter The Jupyter Notebook is a web-based interactive computing platform. The notebook combines live code, equations, narrative text, visualizations, interactive dashboards and other media. jupyter.org pip install --upgrade pip pip install notebook jupyter notebook // running 특정 노트북 파일을 열고 싶을때, jupyter notebook notebook.ipynb po.. 프로그래밍/Python 2022.10.25
프록시와 연관관계 https://www.inflearn.com/course/ORM-JPA-Basic/dashboard Proxy Proxy 기초 em.find() vs em.getReference() em.find(): 데이터베이스를 통해서 실제 엔티티 객제 조회 em.getReference(): 데이터베이스 조회를 미루는 가짜 엔티티 객체 조회 조회 시점에는 DB로 쿼리가 전송이 안되지만, 실제 사용하는 곳에서 쿼리가 전송 됨. 특징 실제 클래스를 상속 받아서 만들어짐 실제 클래스와 겉모양이 같다. 사용하는 입장에서는 진짜 객체인지? 프록시 객체인지 구분하지 않고 사용하면 된다. (이론상) 프록시 객체는 실제 객체의 참조를 보관 프록시 객체를 호출하면 프록시 객체는 실제 객체의 메소드 호출 프록시 객체는 처음 사용할때,.. 프로그래밍/JPA 2022.10.23
고급 매핑 전략 https://www.inflearn.com/course/ORM-JPA-Basic/dashboard 상속 관계 매핑 슈퍼타입, 서브타입 관계라는 모델링 기법이 객체 상속과 유사 상속 관계 매핑 객체의 상속과 구조와 DB의 슈퍼타입 서브타입 관계를 매핑 각각 테이블로 변환 -> 조인 전략 통합 테이블로 변환 -> 단일 테이블 전략 서브 타입 테이블로 변환 -> 구현 클래스마다 테이블 전략주요 어노테이션 @Inheritance(strategy = InheritanceType.XXX) JOINED SINGLE_TABLE TABLE_PER_CLASS @DiscriminatorColumn(name = "DTYPE") 운영상 DTYPE은 있는게 좋다. @DiscriminatorValue("XXX") 조인 전략 장점.. 프로그래밍/JPA 2022.10.23
다양한 연관관계 매핑 https://www.inflearn.com/course/ORM-JPA-Basic/dashboard 연관관계 매핑시 고려사항 3가지 다중성 @ManyToOne @OneToMany @OneToOne @ManyToMany N:M의 경우 실무에서 쓰지 않는게 좋다. 단방향, 양방향 테이블 외래 키 하나로 양쪽 조인 가능 방향이라는 개념이 없다. 객체 참조용 필드가 있는 곳으로만 참조 가능 한쪽만 참조하면 단방향 양쪽이 서로 참조하면 양방향 연관관계의 주인 테이블은 외래 키 하나로 두 테이블이 연관관계를 맺음 객체 양뱡하야 관계는, A -> B, B -> A처럼 참조가 2개 둘중 테이블의 외래 키를 관리할 곳을 지정해야 함 연관관계의 주인: 외래 키를 관리하는 참조 주인의 반대편: 외래 키에 영향을 주지 않음,.. 프로그래밍/JPA 2022.10.23