한국 면허증을 택사스 면허증으로 교환하기입니다!



오늘로 미국에 온 지 86일이 되었습니다.



처음엔 정말 막막함 그 자체였죠.


물론, 지금도 막막한 것이 정말 많지만

그래도

자동차 사기, 자동차 타이틀 받기, 자동차 번호판 달기, 소셜번호 받기, 집 구하기 등 정말 많은 것을 해결했습니다.



오늘은 마지막 남은 과제인 자동차 운전면허 교환을 했습니다.



많은 사람들이 얘기하지만 미국의 관공서는 업무처리가 느립니다.


공무원이 느릿하게 업무 처리 하는 것도 있겠지만, 무엇보다도 사람이 항상 정말 많은 것 같아요.


사실 공무원이 느릿하게 처리하는 것보다 사람이 많은게 크다고 생각해요.


사람은 정말 많은데 그만한 관공서가 있지는 않은 것 같아요.


한국은 곳곳에 동사무소, 구청, 시청이 있어서 괜찮은데 말이죠.


아마 그렇지 않을까요.



소셜 번호 받을 때도 2시간 넘게 걸렸는데, 오늘 운전면허 교환하는 데도 역시 2시간 이상 걸렸습니다.


총 2시간 30분 걸렸던 것 같고, 그 중 2시간은 대기 시간이었습니다.


느긋하게 책이나 드라마 같은 것을 보며 기다리는 것도 좋을 것 같아요.





택사스 주는 한국의 면허증을 별도의 시험 없이 바로 미국 택사스 운전면허로 교환 해줍니다.


필요한 서류와 간단한 시력검사만 그치면 바로 운전면허 교환이 가능하죠.



필요한 서류는 


http://overseas.mofa.go.kr/us-dallas-ko/brd/m_4317/view.do?seq=979549


댈러스 대사관 홈페이지에 친절히 잘 나와 있어요.



우선


1. 신분증이 필요합니다.

저는 여권을 가져갔습니다.


2. 유효한 비자를 가져오라고 하네요.

저는 J1 비자로 와있는 상황이라, J1 비자를 알려 줄 수 있는 DS-2019 와 DS 7001 을 가져갔어요.

만약 J1 비자로 오신 분은 2개 다 가져 가야합니다. DS-2019 만 확인할 줄 알았는데, 둘다 확인 하더라고요.


3. 소셜시큐리티카드 를 가져 갑니다.

대사관의 안내문에는 소셜시큐리티가 있음을 증명할 수 있는 서류를 가져가라 하는데, 저는 그냥 소셜시큐리티카드를 가져갔고, 이게 가장 마음 편한 방법이 아닐까 싶어요.


4. 차량등록증과 보험증서, 차량점검표.

차가 있는 사람만 가져가면 되는 것 같아요. 저는 차가 있었기에 가져갔습니다.

특이사항은 차량점검표는 따로 보여달라고 하지 않더라고요. 차량등록증인 Car Title 과 보험 증서를 보여줬습니다.


5. 대한민국 운전면허증

대한민국 운전면허증을 가져가고, 제출해야 합니다. 제출한 면허증은 한국가면 다시 돌려 받을 수 있다고 하나봐요. (아마 저는 새로 발급 받을 것 같습니다.)


6. 택사스 거주를 증명할 수 있는 서류 2개

저는 이 항목이 가장 어려웠어요.

저와 같이 미국에 계속 거주하는 것이 아닌 사람에게 수도세, 가스비 고지서가 있을리 없으니까요.

저는 현재 쉐어하우스에서 월세 주면서 살고 있어서 당연히 제 이름과 주소로 된 고지서 같은 것은 갖고 있지 않았어요.

그리고 문제가 되는 것이 저는 인턴으로 여기 와있었고, 대부분의 서류상의 주소와 소셜시큐리티 주소가 쉐어하우스 주소가 아닌 모두 회사로 되어있었어요.

거주하고 있음을 증명해야 하는데, 제가 정작 살고 있는 쉐어하우스로 된 서류는 하나도 없었습니다.


그래서 그냥 SIMPLE 하게 서류상 주소인 회사를 그냥 주소로 했습니다.


