2013 이전 41

[UNIX] cat 리다이렉션 주의 사항

간단한 파일 입출력을 위해서 cat을 이용하는 경우가 종종 있을 것이다. 간단한 명령어기 때문에 별 생각 없이 써왔던 명령어였는데, 실수를 통해서 좀 깊이 알게되어 정리 해보려 한다. 내가 했던 실수는 다음과 같다. test1.txt 와 test2.txt의 내용을 test3.txt에 저장하려고 하였다.그런데 실수로 아래와 같이 해버렸다. $cat test* > test3.txt 위 문장은 풀어서 쓰면 다음과 같다 $cat test1.txt test2.txt test3.txt > test3.txt 위처럼 자기 자신 까지 포함해서 test3.txt에 저장이 되게 한 것이다. 그래도 test3.txt가 내용이 존재 하지 않기때문에 별 문제없을 것이라고 생각했다. 그런데, 신기하게도 무한 루프가 걸리면서 tes..

2013 이전/기타 2017.02.25

[일단까고보자] 네이트 모바일앱

평소 뉴스 기사를 볼때 네이트 앱을 많이 사용한다. 시사, 스포츠, 연예 세개의 카테고리로 각각의 뉴스에 순위를 매겨서 보여준다. 일단 이슈가 되는 뉴스를 쉽게 한 눈에 볼 수 있기 때문에 많이 사용하게 된다. 그리고 베스트 리플이 잘 정리 되있어서 재치있는 리플을 쉽게 불 수 있다. 가끔 기사내용은 읽지 않고 베플만 보는 경우도 많다. 그리고 여자친구의 영향으로 가끔 톡이라는 것을 심심할때 보게 되는데 이것을 볼 때도 사용하게 된다. 출 퇴근 시간에 항상 보는 사용 빈도가 높은 앱 중의 하나이다. 로딩도 길지 않고 사용성도 좋아서 앱 기능 자체를 깔 생각은 크게 없다. 너무 웹 뷰에 의존적이긴 하지만 사용하는데는 크게 문제될것은 없다. 문제는 이들의 광고 행태이다. 다른 포털 사이트 앱과 달리 광고가 ..

옛날 웹페이지를 찾아 보자!

인터넷을 예전 모뎀시절 부터 사용해 왔다면, 예전 hanmail, empas 등의 예전 웹페이지들이 그리울때가 있을 것이다. 또는 자료 수집이나 참고용으로 예전 90년대 후반 2000년대 초반의 웹페이지가 필요할 때가 있을 수 있다. 혹은. 백업 해놓지 않았었던, 웹 페이지 관련 리소스를 날려 버렸을때, 기존 웹 페이지가 어딘가 보관되어 있다면, 필요한 리소스들을 얻어 낼 수 있을것이다.(본인 체험) 놀랍게도 이를 저장해 놓고 기록하는 곳이 있다. 도메인을 연결만 해놓은 것이 아니라, 리소스를 저장하고 이를 기록해 놓고 있다. 무려 1996년 이후부터 기록이 되어 보관중이다. 웹 페이지 설명에서는 무려 240 billion(2400억)의 페이지가 보관되어 있다고 한다. 바로 http://archive.o..

2013 이전/기타 2017.02.25

[node.js] Socket.io 맛보기 (웹 채팅 만들기)

node.js 가 나타나면서 가장 주목 받았던 모듈중에 하나였던 Socket.io를 소개 해보려고 한다. 웹을 통한 애플리케이션을 개발할때 가장 힘든점이, 바로 실시간 데이터 적용이다. 서버에서 넘어온 정보를 실시간 으로 화면에 보여 주어야 하는데 refresh를 이용하면 화면이 깜박이는 문제가 있다. 이를 위한 대안으로 Ajax를 많이 사용하게 된다. 하지만 이것은 Client위주의 개발에 적합하다. 서버에 변화 된 내용을 항상 유지하려면 poliing을 직접 구현해야 하는데 여간 번거로운 일이 아닐수 없다. 이를 보완하기 위해 등장한것이 바로 WebSocket이다. 일반 애플리케이션에서 사용하면 Socket을 브라우져에서 사용가능하게 한 것으로, 어렵지 않게 웹상에서 Socket과 같은 방식의 애플리..

2013 이전/node.js 2017.02.25

[iOS 개발] UIButton title, image 위치 정리

