결혼식 식중영상 - 폭싹 속았수다 ver (by. 서른)
·
결혼준비
안녕하신가요.결혼식이 어느덧 2주도 채 남지 않았습니다.얼마 남지 않은 시간만큼 막바지 준비를 할 것이 많아졌는데요.그중에서도 식중영상을 준비해야 했습니다. 작년부터 부쩍 지인 결혼식에 참석하며 식중영상을 봤었는데AI 사용이 많아지면서 예전 사진을 AI로 움직이게 만들어 식중영상을 만든 지인이 많았습니다.물론 사진보다야 살짝이라도 움직이는 게 그 시절을 떠올리기에 좋아 보이기도 하였지만어딘가 모르게 어색함이 남아있어서 와이프와 저는 '움직이는 건 하지 말자'라고 얘기를 했더랬죠. 그러던 중 와이프가 갑자기 사진을 준비하랍니다. 부모님의 옛 사진을요.그러면서 보내준 준비해야 할 사진 리스트많기도 합니다.. 회사에서 갑자기 받은 연락이라 퇴근 후 집에서 얘기를 했습니다.어떤 회사냐 물어보니 말없이 영상을 먼..
Python @dataclass 정리
·
개발/PYTHON
반복되는 __init__, __repr__, __eq__ 코드를 한 번에 줄이는 방법Python으로 DTO, 설정 객체, API 응답 객체 등을 만들다 보면 아래와 같은 클래스를 자주 작성하게 됩니다.class User: def __init__(self, name, age, email): self.name = name self.age = age self.email = email단순히 데이터를 담기 위한 클래스인데도 __init__()을 직접 작성해야 합니다.여기에 객체를 출력하기 위한 __repr__(), 객체 간 비교를 위한 __eq__()까지 추가하면 코드가 더욱 길어집니다.Python에서는 이런 반복 코드를 줄이기 위해 **dataclass**를 제공합니다..
GitLab Group 단위 clone - glab
·
툴/GIT
Glab은 깃랩의 기능을 브라우저를 통하지 않고 터미널에서 사용할 수 있게 해주는 cli 도구다.나는 그룹단위 프로젝트를 한 번에 받기 위해 glab을 사용하였다.window git bash 사용access token 발급진행 전 access token 발급 (api, read_api, read_repository, write_repository 체크)glab installwinget install glab.glabglab login# 내부망 기준 작성glab auth login What GitLab instance do you want to sign in to?┃ gitlab.com┃ > GitLab Self-Managed or GitLab Dedicated instanceGitLab hostnam..
JAVA - java.io.tmpdir + BeanCreationException
·
개발/JAVA
자바 프로젝트 진행 중 만난 BeanCreationException. 하지만 빈 관련 문제는 없었고 temp 폴더의 권한 및 경로 문제다 라는걸 확인 --> 로컬의 Temp 경로를 적어주니 우선은 해결.. 하지만 나 외에는 로컬경로로 해주지 않아도 잘 된다.. 무엇이 문제일까 org.springframework.beans.factory.BeanCreationException
ORACLE - WITH절(서브쿼리 팩터링)
·
개발/ORACLE
오늘은 Oracle SQL에서 자주 사용되는 WITH절에 대해 깊이 있게 알아보자.복잡한 SQL 쿼리를 깔끔하게 정리하고 성능까지 개선할 수 있는 유용한 기능이다.WITH절이란?WITH절은 서브쿼리를 정의해서 재사용할 수 있도록 해주는 기능으로, 이를 서브쿼리 팩터링 (Subquery Factoring) 이라고 부른다.반복되는 서브쿼리를 줄이고, 복잡한 쿼리를 계층적으로 표현할 수 있어 가독성과 유지보수성이 좋아진다. 기본 문법 WITH 서브쿼리이름 AS ( 서브쿼리)SELECT ...FROM 서브쿼리이름; 여러 개의 서브쿼리를 , 로 나열하여 동시에 정의할 수도 있다.WITH A AS (...), B AS (...)SELECT ...FROM AJOIN B ON ...; 예제 데이터 준비하..
ORACLE - PIVOT and UNPIVOT
·
개발/ORACLE
데이터를 분석하다보면 행을 열로, 열을 행으로 바꾸는 작업이 필요할 때가 있다.오라클에서는 쉽게 처리할 수 있도록 PIVOT과 UNPIVOT 기능을 제공한다.PIVOTPIVOT은 행 데이터를 열로 바꾸는 기능을 한다.예로 월별 매출 데이터를 각 월로 정리하고 싶을때 유용하다.컬럼을 각 월로 지정해도 되지만 복잡해진다. PIVOT 예시 데이터 (SALES)YEARMONTHAMOUNT2023JAN10002023FEB12002023MAR900 PIVOT SQL 예제SELECT *FROM ( SELECT YEAR , MONTH , AMOUNT FROM SALES)PIVOT (SUM(AMOUNT) FOR MONTH IN ('JAN' AS JAN, 'FEB' AS FEB, 'M..
ORACLE - INSERT WITH절에 FUNCTION 사용시 오류 (ORA-32034)
·
개발/ORACLE
Insert 문에 Function을 사용하면 오류가 난다!INSERTINTO {table}(.., .., ...)WITH FUNCTION ~~DATA AS ( SELECT ..)SELECT ...FROM ... WHERE ... ;[99999][32034] ORA-32034: 지원되지 않는 WITH 절 사용힌트추가로 해결하자INSERT /*+ WITH_PLSQL */INTO {table}(.., .., ...)WITH FUNCTION ~~DATA AS ( SELECT ..)SELECT ...FROM ... WHERE ... ;select, update 문에서도 간혹 에러가 나는 경우가 있는데위 힌트를 사용하면 해결된다.참고로 성능 힌트가 아니다. 참고더보기https://dbaora.com/with-fun..
ORACLE - AUTO_INCREMENT 기능 구현
·
개발/ORACLE
SQL에서 테이블 생성 시 PK로 사용하는 컬럼은 대게 자동 증가(Auto Increment)를 사용한다. MySQL에서 테이블 생성시 PK에 Auto_Increment를 사용하면 되지만 오라클에는 없기 때문에 시퀀스와 트리거를 조합해 기능을 구현할 수 있다.12c 이상에서는 IDENTITY 컬럼을 사용할 수 있다.1. 시퀀스시퀀스 생성CREATE SEQUENCE my_sequence START WITH 1 -- 시작 값 INCREMENT BY 1 -- 증가 값 NOCACHE -- 캐싱 안 함 (안정성 위해) NOCYCLE; -- 최댓값 도달 시 다시 시작 안 함 시퀀스를 사용하여 INSERTINSERT INTO my_table (id, name) ..