최상의 답변
Wikipedia는 2001 년 1 월에 시작되었습니다. 처음에는 UseModWiki , Perl로 작성되었습니다. 2001 년 여름에 인기가 높아지고 있으며 새로운 기능이 필요하다는 것이 분명해졌습니다. 예를 들어 UseModWiki는 공백을 처리 할 수 없기 때문에 “Buenos Aires”대신 “BuenosAires”를 작성해야했습니다. 또한 성능 문제도있었습니다. 따라서 프로그래머이기도 한 Wikipedia 자원 봉사 작가 Magnus Manske가 작성하기로 결정했습니다. 그는 단순히 배우고 싶어서 PHP를 사용했습니다. PHP는 당시 동적 웹 사이트 개발에 매우 인기 있고 빠르게 성장하는 언어였습니다.
다음 페이지에서 MediaWiki의 역사에 대한 자세한 정보를 찾을 수 있습니다.
- MediaWiki 역사
- 왜 말라리아의 Magnus인가 웨일즈의 Wikipedia Day를 기념합니다.
- The Architecture of Open Source Applications (Volume 2) : MediaWiki
답변
프로그래밍을 시작했을 때-당시 17 살이었을 때 PHP는 저에게 “역대 최고의 언어”였습니다. 시작합니다.
어떻게 시작 했나요? XAMPP를 내 Windows 컴퓨터에서 MySQL, Apache의 경우 “시작”을 클릭했습니다. 나는 푹 빠졌다. 스크립트를 /htdocs
에 넣고 localhost / test.php를 통해 실행하는 기능은 마술이었습니다.
웹 사이트가 라이브되기를 원하십니까? 호스팅, FTP 및 짜잔을 통해 스크립트 업로드!
데이터베이스? 얼마든지 요. 예전의 mysql\_query()
를 수행하고 하루를 부르세요. 그런 다음 몇 년 후 내부에서 작동하는 방식 (즉, XAMPP에있는 “시작”버튼이 무엇인지 알고 있음)을 배우고 다른 언어를 사용해 본 후 PHP가 얼마나 추하고, 일관성이없고, 무작위로, 안전하지 않으며, 어수선한 지 깨달았습니다.
어떤 사람들은 그 XAMPP 버블에서 절대 빠져 나가지 않는다고 생각합니다. 그들은 단지 가장 편한 것을 고수하고 마지막 숨을 쉴 때까지 방어합니다. 이것은 그들에게 종교와 같습니다.
제가 본질적으로 호기심이 없었다면 아마도 예전에했던 것처럼 서버 측에서 JavaScript를 사용하여 PHP로 모든 것을 할 것입니다. Node.js를 좋아하고 완전히 전환 할 수도 있습니다.
하지만 저는 Node.js를 싫어요 합니다.
언급 된 사항의 장단점 :
PHP 단점
- 모든 가능한 패러다임, 기능, 무엇이든 생각할 수 있습니다. PHP가 구현했습니다. 특성 이 필요하십니까? goto 가 필요하십니까? OOP 가 필요하십니까? 기능 이 필요하십니까? 다른 것이 필요하십니까? 해냈습니다.
- PHP 7이 빠르다고합니다. 빈 Laravel 설치로 벤치마킹하면 빠릅니다. “일반 플러그인 설정”및 “다중 언어 선택기”로 WordPress를 설치해보십시오. 행운을 빕니다.
- 보안은 PHP에서 농담입니다. SQL 주입을 모두 기억하십니까? 이들 중 90 \%는 PHP 사이트였습니다.
mysql\_query()
가 “SQL 쿼리를 수행하는 매우 쉬운 방법”이라고 광고하는 것이 매우 멋지다고 결정했기 때문입니다. 세상에서 가능한 모든 튜토리얼이 시작됩니다. 여기에 PHP에서 데이터베이스를 쿼리하는 방법이 있습니다.mysql\_query(“SELECT * FROM article WHERE id =”. $\_GET[‘id’])
그렇게 쉽습니다 !!! 보다? 자바와는 다릅니다. 먼저 성명서를 준비해야합니다! 너무 상용구입니다 !! Boring !!! -
file\_get\_contents(“https://www.example.com”)
및file\_get\_contents(“../foo.txt”)
및file\_get\_contents(“php://input”)
그리고 당신은 무엇입니까? 이는file\_*
이므로 파일 내용을 가져 오기위한 것입니다. 말할 것도없이fopen()
. -
error\_reporting(0)
놀라운 일을 할 수 있습니다. - 할 수 있습니다. “표준 라이브러리”에 대해 계속 설명합니다.
장점
- PHP의 성공은 Apache mod\_php 모듈입니다.
- 스크립트를 업로드하기 만하면 작동합니다.
- 스크립트를 삭제하면됩니다. 더 이상 작동하지 않습니다.
- {}가있는 코드를 본 적이 있다면 “이봐 Java | C ++ | C 등과 같은 코드지만 그냥
$
변수 이름 앞에. - ftp를 통해 스크립트를 업로드하면 우리가 살아 있습니다.
- PHP는 세계에서 가장 큰 커뮤니티 중 하나입니다.
- 배열? 그 목록입니까, 아니면 사전입니까? 음, 둘 다입니다 (이건 정말 사기입니다.하지만 사람들은 양방향으로 작동하는 것을 좋아합니다. 누가 순서를 지키지 않는 사전에 신경을 쓰나요?!)
- 실제로 PHP에서 빛을 발한 것은 작곡가입니다.하지만 요즘에도 거의 모든 사람들이 일종의 패키지 관리자를 가지고 있습니다…
- 라 라벨은 사람들에게 OOP가 갈 길이라고 확신하고 우리는 잊을 필요가 있다고 확신하기 위해 구출했습니다. 그 모든 불쾌한
mysql\_*()
말도 안됩니다. 그러나 사람들은 비즈니스 로직을 어디에 둘지 혼란스러워합니다. 저장소 였나요? 모델 또는 컨트롤러였습니까? 아니면 미들웨어? 어디? 흠, 생각해 보겠습니다. 트레이 트가 트릭을 할 것 같습니다…
노드 단점
- 끔찍한 라이브러리 —
npm install winston
,hipster-webserver
등. 로깅 라이브러리 를 원하고9 개의 다른 라이브러리. 제발하지 마세요.
- 콜백 지옥; 비동기 대기 구문을 제외하고는 아무것도 할 수 없지만 대부분의 라이브러리는 작성자가 자랑스러워하는 다른 “발명”에 대한 일반 콜백 또는 약속입니다. 약속은 내가 최근에 경멸하기 시작한 혼란이 적은 콜백 일뿐입니다.
장점
- 빠른 I / O 및 v8 실행 속도. 그래서 뭐? libuv로 무엇이든 할 수 있습니다. MagicStack / uvloop 로 Python을 압축하고 벤치 마크를 수행합니다. 이 작업을 더욱 우아하게 수행하는 다른 언어는 말할 것도없고
- 쉬운 입력. 이것은 실제로 나쁜 것입니다. 백엔드 능력을 발견하는 프런트 엔드 개발자. 그냥하지 마세요.
내가 Node를 원하는 유일한 방법은 사양이있는 경우입니다. 라이브러리가 완벽하게 구성되고 동일한 코딩 스타일로 프로그래밍되는 곳입니다. 스타일 발명을 중단하십시오. . 끔찍합니다.
타사 라이브러리를 살펴보면 이해할 수없는 코드 구성과 스타일이 보이면 포기합니다.
Node는 누군가가 16 살짜리 아이에게 차와 30,000 달러를 준 것과 같습니다. 그래서 그가 그것을 포주 할 수 있습니다.
긍정적으로 PHP가 아니었다면 프로그래밍을하지 않을 것입니다. 아이가 가장 오래된 장난감을 볼 때 그것을 보는 경향이 있습니다. 나는 그것을 가지고 놀지 않을 것입니다. 그러나 그것을 보면 약간의 추억을 가져다주고 내 얼굴에 미소를 짓습니다.
In the 끝, 당신이 무언가를 만들 때-당신이 그것에 충분한 노력과 마음을 넣고 사람들이 그것을 좋아한다면-언어는 중요하지 않습니다. 최종 결과가 중요합니다.
평화