Categories
Javascript + jQuery

[Javascript] 팝업 차단 피하기

User action이 있을 때 popup을 띄우는 것은 허용된다. ex) click 등
ajax 처리를 하는 경우에도 callback 함수 바깥에서 띄우면 된다.
안 되는 경우

// 클릭 이벤트 핸들러
function didClick() {
	$.ajax({
		url: "someurl.php",
		success: function() {
			window.open("popup.html"); // blocked
		}
	});
}

해결 방안

// 클릭 이벤트 핸들러
function didClick() {
	var result = false;
	$.ajax({
		url: "someurl.php",
		success: function() {
			result = true;
		}
	});
	if( result ) {
		window.open("popup.html"); // it will works
	}
}
Categories
일상과 생각

Facebook과 Twitter

FacebookTwitter. 소셜네트워크 서비스에서 빠질 수 없는 서비스들이다. 나는 예전에  Twitter 만을 사용해왔다. 주된 용도는 일상+정보공유. Twitter 만으로도 충분했다. Facebook은 함께 사용하는 친구가 거의 없어서 사용을 미뤄오고 있었다.
요즘은? Facebook을 더 많이 사용한다. 회사 동기들과 함께 사용하게 되면서 사용 빈도가 늘었으며, 친구들도 늘어나면서 사용해야 할 이유가 생겨났다. 게다가 Twitter 보다 오프라인으로 알고 지내는 이들이 더 많기 때문인지, 일상을 남겼을 때 호응도 더 많은 편이다. 뉴스피드 항목이 Twitter 처럼 ‘최신글’만 있는게 아니라 ‘인기글’도 있어서 친구들의 소식을 골고루 알 수 있는 것도 Facebook의 장점이다.(Twitter는 열성적인 사람이 내용을 여러 개 올리면 다른 사람의 것이 묻혀 버린다.)
결국 지금의 내 용도는 일상공유-Facebook, 정보공유-Twitter 가 되었다. 여전히 Twitter를 통해 여러 사람들과 일상을 주고 받고는 있지만, Twitter에는 뭔가 알려야 할 정보를 더 많이 올려야겠다는게 지금의 마인드랄까.

Categories
개발(Development)

[Eclipse] jcraft SFTP export 오류

상황 설명

SFTP로 A라는 서버에 업로드를 했다가 B라는 서버로 대상을 바꿔 업로드를 한 다음, 다시 A 서버로 업로드가 안 되는 문제

오류 메시지

xxx is already mapped to com.jcraft.eclipse.team.sftp.SFTPDeploymentProvider

해결 방안

<pathToEclipseWorkspace>/.metadata/.plugins/org.eclipse.core.resources/.projects/<projectName>/org.eclipse.team.core/.deployments

위의 경로에 해당하는 파일을 연 다음, <provider>에 해당하는 녀석을 지우고 이클립스 재시작

출처

http://stackoverflow.com/questions/3823235/how-to-edit-ftp-accounts-in-jcraft-sftp-plugin-for-eclipse

Categories
HTML + CSS

긴 텍스트 줄이기(HTML과 CSS 이용)

텍스트 길이가 폭 보다 긴 경우 뒷 내용을 줄이면서 뒤에 …을 붙이는 방법
HTML

some long texts

CSS

.wrapper { white-space: nowrap; }
.ellipsis {
	overflow: hidden;
	text-overflow: ellipsis;
}
Categories
게임 이야기

WoW 대격변 리뷰

월드 오브 워크래프트(World of Warcraft, 이하 WoW)는 지금까지 즐긴 게임들 중 제일 열심히, 그리고 재밌게 즐긴 게임이다. 처음으로 온라인 RPG를 위해 계정비를 지불한 게임이기도 하다. 작년 겨울, WoW는 대격변이라는 이름의 확장팩을 발표했다. WoW 세계를 전체적으로 뒤엎고 다시 디자인한 확장팩이라는 데서 기존 확장팩과는 다른 무언가가 있었다. 저레벨 지역 컨텐츠도 모두 바뀌었기 때문에, 나는 새로운 서버에서 이번에 추가된 종족인 고블린을 키우기 시작했다. 그리고 며칠 전, 드디어 85레벨을 달성하고 만렙을 찍었다. 결론부터 말하자면, 나는 다시 한 번 WoW에 매료되었다.

다시 한 번, 그리고 새로운 재미를 준 WoW

