본문 바로가기
반응형

[서버]104

실시간 데이터 통신을 위한 방법, 소켓 실시간 데이터 통신을 위해서는 소켓을 사용하는 것이 일반적이다. socket io 라이브러리를 사용하면 간단하다. "웹 페이지의 한계에서 벗어나 실시간으로 상호작용하는 웹 서비스를 만드는 표준 기술인 WebSocket. 그리고 다양한 방식의 실시간 웹 기술을 손쉽게 사용할 수 있는 Socket.io" https://d2.naver.com/helloworld/1336 상호작용하는 웹 서비스를 위해 숨겨진 프레임(Hidden Frame)을 이용한 방법이나 Long Polling, Stream 등 다양한 방법을 사용했다. 그러나 이러한 방식은 브라우저가 HTTP 요청를 보내고 웹 서버가 이 요청에 대한 HTTP 응답를 보내는 단방향 메세지 교환 '규칙'을 변경하지 않고 구현한 방식이다. 그렇기 때문에 상호작용.. 2022. 11. 16.
서버 내에서의 이미지 캐싱 방법 캐싱은 유용하다. 클라이언트 쪽에서도 캐싱을 사용하지만 서버 쪽에서도 캐싱을 사용한다. jpg 파일을 받아온다고 했을 때, 서버쪽에서는 jpg의 엔드포인트를 단순히 example.jpg가 아니라 example.jpg?v=1,2,3... 이런식으로 작업을 해주는데 그 이유는 바로 캐싱때문이다. 캐싱이 진행되었다면, example.jpg 이미지가 변경되었다고 하더라도 변경된 것을 인지하지 못하고 예전 캐싱해놓은 이미지를 계속해서 쓸 것이다. 이 문제를 해결하기 위해 서버 단에서는 이미지의 엔드포인트를 단순히 example.jpg 이런식으로 제공하지 않고 파라미터를 붙여서 v=1, 2, 3... 이런식으로 버전관리를 해준다. 2022. 11. 16.
NGINX란? 웹이란? World Wide Web의 약자로, 인터넷이라는 네트워크 체계 위에서 동작하는 통신 규약 중의 하나다. 웹이 인터넷과 같은 의미처럼 사용된 이유는 웹이 가장성공한 인터넷 서비스이기 때문이다. HTTP란? 웹에 있어서의 약속 체계. 웹을 이용하기 위해서 준수해야하는 통신규약 클라이언트가 서버에게 요청했을때는 어떻게 요청해야하고 서버가 클라이언트에게 어떻게 응답해야하는지 NGINX란? 차세대 웹서버. 현재는 아파치가 웹서버를 독점하고있다. 아파치는 무겁고 느립다. 예전부터 필요했던 것들을 다 갖고 계속 진행해왔으므로. 지금에서 없애기엔 제공받고있는 곳들에게 피해가 되므로 제거가 안됨. NGINX는 이에 비해 차세대, 그러므로 빠르고 가볍다는게 핵심 장점이다. + 스프링 부트는 웹서버가 아니다. 웹.. 2022. 11. 6.
Firebase FCM 포그라운드 / 백그라운드 ( + 구독형 ) 아래 링크대로만 하면 잘 동작한다. (백그라운드 / 포그라운드 포함) 앱이 종료되었을 떄 까지도 잘 동작한다. 보통 알림은 1~5분 사이에 도착한다. 만약 동작하지 않는다면, AndroidManiFest.xml에 이정도만 추가해보면 된다. 구독형 알림은 매우 간단하게 구현할 수 있다. await FirebaseMessaging.instance.subscribeToTopic(토픽); 토픽 부분에 구독이름을 넣어주면 되고, 이는 특정 문서 기반으로 구독을 하고 싶을 경우 문서의 id로 하면 유니크하게 할 수 있다. 구독 취소는 unsubscribeToTopic으로 해주면 된다. https://www.youtube.com/watch?v=2tjuUwNx6qk 포그라운드 / 백그라운드 / 앱 종료 / 그리고 휴대.. 2022. 10. 29.
반응형