본문 바로가기
반응형

전체 글589

Maven에서 톰캣 서버 실행하기 (2025 최신 기준 + 레거시 Tomcat Plugin 포함) Maven에서 톰캣 서버를 직접 실행하기Java Web 개발을 하다 보면 로컬에 설치된 Tomcat 없이도 Maven 명령어만으로 톰캣 서버를 기동하고 싶은 경우가 있습니다.예전에는 tomcat6-maven-plugin 또는 tomcat7-maven-plugin을 사용해 mvn tomcat:run으로 톰캣을 실행할 수 있었지만, 이 플러그인들은 현재(2025년 기준) 공식적으로 유지보수가 중단된 상태입니다.아래는 레거시 방식과 최신 개발 방식(추천)을 모두 정리한 내용입니다.1. (레거시) Tomcat Maven Plugin 사용하기먼저 사용자가 준 예전 방법부터 설명합니다. pom.xml에 다음 플러그인을 추가하면 별도의 톰캣 설치 없이 mvn tomcat:run이 가능합니다. .. 2015. 1. 15.
[iOS] iOS8 AlertView 텍스트 상단 정렬 문제와 해결 방법 iOS8 AlertView 텍스트 정렬 문제예전 iOS 앱을 유지보수하다 보면 UIAlertView를 사용한 오래된 코드에서, iOS8 업데이트 후 Alert 메시지 텍스트가 상단에 붙어 보이는 문제를 겪은 적이 있습니다. iOS7에서는 정상 가운데 정렬이었지만, iOS8에서 레이아웃 방식이 변경되면서 발생한 현상입니다.해결은 매우 단순합니다. AlertView 제목(title)에 nil 대신 빈 문자열("")을 넣으면 텍스트가 다시 정상적으로 중앙 정렬됩니다.1. 문제 원인iOS8에서는 UIAlertView 내부 레이아웃이 변경되면서, title이 nil일 경우 message가 타이틀 영역까지 끌어올려지는 레이아웃 버그가 있었습니다.즉, 다음 코드처럼 title을 nil로 지정하면 문제가 발생합니다:U.. 2014. 10. 10.
[iOS] iPhone에서 올바른 URL 인코딩 방법 (Objective-C & Swift 최신 정리) [iOS] iPhone에서 URL 인코딩이 제대로 되지 않을 때예전 iOS 앱 유지보수 중, 로그인 기능에서 비밀번호에 = 문자가 포함되면 정상적으로 서버에 전달되지 않는 문제가 있었습니다. 원인은 URL 인코딩에 사용하던 API가 특수문자를 완전하게 인코딩하지 않았기 때문입니다.특히 예전 iOS 개발에서 많이 사용하던:[string stringByAddingPercentEscapesUsingEncoding:]이 메서드는 다음과 같은 문제를 가지고 있습니다.이미 deprecated 됨/ & = ? + # % 등 중요한 URL 예약 문자 인코딩 불가능RFC 3986 기준을 완전히 만족하지 않음즉, “진정한 URL 인코딩”이 되지 않아 인증/로그인/REST API 호출에서 문제가 발생할 수 있습니다.1. (.. 2013. 12. 10.
[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.
[홍천텃밭] 봄 곰취 정식하기: 홍천에서 시작하는 산나물 재배 지난 주말(5/11) 회사 산행을 마치고 홍천에 다녀왔습니다.몸은 지쳤지만 곰취와 그 동안 키워온 몇몇 작물들을 옮겨 심는다는 기대감에 기분이 좋았습니다.예쁘게 갈린 밭에 옥수수가 심겨져 있습니다.작물에도 순서가 있는 법이죠.꽃도 예쁘게 피고 정말 평화롭습니다.어머니께서 여러 채소들을 시험삼아 심어 놓은 이른파 '시험포'입니다.제가 베란다에서 키운 일당귀와 고수도 보입니다.도라지들. 엄청 잘 자라네요. 이 녀석은 더덕입니다. 꽃이 참 신비롭게 생긴...시기를 놓쳐 봄에 전정을 해주었는데 복사꽃이 예쁘게 피었습니다.오가피 나무사이에 곰취 정식할 자리를 만들어 봅니다.대기중인 곰취 모종들입니다. 떨고있니?비닐을 걷어내고 퇴비를 뿌려 정식할 자리를 만듭니다.정식을 시작합니다. 잘 자라야할텐데... 완전 시험 .. 2013. 5. 16.
반응형