전체 글

개발새발 여행하는 해서미 개발블로그
📝성장일기

가치관 키워드를 찾는 질문 5가지에 대한 대답

주의 : 의식의 흐름대로 쓴 감이 없지 않아 있음 Q1. 존경하는 사람, 존경하는 친구, 좋아하는 캐릭터는 누구입니까? 그 사람의 어떤 점을 존경하나요?좋아하는 캐릭터 : 곰돌이푸. 이유는 귀엽다. 진용진 : 세상에 없던걸 만들어내려는 것. 새로운 도전을 즐기는 것민희진 : 기존 관행에 도전하며 새로운 방향성을 모색하려는 노력과 깰 수 있는 용기, 경영과 창작의 균형을 이루고자 하는 것 과 같은 확실한 비전을 가지고 있는 것 Q2. 어릴 때와 사춘기 시절에 있었던 일 중에, 지금의 자신에게 가장 큰 영향을 미친 사건이나 경험은 무엇입니까? 그리고 그것들은 자신의 가치관에 어떻게 영향을 미쳤습니까?어렸을 때 부터 해외, 국내 여기저기 여행 다니면서 여러 세상을 경험한 것. (초, 중학교 때는 엄마가 여행 ..

🩵electron

Electron을 사용한 Windows 애플리케이션 자동 업데이트 및 EV 인증서 코드 서명 설정

사전준비인증서를 준비한다. 자세한 내용은 아래에  windows 설치파일 digitcert로 전자서명 하기digitcert 인증서 구입 하면 이렇게 명함과 함께 usb를 전달받는다.뒷면에 써있는 홈페이지로 들어가본다.  뭔데 겁나 의심스럽게 인증서 페이지가 https 인증도 안되어있는거지..? 잘못 들어온게haesummy.tistory.com 자동업데이트 구현. 자세한 내용은 아래에 electron s3 github actions 자동 배포 및 autoUpdater 설정서론autoUpdater는 electron에 내장된것과 'electron-updater'에 내장된것 두가지가 있다. 'electron-updater'가 좀 더 많은 기능을 제공하며 사용하기 편했다. 처음에는 electron 앱의 자동 배포..

💙Frontend

React Next.js에서 다국어 지원 구현하기

1. 개요React와 Next.js 기반의 웹 애플리케이션에서 다국어 지원(영어와 한국어)을 구현할 일이 생겨서 보통 어떤식으로 구현하는지 찾아보았다. 그 중 다국어 지원을 구현하기 위한 대표적인 라이브러리인 react-i18next의 사용법과 설정 방법에 대해서 간단히 알아보자.2. react-i18next + next-i18next 세팅 GitHub - i18next/react-i18next: Internationalization for react done right. Using the i18next i18n ecosystem.Internationalization for react done right. Using the i18next i18n ecosystem. - i18next/react-i18ne..

🩵electron

apple 개발자 계정으로 macOS application 코드서명+공증 하기(code sign, notarization)

1. Apple Developer Program 가입(연간 129000원)과정이 생각보다 복잡했다. 법인으로 신청했는데, 신청을 해두니 하루쯤 후에 전화요청 이메일이 와서 전화를 받으니 되게 상세하게 이것저것 물어보며 본인확인을 진행했다. 완료되면 이제 다음 프로세스로 진행할 수 있는 메일을 보내줘서, 여기서 결제를 마치니 바로 승인이 되었다. (최대 48시간이라고 안내해줬는데 1분만에 됐다.) 2. 인증서 발급받기Certificates, Identifiers & Profiles 탭에 들어간다. https://developer.apple.com/account/resources/certificates/add 로그인 - Apple idmsa.apple.com Developer ID Application 선택..

🩵electron

windows 설치파일 digitcert로 전자서명 하기

digitcert 인증서 구입 하면 이렇게 명함과 함께 usb를 전달받는다.뒷면에 써있는 홈페이지로 들어가본다.  뭔데 겁나 의심스럽게 인증서 페이지가 https 인증도 안되어있는거지..? 잘못 들어온게 맞는듯뭔 정식으로 배송온 명함에 있는 url이 이모양인거지,, 해킹당했나 (이딴 수상한 페이지가 있는 명함은 도대체 왜 같이 배송온걸까)아무튼 저건 잊고,,이메일에 함께 온 가이드대로 하면 금방 함.  사전 준비 사항usb에 토큰이 blank 형태로 배송됨초기 상태에는 보안 토큰에는 아직 인증서가 없으며, 사용자가 직접 인증서를 설치해야 함. 1. (세이프넷 툴 URL) 다운로드    https://www.digicert.com/StaticFiles/SafeNetAuthenticationClient-x6..

🩵electron

직접 개발한 exe 실행파일을 실 유저에게 배포하려면? (코드 전자 서명)

코드 서명(Code Signing)이란?코드 서명은 디지털 서명 기술을 사용하여 소프트웨어의 진위와 무결성을 보장하는 과정이다.즉, 개발자가 자신의 애플리케이션에 서명을 함으로써, 사용자는 이 애플리케이션이 신뢰할 수 있는 출처로부터 제공되었으며, 다운로드한 후 코드가 변경되지 않았음을 확인할 수 있다.  코드 서명이 중요한 이유신뢰성 확보: 사용자는 서명된 소프트웨어를 실행하기 전에 출처가 신뢰할 수 있는지 확인할 수 있다.보안 유지: 악의적인 소프트웨어가 자신을 정상적인 프로그램처럼 위장하려 할 때, 코드 서명은 이러한 위협으로부터 사용자를 보호한다.경고 메시지 감소: 윈도우 같은 운영 시스템에서는 서명되지 않은 프로그램을 실행할 때 경고 메시지를 표시하는데, 서명된 애플리케이션은 이러한 경고 없이 ..

🩵electron

electron s3 github actions 자동 배포 및 autoUpdater 설정

서론autoUpdater는 electron에 내장된것과 'electron-updater'에 내장된것 두가지가 있다. 'electron-updater'가 좀 더 많은 기능을 제공하며 사용하기 편했다. 처음에는 electron 앱의 자동 배포가 gtihub release에 연동되어있었다. 그러나 파일 다운로드 url은 s3에서 따로 관리되고있어서 다운로드와 자동배포 모두 s3와 연동되게 변경하기로 했다. 하는김에 github actions를 사용해서 s3에 exe 파일을 자동배포 할 수 있도록 해준다. 그리고 기존 코드가 배포하는 과정에서 package.json에 github token이 들어가있어서 잘못하면 토큰이 털릴 수 있는 구조로 되어있었다.그래서    과정다른 과정은 어떤걸 배포하든 똑같으니 생략 ..

🩵electron

electron 디컴파일 해보기, 방지하기

서론일렉트론 앱 개발하다가 이렇게 개발된 실행파일은 디컴파일이 된다는걸 알게되었다. 궁금해서 직접 해봄. 엄청 간단하다.  방법1. asar패키지 설치asar을 시스템 전역에 설치해준다. npm install -g asar 2. 디컴파일할 프로그램 위치 찾기윈도우의 경우 아래 위치C:\Users\gildo\AppData\Local\Programs\앱이름\resources* gildo 는 내 컴퓨터 user 이름 (원래 gildogi 인데 처음에 윈도우 설치할 때 뭔지모를 이유로 짤림;) 이 폴더에 가면 app.asar 이란 파일이 보일것이다. 3. 디컴파일해당 폴더에서 명령창을 켜서 아래 명령어 실행asar extract app.asar app하면 app이란 폴더가 생기고 그 안에 디컴파일된 파일들이 생..

🩵electron

electron+react-boilerplate 개발환경에서 deeplink 오류 해결

방법 main.ts의 코드를 아래와같이 변경// 앱이 개발모드로 실행되고 있을 때if (process.defaultApp) { // if (process.argv.length >= 2) { // app.setAsDefaultProtocolClient(PROTOCOL_ID, process.execPath, [ // path.resolve(process.argv[1]), // ]); // } //-r (require) 옵션은 ts-node를 활성화하여 TypeScript 코드가 실시간으로 컴파일되도록함 if (process.argv.length >= 2) { app.setAsDefaultProtocolClient(PROTOCOL_ID, process.execPath, [ ..