회사에서 소소하게 프로젝트를 시작했는데 기존에 원래 되어있던게 스프링도 아닌 정말 기본 자바 프로젝트;;였다 로그인할땐 특정 uuid를 생성해서 인증key같은 걸로 사용하다가 세션이 종료 되었을때 사라지게 해달라고 요청받음.. 방법을 찾다보니 HttpSessionListener를 쓰면 된다고..
router.route('/sdk/download').get(async (req, res)=> {
logger.info('request => [get] /sdk/download');
// 필요한 작업 솰라솰라하고나서
// 다운로드
let filepath = '파일경로';
res.download(filepath)
});
let file = fs.readFileSync('./message.js', 'utf-8'); //message.js 파일 읽기
let encode = Buffer.from(file).toString('base64'); //파일 base64로 인코딩
let mk = fs.writeFileSync('./encodeFile', encode); // 인코딩된 파일 만들기
let file2 = fs.readFileSync('./encodeFile', 'utf-8'); // 인코딩된 파일 읽기
let decode = Buffer.from(file2, 'base64').toString('utf-8'); //파일 디코딩
let mk2 = fs.writeFileSync('./decodeFile.js', decode); //디코딩된 파일 만들기
javax.mail.MessagingException: Could not convert socket to TLS;
nested exception is:
javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate)
at com.sun.mail.smtp.SMTPTransport.startTLS(SMTPTransport.java:1907)
at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:666)
at javax.mail.Service.connect(Service.java:317)
at javax.mail.Service.connect(Service.java:176)
at javax.mail.Service.connect(Service.java:125)
at javax.mail.Transport.send0(Transport.java:194)
at javax.mail.Transport.send(Transport.java:124)
⌘0~9(Alt+#[0-9]) : 각 단축키에 해당하는 도구창을 엽니다. 예를 들어 ⌘1 을 사용하면 프로젝트 도구창을 토글할 수 있습니다.
⌘⇧F12(Ctrl+Shift+F12) : 편집기(Editor) 영역을 최대로 크기로 토글합니다.( Toggle maximizing editor)
⌘,(Ctrl+Alt+S) : 설정(Preferences) 창을 엽니다. ( Open Settings dialog )
⌘;(Ctrl+Alt+Shift+S) : 프로젝트 구조를 확인 및 변경 할 수 있는 창을 엽니다. 해당 메뉴에서 Modules, Libraries, Facets, Artifacts, SDK,Project compiler output 등을 확인 및 변경 할 수 있습니다.(open Project Structure dialog
⌘E(Ctrl+E) : 최근 사용한 파일 목록을 조회합니다.(Recent files popup)
⌘⇧A(Ctrl+Shift+A) : 액션을 검색하여 실행합니다. 설정을 변경하거나 단축키 등이 생각나지 않을때 유용한 기능이며 전체 검색인 더블⇧ 로 대체 할 수 있습니다. (Find Action)
Double⇧ : 가장 자주 사용되는 단축키 입니다. 파일, 클래스, 설정 등 키워드에 관련된 가능한 모든 것을 검색해 보여줍니다.( Search everywhere )
| Editing
편집기(Editor) 관련된 주요 단축키 입니다.
^Space(Ctrl+Space) : 기본 코드 자동완성 기능입니다. (Basic code completion)
^⇧Space(Ctrl+Shift+Space) : 소스코드를 분석해서 적합한 자동완성 코드를 추천해줍니다. (Smart code completion)
⌘N,^⏎(Alt+Insert) : 코드를 생성합니다. 생성자나 Getter/Setter, 메서드 오버라이드 등의 코드를 자동생성할때 유용합니다. (Generate Code)
⌘O(Ctrl+O): Override 가능한 메서드 목록을 확인하여 구현하기 위한 코드를 자동 생성해 줍니다.
⌘I(Ctrl+I): Implement 가능한 메서드 목록을 확인하여 구현하기 위한 코드를 자동 생성해 줍니다.
⌘P(Ctrl+P) : 현재 위치한 메서드의 파라미터 정보를 조회합니다. (Parameter info -within method call arguments)
F1(Ctrl+Q) : 도큐멘트를 조회합니다.(Quick Documentation)
⌥Space(Ctrl+Shift+i) : 구현된 코드를 조회합니다. (Quick Definition)
⌘B(Ctrl+B) : 해당 코드의 선언부로 이동.
⌘⌥B(Ctrl+Alt+B) : 해당 코드의 구현부로 이동.
⌥F7(Alt+F7) : 해당 항목이 사용된 위치 검색
F2 :오류, 경고 영역으로 점프
⌥⏎(Alt+⏎):퀵픽스 제안 (Show intention actions and quick-fixes)
⌘D(Ctrl+D) : 라인 복제 (Duplicate current line)
⌘⌫(Ctrl+Y) : 라인 삭제 (Delete line at caret)
⌥↑,⌥↓(Ctrl+W,Shift+Ctrl+W) : 커서 근처의 코드 선택 영역을 확대하거나 축소합니다.
⌥←,⌥→(Ctrl+←,Ctrl+→) : 단어별 포커스 이동
⌥⇧←,⌥⇧→(Ctrl+Shift+←,Ctrl+Shift+→) : 단어별 선택
fn↑,fn↓(PageUp,PageDown): Page Up/Down
fn←,fn→(Home, End) : 라인 시작,끝으로 이동
fn⇧←,fn⇧→(Shift+Home,Shift+End) : 라인 전체 선택
⌘/(Ctrl+/) : 라인단위로 주석처리 합니다. ( Comment / uncomment with line comment )