Facts
- 어제에 이어 여전히 electron 을 파헤치는 중...
Feelings
- 어쩌다보니 키오스크 개발을 웹 프론트에서 핸들링 하게 되었다. (사실 내가 할 수 있다고! 좋다고 했음..~)
- 처음엔 Next.js 로 빌드해서 웹 서버로 띄웠었는데, 기기 펌웨어와 요러쿵 죠러쿵 통신을 해야하는 부분이 있어서 일렉트론으로 로컬 서버를 띄운 뒤에 private Ip 로 post 요청을 보내는 방식으로 했다가...
- 동료 개발자분께서 여러 날의 디깅을 해주신 끝에 자동 업데이트 기능이 완성되어서, 본격적으로 일렉트론으로 코드를 옮겨 수정하고 있다.
- 일단 전에 하던 것에 비해 새롭게 배우고 부딪혀야 할 것이 많긴 한데, 그게 꽤 재밌다. 웹 환경이 아닌 네이티브 환경이다보니 IPC 라던지, 보안으로 인해 고안된 (나에겐) 새로운 방식 이라던지 배울 것이 많다...
- 그리고 삽질할 때도 많은데 어제 오후부터 어제 저녁, 밤, 오늘 점심 이후까지 거의 반나절 이상을 엄청 간단한 문제 때문에 디깅하고 헤맸는데... 또 그 과정에서 일렉트론과 쬐끔 더 친해질 수 있었다...
- 하다가.. 과연 이게 될까..? 라는 생각이 들면, 이 프레임웤으로 슬랙도 만들고 디스코드도 만들었다는 것을 생각하면... 이 정도 새발의 피는 당연히 가능하지... 라고도 생각할 수 있다...
Findings
- electron 에서는 카메라를 쓰려면 이것도 뭔가 ipc 모듈을 활용해 이루어져야 한다고 생각했는데, 그게 아니고 그냥 기기에서 카메라 권한을 주면 된다. 문제는 앱을 깔았을 때 유저에게 권한을 켤 수 있도록 노티를 주던지 해야하는데... 이건 좀이따 더 찾아봐야겠다.
- electron 에서 env 환경변수 사용방법...! 일단 renderer 프로세스에서 직접 접근은 안되는 것 같다.. 그러면 메인 프로세스쪽 node(...? 이게 맞는 표현인지는 잘 모르겠습니다...) 에 접근할 수 있도록 BrowserWindow 생성시에 webPreferences 옵션에서 nodeIntegration 을 true 로 바꿔주고, contextIsolation 을 false로 바꿔주는 방법도 있는데, 이걸 막아둔 이유는 역시 보안상의 이유이므로 다른 우회법을 찾아서 핸들링 하도록 해야겠다.
- 근데 electron 에서 http 요청을 보내는 방법을 찾다보니, 어차피 이런 요청을 메인 프로세스에서 핸들링 하도록 되어 있으므로... 서버 url 을 환경변수로 관리한다면 어차피 메인 프로세스에서는 process 에 접근이 가능하니 굳이 위 방법으로 하지 않아도 될 것 같다.
Feedback
오늘의 참고자료
https://www.youtube.com/watch?v=CUbysreXVqw&t=374s
'TIL' 카테고리의 다른 글
[TIL] 2024-0123 : this 바인딩 (0) | 2024.01.24 |
---|---|
[TIL] 2024-0109 electron IPC 모듈로 통신하기 (0) | 2024.01.09 |
[TIL] 2023-1227 Nest.js 공부하는 중 (4) | 2023.12.27 |
[TIL] 2023-1208 노션 API 활용하기... 근데 그냥 삽질 푸념... (0) | 2023.12.08 |
[TIL] 2023-1207 (0) | 2023.12.07 |