프로그래밍 259

prisma migrage 꼬인거 해결하기

이글 보고 참고 했습니다.글: https://jamie-em-lee.tistory.com/115 Prisma 스키마 동기화 중 Schema Drift 발생 시 데이터베이스 리셋 없이 해결하기개요 내가 일하는 곳은 Prisma + PostgreSQL을 스택으로 한다. 프리즈마 스키마와 데이터베이스 스키마 동기화 과정 중에 발생한 스키마 드리프트(schema drift)를 어떻게 리셋 없이 해결했는지 작성해보jamie-em-lee.tistory.com 글내용이 맞으며 저는 이상한짓을 해서 추가로 작업을 더 해야했습니다. DateTime 에 기본값을 특정 날짜로 하려다 실패를 했는데 이후에 할줄을 몰라/prisma/migrate 폴더를 주워 보기도 하고db 에 _prisma_migrations 테이블을 지워보..

2025-05-18 (일) 개발일지 / 로그 찍다 서버 쥬금

1. console.info 함수를 덮어 썼는데 죽어버렸다.express 에서 req.params 를 로그를 찍었는데 프로그램이 예외를 밷으면 처리를 못했습니다.거의 2시간을 디버깅 해서 찾았는데 황당하군요console.info 를 winston 의 로그 함수로 교체를 했는데예가 object 를 인자로 받으면 로그를 찍다 말고 예외를 던져버렸습니다. 시간낭비 갑이군요 로그 함수 내부에 try-catch 걸고.type LOG_FUNC = (text: string) => void;function log_write(func: LOG_FUNC, arr: any[]) { try { let output = ""; for (let i = 0; i arr.length; i++) { if (i !..

2025-05-17 (토) 개발일지 / 서버 죽음 / 개인정보처리방침

1. 죽은 웹서버 원인 파악일어나보니 웹서버가 죽어있었습니다.누가 /?XDEBUG_SESSION_START=phpstorm이런식으로 호출했나봅니다.phpstorm 의 취약점을 노리는 걸까요제 express 서버는 없는 파일에 대한 예외처리가 없어서 프로그램이 종료되었습니다.ENOENT: no such file or directory, open '/home/gunil/pto/node-sidnft-firebase/pi4server/public/?XDEBUG_SESSION_START=phpstorm' path: "/home/gunil/pto/node-sidnft-firebase/pi4server/public/?XDEBUG_SESSION_START=phpstorm", syscall: "open", ..

2025-05-16 (금) 개발일지

1. 앨릭서 시작영상과 버전이 달라서 명령어가 이상하게 동작했다.큰일이다. 영상: https://www.youtube.com/watch?v=IiIgm_yaoOA&t=1578s영상의; 상황내 상태$ elixir -v Erlang/OTP 27 [erts-15.2.7] [source] [64-bit] [smp:12:12] [ds:12:12:10] [async-threads:1] [jit:ns] Elixir 1.18.3 (compiled with Erlang/OTP 25) 설치 페이지에서 제공되는 버전설치페이지: https://elixir-lang.org/install.html#windowsiex 하면 프로그램가능한 상태가 되어야하는데 나는 추가 명령어를 오청받고 있다.컴터 재부팅하니 영상처럼 프로그램 가능한 ..

대규모 서비스 Elixir 엘릭서를 배워야하는 이유

선행지식 엘릭서는 얼랭의 상위 호한 언어입니다.얼랭에서 되는건 엘릭서에서 다 된다고 보시면 됩니다. 영상: https://www.youtube.com/watch?v=Rjyf_dELAeg 1:17:00 텔레그램과 디스코드 는 아주 많은 유저를 처리해야하는 서비스인데소규모팀으로 운영되고 있다.이것이 가능한 이유는 얼랭의 여러대의 컴퓨터를 하나의 컴퓨터 처럼 동작시킬 수 있다는 점 때문이다. 얼랭은 다른 컴퓨터의 함수를 실행시킬 수 는 언어입니다.마치 모든 함수가자동으로 rest 서비스를 한는것 처럼 구현되어있는데요이 점을 이용하면 아무 컴퓨터에대가 명령을 던져 실행시킬 수 잇습니다.그점을 이용한거 같군요 초반에 장점중에 아주큰 숫자를 문제 없이 처리할 수 있는 기능도 있습니다. 중간에는 웹소켓에 대한 이야기..

(bitaxe) 업데이트 / 새로 만든 웹페이지

링크: https://bitaxe.sidnft.com/ 집에서 비트코인 채굴 | 비트액스 bitaxe.sidnft.com별 디자인은 없고 현재는 글뿐입니다.비트액스 채굴기 관련 페이지를 만들어봤습니다.프로젝트 명이 bitaxe 입니다. 장치 리스트 들이 있고카톡 오픈채팅 링크도 달아두었습니다. 탐스 하드에처 소식을 듣다 문득 생각이 나서 시작했습니다.하드웨어 비교 사이트가 되면 좋겠군요

구글의 코딩 규칙

영상: https://www.youtube.com/watch?v=nmqJ_4tyw94&t=6s 규칙에 맞는 합당한 이유가 있기 때문에 알아두시면 좋습니다.이렇게 큰기업은 보통 개발영역이라이브러리 쪽과프로그램 쪽으로 나뉘는데요 라이브러리 개발할때의 입장을 잘 설명하고 있습니다.프로그램 개발자는 규칙에 덜 억메여도 되지만라이브러리 개발자는 다른 개발자에게 제공을 해야하는 입장이라 정확한 규칙에 의해 제공하면 좋습니다.

(APPS 업데이트) 개발 진행 상황 표시 추가

변경점빌드를 하면 버전이 올라가는 기능을버전이 올라가면 날짜를 기록하는 기능을 추가했고이것을 홈페이지에 표시하도록 했습니다.일단 show 버튼이 있고 누르면버전 과 빌드 후 얼마의 시간이 경과 하였는지 표시됩니다.버전을 보면 얼마나 고쳤는지 알 수 있고시간을 보면 최근에 뭘했는지 알 수 있습니다.페이지: https://apps.sidnft.com/페이지 하단에 위치합니다. 할일 추가1. show 버튼에 애니메이션 (다른 곳에 작업한거 통함)2. 로딩 애니메이션 추가 (다른 곳에 작업한거 통함) 3. 별도의 페이지로 분리

node.js express 와일드카드 (**) 못쓰게 되었네요 / missing parameter name / Unfinished Quotes

이번에 서버를 추가로 만들면서 버전이 달라 졌는데최신 서버는 켜지지가 않아서 알아봤습니다. ** (별 두개) 못쓰게 막혔네요app.get("/posts/**", (req, res)=>{ ~~과 같이 /posts 이후의 값을 모두 받는 코드가 이젠 예외를 뱃습니다. (뭇쓴다는 이야기)Unfinished Quotes이런 요류나missing parameter name이런 요류가 발생하며 서버가 시작도 못하게 되네요로 표시되는 요류입니다.app.get("/posts/*name", (req, res)=>{ ~~이런식으로 *뒤에 파라메터 명이 와야합니다.기능적으로는 뒤에 모든 값들은 받을 수 있게 됩니다.console.log("webgl", req.params);이런식으로 req 의 params 를 읽어보면 뒷부분..

github gist 붙여넣기를 활용해보자 / 코드 붙여넣기 서비스

여기에서 글을 쓰고 블로그에 붙일 수 있나보다.gist: https://gist.github.com/ Discover gistsGitHub Gist: instantly share code, notes, and snippets.gist.github.com 붙여보기들어간건가.. 미리 보기 안되넹 ... 배경색 검은색으로 고정은 안되려나 ..div style="background:black;">script src="https://gist.github.com/thisisone/7d496222f4a975274a6d4dc1d506b2f5.js">script>div>이렇게 붙여넣어봤다."> 잘들어간거 확인됨gist 페이지에서 코드를 수정할 수 가 없었다.내 컴에서 git clone 을 하고 고쳐서 올리면 바뀌는 ..