Posts

Showing posts with the label linux

리눅스에서 베이스64 인코딩과 디코딩

by joviansummer original STEEMIT post: https://steemit.com/blog/@joviansummer/64 바이너리 데이터를 베이스64 인코딩을 통해서 출력가능한 문자열 형태로 변환할 수 있습니다. 반대로 디코딩을 하면 문자열로부터 바이너리 데이터를 얻을 수 있습니다. @ayogom님의 포스트에서 블럭체인에 직접 이미지 데이터를 올리는 예시를 볼 수 있는데, 아래의 링크입니다. 스팀 체인에 이미지를 올릴 수 없을까? 리눅스에서는 베이스64 인코딩 디코딩을 하는 명령어를 제공하기 때문에 아래와 같이 간단하게 시험해볼 수 있습니다. base64라는 명령을 사용합니다. # test.jpg 파일을 베이스64 인코딩하여 출력 base64 test.jpg # 인코딩 결과를 test.b64 파일에 저장 base64 test.jpg > test.b64 디코딩은 아래와 같이 할 수 있습니다. # test.b64 파일을 베이스64 디코딩해서 test2.jpg로 저장 base64 -d test.b64 > test2.jpg 용량이 크지 않은 바이너리 데이터를 스팀 블럭체인에 직접 기록하고 싶다면 베이스64 인코딩을 해서 포스팅하면 되겠습니다. 복원할 때는 인코딩된 문자열을 파일로 저장해서 디코딩하면 되겠죠. 한가지 유의할 점이 있는데요. 스팀 블럭의 최대 크기가 64kB이고, 인코딩된 결과는 원본 바이너리 데이터보다 용량이 1.5배 이상 늘어날 수 있으므로 32kB 이내의 파일에 대해서 적용하는 것이 좋겠습니다. 조금 더 큰 파일도 될 것 같긴 하지만 스팀 블럭이 사용자 포스트 본문 외에 다양한 정보들이 함께 있기 때문에 64kB를 전부 사용자 데이터로 채울 수는 없습니다. 그러므로 32kB 이하 정도로 생각하시는 것이 나을 것 같습니다. @joviansummer의 스팀 프로젝트 스팀 증인노드를 운영중입니다. @jswit에 증인투표해 주시면 감사하겠습니다. ( https://steemitwallet.com/~w...

리눅스 grep에서 검색된 문자열이 있는 파일명 표시

by joviansummer original STEEMIT post: https://steemit.com/blog/@joviansummer/grep 예전에 특정 계정의 포스트를 캐쉬(cache)로 저장하고 포스트 내용을 검색하는 방안을 검토했었는데, grep을 활용해서 구현할 수 있을 것 같아서 기록합니다. 어느 캐쉬 파일에 어느 문자열이 있는지 파악을 할 수 있는 간편한 방법이 될 수 있을 것 같기 때문입니다. jSTEEM 프로젝트에 포스트 검색 기능 추가 검토 - 2 리눅스에서 문자열 검색을 하는 명령어인 grep에서 찾고자 하는 문자열이 어느 파일에 있는지 표시할 수 있습니다. -H 옵션을 추가해 주면 됩니다. # txt 파일에서 문자열 "abc"를 검색하고 어느 파일에 있는지 표시 grep -H "abc" *.txt 리눅스에서 위와 같이 입력할 경우 결과는 아래와 같은 형태로 출력됩니다. 파일명:문자열 형태입니다. my_text.txt:abcdefg 당장에 뭘 작업한다기 보다는 가능성 검토 차원입니다. @joviansummer의 스팀 프로젝트 스팀 증인노드를 운영중입니다. @jswit에 증인투표해 주시면 감사하겠습니다. ( https://steemitwallet.com/~witnesses ) jswit 증인 노드 프로젝트를 시작합니다. jsup 업보팅(upvoting) 서비스 소개 jsup 수혜자 지정 기능 추가 jSTEEM 프로젝트 - 텔레그램 챗봇으로 구현하는 스팀 블럭체인 탐색기 STEEM.NFT - 디지털 아트 보존 프로젝트 Posted through the AVLE Dapp ( https://avle.io )

tmux 강력 추천 (리눅스)

by joviansummer original STEEMIT post: https://steemit.com/blog/@joviansummer/tmux 리눅스에 tmux라는 프로그램이 있습니다. 이렇게 굉장하고 좋은 프로그램이 있다니 놀라울 따름입니다. 터미널창 하나를 여러개로 분할해서 사용할 수 있고, 원격에서 ssh로 접속해서 작업하다가 작업하던 내용을 그대로 놔두고 접속을 종료했다가 나중에 다시 그 상태 그대로 다시 재개할 수 있습니다. 사용법은 여기 다시 쓰는 것보다 잘 정리된 블로그가 있어 링크합니다. 아래의 링크입니다. Tmux 설치, 사용하는 방법, 예제, 명령어 리눅스 터미널창을 사용하는 사람이라면 강력 추천입니다. 리눅스 좀 쓰는 사람이면 누구나 다 사용하는 프로그램인데 나 혼자만 몰랐던 것은 아닐까 싶기도 하네요. @joviansummer의 스팀 프로젝트 스팀 증인노드를 운영중입니다. @jswit에 증인투표해 주시면 감사하겠습니다. ( https://steemitwallet.com/~witnesses ) jswit 증인 노드 프로젝트를 시작합니다. jsup 업보팅(upvoting) 서비스 소개 jsup 수혜자 지정 기능 추가 jSTEEM 프로젝트 - 텔레그램 챗봇으로 구현하는 스팀 블럭체인 탐색기 STEEM.NFT - 디지털 아트 보존 프로젝트