기타66 [Elixir] Elixir 프로젝트 생성 오류 Elixir 맛만 보려다가 프로젝트 만들어보는 것만 1시간 넘게 걸렸다. 1. Elixir SDK를 제트브레인 IDE에서 인식하지 못하는 문제.그냥 인식 안하는 것 같다. plugin만 설치하고 나머지는 명령어로 하면 되는듯. JDK처럼 따로 SDK를 인식시켜줘야한다거나 하는 건 없는 듯 하다. 문제인줄 알았지만 문제가 아니었다. vscode에서 해보고 알았다.2. 파일 이름에 '-'(하이픈)을 쓰지 말아야한다.왜... 못써요? ...... Erlang의 가상 머신(Beam)의 명명 규칙이라고 한다. ** (Mix) Application name must start with a lowercase ASCII letter, followed by lowercase ASCII letters, numbers,.. 2023. 7. 16. AES, CBC 그리고 IV AES는 양방향 암호화 방식으로 복호화가 필요할 때 쓴다. 가장 대표적인 쓰임새로는 JWT가 있다.SHA는 단방향 암호화 방식으로 복호화가 불가능하기 때문에 비밀번호 저장 등에 쓰인다. CBC는 AES의 암호화 방식 중 가장 많이 쓰이는 방식이다. CBC는 Cypher Block Chaining의 약자로, 주목해야할 건 'Block Chain'이다. 블록체인은 이전의 블록 데이터로 다음 블록을 생성하는 방식이다. 하지만 첫 블록은 데이터가 없기 때문에 IV(Initialize Vector)가 필요하다. Initialize라는 단어를 보면 바로 감이 올 것이다. 정리하면, 첫 블록은 IV로 생성하고 이후의 블록들은 그 전 블록의 데이터를 기반으로 생성된다. 2023. 7. 6. [Node] native addon과 워커 스레드 요약: 네이티브 애드온은 여러 스레드에서 동시 사용이 불가능하다. Error: Module did not self-register 스택 오버 플로우에서도 정답이 없고, 한글로 검색하면 비슷한 것도 안나왔다.깃헙 이슈에도 딱히 답이 없었다.단, 한가지 공통점은 대부분 워커 스레드와 연관해서 네이티브 애드온을 사용하려고 할 때 발생했다. 상황은 c++로 애드온 모듈을 만들고 컴파일 해서 .node 파일로 만든 뒤 이걸 워커 스레드에서 가져다 쓰는 식이었다.동시성 문제도 고려해야하고 단순히 노드의 내장 기능으로는 구현할 수 없는 기능이 있어서 .node로 함수를 하나 만들었는데, 두 워커 스레드에서 이 파일에 접근하려고 할 때 `Error: Module did not self-register`에러가 발생했다.. 2023. 7. 2. 개발의 세계관 옛날 세계관: 반복문, 조건문, 변수, 함수 요즘 세계관: 반복문, 조건문, 변수, 함수, class, interface 2023. 6. 21. [Node] node로 크롤러 개발 이슈들 정리 개발할 것특정 웹사이트 크롤링 개발 언어python의 셀레니움도 생각헀지만, 너무 흔하고 이미 해본 것이라 신선함도 느껴볼 겸 puppeteer를 써보기로 했다.puppeteer는 구글이 개발했다고 한다. 바로 신뢰도 200%. 타입스크립트로 진행했다. 무한스크롤 관련 이슈를 제외하면 개발 자체 난이도는 높지 않았다. 프로세스가 멈추었는지 여부를 보여주기 위해 프로그레스바를 이용해 진행 상태의 시각적 효과를 추가했다. 빌드는 webpack을 이용했다. 전달 방식에 대한 고민첫 번째 생각분명 상대방 컴퓨터의 node 설치관련 문제가 있을 거라 생각했다.그래서 pkg라는 라이브러리로 바이너리 실행파일을 만들어 전달하려고 했지만, puppeteer가 문제였다. 직접 브라우저를 조작하여 크롤링하기 때문에 바.. 2023. 5. 15. 이전 1 ··· 8 9 10 11 12 13 14 다음