개발 61

AWS S3 Client side에서 이미지 업로드하기

진행중인 프로젝트에서 이미지 저장용으로 S3를 사용해보려고 한다. S3 뜻은 별거없다 Simple Storage Service. S가 3개라... S3.... 이미지 업로드에서 중점적으로 고민하고 있는 부분 중 하나는 서버에 I/O작업을 줄이고 최대한 부하를 덜어내는 방향을 우선적으로 채택하는 것이다. 현재 상황에서는 소켓통신과 실시간 위치계산 등으로 앞으로도 더 많은 resource가 서버에서 필요할 것 으로 예상되고 데이터 전송의 Cost도 만만치 않다. 그래서 이미지 관련해서는 Client browser에서 직접 S3로 업로드 하고 url 만 RDB에 저장하는 방식을 사용해보기로 했다. express 에서 multer를 사용하여 Client쪽에서 서버로 이미지를 먼저 보내고, 서버에서 S3로 업로드..

프로젝트 2021.11.17

로그인 기능 적용과 몇 일간의 뻘짓 (feat . CORS (Cross-Origin Resource Sharing) )

세션 로그인 구현후 프로젝트에 적용 과정에서 디버그를 잘 하지 못해서 많은 시간을 허비(?) 했다. 화가나서 스스로 욕을 좀 많이했는데, 문제가 해결된 지금상황에서 돌이켜 보면 헷갈릴만 했고 몇 가지 WEB의 정책적인 부분에 대한 이해가 필요했던 것 같다. 팀원 중 팀장형의 도움이 없었으면 더 오랜시간 헤맷을 것 같다. 디버그 방식은 다양하게 있겠지만 이번에 새롭게 배운점은 구현이 잘된 코드를 찾아본 후 내 코드와 대조하는 방식으로 디버그 하는 것도 효과적이라는 것을 깨달았다. 이번에 문제가 되었던 것들, 새롭게 알게된 부분과 참고한 자료들을 포스팅하였다. 현상 1. node js express 서버(5000)와 간이형식(index.html)을 사용하여 간단히 로그인 기능을 단독으로 구현했을때는 전혀 이..

프로젝트 2021.11.15

AWS S3

아마존에서 서비스하는 스토리지 이번에 진행하는 프로젝트에서 웹서비스에서 S3를 사용하게 될 것 같다. 빠르게 익히고 응용한 후 나중에 정리하도록 하자. https://merrily-code.tistory.com/143 AWS S3를 활용해 이미지 서버 구축하기 - 클라이언트 편 🚨 주의! 본 포스팅은 리액트 웹 어플리케이션을 기반으로 합니다. 지난 글에 이어 유저 페이지에서 프로필 사진을 지정할 수 있도록 하고, 이미지를 업로드하면 곧장 S3에 올라갈 수 있도록 합 merrily-code.tistory.com https://docs.aws.amazon.com/ko_kr/sdk-for-javascript/v2/developer-guide/s3-example-static-web-host.html Amazon..

카테고리 없음 2021.11.12

DB 최적화 읽을거리

https://jsonobject.tistory.com/408 MySQL/MariaDB, 슬로우 쿼리 원인 분석 및 성능 튜닝하기 슬로우 쿼리 원인 분석 및 해결 데이터베이스의 슬로우 쿼리를 유발하는 요소는 많다. 형사가 단서를 잡아 하나씩 수사망을 좁혀가듯이 원인을 분석해가야 한다. 가장 먼저 선행되어야할, 그리 jsonobject.tistory.com https://soojle.gitbook.io/project/requirements/undefined-2/undefined-2-1/mysql-vs-mongodb MySQL vs MongoDB 성능 분석 - SOOJLE MySQL이 압도적인 성능을 나타내는 것으로 보이나, MySQL은 최대 인덱스 길이를 700자 정도로 제한하였기 때문에, 전문에 인덱스를..

프로젝트 2021.11.11

서버 API 작성시 알아야 할 내용 (request, DB, SQL)

배우는 건 많고 정리할시간은 부족하고 흐아 지식이 그만 휘발되었으면 ㅠㅠ https://dar0m.tistory.com/222 [Web] param vs query vs body 개념 Request 객체는 API를 컨트롤하기 위한 메소드로 아래 세가지를 담고 있다. param query body req.param 주소에 포함된 변수를 담는다. 예를 들어 https://naver.com/post/12345 라는 주소가 있다면 12345.. dar0m.tistory.com Node_js MySQL protocol https://github.com/mysqljs/mysql#multiple-statement-queries GitHub - mysqljs/mysql: A pure node.js JavaScript ..

프로젝트 2021.11.11

[스크랩] 쿠키

HTTP 프로토콜에 포함되어 있는 기술 http cookie https://developer.mozilla.org/ko/docs/Web/HTTP/Cookies HTTP 쿠키 - HTTP | MDN HTTP 쿠키(웹 쿠키, 브라우저 쿠키)는 서버가 사용자의 웹 브라우저에 전송하는 작은 데이터 조각입니다. 브라우저는 그 데이터 조각들을 저장해 놓았다가, 동일한 서버에 재 요청 시 저장된 데 developer.mozilla.org mozilla 홈페이지에 내용이 잘 설명되어 있다. 주로 아래 3가지 용도로 사용됨. 세션 관리(Session management)서버에 저장해야 할 로그인, 장바구니, 게임 스코어 등의 정보 관리 개인화(Personalization)사용자 선호, 테마 등의 세팅 트래킹(Tracki..

node_js express

node_js 를 활용해서 간단한 웹서버를 짜는 예제를 공부하고 express 프레임워크를 사용해 보았다. 한동안 C언어를 많이사용해서 그런가 nodejs로 짜는 웹서버는 정말 간단해 보였다. 그런데 express 프레임워크까지 사용해보니 정말 편한 것 같다. Express 만세.. Without Express // node_js without express // express 프레임 워크 없이 서버를 짠다면 request에 따라 조건문을 사용해서 분기해서 응답해야한다. // express를 사용하면 라우팅을 활용해서 훨씬편하게 코딩 가능하다. var http = require('http'); var fs = require('fs'); var app = http.createServer(function(r..

프로젝트 2021.11.07

Synchronous / asynchronous / call back

웹에서 동기적은 순차적으로 작업 수행 비동기는 특정 작업이 수행요청을하고 대기하는동안 다른작업 수행하는 것 var fs = require('fs'); /* //readFileSync console.log('A'); var result = fs.readFileSync('syntax/sample.txt', 'utf8'); console.log(result); console.log('C'); */ console.log('A'); fs.readFile('syntax/sample.txt', 'utf8', function(err, result){ console.log(result); }); console.log('C'); 싱글스레드에서 비동기? 가능한가 ? 뭔 소리지 https://hudi.blog/async-ja..

프로젝트 2021.11.05