본문 바로가기

분류 전체보기

(717)
[Aws] Https 인증서 세팅하기 알람을 보내야하는 기능이 있는데, http로는 사용자 요청을 얻을 수 없다. 따라서, Https 세팅한다. 1. certbot 설치 sudo snap install certbot --classic 2. 인증서 발급 sudo certbot --nginx -d {도메인} 발급이 끝나면 아래와 같은 문구로 인증서 위치를 알려준다. Certificate is saved at: /etc/letsencrypt/live/rabbithole.gotdns.ch/fullchain.pem Key is saved at: /etc/letsencrypt/live/rabbithole.gotdns.ch/privkey.pem This certificate expires on 2024-07-04. These files will be u..
[AWS] RDS too many Connection 오류 MySQL said: Too many connections 갑자기 잘 사용하던 RDS가 연결이 안됬다. 커넥션 풀에서 관리되는 커넥션에 대한 부족일 수도있고, 이미 닫힌 커넥션에 대한 유지로 인해 연결이 실패할 수도있고 미사용 커넥션이 너무 오래 살아있는 경우 일 수도 있다. 무튼 커넥션에 대한 max connection 수와 wait-timeout 에 대한 조정이 필요해 보인다. 1) 파라미터 그룹 생성 max_connections는 최소로 잡혀있지만, 이값을 300으로 변경한다. wait_timeout 도 180초로 변경한다. 이는 3분 정도이고, 이 기간동안 커넥션을 얻기 위해 대기한다. 이후 디비의 파라미터 그룹을 변경해서 재부팅해준다. 신규로 생성한 파라미터 그룹으로, 디비가 적용되고 재부팅 되..
[AWS] EC2 메모리 이슈분석 및 Swap memory 설정 1) 배경 EC2가 자꾸 죽었다. 프리티어를 문제없이 사용하다가, 특정 Docker 컨테이너 2개를 띄운 EC2가 자꾸 죽는것을 볼수있었다. 귀찮아서 미루다가 분석을 해보기로했다. 2) 분석 aws의 ec2프리티어였다. 사실 서버 인프라를 확장하면 된다. 그래서 운영이나 회사에서는 발생하지않았던, 새로운 경험이다. 적은 서버 스펙의 서버가 자꾸 죽을때 사용하면 좋을 기술 같다는 생각이 들은겸 리눅스 공부할겸 분석을 해보기로했다. 3) 문제 찾기 3-1) 시스템 로그 보기 별다른게 없었다. 시스템 로그는 부팅 중이나, 부팅후의 로그를 볼수있다. 부팅과정에서 제대로 안된다면 확인할때 유용하다. 3-2) 인스턴스 스크린샷 확인 서버가 기동중에 이유없이 다운되는 거기 때문에 인스턴스 스크린샷을 확인한다. 메모리..
[Flutter] textformfield 클릭시 화면이 리스트를 가리는 현상 흔히 말하는 키보드영역때문에 화면이 가리는 것이다. 가려진 화면만큼 이동하는게 아니라 키보드가 고정처럼 붙어버려서 입력창을 클릭하면 화면이 가려져서 아래와 같이 해결했다. 우선 입력하는 위젯을 크게 scrollview로 감싸줬다. SingleChildScrollView( child: NewMessages2( roomId: widget.chatResponse.id.toString(), userId: userProvider.userInfo.id.toString(), userName: userProvider.userInfo.name, ), ) 사실 이렇게 해도 되지만 해당 위젯의 build 최상위에 아래와 같은 부분도 추가해줬다. 해당 부분을 추가해야지 키보드가 올라왔을때 화면을 밀어준다. @override ..
[Flutter] StreamBuilder State redraw 이슈 최근에 채팅 관련 모듈을 개발하면서, StreamBuilder를 사용했다. 해당 사용할때 이슈가있었는데 해당 부분에 대해서는 아래와 같다. * 채팅 입력 * 채팅 내용 위와 같이 두개의 State를 가지는 위젯들이 있었다. 해당 채팅 내용을 입력할때, 키보드가 위로 올라가면서 화면을 가리는 이슈때문에, 해당 키보드 때문에 화면이 밀리면 다시 그려주게끔 개발을 해놨다. 해당 부분 때문에 StreamBuilder에서 계속 값을 재 connection을 시키려고했다. 해당 이슈로 인해, 조금만 클릭해서 progressbar가 돌았고, 나도 돌았다. 해결 방법은 생각보다 간단하다. 아래와 같이 stream으로 받아오는 변수를 밖으로 빼면 된다. 소스코드는 아래와 같다. import 'package:flutter..
[AWS] EC2 장애 반복 잘 동작하는 서버가 갑자기 동작을 안한다. 특정 시간이 지나면 장애가 발생하는 것인데, 아래와 같이 인스턴스가 다름을 확인했다. 상태 검사가 이 EC2는 1개가 실패한것이다. 아래와 같이 로그를 확인했다. 특정 이슈로 보이는 부분을 발견했다. [ OK ] Finished Record successful boot for GRUB. Starting GRUB failed boot detection... [ OK ] Started System Logging Service. [ OK ] Started User Login Management. [ OK ..
[flutter] 앱에 광고 달기 앱에 광고를 달자 애드몹에 회원가입하고 프로젝트를 연결하는 법 등등은 그냥 보면 알수 있다. 정리를 해도, 사용자 인터페이스가 변경되면 의미가 없어서 패스 무튼, 애드몹의 가입 및 연동을 완료해서 앱 ID가 발급 되었다는 이후 부터 진행한다. 1. 플러터 의존성 추가 flutter pub add google_mobile_ads 2. aos, ios 설정 AOS -manifest.xml ... IOS - info.plist GADApplicationIdentifier [YOUR iOS APP ID] LSRequiresIPhoneOS SKAdNetworkItems SKAdNetworkIdentifier cstr6suwn9.skadnetwork SKAdNetworkIdentifier 4fzdc2evr5.ska..
[Flutter] Icon launcher 사용하기 앱의 아이콘에 대한 리소스를 자동으로 세팅해주는 라이브러리이다. 1. 아이콘 이미지를 assets하위에 세팅한다. 2. flutter dev환경에서 해당 라이브러리르 import 한다. flutter pub add flutter_launcher_icons --dev 3. ./flutter_launcher_icons.yaml 생성 및 해당 파일 내용 추가 flutter_icons: ios: true android: true image_path: "assets/images/app_icon.png" remove_alpha_ios: true 4. 라이브러리 실행 flutter pub run flutter_launcher_icons:main 해당 과 같이 하면, 아이콘이 정상적으로 등록되어, aos,ios에 맞게..