노드에서 돌아온 기분이 어때요?js에서 PHP로?

13539 단어 nodephpjavascript
커뮤니티 안녕하세요!!!
나는 이미 오랫동안 글을 한 편도 쓰지 않았다. 왜냐하면 나는 당시에 전업으로 몇 가지 항목에 종사하고 있었기 때문에 글을 쓸 시간이 충분하지 않았기 때문이다.
어쨌든, 최근에 나는 노드에서 돌아온 매우 즐거운 경험이 있다.js에서 PHP까지는 어떤 면에서 매우 재미있다.그래서 나눠주고 싶어요.

PHP



알다시피 PHP는 여러 방면에서 가장 이상한 프로그래밍 언어 중 하나입니다. 사람들은 그것을 좋아하고 싫어합니다. 이것은 많은 가장 위대한 소프트웨어를 지원합니다. 예를 들어 워드프레스가 블로그에 사용되는 소프트웨어와 WHMC가 위탁 관리를 하는 소프트웨어입니다. 이런 소프트웨어는 모두 기원된 것입니다. 기업적인 것이고 많은 나쁜 코드 실천도 PHP 프로그래머가 완성했습니다. 왜냐하면 PHP 프로그래머가 거의 어떤 구조도 제공하지 않았기 때문입니다.따라서 PHP는 좋은 프로그래밍 언어이자 나쁜 프로그래밍 언어라고 할 수 있다.

왜 나는 PHP를 좋아합니까?


좋은 질문!답은 PHP 컴파일러를 사용하는 것이 다른 프로그래밍 언어를 사용하는 것보다 쉽고 배치도 거의 소용없다는 것이다. 왜냐하면 거의 90%의 위탁 관리 서비스 제공 업체가 PHP와 아파치 웹 서버를 지원하기 때문이다.
또 다른 원인은 PHP가 코드 분할에 대해 좋은 생각을 가지고 있기 때문일 것이다. 이것은 절대로 헛수고이다.즉, 다른 PHP 파일에 일부 PHP 파일이 포함되어 있으면 더 많은 작업을 수행할 필요 없이 사용할 수 있습니다.JavaScript처럼 내보내기와 가져오기가 필요하지 않습니다.
어떤 PHP 기능은 정말 훌륭합니다. 당신은 다른 언어에서도 찾을 수 없을 것입니다!내가 PHP를 가장 좋아하는 점은 그것이 variables라는 변수를 지원한다는 것이다!만약에 $i의 순환이 있다면 변수 이름에서 그것을 실현할 수 있고 매번 새로운 변수를 설명할 수 있습니다. 예를 들어 $my_var_$i, $my_variable_1 등등입니다!나는 네가 다른 언어에서 수조나 비슷한 것을 사용해서 이 점을 실현할 수 있다는 것을 알고 있지만, 느낌은 여전히 다르다.영웅 연맹

그럼 나는 왜 PHP를 싫어하지?


내가 말한 바와 같이, 비록 PHP는 모든 장점을 제공하지만, 그것도 약간의 원가를 가져왔다!PHP는 가장 자주 사용하는 프로그래밍 언어 중 하나로 많은 사람들, 특히 초보자들이 오해를 하기 때문에 나쁜 코드 실천이 끊임없이 발생하고 지역 사회에 전파된다.PHP는 규칙에 그다지 관심이 없는 언어이지만 자신에게 대항하는 데 사용되고 있다.
가장 유명한 PHP 원한자의 원인 중 하나는 스파게티 코드이다. (이것은 당신이 그 의미를 모른다면 적당한 구조가 없다는 것을 의미한다.) 솔직히 말하면 이것은 틀림없다!PHP 코드의 성질 때문에 어떤 경우에는 심지어 고급 개발자에게도 스파게티 코드를 생성할 수 있다.Composer for dependency management나 Laravel as a framework 등 이런 상황을 방지할 수 있는 도구가 많다.하지만 솔직히 말하면 늑대에게 양가죽을 입힐 수 있지만 그 안에는 늑대가 있을 것이다.
내가 PHP를 싫어하는 또 다른 일은 PHP가 실제로 명명 약속이 없다는 것이다.예를 들어 문자열의 길이를 원한다면 함수 $my_variable_2 를 사용할 수 있습니다. 이것은 좋습니다.따라서 모든 함수는 같은 명명 약정에 있을 것이라고 생각하지만, 단어, 문장 또는 다른 어떤 것에서 다른 문자열로 문자열을 바꾸고 싶을 때?너는 함수strlen()를 사용해야 한다. 이때서야 너는 자신이 속았다는 것을 깨달았다.

