일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 게임
- frontend
- 스프링부트
- express
- netlify
- AWS
- oAuth
- IntelliJ
- 스프링
- 파이썬
- c#
- RiotAPI
- spring
- react
- Python
- OAuth2.0
- 깃
- 백준
- unity
- jwt
- 게임개발
- node.js
- MongoDB
- 코딩
- 프로그래밍
- JSON
- bcrypt
- 백엔드
- 유니티
- springboot
- Today
- Total
목록전체 글 (84)
Unwound Developer
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/DiuJz/btrTsm3JLuN/rG7Tgn6nOIa3ro8nTOpfF1/img.png)
저번 Arcane 프로젝트는 너무 주먹구구 식으로 개발한거 같아 이번엔 소프트웨어 공학적으로 해보려고 합니다. - WBS WBS는 work-breakdown structure의 약자로, 업무 분업 구조 또는 작업 분류 체계 정도의 뜻을 가지고 있는 말입니다. 조금 더 쉽게 말해서, 팀의 작업을 관리 가능한 부분들로 분할 후 조직화한 구조도입니다. 다음은 별글 프로젝트의 WBS 입니다. 추후에 수정 될 수도 있지만, 우선 설계단계에서 확정된 WBS에요. 크게 사용자(클라이언트) 부분과 관리자(Admin)부분으로 나누었습니다. 로그인, 프로필 관련 메뉴, 글 작성 등 가장 큼직한 부분들로 먼저 기능을 분류하고, 해당 기능들의 하위 기능(세부 기능)들로 WBS를 채워나갔습니다. - WBS 작성한 WBS를 기반..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bGe9aL/btrTa6l2HVb/yPKk4XvPdVC8nO9HuWHcGk/img.png)
스프링을 처음 연습해보면서 클라이언트와 통신부터 하게되었습니다. 처음 통신을 하면서 생긴 궁금증과 알게된 점 등을 기술하려고 합니다. 우선, 클라이언트에선 저번과 마찬가지로 Axios를 통해서 Get 요청을 보냅니다. /api 라는 api를 통해 서버에게 Get 요청을 보냈습니다. 서버에서도 /api라는 get요청을 수신하도록 했어요. 벌써 궁금한점도 많고 할 말도 많은데, 우선 서버 구조에 대해서 얘기해 보겠습니다. 메인함수가 있고, 컨트롤러가 있는 점을 미루어보아 Node.js에서 서버를 구축할 때와 흡사한 부분이 있어보여요. 아마도 이번 스프링에서 사용해야할 패턴을 MVC패턴이라고 합니다. MDN 공식문서에 따르면, MVC는 Model, View, Controller로 이루어진 소프트웨어 디자인 패..
Node.js와 Riot Api를 사용해 League of Legends 온라인 게임의 전적 검색 사이트를 만들어봤었습니다. 프로젝트를 같이 진행하는 친구와 함께 다음 프로젝트 주제를 물색하던 중 현업에서 Node.js보다 자바 스프링을 훨씬 많이 쓰는 것 같아, 이번에는 스프링을 사용하는 프로젝트를 진행해보자고 결론이 났습니다. 그리고나서 프로젝트 주제로는 시,수필 등의 자작 글 공유 SNS로 정했습니다. 이유는.. 그냥 브레인스토밍을 하다보니 저렇게 결과가 나왔습니다. 프로젝트 이름인 별글은 순우리말로, '별처럼 아름답고 빛나는 글'이라는 뜻을 가지고 있습니다. 이외에도 '별의 별 글', '별별 글' 이라는 부수적인 의미도 포함하여 정했습니다. 흔히 작문이라..
지난번엔 Node.js를 이용한 프로젝트를 진행했으나, 보다 다양한 개발환경을 다뤄보고싶고 실제로 현업에서 많이쓰이는 것 같아 보이는 스프링을 다음 프로젝트로 선택하게 되었습니다. 그리고 지난번에 nosql 데이터베이스의 한계를 느끼고, 한번 경험해봤기 떄문에 이번에는 mysql을 통한 rdbm 데이터베이스를 사용해보기로 했습니다. Node.js는 거의다 VSC로 개발하기 때문에, 개발도구에 대한 고민은 없었는데, 스프링 개발에 관해서 검색해보니 다양한 개발도구를 사용하시더라구요. 제가 고민되는건 IntelliJ와 Eclipse인데요, Eclipse는 학교에서 수업할때 사용해봐서 비교적 익숙하긴합니다. 근데, IntelliJ는 안드로이드 스튜디오처럼 생겨서(안드로이드 스튜디오가 인텔리제이의 무료버전 기반..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/DKjEP/btrRmvIEU0I/N62XG0AsCjCbymjwKsWtBk/img.png)
회원가입과 로그인을 구현할 때 사용했던 Bcrypt와 JsonWebToken(이하 jwt)를 살펴보겠습니다. 우선, 보안상의 이유로 사용자의 비밀번호를 그대로 데이터베이스에 저장하는 것은 좋지않습니다. Bcrypt 라이브러리를 통해 비밀번호를 암호화할 수 있습니다. Bcrypt에 대한 정의는 다음과 같습니다. bcypt는 블로피시 암호에 기반을 둔 암호화 해시 함수로서 Niels Provos와 David Mazières가 설계하였으며 1999년 USENIX에서 발표되었다. 해시 함수에 대해 먼저 알아봐야겠습니다. 해시함수는 임의의 길이를 갖는 데이터에 대해 고정된 길이의 데이터로 매핑하는 함수를 말합니다. 어떠한 데이터를 집어넣든지 같은 길이의 결과를 내놓는다는 뜻입니다. 해시함수에서 사용되는 용어는 키..