nodejs(25)
-
[백준]백준에서 node.js 입출력 방법 정리(백준/자바스크립트/코딩테스트/알고리즘)
안녕하세요. 이번 시간에는 백준에서 node.js 입출력 방법에 대해 알아보겠습니다. 자바스크립트로 코딩테스트를 준비할 경우, 백준에서는 node.js를 선택하여야 합니다. 그런데 node.js가 좀 번거롭습니다. 프로그래머스에서는 입출력은 상관 없이 함수 하나만 작성하면 되었는데 백준에서는 입력과 출력을 직접 해주어야 합니다. 그럼에도 불구하고 프로그래머스보다 백준이 문제가 훨씬 많으므로 node.js 입출력 방법을 정리해보도록 하겠습니다. 백준에서 node.js 입출력 방법으로 사용하는 방법은 크게 두 가지가 있습니다. 아직 어떤 차이가 있는지는 잘 모르나, fs 모듈의 경우 코드가 간단하고 다른 블로거 분들의 말을 보니 readline으로 시간초과가 나올 때 사용한다고 합니다. 저는 vscode에서..
2021.03.29 -
[유튜브 클론코딩] 2.25 More Controllers
2.25 More Controllers 비디오를 클릭하면 비디오 상세 페이지로 이동하도록 하기 누군가가 비디오를 클릭하면 비디오 상세 페이지로 보이도록 하고 싶다. mixin을 수정한다. mixin videoBlock(video = {}) .videoBlock a(href=routes.videoDetail(video.id)) video.videoBlock__thumbnail(src=video.videoFile, controls=true, autoplay=true) h4.videoBlock__title=video.title h6.videoBlock__views=video.views ↑ videoBlock.pug 이제 videoBlock을 사용하는 곳에서 인자를 입력할 때 id: video.id를 추가로 보..
2021.02.24 -
[유튜브 클론코딩] 2.24 Log In and User Profile Controller
2.24 Log In and User Profile Controller Login 화면 만들기 Login도 비슷한 작업을 해야하므로 이전의 login은 getLogin으로 이름을 바꾸고 postLogin 함수를 만든다. login에는 할 일이 많지는 않다. 로그인을 하면 그냥 로그인 버튼만 클릭하는 것이다. 만약 로그인에 성공했다면 routes.home으로 redirect하면 돼. join의 흐름과 같지. export const getLogin = (req,res) => res.render("login", {pageTitle: "Login"}); export const postLogin = (req,res) => { res.redirect(routes.home); } ↑ userController.js ..
2021.02.24 -
[유튜브 클론코딩] 2.23 Join Controller
2.23 Join Controller search화면 작업하기(home화면과 유사함) 이제 다음으로 search 화면을 작업할 것이다. search도 home 화면과 거의 비슷하다. 일단은 비디오 검색 기능을 구현하지는 않겠다.(데이터베이스를 아직 안했기 때문에) videoController.js에서 search에 videos(데이터베이스)를 전달해준다. search.pug도 똑같이 작업해준다.(mixin을 include해서) export const search = (req, res) => { const {query: { term: searchingBy }} = req; res.render("search", {pageTitle: "Search", searchingBy, videos}); }; ↑ vide..
2021.02.24 -
[유튜브 클론코딩] 2.21 Home Controller
2.21 Home Controller **userRouter랑 videoRouter에서 각각 users부분이랑 videos부분 지우고 userController랑 videoController에서도 users랑 videos 지운다. 당연히 users.pug랑 videos.pug도 지운다. (필요없어져서 지우는 거임) db.js 만들기(진짜 데이터베이스 전에 임시로 만드는 파일) 이제 form 화면은 다 만들었고, 데이터베이스를 연동하기 전에 가짜로 전체 어플리케이션의 흐름을 만들어보겠다. 우선 home 화면을 보자. 여기에서 video 목록을 보여줘야 한다. 이것을 위해 (가짜 정보를 위한) db.js 파일을 하나 만든다. videos는 video의 배열이다. export const videos = [ {..
2021.02.23 -
[유튜브 클론코딩] 2.19 Join : Log In HTML
2.19 Join : Log In HTML 이번 파트에서는 Join.pug , Login.pug, partials/socialLogin.pug를 만들 것이다. 시작하기 전에 계획을 세워보자. README.md 수정함 home 화면에 .videos를 추가하고, 그 안에 h1 태그에 Video 텍스트로 추가한다. extends layouts/main block content .videos h1 Video ↑ home.pug video 부분은 mongoDB(데이터베이스) 부분 들어가기 전까지는 그냥 테스트 느낌으로 가짜로 두기만 한다. Join.pug 작성하기 extends layouts/main block content .form-container form(action=routes.join, method="..
2021.02.22