WoW의 강점은 잘 구성된 세계관과 그로부터 나오는 흥미로운 퀘스트들이다. 작은 퀘스트들이라도 서로 연관성이 있으며, 조금씩 더 큰 목표를 제시해준다. 한 지역에서의 이야기들을 따라가다 보면 큰 이야기가 진행되고 있음을 저절로 느끼게 된다. 대격변에서는 이 점이 더 강화되었다. 퀘스트를 진행할 때, 마치 영화에서처럼 다양한 카메라 연출 효과를 경험할 수 있게 되었기 때문이다. 아무때나 멋진 효과를 남발하는 것이 아니라, 적절한 순간에 적당한 분량으로 사용자의 통제권을 빼앗고 이야기를 들려준다. 이야기가 진행된 후에는 게임 속 NPC와 주변 환경들도 변화되어 있기 때문에 이야기 속에 빠져들기가 더 쉬웠다.
신규 추가된 던젼도 마음에 들었다. 어제는 처음으로 울둠 지역의 던젼을 가볼 수 있었는데, 이집트의 고대 신들과 파라오들을 모델로 한 듯한 던젼이 인상적이었다(WoW 세계의 인디아나 존스라 할 수 있는 브란 브론즈비어드를 다시 만나서 반갑기도 했고). 던젼에서는 각 지역의 거울들을 이용해 빛을 한데로 모아 문을 열어야 했는데, 인디아나 존스 영화에서 많이 보았을 법한 그런 장면이 아닌가…!! 다른 던젼에 비해 시간 소비가 있는 던젼이었지만 영화 속 추억을 떠올릴 수 있어서 더 흥미롭게 느껴진 던젼이기도 했다.

보다 정교해진 시스템

던젼의 컨셉만큼이나 몹들의 밸런스도 적정했다. 공략은 쉬운 편이지만, 경험을 하면서 조금씩 더 나은 대처법을 생각하게 했다. 어느 몹을 우선적으로 공격해야 하는지, 어떤 공격이 위험하고 어느 지역이 안전한지 등, 전투를 통해 배울 수 있는 것이 많았다. 상대적으로 높아진 유저들의 체력이 이를 가능하게 하는 건지도 모르겠다.
유저가 착용한 아이템의 평균 수준에 따라 갈 수 있는 던젼에 제한을 둔 것도 마음에 들었다. 빠르게 좋은 장비를 얻고자 하는 사람들에게는 귀찮은 일이겠지만, 조금씩 단계를 밟아 성장할 수 있는 시스템은 충분히 합리적이다. 게다가 게임개발사의 입장에서는 게임 속 컨텐츠의 소비시간을 다소 지연시키는 효과가 있으니 여러모로 득을 보는 시스템임에는 여지가 없을 듯 하다.

WoW의 가치를 다시 한 번 보여준 대격변

WoW는 MMORPG에서 후발주자였지만, 다른 게임들의 장점들을 적정한 수준으로 잘 균형 잡으면서 전세계적으로 성공한 게임이 되었다. 좋은 스토리와 그것을 더 흥미롭게 만드는 게임 속 기능들은 왜 WoW를 즐긴 사람들이 다른 게임을 둘러보다가 결국 WoW로 돌아오게 되는지를 설명해준다. 전투가 WoW보다 더 박진감 넘치고 훌륭한 게임도 있다. 캐릭터가 더 예쁜 게임도 있다. 더 편리한 UI를 제공해주는 게임도 있다. 하지만 이 모든 것을 가장 잘 버무려내고 있는 것은, 아직까지는 WoW가 아닐까 싶다.

Categories
일상과 생각

새로운 곳으로 이사!

기존에 이용하던 호스팅에 문제가 생겨서 새로운 곳을 알아보았다. 마침 무료호스팅을 또 지원해주는 곳이 있길래(공짜인생 -_-) 기존 내용을 백업받아 옮기는 작업을 해보았다. 가끔 막히는 구간이 있었지만 전체적으로 쉽고 깔끔하게 마무리 지을 수 있었다! 현재 기분은 매우 뿌듯함 ㅎㅎ
절차는 간단했다. 기존 호스팅에서 백업받은 파일은 두 가지였는데,  화면에 보여질 파일들(주로 wordpress 폴더)이 하나요, DB에 저장된 것을 Export한 SQL 파일이 나머지 하나였다. 우선 wordpress 폴더는 FTP로 접속해서 파일을 올리면 끝이니까 산뜻하게 끝났다. config 파일에서 DB 접속 부분만 살짝 바꿔주면 된다. SQL 파일은, 호스팅 업체에서 DB 관리를 위해 제공하는 페이지가 있다(보통 phpmyadmin). 이곳으로 접속해서 Import 메뉴로 들어간 다음 해당 SQL 파일을 선택해서 실행해주면 끝. 아, 이 때도 수정해줘야 하는 것이 하나 있는데, 기존 SQL 파일에는 옛날 블로그 주소가 포함되어 있다 – 작성한 글의 URL이라든지, 이미지 파일의 경로라든지 하는 것들에. 이것을 모두 바뀔 새로운 블로그 주소로 변경해주어야 한다. 메모장 같은 프로그램을 이용해서 기존 주소를 새 주소로 모두 바꾸어주면 된다.
처음엔 방법을 몰라서 잠시 헤맸지만, 이 정도면 상당히 양호하게 끝난 셈이다.
이번에 찾아온 호스팅업체는 지난 번과는 달리 보다 상업적인 운영을 하고 있는 곳. 무료 호스팅도 제공해주고 있어서 사용해보는 중인데 처음에 제공되는 하드디스크 용량 등은 그렇게 크지 않다(100MB 수준. DB 200MB, 트래픽 100MB). 이글루스에서 운영할 때와는 달리 아직까지는 방문자와 내 활동량이 많지 않아서 이 정도 용량으로도 충분할 것 같다. 나중에 부족해지면 그때 다시 고민해 봐야겠다.
어쨌든 음력 새해를 맞이하며 블로그에 새 집을 마련해주어서 기분이 괜시리 좋다. ^^

