분류 전체보기 49

MS 스컬프트 마우스와 씨름하기

아내를 졸라서 EV7 전동 드라이버를 산 김에 오래전에 배터리 누액으로 서랍 한켠에 버려놨던 MS 스컬프트 마우스를 꺼내왔다. 이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다. 일단 뚜껑을 여는 방법은 이 영상에서 아주 자세히 나와있다. https://www.youtube.com/watch?v=LSHhUtoUxAQ 그리고 돌리기 참 힘든 곳에 있는 별 나사가 5개 있다. 아래 영상 2분부터 보면 별 나사가 어디어디에 있는지 알 수 있다. https://youtu.be/0eJJQXCdkD8?si=7QflGSOy9M5nTIAz&t=121 깊이 있어서 풀기는 쉽지 않다.;; 위의 공구에서 저 별나사는 T6H 비트를 이용해서 풀 수 있다. 그 다음으로 옆구리(?)를 열어야 ..

개발자 일상 2024.04.17

homebrew로 설치한 asdf-vm을 업데이트 한 이후에 asdf로 설치한 프로그램들의 동작이 안되는 문제

homebrew로 asdf-vm을 설치하고 나서 asdf로 프로그램들을 설치해서 쓰다가 homebrew로 asdf를 업데이트 하고 나면 asdf로 설치한 프로그램들이 동작이 안되는 경우가 있다. 보통은 명확하게 업데이트 이후에 동작이 안된다고 인지하기 보다는 그냥 아래와 같은 에러 메세지를 어느날 갑자기 보게된다. /Users/myhome/.asdf/shims/node: line 8: /opt/homebrew/Cellar/asdf/0.10.2/libexec/bin/asdf: No such file or directory /Users/myhome/.asdf/shims/node: line 8: exec: /opt/homebrew/Cellar/asdf/0.10.2/libexec/bin/asdf: cannot ..

Linux 2023.11.17

캐시 걸린 파일 변경

어떤 서비스에서 URL을 캐시하고 있는 파일을 교체했는데, 기존 파일을 삭제하고 새 파일을 넣었더니 캐시에서는 아직 기존 파일의 URL을 주고 있어서 파일이 없는 문제가 생겼다. 이걸 해결하는 방법에 뭐가 있을까? 캐시 시간 동안 파일 삭제를 미룬다. 어딘가 큐나 DB 등에 삭제할 파일을 넣어두고 일정 시간이 지난 뒤 삭제하는 방법. 대충 캐시되는 시간을 알고 있어야 하고 이를 변경하는 사람한테 공지해야 한다. 여러 리소스를 이용하면서 파일 삭제용 큐는 하나만 이용해도 된다는 장점이 있다. 파일이 삭제되면 캐시를 지우라고 노티한다. 해당 파일이 캐시되어 이용되는 곳들을 미리 알고 있다가 해당 파일이 변경되면 캐시를 지우라고 알려주는 방법. 캐시하는 곳을 놓칠 수도 있고, 캐시하는 곳에서 노티를 받아 갱신..

개발자 일상 2023.08.27

Label 태그를 클릭했는데 클릭이 두 번

이런 HTML과 체크 이런 Javascript가 있을 때, const outEl = document.querySelector('#output'); document.querySelector('#my-test').addEventListener('click', () => { outEl.innerHTML += 'click!!! '; }); '체크'라는 글씨를 클릭하면 output에 click!!!이 두 번 찍힌다. 이런 일이 발생하는 이유는 label 태그를 클릭하면 label 태그의 for 속성과 연결된 input tag에서 자동으로 클릭 이벤트가 발생하기 때문이다. 그래서 label을 클릭하면 -> event bubbling에 따라서 div#my-test에 클릭이 발생하고(click!!!을 한 번 찍고) -..

Javascript 2023.04.13

[Typescript] class to json

Typescript에서 class를 json 문자열로 바꾸는 방법에 대한 고민. 일단 평범?하게.. 별 문제없이 성공 class MyTest { first = 1; second = "It's my test!"; third: string[] = ["Hello", "World"]; } console.log(JSON.stringify(new MyTest()));​ 이렇게 하니까 무한루프를 탄다. class MyTest { first = 1; second = "It's my test!"; third: string[] = ["Hello", "World"]; toJSON(): string { return JSON.stringify(this); } } const o = new MyTest(); console.log(..

Javascript 2023.03.02

CentOS 지원 종료를 맞이하며...

CentOS는 2020년 12월 8일 CentOS project shifts focus to CentOS Stream이라는 글을 통해서 RHEL(RedHat Enterprise Linux)를 그대로 다시 배포하는 CentOS는 더이상 하지 않기로 했다. 제목대로 CentOS 말고 CentOS Stream을 하기로 했다는데... CentOS Stream CentOS 개발자들하고 RedHat이 협업하기로 하고서 내놓은 배포판. Fedora Project와 RHEL 사이 정도에 위치해 있고 매일 여러번의 패치가 제공될 수 있을 것이라고 함. 그래서.. 매일 여러번의 패치라는 건 결국 운영상의 안정성에는 문제가 생길 수 밖에 없다는 뜻이고.. 그러니 이제 운영환경에서 CentOS는 사용하지 않는 편이 낫다가 됨..

Linux 2023.02.27

[PHP] MacOS에서 OpenSSL 문제 처리

PHP를 빌드했는데.. curl을 이용할 때나 file_get_contents에 url을 넣어서 텍스트를 읽어올 때 아래와 같은 SSL 인증서 오류가 나면서 동작이 되지 않는 문제가 생겼다. PHP Warning: file_get_contents(): SSL operation failed with code 1. OpenSSL Error messages: error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed in /Users/gilchris/t.php on line 2 PHP Warning: file_get_contents(): Failed to enable crypto in /Users/gilchris/t...

PHP 2022.06.17