내가 까먹을까봐 만든 블로그

전체 글

etc

codex cli permission 모두 허용하기 (Windows, macOS)

이전에 claude에 대한 skip permission을 올렸었는데 codex도 마찬가지로 파일을 분석시키거나 커맨드 명령을 수행할 때 항상 사용자에게 허락을 받고 진행하는게 많아서 효율이 떨어진다 느껴졌다. codex도 claude 못지 않게 좋은 성능을 보이고 있으므로 이 역시 나보다 나을 때가 많기에 믿고 쓰기로 한다.1. 일회성으로 사용하는 명령codex --dangerously-bypass-approvals-and-sandbox또는 (동일 기능)codex --yolo 2. Windows에서 alias를 영구적으로 설정하는 방법Mac에 비해 윈도우는 좀 복잡한 것 같은데 alias(매크로)로 doskey + AutoRun 조합을 사용하여 해결할 수 있다.먼저 아래 명령을 Power Shell에서 ..

etc

claude code skip permission으로 모두 허용하기 (Windows, macOS)

claude code를 사용하며 파일을 분석시키거나 커맨드 명령을 수행할 때 항상 사용자에게 허락을 받고 진행하는데 가끔 너무 자주 물어봐서 효율이 떨어진다 느껴졌다. plan mode로 계획을 모두 세웠을 때도 가끔 중간에 물어봐서 작업이 끊기기도 한다. 웬만큼 plan을 잘 세워두면 나보다 나을 때가 많기에 믿고 쓰기로 한다. 1. 일회성으로 사용하는 명령claude --dangerously-skip-permissions 2. Windows에서 alias를 영구적으로 설정하는 방법Mac에 비해 윈도우는 좀 복잡한 것 같은데 alias(매크로)로 doskey + AutoRun 조합을 사용하여 해결할 수 있다.먼저 아래 명령을 Power Shell에서 관리자 모드로 실행하여 매크로 파일 생성/편집을 실행..

Computer Science/Software Engineering

마샬링(Marshalling)과 직렬화(Serialization)

마샬링(Marshalling)은 객체나 데이터 구조를 전송 및 저장에 적합한 표준 형식으로 변환하는 과정이다. 이 개념은 분산 시스템과 네트워크 통신에서 필수적인 핵심 기술이다. 마샬링과 직렬화의 내용이 혼용되기 쉬워서 정리하려고 한다. 거기에 더해 언마샬링에 대해서도 간단하게 적어보았다. 마샬링(Marshalling)마샬링은 프로그램 내부 메모리에 존재하는 객체를 외부로 전달 가능한 형태로 바꾸는 과정이다. 메모리 구조는 프로세스마다 다르기 때문에 그대로는 다른 시스템이나 프로세스가 이해할 수 없다. 이 문제를 해결하기 위해 객체의 구조와 값을 JSON, XML, 바이너리 스트림과 같은 표준 포맷으로 변환하는 작업이 마샬링이다. 마샬링이 필요한 대표적인 이유 3가지를 간단하게 다음과 같이 정리할 수 ..

Languages/Java(Spring Boot)

[Spring boot] Service, ServiceImpl 구조와 OCP

Spring 기반 애플리케이션을 설계하다 보면 Service 인터페이스와 이를 구현한 ServiceImpl 클래스를 분리하는 구조를 흔히 접하게 된다. 처음 Spring을 접하는 입장에서는 굳이 왜 이렇게 나누는지 의문이 자연스럽게 든다. 이 구조는 객체지향 설계 원칙, 특히 OCP(Open-Closed Principle)와 깊게 연결되어 있다고 하지만 여기에 대한 필요성과 논의는 오래도록 있어온 것 같다.이 글에서는 Service와 ServiceImpl의 관계를 객체지향 관점에서 정리하고, 이 구조가 OCP를 어떻게 만족시키는지 살펴보려 한다. 먼저 OCP(Open-Closed Principle)가 무엇인지 알아보자. OCP(Open-Closed Principle) OCP는 “소프트웨어 엔티티는 확장..

Computer Science/Algorithm

Sort(정렬) 알고리즘 정리

자주 사용하는 정렬 알고리즘들을 정리해보려 한다. 버블 정렬(Bubble Sort)정의: 인접한 원소들을 비교하여 큰 값을 뒤로 보내는 정렬시간복잡도: O(n²) - 삽입/삭제 후 재정렬 필요, 검색 O(n) 의사코드for i = 0 to n-2: for j = 0 to n-2-i: if arr[j] > arr[j+1]: swap(arr[j], arr[j+1]) 선택 정렬(Selection Sort)정의: 최솟값을 찾아 앞쪽부터 차례로 배치하는 정렬시간복잡도: O(n²) - 삽입/삭제 후 재정렬 필요, 검색 O(n)의사코드for i = 0 to n-2: min_idx = i for j = i+1 to n-1: if arr[j] 삽입 정렬(In..

Data Science/Data Analysis

LogSumExp trick

최근 수업 중 custom loss를 구현하는 과제에서 알게 된 trick인데 softmax 연산을 수행할 때 내부적으로 overflow나 underflow를 방지하기 위한 방법으로 이 방식을 사용한다고 한다. 이름에 나오듯 Log와 Summation 그리고 Exponential을 이용한 트릭이다. exp를 기존 방식대로 계산해보면 아래와 같이 overflow가 발생하게 된다. import numpy as npx = np.array([1000, 1000, 1000])print(np.exp(x))# [inf inf inf] x와 같은 logit(입력값)을 구해 softmax 연산을 위해 적용하였을 때 overflow가 발생하게 되고 이는 결국 loss가 발산하거나 backpropagation이 실패하는 결..

AlienCoder
외부 저장소
loading