[JavaScript][NeDB] Unique Key 설정 방법 데이터를 insert 할 때 _id 제외한 다른 key 값이 중복되는 것을 막기 위한 unique 설정 방법이다. nedb의 문서를 보면 indexing 부분에 unique 방법이 설명되어 있다. 만약, `_name` 필드에 unique 설정을 하려면 아래와 같이 선언해 주면 된다. // local database const Datastore = require('nedb'); const appDir = app.getPath('userData'); // nedb 파일 생성 const db = new Datastore({ filename: './nedb.db', autoload: true }); // ex) _name 필드에 Unique Key..
전체
[Electron] 탐색기 여는 방법 shell을 이용해서 탐색기를 열 수 있다. const electron = require('electron'); const { shell } = electron; const app = electron.app || electron.remote.app; const appDir = app.getPath('userData'); // AppData 폴더 // 탐색기 열기 function openDir(url) { shell.showItemInFolder(appDir); } shell을 이용하면, 탐색기 열기 뿐만 아니라, 파일 열기 shell.openItem(fullPath), 선택한 아이템을 휴지통으로 보내는 기능 shell.moveItemToTrash(fullPath) 등..
[Electron] database 연결하기 Database(Mysql) 에 정상적으로 연결되었는지 Main 프로세스에서 체크한 후 결과를 화면(renderer)에 표시하려고 한다. 파일 구조는 아래와 같이 구성했다. - main.js : 메인 프로세스 - database └ db_info.js : database 정보 └ db_conn.js : database 연결 함수 정의 - app └ main.html └ renderer.js 간략히 설명하면 내가 구성한 코드의 작동 순서는 다음과 같다. 1) renderer.js 에서 main으로 database 가 연결되었는지 확인 요청함 2) main.js 에서 database 연결을 db_conn.js 의 open 함수를 통해 체크한 후 open 함수에서 ..
[Electron] Global Variable 사용 방법 main 과 renderer 에서 변수나 함수를 공유하기 위해서는 ipcMain, ipcRenderer 을 사용하면 되지만, Global Variable을 정의하여 사용하는 방법도 있다. 사용 방법은 변수나 함수 앞에 `global.`을 붙여주면 된다. main.js // 변수 선언 : global.변수명; global.val = 1; // 함수 선언 : gloabl.함수명 = function () { }; global.func = function () { console.log("I'm Global Function!!!"); } renderer.js var remote = require('electron').remote; // 변수 사용 cons..
[Electron] contextmenu 만드는 방법 Contextmenu? 마우스 오른쪽 버튼 눌렀을 때 생성되는 메뉴. 먼저, menu 관련 electron api 추가한다. const electron = require('electron'); const { remote } = electron; const { Menu, MenuItem } = remote; 사용할 메뉴를 정의한다. ex. 마우스 오른쪽 클릭할 경우 표시될 menu를 만들 예정이기 때문에 menu 이름을 `rcMenu`라 정의했다. // 메뉴 생성 const rcMenu = new Menu(); append 함수를 이용하여 메뉴에 아이템(옵션)들을 추가한다. // 일반 메뉴 아이템 rcMenu.append(new MenuItem({ la..
[JavaScript] 키보드 이벤트 ( 단축키/hotkey ) 생성하는 방법 ex) `Ctrl + Alt + c` 을 눌렀을 때 이벤트 생성 var isCtrl, isAlt; // ctrl. Alt 눌림 여부 확인 document.onkeyup = function(e) { if (e.which == 17) isCtrl = false; if (e.which == 18) isAlt = false; } document.onkeydown = function(e) { if (e.which == 17) isCtrl = true; if (e.which == 18) isAlt = true; console.log(e.which , isCtrl, isAlt) if (e.which == 67 && isCtrl == tru..