Categories
일상과 생각

이충성, 추성훈, 하인즈 워드를 생각하며

일본과 호주의 아시안컵 결승전. 경기를 직접 보지는 못하고 다음날 아침 기사를 통해 내용을 확인할 수 있었다. 그런데 결승골의 주인공이라고 소개된 이름이 눈에 들어왔다. ‘이충성’. 한국 이름이 보였던 것이다. 순간 정대세 선수가 생각나며 뭔가 사연이 있겠다 싶어서 찾아보았다.
그는 처음에는 한국 국가대표를 꿈으로 삼아 파주 국가대표훈련장에서도 함께 뛰었다고 한다. 그러나 재일교포 4세였던 그가 들을 수 있었던 것은 ‘반쪽바리’라는 사람들의 편견의 시선. 결국 그는 상처만을 입고 일본에 귀화를 결심하게 되었다.
우리 사회가 받아들이지 못한 많은 스포츠 스타들이 있다. 이들이 해외에서 멋진 활약을 할 때마다 우리는 우리의 아픈 면을 보게 된다. 우리는 왜 그들을 받아들이지 못했을까? 그들을 받아들였다면 우리는 더 큰 성장을 할 수 있지 않았을까?
제목에 쓰지 못한 수많은 이름들이 아직 있을 것이다. 하지만 그들이 세상에 나왔을 때 우리의 아픈 면을 다시 보게 되기 보다는, 좋은 면을 볼 수 있었으면 좋겠다. 그때까지 모두들 힘내길.

Categories
일상과 생각

공채 교육의 마지막 날을 앞두고

오리엔테이션 첫 날을 생각해본다. 서로 조금은 어색하게 인사를 주고 받았던 시간들. 그땐 이렇게 인사해도 조금은 무덤덤했었지.
“안녕… 또 뵈요 ^^”
하지만 마지막 날인 오늘은 조금 다를 것 같다. 그동안 함께 했던 시간들 동안 너무나도 친해져 버렸다. 같은 층, 같은 건물에서 근무하는 친구들도 있지만, 건물마저 떨어진 친구들도 있다. 지금까지처럼 늘 함께 하지 못 하고 새로운 사람들을 만나러 각자의 길을 떠난다는 것이 무척이나 아쉽다.
또 만나겠지. 또 만날꺼야. 또 만나고 싶다.
그런 생각이 점점 더 강하게 들 수록, 이 인사는 분명 지난 날과는 다르다.
“안녕… 또 뵈요 ^^”
우리가 각자 걸어가게 될 길이 서로 평행하지는 않을꺼라 믿는다. 언젠가는 또 만나게 될 것이고, 지금의 순간들을 생각하며 즐겁게 이야기 할 수 있겠지. 아쉬움의 크기만큼이나, 우리는 함께였다고 믿어도 좋은 것이다.
마지막 날을 앞두고, 기대와 아쉬움이 뒤섞인 밤을 지새어 본다.

Categories
일상과 생각

새로운 시작, 새로운 만남

오늘… 이라고 하기엔 12시가 지났구나. 월요일(12.06)은 신입 입사자들을 대상으로 한 오리엔테이션이 있는 날이었다. 1시부터 시작해서 6시 즈음에 마무리 된 이벤트. 저녁 식사까지 마치고 나니 8시가 넘은 시각이었다.
같이 새롭게 시작하게 된 사람들. 대학교 신입생 오리엔테이션과는 사뭇 다른 느낌이다. 그때가 대학생활의 낭만만을 생각하며 기대에 부풀었다면, 지금은 앞으로의 사회생활에 대한 다짐과 각오를 각자 가지고 시작하는 것은 아닐런지.
어쨌든 새로운 곳에서 새로운 사람들을 만나서 즐겁다. 앞으로 이 사람들과 함께 많은 것을 함께 하게 되겠지.

