Electron 시작하기는 세미나에서 발표한 내용 중 다음블로그의 글관리툴 만드는 과정을 설명한다. Electron의 설명이나 특징 같은 것은 내가 만들지 않더라도 이미 많은 문서가 있으니 넘어간다. 물론 중간중간 간단한 설명은 할 것이다. 그 첫번째로 Hello, world!를 해본다. 일단 화면에 뭐라도 출력을 하고나면 그때부턴 쉬워지는 것 같다. Electron 두가지 프로세스 Electron은 간단히 이야기하자면 OS에서 제공하는 API를 사용하는 main process와 Chromium이 제공하는 API를 사용하는 renderer process로 구성되어 있다. main process는 nodejs로 동작하는데 브라우저를 생성하고 Tray, 메뉴 등의 앱 UI 관련된 API를 사용한다. 그리고 ..
재미로 시작한 Electron인데 어쩌다보니 세미나까지 하게 되었다. 파트 개발자 모임을 활성화하려고 하는데 시작할 계기를 만들어야 했고 때마침 내가 왜 그랬는지 모르겠지만 Electron으로 세미나를 하겠다고 했다. 다음블로그 api를 사용해서 지금 글을 쓰고 있는 티스토리 에디터 같은 것을 만드는 과정을 설명하면 되겠다고 이야기를 꺼냈다가 하는 것으로 결정되어 버렸다. 사실 나도 지금까지 알게된 것들을 정리해보고 싶었기도 했기에 이참에 정리를 해보는 것도 좋겠다고 생각했다. 앱 준비 먼저 앱을 만들었다. 말했던대로 다음블로그 API를 사용했고 티스토리 에디터와 비슷한 스타일로 만들었다. 완전히 처음부터 시작해야 설명이 쉬울 것 같아 Hello, world부터 시작해서 리스트, 에디터를 붙여나갔다. 그..
난 한번도 그런 생각을 해본 적이 없는데 클립보드의 이미지를 업로드할 수 있게 해달라는 요청을 여러번 받았다. 내 생각에는 이미지 파일로 만들어서 업로드하는 것이 관리도 편하고 더 좋을 것 같은데 클립보드에서 바로 업로드로 이어지는 것이 더 편한가보다. 내가 편히 쓰려고 만든 프로그램이라 내가 안쓰는 기능은 왠만하면 잘 넣지 않지만 이번엔 시간을 내서 해보기로 했다. Electron의 클립보드 Electron에서는 clipboard의 이미지를 반환해주는 api를 제공하는데 그 이미지라는 것은 nativeImage다. nativeImage를 png나 jpeg, bitmap으로 변환하면 드디어 업로드 가능한 데이터가 만들어진다. 이 데이터는 또 Buffer로 만들어지는데 업로드하기 위해선 stream으로 변..
api response에 예전에는 xml만 사용했었다. 그러다 json이 유행하면서 둘다를 지원했고 지금은 대부분 json만 제공한다. 그럼에도 불구하고 xml을 제공하는 곳들이 있는데 관리가 잘 안되거나 오래전에 만들어진 후 변화가 없는 곳이 대부분이다. 내가 지금 사용하는 api, 티스토리 api도 xml이 기본값이다. 지금 api들은 데이터가 너무 중구난방이고 정리가 안되있어서 아마도 v2로 새롭게 제공을 하는게 나을 것 같기는 한데 일단 있는 것도 쓸만하게는 만들어둬야해서 이거저거 만지고 있는 중이다. 그러는 중에 같은 값을 xml, json 각각 어떻게 표현해야하는지를 정리해보려고 한다. 지금 생각으로는 group element, value element, list element 이렇게 나눌 수..
요새 바빠서 Editor 업데이트를 자주 하진 못하고 있는데 그래도 매일 조금씩 뭔가를 하려고는 한다. 어제는 Quill 에디터를 snow로 바꾸는 작업을 마무리 하려고 했다. Quill에서 제공하는 code-block이 맘에 안들어서 이거저거 만져보다가 결국 delta to html을 만드는 것으로 결정하고 마지막으로 글 하나 쓰고 자려는 참이었다. 악몽 Quill에 Syntax 모듈을 적용하면서 겪은 일을 아주 소상히 적고 있었다. 예까지 들어가며 아주 소상히. 그러다 아무 생각없이 마우스로 왼쪽 글 리스트에서 글 하나를 클릭했다. 무슨 일이 벌어졌을까? 당연히 쓰던거 다 사라지고 선택한 글이 뷰어에 표시됐다. 그렇게 저렇게 빼곡히 쓴 글이 날아갔다. 되돌릴 방법이 없다는 것은 내가 제일 잘 알고 있..