반응형

AWS SSH를 접속하기 위해 보통 Putty라는 SSH 접속 프로그램을 사용하게 되는데,

AWS에서 SSH 접속을 위해 제공해주는 키 페어 파일은 확장명이 pem파일인데 Putty에서는 ppk 파일을 요구한다.

즉, pem파일을 ppk파일로 변환하는 과정을 거쳐야 한다.

 

변환하기 위해서는 puttygen.exe 파일을 다운로드 받고 실행한다.

(https://www.puttygen.com/ 에서 다운로드 가능하다.)

위와 같이 프로그램이 실행되었으며, 위의 Load 버튼을 클릭한다.

먼저 pem 파일을 불러와야 하므로 확장자를 All Files(*.*) 로 변경해준 뒤 키 페어 파일(.pem)을 불러온다.

성공적으로 불러왔다는 메세지가 뜬다.

'Save private key' 버튼을 클릭한다.

위의 경고창에서는 '예' 버튼을 클릭한다. 

그리고 원하는 파일명의 ppk 파일로 저장하기만 하면 된다.

최종적으로 ppk 파일이 생성되며 해당 파일을 Putty에 지정하여 사용하면 된다.

 

참고로 Putty에서 ppk 파일 설정하는 영역은 아래와 같다.

Connection->SSH->Auth의 Private key file for authentication 부분을 생성한 키페어 파일로 설정해주고

접속하면 정상적으로 접속될 것이다.

반응형
반응형

 

플러터로 앱 개발하던 도중 잘만 실행 되다가 어느 순간 갑자기 아래와 같은 오류를 발견하였다.

 

위와 같이 devtools-2.9.2\build 폴더를 찾을 수 없다는 오류였으며,

저렇게 오류가 발생하여도 실행하는데는 문제가 없었지만 무언가 찝찝했다.

 

실제로 저 경로에 들어가보아도 devtools-2.9.2 폴더 안에 build 폴더는 존재하지 않았다.

무언가의 영향을 받아서 build를 생성하지 못한 것 같다.

 

먼저 위 경로 중 pub.dartlang.org 폴더까지 들어가보면 아래와 같이 많은 버전의 devtools가 깔려있다.

(devtools-2.9.2 폴더는 어짜피 안되니까 삭제해버렸다.)

 

해결방법은 단순하게 사용할 버전을 바꾸어주면 된다.

 

dart pub global activate devtools -v 2.8.0

 

위 명령어를 실행하게 되면 기존 활성화되어 있던 devtools-2.9.2 버전에서 devtools-2.8.0 버전으로 활성화 버전이 변경된다.

2.8.0 버전 안에는 정상적으로 build폴더도 존재하고 문제가 없으므로 위의 문제는 간단히 해결된다.

이렇게 하지 않고 devtools-2.9.2 버전을 재설치하는 방법도 있겠으나,

일단 급하게 해결이 우선이었고 버전을 바꾼다하여도 문제될 것은 없었기 때문에 위와 같은 방법으로 해결하였다.

반응형
반응형

이번에는 몽고DB에서 데이타를 삭제하는 방법을 알아볼 것이다.

remove는 단일 혹은 다수 삭제가 모두 가능하고 deleteOne은 단일 삭제만 deleteMany는 다수 삭제만

가능하다. MongoDB 3.2버전부터 remove 대신 deleteOne, deleteMany로 대체되었다.

 

1. 삭제(remove)

MySQL에서 'DELETE FROM' 과 매칭되는 명령이다.

insert 혹은 update명령과 비슷한 형태로 사용하게 되는데 단순히 삭제할 조건만 넣어주면 된다.

먼저 위와 같이 데이터를 넣어놓고, 이름이 "최길동"인 사용자를 삭제해보도록 하겠다.

db.users.remove({name: "최길동"});

실행 결과

정상적으로 삭제되었으며, 조건에 따라 단일 삭제가 될 수도 있고 다수 삭제가 될 수도 있다.

예를 들어, 나이가 27살 이상인 사용자를 삭제하고 싶을 경우 다음 명령을 사용한다.

db.users.remove({age: {$gte: 27}});

($gte 연산자는 'greater than or equal'의 약자로 '같거나 크면'의 의미를 갖는다.

 여러 연산자에 대해서는 다음 포스팅에서 다뤄볼 예정이다.)

이와 같이 3개가 삭제되었다는 메세지가 나오며, 조회해보니 정상적으로 삭제된 것을 확인할 수 있다.

remove()의 사용법을 알아보았다. 하지만 몽고3.2 이후에는 deleteOne, deleteMany로 대체되었으니,

remove의 사용은 자제하는 것이 좋다.

 

2. 단일 삭제(deleteOne)

지난번 포스팅에서 설명했던 insertOne, insertMany, updateOne, updateMany와 같은 형태로 용법이 비슷하고,

바로 위에 설명한 remove() 용법이 단일, 다수 삭제 기능으로 분리된 것 뿐이기에 간단하게 설명하고 넘어갈 것이다.

 

db.users.deleteOne({name: "최길동"});

'최길동'이라는 사용자 도큐먼트를 삭제하는 명령이다.

(최길동이라는 사용자가 두명이면 가장 처음의 '최길동' 사용자 도큐먼트만 삭제된다.)

 

db.users.deleteOne({});

처음 도큐먼트 한개를 삭제하는 명령이다.

 

db.users.deleteOne({age: {$gte: 27}});

age 필드가 27 이상의 도큐먼트 중 처음 도큐먼트 한개를 삭제하는 명령이다.

 

3. 다수 삭제(deleteMany)

조건에 해당하는 데이타를 모두 삭제할 때 사용한다.

 

db.users.deleteMany({name: "최길동"});

'최길동'이라는 사용자 도큐먼트를 모두 삭제한다.

 

db.users.deleteMany({});

users 컬렉션의 모든 도큐먼트를 삭제하는 명령이다.

 

db.users.deleteMany({age: {$gte: 27}});

age 필드가 27 이상의 도큐먼트를 모두 삭제한다.

 

 

반응형

+ Recent posts