Categories
일상과 생각

iOS 4.2 후 Find my iPhone 활성화

iOS 4.2 업데이트 이후 Find my iPhone 서비스(이하 FMi)가 무료로 제공되기 시작했다. FMi에서 제공하는 서비스는 다음과 같다.

  • 아이폰의 현재 위치 찾기(국내에서는 막힌 듯)
  • 아이폰에 메시지 보내기
  • 아이폰에서 경고음 발생시키기
  • 아이폰 원격으로 잠그기
  • 아이폰의 데이터를 원격으로 삭제하기

아이폰 분실시 유용하게 쓸 수 있는 기능들이다. 하지만 아이폰의 현재 위치를 찾아주는 기능은 국내 지도법상 허용을 하지 않아 현재는 사용이 불가능하다고 한다. 기존에 사용하고 있던 분들도 iOS 4.2 업데이트 이후 막혔다고 하니 시간을 두고 기다려봐야 할 것 같다.
어쨌거나 나머지 기능들도 분실시에는 꽤 유용하게 쓸 수 있는 기능들이다. 이제부터 FMi 서비스를 활성화시키는 법을 알아보자.
– 준비물

  • 아이폰
  • me.com에 등록되지 않은 Apple ID (앱스토어 ID)

준비물은 이 두 개가 전부다. 예전에는 SKT USIM 등을 활용해야 했지만 지금은 없어도 된다.
me.com은 애플에서 제공하는 MobileMe 서비스를 위한 사이트다. FMi 서비스는 MobileMe 서비스에서 제공되는 유료 서비스 중 하나였다. 저 사이트에 가본 적이 없다면 아직은 들어가지 말자.

활성화 과정

우선 아이폰을 꺼내 설정으로 들어가자.

설정에서 "Mail, 연락처, 캘린더"를 선택하자

‘Mail, 연락처, 캘린더’를 선택하고
'계정 추가'를 선택한다

계정 추가를 누른 뒤
'mobileMe' 를 선택

MobileMe 계정을 선택한다. 여기까지 하면 아래와 같은 화면을 만나게 된다.
Apple ID를 입력하는 화면

여기서 자신이 사용하고 있는 AppleID (앱스토어 ID)를 입력해보자. MobileMe에 아직 등록되지 않은 계정이라면 인증메일을 보냈다는 메시지를 볼 수 있을 것이다.
주 메일로 확인 메일이 온다.

인증메일 확인 전에는 아래와 같이 표시된다.
메일 확인 전의 모습 (사진출처 - http://cafe.naver.com/mjpress/242 )

자신의 메일 계정에서 인증메일을 확인하자.
영어로 된 메일이 왔다면 'Verify Now'를 클릭

한글로 된 메일이라면 '지금 확인하십시오'를 클릭

메일에서 링크를 클릭했다면, 다시 아이폰으로 들어가서 ‘확인되지 않음’이었던 계정을 클릭해보자.
드디어 나타난 FMi 서비스(사진출처)

위에서 ‘승인’을 누르면 모든 절차가 완료된다.
모든 과정이 완료되면 '나의 iPhone 찾기'라고 표시된다.

이제 me.com에서 자신의 Apple ID로 로그인을 하면 자신의 아이폰으로 메시지를 보내거나, 잠그거나, 데이터를 삭제할 수 있다. 혹은 다른 사람의 아이폰 등에 Find My iPhone 앱(미국스토어, 무료)을 받아서 같은 작업을 할 수도 있으니 참고하자.
me.com에 로그인하면 관련 작업을 할 수 있다

활성화가 안 되는 경우

me.com(MobileMe)에 이미 등록된 계정이라면, 계정 추가시 AppleID를 입력했을 때 아래와 같은 화면으로 이어질 것이다.

이미 MobileMe에 가입된 계정이면 아무것도 표시되지 않는다

계정 아래에는 '비활성(inactive)'으로 표시가 된다. 악어는 신경쓰지 말자.

비활성으로 나타나는 경우에는 방법을 찾지 못했다. 다른 Apple ID를 만들어서 시도해보길 권장한다.

결론

이런 과정을 봤을 때, FMi 서비스가 무료로 풀리면서 MobileMe에 새로 가입하는 경우에는 자동으로 FMi를 활성화 해주는 것 같다. 하지만 기존에 활성화 되어 있지 않은 계정은 현재는 방법을 찾지 못했다.
한국계정이 있다면 이번에 미국계정을, 미국계정이 있다면 한국계정을 추가로 만들면서 가입하면 FMi 서비스를 사용할 수 있을 것이다.