개발

· DEV
🚀 Yarn을 사용한 TypeScript 프로젝트의 자동 빌드 및 재시작 설정 방법 TypeScript 프로젝트에서 파일 변경 시 자동으로 빌드하고 Electron 애플리케이션을 재시작하려면, Nodemon과 TypeScript 컴파일러(tsc)를 활용할 수 있습니다. 1. nodemon.json 설정 Nodemon 설정 파일(nodemon.json)을 생성하고, TypeScript 파일의 변경을 감시하도록 설정합니다. { "watch": ["src/**/*.ts"], "ext": "ts", "exec": "yarn build && electron ." } watch: 감시할 파일의 경로 및 패턴을 지정합니다. ext: 감시할 파일의 확장자를 지정합니다. exec: 파일 변경 시 실행할 명령어입니다. 여..
· ETC/Obsidian
아무 생각 없이 제가 쓴 글을 모바일로 보는데, …? 프론트 매터가 여러개가 나오고 있었습니다 이게 뭔일이지 싶어, 확인해보니, 글을 배포 할 때마다, 즉 배포하고 수정 할 때마다 프론트 매터가 덧붙여지는 문제가 생겼습니다 해결 과정 일단 안피곤님의 깃허브 저장소로 찾아가 소스를 받고, 실행하였습니다 플러그인으로는 Hot-Reload, IDE는 인텔리제이를 사용하였습니다 문제 분석 결론부터 말씀드리면, Obsidian 베타 버전을 사용하면서, 기존의 옵시디언 프론트 매터 관련 코드가 바뀌어서 생긴 문제였습니다 원래는 이런 일이 없었는데 갑자기 발생한거라면, 베타 버전으로 바뀌면서 내부 코드가 변경 되었다 생각했습니다 그리고, 프론트 매터가 갑자기 추가 되기 시작한거라면, 내부 파일을 업데이트 하는 부분에..
· DEV/Backend
Fan Out On Write (Push Model) Fan Out On Read (Pull Model)로 설명을 하면, 게시물 작성 할 때 , 해당 회원을 팔로우하는 회원들에게 데이터를 배달하는 것입니다 일종의 인덱스? 역할을 하는 Timeline 테이블을 만들어, 조회 시간을 줄여 시간복잡도에서 이득을 가져 가는 것이죠 정리를 하자면, Fan Out On Write(푸시 모델)는 게시물이 생성되는 즉시 팔로워의 타임라인에 게시물이 전달되는 소셜 미디어 시스템에서 사용되는 전략입니다. 실시간 업데이트 및 즉각적인 데이터 일관성을 보장하기 위해 타임라인 데이터가 팔로워의 타임라인으로 푸시됩니다. 단순화된 검색 게시물은 이미 팔로워의 타임라인에 전달되어 있기 때문에 팔로워가 자신의 타임라인에 액세스할 때 ..
· DEV/Java
Super 키워드 super 키워드는 하위 클래스에서 상위 클래스에 대한 참조 값을 가지며, 상위 클래스의 생성자, 메서드, 멤버 변수에 접근할 때 사용합니다. super() 생성자 호출 super()는 상위 클래스의 기본 생성자를 호출합니다. 하위 클래스의 생성자에서 명시적으로 상위 클래스의 생성자를 호출하지 않으면 자동으로 super()가 호출됩니다 (이때 반드시 상위 클래스의 기본 생성자가 존재해야 함). 상위 클래스의 기본 생성자가 없는 경우 (다른 생성자가 있는 경우) 하위 클래스에서는 생성자에서 super를 이용하여 명시적으로 상위 클래스의 생성자를 호출해야 합니다. 상위 클래스의 메서드와 멤버 변수 접근 super는 생성된 상위 클래스 인스턴스의 참조 값을 가지므로, super를 이용하여 상..
· ETC/Thinking
개발자로 나는 어떻게 성장해야 할까 Intro. 처참한 내 수준 일단 계획을 세우기 앞서 현재 내 상태를 파악하는 것이 중요하다 오늘은 내 현재 상태를 직시하고, 앞으로 어떻게 할 것인지 계획을 세우는 시간을 가지려 한다 성적으로 보는 나 전공 성적표 선형 대수학, 이산수학, 확률과 통계가 C+이다 입대 전에 받은 학점인데, 정신을 차리지 못하고 있었다 우선 순위가 흔들렸고, 갈피를 못잡아서 주변 사람에게 민폐를 끼쳤다 컴퓨터 사이언스 주요 과목 운영체제, 컴퓨터 네트워크 : A+ 데이터베이스 : A 자료구조, 알고리즘 : B+ 자료구조, 알고리즘은 같은 교수님께 들었는데, 난이도가 평이한 10문제를 푸는 시험이 출제 되는데 왠지 조금 차이로 좋은 학점을 받지 못했다 자료 구조, 알고리즘은 B+을 받았으..
· ETC
Resolver Error: Permission Denied (publickey,gssapi-keyex,gssapi-with-mic) 해결 Visual Studio Code에서 Remote SSH 접속을 시도했으나, SSH 키 권한 문제로 인해 접속이 거부되었다. 해결 방법 먼저, 권한 문제를 해결하기 위해 chmod 777을 사용했으나, 너무 많은 권한을 부여하여 아래와 같은 에러가 발생했다. chmod 777은 파일에 너무 많은 권한을 부여하므로, 대신 chmod 400 명령을 사용하여 권한을 조정했다. chmod 400 명령은 파일의 권한을 변경하여 소유자에게만 읽기 권한을 부여하고, 다른 사용자에게는 권한을 부여하지 않는다. 이렇게 하니, 정상적으로 SSH 접속이 가능해졌다. 관련 개념 파일 권한..
NAT Traversal(네트워크 주소 변환 순회) NAT Traversal은 네트워크 주소 변환(NAT)을 사용하는 네트워크에서 직접적인 통신을 가능하게 하는 기술입니다. NAT는 프라이빗 IP 주소를 사용하는 내부 네트워크와 공인 IP 주소를 사용하는 외부 네트워크를 연결하는데 사용됩니다. 하지만 NAT를 사용하는 네트워크에서는 직접적인 통신이 어려운 경우가 있습니다. 이러한 제약을 극복하기 위해 NAT Traversal은 다양한 기술들을 사용하여 네트워크 주소 변환(NAT)을 통과하여 직접적인 통신이 가능하게 합니다. 우리 NAT가 무슨 문제가 있다는거야!?! NAT(Network Address Translation)은 내부 네트워크에서 프라이빗 IP 주소를 사용하여 인터넷 접속합니다. 이 때 NA..
· DEV
Postman 자동화하는 방법 with Csv Intro. 어디다가 써먹으려고 하는가? 난 데이터베이스에 더미 데이터를 넣고 싶은데 여간 귀찮은 일이 아니었다. 수 많은 데이터를 Postman으로 하나씩 쿼리를 날려 데이터를 넣는게, 과연 개발자스러운가…? 싶어 꼭 자동화를 하고 싶었다 사용하기에 따라 자신의 API들을 전부다 테스트하는 용도라던가, 서비스 점검 할 때도 사용할 수 있을 것 같다! 사용 방법 Collection과 Request 생성 일단 collection을 만들어야 한다. 쿼리들을 담을 폴더를 생성한다 생각하면 된다 난 사용자 등록 매크로란 이름의 collection을 만들었다. 만든 collection에 오른쪽 마우스 클릭을 하면, Add request가 보인다. 이 걸로 reques..
berom
'개발' 태그의 글 목록