서류 준비는 정말 많이 했었어요. 회사로 날라온 보험 고지서, 고속도로 통행료 고지서, 차량 타이틀, 소셜시큐리티, 체크카드 우편물 등등


근데 정작 공무원님께서 확인하는건 차량타이틀과 소셜시큐리티만 확인하더라고요.


즉, 저는 소셜시큐리티와 차량 타이틀만 보여줬습니다.


간단히 대화를 정리해 보면


"여기 살고 있는 거 증명할 서류 있니?"


"차량 타이틀과 소셜시큐리티 있.."


"소셜시큐리티? 오 긋"


하고 대화는 끝났고 저렇게 두개 보여줬습니다.


사실상 서류를 뭐 달라 뭐달라 이런식으로 차근차근 준게 아니고, 냅다 한꺼번에 줘서 그 서류가 언제 필요했고, 언제 사용 되었는지는 정확하지 않습니다.


7. I-94

댈러스 안내문에는 I-94 서류를 가져가라는 말이 없었습니다.

하지만 I-94를 달라고 하더라고요. 저는 미리 많이 복사 해놔서 그걸 줬습니다.

운이 좋았던 것 같아요. I-94 꼭 챙겨가세요. 

I-94는 인터넷에서 쉽게 인쇄 가능합니다~!


8. 대사관에서 받은 면허증 공증

이글을 작성하기 2달 전쯤 댈러스 대사관 출장소에서 면허증 공증을 받았습니다. 

특별히 대사관에서 받은 거 달라는 말은 안했어요. 그냥 면허증을 트랜스레이션 할 수 있는 거 있냐 그러더라고요.

그래서 아무 생각없이 대사관에서 받은 서류를 줬습니다. 제가 받은 느낌은 꼭 필요한건 아니라는 느낌이었어요.

한국에서 국제면허증 받아온거 있는데 왠지 그 것으로도 될것 같은 느낌이었습니다.


9. 마지막으로 운전면허 신청서인  DL-14a 입니다

미리 작성해 가셔도 되고, DPS 에서 작성하셔도 됩니다. 가니까 친절하게 팬이랑 DL-14a 서류를 주더라고요.

근데 저는 미리 작성해가는 게 편하지 않을까 싶어요. 다닥다닥 붙어있는데 제 개인정보를 적는건 불편하니까요오.


저는 이 서류 작성하는 데 어려움이 많았어요. 사실 미국에 있는 모든 서류 작성이 어려워요.

저는 영어를 잘못해요. 특히나 이런 공식 서류에는 정말 생소한 단어들이 정말 많아서 사전 검색해가면서 써야합니다.

가뜩이나 영어도 못하는 데, 서류에는 한국에 없는 개념이 있거나, 쓰는 방식이 한국과 다른게 너무 많아요.

이건 어떻게 써야하지, 여긴 뭘 적어야하지, 이걸 왜 묻는 거지 등등 지금까지 제가 받은 영어 교육은 무쓸이란 걸 매번 느낍니다.


인터넷에 찾아봐도 이런 서류 작성하는 법에 대해 나와 있는 블로그나 글은 없더라고요...


물론 제가 멍청해서겠지만, 저와 같은 어려움을 겪고 있는 분이 있을 수도 있기에 제가 뭘 적었는지 자세히 적으려고요.


일단 맨위에 체크 하는 부분은 Driver License 를 체크합니다.


이름은 쓰시면 되고, Suffix 나 Maden Name 은 사전 찾아보시면 쉽게 무슨 뜻인지 알 수 있고, 감도 오실태니 패스~ (저도 모릅니다. 한국인은 쓸일 없는 개념의 이름이라고 생각해요.)


인종에는 A 썼습니다.(체크는 따로 안했어요)


키는 피드 및 인치 단위네요. 구글 및 네이버에 변환기 사용했어요.

몸무게도 파운드네요. 왜 파운드를 lbs 라고 적는 걸까요. 너무 헷갈리더라고요. 변환기 사용했습니다.


전화번호는 HOME 이랑 OTHER 가 있는데, 저는 하나는 제 핸드폰, 하나는 회사 번호 적었어요.

