[Spring] 로컬, AWS LightSail에서 AWS parameter store로 환경변수 관리하기
·
Backend/Spring
1. 배경 및 목표현재 저는 회사에서 개발용서버를 구축하기 위해 작업을 하고 있습니다.먼저 개발서버는 AWS LightSail을 이용하기로 하였습니다.운영서버는 EC2에 구축되어 있지만 LighSail을 선택한 이유는 정액제로 요금을 부과하기 때문입니다. 현재 운영서버에는 Backend 프로젝트만 올라가있지만 개발서버에는 Frontend 프로젝트와 개발용 DB 또한 Docker로 올릴 계획을 하고 있습니다. 서버 리소스 비용을 정확히 산정하기 힘든 상황에서 요금폭탄을 피하기 위해 Lighsail을 이용하기로 하였습니다.이러한 상황에서 개발서버와 운영서버의 application.yaml의 환경변수들을 효과적으로 관리하기를 원했고 AWS에서 제공하는 암호 관리 서비스인 AWS Parameter Store를 ..
[FCM] FCM 백그라운드 알림 에러, 안드로이드에서 백그라운드 알림이 가지 않을때
·
TroubleShooting
문제제가 입사했을때 FCM을 통해 알림이 구현되어 있는 상태였습니다.특정 사용자에게 알림이 가지 않는 문제를 해결하는 과정에서 IOS는 백그라운드 알림이 제대로 가지만 Android에서는 가지 않는 문제를 발견했습니다.가장 먼저 확인한 것은 FCM 토큰입니다. 위의 사진은 알림 설정 Entity의 일부분 입니다.토큰은 제대로 저장되어 있었고 기기정보로 이를 구분하고 있었습니다.만약 호출시 에러가 난다면 validToken 필드를 false로 갱신하면서 유효하지 않은 토큰으로 설정하도록 해놓았기에 토큰이 잘못되었을 가능성은 적다고 판단하였습니다. private String sendMessaging(String token, Message message) { try { ..
[네트워크] 네트워크의 가장자리
·
CS/네트워크
오늘은 인터넷이 어떤식으로 구성되어 있고 어떻게 접속하고 사용하고 있는지 알아보도록 하겠습니다.이전 포스팅과 내용이 이어집니다. [네트워크] 인터넷이란 무엇인가컴퓨터 구조에 이어서 네트워크에 관해서도 공부를 해보려고 합니다.참고하는 자료는 다음과 같습니다. 오늘은 1.1 절인 인터넷에 대해 알아보겠습니다.1. 구성요소로 본 인터넷1) 종단 시스템,5g-0.tistory.com 1. 접속 네트워크이전 포스팅에서 인터넷에 연결되는 컴퓨터와 그 밖의 장치를 종단 시스템(=호스트)이라고 부른다고 말씀드렸습니다.호스트는 때때로 클라이언트(client)와 서버(server)로 구분됩니다.이번에는 종단 시스템을 먼 거리에 위치한 다른 종단 시스템까지의 경로상에 있는 첫번째 라우터즉, 가장자리 라우터에 연결하는 네트..
[네트워크] 인터넷이란 무엇인가
·
CS/네트워크
컴퓨터 구조에 이어서 네트워크에 관해서도 공부를 해보려고 합니다.참고하는 자료는 다음과 같습니다. 오늘은 1.1 절인 인터넷에 대해 알아보겠습니다.1. 구성요소로 본 인터넷1) 종단 시스템, 통신 링크와 패킷 스위치 인터넷은 전 세계적으로 수십억 개의 컴퓨팅 장치를 연결하는 컴퓨터 네트워크 입니다.기존의 컴퓨팅 장치는 전통적인 데스크톱, PC, 리눅스 워크 스테이션과 서버들을 표현하는 단어였지만 요즘에는 스마트폰, 태블릿, 더 나아가 TV, 에어컨 등 사물들에도 인터넷이 연결되고 있습니다. 이러한 모든 장치는 호스트(host) 혹은 종단 시스템(end system)이라고 부릅니다.종단 시스템(end system): 컴퓨터 네트워크에 연결된 컴퓨터, 사물인터넷 장치는 네트워크 가장자리에 위치하기에 종단시스..
[컴퓨터 구조] I/O 장치의 접속
·
CS/컴퓨터 구조
오늘은 사용자 혹은 외부와의 정보 교환을 위한 장치인 I/O 장치들의 제어 및 주소지정 방법에 대해 알아보겠습니다.1. I/O 제어 각종 I/O 장치들은 시스템 버스를 통하여 CPU 혹은 주기억장치와 정보를 교환하게 됩니다.하지만 I/O 장치들은 직접 시스템 버스와 접속하지 못합니다.그 이유는 다음과 같습니다.I/O 장치들은 종류가 매우 다양하고, 동작을 제어하는 방법이 서로 다르기 때문에 제어를 위한 회로를 모두 CPU에 포함시키는 것이 불가능I/O 장치들의 데이터 전송 속도가 CPU에 비해 현저하게 느리기 때문에 고속의 시스템 버스를 통하여 직접 데이터를 교환하는 것은 불가능I/O 장치들과 CPU가 사용하는 데이터 형식의 길이가 다른 경우가 많음 위의 문제를 해결하기 위해 인터페이스(interface..
[컴퓨터 구조] 시스템 버스의 중재 방식
·
CS/컴퓨터 구조
저번에 포스팅에서는 시스템 버스에 대해 다루어 보았습니다. [컴퓨터 구조] 시스템 버스의 구조와 동작컴퓨터시스템을 구성하는 주요 요소인 CPU, 주기억장치 및 입출력 장치들은 시스템 버스를 통하여 서로 접속합니다. [컴퓨터 구조] 컴퓨터의 기본 구조, 정보의 표현과 저장, 시스템의 구성얼마5g-0.tistory.com 오늘은 시스템 버스의 버스 중재 방식에 대해 알아보려고 합니다.1. 시스템 버스 중재1) 버스 중재 개요한 개의 시스템 버스에 접속된 여러 개의 버스 마스터들이 동시에 버스 사용을 요구하는 경우에는 경쟁이 발생하게 됩니다.이러한 현상을 버스 경합(bus contention)이라고 하며, 이 문제는 성능과 직접적으로 연결되는 문제입니다.버스 경합이 발생한 경우에 버스 마스터들 중에서 한 개씩..
[컴퓨터 구조] 시스템 버스의 구조와 동작
·
CS/컴퓨터 구조
컴퓨터시스템을 구성하는 주요 요소인 CPU, 주기억장치 및 입출력 장치들은 시스템 버스를 통하여 서로 접속합니다. [컴퓨터 구조] 컴퓨터의 기본 구조, 정보의 표현과 저장, 시스템의 구성얼마전에 깨달은 바가 있어서 CS 공부를 깊게 시작해보려고 합니다.먼저 컴퓨터 구조를 공부해 볼 생각이고 해당 교재를 사용했습니다.오늘은 컴퓨터의 기본구조, 정보의 표현과 저장, 시스템의5g-0.tistory.com이전 포스팅에서 간단히 시스템 버스에 대해 다루었었는데 이에 대해 좀 더 자세하게 알아보려고 합니다. 1. 시스템버스의 조직 시스템 버스에 접속되는 모든 요소들은 버스를 통하여 상호간에 정보(프로그램 코드, 데이터, 제어 명령 등)를 교환하고, 동작시간을 조정하기 위한 클록 신호도 전송합니다. 시스템 버스는 많..
[컴퓨터 구조] SSD의 구조와 특징
·
CS/컴퓨터 구조
오늘은 여러개의 플레시 메모리칩들을 한 패키지 내에 배열로 설치한 SSD의 동작원리와 특성에 대해 알아보겠습니다.저번에 다루었던 플래시 메모리 포스팅을 먼저 보면 도움이 더욱 될 것 같습니다. [컴퓨터 구조] 플래시 메모리오늘은 SSD의 구성요소인 플래시 메모리에 대해 알아보겠습니다.개발자를 꿈꾸는 입장에서 회로까지 알아야되나 싶은 마음에 좀 가볍게 정리해보려고 합니다.1. 플래시 메모리1) 플래시 메모리5g-0.tistory.com1. SSD의 구조와 특징1) SSD 구조SSD(Solid-State-Drive)는 기계적 장치라는 단점을 가진 하드 디스크를 대체하기 위하여 개발된 대용량 비휘발성 반도체 저장장치 입니다. SSD는 저장밀도가 높은 NAND형 플래시 메모리를 하나의 패키지에 배열로 구성합니다..