목록항해 99 (94)
나의 개발일지(김지헌)

오늘은 doNm을 기준으로 페이지 네이션을 구현한 캠프 api를 쿼리 문과 시퀄 라이즈 ORM을 비교해 보았다. 처음에는 쿼리문을 썻었는데 시퀄 라이즈 orm으로 썼을 때와 성능적인 면에서 얼마나 차이가 날까 궁금해졌고 코드를 작성해봤다. 검색을 해서 찾아 봤을 때는 쿼리문이 퍼포먼스가 더 빨랐던 거로 기억을 하는데 같은 코드를 쿼리 문과 비교를 해보니 조금씩 다른 거 같다. getByRegionCamp: async ({doNm, numOfRows, pageNo}:getCamp) => { const regioncamp = `SELECT * FROM camp AS Camp WHERE doNm LIKE '%${doNm}%'LIMIT ${numOfRows} OFFSET ${pageNo};` const regi..
오늘은 클래스 벨리 데이터를 공부하고 있다. joi의 타입 스크립트 버전이라고 하는데 데코레이션을 사용해서 유효성 검사는 하는 라이브러리인 거 같았다. 처음 사용을 해보는 거고 데코레이션(@)도 처음 접해보는 거여서 진입 장벽이 조금 높은 거 같고 공식문서를 봐도 이해가 잘 되지 않았다. nestjs로 많이 사용을 하는 거 같았는데 타입 스크립트와 express로도 구현을 할 수 있을 거 같아서 계속 공부해보는 중이며 내일 적용해볼 예정이다.
MVP개발을 하는 3주 동안 어떤 기술을 다뤘는지? 1. Tyscript 더보기 자바스크립트 런타임 시 변수의 타입이 결정되기 때문에 코드를 실행시키기전까지 에러를 알 수 없다. TypeScript는 정적 타입 언어로 컴파일 단계에서 오류를 포착할 수 있는 장점이 있다. 명시적인 정적 타입 지정은 개발자의 의도를 명확하게 코드로 기술할 수 있다. 이는 코드의 가독성을 높이고 예측할 수 있게 하며 디버깅을 쉽게 한다. 2.mysql 및 시퀄라이즈 ORM 더보기 Mysql - 관계형 데이터 베이스 시퀄라이즈 -자바스크립트 구문을 알아서 sql 로 바꿔주기 때문에 sql 언어를 직접 사용하지 않아도 자바스크립트 언어만으로 mysql을 조작 가능하기 떄문에 사용했다 3.helmet 더보기 Express 사용시 ..
오늘은 MVP 발표를 했었고 기술 멘토님께서 발표 자료를 보시고 피드백을 주셨다. 1. 레이어드 아키텍쳐에서 수정사항 및 추가했으면 좋을꺼 같은 것들 -수치적인 데이터가 있었으면 좋겠다.(일반 적인 SQL쿼리를 보내는것과 ORM을 사용했을때 어떤 차이가 발생 하였는지? 두가지를 구현해보고 어떤 성능 차이가 있는지를 알아보는 것이 중요하다고 하셨다.) 2.ORM의 장점은 무엇인가? -이부분에서는 미쳐 답변을 재대로 하지 못헀던거 같다. 공부를 했었지만 예상하지 못했던 질문을 받아서 당황했던거 같다. ORM이 sql Injection 공격을 방지 할 수 있다. => SQL Injection 이란 악의적인 사용자가 보안상의 취약점을 이용하여, 임의의 SQL 문을 주입하고 실행되게 하여 데이터베이스가 비정상적인..
내일은 MVP 발표 날이다.계속 기능 구현에 바빠서 라이브러리를 선택할 때 왜 선택했는지를 생각 못했던거 같다. 왜 이 라이브러리를 선택했고 어떤 기능이 있는지를 물어 볼 수 있을꺼 같다는 생각을 하게되었고 라이브러리를 하나하나 찾아서 보는중이다. 이메일 중복 체크 기능을 추가로 구현 헀고 여러장의 이미지를 어떻게 처리를 해야할지 생각해서 코드를 수정 할 예정이다.
어제 서버가 꺼져서 다시 배포를 했었다.서버를 다시 열고 mysql을 설치를 했었고 서버를 켜보니 또 권한이 없다고 했고 빌드해서 배포 한거에 문제가 있었는거 같았는데 확인을 해보니 env파일을 읽지 못하는 거였다. 그래서 파일을 삭제하고 다시 빌드를 하니 적용이 잘 되었다. 서버를 ec2로 배포를 했는데 컴파일 해서 파일을 갈아 끼우는게 너무 비효율 적이라고 생각해서 깃 허브 액션으로 배포하는 것을 공부 하기로 했다.
오늘은 multer로 이미지 업로드 하는것을 했고 업데이트를 하니깐 서버가 과부하가 걸려서 터져버렸다. 처음 격는 일이라서 당황스러웠는데 이유는 ts-node로 서버를 돌리고있었는데 메모리가 많이 먹어서 서버가 버티질 못하는거 였다 pm2를 켜놓은 상태에서 서버가 터져서 제접속이 불가능 했고 다시 서버를 파서 진행했다. 이러한 실수를 반복하지 않기 위해서 bulid를 꼭 한 다음에 배포하기로 했다.
오늘은 multer를 사용하여 이미지 업로드와 multer-s3를 이용해서 aws-sdk와 연동해서 s3에 파일을 저장 하는것을 구현 할려고 했다. 일단 버킷을 만들고 에세스 키를 발급 받았다. 더보기 s3장점 내구도가 높고 정보를 안전하게 저장 할 수 있습니다. 저렴한 비용으로 사용이 가능합니다(ec2에 이미지, 영상등을 저장하며 비용이 만만치 않습니다.) 보안성이 뛰어납니다 ( SSL을 통하여 데이터 전송과 암호화를 하므로 해킹 걱정이 적습니다.) 속도가 빠릅니다 (각 지역에 맞게 선택하며, 업/다운로드 시 지역시간 최소화를 위한 멀티 파트 업로드를 지원합니다. 이벤트 알림 전송(S3로 파일이 업로드 되었을 때, 그 사실을 다른 서비스에게 알려서, 서비스를 트리거할 수 있다.) 고성능이다(지역을 선택..