VScode 두번째 커밋 약 3달전에 커밋이 완료됐고 1월달에 반영된것을 이번달 초에나 알게 됐고, 테스트를 해보았더니 버그가 있었다. 버그 영상 VsCode 윈도우 버그 맥 버그 맥과 윈도우의 엔진(VSCode는 크로미움 기반의 일렉트론을 쓴다) 맥 정책때문에 브라우저 엔진의 제한이 있어, 동일한 크롬이더라도(사용자에겐 거의 동일한 퍼포먼스로 차이가 거의 없다) 개발시에는 하나의 테스트 기기만 두고 개발하면 거의 99%(100%) 버그가 난다. 간단한 부분만 수정하니, 문제 없을거라 생각했는데 문제가 있었다. Mac에서는 KeyEvent에 Process가 없다. Process로 구분했는데, 대신 isCompsed는 동일한 호환성을 지닌것을 확인해 해당 코드로 수정하였다. 그리고 2일정도 코드 분석하여 ..
정말 사소한 버그 과거에 쓴 vscode를 사용하던 중 toggle screen cast 모드에서 한글이나 중국어, 일본어 같은 ime(조합형 문자)가 제대로 표시되지 않는 버그가 있었다. 사실 버그라고 하기에도 애매한게 toggle screen cast는 개발자가 입력한 키를 간단한 토스트메시지로 보여주는 기능이며 실제로 개발시에 자주 쓰지 않는 기능이다 개인적으로 라이브 코딩으로 강의 할 일이 생겨서 해당 기능을 사용하려고 하던 중 발견했고, 코드를 확인해보진 않았지만 그렇게 고치는게 어렵진 않겠구나 라는 생각. 그리고 vscode에 기여해보고 싶다는 생각에 한번 도전해보았다 일렉트론 기반에 typescript로 만들어졌다는건 들었다. 모르긴 몰라도 나도 그냥 코드 보면 분석은 할 수 있겠지 라는 자..
Rust Wasm 속도 이슈 정리 러스트에서 자바스크립트로 값을 주고 받을 수 있는 데이터형 JavascriptRust비고 number 정수형(i32, u32.. 등) string 문자열(String) Object 엄밀하게 말하면 받을 수 없다. serde_derive, serde_json 등을 활용 Array(Object) vec[] Uint8Array &[u8] new Uint8Array(await imageBlob.arrayBuffer()); Input 값이 숫자일 때 #[wasm_bindgen[js_name = "isPrime"]] pub fn is_prime(num: i32) -> bool { let mut i = 2; let mut result = false; loop { if num % i ..
WebAssembly와의 만남 개인적으로 웹어셈블리를 알게 된 건 이미 2~3년 정도 지났다. 당시에도 매우 흥미있게 지켜봤고, 나만 그런걸수도 있지만 개발자라면 어셈블리라는 단어에 혹하기 마련이다. 다룰 줄 안다면 왠지 남들보다 괜찮은 개발자라고 착각하기 쉽기 때문이다. 다만 당시에 다룰 수 있는 시스템 프로그래밍언어(C++, Rust, Go..) 등이 전혀 없었고(C는 잠깐 배운정도) 실력에 비해 만들고자 하는 것들에 대한 욕심이 과했다. 꿈은 높은데 현실은 시궁창이야 능력은 안되는데, 관심은 많아서 Wasm으로 만들어진 플래시 부활 프로젝트인 Waflash나 Rufle(맞나?)를 관심있게 지켜보기도 했고 ffmpeg을 wasm으로 빌드하여 클라이언트에서도 돌릴 수 있게 한(실전성은 여전히 부족하다)..
긴말은 필요 없다 vite가 빌드 속도가 빠르기 때문에 변경하면 나중에 코드 유지보수나 작업할때 생산성이 올라간다. 그러므로 장기적인 관점에서 바꾸는 것이 낫다 Package.json npm install vite -D npm install @vitejs/plugin-react -D { "scripts": { "start": "craco start", "build": "craco build" } } { "type": "module", // 하라고는 되어있는데 넣지 않아도 실행은 된다. "scripts": { "start": "vite start", "build": "vite build" } } 로 변경한다 그리고 루트 폴더에 vite.config.ts(js)를 생성한다 vite.config.ts impo..
const [counter, setCounter] = useState(0); // 1번쨰 방법 setCounter(counter + 1) // 2번쨰 방법 setCounter((current) => current + 1); 둘 다 왠만한 상황에서는 문제가 없지만 많은 컴포넌트를 갱신하거나 데이터를 갱신하고, 또는 해당 useState를 많은곳에서 활용할때 1번째 방법은 문제가 발생할 수 있다. 리액트는 성능을 위해 state값 변경을 단일 업데이트로 한꺼번에 처리하기도 한다. 기본적으로 자바스크립트는 비동기 언어이므로 사용자가 의도하지 않은 순서, 의도되지 않은 시점에서의 동작이 될 수 있다 2번쨰의 경우 무조건 업데이트가 적용된 시점에서 더하기 때문에 오동작 우려가 없다
HWPTAG_STYLE(문단 스타일) 가변 스트림으로 12 + (2 * len1) + (2 * len2) 라고 되어있지만 실제로는 14 + (2 * len1) + (2 * len2)이다. 2바이트가 누락 되어 있으며, 해당 누락 부분은 hwpx 문서를 찾아 본 결과 양식모드에서 스타일을 보호할지 아닐지 결정하는 여부가 들어가있다 자료형은 UINT16 사이즈. HWP 문서를 보다보면 이런식으로 누락되어있거나, 설명이 부족하거나, 표 10이라 써져있으면서 15에 있거나. 아예 안써져있거나 하는 부분이 꽤 많이 보인다. 한컴에서 제대로 수정해주지 않는 이상 명확하고 정확하게 알 방법은 없겠지만, 지금처럼 간접적으로 알게 된다면 앞으로 이런 삽질을 반복해야할 개발자들에게 도움이 되고자 써놓는다.
업데이트. 티스토리 블로그를 시작하고, 하는둥 마는둥 하면서 했던 작업 중 하나가 티스토리 API를 활용한 글 작성이였다. 마크다운 관련 티스토리 자체 지원 에디터가 맘에 들지 않았기 때문이다 삽질 이것저것 마크다운 에디터를 활용했었다. tui editor도 써보고, 중국산 마크다운 에디터나, react나 vue에서 나왔다는 마크다운 에디터도 건드려보고.. 그러다 결국 vscode의 마크다운이 젤 편하고 쓰기 편하다는것을 깨달았다. 멀티커서 지원, 자동 완성 등, 문서에서 마크다운 이상의 서식을 원하지 않는다면 사실 작성하고 지우고 편집하는데 이만한 에디터가 없다 모나코 에디터 그래서 마크다운 에디터를 만들기 위해 vscode의 텍스트 기반이 되는 모나코 에디터를 나만의 커스텀으로 개발하였다. vscod..
- Total
- Today
- Yesterday
- HWP
- WASM
- #노력만 가상한 글
- youtube
- craco
- API
- #useState 특징
- KBL
- 7위를 하는 이유
- contributer
- contributor
- 무관의 왕
- 팀별 분석
- vscode
- Rust
- 노력만 가상한 글
- 그래프
- JavaScript
- iframe
- vtie
- #업데이트가 이상하게 될떄
- 마크다운
- 티스토리API
- #팀별 분석
- 웹어셈블리
- #그래프
- ffmpeg
- #useState
- 배포
- webassembly
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |