본문 바로가기

기술들

(36)
코드스테이츠 Final, 4주 프로젝트를 마치며 😭.. [ Intro ] First 프로젝트를 마치고 하루 쉬고 Final프로젝트에 들어갈 때, 와.. 이거 어떻게 하지..ㅋㅋㅋ라는 생각이 엊그제 같은데..라는 뻔한 소리가 나올 만큼 시간이 정말 훅 갔다. 빠르다 빨라.. 이번 역시 그동안의 과정에서 있었던 일에 대해 느꼈던 점들을 나열해보려고 한다. 지금 당장은 쉬고 싶은 마음이 크지만, 회고를 마무리해야 조금 편하게 쉴 수 있을 것 같다. (조금만 쉬자..!) 🥱 [ SR ] 아이디어 선정시간에 정말 다양한 의견들이 오고 갔다. 가장 기억에 남는 아이디어는 팀원분이 말해주신 것이었는데, 축구스타 손흥민이 토트넘에서 골을 기록한 위치나 자세들을 축구장에 기록해놓고 유저가 클릭하면 그때의 행동 데이터(축구공을 찬 속도, 발 각도 등)들을 볼 수 있게 해서 손..
코드스테이츠 First 프로젝트를 마치며.. [ Intro ] 벌써... 첫 번째 프로젝트 발표가 끝이 났다. 내 인생에 있어 이렇게 다양한 감정이 오갔던 적도 정말 오랜만인것 같다. 🤗 올챙이 개발자로서 첫 번째 프로젝트를 경험했던 것과 느꼈던 점을 정리해보려고 한다. 항상 글을 쓰기에 앞서 기대되는 점이 미래의 내가 이 글을 보고 무슨 생각을 할 것인지가 너무 기대된다.. ㅂㅌ?? 농담이고 이렇게 느꼈던 것을 정리하는 것이 곧 마주하는 Final프로젝트에 분명 여러모로 도움이 될 수 있는 나만의 자산이 되길 바라며.. 👊🏻👊🏻 [ SR ] 이번 프로젝트에서 팀원으로써 Back-end포지션을 맡았다. 나는 줄곧 백엔드 부분을 계속 경험해보고 싶었는데, 팀원들과 처음 만나고 포지션을 정하는 자리에서 '백엔드를 하고 싶다는 사람이 많으면 어떡하지?'..
MVC 패턴 프로젝트 하루 전, 조금 쉴까도 생각해봤지만 그래도 조금이라도 더 공부하는 것이 프로젝트할 때 도움이 될 것 같아서, 서버 개발할 때 많이 사용하는 MVC 패턴에 대해 정리할까 한다. MVC패턴이란? Model-View-Controller로 가독성면이나 유지보수면에서 수월하도록 기능을 나눈 디자인 패턴을 의미한다. 한 파일안에 모든 기능을 쓰면, 잘 정리했다고 하더라도 가독성이 좋지 않고, 유지보수하기가 쉽지 않다. 한 파일에 유저의 요청을 받고 그 요청을 DB와 상호작용해서 응답까지 하는 코드가 모두 들어가 있다면, 그 코드를 직접 작성한 당사자야 알아볼 수 있겠지만 제 3자가 보는 경우 바로 GG를 치지 않을까.. 난 그럴것이다. MVC 패턴을 사용함으로써 하나의 코드베이스에서 모든 기능을 구현하는 ..
Session 저번엔 브라우저에 데이터가 저장되는 Cookie에 대한 개념을 위주로 정리했다면, 이번에는 Session에 관해서, 특히 Session기반 인증에 관해서 정리해보려고 한다. Session이란? 스택오버플로우에 나온 정의.. "Session" is the term used to refer to a user's time browsing a web site. It's meant to represent the time between their first arrival at a page in the site until the time they stop using the site. Session이란 용어는 유저가 웹사이트를 방문했을 때, 언급되는 용어이다. 유저가 웹사이트에 처음 방문해서 서비스 이용 후, 웹사이트..
Cookie 사이트 유저 인증 수단의 도구로 사용하는 cookie에 대한 개념을 정리하려고 한다. 쿠키에 대한 여러 자료를 봐도 명확히 "이거다!"라고 설명할 수 없어서, 글로 정리하면 명확하게 들어오지 않을까 싶어 정리하려고한다. 공식문서인 MDN의 문서를 참고해서 정리한다. 쿠키란? 웹 기술에서 사용하는 쿠키는, 주로 HTTP Cookie를 일컫는 말이다. 쿠키란 서버가 유저의 브라우저에 전송하는 작은 데이터 조각을 의미한다. 이 작은 데이터 조각은 서버에서 브라우저로 전송되면 브라우저에 저장 된다. 그리고 브라우저는 쿠기를 제공한 서버로 매번 여러 요청들을 보낼때마다, 이 쿠키를 같이 전송한다.이 쿠키를 매 요청마다 서버로 같이 전송하는 이유는, 요청들이 같은 브라우저에서 왔는지 판별하기 위해서다. 웹 사이트는..
Database(feat. Inner join, Outer join 차이점 정리) 이번주 코드스테이츠에서 진행했던 Database 스프린트를 마무리 할 겸, 가장 헷갈렸던 개념들을 정리하려고 한다. 내가 헷갈렸던 부분은 조회(select)쿼리 중 Join을 해서 데이터를 조회하는 방식에서였다. 그냥 join을 쓰면 관련되어 있는 두 테이블의 교집합인 데이터를 가져오는 것은 이해를 했는데, Outer join, left outer join, right outer join등 Outer와 관련된 join에서 기존 그냥 썼던 join과 어떤 차이가 있는지 구분하기 힘들었다. 여러 자료를 찾아보고, 나만의 테스트를 진행해본뒤 내가 이해한데로 정리를 해보려고 한다. 위 테이블로, 각각의 join을 정리하겠다. Inner join Inner join은 두 테이블의 교집합이 되는 데이터를 조회할 때..
Database개념 (feat. Mysql) 이번엔 코드스테이츠에서 Database를 배웠다. Database라는 말은 개발쪽을 공부하기 전에도 많이 들어봤던 말이었는데, 꽤나 그 실체가 궁금했다. 그 동안 개발을 쭉 배워오면서 내가 가장 궁금했던 분야이고, 다뤄보고 싶었던 서버였다. 배웠던 소감은.. 재밌다. 특히 쿼리 같은 경우, CLI명령어처럼 원하는 명령을 알맞게 작성해서 보내면 내가 원하는 데이터를 뽑아낼 수 있다는게 짜릿했다. 잊어먹지 않기 위해, 나만의 언어로 한 번 정리하려고 한다. 왜 데이터베이스를 사용할까? 그 이유는 서버를 껐다 켜도, 저장해 놓았던 데이터를 계속 갖고 있기 위함이다. 데이터베이스가 없다면, 변수(array, object 등)를 선언해서, 변수에 데이터를 할당하는 방식으로 저장을 할 것인데, 이 방식을 In-me..
Node.js architecture 정리 Node.js를 공부하고 사용해보면서 이 스택이 어떤 구조를 이루고 동작하는지 궁금했다. 그것에 대해 내가 이해한데로 간략히 정리해보려고 한다. 대부분의 유명한 서버용 프로그래밍 언어들이 Multi-thread 방식을 지원하는 것과는 달리 Node.js는 한 번에 단 하나의 작업만을 처리하는 Single-thread를 지원한다. 멀티쓰레드를 사용하면 빠르게 여러 요청들을 동시에 처리할 수 있지만, 요청 하나마다 서버자원을 이용해서 쓰레드를 생성시키기 때문에 서버에 부하가 많이 걸린다. 서버의 자원은 한정되어 있기 때문에, 만약 서버의 자원 이상의 요청이 들어온다면, 쓰레드를 생성시키지 못하기 때문에 요청 처리를 하지 못할 것이다. 물론 대안은 있겠지..! 뭐 ELB를 써서 분산시킨다던가 하는 말이 있는데..