전체 글

개발 관련 이슈 해결방안, 활용 방법, 제품 리뷰 등을 기록하는 개인 블로그
윈도우의 경우 pickpick 이라는 프로그램을 주로 사용해왔다. Mac OS 로 넘어오면서부터는 기본 스크린캡쳐 기능을 사용했는데, 윈도우와 달리 별도 서드파티 앱을 설치할 필요를 느끼지 못할정도로 완성도가 높아 애용하였다. 하지만, 스크린캡쳐 이후 편집 기능이 필요한 상황에선 여간 불편한게 아니였는데 이를 보안해주기 위해 Lightshot Screenshot 이라는 프로그램을 사용해왔다. 위 프로그램은 앱스토어에서도 받을 수 있는데, 무료에 나쁘진 않지만 해당 프로그램을 m1 이상의 arm 기반 프로세서에서 사용하게 되는 경우 그 유명한 로제타2를 설치해야하는게 필수이다. 소문처럼 워낙 로제타2가 잘 나와서 사실 큰 이슈는 아니지만, 아무래도 m1,m2 기반에서 이젠 로제타 설치를 안해도 되지 않나 ..
· 이슈
Mac OS 의 경우 파이썬 내에서 한글폴더를 인식하지 못하는 경우가 있는데, 이는 한글표기방식을 윈도우의 경우 NFC(Normalization Form Canonical Composition)로 맥에서는 NFD(Normalization Form Canonical Decomposition)로 표기되기 때문이다. NFD는 자모음을 각각 저장하는 방식이고, NFC는 완성된 하나의 문자를 저장하는 방식이라 이해하면 쉽다. 윈도우와 Mac Os 간의 한글 파일 전송,수신시에도 파일명이 깨져보이는 현상을 경험해본 적 있을텐데 OS마다 다른 방식을 채택하여 사용하고 있다보니, 이런 이유 때문에 불편한 경우가 잦게 있는 편이다. 파이썬에서 폴더를 담고 있는 '경로' 라는 변수가 있다. print(경로) # /User..
· 이슈
해결방법 preferences ( cmd + , ) - 버전관리 - 커밋 - 코드분석 체크 해제
Electron Framework 를 VsCode에서 개발진행하는 경우 디버깅을 하기 위해서는 설정이 필요하다. 다음 그림과 같이 내부 .vscode 폴더를 만든 후 launch.json 파일을 만들어준다. launch.json 내용은 다음과 같다. { "version": "0.1.0", "configurations": [ { "name": "Debug Main Process", "type": "node", "request": "launch", "cwd": "${workspaceFolder}", "runtimeExecutable": "${workspaceFolder}/node_modules/.bin/electron", "windows": { "runtimeExecutable": "${workspaceFo..
· 학습
프론트엔드 업무를 진행하다보면, 무수한 좌표들 가운데 최종 폴리곤 라인을 따야하는 경우가 왕왕 발생한다. 이때 사용하는 방법이 convex hull 알고리즘이다. Convex Hull은 점 집합을 둘러싸는 최소한의 볼록 다각형을 찾는 컴퓨터 과학 알고리즘이다. 이 볼록 다각형은 주어진 점 집합을 포함하며 모든 내부 각이 180도 이하인 다각형이다. Convex Hull은 다양한 응용 분야에서 사용되며, 기하학, 이미지 처리, 컴퓨터 비전, 로봇 공학, 지리 정보 시스템 (GIS) 등에서 사용된다. Convex Hull을 찾는 알고리즘은 여러 가지가 있으며, 다음은 가장 널리 사용되는 두 가지 알고리즘이다. Graham's Scan 알고리즘: 입력: 좌표 집합 배열 출력: Convex Hull을 형성하는 ..
윈도우를 평생 사용하다, 맥북을 사용하다 보면 가장 불편한 점이 한두 가지가 아닐 것이다. 아무래도 사람은 익숙한것을 가장 옳다고 생각하는 경향이 있는데, 맥북의 한영 전환 방법은 정말 최악인 건 사실이다. 무려 캡스락을 한영키로 사용하라니.... 한글 표현방식 NFD 방식을 사용하는 점보다 더 맘에 안드는 부분이다. 많은 블로그들의 글을 보면 맥북의 한영키를 대게 오른쪽 cmd(커맨드) 버튼으로 대체하여 사용할 수 있는 방법을 안내하고 있는데 이는 이미 윈도에 익숙한 사람이라면 환영할만한 이야기이다. 다만, karabiner(카라바이너)를 사용하는 점은 빼고 말이다. 카라바이너는 하이시에라 까진 뭐 나쁘진 않았는데, 이후 버전부터는 종료시 다시 부팅되는 현상 등을 비롯한 버그들이 창궐해지기 시작해 개인..
강원전자에서 나온 어댑터입니다. 아무래도 돼지코 끼고 사용하기엔 불안하기 마련이죠. 해당 제품은 어댑터와 8자형 케이블로 이루져있어 8자형 케이블이 고장나더라도 해당 케이블만 다이소에서 사서 교체해 쓰기에도 좋습니다. 저도 Beelink N95에 사용중인데, 잘 됩니다. N100도 동일한건지는 모르겠지만 N95에서는 잘 쓰고 있습니다. 가격은 현재 기준 10400원입니다. 아래 최저가 링크 공유드립니다. KW KW-A1230B 12V 3A SMPS 아답터(5.5x2.5mm/C:+)
슬랙 API 를 이용하여, 슬랙 Bot 만들기 배경 회사에서 슬랙봇을 만들어야하는 상황이 발생했다. 요구사항은 간단하다. 구현해놓은 봇에게 특정 명령어를 입력하면 굳이 관리자페이지까지 접속할 필요없이 바로바로 즉각적으로 정보를 확인하는 기능만 있으면 됐다. 실제로 구현하면서 특정 IP 대에서만 가능하게 처리를 진행하고 봇 내부에 데이터베이스도 붙이면서 다양한 작업을 진행했지만 아무래도 회사에서 쓰려고 만든거기 떄문에 해당 코드를 공개할 순 없으므로 간단한 말따라하는 봇을 만들어볼까한다. 이정도 예제라면 충분히 이후에도 응용하여 다양한 봇들을 생산하는데 큰 이슈는 없을것으로 보인다. 파이썬으로도 구현해봤지만, 라이브러리 안정성은 Node js 쪽이 더 좋은 것 같아, Node JS 용으로만 작성을 진행했다..
· 이슈
배경, 원인과 해결방안을 찾기까지의 과정은 이전 포스팅 글에서 확인할 수 있다. 원인이 파악된 시점, 해결방안은 3가지 정도 고려할 수 있었다. 클라이언트 프로그램 실행이 되는 PC / 모바일 내 IPv6를 비활성화 처리 Node.js 내 http/https Request 시 axios , request.js 내 family 설정 도메인 내 AAAA 레코드 추가 / Nginx Server Conf 파일 내 IPv6 호환 설정 1. 클라이언트 프로그램 실행이 되는 PC / 모바일 내 IPv6 를 비활성화 처리 위 방법은 클라이언트 프로그램을 실행하는 PC나 모바일에 직접 처리하는 방법으로, 검증을 위한 간단하게 확인할 수 있는 방법이므로 가볍게 설정하는 방법과 함께 빠르게 지나가도록 하자. 실제 고객들에게..
· 이슈
1. 배경 개발한 Node.js 기반 Electron Framework로 만든 클라이언트 프로그램은 실행 시, axios를 통해 특정 서버 상태를 확인하는 로직이 들어가 있다. Get방식의 특정 URL 을 호출해 리턴되는 Response 내 status를 확인하고 큰 이상 없으면 넘어가는 아주 단순한 로직이다. 이게 정상적으로 처리되지 않으면 에러대응 페이지로 넘겨주도록 되어있다. 어느날 클라이언트 내에서 에러대응 페이지가 계속 나온다는 이슈보고가 들어왔다. 침착하게 확인해본 결과... 아무 이상이 없었다. 팀 동료들에게 테스트를 부탁하였는데 다들 아무도 이상이 없었다고 한다. 즉, 정상적으로 실행되고 있었다. 처음엔 서버가 다운된거 아닐까 하는 의심을 받았지만, 서버는 아무 이상이 없었다. 도대체 뭐가..
신·기록
문제해결집