반응형

전체 글 67

EC2 관련 정리

> 기계적으로 서버를 만들고 관리하고 있었는데 과정 및 정보들을 기록해본다. (계속 사이드 플젝 진행하면서 오호라 하는 것들을 넣을 것이다.) > 현재 내가 있는 곳 서버는 EC2 - K8S - Node로 구성되어 있다. EC2 보안그룹 설정 하기 > EC2 인스턴스로 들어오고 나가는 트래픽에 대한 규칙을 정하고 제어할 수 있게 한다. (Ex: SSH 접속 포트인 22에 대해서는 특정 개발자의 IP에 대해서만 풀어주거나 http port인 80과 https port인 443에 대해서는 접속 IP 제한을 전부 풀어주게 할 수 있다.) 인바운드 규칙 : 외부에서 인스턴스로 들어오는 리퀘스트에 대한 규칙을 설정해주는 곳으로 유형은 HTTP, HTTPS, SSH 등이 있고 이에 따라 프로토콜, 포트가 설정된다...

서버 2022.01.16

2021 & 2022 Plan

아직 얼마 되지 않은 개발자 경력, 가장 개발자다웠던 해를 고르라 한다면 올해라고 말할 수 있다. 물론 그 만큼 아쉽고 스스로에게 실망스러운 점들도 많았다. 인강을 듣지 못 했다. 결제 관련 모듈을 개발하는데 있어 코틀린이 필요하다 하여 코틀린쪽 인강 듣고 좀 다시 기억을 되살려보려 했으나.. 결제 관련 개발 일정 업체가 바뀔 수 있어 무기한으로 밀리고 회사 서비스에 항공 서비스를 새로 추가하는게 되어 들을 틈이 없었다.. 무엇보다 코틀린을 지금 들어야 하는 필요성을 트끼지 못 했다. 사실상 백엔드는 CTO님을 빼면 쉽다 서비스, 회사 Admin 서비스 백엔드에 대한 총괄을 내가 하고 있고 신규 서비스 추가, 고도화 작업 기획 회의 및 일정 추산 전체적인 오퍼레이팅 및 개발을 내가 하고 있다. (솔직히 ..

[Javascript] Call by Value와 Call by Reference (+Call by Sharing)

더보기 effective typescript를 스터디하면서 나온 'readOnly는 얕게 적용된다'라는 말에 대한 개념을 명확하게 정리하기 위해 씀 > 일단 Call by Value와 Call by Reference에 대한 내용은 구글링 하면 무수히 많이 나온다. 하지만 어떤 언어를 사용하냐에 따라 이에 대한 이해는 좀 다르게 해야한다. Call by Value와 Call by Reference에 대한 기본적인 개념 기술 후 내가 사용하는 Typescript(=Javascript)에서는 어떻게 이에 대한 처리가 되고 있는지 정리한다. const a = { a: 5 }; const testFunction = (b) => { b.a = 1; return b; }; const testFunction = (c)..

개발 일반 2021.11.28

[용어 정리] Scale up, Scale out, Data Partitioning, Data Sharding

[성능 향상 관련 용어] Scale up : 단일 머신(machine)에 CPU, 디스크 등을 추가해서 성능을 향상하는 방법 > 클라우드 서비스에서도 사용되며 이 경우 하나의더 큰 규모로 늘리는 것을 의미 Scale Out : 적절한 성능의 머신을 추가해서 전체적인 성능을 향상하는 방법으로 소프트웨어가 scale out을 지원해야 가능 [데이터 처리, 저장 방법] Data Partitioning : 대량의 데이터를 처리하기 위해 DBMS 안에서 분할하는 방식. 한 대의 DBMS만 있으면 된다. Partitioning 방법 Horizontal Partitioning : 데이터 갯수 기준으로 나누어 Partitioning하는 방법으로 사실상 Sharding이 여기에 들어간다고 볼 수 있음. 같은 테이블 스키..

데이터 2021.11.23

[Elastic cloud] Elastic Kibana 슬랙 연동하기

> 회사 메신저를 잔디에서 슬랙으로 변경하게 되어 개발서버, 운영서버 500에러 notification이 잔디로 전송되는걸 슬랙으로 변경하려고 함 > 이를 위해 크게 체크해야할 내용은 아래와 같다. 키바나에 대해 따로 서버를 띄우지 않고 우린 Elastic cloud를 사용하고 있어 여기서 설정을 바꿔줘야 함 watcher를 계속 사용할 것인가 (vs alert) 메시지를 좀 더 친절하게 > Elastic cloud에서 슬랙 설정 값(slack webhook값) 넣어주기 1. 키바나 클라우드 페이지에서 설정을 일단 해줘야 한다. (https://www.elastic.co/kr/cloud/) - 원래 EC2에 넣거나 따로 kibana 서버를 띄우면 elasticsearch.yml 파일에서 설정값을 바꿔줘야..

기타 2021.11.22

2021 ECMAScript (ES12) 신규 변경점

2021년 JS 신규 기능으로 그렇게 크게 변경된 점은 없고 크게 4가지만 기억하면 될 듯하다. 1. replaceAll 기능 추가 > 기존에 replace() function은 첫번째 글자만 치환하였고 전부 바꾸려면 정규식을 사용하거나 그렇게 처리를 했어야했다. > 이에 대해서 이제 replaceAll()을 사용하면 전부 바꿔주는 신규 함수가 생겼다. const testString = "test is just test" const resultReplace = testString.replace("test", "dev") const resultReplaceAll = testString.replaceAll("test", "dev") console.log(resultReplace) // dev is just ..

monorepo를 적용하며

현재 지금 우리 구조는 왼쪽의 구조와 같았다. Ship-da API, Admin API, 이메일&문자&잔디 알람 발송, 크론잡 코드들이 Monolith하게 구성되어있었음 그리고 여기서 이제 신규 WMS서비스에 대한 repository가 추가되고 이메일, 문자 발송에 대한 기능과 거래명세서, 견적서 생성 기능을 별도 서버를 분리하자는 움직임이 있었다. (이 기능은 신규 WMS에서도 사용을 해야하니깐) 그리고 이에 따라 MSA스러운 성격을 띄게 되었는데 MSA 구조를 도입하진 않을 예정이지만 이러한 구조를 더 편히 관리하기 위하여 모노레포를 도입하기로 하였다. 이 전에 기존 모노리스 (Monolith), 멀티레포 (Multirepo), 모노리포(Monorepo)의 특징과 성격을 정리하고자 한다. 모노리스 (..

개발 일반 2021.09.07

이번 스프린트를 끝내며..

2주짜리 스프린트가 3주짜리 스프린트가 되고 1주일 지옥 문턱까지 보고 방금 배포 다 올린다음 확인하고 풀린 다리로 지금 머리 속에 있는 내용 정리하다래ㅑㅁㅈ두랴ㅐㄷㅈ > 이번 스프린트의 가장 큰 패착 티켓 업무 이름에 낚여서 방심했다. '운영트렐로 수정 및 관세청 연동'이라는 정말 지극히 평범한 일상같은 업무의 제목을 보고 나는 그냥 당시 쿠폰팩 개발의 마무리 단계에 있었기에 대략적으로 생각나는 것들의 업무를 생성해서 일정을 짰다. 결론적으로 아니였다. 개발하다 보니 그냥 제목은 낚시 기사 제목이였다. 운영 담당자들이 사용하는 운영트렐로는 수정이 아닌 전면 리뉴얼이였고 기존에 수출입 건들의 각각의 수출입 단계 (status값)을 전면 단축하는 마이그레이션까지 필요했다. 그리고 관세청 실시간 정보들이 운..

개발 일반 2021.07.02

[cron job] 크론잡 부하 줄여주기 with spring batch, SNS, SQS

이번 시스템 리뉴얼 배포때문에 지옥 문턱까지 보고 돌아온 기념 까먹기 전에 일단 이슈 정리 함 이번 리뉴얼 중 메인 골자 중 하나가 자동화임 주기적으로 수출입건에 대해 관세청 API를 조회해야했고 aws 람다를 통해 30분마다 크론잡을 돌려주기로 하였음 문제는 관세청 API를 매건 호출해야하는 것도 문제인데 이 중 특정 조건을 성립하는 수입건은 update도 해주고 고객사에 안내메일도 보내줘야 했다. 이걸 cron job에서 쏘는 리퀘스트 하나로 처리하면 분명 문제가 될 것이라 Unipass 이후의 작업에 대해서는 따로 또 분리하여 처리를 해주려고 함 따로 처리를 해주려고 하는 친구 후보 AWS SNS : 이미 많이 사용 중인 친구임. 사실 최근에 이메일, 문자 발송 서비스는 aws가 아닌 postmar..

개발 일반 2021.06.28

요즘 하는거

- 쿠폰 리뉴얼 > VAT 적용 변경 (영세/과세 및 적용 항목 변경) > 사용 적용 항목의 세분화에 따라 그 항목을 초과하였을 때의 케이스 추가 > 쿠폰 별 사용 가능 서비스 타입 적용 - 수출 의뢰 status 전면 개편 리팩토링 > 수출 Flow에 대한 status 전면 개편 (DB, Product code) > 드래그앤드랍 방식의 수입플로우 방식에서 수입 Flow 자동화 적용 > 관세청 API, 선박 실시간 추적 API 적용 > 각 Status 변경 때마다 자동 메일링 발송 - 리팩토링 절실..... 전 스프린트에서 테스트 커버리지 높였어서 다행이지... 이정도 status 전편 개편하는데 커버리지 낮았으면 과로사해서 이글도 못 쓰고 있었을 듯 - 대표랑 CTO님한테 말해야게따 우선순위 낮은거 다..

반응형