이 블로그 검색

2013년 6월 19일 수요일

맥에서 telnet으로 linux 접속후 vi 한글 입력

mac iterm2 에서 linux 로 telnet을 이용한 접근 시 ,
한글 입력이 안되는 경우, 먼저 터미널 encoding 을 Korean 으로 설정하고,
telnet명령 수행 시 -8 option을 주니 해결되었다.

telnet -8 -E -l user_id 192.168.1.111

다음은 man page 설명.
-8      Specifies an 8-bit data path.  This causes an attempt to negotiate the TELNET BINARY option on both input and output.

2013년 6월 18일 화요일

oracle ACL

oracle stored procedure 등에서 외부 ip address접근 시도시 ACL오류 발생 하는 경우 다음을 확인해본다. sysdba 권한이 필요하다.

-- 먼저 현재 상태 확인
select * from DBA_NETWORK_ACLS; 

-- 해당 ip address 없으면 새로운 ACL 생성 
exec dbms_network_acl_admin.create_acl('test_tcp.xml','Network connection permission to HTTP server for TEST', 'TEST', TRUE, 'connect');

exec dbms_network_acl_admin.add_privilege('test_tcp.xml','DB계정',true,'resolve');

exec dbms_network_acl_admin.add_privilege('test_tcp.xml','DB계정',true,'connect');


exec dbms_network_acl_admin.assign_acl('test_tcp.xml','192.168.1.111');

2013년 6월 10일 월요일

UITextField becomeFirstResponder 가 NO를 리턴하는 경우

예전에 개발해 놓고 거의 방치하다시피 한 FeelingNote를 ios6 대응 업그레이드 하려고 보니,
한가지 이상한 점 을 발견했다. 코드상에서 동적으로 UITextField 를 생성하고, 키보드 입력이 가능하게끔
becomeFirstResponder 호출을 하던 부분이 있었고, 제대로 동작하고 있었는데
ios6에서는 제대로 동작하지 않는다. 이건 정말 난감..
수많은 삽질과 구글링을 통해 알아낸 사실은 ios6 에서는 동적으로 생성된 UITextField 가 화면에 보인 시점에서야  becomeFirstResponder 호출이 성공한다는 것이다. 구글링을 하다보면 becomeFirstResponder호출이 viewWillAppear 에서는 안되고 viewDidAppear 에는 성공한다는 것도 다 이런 맥락인듯하다. 
즉, 생성한 뷰가 화면에 보이는 시점 (즉, view hierarchy 에 존재하는 시점, view의 window 속성이 nil이 아닌 경우라고)에 성공한다.




Apple's doc in UIResponder:
You may call this method to make a responder object such as a view the first responder. However, you should only call it on that view if it is part of a view hierarchy. If the view’s window property holds a UIWindow object, it has been installed in a view hierarchy; if it returns nil, the view is detached from any hierarchy.

결국, viewDidAppear 에서 앞서 생성한 UITextField를 알아내서  becomeFirstResponder 를 호출했더니 키보드 입력이 처리 되었다. 그럼 여기서 의문점..ios5와 왜 동일하게 동작하지 않는지? 이런것 때문에 허비한 시간을 생각하니, ...참.. 어렵다 어려워...