전체 글
더 나은 프로그래머가 되기위한 흔적
-
첫인상은 마감이 나쁘지 않다와 확실히 기존에 쓰던 삼성 32HG70와 많이 다르다 였습니다 기존 모니터는 17년도 말에 샀으니 이제 8년차에 접어들었는데 그 시간차, 패널차이가 확실히 느껴집니다 기존 VA패널에 익숙해서 진한 색감이 어색하긴 하지만 마음에 쏙드는 느낌은 기분이 좋군요 옆에서보면 중단~중하단만 튀어나와있고 상단과 하단은 얍실한게 설치할 때 겁날 정도였습니다기존게 뚱뚱해서 그런가 되게 조심조심해서 설치했습니다하단에 USB Type C 90W 지원단자가 있는데 기본적으로는 Type C PD 충전옵션이 비활성화되어있습니다 그래서 옵션을 활성화해보고 스마트폰 연결해봤는데 딱히 초고속충전으로 잡히진 않았는데 좀더 찾아봐야겠네요 이제는 프로그램으로 모니터 제어도 가능하고 다쓸지는 모르지만 기능도 ..
MSI MPG 321URX 간단사용기!첫인상은 마감이 나쁘지 않다와 확실히 기존에 쓰던 삼성 32HG70와 많이 다르다 였습니다 기존 모니터는 17년도 말에 샀으니 이제 8년차에 접어들었는데 그 시간차, 패널차이가 확실히 느껴집니다 기존 VA패널에 익숙해서 진한 색감이 어색하긴 하지만 마음에 쏙드는 느낌은 기분이 좋군요 옆에서보면 중단~중하단만 튀어나와있고 상단과 하단은 얍실한게 설치할 때 겁날 정도였습니다기존게 뚱뚱해서 그런가 되게 조심조심해서 설치했습니다하단에 USB Type C 90W 지원단자가 있는데 기본적으로는 Type C PD 충전옵션이 비활성화되어있습니다 그래서 옵션을 활성화해보고 스마트폰 연결해봤는데 딱히 초고속충전으로 잡히진 않았는데 좀더 찾아봐야겠네요 이제는 프로그램으로 모니터 제어도 가능하고 다쓸지는 모르지만 기능도 ..
2025.02.26 -
이번에 외주로 맡고있는 서비스의 안드로이드 앱 API를 33으로 업데이트하며 겪은 문제 중 하나다. 지금이야 서버나 데이터베이스 위주로 맡고있지만 이 외주서비스는 내가 안드로이드, 아이폰 앱개발, 일부 서버, 데이터베이스를 맡았기 때문에 간혹 내가 들어갈 일이 있다. 기존에는 개인폰이 플립4 이기도 했고 테스트용으로 갖고있는 것들이 있어서 emulator를 쓸일이 없었다. 하지만 이번에 아이폰으로 넘어가면서 emulator를 사용하게 되었다. 이러저러한 수정 후에 공지사항 상세보기 화면에서 문제가 발생했다. 해당 이미지는 1398 x 14,430 사이즈와 5,262,092 바이트(대략 5MB) 의 용량을 가지고 있었다. 다른 사진은 되는데 왜 이 사진은 같은 GlideApp 객체를 이용해서 같은 도메인에..
emulator에서 glide로 사진을 불러오지 못할 때 해결방법이번에 외주로 맡고있는 서비스의 안드로이드 앱 API를 33으로 업데이트하며 겪은 문제 중 하나다. 지금이야 서버나 데이터베이스 위주로 맡고있지만 이 외주서비스는 내가 안드로이드, 아이폰 앱개발, 일부 서버, 데이터베이스를 맡았기 때문에 간혹 내가 들어갈 일이 있다. 기존에는 개인폰이 플립4 이기도 했고 테스트용으로 갖고있는 것들이 있어서 emulator를 쓸일이 없었다. 하지만 이번에 아이폰으로 넘어가면서 emulator를 사용하게 되었다. 이러저러한 수정 후에 공지사항 상세보기 화면에서 문제가 발생했다. 해당 이미지는 1398 x 14,430 사이즈와 5,262,092 바이트(대략 5MB) 의 용량을 가지고 있었다. 다른 사진은 되는데 왜 이 사진은 같은 GlideApp 객체를 이용해서 같은 도메인에..
2023.06.22 -
분명 이전에 포맷하고 windows를 설치해서 wsl로 ubuntu를 설치했을 때 ssh접속이 잘됐었는데 다시 포맷해고 시도해보니 안돼는 문제가 생겼다 wsl-ubuntu에 ssh포트가 있지만 windows에도 ssh포트가 있고 windows가 먼저 받기 때문이다. 그러면 windows에서 wsl-ubuntu로 연결해주면 될거라고 생각해서 windows 포트포워딩에 대해 검색해보고 결과를 얻었다. 먼저 아래 명령어로 네트워크 인터페이스의 IPv4에서 IPv4로의 포트 프록시 구성을 확인할 수 있다. netsh interface portproxy show v4tov4 아무작업도 안했을 때는 그냥 빈 라인이 나올것이다. 이제 여기에 포트포워딩 규칙을 추가해보자. netsh interface portproxy..
내부망에서 다른 PC의 wsl에 ssh접속 안될 때 해결법분명 이전에 포맷하고 windows를 설치해서 wsl로 ubuntu를 설치했을 때 ssh접속이 잘됐었는데 다시 포맷해고 시도해보니 안돼는 문제가 생겼다 wsl-ubuntu에 ssh포트가 있지만 windows에도 ssh포트가 있고 windows가 먼저 받기 때문이다. 그러면 windows에서 wsl-ubuntu로 연결해주면 될거라고 생각해서 windows 포트포워딩에 대해 검색해보고 결과를 얻었다. 먼저 아래 명령어로 네트워크 인터페이스의 IPv4에서 IPv4로의 포트 프록시 구성을 확인할 수 있다. netsh interface portproxy show v4tov4 아무작업도 안했을 때는 그냥 빈 라인이 나올것이다. 이제 여기에 포트포워딩 규칙을 추가해보자. netsh interface portproxy..
2023.04.24 -
클라이언트에게 배포할 앱을 개발하며 문제가 생겼었다. 5분단위로 푸시가 발송되는데 어느순간 최신푸시가 안오고 멈춘다는 것이었다. Android 10(Q - API29) 부터 기존 50개에서 24개로 줄어들었다는 내용이 검색되긴 하는데 확신하진 못하겠다.. 테스트폰은 갤럭시 s10, flip4 그리고 기종은 잘모르는 클라이언트 폰들인데 공통적으로 24개이상일 때 푸시가 갱신이 안되는다는 내용이었다. 해결법은 간단하지만 서버에서도 작업을 해줘야 한다. 1. 서버파트 회사에서는 node.js + typescript 를 이용하고 있기지만 그리 어렵지 않게 이해할 수 있을 것이다. const message: TokenMessage = { data: pushData, token: doc['fcmToken'] as ..
푸시알람 24개 이상 띄워져서 최신 푸시가 안보일 때 해결방법클라이언트에게 배포할 앱을 개발하며 문제가 생겼었다. 5분단위로 푸시가 발송되는데 어느순간 최신푸시가 안오고 멈춘다는 것이었다. Android 10(Q - API29) 부터 기존 50개에서 24개로 줄어들었다는 내용이 검색되긴 하는데 확신하진 못하겠다.. 테스트폰은 갤럭시 s10, flip4 그리고 기종은 잘모르는 클라이언트 폰들인데 공통적으로 24개이상일 때 푸시가 갱신이 안되는다는 내용이었다. 해결법은 간단하지만 서버에서도 작업을 해줘야 한다. 1. 서버파트 회사에서는 node.js + typescript 를 이용하고 있기지만 그리 어렵지 않게 이해할 수 있을 것이다. const message: TokenMessage = { data: pushData, token: doc['fcmToken'] as ..
2023.04.08 -
지난 시간 nginx를 배포했을 때, NodePort를 이용해 외부에서 접근할 수 있었다. 쉽게 접근할 수 있는 방법이지만 문제가 있다. 1. 가용포트범위가 한정적이다.(기본설정 기준) 알다시피 기본설정에서는 30000-32767의 범위만 사용할 수 있다. 2. 관리가 불편해진다. 클러스터 내 각 Node는 해당 포트를 서비스로 프록시한다. 모든 Node에서 동일한 포트 번호가 사용된다는 것으로 사용자 스스로 포트 충돌의 가능성을 고려해야 한다는 의미이다. 물론 자유롭게 자체 로드 밸런싱 솔루션을 설정할 수 있는 장점 또한 존재한다. 중점은 진입구간이 너무 따로 논다는 것에 있다. 그래서 이런 진입구간을 모아서 Reverse-Proxy 처럼 서비스에 진입할 수 있게 해주는 것이 Ingress다. 1. I..
[Cloud Compute] Kubernetes 구축하기 - 6. Ingress 적용하기지난 시간 nginx를 배포했을 때, NodePort를 이용해 외부에서 접근할 수 있었다. 쉽게 접근할 수 있는 방법이지만 문제가 있다. 1. 가용포트범위가 한정적이다.(기본설정 기준) 알다시피 기본설정에서는 30000-32767의 범위만 사용할 수 있다. 2. 관리가 불편해진다. 클러스터 내 각 Node는 해당 포트를 서비스로 프록시한다. 모든 Node에서 동일한 포트 번호가 사용된다는 것으로 사용자 스스로 포트 충돌의 가능성을 고려해야 한다는 의미이다. 물론 자유롭게 자체 로드 밸런싱 솔루션을 설정할 수 있는 장점 또한 존재한다. 중점은 진입구간이 너무 따로 논다는 것에 있다. 그래서 이런 진입구간을 모아서 Reverse-Proxy 처럼 서비스에 진입할 수 있게 해주는 것이 Ingress다. 1. I..
2023.04.06 -
지난 글에서 nginx 서버를 배포해보았으니 이번에는 데이터베이스를 배포해자. nginx 같은 경우에는 stateless인 Deployment로 배포했는데 이번엔 다르게 진행되어야 한다. 기본적으로 데이터베이스는 데이터를 저장하는 것이고 이것은 날아가면 큰일나는 상황이다. 문제는 Deployment에서 Pod는 파리목숨과 같아서 날아가면 그 안의 데이터도 같이 날아간다. 이러한 경우에 사용하는 StatefulSet 이라는 것을 사용할 것이다. 그리고 PersistentVolume, PersistentVolumeClaim, Storage Class와 같이 뭔가 복잡해보이는 것까지 진행되기 때문에 내용이 많다. 갈길이 머니 서두르자. 1. 개념 시리즈의 목표는 구축과 실습이다. 그러니 개념은 빠르게 훑는 정..
[Cloud Compute] Kubernetes 구축하기 - 5. mysql + xtrabackup 배포하기지난 글에서 nginx 서버를 배포해보았으니 이번에는 데이터베이스를 배포해자. nginx 같은 경우에는 stateless인 Deployment로 배포했는데 이번엔 다르게 진행되어야 한다. 기본적으로 데이터베이스는 데이터를 저장하는 것이고 이것은 날아가면 큰일나는 상황이다. 문제는 Deployment에서 Pod는 파리목숨과 같아서 날아가면 그 안의 데이터도 같이 날아간다. 이러한 경우에 사용하는 StatefulSet 이라는 것을 사용할 것이다. 그리고 PersistentVolume, PersistentVolumeClaim, Storage Class와 같이 뭔가 복잡해보이는 것까지 진행되기 때문에 내용이 많다. 갈길이 머니 서두르자. 1. 개념 시리즈의 목표는 구축과 실습이다. 그러니 개념은 빠르게 훑는 정..
2023.04.06 -
지난 글에서 간단하게 어플리케이션을 배포하는 과정을 진행해보았다. 이번에는 nginx와 html을 배포해서 간단한 웹서버를 구축해보려고 한다. 어떻게 보면 지난글보다 이번글이 더 중요할 수 있겠다. 저번처럼 Pod를 배포하는 것이 아니라 Deployment와 Service를 배포할 것이고, 이것은 실제환경과 유사할 것이다. 진행에 앞서 Deployment와 Service에 대해 공부를 할 것을 추천한다. 1. Deployment 배포하기 둘 중에 뭘 먼저 배포하던지 Port만 일치시켜준다면 문제는 없지만 실습환경이니 먼저 Deployment를 배포해보자. apiVersion: apps/v1 kind: Deployment metadata: name: nginx-server labels: app: serve..
[Cloud Compute] Kubernetes 구축하기 - 4. nginx 서버 배포하기지난 글에서 간단하게 어플리케이션을 배포하는 과정을 진행해보았다. 이번에는 nginx와 html을 배포해서 간단한 웹서버를 구축해보려고 한다. 어떻게 보면 지난글보다 이번글이 더 중요할 수 있겠다. 저번처럼 Pod를 배포하는 것이 아니라 Deployment와 Service를 배포할 것이고, 이것은 실제환경과 유사할 것이다. 진행에 앞서 Deployment와 Service에 대해 공부를 할 것을 추천한다. 1. Deployment 배포하기 둘 중에 뭘 먼저 배포하던지 Port만 일치시켜준다면 문제는 없지만 실습환경이니 먼저 Deployment를 배포해보자. apiVersion: apps/v1 kind: Deployment metadata: name: nginx-server labels: app: serve..
2023.03.01 -
지난 글에서 구축까지 진행해보았다. 이제는 어떻게 어플리케이션을 배포하고 통신을 할 수 있는지 알아보자. 0. 시작하기에 앞서 명령어 알아보기 지금까지는 그냥 따라왔다면 이제는 명령어에 대해 조금 더 알아봐야한다. 구축하는 과정에서 사용한 kubeadm 은 클러스터를 관리하는 명령어다. 이제는 kubectl 이라는 리소스를 관리하는 명령어를 사용할 것이다. 1. 리소스 관리 생성명령어 : create, apply 변경명령어 : apply 교체명령어 : replace 삭제명령어 : delete 확인명령어 : describe kubectl {command} 위의 형태로 관리하게 될 것이다. 이 외에도 많은 명령어들이 있으니 --help 플래그로 찾아보고 사용하면 된다. 2. 리소스 확인 리소스의 타입은 많지..
[Cloud Compute] Kubernetes 구축하기 - 3. 어플리케이션 배포하기지난 글에서 구축까지 진행해보았다. 이제는 어떻게 어플리케이션을 배포하고 통신을 할 수 있는지 알아보자. 0. 시작하기에 앞서 명령어 알아보기 지금까지는 그냥 따라왔다면 이제는 명령어에 대해 조금 더 알아봐야한다. 구축하는 과정에서 사용한 kubeadm 은 클러스터를 관리하는 명령어다. 이제는 kubectl 이라는 리소스를 관리하는 명령어를 사용할 것이다. 1. 리소스 관리 생성명령어 : create, apply 변경명령어 : apply 교체명령어 : replace 삭제명령어 : delete 확인명령어 : describe kubectl {command} 위의 형태로 관리하게 될 것이다. 이 외에도 많은 명령어들이 있으니 --help 플래그로 찾아보고 사용하면 된다. 2. 리소스 확인 리소스의 타입은 많지..
2023.02.26