전체 글 27

[NodeJS/Redis] 캐시를 사용한 리스트 전달하기

최근에 프로젝트를 진행하면서 구현했던 기능 중 하나에 대해 포스팅하고자 한다. 해당 기능을 구현하는데 사용된 것은 Redis, MySQL, NodeJS 이렇게 3가지가 주된 기능을 구현하는데 사용됐다. 개요는 위와 같고, 실제 구현된 기능에 대한 메인 요구사항은 다음과 같다. 관리자 페이지에서 등록된 이벤트 중 진행중인 이벤트 리스트는 상위에서 랜덤한 리스트 배열로 전달해주시고, 이외에 신청한 이벤트/종료된 이벤트는 아래에서 무한스크롤로 할 수 있도록 해주세요. 이 기능에 대해 등록되는 이벤트들의 개수는 큰 변화가 없을 것이고 빈번한 수정이 일어나는 리스트 데이터가 아니기 때문에 캐싱을 하여 작업하도록 설계했고, 이외에 무한스크롤에 해당하는 데이터는 실제 RDB에 접근하여 전달하도록 설계했다. 구현한 순..

IT/프로그래밍 2021.05.04

[NodeJS] Sequelize에서 JSON 안에 JSON 처리는 어떻게 해?

간만에 또 이렇게 글을 써 본다. 내용은 매우 간략하지만 처음 경험하는 것이라서 이 부분으로 인해 열심히 삽을 팠다! 사용 라이브러리 Sequelize : 6.6.1 Node: 12.13.1 RDS: MySQL Aurora 위와 같은 환경에서 아래와 같이 테이블을 생성했다. Schema sequelize.define( 'test' { name: { type: DataTypes.STRING(10), allowNull: false, comment: '테스트 테이블내 컬럼, 이름' }, contents: { type: DataTypes.JSON, allowNull: false, comment: '테스트 내용', }, }; 위와 같은 스키마를 정의했다는 가정하에 데이터는 아래와 같다. { name: '테스트',..

IT/프로그래밍 2021.04.15

[JS] 휴대전화번호 정규식

오랜만에 작성하는 블로그! 이유는.. 뭘 써야할 지 잘 몰랐어서 안쓰다가 오늘 간만에 쓰게 됐습니다. 최근 TDD 를 통해 회사 프로젝트를 구성하고 실행해 보고 있습니다. 그러면서 테스트 케이스를 작성하게 되는데 그 중 일부를 발췌해 작성해봅니다~ 업무를 할 때마다 늘 마주치는 휴대전화번호 입력 그리고 생년월일 입력이 있습니다. const { expect, assert } = require('chai'); describe('정규식 테스트 진행', () => { it('휴대전화번호 정규식 테스트', () => { /** * 조건, 휴대전화번호만 전달되는 경우, 하이픈이 같이 들어오는 경우 * 휴대전화번호 맨 앞자리는 지금은 010으로 통합됐으나, 이전엔 아니었음. * 010, 011, 012, 016, 0..

IT/프로그래밍 2021.04.09

터미널 버전 Redis 설치하기

이전에 회사 노션 페이지에 직접 작성했던 Redis 설치법! 활용해서 많은 AWS EC2 로컬 레디스를 작업했었는데, 이제 블로그를 시작했으니 내 블로그로 옮겨오기를 해봅니다! 아래대로 터미널 열어서 슥--삭 하고 복사 & 붙여넣기 진행하시면 바로 설치되니까 편히 사용하시기를!! (전 매우 편히 이용하고 있습니다~) 기준은 Linux(aws ec2 terminal) 에서 진행했었고, ~ sillicon 은 잘... ~ SSH 접근 후 사용. ( 일반 유저 ) sudo yum -y update sudo yum -y install gcc make #Redis Download cd /tmp wget [http://download.redis.io/releases/redis-4.0.0.tar.gz](http://..

좌충우돌 Sequelize 5.x 에서 Sequelize 6.x 로 마이그레이션

회사에서 Sequelize 5.x -> Sequelize 6.x 로 마이그레이션을 해보려던 중 마주쳤던 라이브러리 지원 함수 삭제 등으로 인한 이슈가 있었다. 오늘은 이에 대해 한 번 써보려한다. 회사에서 5.x -> 6.x 을 진행하면서 생겼던 내용에 대해서만 기술하기 때문에, 이외에 다른 내용이 있다면 댓글로 작성해주시거나 하면 다른 분들에게도 공유될 수 있어 좋을 것 같습니다 ^오^ 우선적으로 회사에선 기존에 Sequelize 4.x 와 Sequelize 5.x 를 각 프로젝트에서 쓰고 있었다. 하지만 지금의 Sequelize 버전은 몇이지..?! 무려 6버전이다.. 자잘한 Minor 버전을 제외한다고 해도 라이브러리 버전이 차이가 난다. 그리고 NodeJS 버전도 낮았기에.. 하하.. 라이브러리 ..

IT/프로그래밍 2021.03.31

TDD? TDD란 뭘까?

우선 아래 글은 정보 및 주관이 섞인 글입니다. 참고 부탁드립니다 >_O 면접을 보다가 받았던 과제에서 TDD 를 사용해서 작업해달라고 요청받았던 적이 있었다. 이전부터 내용은 알고 있었는데 정리가 잘 안되고 사용도 많이 못해봐서 이렇게 글이라도 적어본다! ( 이래야 다시 보고 하겠지라는 마음으로! ) TDD 가 뭐야?? 테스트 주도 개발(Test-driven development, TDD)은 매우 짧은 개발 사이클을 반복하는 소프트웨어 개발 프로세스 중 하나이다. 우선 개발자는 바라는 향상 또는 새로운 함수를 정의하는 (초기적 결함을 점검하는) 자동화된 테스트 케이스를 작성한다. 그런 후에, 그 케이스를 통과하기 위한 최소한의 양의 코드를 생성한다. 그리고 마지막으로 그 새 코드를 표준에 맞도록 리팩토..

Java JVM 그리고 GC

최근 면접을 준비하게 되면서 다시 한번 더 Java 에 대해 공부를 진행하면서 알게되고 다시 한 번 읽게 된 JVM의 구조 그리고 GC에 대해 설명을 이해하기 좋게 남겨진 블로그 포스팅에 대해 공유합니다! 이 글의 출처 https://huisam.tistory.com/86#comment8363096 Java Memory 자바 개발자라면 꼭 알고 넘어가야 하는 기본 아닌 기본 소양 📝 JVM 처음부터 다 설명하는 것은 제가 이야기하고자 하는 포인트가 아니라서, 간략하게 중요한 것만 짚고 넘어가려고 합니다 ㅎㅎ 전체적인 JVM 의 구조는 아래와 같습니다 JVM 정확히는 JVM 의 Heap 에 대해서만 짚고 넘어가보도록 할게요 저희는 예전부터 개발을 진행해왔고, 많이들 익숙하신 그림을 하나 소개할까해요 Jdk..

IT/프로그래밍 2021.03.29
반응형