개발
-
어제 글을 존나 날림으로 썼는데 왜 그러냐 하면 그 글의 내용 이외에 mui 적용하려고 똥꼬쑈를 하다가 결국에는 안되었기 때문이었다. 아니 esm.sh 통해서 설치까지는 되는데 스타일이 제대로 안먹음… 쉬발… 오늘은 왜 늦게 쓰기 시작하냐면 우마무스메 3기 마지막화를 봐야했기 때문이다. 여튼 이어서… mui가 안되므로 울며 겨자먹기로 부트스트랩을 써봅시다. 붙스트랩이 좋은 점은 css는 그냥 cdn 암거나 가져다 쓰거나…
-
나는 node와 npm을 싫어한다. node_modules가 프로젝트마다 생기는게 싫고 webpack 설정이 싫고 타입스크립트 쓰려면 별의별것을 다 써야하고 바벨써야하고 뭐 시발 간단한 타입스크립트 프로젝트 하나 만들라면 설정하는데 시간 다잡아먹고 의욕도 떨어진다. 지금까지 deno를 node의 대용으로 사용하려고 한건 순전히 nextjs로 되어있는 걸 fresh로 바꾸려는게 목적이었는데… 4년전쯤 만들었던 게 제대로 작동 안한다는 소식을 듣고 고쳐볼까 했는데… 그게… 프론트 얼마…
-
기존에 node:crypto를 이용해서 파일을 암호화했었다. 이걸 이제 deno로 옮기려는데 며칠을 삽질을 해도 제대로 안되었다… 그래서 결국에 스택오버플로에 질문을 올렸고 매우 빠르게 답변을 받았다. 일단 node:crypto는 webcrypto를 구현한 것이 아니고 따라서 webcrypto (deno crypto가 구현한 것)과는 바로 연동?이 되지 않는다고 한다. node:crypto쪽에서 webcrypto와 연동이 되게 하려면 node:crypto 쪽에서 encrypt를 할 때 authTag에 대한 정보도 같이 넘겨주어야…
-
어제에 이어서 crypto-js의 AES.encrypt/AES.decrypt 를 구현해봅시다. 테스트 코드 잘 작동한다.
-
crypto-js를 이용해서 암호화를 작성해놓은 코드가 있었는데, 작성시기가 2~3년 전쯤이었다. 어느날 그냥 crypto-js를 찾아봤는데 더이상 서스테이닝을 안한다고 한다. 후… 그럼 버려야지. 그런데 문제가 있다. 이거 그냥 CryptoJS.AES.encrypt 이런 식으로 사용했었는데 이게 몇비트고 어떤 방식으로 동작하는지 자세히 알아야하는데 코드를 보니 너—-무 구닥다리 자바스크립트라서 코드 따라가는 것 조차 버거웠다.. 그냥 다른걸 쓰자니 이미 이걸로 암호화되서 저장된 값들이 있어서…
-
ANTLR4를 작년에 validator 만들 때 보고 그 뒤로 안보고 있었다. 물론 그때도 타입스크립트로 만든다고 공식 ANTLR4가 아닌 antlr4ts를 써서 공식 ANTLR4를 찾아본지는 꽤 오래 되었는데… 간만에 들어가보니 ANTLR4 명령어?가 파이썬 이용하는걸로 바뀌어서 기존에 jar파일 받아서 java -jar antlr4.ts 어쩌구 저쩌구가 훨씬 편해졌다…. 그리고 antlr4ts는 서스테이닝이 안되고 있어서 하루빨리 버려야한다. 여튼 그러한 이유로 공식 ANTLR4를 써야하고,…
-
AES를 이용하여 노드에서 파일 암호화를 해봅시다. 타입스크립트 설정이 매우 귀찮으므로 그냥 자바스크립트 node 18부터 뭔가 이상한게 추가된 듯 하다. 특히 저 parseArgs가 좀 편하네… arguments 파싱하려고 라이브러리 뒤지다가 요즘에도 다운로드가 많은거 확인해보니 1년전 업데이트라서 하… 쉬바… 하고 있었는데 18.3부터는 저게 된다 함. 여튼 이런 식으로 파일 암복호화가 가능하다.
-
레지스트리 값을 바꾸면 된다 [code] HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Console\TrueTypeFont [/code] 에서 949의 값을 바꾸면 된다.(한글 윈도 CP949) 그 뒤 쉘을 실행하고 제목표시줄 오른쪽 클릭 -> 속성에서 폰트를 바꾼 폰트로 바꾸면 된다. 쉘이니만큼 고정폭글꼴을 사용하는 것이 좋을 것 같다.
-
const는 무조건 앞에 있는 것을 수식한다. 가령 const int* p; 의 경우에는 p가 가리키는 int의 값을 수정하지 못한다. [code language=”c”] int n = 3; const int* p = &n; *p = 4; // error! [/code] int const* p의 경우에도 위와 마찬가지다. 그러나 int* const p의 경우에는 p의 값을 변경하지 못한다. 즉, 한번 가리킨 곳을 계속…
-
직순열을 출력하려면 ‘이미 출력한 숫자들의 정보’를 알아야한다. 그런데 문제는 ‘순열’이라면 조합과는 다르게 순서가 다르면 다른 종류라는 것이다. 이런저런 생각을 해보면 위와같은 정보를 담기 위해서는 boolean 배열을 넘기는 것이 좋아보이기는 하지만 ‘배열’은 포인터로 넘어가기 때문에 경우에따라 다르게 사용하려면 깊은 복사를 해야하고, 그러면 그만큼 오래걸린다. 10!만해도 3628800가지가 나오기 때문이다. 그래서 떠올린 것은 액세스도 빠르고 표시하는 것도 빠르도록…