UIButton을 사용하다 보면 title, image등을 버튼위에 올려서 사용하게 된다. 그런데 이들이 깔끔하게 배치되지 않을때가 많다. UIButton의 titleLabel의 frame을 직접 적용해도 변화가 없을 것이다.그래서 대부분 포기하고 버튼 위에 따로 View를 올리는 경우가 있는데,이럴 경우 버튼 state 마다 위에 올린 뷰를 수동으로 바꿔 주어야 한다.특히, UIControlStateHighlighted 를 처리하려면 소스가 지저분해지고 번거러워 질 수 밖에 없다. 다행히도 이들을 배치할 수 있는 방법은 존재한다.일단 image, title의 Alignment를 정해줄수 있는데 아래와 같이 가능하다. [btn setContentHorizontalAlignment:UIControlCont..

[iPad 개발] PopoverController contentSize 문제

PopoverController 를 사용하다보면 사이즈 때문에 골머리를 썩을 경우가 많을 것이다.일단 가장 평범한 방법은 해당 PopoverController에 들어갈 해당 UIViewController에- (CGSize)contentSizeForViewInPopover { return CGSizeMake(320, 480); } 위 처럼 해당 하는 함수를 override 해주면 리턴하는 사이즈로 PopoverController 사이즈를 조절 해준다.하지만 여기도 문제점이 하나 있다.navigationController를 사용할때 push나 pop을 하게 되면 늘어나기는 하지만 줄어 들지는 않는다.구글링을 통해서 얻게된 방법인데, 일종의 꼼수라고 볼수 있겠다.- (void) forcePopoverSize ..

[iOS 개발] 안정적이고 flexible 한 UITableViewCell UI 구현하기

UITableView 를 이용할때 Cell을 Customize 하여 사용하는 경우가 많을 것이다. 이렇게 사용할때 Cell의 크기에 따라 Cell의 구성요소의 위치와 크기가 다르게 구성하는 경우가 많을 것이다. 하지만 각각의 Cell을 UI사이즈나 위치가 변경할때 마다 각각의 Cell의 위치나 크기를 매번 새로 적용해주게 되면 여러 문제가 발생할 수가 있다. 이때, 해당 Cell의 frame만 가지고 구성요소의 위치를 지정해 주게 되면 여러 문제에 봉착하게 된다. 그래서 Cell을 구성할떄 위치와 크기에 변화가 필요한 것들은 모두 각 UIView에 AutoresizingMask를 적용하여 사용해야 한다. 전체 View가 유기적으로 AutoresizingMask를 적용하지 않아서 전체 적으로 static하..

[iOS 개발] UIPopoverController 의 EKEventEditViewController 키보드 문제

iOS5에서 PopoverController위에 EKEventEditViewController를 올려서 사용하다 보면 cancel 버튼이나 done 버튼을 통해서 나왔을때는 문제가 없지만, UIPopoverController의 바깥 공간을 선택했을때는 UIPopoverController가 사라져도 키보드가 내려가지 않는 문제가 발생한다. 해당 viewController의 view에 endEditing: 을 이용해 보아도 변화가 없다. 구글링을 통해서 일본사이트에서 해결 방법을 찾았다. 일본어는 번역기로도 꽤 읽을 만한 내용이 나온다. 해당 내용은 참고한 사이트에서 문제점을 수정하고 정리한 소스이다.- (BOOL)popoverControllerShouldDismissPopover:(UIPopoverCont..

[iOS 개발] 현재 view의 모든 text editing 중단하기

textfeild 나 textView 등 text를 editing 하는 view를 만들다 보면키보드등 여러 문제로 골머리를 썩은 경험이 있을것이다.특히, resignFirstResponder를 통해서 해당 editing을 그만 두려고 해야할때,cell위에 사용하거나 여러 view가 중첩되어 해당 view의 객체를 컨트롤 하기 힘든경우가 발생할 수 있다.이때 해당하는 뷰의 모든 subview들의 editing을 그만 두도록 한번에 처리 할수 있는 메소드가 있다.[targetView endEditing:YES]; 위 처럼 해당 뷰의 메소드를 호출하게되면 모든 subview들에 있는 editing이 멈추게 된다. editing 때문에 올라와 있던 키보드들도 내려가게 된다.

[node.js] npm을 이용한 module 설치

node.js 가 최근 많은 각광을 받는 이유 중 가장 큰 이유가 바로 강력한 추가 module들 때문이다. https://npmjs.org/ 위 주소 공식사이트를 가보면 알겟지만 현재 18,333개의 모듈들이 들록되어 있다. 게다가 빠른속도록 추가되고 있고, 업데이트도 활발이 이루어 지고 있다. 모듈을 설치하고 사용하는 법은 매우 간단하다. node.js 를 설치할때 같이 설치된 npm을 이용하면 간단히 사용 할 수 있다. npm 은 간단한 명령으로 등록된 module을 쉽게 install 하고 update 할 수 있다. Mac 의 Mac port 나 Linux 의 apt-get 등의 package 관리 툴들을 이용해 보았다면 낯설지 않게 이용할수 있을것이다. $npm install socket.io ..

2013 이전/node.js 2017.02.25