아마 하나만 적어도 되지 않을까요.


대망의 주소 부분입니다.

Residence Address 와 Maling Address 로 2개 적으라고 되어있네요.

위에서 말했듯이 저는 회사가 주소로 되어있어서, 혹시라도 "여기 회산 데 왜 사는 곳이라고 했어?"라고 퇴짜 맞을까봐 너무나 걱정 됐었어요.

근데 별일 없이 넘어가서 다행이라고 생각합니다.

저는 둘다 회사 주소 적었고, Mailing 주소에만 슈트넘버 즉, 사무실 호수를 적었습니다.

저번에 소셜 시큐리티 발급 받았을 때, 발급 받은 지 3주가 지나도록 소셜카드가 배송이 안되더라고요. 

알고보니 사무실 호수인 슈트(Suite)번호를 적지 않았기 때문이더라고요. 이미 항상 사무실 건물까지 왔다가 돌아간 것 같아요.

소셜 시큐리티 카드 같은 매우 중요한 서류 같은 것은 본인에게 직접 배달이라고 하나봐요.


이번에도 그런 경우가 생길 까봐, 마지막에 운전면허증은 어디 주소로 배송되냐고 물어봤어요.

그랬더니 너가 적은 주소로 온다고 하더라고요. 그래서 확인할 수 있냐고 요청했고 확인해보니 슈트번호가 빠져있더라고요.

아마 공무원님께서 대충 읽고 레지던스 주소랑 메일링 주소랑 비슷하니까 그냥 레지던스 주소를 메일링 주소로 복붙한게 아닐까 싶어요.

그래서 내가 메일링 주소에 슈트번호 추가해달라 그리고 그곳으로 보내달라 요청했습니다.

회사분들은 슈트번호 적으면 회사인거 티나서 퇴짜맞을 수도 있다고 했는데, 다행이라고 생각해요.

저는 나름 편법쓴다고 레지던스 주소에는 슈트번호 빼고, 메일링에만 넣었어요... 

같은 주소에 슈트번호만 뺀다고 의심 안할 것 같진 않지만, 어찌됐든 저를 담당하신 공무원님께서는 별 의심 안하셔서 다행이에요.


출생지는 City 에 서울 적고 나머지는 비워두고 Country 에 사우스코리아 적었습니다.


그리고 나머지는 체크 하는 항목들인데요.


맘편히 전부다 No 체크 추천드립니다.


읽을 필요 없이 그냥 전부다 No!


아.. 14번 항목은 Yes 입니다.


나머지는 전부다 No


두번째 장에 Certification 부분부터 아래는 비워둡니다.

Do not sign below until instructed .... 뭐 이렇게 시작하니까요. 쓰지말라는데 너무나 감사하죠호호호.


자 



정리하면 제 경우에 필요했던 서류는


여권

DS-2019

DS-7001

I-94

DL-14a

한국 운전면허증

댈러스 대사관 출장소에서 받은 운전면허 공증

소셜시큐리티카드

차량 타이틀

차량 보험증



입니다.



이렇게 서류 보여주고, 공무원님께서는 서류를 읽으시고, 타자를 치시고 스캔을 하십니다.


그 다음 지문을 등록합니다.


지문 등록한 후에는 시력검사를 해요.


시력검사는 따로 이동해서 하지 않고 책상 앞에 있는 조그만 VR 기계 같은거에 눈 갖다대고 합니다.


저는 4번째줄 왼쪽부터 오른쪽으로 읽으라고 해서 번호를 읽었어요. 


그리고 사진을 찍어요.


사진은 따로 안챙겨가고 현장에서 바로 찍어요.


사진 찍는 것도 따로 이동해서 찍는게 아니라 그 자리에서 찍습니다. (모든 과정은 책상에서 이뤄집니다!)


사진 찍고, 공무원님께서 "긋~" 하길래 사진 잘나왔는줄 알았는데, 모자라게 나왔더라고요. 선택권은 없습니다.


그러면 끝입니다.


위의 서류중에 운전면허증과 대사관에서 받은 공증, I-94는 제출했어요. 달라고 하더라고요.



팁을 드리자면 영어를 잘 못하는 척을 하면 그냥 술술 넘어가는 것 같아요.

