golang에서 GOPATH란 GOPATH의 이해

GOPATH 개론 go 언어를 다루다보면, 주로 처음 접하게 되면, 다른 언어와 다르게, go는 특정 디렉토리에서만 개발을 해야됩니다. 외부 패키지를 관리하기 위함인데요. 다른 언어처럼 아무 디렉토리에서나 개발할 수는 없습니다. 물론 GOPATH로 희망하는 디렉토리를 선정할 수는 있지만, 모든 go 프로그램은 해당 디렉토리 밑에 위치해야 합니다. 즉, ~/dev/project1 이나, ~/dev/project2 이런식으로 다른 디렉토리에 넣을 수는 없습니다. 현재 GOPATH를 …

더 읽기

Raspberry Pi 살아있는지 확인하는 부팅 프로그램

라즈베리파이의 경우, 모니터를 연결하는 hdmi 포트가 있습니다. 디스플레이를 연결하여 부팅 내역을 볼 수도 있습니다. 하지만, 빠르게, 대량으로, 작업하는 경우, 매번 디스플레이를 연결할 수 없는 노릇입니다. 그래서, 아래와 같은 구조를 구현했습니다. 라즈베리안을 설치한 SD카드에, 부팅시 프로그램이 실행되도록 합니다. 부팅에 성공하면, 스크립트가 실행됩니다. 스크립트는 slack이나 메신저에 맥 어드레스를 보냅니다. (Rest API). Raspberry Pi OS 준비하기 Raspberry Pi …

더 읽기

랜덤 패스워드 생성기 소스코드

랜덤 패스워드 생성기가 왜 필요할까요? 랜덤 패스워드 생성기는 온라인 계정의 보안을 강화하기 위해 필요합니다. 유추하기 쉬운 패스워드는 공격의 대상이 될 수 있습니다. 그래서, 유추하기 어려운 패스워드를 생성하는 것이 보안의 시작점입니다. 강력한 패스워드는 다음과 같은 이유로 중요합니다: 보안 강화 랜덤 패스워드는 예측하기 어렵기 때문에 악의적인 개인이 패스워드를 추측하여 계정에 접근하는 것을 어렵게 만듭니다. 예측 가능한 패스워드(예: …

더 읽기

Go lang 에서 hex 스트링 변환 방법

golang을 이용하여, 시리얼 통신을 하고 있습니다. 해당 장비에서 hexa값으로 프로토콜을 받고 있습니다. 입력과 결과 파일을 사람의 눈으로 인지하기 쉽도록 16진수 스트링으로 보여주면 좋습니다. hexa 값을 터미널에 그대로 보여주면 사람의 눈으로는 어떤 값인지 알 수가 없습니다. 이때 사용하는 패키지가 encoding/hex 입니다. hex 패키지에는 hexa값을 문자열로 변경하는 함수와, 문자열을 hexa 값으로 변환하는 함수가 들어 있습니다. Byte 를 …

더 읽기

ChatGPT로 어셈블리 구현해 봤습니다.

컴퓨터 언어도 언어입니다. 어셈블리는 고전 언어에 해당됩니다. 최근에 나온 언어는 아니죠. 그래서, 당연히 학습이 되었을 겁니다. ChatGPT는 2021년 9월까지 학습되었으니까요. 그래서, 어셈블리로 간단한 프로그램을 짜는 것을 요청해 보고, 실제로 해당 프로램을 돌려보려고 합니다. 사실 이 작업은 아들에게 ChatGPT가 이제는 프로그램도 짠다는 것을 보여주려는데, 갑자기, ‘그럼 어셈블리로 짜보세요.’ 라는 말에, 그것 재밌겠다 싶어서 시작하게 된 내용입니다. …

더 읽기