OS X 에서 Automator 로 MAC Address 쉽게 변경하기

지난 번 포스팅 ( OS X 에서 MAC Address 쉽게 변경하기 ) 에서 언급한 LinkLiar 앱을 잘 사용중이었다. 그런데 집과 회사를 오가며 사용하다보니 조금 귀찮은 문제가 있었다.

집에 있는 무선공유기에서 MacAddress 인증도 사용하고 있는 상태여서 MBP 와 내 iPhone 이 동시에 접속이 되지 않는 문제가 발생한 것이다. (내부망에 동일한 두개의 MacAddress 가 들어오는 상태가 되어버리니 당연히 문제가 발생…)

매번 길다란 영문숫자가 뒤섞인 MacAddress 를 타이핑하기에는 난 너무 게을렀다. 그래서 손쉽게 MacAddress 를 바꿔가며 사용할 수 있는 방법은 없을까 하다가 아래처럼 Automator 로 앱을 두개 생성해서 사용하니 나름 편하다.

!! 사실 저 도중에 사용하는 스크립트에는 내 계정의 로그인 패스워드가 암호화 되지 않은 텍스트로 들어가 있다. 누군가 이렇게 생성한 앱을 획득해서 열어보면 바로 내 로그인 패스워드를 확인할 수 있다는 뜻도 된다. 조심하자!! 

1. Automator 에서 File > New 한 후 Application 을 선택.

automator_1

2. Run Shell Script 를 찾아서 더블클릭 해주면 아래와 같은 창이 나타나는데, 명령어 창에 아래와 같이 입력.

echo MY_LOGIN_PASSWORD | sudo -S ifconfig en1 ether MY_IPHONE_MAC_ADDRESS

당연히
MY_LOGIN_PASSWORD 에는 내 로그인 패스워드,
MY_IPHONE_MAC_ADDRESS 에는 바꾸고자 하는 맥어드레스로 바꿔서 적어준다.

automator_2

3. 저장을 해 준다.

automator_3

4. iPhone 과 MBP 용으로 각각 만들어 놓으면 쉽게 맥어드레스를 변경 가능하다.

automator_4

OS X 에서 MAC Address 쉽게 변경하기

맥북프로의 Mac Address 를 변경해야 할 필요가 생겼다.

Terminal 을 통해서 변경하는 방법이 있긴 한데, 번거롭기도 하고, 가끔 다시 원복을 하거나 해야 하는 상황이 생길 것 같아서 손쉽게 할 수 있는 방법을 찾다가 정말 편하게 할 수 있는 방법을 찾았다.

www.github.com/funkensturm/LinkLiar

위 사이트에서 LinkLiar.prefPane 파일을 다운받아 실행하면 시스템설정 하단에 LinkLiar 항목이 추가된다.

클릭하면 아래 그림과 같은 직관적인 설정창이 나타난다.

LinkLiar_Pref

무선, 유선의 맥어드레스를 클릭하여 나타나는 팝업창에 변경할 Mac Address 를 적고 Apply 버튼만 눌러주면 끝.

이제 기존의 맥 어드레스들을 적어서 잘 보관해 놓고, 필요할 때마다 손쉽게 변경해 가면서 사용할 수 있을 것 같다.

SVN Commit 하면 바로 개발서버에 Upload 하기.

보안 설정들이 좀 까다로운 곳에서 일을 하다보니, 개발서버에 파일을 Upload 하기 위해선 특정 보안프로그램을 통해 실행한 프로그램을 사용해야만 하는 상황.

로컬에서 개발을 해서 보안프로그램을 통해 실행시켜놓은 FTP 클라이언트를 통해 Upload를 하는 작업을 반복하다보니 업무효율도 떨어지고, 간혹 서로 소스를 덮어쓰는 상황까지 발생했다.

결국은 개발자들은 소스 수정 후 SVN 에 Commit 하기만 하면 1~2초 내로 자동으로 개발서버로 반영되도록 환경을 구축하기로 하고 방법을 찾았다.

1.
현재 파일서버 겸 SVN 서버로 사용하는 윈도우박스의 VisualSVN Server 에서
Post-Commit Hook 스크립트를 설정해서 윈도우박스의 특정 폴더로 Update 시켜준다.

2.
WinSCP 를 사용해서 윈도우박스의 특정폴더(Post-Commit Hook 으로 Update 된 폴더) 와 개발서버의 소스폴더를 동기화 시켜준다.
(WinSCP는 앞서 이야기한 보안프로그램을 통해 수행시켜놓은 상태이고,
 동기화는 ‘서버의 폴더를 항상 최신으로 유지’ 기능을 통해 윈도우박스의 폴더에 변경사항이 감지되면 자동으로 해당파일을 서버의 해당되는 위치에 업로드 하도록 설정해준다.)

3.
테스트 삼아 Commit 해보고 업로드 되는 과정을 확인하면 끝.

4.
‘SVN Post-Commit Hook’ 기능과 ‘WinSCP 의 폴더동기화’ 기능은 웹상에 좋은 가이드가 너무 많아서 별도로 적어 놓지 않는다. 

아이폰5

아이폰이 도착했다.

20121209-152141.jpg
눈에띄는 길어진 화면, 얇아진 두께, 그리고 확연히 빨라진 속도.

하지만 그것들 보다 훨씬 커다란 변화로 체감되는 것은 정말 가벼워진 무게!

이제는 어지간한 금속범퍼를 장착해도 부담을 느끼지 않을 수 있을 것 같다.

텍스트 입력창에 입력즉시 날짜형식으로(yyyy/mm/dd) 표시하기

특별한 자바스크립트 라이브러리를 사용하지 않는 상태에서, 간단하게 input 입력 창에 입력 받는 데이터를 yyyy/mm/dd 형식으로 표시해 줘야 하는 요건이 생겼다.

1.
input 입력 창에 입력하는 즉시 변환해서 보여주려면 onKeyUp 이벤트 정도로 잡아서 변환된 값을 뿌려주면 될 듯 싶다.

2.
입력된 데이터에서 / 를 제거해준 후 4,2,2 자리로 잘라서 sYear, sMonth, sDay 로 저장해 놓는다.

3.
/ 를 제거한 문자열의 길이에 따라 문자열 과 / 를 붙여서 input 입력 창에 다시 뿌려준다.

4.
여기에 실제 날짜가 맞는지 체크하고, / 를 제거하는 대신 숫자 이외의 문자들을 모두 제거하는 식으로 조금 더 가다듬으면 좋겠지만, 이 정도로도 최초의 목적은 달성했으므로
끝.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
function setDateFormat(obj, strVal) {
    strVal = strVal.replace(/\//g, '');
    var sYear = strVal.substring(0,4);
    var sMonth = strVal.substring(4,6);
    var sDay = strVal.substring(6,8);
    var len = strVal.length;
    if (len < 5) {
        obj.value = sYear;
    } else if (len < 7) {
        obj.value = sYear + '/' + sMonth;
    } else {
        obj.value = sYear + '/' + sMonth + '/' + sDay;
    }
}
1
<input name="fromDt" onKeyUp="setDateFormat(this, this.value)">;