노드회사 명



노드로 들어가자.js!내가 가장 좋아하는 프로그래밍 환경.
너희들이 알고 있는 노드와 같다.js는 V8 엔진에서 자바스크립트를 실행하는 환경으로 V8 엔진은 서버 측 등에 사용된다.모든 다른 언어 중에서 JavaScript는 제가 가장 좋아하는 언어입니다. 저는 웹 개발자이기 때문에 웹 개발에 사용되는 도구의 거의 80%가 Node에서 개발되었습니다.js 및 JavaScript

왜 난 노드를 사랑해?js/JavaScript?


JavaScript는 대상을 대상으로 하는 프로그래밍 언어로 JavaScript의 거의 모든 내용이 하나의 대상이기 때문에 여러 방면에서 매우 편리하다.나는 차라리 이런 문자열을 분할하고 연결하고 싶다.
let myString = "Adnan Babakan";
myString = myString.split(" ").join(", ");
// Result => Adnan, Babakan
이렇게 하는 것이 아니라
<?php
$my_string = "Adnan Babakan";
$my_string = implode(", ", explode(" ", $my_string));
// Result => Adnan, Babakan
따라서 자바스크립트와 PHP는 각각 같지만 내가 보기에는 첫 번째가 더 깨끗해 보인다.
제가 JavaScript를 좋아하는 또 다른 이유는 필요에 따라 비동기적이고 동기화된 행동을 보이기 때문입니다.JavaScript에서는 이벤트 기반 함수를 사용하여 필요할 때와 특정 작업을 완료한 후에 이 함수를 실행할 수 있습니다.
JavaScript 자체의 다기능성은 프런트엔드와 백엔드에 모두 적용되기 때문입니다!(이것은 스페인어입니다. 저를 XD로 평가하지 마세요)

왜 난 노드가 싫어?그럼 js/JavaScript는요?


따라서 자바스크립트는 모든 장점이 있지만 이 세상에 완벽한 것이 없기 때문에 몇 가지 문제를 가져왔다.
자바스크립트의 가장 눈에 띄는 문제 중 하나는 지옥으로 돌아가는 것이다!따라서 이것이 바로 이벤트 기반 함수를 가능하게 하는 이유입니다!이 녀석 미쳤냐고 물어볼 수도 있어!그는 사랑의 특징 부분에서 그것을 언급했지만, 부정적인 부분에서 또 그것을 언급했습니까?솔직히 그렇죠!리셋은 완벽하고 매우 유용하지만, 일부 데이터에 접근할 수 있기를 원하기 때문에, 리셋에서 항상 호출해야 합니다. 만약 다른 함수가 이전의 데이터를 사용한다면, 리셋에서 이 함수를 실현해야 합니다. 이 함수 자체가 리셋일 수도 있습니다. 등등!이런 상황에서 탭과 공백 문자를 연속적으로 사용해야 하기 때문에 코드가 너무 깊어지고 대부분은 수직으로 늘어나는 것이 아니라 수평으로 늘어나는 것이다!다음 코드를 참조하십시오.
fs.readdir(source, function (err, files) {
  if (err) {
    console.log('Error finding files: ' + err)
  } else {
    files.forEach(function (filename, fileIndex) {
      console.log(filename)
      gm(source + filename).size(function (err, values) {
        if (err) {
          console.log('Error identifying file size: ' + err)
        } else {
          console.log(filename + ' : ' + values)
          aspect = (values.width / values.height)
          widths.forEach(function (width, widthIndex) {
            height = Math.round(width / aspect)
            console.log('resizing ' + filename + 'to ' + height + 'x' + height)
            this.resize(width, height).write(dest + 'w' + width + '_' + filename, function(err) {
              if (err) console.log('Error writing file: ' + err)
            })
          }.bind(this))
        }
      })
    })
  }
})
코드는 http://callbackhell.com/ 지옥의 더 많은 정보를 되돌려 주는 사이트입니다.
그래서 어쨌든 이 코드는 죽일 놈이고 미친 듯이 보이지만, 나를 믿어라. 아주 잘 작동한다!나는 이 코드가 PHP에서 보기에 더욱 좋을 것이라고 믿는다.
노드에 관한 또 다른 문제.js는 node_ 모듈입니다. 다음 그림은 다음과 같습니다.