아 물론 저는 따로 영어를 못하는 척하지 않았지만 술술 넘어가더라구요! 하하하하!




모두 운전면허증 교환 잘하시기를 바랍니다아~






  1. 지우 2018.07.02 20:07

    아 이 글 꿀잼입니다

우선 서버 종류는 node 로 한다


node 업데이트와 npm 업데이트를 한다


node 업데이트는

sudo npm cache clean -f

n 모듈 설치

sudo npm install -g n

n 모듈을 이용해 안정화 버전의 노드 설치

sudo n stable



npm 으로 npm 설치

sudo npm i -g npm



나와 같은 경우는 초기에 이 업데이트 해주는 과정을 하지 않아서 계속해서 에러가 났고 시간을 많이 잡아 먹었다.


무조건 시작하기 전에 노드와 npm 버젼을 설치하자.


이후에 bash 창에서 npm run dev 하면 끝




!!충격적인 사실을 발견했다.


C9 의 터미널 창은 닫았다 키면 초기화가 되나 보다.


업데이트 시켜놓은 node 버젼과 npm 이 초과화 된다


.....


신기방기네....


이때는 노드 업데이트를 npm으로 못한다


nvm install 8.10.0 으로 최신 버전의 노드를 설치하자

C9 으로 루비 작업을 하고 git으로 로컬 저장소로 클론 해왔을 때 루비 버전이 달라 에러가 발생했습니다.


이 때 해결하는 방법을 적습니다~


(아래의 포스팅은 맥 osX 를 기반으로 작성되었습니다.)



RVM (Ruby Version Manager)을 사용하시면 됩니다.


RVM에 관한 자세한 설명은 https://rvm.io/ 를 참고하시면 좋을 것 같아요.


간략히 말하면 루비의 버전을 관리를 도와주는 도구입니다.



실제로 루비를 설치할 때도  RVM을 사용해서 설치 가능하고, 이 방법이 좋다고 하더라고요.



우선 RVM을 설치해줍니다.



RVM 설치 방법은 위의 RVM 공식 사이트에 영어로 친절하게 설명되어 있습니다^^



우선 터미널 창을 여시고


gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB


위의 명령어를 치셔서 GPG KEY를 설치합니다.


이 과정을 거치는 이유는 보안을 보장하기 위해 설치 패키지를 확인하는 데 사용되는 mpapisPublic(공용 키)키를 설치하기 위해서 입니다.



이 다음은 아래의 명령어를 터미널창에 치셔서, rvm을 설치합니다.


\curl -sSL https://get.rvm.io | bash



이렇게 설치를 끝내신 후 아래의 명령어를 치셔서 잘 설치 되었는지 확인합니다.


rvm -v


잘 설치 되었다면 아래와 비슷하게 나올 겁니다.


rvm -v 명령어는 rvm의 버젼을 확인하는 명령어입니다.



이제 모든 준비는 끝났습니다.


우선 c9에 가셔서 프로젝트의 루비의 버전을 확인합니다.


ruby -v 명령어로 루비 버전을 확인 가능합니다.



아직까지 C9 은 루비 버전 2.3.0 을 지원합니다. (현재는 안정 버전으로 2.4.2로 나와있습니다)


맥 OS X 에는 기본적으로 루비가 설치되어 있습니다. 하지만 그 버전이 굉장히 옛날 버전입니다.


실제로 루비를 한번도 설치 하지 않은 상태에서


ruby -v


명령어를 치셔서 확인 하실 수 있습니다.



위와 같은 식으로 말이죠.


(저는 최신 버전을 이미 깔아놓았기에 2.4.2 의 버전이 나옵니다~)



이처럼 컴퓨터의 디폴트 루비 버전과 c9이나 다른 방법으로 만든 루비 프로젝트의 루비 버전이 다르면 에러가 나게 됩니다.

(실제로 2.3.0 버전에서는 Bignum, Fixnum의 두개의 정수 클래스를 가지고 있다면, 2.4.0 부터는 Integer로 통합되었다고 합니다.)



이때 rvm으로 컴퓨터의 루비버전을 프로젝트의 루비 버전과 맞게 바꿔 주시면 에러 없이 즐코딩 가능합니다.

