본문 바로가기
반응형

취미 & 반려생활/개발자 팁41

[iOS] NSNotificationCenter 사용법 정리 (2025 최신 버전: NotificationCenter / Swift 포함) iOS에서 NotificationCenter(구 NSNotificationCenter) 사용법 정리간편로그인을 구현하다 보면 화면이나 객체 간 이벤트 전달을 위해 NotificationCenter를 자주 사용합니다. 예전에는 NSNotificationCenter를 많이 사용했지만, 지금은 Swift 기반으로 API가 단순해졌고 옵저버 제거 방식도 바뀌었습니다.특히 과거에는 옵저버를 제거하지 않아 중복 호출, 다중 Noti 발생 등의 문제가 자주 발생했습니다. 이 글에서는 레거시 Objective-C 방식부터 2025년 최신 Swift 방식, 그리고 비동기 처리(NotificationQueue)까지 한 번에 정리해 드립니다.1. (레거시) Objective-C에서 NSNotificationCenter 사용.. 2013. 12. 5.
IIS HTTP Err Connection_Dropped 오류의 원인 분석과 실제 해결 사례 IIS HTTPERR 로그의 Connection_Dropped 오류란?IIS 서버를 운영하다 보면 HTTPERR 로그에서 Connection_Dropped 메시지를 확인할 때가 있습니다. 많은 개발자와 운영자들이 이 오류를 서버 문제로 오해하지만, 실제로는 거의 대부분 클라이언트 측에서 연결을 먼저 끊는 경우에 발생하는 현상입니다.Connection_Dropped서버가 최종 응답을 보내기 전에 클라이언트가 먼저 연결을 종료한 경우 발생한다.즉, 서버가 응답을 보내려는 순간 이미 클라이언트가 떠났기 때문에 서버에서는 “전송할 곳이 없음” 상태가 되어 오류처럼 기록되는 것입니다.문제 상황: 피크타임에 Connection_Dropped 증가대형 서비스를 운영하던 중, 어느 날 피크타임에 Connection_D.. 2013. 11. 26.
[iOS] WebView 백그라운드 투명 처리 (UIWebView → WKWebView 최신 방식 포함) [iOS] WebView 배경 투명하게 만들기iOS 앱에서 HTML을 라운드 박스 형태로 디자인하거나, 팝업처럼 WebView를 사용해야 할 때 웹뷰의 배경을 투명 처리해야 하는 경우가 종종 있습니다.과거 UIWebView 시절에는 subview 순회 후 Opaque 속성을 바꾸는 방식이 필요했지만, 현재 iOS(2025년 기준)에서는 WKWebView를 사용해야 하며, 방법 또한 훨씬 간단해졌습니다.1. (레거시) UIWebView – 예전 코드아직 유지보수 중인 오래된 프로젝트라면 아래 코드가 유효합니다.- (void)makeBodyBackgoundTransparent { for (UIView *subview in [webView subviews]) { [subview setOpaq.. 2013. 10. 16.
[iOS] 화면 밝기를 강제로 최대값으로 변경 후 다시 복원하는 방법 (2025 최신 기준) iOS에서 화면 밝기 변경 후 이전 밝기를 복원하기편의점이나 매장 결제 시, 모바일 바코드를 직원에게 보여줄 때 화면을 자동으로 최대 밝기로 올렸다가 해당 화면이 종료되면 이전 밝기로 복원해달라는 요청을 많이 받습니다.예전에는 Objective-C에서 UIScreen의 brightness를 직접 변경하는 방식으로 구현했고, 아직도 유지보수 중인 레거시 앱에서는 동일한 방식이 사용됩니다.1. 예전 Objective-C (레거시 프로젝트 유지보수용)헤더 파일에 저장용 변수 선언:CGFloat oldBrightness;ViewDidLoad에서 기존 밝기 저장 + 밝기 강제 최대- (void)viewDidLoad { [super viewDidLoad]; oldBrightness = [[UIScreen.. 2013. 10. 11.
ASP.NET Web Service: wsdl.exe 유틸리티 사용법 정리 ASP.NET Web Service: wsdl.exe 사용법 정리예전 .NET Framework 기반 Web Service(ASMX)를 사용할 때는 wsdl.exe 유틸리티를 이용해 프록시 클래스(.cs)를 자동 생성하는 방식이 일반적이었습니다. WSDL 주소만 있으면 코드 생성이 가능하기 때문에 SOAP 기반 시스템과 연동할 때 많이 사용되던 방식입니다.저도 한때 WSDL에서 cs 파일을 생성하려다 여러 번 시행착오를 겪었는데, 정확한 명령어를 알고 나니 금방 해결되더군요. 아래는 wsdl.exe의 기본 사용법을 정리한 내용입니다.1. wsdl.exe란?wsdl.exe는 .NET Framework SDK에 포함된 도구로, Web Service Description Language(WSDL) 파일을 기반.. 2013. 9. 10.
[iOS] 옛날 아이폰5 해상도 대응 방식, 지금은 어떻게 해야 할까? (2025년 최신 기준) [iOS] 아이폰5 해상도 대응 — 오래된 방식에서 현재 방식으로iPhone 5가 처음 출시되던 시절(4인치, 1136×640), 많은 개발자들이 3.5인치(480×320) 기반 레이아웃에서 화면을 늘리기 위해 고생했습니다. 당시에는 Default-568h@2x.png를 추가하거나, nib 파일의 autoresizing mask를 조정하거나, 직접 [UIScreen mainScreen] bounds] 값을 비교하는 식으로 대응했습니다.하지만 이 방식은 2025년 현재 개발 방식과는 완전히 다릅니다. iPhone 5는 이미 지원 종료된 디바이스이며, 지금은 Auto Layout / Safe Area 기반의 반응형 UI가 표준입니다.1. 옛날 방식: iPhone5 대응을 이렇게 했었다당시에는 iPhone5만.. 2013. 1. 8.