http(3)
-
axios 400 POST error : Mongoose를 다룰 때 new 키워드를 조심하자
사용자로부터 입력받은 Form 데이터를 mongoose로 연동한 MongoDB에 저장하려고 할때, axios가 POST 400 에러를 토해냈다. 한참 모니터와 눈싸움하며 고민한 결과 나도 모르게 new 키워드를 집어넣었던 것이다. mongoose에서 new 키워드를 사용하는 경우는 스키마를 생성할 때이다. 조심하도록 하자! export const saveStudent = async (req, res) => { const { params: { id }, body: { name }, user, } = req; try { const major = await Major.findById(id); // 밑에 await new Student.create()로 써서 안됐던 것! const newStudent = awa..
2020.07.17 -
[HTTP 403] 크롤링 접근권한거부 뿌시기
BeautifulSoup을 이용해 크롤링을 할 때, HTTP 403 오류가 뜬다면 아래와 같은 코드를 삽입하면 된다. url = "www.example.com" requests.get(url, headers={ "User-Agent": "Mozilla/5.0" })
2020.05.31 -
[http] Callback
콜백함수란 어떤 함수 자체가 하나의 값으로서 상위 함수의 인자가 되는 것이다. 여기서 상위 함수를 고차함수라고 하며, 고차함수가 먼저 실행된 뒤에 그 안에 있는 콜백함수가 실행된다. http 통신에서 콜백함수가 많이 쓰이는 이유는, 통신분야 특성상 여러 대의 컴퓨터가 정보를 서로 주고받는 과정에서는 시간이 소요되고 에러의 위험이 있기 때문에, 짜여진 코드처럼 순서대로 착착 맞아떨어질 수가 없다. 만약 그냥 초보적인 수준으로 function(){}만을 사용한다면 통신을 담당하는 코드가 서버에서 자료를 온전히 불러오기도 전에 다음 코드로 진행하기 때문에 나의 웹서비스는 에러만을 출력할 것이다. 하지만 콜백을 사용하면 일반적으로 화면을 렌더링하는 등 즉각 필요한 코드들은 Stack에서 모두 실행시키고 빼버린 ..
2020.05.18