Sails Framework_node.js 학습 가이드
지난주에 CMS 시스템을 구축하면서 세일즈 프레임워크를 접하고 몇 가지 ORM 개념을 배웠습니다. 이번 주에 저는 백그라운드 데이터 상호 작용을 탐구하기 시작했고 Twenty 프레임워크의 데이터 구조가 돛(예: 노드 및 카테고리)에 맞게 설계되었음을 발견했습니다. 선배가 정말 대단하다고 말하고 싶습니다. 그러나 복잡성도 증가했습니다. DTree 프로젝트에서 나의 임무는 돛을 사용하여 비즈니스 프로세스 및 데이터베이스와 상호 작용하는 것입니다. 이번 주의 나머지 시간은 모두 돛을 사용하는 것입니다.
돛 소개
Sails는 Ruby on Rails와 마찬가지로 웹 개발을 더 쉽게 만들기 위해 설계된 프레임워크입니다. 이 기간 동안 내가 아는 한, Express&Socket.io의 일부 API를 완전히 상속하고 통합 데이터베이스 상호 작용을 위해 워터라인(ORM)을 사용하므로 코드와 백본을 직접 수정하지 않고도 다양한 데이터베이스 환경에서 CRUD 작업을 완료할 수 있습니다. 프레임워크는 프런트엔드와 백엔드 데이터를 동기화하고 보안 검증 및 상호 작용을 위해 정책 미들웨어를 사용합니다. 자체 청사진은 프런트엔드와 백엔드에서 한 줄도 코딩하지 않고도 RESTfull API를 통해 데이터와 상호 작용할 수 있습니다.
Socket.io 및 익스프레스
프론트엔드 시간에 이 두 가지를 배웠습니다. 하나는 websock 통신이고, 다른 하나는 HTTP 요청을 처리하는 것입니다. Sails는 이를 재설계하지 않고 이 두 도구를 직접 사용하여 이러한 기능을 처리함으로써 학습 비용을 크게 줄였습니다. Socket.io는 서버와 클라이언트 측 모두에서 메시지를 트리거하고 메시지를 수신하며 그에 따라 작동합니다.
`
//서버측
io.sockets.on("연결", 함수(양말){
sock.emit("normalMessage",{a:"c"});
});
//고객서비스
sock.on("normalMessage", function(json){...});
`
Express의 역할은 app.get('/login', function(req, res){});과 같은 라우팅 작업에 있습니다.
항해 청사진 및 백본
웹 개발에서 CRUD는 http의 가져오기/게시 및 데이터베이스의 선택/삽입과 같은 유사한 작업 유형입니다. Sais의 Blueprint API와 js의 백본 프레임워크는 모두 findOne과 같은 통합 기능을 사용하므로 프로그램이 모델과 해당 컨트롤러를 설정할 때 내부 논리가 이미 설정되어 있습니다. 예를 들어, 돛에서 일반적으로 사용되는 사용자 모델에는 사용자 데이터를 전송하고 저장하는 자체 구축 컨트롤러가 있습니다. 우리가 주의해야 할 것은 파일 이름과 비즈니스 프로세스의 사양입니다. 원래 메서드를 재정의(오버로드)하려는 경우에도 가능합니다. config 폴더의 경로에 액션과 컨트롤러를 설정한 후 해당 컨트롤러에 필요한 기능을 추가할 수 있습니다.
워터라인
create(), findOne(), update() 등과 같은 데이터베이스와 상호 작용하는 데는 종속성 패키지인 Sails의 API가 사용됩니다. 앞서 언급했듯이 다른 데이터베이스 도구에 대한 걱정 없이 이러한 메서드를 직접 호출할 수 있습니다. 예를 들어 데이터를 입력할 때
`
Users.create({사용자 이름: 사용자 이름, 비밀번호: 비밀번호}).exec(함수(오류, 사용자) {
if (오류) {
res.send(500, {오류: "DB 오류"});
} 그 밖의 {
req.session.user = 사용자;
res.send(사용자);
}
`
mysql 또는 mongoDB를 선택해야 하는 경우 시스템은 기본적으로 로컬 파일 시스템으로 설정됩니다. 구성 파일에서 이를 수정하고 데이터와 상호 작용할 데이터베이스의 어댑터를 선택하기만 하면 됩니다.
정책
http 요청이 실행되기 전에 실행되는 컨트롤러에 적용되는 미들웨어입니다. 예를 들어 로그인 후에만 다음 작업을 수행할 수 있는 등 신원 제어를 구현할 수 있습니다.
`
if(req.session.user){
var action = req.options.action;
If(action == "만들기"){
req.body.userId = req.session.user.id;
req.body.username = req.session.user.username;
}
다음();
}그밖에{
res.send("로그인해야 합니다", 403);
}
`
다음
Sails는 성공적으로 사용되었지만 이에 대한 추가 작업이 필요합니다. 탄탄한 기반을 마련해야만 특정 요구 사항을 달성할 수 있습니다. 그래서 계속해서 배워야 하고, 돛을 깊이 배우기 위해 더 많은 루틴을 찾아야 하며, 이 프레임워크의 한계도 알아야 합니다.

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Node.js와 Tomcat의 주요 차이점은 다음과 같습니다. 런타임: Node.js는 JavaScript 런타임을 기반으로 하는 반면 Tomcat은 Java Servlet 컨테이너입니다. I/O 모델: Node.js는 비동기식 비차단 모델을 사용하는 반면 Tomcat은 동기식 차단 모델을 사용합니다. 동시성 처리: Node.js는 이벤트 루프를 통해 동시성을 처리하는 반면 Tomcat은 스레드 풀을 사용합니다. 애플리케이션 시나리오: Node.js는 실시간, 데이터 집약적, 동시성 애플리케이션에 적합하고 Tomcat은 기존 Java 웹 애플리케이션에 적합합니다.