이것은 정말 정말이다!작은 로그인 페이지라도 약 100메가바이트의 node_모듈을 얻을 수 있습니다. 이 모듈들은 생산 과정에서 필요하지 않지만 컴퓨터에서는 여전히 무겁습니다!

Node에서 PHP를 반환합니다.회사 명



그럼에도 불구하고 지금은 내가 Node에서 PHP로 돌아갈 때다.js 알려져!
최근의 일부 프로젝트에 대해 일부 배치 제한 등으로 인해 나는 PHP를 백엔드로 선택했다.
따라서 나의 주요 IDE는 PhpStorm이다. PHP와 자바스크립트, HTML과 CSS를 완벽하게 지원한다. 물론 내가 하는 첫 번째 일은 라벨을 나의 메인 프레임워크로 설치하는 것이다.믿든 안 믿든 네가 결정해. 난 노드에 관심이 많아.며칠 전에야 나는 라라벨 공식 사이트의 새로운 외관을 보았다.PhpStorm이 라웰을 자동으로 식별한 것은 사람을 경외하게 하는 느낌이다.
내가 시도한 첫 번째 일은 내가 Composer를 사용하여 설치한 라이브러리를 포함하는 것이다. 나는 다음과 같은 일을 하려고 한다.
<?php
$exampleLibrary = require 'example-library';
그래서 나는 자바스크립트와 PHP를 혼동했다. 이것은 정말 웃긴다.
1초 동안 나는'아드난 정말이야?'라고 생각했다.PHP는 당신이 배운 첫 번째 프로그래밍 언어입니다. 당신은 지금 그것을 이렇게 대합니까?PHP 문법과 작업 흐름을 잊어버려서 놀랐습니다. 그리고 바로 코드를 수정했습니다.
내가 저지른 두 번째 실수는 다른 파일에서 사용할 수 있도록 뭔가를 내보내려는 것이다.
이것은 매우 좋은 경험이다. 나는 이 프로젝트에서 모든 PHP의 힘에도 불구하고.일부 항목에 대해 말하자면, PHP로 돌아가는 것은 매우 좋다.그런데 제가 PHP를 계속 사용할 수 있을까요?그렇게 지도 모른다, 아마, 아마...이것은 사실상 프로젝트의 규모와 프로젝트의 수요에 달려 있다. 그러나 어쨌든 나는 PHP나 자바스크립트에 대해 편견을 가지고 있지 않다. 만약 필요하다면 나는 그 중 하나를 선택할 것이다. 내가 너에게 준 건의도 역시 너나 프로젝트에 가장 적합한 것을 선택하는 것이다.영원히 인터넷의 잘못된 면으로 너를 인도하지 마라!당신이 필요로 하는 것, 그리고 이 프로그래밍 언어 중 어떤 것이 더 쉽게 당신에게 필요한 도구를 제공할 수 있는지 현명하게 선택하세요!
나는 네가 이 문장을 좋아하길 바란다. 만약 내가 틀렸거나, 네가 아래의 평론 부분에서 어떤 다른 관점이 있다면, 다시 나에게 알려줘!
겸사겸사 한마디 하자면, 내가 Nuxt에서 전환한 경험을 봐라.js 개츠비 js:

좋은 웹페이지 즐겨찾기