JavaScript는 프런트엔드뿐만 아니라 백엔드도 작성할 수 있습니다. JavaScript는 Node.js를 사용하여 백엔드 개발을 수행할 수 있습니다. Node.js는 JavaScript가 서버 측에서 실행될 수 있도록 하는 개발 플랫폼입니다. 이벤트 중심의 "I/O" 서버 측 JavaScript 환경입니다. Node.js는 서버 측에서 실행되는 JavaScript로 이해될 수 있습니다. 뒷면에 쓸 수 있습니다.
이 튜토리얼의 운영 환경: Windows 7 시스템, JavaScript 버전 1.8.5, Dell G3 컴퓨터.
JavaScript는 프런트엔드뿐만 아니라 백엔드도 작성할 수 있습니다.
JavaScript는 Node.js 기술을 통해 백엔드 개발을 달성할 수 있습니다. Node.js는 JavaScript를 서버에서 실행할 수 있게 해주는 개발 플랫폼으로, JavaScript를 PHP와 같은 서버측 언어와 동등한 스크립팅 언어로 만듭니다. , Python, Perl 및 Ruby.
Node.js를 사용하면 js가 서버 측에서 실행될 수 있으며 Google v8 엔진을 사용하여 성능 도약을 가져와 Go 언어에 거의 가까운 성능을 제공합니다. 비동기식 프로그래밍 방법을 사용하면 대규모 동시성을 처리할 수 있습니다. 그러나 이제 다음과 같은 단점도 있습니다.
Java의 Spring 프레임워크와 같이 고도로 통일된 개발 방법이 없습니다. 백엔드를 개발하려는 프런트엔드 개발자로서 다음과 같은 점이 당황스러울 수 있습니다. 너 자신이 먼저야. 하지만 실제로 중소형 시스템의 경우 백엔드 개발에 있어 가장 중요한 것은 "SQL"에 익숙해지는 것입니다. 이를 마스터하면 백엔드 개발을 시작할 수 있습니다. 다른 모든 것은 프레임워크에 의해 준비되어 있기 때문입니다.
프레임워크 선택
현재 백엔드 개발에 사용되는 노드 프레임워크는
그렇다면 어떻게 선택해야 할까요? 그럼 가장 인기 있는 github의 시작 부분을 비교해 볼까요? 그러나 저자는 다음과 같은 이유로 모든 사람에게 egg를 사용할 것을 권장합니다.
javascript 백엔드를 작성하기 전에 알아야 할 사항
Node는 JS만의 병목 현상을 해결합니다. JS를 마스터한 자의 위업을 실감하는 프론트엔드 개발 능력! 그러나 백엔드를 수행하는 것은 프런트엔드를 수행하는 것보다 훨씬 더 엄격하므로 JS 언어의 일부 "버그"를 알고 있어야 합니다. 데이터가 잘못되게 놔두지 마십시오. 그러면 완전히 혼란스러울 것입니다.
다음은 JS 데이터 처리에서 흔히 발생하는 몇 가지 문제와 해결 방법의 예입니다! 모든 사람이 JS의 기반을 강화하고 업무 중 우회를 피할 수 있도록 도와주세요.
1. 부동 소수점 데이터의 정밀도 손실 문제:
부동 소수점 유형은 강력한 유형의 언어에서 단정밀도 부동 소수점 유형(float)과 이중 정밀도 부동 소수점 유형(double)으로 구분됩니다. ( C, JAVA), JS에서는 Number라고 통칭합니다. 관심 있는 독자들은 관련 지식을 배울 수 있습니다. 이 기사는 계속해서 위의 질문으로 돌아갑니다.
먼저 정확도 상실 문제의 성능을 살펴보겠습니다. 소스 코드는 다음과 같습니다.
console.log(0.1+0.2); //0.30000000000000004
결과는 0.3이어야 하는데 실행 결과가 혼란스럽습니다. 이는 백엔드 개발에서는 절대 허용되지 않습니다. 이 문제는 JS에서만 나타나는 것이 아닙니다. 테스트 후 이 문제는 JAVA 및 PHP에서는 존재하지만 C에서는 존재하지 않습니다. 나는 왜 다른 언어를 배우지 않았나요? 왜인지 모르겠어요!
문제에 대해 이야기한 후, 해결 방법에 대해 이야기해 보겠습니다.
const floatAdd = (arg1, arg2) => { let r1,r2,m; try { r1 = arg1.toString().split(".")[1].length; } catch(e) { r1 = 0; } try { r2 = arg2.toString().split(".")[1].length; } catch(e) { r2 = 0; } m =Math.pow(10,Math.max(r1,r2)); return (arg1*m+arg2*m)/m; }; console.log(floatAdd(0.1,0.2)); // 0.3
다행히 위 코드를 통해 우리가 원하는 올바른 결과를 얻었지만 JS가 우리에게 남긴 문제는 끝나지 않았습니다. . 다음 질문을 참조하세요.
2. ToFixed() 반올림 BUG:
toFixed() 메서드는 값 형식을 지정하기 위해 고정 소수점 표현을 사용합니다. 쉽게 말하면 데이터를 반올림하는 과정으로, 고정 소수점은 유지되는 소수점 이하 자릿수를 의미합니다.
이 질문은 이전 질문인 "부동 소수점" 데이터와 여전히 관련이 있습니다. 아래 샘플 코드를 참조하세요.
let a=1.115; console.log(a.toFixed(2)) //1.11
다행히 편집자는 초등학교 때 수학을 잘했고, 1학년 때 수학 반 대표를 했던 것 같습니다. 몇년(은밀하게 행복해요) 한눈에 알 수 있어요 네, 정답은 1.12이겠죠. 영리한 편집자는 함정을 피할 방법을 찾기 위해 열심히 노력하고 있습니다. 소스 코드를 참조하세요:
const newToFixed=(value,length)=>{ let tempNum = 0; let s,temp; let s1 = value + ""; let start = s1.indexOf("."); if(s1.substr(start+length+1,1)>=5){ tempNum=1; } temp = Math.pow(10,length); s = Math.floor(value * temp) + tempNum; return s/temp; } console.log(newToFixed(1.115,2)) //1.12
JS를 사용하여 백엔드 애플리케이션을 개발할 때 이러한 데이터 이상에 주의해야 합니다. 더 많은 질문이 있으면 독자들이 스스로 공부하도록 초대됩니다.
수천만 줄의 코드, 첫 번째 기본 줄. 기초가 탄탄하지 않아서 앞으로는 눈물을 흘릴 예정이다.
참고: 코드 예제에서는 ECMAScript 2015 버전 구문을 사용합니다. 호환성 요구 사항이 있는 경우 소스 코드를 수정하는 것을 잊지 마세요.
첫 번째 줄과 호환되는 수천만 줄의 코드. 호환이 되든 안 되든 처음 두 줄에서 눈물이 흘렀습니다.
【관련 추천: 웹 프론트엔드 개발】
위 내용은 JavaScript는 프런트엔드 작성에만 사용할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!