(반대로 프로젝트의 루비 버전을 바꿔 줄 수도 있을 겁니다. 다만 이때는 여러 가지 많이 만져줘야 해요.(그렇다고 알고 있습니다.. 어렵고 힘들다고))



이제부터 rvm을 사용합니다.


우선 rvm list 명령어로 사용가능한 루비 버전을 봅니다.

rvm list


저는 아래와 같이 나옵니다.


저는 현재 두개의 루비 버전이 깔려있네요.



제가 만든 c9 프로젝트의 루비 버전은 2.3.0 이니까 저는 2.3.0 을 깔 필요가 있습니다.


이 명령어는 아래와 같습니다.


rvm install 버전


저는 2.3.0이 필요하니 rvm install 2.3.0 을 쳤습니다.



시간이 꽤 걸립니다.


차분히 기다리면 설치가 됩니다.


루비 2.3.0 버전이 잘 설치 되었는 지 보기위해 다시 rvm list 명령어를 쳐봅시다.

오 2.3.0 버전이 생겨놨습니다.


저기서 => 는 현재 사용하고 있는 ruby 버전을 말하고 * 는 컴퓨터의 디폴트 버전을 말합니다.

저렇게 설치 한것만으로도 현재 2.3.0 버전을 사용할 수 있습니다.


한번 ruby -v 를 쳐보세요.

위와 같이 아까와 달라진 것을 확인할 수 있습니다.


만약 다른 버전을 사용하고 싶다면

rvm use 버전

위의 명령어를 치시면 됩니다.



위와 같이 rvm use 명령어를 통해 자유롭게 버전을 오고 갈 수 있습니다.


추가로 디폴트 루비 버전을 바꾸고 싶다면


rvm --default 버전


위의 명령어를 치시면 됩니다.


위와 같이 * 가 붙은 위치가 바뀐 것을 확인 하실 수 있습니다!



** 요약 **


설치된 사용 가능한 루비 목록 보기

rvm list

특정 버전의 루비 사용하기

rvm use 버전

트정 버전의 루비를 디폴트 버전으로 하기

rvm --default 버전




출처 : 

https://rvm.io/

http://wantknow.tistory.com/        원노님

https://www.ruby-lang.org/ko/news/2016/11/09/ruby-2-4-0-preview3-released/

'CODING > RUBY' 카테고리의 다른 글

루비 버전 관리 RVM 기본 사용법  (1) 2017.11.23
  1. 지우 2018.07.01 12:39

    엄청 대단한 일을 하고 계시는군요

http://www.mind-mining.co.kr/2016/05/using-r-mac.html

MySQL 이나 오라클 DB의 쿼리 질의문에서는 대소문자 구별을 하지 않는다.


SELECT, ALTER, INSERT 등과 같은 질의문 뿐만 아니라 칼럼명, 테이블 이름도 대소문자 구별하지 않는다.


하지만 편의상 질의문이라는 것을 구별하기 위해 대문자로 쓴다.






모든 테이블 목록 보기

SHOW TABLES; 



테이블 구조 확인

DESC 테이블명;






CREATE

테이블명으로 테이블 생성.

CREATE TABLE 테이블명 (

칼럼1 VARCHAR(36) PRIMARY KEY NOT NULL,

칼럼2 INT AUTO_INCREMENT,

칼럼3 데이터타입(데이터크기) 제약조건,

칼럼4 데이터타입(데이터크기),

칼럼5 데이터타입,

...

CONSTRAINT 제약조건명  FOREIGN KEY (칼럼1) REFERENCES 다른테이블 (칼럼명)

);


특정 칼럼의 데이터를 가져오기.

SELECT 칼럼명, 칼럼명, 칼럼명 ... FROM 테이블명;


테이블명의 모든 데이터를 num개까지만 가져오기.

SELECT * FROM 테이블명 LIMIT num;






SELECT

테이블명의 모든 데이터를 가져오기.

SELECT * FROM 테이블명;


특정 칼럼의 데이터를 가져오기.

SELECT 칼럼명, 칼럼명, 칼럼명 ... FROM 테이블명;


