프라이D
프라이Develog(❁´◡`❁)
프라이D
전체 방문자
오늘
어제
  • ALL (378)
    • TDD, Cleancode with JavaScr.. (5)
    • 프로젝트 (32)
      • work (3)
      • 직접 만드는 기술 블로그 (2)
      • 데일리 옥션 (19)
      • 모락모락 (8)
    • Computer Science (1)
    • Algorithm & 자료구조 (94)
      • 알고리즘 w.JavaScript (53)
      • 자료구조 (5)
      • (인프런) 자바스크립트 알고리즘 문제풀이 (34)
    • JavaScript (45)
      • JavaScript (41)
      • 모던 자바스크립트 Deep Dive (4)
    • WEB (13)
    • 회고 (12)
    • TIL (109)
    • WIL (7)
    • Stacks (20)
      • React.js (6)
      • Next.js (1)
      • Redux (3)
      • Node.js (2)
      • GIT (2)
      • SAP (1)
    • 15일 메이킹 프로젝트 (15)
    • 이전 기록 (14)
    • ETC. (5)
    • ---------------2021 (6)
      • 내일배움단-웹개발 5주 (2)
      • 정보처리기사 (4)

블로그 메뉴

  • 홈
  • 태그
  • 미디어로그
  • 위치로그
  • 방명록

공지사항

인기 글

태그

  • Til
  • 알고리즘
  • 코딩프로젝트
  • MySQL
  • 자바스크립트비트마스크
  • 투포인터알고리즘
  • 내일배움카드
  • 내일배움단
  • 자바스크립트알고리즘
  • 자바스크립트
  • 모던자바스크립트딥다이브
  • vanilaJS
  • 국비지원
  • nomadcoders
  • 스파르타코딩클럽
  • nomadcoder
  • 2023 인프콘 후기
  • 코드스테이츠
  • JavaScript
  • 비트마스크

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
프라이D

프라이Develog(❁´◡`❁)

TIL

[TIL] 2024-0110

2024. 1. 11. 09:19

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
    'TIL' 카테고리의 다른 글
    • [TIL] 2024-0123 : this 바인딩
    • [TIL] 2024-0109 electron IPC 모듈로 통신하기
    • [TIL] 2023-1227 Nest.js 공부하는 중
    • [TIL] 2023-1208 노션 API 활용하기... 근데 그냥 삽질 푸념...
    프라이D
    프라이D
    틀린내용 정정 및 개선사항은 언제든지 댓글 달아주세요 :D

    티스토리툴바