본문 바로가기

Category

(81)
함수 호출부와 함수 내부 메모리 주소 값이 다른 문제 ** Message: 22:20:25.118: ptr is 0x7fb69e2308** Message: 22:20:25.118: ptr is 0xffffffffb69e2308 첫번째 메세지는 함수 내부에서 반환하기전 변수의 포인터 주소값두번째 메세지는 함수 호출부에서 반환한 후 변수의 포인터 주소값 입니다. 프로세스가 저 두번째 주소값을 참조할 때 바로 죽는 문제가 있어서 디버깅 과정 중에 알아낸 것을 정리합니다. 결국에는 선언이 올바르게 되어 있지 않아 주소값을 올바르게 불러오지 못한 문제였습니다. 컴파일러가 왜 잡지 못했을까 보니 Warning만 뜨고 Error뜨지 않는다고 합니다.-Werror 태그를 붙이는 장점들이 여기서 발휘되는 것 같습니다. 호출부에서 주소값 전체를 올바르게 가져오지 못한다면올바..
Docker, #!/bin/sh: not found, function: not found 도커 컨테이너 안에서 쉘스크립트를 실행시킬 때 다음과 같은 에러가 발생한다../test.sh: 1: #!/bin/sh: not found./test.sh: 4: function: not found 지피티한테 물어봐도 OS에 따른 개행문제라고만 나올 뿐이었다.(Window, Linux 개행이 다른 문제일 수도 있다 확인 필요, grep or vi search로 찾아보자) 결론부터 말하자면쉘 스크립트 안에서 UNIX 표준 POSIX function은 해당사항이 아니었고bash만 지원하는 것이 문제였다. Docker 기본 쉘 스크립트가 어떻게 설정되어 있는지 살펴보자ls -l /bin/sh/bin/sh -> dash dash로 기본값이 설정되어 있는 것을 확인할 수 있다./bin/bash로 직접 실행해도 되겠..
VSCode 원격 접속(ssh)이 되지 않는 문제 vscode could not establish connection to the remote host does not meet the prerequisites 필자는 이러한 에러 문구가 뜨는 문제가 발생했습니다.전날까지 분명 ssh가 잘되었는데 말이죠,,? 찾아보니 VSCode 버전 문제더랍니다 (나도 모르게 업데이트를 했나,, ) 1.86버전부터 리눅스 서버 ssh 요구사항이 변경되었다고 합니다.그렇다면 1.85v을 쓰거나 아니면 요구사항을 응하면 되겠죠? 서버에 필요한 패키지를 업데이트 혹은 인스톨하거나 구버전의 VSCode를 사용하면 되겠습니다. https://code.visualstudio.com/updates/v1_85 November 2023 (version 1.85)Learn what is ..
core 파일이 생성되지 않는 문제 lighttpd 서버로 fcgi 프로세스를 만들어 통신하고 있습니다.이때 fcgi가 죽는 문제가 생기는데 디버깅하려고 하려고 하는데 core파일이 생성되지 않는 문제가 발생했습니다.cat /proc//limitsMax core file size 0 unlimited bytes 다음 cat 명령어를 통해 현재 적용된 core file size가 제한되어 있는 문제를 발견할 수 있습니다. 확인해야할 사항은 다음과 같습니다.1. lighttpd.conf code dump 설정 enable 여부2. lighttpd 파일 안에 setrlimit() 함수 확인3. fcgi 파일 안에 setrlimit() 함수 확인 이 세가지 사항을 확인 후 다시 c..
ssh, 패스워드 없이 접속하기 (key-gen) window Linux 기반으로 작성되었습니다.1. key-genssh-keygen -t rsa 해당 명령어를 Power Shell 혹은 CMD에 입력하고원하는 경로에 public key와 secret key를 발급받습니다.C:\Users\User\.ssh 경로에 생성된 key 확인! 접속을 원하는 원격 서버로 생성된 public key를 복사하여 옮깁니다.2. 원격 서버 sshd_config 설정/etc/ssh/sshd_config 파일을 수정하여pub key 인증 및 pub key path를 지정합니다.PubkeyAuthentication yesAuthorizedKeysFile %h/.ssh/authorized_keys 3. authorized_key 설정~/.ssh/authorized_keys위에..
Virtual Box, 공유 폴더 자동 마운트 설정 및 경로 버추얼 박스에서 자동 마운트시 기본 설정되는 경로는/media/sf_virtualBox 입니다. 공유 폴더를 사용하기 위해서는 Guest Additions 패키지가 설치되어 있어야 합니다!(1) 설정(2) 공유 폴더 -> 공유 폴더 추가 -> 호스트 공유 폴더 마운트 경로 지정 -> 자동 마운트 체크 테스트를 위해 호스트 마운트 지점에 임의의 파일 생성 혹은 복사 (3) 버추얼 박스 /media/sf_virtualBox 경로 확인
React, 절대 경로 설정 (Vite 기준) TypeScript 기준으로 쓰였습니다.1. tsconfig.json Setting혹은 tsconfig.app.json 파일에 설정 baseURL 및 path 설정src 혹은 자신이 원하는 임의의 디렉토리 위치를 설정하면 됩니다. "compilerOptions": { "baseUrl": ".", "paths": { "@/*": ["src/*"] }, }2. vite.config.ts Settingtsconfig.json 뿐만 아니라 번들러 모듈 설정도 필요합니다.만약 WebPack으로 설치하셨다면 webpack.config로 작성하시면 됩니다. (1) vite-tsconfig-paths모듈 설치npm install vite-tsconfig-pathsimport { define..
TypeScript, 특수 타입 유니온 타입 (Union Type)let fruits1: (string | number)[] = ['apple', 'banana', 'mango', 1, 2, 3, 4];let fruits2: Array = ['apple', 'banana', 'mango', 1, 2, 3, 4];console.log(fruits1);console.log(fruits2); Array를 선언할 때 다음과 같이 OR('|') 연산자를 사용하여 다중 타입을 사용할 수 있습니다. Unknown Typelet testUnknown: unknown[] = ['apple', 'banana', 'mango',1 ,2 ,3 ,4, true];console.log(testUnknown);다음과 같이 일반 자바스크립트처럼 타입을 지정하지 않..