.
Postman과 같은 도구를 사용하여 GraphQL 엔드 포인트를 테스트하여 쿼리 및 돌연변이의 설정 및 기능을 검증하여 서버가 다양한 데이터 요청에 올바르게 응답 할 수 있도록합니다.
이 기사는 Ryan Chenkie가 검토 한 동료였습니다. Sitepoint 콘텐츠를 최선을 다해 Sitepoint의 동료 리뷰어 덕분에!
-
이 기사에서는 모든 쿼리와 돌연변이를 처리 할 GraphQL 경로가있는 Node.js/Express 서버를 만듭니다. 그런 다음 게시물 요청을 보내서이 경로를 테스트하고 우체부를 사용하여 결과를 분석합니다.
이 응용 프로그램의 전체 소스 코드를 여기에서 찾을 수 있습니다. 여기에서 다운로드 할 수있는 우편 컬렉션도 만들었습니다. - 필드 -이 경우보다 물체를 받아들이는 속성은 우리의 쿼리와 돌연변이입니다.
- GrahPQL 이이 쿼리로 무엇을 해야하는지 이해하려면 블로그 포스트 및 댓글 쿼리를 정의해야합니다. 따라서 쿼리 변수는 다음과 같습니다
-
컬 - 명령 줄 팬을 위해. 모든 유형의 요청을 서버로 보낼 수 있습니다. 최상의 인터페이스는 아니지만 요청을 저장할 수 없으며 명령 줄에 모든 것을 써야합니다.이 관점에서 이상적이지 않습니다. Graphiql - GraphQL을위한 훌륭한 솔루션. 서버에 쿼리를 생성하는 데 사용할 수있는 브라우저 IDE입니다. 구문 하이라이트 및 유형 미리 와 같은 훌륭한 기능이 있습니다. 위에서 설명한 것보다 더 많은 솔루션이 있습니다. 처음 두 개는 가장 잘 알려진 것입니다. GraphIQL은 쿼리가 쓰기가 더 복잡 할 수 있기 때문에 GraphQL로 프로세스를 단순화하기위한 GraphQL 팀의 솔루션입니다. 이 세 가지에서 나는 모든 우체수 위에서 선호하고 추천하지만 Graphiql을 추천합니다. 이 도구는 확실히 API 테스트의 발전입니다. 모든 유형의 요청의 컬렉션을 작성하고 저장할 수있는 직관적 인 인터페이스를 제공합니다. API에 대한 테스트를 작성하고 버튼을 클릭하여 실행할 수도 있습니다. 또한 협업 기능이 있으며 요청 컬렉션을 공유 할 수 있습니다. 그래서 여기에서 다운로드 할 수있는 것을 만들었고, 그런 다음 Postman으로 가져올 수 있습니다. Postman을 설치하지 않았다면 그렇게하는 것이 좋습니다. 서버를 실행하여 시작하겠습니다. 노드 4 이상이 설치되어 있어야합니다. 그렇지 않은 경우 NVM을 사용하여 설치하는 것이 좋습니다. 그런 다음 명령 줄에서 다음을 실행할 수 있습니다. 이제 서버는 이제 요청을받을 준비가되었으므로 Postman에서 일부를 만들어 봅시다. GraphQL 경로는/GraphQL에 설정되어 있으므로 가장 먼저해야 할 일은 http : // localhost : 8080/GraphQL 인 요청을 지시 할 위치로 설정하는 것입니다. 그런 다음 GET 또는 게시물 요청인지 지정해야합니다. 이 중 하나를 사용할 수 있지만 URL에 영향을 미치지 않으므로 게시물을 선호하므로 더 깨끗하게 만듭니다. 또한 요청과 함께 진행되는 헤더를 구성해야합니다.이 경우 Application/JSON과 동일한 컨텐츠 유형을 추가하면됩니다. 우체부에서 모든 것이 설정되는 방법은 다음과 같습니다
클라이언트와 서버 측의 통신을 통합하는 쿼리 언어 인 GraphQL 소개. 클라이언트 측은 단일 요청에서 필요한 데이터를 정확하게 설명 할 수 있습니다.Express 서버에서 그래프 QL 엔드 포인트 설정 가장 먼저해야 할 일은 Express Framework를 사용하여 Node.js 서버를 작성하는 것입니다. 또한 MongoDB와 함께 Mongoose와 함께 데이터 지속성을 사용하고 Babel은 ES6을 사용합니다. 런타임에 코드가 ES5로 변환되므로 빌드 프로세스가 필요하지 않습니다. 이것은 index.js : 에서 수행됩니다 <span>// index.js </span><span>require('babel/register'); </span><span>require('./app'); </span>app.js에서는 서버를 시작하고 몽고 데이터베이스에 연결하고 그래프 QL 경로를 만듭니다.
위의 코드의 가장 상대적인 부분은이 기사 컨텍스트에서 GraphQL 경로를 정의하는 곳입니다. Facebook의 GraphQL 팀이 개발 한 Express Middleware 인 Express-GraphQL을 사용합니다. 이것은 GraphQL을 통해 HTTP 요청을 처리하고 JSON 응답을 반환합니다. 이것이 작동하기 위해서는 다음 섹션에서 논의되는 GraphQL 스키마 옵션을 통과해야합니다. 우리는 또한 옵션을 예쁘게 설정하고 있습니다. 이로 인해 JSON 응답이 인쇄 된 인쇄물을 쉽게 읽을 수있게됩니다. 그래프 QL 스키마 GraphQL이 요청을 이해하려면 스키마를 정의해야합니다. 그리고 그래프 QL 스키마는 쿼리 및 돌연변이 그룹 외에는 아무것도 아닙니다. 쿼리를 데이터베이스에서 검색 할 수있는 리소스로 생각하고 데이터베이스에 대한 모든 종류의 업데이트로 돌연변이가 발생할 수 있습니다. 우리는 예제로 블로그 포스트와 댓글 Mongoose 모델을 만들어 줄 것입니다. 그런 다음 몇 가지 쿼리와 돌연변이를 만들 것입니다. 몽구스 모델 몽구스 모델을 만들부터 시작하겠습니다. Mongoose 가이 기사의 초점이 아니기 때문에 여기서는 자세히 설명하지 않을 것입니다. Models/Blog-Post.js 및 Models/Commil.js. 그래프 QL 유형 <span>// app.js </span><span>import express from 'express'; </span><span>import graphqlHTTP from 'express-graphql'; </span><span>import mongoose from 'mongoose'; </span> <span>import schema from './graphql'; </span> <span>var app = express(); </span> <span>// GraphqQL server route </span>app<span>.use('/graphql', graphqlHTTP(req => ({ </span> schema<span>, </span> <span>pretty: true </span><span>}))); </span> <span>// Connect mongo database </span>mongoose<span>.connect('mongodb://localhost/graphql'); </span> <span>// start server </span><span>var server = app.listen(8080, () => { </span> <span>console.log('Listening at port', server.address().port); </span><span>}); </span>Mongoose를 좋아하고 GraphQL에서는 데이터 구조를 정의해야합니다. 차이점은 각 쿼리 및 돌연변이에 대해 어떤 유형의 데이터를 입력 할 수 있는지, 응답으로 전송되는 내용을 정의한다는 것입니다. 이러한 유형이 일치하지 않으면 오류가 발생합니다. 우리는 이미 몽구스에서 스키마 모델을 정의 했으므로 중복 될 수 있지만 다음과 같은 큰 장점이 있습니다.
당신은 허용되는 내용을 제어하여 시스템 보안을 향상시킵니다 당신은 허용되는 것을 제어합니다. 즉, 특정 필드를 절대 검색 할 수 없도록 정의 할 수 있습니다. 예를 들어 : 암호 또는 기타 민감한 데이터 IT는 더 이상 처리를 수행하지 않도록 유효하지 않은 요청을 필터링하여 서버의 성능을 향상시킬 수 있습니다. GraphQL/Type/에서 GraphQL 유형의 소스 코드를 찾을 수 있습니다. 다음은 다음과 같습니다. 여기서는 블로그 게시물 출력 그래프 QL 유형을 정의하고 있으며, 이는 쿼리 및 돌연변이를 만들 때 더 많이 사용할 것입니다. 몽구스 모델 블로그 포스트와 구조가 얼마나 유사한 지에 주목하십시오. 작업의 복제처럼 보일 수 있지만 분리 된 우려입니다. Mongoose 모델은 데이터베이스의 데이터 구조를 정의합니다. GraphQL 유형은 서버에 대한 쿼리 또는 돌연변이에 허용되는 규칙을 정의합니다.
GraphQL 스키마 생성 Mongoose 모델과 GraphQL 유형을 사용하여 GraphQL 스키마를 만들 수 있습니다.
여기서 우리는 쿼리와 돌연변이의 두 가지 특성을 정의하는 그래프 Qlschema를 내보내고 있습니다. GraphQlobjectType는 많은 GraphQL 유형 중 하나입니다. 이것으로 특히 당신은 다음을 지정할 수 있습니다 :
이름 - 독특하고 객체를 식별해야합니다. 우리는 다른 위치에서 쿼리와 돌연변이를 가져오고 있습니다. 이것은 구조적 목적을위한 것입니다. 소스 코드는 더 많은 모델, 쿼리, 돌연변이 등을 추가하려면 프로젝트가 잘 확장 될 수있는 방식으로 구성됩니다. 필드로 전달하는 쿼리 및 돌연변이 변수는 평범한 JavaScript 객체입니다. 키는 돌연변이 또는 쿼리 이름입니다. 값은 GraphQL에 무엇을 해야하는지 알려주는 구성이있는 일반 JavaScript 객체입니다. 다음 GraphQL 쿼리를 예로 들어 봅시다 : 돌연변이도 마찬가지입니다. 이것은 우리가 쿼리 또는 돌연변이에 가지고있는 키와 쿼리에 넣은 이름 사이에 직접적인 관계가 있음을 설명하기 위해 설명합니다. 이제 이러한 각 쿼리와 돌연변이가 어떻게 정의되는지 살펴 보겠습니다. queries
쿼리에서 시작하여 지금까지 생성 한 모델을 사용하여 예제를 선택하겠습니다. 좋은 예는 블로그 게시물과 모든 의견을 얻는 것입니다.
REST 솔루션에서는 두 가지 HTTP 요청을해야합니다. 하나는 블로그 게시물을 가져오고 다른 하나는 다음과 같이 보일 것입니다. GraphQL에서 우리는 다음 쿼리와 함께 하나의 HTTP 요청으로 만 사용할 수 있습니다. <span>// index.js </span><span>require('babel/register'); </span><span>require('./app'); </span>우리는 하나의 단일 요청으로 원하는 모든 데이터를 가져올 수 있으며, 이는 성능 만 향상시킵니다. 우리는 우리가 사용할 정확한 속성을 요청할 수 있습니다. 위의 예에서 응답은 블로그 게시물의 제목과 설명 만 가져오고 주석은 텍스트 만 가져옵니다. .
각 리소스에서 필요한 필드 만 검색하면 웹 페이지 또는 응용 프로그램의 로딩 시간에 큰 영향을 줄 수 있습니다. 예를 들어 _id와 postid 속성이있는 주석을 보자. 이들 각각은 작고 12 바이트가 정확합니다 (객체 키와 계산하지 않음). 이것은 단일 또는 몇 가지 의견 일 때 거의 영향을 미치지 않습니다. 우리가 이야기 할 때 200 개의 의견을 말하면 사용하지 않을 4800 바이트가 있습니다. 그리고 그것은 응용 프로그램로드 시간에 상당한 차이를 만들 수 있습니다. 이는 일반적으로 네트워크 연결이 느려지는 모바일 리소스와 같은 제한된 리소스가있는 장치에 특히 중요합니다. 이 작업을 위해서는 그래프 QL에 각 특정 쿼리에 대한 데이터를 가져 오는 방법을 알려야합니다. 쿼리 정의의 예를 봅시다 : <span>// index.js </span><span>require('babel/register'); </span><span>require('./app'); </span>여기서 우리는 ID 매개 변수를 기반으로 단일 블로그 게시물을 검색하는 쿼리를 만들고 있습니다. 쿼리의 출력을 검증하는 유형을 지정하고 있습니다. 또한이 쿼리에 필요한 인수가있는 Args 객체를 설정하고 있습니다. 마지막으로 데이터베이스를 쿼리하고 데이터를 반환하는 Resolve 기능.
데이터를 가져 오는 프로세스를 추가로 최적화하고 MongoDB의 프로젝션 기능을 활용하려면 GraphQL이 Mongoose와 호환되는 투영을 생성 할 수있는 AST를 처리하고 있습니다. 따라서 다음과 같은 쿼리를 만들면
데이터베이스에서 제목과 설명을 가져와야하므로 GetProjection 함수는 Mongoose 유효한 프로젝션을 생성합니다. 소스 코드에서 GraphQL/Queries/*에서 다른 쿼리를 볼 수 있습니다. 우리는 위의 예와 비슷하기 때문에 각각을 거치지 않을 것입니다. <span>// app.js </span><span>import express from 'express'; </span><span>import graphqlHTTP from 'express-graphql'; </span><span>import mongoose from 'mongoose'; </span> <span>import schema from './graphql'; </span> <span>var app = express(); </span> <span>// GraphqQL server route </span>app<span>.use('/graphql', graphqlHTTP(req => ({ </span> schema<span>, </span> <span>pretty: true </span><span>}))); </span> <span>// Connect mongo database </span>mongoose<span>.connect('mongodb://localhost/graphql'); </span> <span>// start server </span><span>var server = app.listen(8080, () => { </span> <span>console.log('Listening at port', server.address().port); </span><span>}); </span>돌연변이
돌연변이는 데이터베이스에서 어떤 종류의 변화를 처리 할 수있는 작업입니다. 쿼리와 마찬가지로 우리는 단일 HTTP 요청에서 다른 돌연변이를 그룹화 할 수 있습니다. 일반적으로‘댓글 추가’또는‘블로그 게시물 만들기’와 같은 조치가 분리됩니다. 애플리케이션 및 데이터 수집의 복잡성이 높아짐에 따라 분석, 사용자 경험 테스트 또는 복잡한 운영을위한 경우 웹 사이트 또는 응용 프로그램의 사용자 작업은 데이터베이스의 다른 리소스에 상당한 수의 돌연변이를 유발할 수 있습니다. 이 예제에 따라 블로그 게시물에 대한 새로운 의견은 새로운 의견과 블로그 게시물 주석에 대한 업데이트를 의미 할 수 있습니다. 휴식 솔루션에는 다음과 같은 것이 있습니다. GraphQL을 사용하면 다음과 같은 것과 같은 하나의 HTTP 요청만으로 수행 할 수 있습니다. <span>// graphql/types/blog-post.js </span><span>import <span>{ </span></span><span> <span>GraphQLObjectType, </span></span><span> <span>GraphQLNonNull, </span></span><span> <span>GraphQLString, </span></span><span> <span>GraphQLID </span></span><span><span>}</span> from 'graphql'; </span> <span>export default new GraphQLObjectType({ </span> <span>name: 'BlogPost', </span> <span>fields: { </span> <span>_id: { </span> <span>type: new GraphQLNonNull(GraphQLID) </span> <span>}, </span> <span>title: { </span> <span>type: GraphQLString </span> <span>}, </span> <span>description: { </span> <span>type: GraphQLString </span> <span>} </span> <span>} </span><span>}); </span>쿼리 및 돌연변이에 대한 구문은 정확히 동일하며 쿼리를 돌연변이에 변경합니다. 우리는 쿼리에서하는 것과 같은 방식으로 돌연변이에서 데이터를 요청할 수 있습니다. BlogPostCommentInc의 위의 쿼리에있는 것처럼 조각을 지정하지 않음으로써 우리는 종종 작업을 확인하기에 충분한 True 또는 False return 값을 요구합니다. 또는 AddComment Mutation과 같은 일부 데이터를 요청할 수 있습니다. 이는 서버에서만 생성 된 데이터를 검색하는 데 유용 할 수 있습니다. .
이 돌연변이는 새로운 블로그 게시물을 추가하고 성공하면 True를 반환합니다. 유형에서 반환 할 내용을 지정하는 방법에 유의하십시오. args에서 돌연변이로부터받은 주장. 쿼리 정의에서와 같이 resolve () 기능.그런 다음 서버에서 돌연변이를 정의해 봅시다. 돌연변이는 쿼리로 정확히 생성됩니다
GraphQL 엔드 포인트 테스트 이제 GraphQL 경로와 일부 쿼리 및 돌연변이로 Express 서버를 만들었으므로 요청을 보내서 테스트 해 드리겠습니다. : 와 같은 위치로 요청을 보내거나 게시하는 방법에는 여러 가지가 있습니다. 브라우저 - 브라우저에서 URL을 입력하면 GET 요청을 보내는 것이 좋습니다. 이것은 사후 요청을 보낼 수 없다는 제한이 있습니다
이제 우리는 이제 GraphQL 쿼리와 다음과 같은 JSON 형식으로 필요한 변수를 갖는 본문을 만들 수 있습니다.
내가 제공 한 컬렉션을 가져 왔다고 가정하면 이미 테스트 할 수있는 몇 가지 쿼리 및 돌연변이 요청이 있어야합니다. 하드 코딩 된 몽고 ID를 사용했기 때문에 요청을 순서대로 실행하면 모두 성공해야합니다. 내가 각각의 몸에 넣은 것을 분석하면이 기사에서 논의 된 내용을 적용하는 것입니다. 또한 첫 번째 요청을 두 번 이상 실행하면 중복 ID가되므로 오류가 반환되는 방법을 확인할 수 있습니다.
결론 이 기사에서는 GraphQL의 잠재력과 REST 건축 스타일과 어떻게 다른지를 소개했습니다. 이 새로운 쿼리 언어는 웹에 큰 영향을 미치도록 설정되었습니다. 특히보다 복잡한 데이터 애플리케이션의 경우 원하는 데이터를 정확하게 설명하고 단일 HTTP 요청으로 요청할 수 있습니다.
GraphQL Server의 MongoDB 데이터베이스 설정에는 여러 단계가 포함됩니다. 먼저 로컬 컴퓨터에 MongoDB를 설치하거나 MongoDB Atlas와 같은 클라우드 기반 MongoDB 서비스를 사용해야합니다. 설치되면 새 데이터베이스 및 컬렉션을 만들 수 있습니다. 그런 다음 Mongoose와 같은 MongoDB 클라이언트를 사용하여 Node.js 응용 프로그램 에서이 데이터베이스에 연결할 수 있습니다. Mongoose는 컬렉션에 대한 스키마를 정의하고 데이터를 쿼리하고 조작하는 방법을 제공합니다.나는 당신의 의견을 듣고 싶습니다 : 당신은 GraphQL에 대해 어떻게 생각하고 그것에 대한 당신의 경험은 무엇입니까? node.js 및 mongodb 에 대한 질문이 자주 묻는 질문 내 GraphQL Server에 대한 MongoDB 데이터베이스를 설정하려면 어떻게해야합니까? MongoDB 데이터에 대한 그래프 QL 스키마를 어떻게 정의합니까? 귀하의 데이터 및 작업을 수행 할 수있는 작업. node.js 응용 프로그램에서 GraphQL 라이브러리를 사용하여 GraphQL 스키마를 정의 할 수 있습니다. 여기에는 데이터의 유형, 각 유형의 필드 및 이러한 유형에서 수행 할 수있는 쿼리 및 돌연변이를 정의하는 것이 포함됩니다. 유형은 mongodb 컬렉션의 문서 구조와 일치해야합니다.
내 그래프 QL 서버에서 오류를 처리하려면 어떻게해야합니까?GraphQL Server의 오류 처리는 제공된 Formaterror 함수를 사용하여 수행 할 수 있습니다. Apollo Server에 의해. 이 기능은 오류가 리졸버에 던져 질 때마다 호출됩니다. 오류를 인수로 받아들이고 오류 객체를 반환해야합니다. 이 개체에는 메시지, 상태 코드 및 기타 관련 정보가 포함될 수 있습니다. Resolvers에서 Try/Catch 블록을 사용하여 오류를 잡고 처리 할 수도 있습니다.
.성능을 위해 GraphQL 서버를 최적화하려면 어떻게 될 수 있습니까? 성능을 위해 GraphQL 서버를 최적화하는 몇 가지 방법이 있습니다. 한 가지 방법은 Dataloader와 같은 라이브러리와 함께 배치 및 캐싱을 사용하는 것입니다. 이렇게하면 MongoDB 데이터베이스에 대한 요청 수가 줄어들고 응답 시간을 개선 할 수 있습니다. 또 다른 방법은 지속 된 쿼리를 사용하는 것입니다.이 쿼리는 서버로 전송 된 요청의 크기를 줄일 수 있습니다. Apollo Studio와 같은 모니터링 도구를 사용하여 성능 병목 현상을 식별하고 수정할 수 있습니다.
GraphQL Server를 어떻게 보호 할 수 있습니까?GraphQL Server 보안에는 여러 단계가 포함됩니다. 먼저 HTTPS를 사용하여 클라이언트와 서버 간의 통신을 암호화해야합니다. 헬멧과 같은 라이브러리를 사용하여 HTTP 응답에 보안 헤더를 추가 할 수도 있습니다. 인증을 위해 JWT (JSON Web Tokens)를 사용할 수 있으며 승인을 위해 GraphQL-Shield와 같은 라이브러리를 사용할 수 있습니다. 또한 주입 공격을 방지하기 위해 사용자 입력을 검증하고 소독해야합니다.
그래프 QL 서버를 테스트하려면 어떻게해야합니까?
GraphQL 서버를 테스트하는 것은 단위 테스트, 통합 테스트, 통합 테스트를 사용하여 수행 할 수 있습니다. 및 엔드 투 엔드 테스트. 테스트를 작성하기 위해 Jest와 같은 라이브러리를 사용하고 서버에 HTTP 요청을하기 위해 Supertest와 같은 라이브러리를 사용할 수 있습니다. Resolvers, Schema 및 MongoDB 쿼리 및 돌연변이를 테스트해야합니다.GraphQL Server를 어떻게 배포 할 수 있습니까?
Heroku와 같은 클라우드 서비스를 사용하여 GraphQL 서버를 배포 할 수 있습니다. AWS 또는 Google Cloud. 또한 배포 프로세스를 자동화하기 위해 지속적인 통합 및 지속적인 배포 (CI/CD) 파이프 라인을 설정해야합니다. 이 작업은 Github Action 또는 Jenkins와 같은 서비스를 사용하여 수행 할 수 있습니다.
GraphQL Server를 모니터링하려면 어떻게해야합니까?Apollo Studio 또는 New Relic과 같은 서비스를 사용하여 GraphQL 서버를 모니터링 할 수 있습니다. 이 서비스는 응답 시간, 오류율 및 사용 통계를 포함하여 서버의 성능에 대한 통찰력을 제공합니다. 서버에 문제가있을 때도 경고 할 수 있습니다.
GraphQL로 파일 업로드를 처리하는 방법?
GraphQL을 사용하여 파일 업로드를 처리하는 방법은 GraphQL-Upload와 같은 라이브러리를 사용하여 수행 할 수 있습니다. 이 라이브러리는 스키마에서 사용할 수있는 GraphQLupload 스칼라와 미들웨어에서 업로드 된 파일을 처리하기 위해 사용할 수있는 프로세스 레퍼스트 기능을 제공합니다.
GraphQL과 함께 구독을 어떻게 사용할 수 있습니까?. GraphQL의 구독을 사용하면 클라이언트에 대한 업데이트를 실시간으로 푸시 할 수 있습니다. 구독 트랜스 포트 -Ws와 같은 라이브러리를 사용하여 구독에 대한 WebSocket 연결을 처리 할 수 있습니다. 스키마에서 구독 유형을 정의하고 PubSub.publish 및 Pubsub.Subscribe 방법을 사용하여 이벤트를 게시하고 구독 할 수 있습니다.
위 내용은 node.js 및 mongodb로 GraphQL 서버 생성의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

JavaScript는 브라우저 및 Node.js 환경에서 실행되며 JavaScript 엔진을 사용하여 코드를 구문 분석하고 실행합니다. 1) 구문 분석 단계에서 초록 구문 트리 (AST)를 생성합니다. 2) 컴파일 단계에서 AST를 바이트 코드 또는 기계 코드로 변환합니다. 3) 실행 단계에서 컴파일 된 코드를 실행하십시오.

Python 및 JavaScript의 미래 추세에는 다음이 포함됩니다. 1. Python은 과학 컴퓨팅 분야에서의 위치를 통합하고 AI, 2. JavaScript는 웹 기술의 개발을 촉진하고, 3. 교차 플랫폼 개발이 핫한 주제가되고 4. 성능 최적화가 중점을 둘 것입니다. 둘 다 해당 분야에서 응용 프로그램 시나리오를 계속 확장하고 성능이 더 많은 혁신을 일으킬 것입니다.

개발 환경에서 Python과 JavaScript의 선택이 모두 중요합니다. 1) Python의 개발 환경에는 Pycharm, Jupyternotebook 및 Anaconda가 포함되어 있으며 데이터 과학 및 빠른 프로토 타이핑에 적합합니다. 2) JavaScript의 개발 환경에는 Node.js, VScode 및 Webpack이 포함되어 있으며 프론트 엔드 및 백엔드 개발에 적합합니다. 프로젝트 요구에 따라 올바른 도구를 선택하면 개발 효율성과 프로젝트 성공률이 향상 될 수 있습니다.

예, JavaScript의 엔진 코어는 C로 작성되었습니다. 1) C 언어는 효율적인 성능과 기본 제어를 제공하며, 이는 JavaScript 엔진 개발에 적합합니다. 2) V8 엔진을 예를 들어, 핵심은 C로 작성되며 C의 효율성 및 객체 지향적 특성을 결합하여 C로 작성됩니다.

JavaScript는 웹 페이지의 상호 작용과 역학을 향상시키기 때문에 현대 웹 사이트의 핵심입니다. 1) 페이지를 새로 고치지 않고 콘텐츠를 변경할 수 있습니다. 2) Domapi를 통해 웹 페이지 조작, 3) 애니메이션 및 드래그 앤 드롭과 같은 복잡한 대화식 효과를 지원합니다. 4) 성능 및 모범 사례를 최적화하여 사용자 경험을 향상시킵니다.

C 및 JavaScript는 WebAssembly를 통한 상호 운용성을 달성합니다. 1) C 코드는 WebAssembly 모듈로 컴파일되어 컴퓨팅 전력을 향상시키기 위해 JavaScript 환경에 도입됩니다. 2) 게임 개발에서 C는 물리 엔진 및 그래픽 렌더링을 처리하며 JavaScript는 게임 로직 및 사용자 인터페이스를 담당합니다.

JavaScript는 웹 사이트, 모바일 응용 프로그램, 데스크탑 응용 프로그램 및 서버 측 프로그래밍에서 널리 사용됩니다. 1) 웹 사이트 개발에서 JavaScript는 HTML 및 CSS와 함께 DOM을 운영하여 동적 효과를 달성하고 jQuery 및 React와 같은 프레임 워크를 지원합니다. 2) 반응 및 이온 성을 통해 JavaScript는 크로스 플랫폼 모바일 애플리케이션을 개발하는 데 사용됩니다. 3) 전자 프레임 워크를 사용하면 JavaScript가 데스크탑 애플리케이션을 구축 할 수 있습니다. 4) node.js는 JavaScript가 서버 측에서 실행되도록하고 동시 요청이 높은 높은 요청을 지원합니다.

Python은 데이터 과학 및 자동화에 더 적합한 반면 JavaScript는 프론트 엔드 및 풀 스택 개발에 더 적합합니다. 1. Python은 데이터 처리 및 모델링을 위해 Numpy 및 Pandas와 같은 라이브러리를 사용하여 데이터 과학 및 기계 학습에서 잘 수행됩니다. 2. 파이썬은 간결하고 자동화 및 스크립팅이 효율적입니다. 3. JavaScript는 프론트 엔드 개발에 없어서는 안될 것이며 동적 웹 페이지 및 단일 페이지 응용 프로그램을 구축하는 데 사용됩니다. 4. JavaScript는 Node.js를 통해 백엔드 개발에 역할을하며 전체 스택 개발을 지원합니다.


핫 AI 도구

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

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

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

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

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

DVWA
DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

Dreamweaver Mac版
시각적 웹 개발 도구

SecList
SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.

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