Node.js는 서버측 JavaScript 런타임인 반면, Vue.js는 대화형 사용자 인터페이스를 생성하기 위한 클라이언트측 JavaScript 프레임워크입니다. Node.js는 백엔드 서비스 API 개발, 데이터 처리 등 서버 측 개발에 사용되고, Vue.js는 단일 페이지 애플리케이션, 반응형 사용자 인터페이스 등 클라이언트 측 개발에 사용됩니다.

Node.js는 고성능, 확장성, 크로스 플랫폼 지원, 풍부한 생태계, 개발 용이성 등의 기능을 제공하므로 백엔드 프레임워크로 사용할 수 있습니다.

MySQL 데이터베이스에 연결하려면 다음 단계를 따라야 합니다. mysql2 드라이버를 설치합니다. mysql2.createConnection()을 사용하여 호스트 주소, 포트, 사용자 이름, 비밀번호 및 데이터베이스 이름이 포함된 연결 개체를 만듭니다. 쿼리를 수행하려면 Connection.query()를 사용하세요. 마지막으로 Connection.end()를 사용하여 연결을 종료합니다.

Node.js에는 다음과 같은 전역 변수가 존재합니다. 전역 개체: 전역 핵심 모듈: 프로세스, 콘솔, 필수 런타임 환경 변수: __dirname, __filename, __line, __column 상수: undefine, null, NaN, Infinity, -Infinity

Node.js 설치 디렉터리에는 npm과 npm.cmd라는 두 가지 npm 관련 파일이 있습니다. 차이점은 다음과 같습니다. 확장자가 다릅니다. npm은 실행 파일이고 npm.cmd는 명령 창 바로 가기입니다. Windows 사용자: npm.cmd는 명령 프롬프트에서 사용할 수 있으며, npm은 명령줄에서만 실행할 수 있습니다. 호환성: npm.cmd는 Windows 시스템에만 해당되며 npm은 크로스 플랫폼에서 사용할 수 있습니다. 사용 권장사항: Windows 사용자는 npm.cmd를 사용하고, 기타 운영 체제는 npm을 사용합니다.

Node.js와 Java의 주요 차이점은 디자인과 기능입니다. 이벤트 중심 대 스레드 중심: Node.js는 이벤트 중심이고 Java는 스레드 중심입니다. 단일 스레드 대 다중 스레드: Node.js는 단일 스레드 이벤트 루프를 사용하고 Java는 다중 스레드 아키텍처를 사용합니다. 런타임 환경: Node.js는 V8 JavaScript 엔진에서 실행되는 반면 Java는 JVM에서 실행됩니다. 구문: Node.js는 JavaScript 구문을 사용하고 Java는 Java 구문을 사용합니다. 목적: Node.js는 I/O 집약적인 작업에 적합한 반면, Java는 대규모 엔터프라이즈 애플리케이션에 적합합니다.

예, Node.js는 백엔드 개발 언어입니다. 서버 측 비즈니스 로직 처리, 데이터베이스 연결 관리, API 제공 등 백엔드 개발에 사용됩니다.
