전체 글 20

[쇼핑몰 구현 프로젝트] End. 회고/후기

그동안 강의를 보면서 공부하다가 이번에 처음으로 모르는 게 있으면 검색해보고 오류가 뜨면 고쳐보고 하면서 스스로 풀스택 웹을 만들어 보니까 그동안 강의로 배운 것이 내 것으로 만들어지는 느낌을 받았다.비록 웹사이트가 굴러가기만 하게 간단한 기능들만 만들어 본거지만 강의를 들으며 공부할 때 느낀 아리까리한 기분들을 해결할 수 있었다.역시 코드는 직접 짜봐야 제맛이다. 프로젝트를 진행하면서 느낀점1. 보안문제보안 관련 코드를 작성하면서 어떤 걸 어떻게 막아야 할지 감이 잘 잡히지 않았다.특히 Frontend와 Backend가 연동되어 있어 중복으로 막는 작업을 하기가 쉽지가 않았다.이 문제는 앞으로 공부하면서 유저들의 변칙적인 사용으로 인한 보안문제 사례들을 많이 접해보고 보안 관련 코드를 짜는 경험들을 쌓..

CS 맛보기 시작

전역이 얼마 안 남고 쇼핑몰 구현 프로젝트도 끝나가는 시점에서 남은 3개월 정도 간단하게 공부할 수 있을 게 뭐가 있을까 생각하다가 Computer Science 이론 공부를 맛보기라도 해보기로 했다. 진로에 대해서 계속 고민 중인데 컴퓨터공학 진로라는 공통으로 쓰이는 CS지식을 남은 기간동안 공부해 보면 좋을 것 같았다. 혼자 공부하는 시리즈가 난이도가 높지 않아 기초적인 공부를 하기 좋아 보여서 아래 두 책을 구매하여 공부를 진행할 것이다.

CS 2024.06.23

[쇼핑몰 구현 프로젝트] 09. 사용자 관련 기능

① Frontend- 유저정보 수정 시 기존 데이터를 useEffect로 넣기 useEffect(() => { setFormData({ name: userData?.name || "", address: userData?.address || "", phonenumber: userData?.phonenumber || "", }); }, [userData]); - Data를 불러올 때 useEffect안에 함수를 작성하여 불러오기 useEffect(() => { const fetchUser = async () => { try { const responseData = await sendRequest( `${process.env..

[쇼핑몰 구현 프로젝트] 05. 회원가입/로그인

① Frontend- Context를 이용하여 App.js에서 모든 Route에 로그인 관련 정보를 제공하고 LocalStorage에 저장export const AuthContext = createContext({ isLoggedIn: false, isAdmin: false, switchAdmin: () => {}, login: () => {}, logout: () => {}}); const getLoginData = () => { const data = JSON.parse(localStorage.getItem("login")); if(!data) return false; return data; }; const getAdminData = () => { const d..

[쇼핑몰 구현 프로젝트] 04. Backend, Database 틀잡기

Controller의 자세한 내용들은 이후 게시물들에 있다. ① DB modelconst userSchema = new Schema({ name: { type: String, required: true }, email: { type: String, required: true, unique: true }, password: { type: String, required: true, minlength: 6 }, address: { type: String, required: true }, phonenumber: { type: String, required: true }, admin: { type: Boolean, required: true }, cart: [ { type: mongoose.Ty..