목록스터디/코딩애플 (34)
안녕하세요
server로 render할 때 css파일 넣기 public 폴더에 css파일을 저장합니다. => css 파일을 public에 저장하는 이유는? 변하지 않는 파일(static files)은 보통 public 폴더 안에 저장하는 관습이 있다. server.js에도 middleware를 아래와 같이 추가해주어야 합니다. app.use("/public", express.static("public")); => static파일은 public폴더에 보관할게요. 부트스트랩 클래스 약간 알고 가기 container: 컨테이너처럼 좌우 마진 고정, width 화면너비에 따라 변함 mt-3: margin-top 같은거! btn btn-danger: 버튼 꾸미기! (btn과 한 세트임) text-center: text 옵션..
params를 이용하여 상세페이지 만들기 1. params가 뭐에요? /detail/13에 접속을 할 때 13 이녀석을 params라고 부른다. 정확히는 url parameters 라고 하여 url에 입력되는 query 값(여기서는 13)을 가리킨다. app.get("/detail/:id", (요청, 응답) => { => '/detail/:아무문자열' 로 접속을 하면 callback 실행해주세요 연결할 경로 뒤에 ":" 를 적게 되면 /detail/13 과 같이 아무런 숫자나 문자열을 입력하게 되더라도 /detail 페이지로 이동할 수 있게 되는데, ":" 뒤에 입력한 문자열을 변수명으로 활용할 수 있게 된다. 2. 변수명으로 활용해봐요. 요청.params.입력한변수명(여기서는 id)에 저장됩니다. ap..
jquery로 AJAX 요청하기 JQuery slim 버전은 AJAX 요청을 할 수 없으니 slim은 지워줍니다. 아래와 같이 작성해 server.js에 삭제할 데이터를 넘겨줍니다. $.ajax({ method: "DELETE", // => 서버 새로고침 없이 DELETE 요청 합니다. url: "/delete", // => /delete 경로에 있는 data: "삭제할데이터", // => "삭제할데이터"를 다룰 거에요 }).done(() => { // => 요청이 되었으면 실행해주세요 }); $.ajax({ method: "DELETE", url: "/delete", data: { _id:1 }, }).done(() => { // => 요청이 되었으면 실행해주세요 }); 받아온 데이터를 삭제합니다. a..
관계형스러운 데이터 저장 방식이란? 게시물과 댓글을 한 collection에 모아서 저장하지 않고 게시물 collection 댓글 collection을 구분하여 저장합니다. 1번 게시물과 1번 게시물에 있는 댓글들을 가져오고 싶습니다. 1번 게시물에 작성되는 댓글에는 1번 게시물이 부모라는 표시를 남겨줍니다. [{ id: 1, 제목: "1번게시물"}] [{ id: 1, 댓글내용: "1번게시물에달린댓글", 부모게시물: 1}] 1번 게시물을 가져오고, 부모게시물이 1번인 댓글들을 가져옵니다. 이렇게 분산되어 있지만 연결된 방식으로 정보들을 나누어 찾아옵니다. 게시물에 유니크한 id를 주는 방법 id를 저장할 collection를 별도로 만듭니다. counter라는 이름의 collection을 만들었습니다. ..