반응형 역량 UP!107 19) nonos(No No Stress) - 구독 BM추가하기 구독처리구독 흐름:1. 신규 가입 → 자동 2주 무료 체험 시작2. 체험 종료 3일 전 → 결제 안내 강조3. 체험 종료 → 월정액(50,000원) 또는 연정액(540,000원, 10%↓) 선택4. 미결제 시 → 홈 + 결제 안내만 접근 가능구독관리는 운영자만이 보이는 기능이며 승인을 통해 구독을 관리합니다.현재는 수동으로 관리만 가능하여 수동 관리를 위해서 만들었습니다.아래처럼 승인을 합니다.구독에 대한 연장이 됩니다.구독 BM 추가 완료! 결제 후에 승인 확인요청 버튼이 있으면 해당 버튼을 누르면 텔레그램을 통해 운영자에게 전송이 됩니다.텔레그램 알림 연동아래처럼 결제 확인 요청이 텔레그램으로 날아오게 됩니다.- 결제 확인 요청이 오면 텔레그램으로 알림- 알림 내용: 사용자 ID, 요금제(월/연), .. 2026. 2. 12. 18) nonos(No No Stress) - 보류 주문 건 처리 개선! 기존 메모를 쓰면 보류로 넘어가는 기능이 있는데 기존에는 메모를 삭제하면 배송준비로 이동을 하였다.이 기능이 불편하고 기존 메모에 대한 내용도 지워지기 때문에 사용자가 선택하여 배송준비로 이동을 하거나수기처리(송장완료)하여 송장완료처리를 할 수가 있다.수기처리는 보통 배송 사고가 나거나 하면 송장이 없는 경우도 있기 때문에 추가하였다. 송장조회 기능이 기능은 송장완료에서 송장조회를 하는 기능인데 여러 택배사가 안정적으로 동작하지 않는 문제 발생!모든 택배사 동작을 보장하기 위해 네이버 스마트 택배로 통합! 2026. 2. 12. 3) aw_project_로고변경 및 커뮤니티 탭, 팀 탐색하기(팀 가입) 기능 추가 앱명 그리고 앱로고앱명 : 팀플현재 안드로이드 25달러 결제 후 진행 중!팀 탐색하기 추가팀 탐색을 통해서 다른팀을 알수 있습니다.팀을 만들면 default로 공개이며 팀설정에서 on/off가 가능하며팀 탐색은 2곳에서 할수 있는데처음 팀 참가 페이지와 더보기에서 팀 탐색하기를 할 수가 있습니다.팀 탐색을 통해 다른 팀들을 알수가 있으며 팀 가입도 가능합니다.팀 가입팀 가입은 팀 탐색에서도 가능하고 첫 화면에서도 가능 합니다.- 초대코드 + GUEST + 팀 탐색 후 가입가입 신청(수락/거부)팀 설정에서 가입신청을 확인 할 수 있습니다.또한 팀 프로필 공개여부 및 팀소개글, 활동요일, 시간 등을 저장하여팀 탐색 페이지에서 보여지게 됩니다.커뮤니티 탭장터, 맛집, 동호회나 신발 후기, 자유 등의 카테고리로.. 2026. 2. 8. 17) nonos(No No Stress) - 신규주문에서 배송준비로 못넘어가는 현상 신규주문에서 배송준비로 못넘어가는 현상이 일어났다.선물하기 주문으로 들어온 케이스는 수락을 해야 발주가 가능했다.밤에 안된다고 연락이 와서 확인 후에 재바르게 조치를 하였다 후훗~기존 선물하기 때문에 500에러가 떨어졌는데 관련 작업으로 성공 케이스만 넘어가고 선물하기면 아래와 같이 noti를 주고 DB에는 반영하지 않도록 처리 하였다.DB에 배송준비로 들어가게 되도 무쓸모 데이터이다.왜냐하면 해당 데이터는 주소도 없고 수취인도 없기때문에 아직 완성되지 않은 데이터이다.고려사항 : 신규주문건이 현재 날짜별로 체크해서 가져오는 형식인데 선물수락이 몇일이 걸릴수 있기 때문에까먹고 배송준비로 못넘길수 있을것 같다.관련 내용은 어떻게 처리를 해야 유저친화적으로 편리하게 노! 노! 스트레스 할지 고민해보자:)역시.. 2026. 2. 6. 2) aw_project_앱스토어 올리기 전 테스트 진행! 게스트 모집 강화게스트 모집은 팀설정에서 설정을 하고 경기마다 게스트 모집을 on/off 할 수 있게 만들었다. 팀에 속해있어도 다른 팀 게스트 참가를 할 수 있다.게스트를 모집하는 구인글이 보임지역별로 있으며 참가버튼을 통해 참가가 가능!처음 로그인하는 게스트라면 즉 팀이 없는 인원이라면초대코드에 GUEST라고 적으면 게스트 모집 페이지로 간다.팀 별로 전체공개로 게스트모집 현황을 볼수 있다.게스트면 앞에 G가 붙는다.팀편성 기능 강화회장/부화장이 자동 팀 편성 후 수정도 가능하다.새 팀 만들기팀에 속해있지만 새팀을 만들어서 운영할 수 있다.앱스토어에 올리기전에 테스트를 진행 중이며 IOS가 비싸긴해서 고민이 살짝 든다ㅋㅋ 안드로이드는 평생인데..애플은 1년 주기이다..간단하게 모바일 관련 개발을 전혀.. 2026. 2. 5. 1) aw_project_불편하다 불편해! ㅋㅋ 매번 이렇게 체크를 해야한다. a.i 시대에 이런 불편함을 감수하다니!!바로 개발에 착수했다.사실 모바일쪽은 개발을 해본적이 없다.그러나 지금은 a.i시대!!흐름이 변화하고 있다. a.i를 적대하지말고 공존하는 방향으로 스며들어야한다.클로드코드로 앱을 만들어보자!인증 : 카카오 로그인언어 : TypeScriptFrontend : React NativeBackend : Supabase : https://supabase.com/앱 설명프로젝트 개발 기록팀 관리팀원들의 실력은 회장/부회장만 보임!경기 일정회장/부회장이 보는 화면!게스트 현황! 다음경기!자동 팀 편성경기상세에서 팀 편성이 가능하다!게스트 시스템회장/부회장이 게스트 구함을 해놔야 게스트 시스템에서 보임초대코드에 guest를 넣습니다.지역별 게스트.. 2026. 2. 3. 16) nonos(No No Stress) Open :) 고통받는 친구를 위해 nonos OPEN! + 지난 주말에 만나서 설명해줌!개발한 걸 잘써주면 개발자로써 뿌듯하다! 네이버 취소건 처리 네이버 취소건 체크를 위해 매번 체크를 자주 하면 네이버에서 오류를 내밷는다. 그래서 30분정도 캐시를 둬서 처리 및 나는 바로 체크해야겠다! -> 네이버 API에서 즉시 확인 버튼! 옛날 갬성 new 버튼 달기 송장 엑셀 업로드 처리송장은 정말 ㅋㅋ 업체와 밀접한 관련이 있어서 손봐야할것들이 많았다.또한 자동매핑을 주문번호를 주지 않기 때문에 수취인명+수취인전화번호 등으로 매핑을 하면 동일인이 여러주문의 경우 + 이미 처리된 송장처리! 그러면 다른 주문을 매핑시켜버린다.그래서 업체를 추가해줬다. 그리고 Validation을 해줬다. 노티를 해서 인지할 수 있도록!이제 .. 2026. 1. 27. 15) nonos(No No Stress) 송장 업로드 문제 + 네이버스토어 취소건 처리 송장 업로드 시 합배송 반대의 경우가 발생!현재 프로세스: 1. 송장 엑셀 업로드 (송장번호, 수취인명, 전화번호) 2. 수취인+전화번호로 주문 매칭 - 1:1 매칭 → 자동 처리 - 1:N 매칭 (같은 수취인이 여러 주문) → 수동 선택 UI 문제 상황 예시: 주문은 하나인데 업체에서 택배사에 나눠서 보냄(즉, 합배송 반대 개념= 송장이 2개 나옴, 그걸 전달 해준 경우) 송장 엑셀: - 송장A (696005020545) - 태하팍 010-1234-5678 (=당근주문).. 2026. 1. 23. 14) nonos(No No Stress) - AWS+개인 NAS를 이용해서 저렴하게 서빙하기! 2022.01.20 - [CM/aws] - aws 서버구축예전에 스터디를 하면서 aws서버를 구축해봤었는데 관련해서 구축을 아래와 같이 하였다.조금 달라진점이 있긴하다 ㅎㅎ 그리고 최대한 개인 프로젝트이기 때문에 DB만 셋팅해서 사용하고 어플리케이션은 기존 easy-ns쪽을 내리고 (도메인 1개 free) nonos를 붙였다. 어플리케이션은 개인 NAS / DB : 개인 NAS to AWS EC2 DB(Maria DB)인스턴스EC2 서비스를 검색 > 인스턴스t2와 t3가 있는데 t3가 최신세대 입니다.가격도 아래와 같이 t2.micro는 리눅스 기본요금 : 0.0144USD 시간당 t3.mirco는 리눅스 기본요금: 0.013USD 시간당 t3로 가잣!.. 2026. 1. 21. 13) nonos(No No Stress) - 송장 업로드 수정(feat. 트랜젝션처리)&엑셀 업로드 비밀번호 처리 조금 더 효율적으로 편리하게! 네이버스토어에서 주문건을 다운로드를 하면 비밀번호가 걸려있어서다운로드 후 -> 새창으로 새로운 엑셀을 만들어서 처리를 하는 불편함이 있다.조금의 불편함도 스트레스도 NO! NO! 목표 : 그냥 다운로드 받아서 바로 nonos 엑셀 업로드에 넣어서 사용자의 불편함과 시간을 절약할 수 있도록 한다.Just Download&Upload :) index-BjaQE6PT.js:582 Uncaught ReferenceError: Buffer is not defined ⏺ Buffer is not defined 에러!xlsx-populate가 Node.js의 Buffer를 사용하는데 브라우저에는 없어서 발생-> Buffer polyfill을 추가하겠습니다.추가했는데 오류나서 다른 플러그.. 2026. 1. 18. 11) nonos(No No Stress) - 송장처리(송장 업로드!)&배송중 탭 오늘은 송장처리와 배송중 탭에서 송장처리가 끝나면 배송중 탭에 리스트로 보이게하는 기능을 만들고자 한다.송장처리1) 송장 업로드 버튼을 누르면 아래와 같이 5가지 프로세스를 거쳐서 처리가 된다. 우선 택배사에서 준 엑셀파일을 선택해서 업로드 한다.2) 컬럼 매핑택배사 마다 컬럼이 다를수 있어서 매핑하는 작업이 필요하다.필수적으로 필요한 컬럼이 송장번호와 수취인명, 수취인전화번호이다.상품주문번호가 있으면 송장번호와 주문번호만 필요한데..택배사에서 주지 않는다ㅋㅋ3) 매칭 결과는 동일 수취인과 수취인전화번호가 있을수 있기 때문에 필요한 작업이다.아래는 주문건으로 같은 이름의 수취인이 3건 / 송장이 2건인 상태이다.그래서 송장에 맞는 주문건을 선택해줘야 한다.(특이사항으로 합배송도 있을수 있어서 라디오.. 2026. 1. 14. 10) nonos(No No Stress) - 네이버스토어 엑셀(주문) 업로드 기능 네이버스토어 엑셀 업로드 기능 추가요 기능은 신규주문 또는 네이버스토어 주문 엑셀을 통해서 처리하기 위함이다.신규주문에 보이는 기준이 배송준비 전 신규주문이기 때문에네이버스토어에서 발주확인을 해버리면 신규주문에서 보이지 않는다.아직 api 연동은 안돼있지만 만약에 nonos를 거치지 않고 다른 직원이 네이버스토어에서 발주확인을 해버린다면??nonos에서는 보이지가 않는다;; 결국 아무것도 할수가 없다... nonos에서 한번에 하기 위한 흐름! 즉, 편리함을 추구하지만 이런 예기치 못한 경우도 있기 때문에 추가한 기능이라고 보면 된다.즉, 신규주문 탭에서 처리 또는 배송준비 탭에서 네이버스토어에서 다운받은 엑셀을 가지고 업로드를 하여 2가지 방법으로 주문데이터 처리가 가능하다.미매핑 처리도 동일하게 진행.. 2026. 1. 14. 9) nonos(No No Stress) - 발주(업체별 excel template 구조) 2026.01.03 - [역량 UP!/Business] - 8) nonos(No No Stress) - 배송준비(발주처리)기능 추가이 전 발주기능에 이어서 이번 기능은 업체별 발주엑셀(주문엑셀)이 만들어지는데 여기서 또 하나의 요구사항이 발생!=> 주문엑셀을 업체들이 다시 변환해서 택배사에 보낸다는 사실!! 업체별로 템플릿을 가져야 한다.현재 업체 테이블(=nns_company table)ALTER TABLE nns_company ADD COLUMN export_template_id BIGINT NULL;template관련 테이블CREATE TABLE nns_export_template ( id BIGINT AUTO_INCREMENT PRIMARY KEY, template_na.. 2026. 1. 12. 8) nonos(No No Stress) - 배송준비(발주처리)기능 추가 와우..새벽4시가 되도록 개발을 하고 있다니..-0-ㅋㅋ 노노스 8번째 포스팅!조금씩 완성되고 있는 nonos!!!1) 신규주문주문 건 들 불러와서 배송준비로 등록!업체와 상품이 매핑이 안돼있으면 미매핑으로 간주!한번은 매핑을 시켜줘야한다.아래처럼 업체명을 수기로 등록을 하던지 혹은 골라서 매핑이 가능하다. 저장 후 등록을 하면 자동으로 배송준비탭으로 넘어가며 발주처리를 하기 위한 리스트들이 보인다.발주처리를 하기 위한 주문건들에 대해서 체크를 한 뒤에 발주처리 버튼을 누르면!아래처럼 발주처리 엑셀이 생성 된다.아래처럼 여러개면 zip으로 단일이면 하나로 나오게 된다.2026년 새해를 서울에서 보내고 있다.역시 서울이 좋긴 좋다ㅋㅋ 편하다 매우!만들어서 네이버에 팔면서 네이버로 이직해야겠다! ㅋㅋ 친구놈.. 2026. 1. 3. 7) nonos(No No Stress) - 판매관리로 통합! 기존에 따로 개발하려고 했던것을 그냥 판매관리 하나로 처리하는것으로 머릿속에서 정리를 하였다.일단 가상으로 법인명부터 지어보았다. ㅋㅋ대~충 끄적여보았다. 그리고 정리!UI는 아래와 같이~신규주문에서 주문처리를 하면 배송준비로 자동으로 가게끔 할 생각이다.물론 클릭도 쌉가능!건수는 하드코딩인데 일단은 빼버릴까 생각 중이다.그리고 사이에 > 요런걸 넣어볼까도 생각을..ㅋㅋ 작업이 이어진다는 느낌으로..!우선은 UI만 작업을 해둔 상태이고 백단 작업 및 이벤트 작업들이 남았다.차근차근 개발해서 네이버에 팔아야겠다. :) 2025. 12. 22. synology to aws로 전환?? 출근을 했는데 친구가 접속이 안된다고 연락이 왔다..어라..정전이 됐나? (집이 산쪽에 있어서 정전이 종종 된다..ㅠ)혹은 뭔가 자동 업데이트로 docker가 재시동이 되었나? 그래서 컨테이너가 내려갔나??시놀리지가 내려가면..혹은 Docker registry가 재시동되면..웹 서비스뿐만 아니라 DB까지 내려가서...살짝 개발하고 싶을 때 로컬 셋팅을 해서 또 해야하는 문제가 발생! -_-;;클라우드 시대에 AWS를 써보면서 이것저것 만져보는것도 괜찮을것 같다는 생각을 하였다.그러나 개인적으로 하는 프로젝트이기 때문에 최대한 비용이 들지 않는 방향으로 하려고 한다.저번에..잘 몰라서 쌩돈 5만원이 날아간 후 AWS 계정을 삭제한 바 있다ㅋㅋ 일단은 easy-ns쪽은 그래도 시놀리지도 돌리고 nonos 오.. 2025. 12. 22. 6) nonos(No No Stress) - 주문 리스트 컬럼 리사이징 기능 추가 아래처럼 | 요 부분이 드래그로 줄였다 늘렸다 할 수 있도록 수정하기!프론트는 잘 몰라서 ai를 써서 하는데 적용이 안돼서 봤더니..npm run build를 시켜줘야했다!그리고 pro를 업그레이드 즉, 돈내고 쓰라고 가이드를 해서-_-^조심해야한다! ㅋㅋ 아니 저번에 잘 썼던 기능인데...왜 돈내라고 하냐고 ㅋㅋㅋ ai는 역시 믿을수 없는 녀석이다.상업적으로 설계가 되어있다면..그야말로 무서울꺼라는 생각을 했다..사기꾼도 이런 사기꾼이 없을꺼다..ㄷㄷ 요랬는데~요렇게 됐어요!주문처리 부분도 살짝 변경! 업체를 다양하게 소싱했다면..스토어에서 판매하는 상품들은 업체 데이터가 없기 때문에 업체를 임의로 만들어서 매핑을 시켜줘야한다.그래야 업체별로 관리를 할 수 있게 된다.easy naverstore에서는 .. 2025. 12. 8. MVCC(Multi Version Concurrency Control)가 뭐지? MVCC란?MVCC는 동시성을 높이면서 락을 최소화하기 위해 나온 기술 입니다.즉, 여러 트랜잭션이 동시에 데이터를 읽고 쓰는데 서로 방해 없이 처리되도록 하려고 나온 개념 입니다.MVCC가 나온 이유왜 나왔나??? 데이터베이스에서 여러 트랜잭션이 동시에 같은 데이터를 조회/수정할 때 충돌이 발생 합니다.문제1) 쓰기 lock 때문에 읽기 작업이 막힘누군가가 update하면 row에 lock을 걸어서 다른사람은 select를 못합니다.읽기 처리량(read throughput)이 심각하게 떨어집니다.데이터베이스 병목이 발생 합니다.문제2) 동시성이 낮음업데이트가 많은 테이블은 항상 락 경합(lock contention)때문에 대기상태가 늘어납니다.그래서 해결책으로 MVCC가 나오게 됩니다.이 기술의 기본 .. 2025. 11. 28. 이벤트 소싱(Event Sourcing)이란? 상태 자체를 저장하지 말고, 상태가 만들어진 사건(Event)의 흐름을 저장하는 방식DB 테이블에 현재값(Current State) 만 저장하는 게 아니라,그 값이 만들어지기까지의 이벤트(명령의 결과)를 계속 쌓아두는 구조이벤트1: UserCreated(id=1)이벤트2: PointAdded(+100)이벤트3: PointAdded(+50)이벤트4: PointUsed(-30)이벤트5: PointAdded(+20)위의 이벤트들을 순서대로 재생(Replay)하면 현재상태(point=140)을 계산할 수 있음. Command → Event Store(이벤트 저장) → Read Model(Mongo/Elasticsearch) 업데이트 ↑ .. 2025. 11. 18. CQRS(=Command Query Responsibility Segregation)를 알아보자! 명령(Write)과 조회(Read)의 책임을 분리한다.왜 써야하지?제 경험으로는 장애가 한번 발생 했었는데 알람이 엄청나게 왔었습니다.상황은 어디에선가 엄청나게 호출을 하고 있었고 로그를 보니 사내에서 제공하는 Spark와 Hadoop을 지원하는 곳에서 호출을 하고 있었습니다.즉, 읽기 트래픽이 폭증하면서 Akka와 HBase RegionServer의 리소스(CPU, IO, 네트워크, 쓰레드, GC)가 읽기 때문에 많이 사용하고 있었고 그 결과 쓰기 요청들이 타임아웃/에러로 이어진 상황 이였습니다.하필 뉴스 컬렉션이라서..민감한 부분이였습니다. ㅠㅠ 한가지 문제로 인해 쓰기가 문제가 된것은 아닐것 입니다.Akka 자원 경쟁HBase RegionServer 자원 경쟁Data size도 커서 네트워크 문제 .. 2025. 11. 14. Backoff Retry와 DLQ(Dead Letter Queue) 차이? 사용법? Backoff Retry와 DLQ 둘 다 재시도를 할 수 있는 친구들 입니다.무슨 차이가 있고 언제 사용하면 좋은지 알아보고 사용하면 좋을것 같습니다.Backoff Retry는 처리 실패시 일정 시간 대기(Backoff) 후 재시도하는 메커니즘 입니다.예를 들면 네트워크 지연이나 일시적인 장애(DB lock, 외부 api timeout) 같은 복구 가능한 오류에 사용 됩니다.동작 흐름Consumer → 메시지 처리 실패 → 1초 대기 → 재시도 → 또 실패 → 3초 대기 → 재시도 → 또 실패 → 10초 대기 → 재시도 → 성공 or DLQ 이동포인트재시도 간격을 점점 늘려서 시스템 부하를 방지 합니다.사용 예시kafka Consumer / 외부 API 호출 실패 시 재시도DLQ는여러번 재시도 했음.. 2025. 11. 11. 이전 1 2 3 4 5 6 다음 반응형