1. 다음 보기 중 설명으로 옳은 것은?

    1. Node.js는 edge V8 자바스크립트 엔진으로 빌드된 자바스크립트 런타임입니다.

    2. Non-blocking은 여러 작업을 동시에 처리하는 방식으로 Node.js만이 갖고 있는 특징이다.

    3. Node.js는 싱글스레드 방식으로 기본적으로 한 번에 한 가지 일만 처리한다.

    4. node.js 서버로 구현한 sns, 채팅 서비스에 특화된 언어로 수학적 연산을 요구하는 것이 특징이다.

  2. 메시지가 출력되는 순서는?


function first() {
second();
console.log('첫 번째');
}
function second() {
third();
console.log('두 번째');
}
function third() {
console.log('세 번째');
}
first();
  1. REST API에 대한 설명으로 옳지 않는 것은

    1. Roy Fieldin이 REST(Representational State Transfer) 아키텍처 스타일을 처음 정의하고 이를 논문으로 발표했다. REST 원칙 6개가 있다.

    2. 클라이언트-서버 아키텍처 (Client-Server Architecture) 유기적으로 동작해야 된다.

    3. 스테이트리스 (Stateless) 각 요청은 자체적으로 완전해야 하며, 서버는 이전 요청에 대한 정보를 저장하지 않습니다.

    4. 캐시 가능 (Cacheable) 응답은 캐시 가능해야 하며, 적절한 캐시 제어 메커니즘을 포함해야 합니다. 이를 통해 클라이언트는 응답을 캐시하고 재사용할 수 있어 성능이 향상됩니다.

    5. 통합된 인터페이스 (Uniform Interface) 하나의 자료는 하나의 url로 구성, url만 알아도 이해할 수 있게 해야 한다.

  2. 각 코드가 올바르지 않는 이유는?

4-1)
app.get('/list', function(요청, 응답){
db.collection('post').find().toArray(function(에러, 결과){
console.log(결과);
});
응답.render('list.ejs', {posts : 결과 });
})
4-2) ejs 문법

<%= for (var i= 0; i< posts.length; i++){ %>
<h4>할 일 제목 : <%= posts[i].title %> </h4>
<p>할 일 마감날짜 : <%= posts[i].date %></p>
<%= } %>
4-3)
app.post('/add', function(요청, 응답){
db.collection('post').insertOne({title : 요청.body.title, date : 요청.body.date, _id : 1011}, function(에러, 결과){
console.log('저장완료');
});
console.log(요청.body.title);
console.log(요청.body.date);
});