
안녕하세요. 오늘은 RDS와 EC2를 연동해보도록 하겠습니다. RDS와 EC2를 연동하는 목적은 서버 인스턴스와 DB 인스턴스를 분리하여 사용하기 위한 목적으로 AWS를 사용하는 핵심 이유이기도 할 것입니다. 우리가 웹서버를 운용할때 DB를 운영하는 방법은 두가지가 있습니다. 첫번째, 서버 내에 DB를 설치하는 경우 서버 내에 DB를 설치하여 운영하는 방식은 초보자도 쉽게 관리할 수 있다는 장점이 있으며 AWS를 사용하는 경우 비용도 저렴하다는 장점이 있습니다. 허나 단점은 고가용성 있는 서버를 구축하기가 어렵다는 것입니다. 이에 대한 예시는 분리하여 사용하는 경우를 보면 더욱 이해하기 쉬울 것입니다. 서버와 DB를 분리하는 방식, 즉 RDS와 EC2를 연결하는 방식을 사용하며 위의 이미지처럼 하나의 서..
HTTP Status 500 - Could not parse multipart servlet request; nested exception is java.lang.IllegalStateException: org.apache.tomcat.util.http.fileupload.FileUploadBase$SizeLimitExceededException: the request was rejected because its size (2288140) exceeds the configured maximum (2097152) org.springframework.web.multipart.MultipartException: Could not parse multipart servlet request; nested excep..
안녕하세요. iOS에서는 푸시알림을 애플의 자체 서비스인 Apple Push Notification Service를 통해 이루어집니다. 우리는 이전에 포스팅들을 통해 파이어베이스를 통해 파이어베이스 콘솔에서 푸시를 받는 법과(밑의 링크참조) developer111.tistory.com/42 [iOS] 푸시알림 클라우드 메세지 보내기[1] (APNS, 파이어베이스) iOS에서 푸시알림 기능 사용해보겠습니다. 파이어베이스 document에서 나온 설명을 기반으로 구현해볼 예정이며 안드로이드와는 다르게 인증해야할 부분이 많이 있습니다. iOS에서 푸시 알림은 APNS developer111.tistory.com developer111.tistory.com/43 [iOS] 푸시알림 클라우드 메세지 보내기[2] ..

안녕하세요. WKWebView로 웹뷰를 개발하고 있습니다. 실서버에 호스팅하고 안드로이드 웹뷰로도 배포하고 있는 웹프로젝트가 있습니다. 이제 ios 버전도 출시계획이 있기 때문에 swift로 WKWebView를 개발하는 중 안드로이드와 다르게 링크를 길게 누르면 프리뷰(?)와 같은 미리보기 창이 보이면서 사파리 웹뷰로 이동할수 있습니다. 허나 저의 앱은 웹뷰이기 때문에 앱에 상당히 많은 링크가 있고 사용자가 의도하지 않게 길게 누르게 되면 위와 같은 오픈 링크 탭이 나와 오히려 불편을 초래할 수 있습니다. 사실상 왠만한 웹뷰 앱에서 저 기능을 비활성화하는 경우가 많습니다. 사용자가 굉장히 불편하기 때문이죠. 위의 기능을 영어권 국가에서는 long touch open link 또는 long press op..
여러 작업을 하나의 요청으로 처리할때 많은 시간이 소요되는 경우가 있습니다. 작업의 선후관계가 중요하지 않고 각각의 작업들이 독립적인 상황이라면 이를 비동기로 처리하여 요청에 대한 시간을 절약하는것이 좋은 방법이 될 수 있습니다. 저의 경우에도, 채팅을 하는 어플리케이션에서 소켓을 통해 상대방과 대화하고 상대방이 메세지를 안 읽은 상태이면 이를 푸시알림을 보내주게끔 구현을 했었습니다. 허나, 푸시알림을 보내는 과정에서 시간이 상당히 소요되어 채팅을 하는데 메세지가 2~3초 뒤에 표시되는 현상이 나타났습니다. 따라서 이를 비동기를 통해 메인쓰레드에서 소켓을 통해 채팅하고 DB에 메세지를 넣는 작업을 하고 새로운 쓰레드에서 푸시알림을 보내게끔하여 요청에 대한 응답을 빠르게 할 수 있었습니다. 이런식으로 비동..
스프링에서 로깅을 해주는 logback을 통해 로그를 찍고 있었는데 똑같은 로그가 굉장히 많이 찍혀서 당황한적이 있다. 혹시 무엇이 잘못되었나, 스케줄링 작업에서 여러번 로그가 찍힌것이 확인되었는데 혹시 쓰레드가 여러개 생성되서 똑같은 동작이 여러번 작동되었나 걱정했었는데, 로그내용을 자세히 보니 로그마다 내용이 달라지지 않고 똑같은걸 보니 같은 동작이 여러번 작동된것 같지는 않고 logback에 대해 알아보니 logger는 기본적으로 정의한 패키지의 상위로부터 모든 appender를 상속받는다고 합니다. 따라서 로거가 여러개 찍히는 경우가 생기곤합니다. 성능에는 큰 상관이 없지만, 아무래도 로그가 여러개 찍히는것이 보기는 좋지 않으므로 중복로그를 제거하려면 아래와 같이 additivity="false"..

안녕하세요. 화면 확대 축소 기능은 어플리케이션 사용자들에게 중요한 기능입니다. 작은 글씨를 확대해서 자세히 볼 수 있고, 이미지를 확대하여 볼 수도 있습니다. 하지만 줌 속성이 오히려 화면의 레이아웃을 방해하는 경우도 있습니다. 예를 들어 html의 input 속성처럼 텍스트를 입력받는 태그에 포커스를 주면 자동으로 확대 되는 경우가 있습니다. 포커스를 받을때 화면이 확대되고 포커스를 다시 다른곳에 준다고해서 화면이 원래 대로 돌아오지 않기 때문에 사용자가 직접 다시 줌 아웃을 해서 정상 화면으로 돌아와야합니다. 화면을 확대할 필요가 없는 경우에는 상당히 불편할 수 있습니다. 이러한 불편함을 없애기 위해 화면 확대 및 축소 기능을 비활성화 할 수 도 있으며, 현재는 많은 어플리케이션이 확대 축소를 비활..

우리는 이전에 파이어베이스 클라우드 메세지를 통하여 iOS앱에 푸시알림을 보내봤습니다. 지난번 포스팅에 이어지는 내용입니다. 설정 또한 지난번 포스팅해서 설정한 내용을 그대로 이어나갈 예정이오니 이전의 글을 안보신 분들은 이전의 포스팅을 보고 오시는걸 추천드립니다. developer111.tistory.com/42 [iOS] 푸시알림 클라우드 메세지 보내기[1] (APNS, 파이어베이스) iOS에서 푸시알림 기능 사용해보겠습니다. 파이어베이스 document에서 나온 설명을 기반으로 구현해볼 예정이며 안드로이드와는 다르게 인증해야할 부분이 많이 있습니다. iOS에서 푸시 알림은 APNS developer111.tistory.com developer111.tistory.com/43 [iOS] 푸시알림 클라..