일기 140

[에러일기] 6회차 - 에러일기 아닌 코딩 상식숙제

1) map()이란 무엇인가 모든 배열의 아이템에 function을 실행하는 메서드다. 그리고 함수의 결과 값으로 새로운 배열을 만든다. const days = ["Mon", "Tue", "Wed", "Thurs", "Fri"]; //함수 자체를 변수에 할당하여 쓰거나 const addNumber = (day, index) => `#${index+1} 😍${day}`; const smilingDays = days.map(addNumber); // 또는 함수를 직접 넣어 사용 // const smilingDays = days.map((day, index) => `#${index+1} 😍${day}`); console.log(smilingDays) 2) 콜백함수란 무엇인가 정의 : 함수에 파라미터로 들어가는..

일기/에러일기 2023.02.16

[에러일기] 4회차 - POST request data 받을때 undefined

post로 아이디, 비밀번호의 데이터 값을 반환했을때, undefined가 반환된다. 이럴때 사용하는 패키지가 body-parser "클라이언트 POST request data의 body로부터 파라미터를 편리하게 추출합니다." 설치를 한 후, app.use(bodyParser.json()); //json형태로 변경 app.use(bodyParser.urlencoded({ extended: true })); //한글,공백등 잘못나오는걸 방지 설치하고 미들웨어 등록하니 결과값이 잘 출력되었다.

일기/에러일기 2023.02.15

[에러일기] 2회차 - views 폴더 고정시 에러발생

app.set("views", "views"); 또는 app.set("views", "./views"); app.set("view engine", "ejs"); 이런식으로 사용한후 서버를 가동하였으나 Error: Failed to lookup view "login.ejs" in views directory "views" Error: Failed to lookup view "login.ejs" in views directory "./views" 이런식으로 에러문구가 떴다. 어? 근데 문구가 계속 변경되네? 강의 또는 다른곳에서 계속 "views", "views"와 같이 사용하니 관례처럼 느껴졌는데 "views"를 고정해주는 역활을 하는 것이기에 뒤에 명확하게 폴더루트를 찾아야 했다. 루트 찾는건 requi..

일기/에러일기 2023.02.15

[에러일기] 1회차 - 라우터 분리시 에러발생

app.js const express = require("express"); const app = express(); app.set("views", "views"); app.set("view engine", "ejs"); const mainRoutes = require("./src/routes/main"); app.get("/", mainRoutes); app.get("/login", mainRoutes); app.listen(8000, (req, res) => { console.log("8000번 서버가동"); }); /routes/main.js const express = require("express"); const router = express.Router(); router.get("/", (re..

일기/에러일기 2023.02.15

TIL: Today I Learned 63일차 [ 가장 큰 수 찾기 ]

1. 문제 프로그래머스 알고리즘 문제풀이 - 자바스크립트 [ 가장 큰 수 찾기 ] 2. 시도해본 것들 정말 오랜만에 보자마자 풀이법이 떠오른건 처음이었다. 가장 큰수 = Math.max() 인덱스값 = indexOf() 4. 알게 된 점 나의 코드 function solution(array) { const idx = array.indexOf(Math.max(...array)) const maxValue = Math.max(...array) return [maxValue, idx]; } 1분만에 풀 수 있었다! 맨날 머리싸메다 상큼하게 푸니 기분좋았다. 보통 Math.max(1,2,3) 이런식이겠지만 배열이 들어간다면 스프레트 연산자를 이용하여 Math.max(...array)로 넣어줘야 한다. 남의 코드..

일기/TIL 2023.02.15

TIL: Today I Learned 62일차 [ 인덱스 바꾸기 ]

1. 문제 프로그래머스 알고리즘 문제풀이 - 자바스크립트 [ 인덱스 바꾸기 ] 2. 시도해본 것들 서로 순서만 바꾼다? 흠 우선 첫번째 let str = [...my_string] //문자열=>배열화 두번째, 서로 맞교환이 어려우니까 한개를 저장해둔다 => let cart = str[num1]; 세번째, 마저 교환하고 str.join('')으로 배열=>문자열(압축) 4. 알게 된 점 나의 코드 function solution(my_string, num1, num2) { let str = [...my_string]; let cart = str[num1]; str[num1] = str[num2]; str[num2] = cart return str.join(''); } 지금까지 배운 것들을 다시 복습한 느낌이..

일기/TIL 2023.02.14

TIL: Today I Learned 61일차 [ 배열 회전시키기 ]

1. 문제 프로그래머스 알고리즘 문제풀이 - 자바스크립트 [ 배열 회전시키기 ] 2. 시도해본 것들 뭐지 엄청 어려울것 같다라고 생각했다가 배열 공부했을때 맨앞 맨뒤에서 자유롭게 빼고 더할 수 있던것이 생각났다. 구글에 shift pop 을 검색하니 원하는 글이 나왔다. push() = 배열 끝 추가 pop() = 배열 끝 제거 unshift() = 배열 첫 추가 shift() = 배열 첫 제거 3. 해결과정 입력은 right와 left만 받으니 if문이면 충분하고, 경우의 수는 2가지니 어떤 로직으로 결과값이 출력되는지 확인했다. right는 맨끝에 있던애가 맨앞으로 오네? left는 맨앞에 있던애가 맨뒤로 가네? 4. 알게 된 점 나의 코드 function solution(numbers, direct..

일기/TIL 2023.02.13

TIL: Today I Learned 60일차 [ 주사위의 개수 ]

1. 문제 프로그래머스 알고리즘 문제풀이 - 자바스크립트 [ 주사위의 개수 ] 2. 시도해본 것들 처음에 문제를 읽고 이해하는데 조금 시간이 걸렸다. 입체도형이라니 너무 어려워보여서 포기하고 넘어갈까? 그래도 한번 시도라도 해봐야지! 하고 머리를 굴려보았다. box [ 10, 8 , 6 ] , n=3정육면체 , 12개 해당 박스에 12개가 들어가는 과정을 머리속으로 생각했다. 3. 해결과정 가로10 세로8 높이6 일때 3정육면체는 가로10에서 3개 들어가고 세로8에서 2개 들어가고 높이6에서 2개 들어가네? 3*2*2=12 모두 n정육면체로 나눴을때 몫의 값! 몫을 구하는 함수는 parseInt()이므로 이것만 있으면 답을 구할 수 있다! 4. 알게 된 점 나의 코드 function solution(bo..

일기/TIL 2023.02.10