ssh permissions are too open

방치 중이던 AWS에 접속을 하려고하는데 오류가 발생했다.
참고로 나는 window 환경에서 접속 시도하였고 해당 문제는 OS에 상관없이 나겠지만 ..
해결 방법은 간단하나 다른 OS라면 일단 chmod라든지 다른 명령어 사용해야한다.

ssh -i "키파일.pem" ec2-user@aws서버URL.compute.amazonaws.com

실행 결과는 ‘감히 너 따위가.. 너는 아직 준비가 안됐다.’ ㅠㅠ
오류 메세지가 친절하게 알려주고 있지만 매우! 활짝! 열려있다는게 무슨 말인지 정확히 모르겠어서 검색!
오늘도 역시나 구글 & 스택오버플로우가 해결해줬다.


해결방법

해당 키파일 우클릭 > 속성 > ‘읽기 전용’ 클릭해주면 끝!!


참고 문서: https://stackoverflow.com/questions/9270734/ssh-permissions-are-too-open-error

javascript json array copy value not ref.

array 복사는 간단하게 slice로.
https://www.w3schools.com/jsref/jsref_slice_array.asp

let dataA = {
    label1: 'test1',
    label2: 'test2',
}

let dataB = dataA
dataB.label1 = 'test0'

위와 같이 했을 때 dataB는 레퍼런스 참조를 해서 dataA.label1도 test0으로 변경된다.
말 그대로 값만 복사해서 따로 데이터를 처리하고 싶을 때는 JSON을 이용한다.

let dataB = JSON.parse(JSON.stringify(dataA))
dataB.label1 = 'test0' // dataB.label1만 변경된다.

jquery trigger 호출 시 파라미터 넘기기

작업 중 피치못하게 페이지 로딩 시 데이터를 스크립트로 처리해야할 일이 생겼다.
기존 데이터가 있든 없든 가만 놔둬야하는데 이 데이터가 다른 데이터가 변경될 때 업데이트되는 기능이 있었고
그 다른 데이터도 로딩 시 업데이트가 되고 … ㅠㅠ
select2 플러그인을 사용중이었는데 값 변경 시 항상 trigger(“change”)를 호출해줘야했다.

기능 상 B 데이터가 변경될 때 A 데이터는 변경되야한다.
A 데이터는 페이지 로딩 시 변경되지 않아야하고
B 데이터는 페이지 로딩 시 변경된다.
그래서 change를 트리거할 때 파라미터를 넘겨줘서 구분하기로 했다.

역시 API 문서에 다 나와있다. 영어 공부 놓지않기!!

// 로딩 시 호출 
$("#B").val(로딩시설정데이터).trigger("change", [{변수명: 값}])

$("#B").on("change", function(e, data) {
	let 변수명 = data.변수명
	if( 변수명 === 값 ) {
		// A에 대한 스크립트
	}
});