개발 프로젝트 (14) 썸네일형 리스트형 Nodejs 메모리 leak 현상 해결하기 Push 서버는 고객에게 푸시 알림으로 전달할 메시지를 메인 서버로부터 전송받아 Google FCM(Firebase Cloud Messaging)을 통해 사용자에게 전송하는 역할을 합니다. 메인 서버는 보안을 위해 방화벽 내부에 위치하고 있기 때문에, 이러한 미들웨어 성격의 서버가 필요합니다. 서버를 처음 구축했을 당시에는 하루 평균 1만~3만 건의 데이터를 처리하면 충분했기 때문에 성능에 큰 신경을 쓰지 않았습니다. 대신 유지보수 측면에서 유리하도록 코드를 작성했고, 여러 라이브러리를 적극적으로 활용하여 구현했습니다.하지만 최근 회사가 푸시 알림을 활용한 적극적인 마케팅 전략을 도입하면서, 하루 처리해야 하는 메시지의 양이 급격히 증가했습니다. 이에 따라 한 번에 수십만 건의 트래픽이 몰리는 상황이 발.. [PyQt5] 자동 배포 프로그램 Preview 저희 회사에서는 망분리 정책으로 인해 Github action이나 GitLab 등의 오픈소스 배포 프로그램을 사용하고 있지 않습니다. 그렇기 때문에 수동으로 빌드된 파일을 배포 서버에 옮겨야 하는 번거로움이 있는데요 번거로움과 함께 인간이기에 하는 실수들이 발생하곤 합니다. 잘못된 파일을 업로드한다던지, 잘못된 경로에 업로드하는 경우들이 종종 있어 파일 배포 시에는 두세 번 정도 파일위치와 이름 등을 확인하곤 합니다. 물론 운영 서버에 배포시에는 이 정도의 검수가 필요하긴 하지만, 개발 서버에 배포 시에는 사실 잘못된 파일이 올라가거나 잘못된 경로에 배포한다고 해도 지우면 그만이고 다시 올리면 그만입니다. 현재 사용중인 프레임워크 특성과 저희 회사의 서비스 규모 상 현재 프로젝트 내에 있는.. [PyQt5] 성경 프롬프터 프로그램 Preview제가 일요일마다 교회 가는데 목사님께서는 성경 말씀을 성도들이 찾는 것보다 빔 프로젝터에 띄워서 같이 읽는 걸 좋아하십니다.그래서 방송 담당 인원이 미리 성경 말씀을 준비해서 PPT자료로 준비를 해야 하는데요,만약 담당 인원이 못 나오거나 늦게 되면 방송이 매끄럽지 않아 모든 성도가 성경말씀이 프로젝터에 나오기만을 기다리는 경우도 있었습니다.시중에 이미 개발되어 있는 프로그램을 사용하려고 보니 국내 프로그램으로는 홀리뷰어 라는 프로그램이 제일 유명했습니다.하지만 성경과 장, 절을 모두 콤보박스로 컨트롤해야 하기 때문에 빠르게 찾을 수가 없었습니다.그리고 외국 프로그램인 easyslides 는 사용법이나 기능이 복잡해 교회 방송 담당자(초딩)이사용하기에 어려울 것 같았습니다.그래서 제가 이 프.. [Programmers] 숫자 카드 나누기 -Javascript INDEX https://school.programmers.co.kr/learn/courses/30/lessons/135807# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr Solution 어느 한쪽의 모든 숫자 카드를 나눌 수 있는 a라는 숫자는 공약수 일 것입니다. 가장 큰 a를 뽑아야 하니 최대 공약수를 뽑아야 되는 문제입니다. 만약 [4, 6, 12] 가 있을 때 이 숫자들의 최대공약수를 구하는 방법은 단순하게 풀면 가장 작은 숫자 4부터 2까지 반복문을 통해 모든 숫자가 그 숫자로 나눠지는지 확인하면 됩니다. 하지만 조건을 살펴보면 배열의 원소.. Chrome Extension - Html Tag wrapper Preview 티스토리 블로그를 제 입맛에 맞게 꾸미기 위해 Html 편집을 통해 css를 좀 건드렸습니다. 그래서 요런 다크 한 테마의 배경 색과 레이아웃이 나올 수 있었죠. 제 글을 몇 개 읽어보면 프로그래밍 단어 / 중요 단어와 같은 단어에 아래와 같은 디자인이 적용된 걸 볼 수 있습니다. 이런 효과를 적용하기 위해서 태그로 단어를 감싸줘야 합니다. 참 번거롭죠? ㅎ 그래서 만들었습니다. 안 그래도 예전부터 크롬 익스텐션을 한번 개발해보고 싶었는데 마침 잘됐다 싶었습니다. Skills Javascript / html / css 코드는 정말 정말 간단합니다 html 소스코드를 붙여 넣고 감싸고 싶은 키워드를 배열의 형태로 넣은 다음 감싸고 싶은 태그를 입력하면 그러니까 저 같은 경우에는 html 소스.. 아파트 매물 알리미 - NestJs / ReactJs Preview 이번 포스팅에서는 혼자 심심풀이로 만들어본 서비스를 한번 소개해볼까 합니다. 곧 있음 이사를 앞두고 있어서 부동산 매물을 찾아보던 중 내가 원하는 매물이 있으면 알림(SMS / 카카오톡 등)을 보내주는 서비스가 있으면 좋을 것 같아 개발해 보았습니다. 네이버 부동산이나, 호갱노노에는 관심지역에 청약 알림을 설정해 두거나 관심 아파트를 설정해 놓으면 청약 혹은 매물이 생기면 알림을 보내주는 서비스는 있었으나 한 지역 전체를 탐색하는 서비스는 없는 것 같더라고요. 물론 있다고 하더라도 그냥 연습 삼아 만들어보기 좋은 프로젝트 같았습니다. Skills Backend : NestJs (Typescript) FrontEnd : React with Mui (Typescript) Database : f.. Push 서버 관리자 사이트 개발 Stack ReactJS, Mui, NodeJS, Pm2 Preview 앱을 사용하다보면 PUSH 알림을 자주 받게됩니다. 금융앱에서도 이체, 주식주문 등과 같은 이벤트가 발생 시 고객에게 PUSH 알림을 주곤합니다. PUSH 서버는 메시지를 받아 FCM(Firebase Cloud Messaging)으로 전송하기 위한 Bridge 성격의 서버로 구성했습니다. 자세한 내용은 아래 링크를 참고해 주세요. https://sieon-dev.tistory.com/69 [Node.js] PM2를 사용해 PUSH서버 구축하기 이번 포스팅에서는 증권사 내부 서버에서 고객의 MTS(Mobile Trading System)에 푸시 알림이 도착하기 까지의 과정을 코드와 함께 기록해두려 합니다. * 보안으로 인해 중요 정보는.. NodeJS Chat Service Preview 기존 NodeJS 기반 구성되어있던 채팅 서버가 장애 이슈와 개선점이 많아 프로젝트 리팩토링 및 버그 개선을 담당하게 됐다. 자주 발생하는 장애현상 은 이러했다. 고객의 네트워크 불안정으로 소켓 연결이 끊어진 다음 재접속 하는 과정에서 고객 네트워크를 다시 방에 연결하지 못하는 현상. 서버 측 소켓 연결 close 이벤트를 늦게 감지하는 현상 대부분이 네트워크 불안정을 해결하지 못해서 발생한 이슈였다. 개선해야 할 점 은 다음과 같다. 1대1채팅만을 지원했지만 상담사(1)대 고객(N) 채팅을 지원할 것. 카카오톡처럼 고객과의 과거 대화내역과 통계 내역을 볼 수 있어야 할 것. 각 상담사 별로 제공되는 기능이 존재할 것. (ex: 기본 메시지 설정). Javascript 에서 Typescri.. 이전 1 2 다음