테이블명의 모든 데이터를 num개까지만 가져오기.

SELECT * FROM 테이블명 LIMIT num;






INSERT

데이터 입력

INSERT INTO 테이블명 VALUES (데이터, 데이터, 데이터, ...);

특정 칼럼에만 데이터 입력

INSERT INTO 테이블명(칼럼1, 칼럼2, ... VALUES(데이터1, 데이터2, ...);



'CODING > MYSQL' 카테고리의 다른 글

[MySQL] sql 쿼리 파일 읽어오기  (0) 2018.11.15
2017_10_10_MySQL_기본_명령어(쿼리문)  (0) 2017.10.10

ArrayList<Class> array = new ArrayList<Class>(); 형태의 ArrayList 가 있다고 할때, for문으로 객체를 넣을 때의 주의사항.



Mysql 에서 회원정보를 가져와 리스트를 만드는 과정에서 겪은 시행착오를 적습니다.

의도는 같은 분류에 속한 사람들을 가져와 ArrayList 에 추가해준 뒤 for문으로 뿌려주는 거 였습니다.




아래와 같이 Sample 이라는 클래스가 있고 이안에 num 이라는 변수가 있다고 하자.

Class Sample{

int num;

게터;    (모두 치기 귀찮아 생략합니다. getter 메소드)

세터;    (모두 치기 귀찮아 생략합니다. setter 메소드)

}


이 Sample 클래스의 객체를 for문을 통해 ArrayList에 아래와 같이 넣어보자.


Sample sample = new Sample();


ArrayList<Sample> array = new ArrayList<Sample>();


for(int i = 0 ; i < array.size() ; i++){

sample.setNum(i);

array.add(sample);

}


for(int i = 0 ; i < array.size() ; i++){

System.out.println(array.get(i).getNum());

}


위와 같은 형태로 for문으로 sample 객체에 i 값을 넣어주고 그를 array에 추가해주었을때,
내가 원하는 출력값은 0, 1, 2, 3, 4, 5, ... 와 같이 각기 다른 값이었다.

하지만 이렇게 나오지 않고, 이 경우에는 마지막 숫자가 똑같이 출력된다.
만약 array의 크기가 10이라면 9, 9, 9, ... 9 이렇게 9가 10번 출력된다.
이는 마지막에 sample 객체의 num 값을 9로 set 해주었기 때문이며,
Array에 추가된 sample객체는 모두 하나의 객체이기 때문이다.


추가적으로 설명하자면, 변수에는 기본형 변수와 참조형변수가 있다.
기본형 변수는 우리가 흔히 아는 char, int, long, double 과 같은 변수들이다.
이 변수들은 스택에 값을 직접 저장한다.

이와 다르게 참조형 변수는 직접 값을 저장하지 않는다.
대표적인 예로는 배열이나 String, 클래스 객체 등이 있다.
참조형 변수는 스택에 본래 값들이 있는 힙의 주소값이 들어가 있다. 즉, 값을 직접 저장하지 않는다.

위의 경우에는 sample은 모두 하나의 힙의 주소값을 갖고 있는 하나의 객체이다.
ArrayList에 넣었다 하더라도 들어간 객체들은 모두 하나의 주소값을 가지고 하나의 힙을 참조한다.
그렇기에 매번 setter로 num 값을 넣어 줄때마다 매번 sample 객체의 num값은 바뀐 것이며, 최종적으로 마지막 값이 들어가 모두 같은 값이 출력된 것이다. 



이럴 때, 0, 1, 2, 3, 4, 5, ... 와 같은 값을 얻으려면, 내가 한 방법은 이렇다

ArrayList<Sample> array = new ArrayList<Sample>();


for(int i = 0 ; i < array.size() ; i++){

Sample sample = new Sample();

sample.setNum(i);

array.add(sample);

}


for 문안에서 객체를 생성해주었다.
이렇게 했을 때는 원하는 결과를 얻을 수 있었다.
이것이 맞는 방법인지는 모르겠으나, 일단은 이렇게 해결했다.


어떻게 보면 너무나 당연한 굉장히 초보적인 실수를 한 것 같아 ashamed 하다




+ Recent posts