10여년 전의 '사랑의 역사' 공개: PHP와 Facebook의 관계
오늘은 세계 최고의 프로그래밍 언어인 PHP와 페이스북의 관계에 대한 이야기를 들려드리려고 합니다.
▲Love
PHP가 Facebook과 사랑에 빠질 수 있었던 것은 주로 창립자 Zuckerberg 덕분입니다.
하버드 학생인 Xiao Zha는 매우 불안하고 기발한 아이디어를 많이 가지고 있습니다. 그는 패스트푸드 웹 프로젝트를 만드는 것을 좋아합니다.
PHP의 특징은 빠른 개발과 빠른 출시입니다. 나는 한눈에 Xiaozha에 매료되어 Java, C#, Python 및 Perl을 사용하여 많은 작은 프로젝트를 개발했습니다.
강좌 매칭:
이 웹사이트에서 사람들은 자신이 수강하고 싶은 강좌를 선택할 수 있습니다. 또한 이 강좌를 선택한 다른 사람들의 이름을 입력하여 어떤 강좌를 수강했는지 확인할 수도 있습니다.
웹사이트는 매우 간단하고 일반 텍스트로 구성되어 있지만 Xiao Zha가 놀란 것은 많은 사람들이 이 웹사이트를 클릭하고 싶어한다는 것입니다.
웹사이트는 그의 개인 노트북에 배포되었습니다. 웹사이트는 매우 인기가 있었고 엄청난 방문수를 기록했고 곧 노트북이 마비되었습니다.
Facemash:
이 장면은 영화 "소셜 네트워크"에 묘사되어 있습니다. 샤오자는 데이트에 실패하고 아파트로 돌아와 맥주를 마시고 코드를 작성했습니다.
그는 허락 없이 하버드 여러 대학의 서버에 침입하여 주소록에서 사진을 '훔쳐' 자신의 웹사이트에 업로드하고 두 명씩 그룹으로 표시하고 사용자가 누가 더 섹시한지 판단하도록 허용했습니다.
새벽 4시, 하버드 대학교에서 Facemash가 바이러스처럼 퍼졌습니다. 트래픽이 너무 많아서 IT 부서에서 연결을 끊어야 했습니다.
Facemash는 또한 많은 불만을 불러 일으켰습니다. Zuckerberg는 Harvard 이사회에 의해 소환되어 거의 추방되었습니다.
The Rome of Augustus
수업이었는데, Zuckerberg는 프로그래밍하느라 바빠서 전혀 듣지 않았습니다.
아우구스투스 시대의 그림과 유물을 분석해야 하는 기말고사가 다가오자 그는 어안이 벙벙해졌습니다.
그래서 그는 문제를 해결하기 위해 프로그래밍을 사용하기로 결정했습니다. 그는 강좌 웹사이트에서 모든 사진을 가져와서 다른 학생들이 함께 공부할 수 있도록 자신의 웹사이트에 업로드했습니다.
결국 Xiao Zha는 이 강좌에서 '우수' 등급을 받았습니다.
▲결혼
이 작은 웹사이트는 Xiao Zha의 특징을 완벽하게 구현합니다. 그는 아이디어가 많고 그것을 빨리 실현하는 것을 좋아합니다.
PHP는 더티 코드를 생성하지만 중요한 것은 이를 빠르게 구현하는 것입니다. Xiao Zha에게는 최고의 도구가 되었습니다.
코스 매치를 통해 Xiao Zha는 사람에게는 주변 사람들을 이해하려는 강한 욕구가 있다는 것을 깨달았습니다.
Facemash를 통해 그는 사람들이 친구나 지인의 사진을 보는 것을 좋아하고, 다른 사람의 사생활을 엿보는 것을 좋아한다는 것을 알게 되었습니다.
"아우구스투스의 로마"를 통해 Xiao Zha는 사람들이 무료 콘텐츠를 공유하는 것을 좋아한다는 것을 깨달았습니다.
모든 것이 준비되었습니다. 전환점은 단 하나뿐입니다.
이때 쌍둥이 윙클보스 형제가 나타나 커넥트유(ConnectU)라는 소셜 제품을 만들어 달라고 부탁했습니다.
Xiao Zha는 약속했지만 계속 미루다가 마침내 PHP를 사용하여 자신의 소셜 네트워킹 사이트인 Thefacebook을 시작했습니다.
Thefacebook에는 처음에는 콘텐츠가 없으며 사용자가 콘텐츠를 채워야 합니다.
웹사이트에서 사용자는 자신의 사진을 업로드하고 취미, 선택 과목 등을 적을 수 있습니다.
사용자는 Poke를 통해 간단한 상호 작용을 할 수 있으며, 더 중요하게는 다른 사람의 콘텐츠를 탐색할 수 있어 "스누핑" 욕구를 충족시킵니다.
PHP와 Facebook이 결혼했습니다.
▲허니문
'백검'에서 조강은 "군대의 기질과 성격은 첫 번째 무장에 의해 결정된다"고 말했다. 이러한 관점은 기업에 적용할 때도 적합합니다.
Xiao Zha가 Facebook을 위해 만드는 스타일은 규칙을 깨고 신속하게 행동하며 완벽함보다 완성이 더 중요하다는 것입니다.
페이스북 팀을 외부에서 보면 자신들이 해커라고 생각하는 경우가 많습니다. 미친듯이 계속 시도하고 반복하는 스타일이 PHP와 정말 잘 어울리네요.
PHP의 도움으로 빠르게 반복되는 Facebook은 빠르게 하버드에서 벗어나 미국의 모든 대학에 진출했습니다.
그럼 미국을 떠나 세계로 달려가세요.
2012년 페이스북 사용자 수는 무려 10억 명에 이르렀습니다.
물론 페이스북도 중국 진출을 원했지만 성공하지 못했다는 점을 언급해야 한다. 샤오자 역시 급속히 '친중' 인물에서 반중 선봉으로 변신해 공개적으로 중국을 비방하고 " 지정학적 수단으로 중국을 죽인다”며 “경쟁사인 틱톡은 정말 전무후무하기 때문에 여기서는 일단 언급하지 않겠다.
▲이별
페이스북은 부자가 되자 PHP를 싫어하기 시작했습니다.
그는 종종 PHP를 "한동안 역동적으로 화장터를 재건하고 있다"고 풍자했습니다.
PHP의 성능을 모욕하기 위해 다양한 사진도 사용했습니다.
열악한 사용자 경험, 더 많은 서버의 필요성(즉, PHP에 더 많은 비용을 지출해야 함을 의미함) 등에 대해 말할 내용은 다음과 같습니다.
그는 또한 PHP를 다시 작성하겠다고 위협했습니다!
비난과 위협에도 불구하고 PHP는 항상 비웃습니다. Facebook이 거대하고, 복잡한 콘텐츠를 보유하고 있으며, 지원 생태계를 갖추고 있다는 것을 알고 있기 때문입니다. 전체 시스템을 다시 작성하는 것이 어떻게 가능합니까?
페이스북은 PHP를 폐기할 수밖에 없습니다. PHP의 실행 엔진인 Zend를 개선할 수 있는 방법만 찾을 뿐, 원하는 성능 향상을 달성하지는 못했습니다.
2010년 Facebook은 고통에서 교훈을 얻어 마침내 큰 움직임을 시작했습니다. HipHop은 PHP 코드를 고도로 최적화된 C++ 코드로 변환하고 컴파일 후 네이티브 코드로 실행할 수 있는 기능입니다.
전환 후 실행 효율이 6배나 증가한 것은 상당한 성과입니다.
그러나 힙합이 성능 면에서 한 단계 더 발전하기는 어렵습니다. create_function() 및 eval()과 같은 PHP 기능을 완벽하게 지원할 수는 없으며, 컴파일 및 배포 측면에서도 Facebook의 빠른 조치 요구 사항을 충족하기 어렵습니다.
2011년 Facebook은 PHP 가상 머신 HipHop VM(HHVM)을 구축했습니다. HHVM은 PHP를 바이트코드로 변환한 다음 이를 런타임 시 실행할 기계 코드로 동적으로 컴파일할 수 있으며 이는 JVM과 매우 유사합니다.
HHVM과 함께 도착하면 새로운 사랑도 있습니다: 언어 해킹.
Hack은 PHP의 방언과 동일하지만 프로그래머가 동적 및 정적 타이핑을 모두 사용할 수 있습니다.
이것은 PHP에 큰 타격입니다. PHP는 울고, 문제를 일으키고, 스스로 멈추지만 결국 성능과 유형 안전성은 매우 큰 시스템에 매우 중요합니다.
Facebook의 시스템은 점차적으로 Hack을 새로운 즐겨찾기로 채택하고 있습니다. PHP는 안타깝게도 떠날 수밖에 없습니다.
▲Follow-up
그러나 PHP의 시어머니는 성능을 크게 향상시킨 PHP7을 출시하고 Facebook의 HHVM에 접근했습니다. 이 경우에도 프로그래머는 여전히 PHP를 선택합니다. 커뮤니티의 오픈 소스 제품입니다.
PHP와 Facebook의 사랑 역사를 살펴보면서 우리는 PHP가 항상 웹 사이트를 빠르게 개발할 수 있다는 점에서 2000년대 초반 스타트업 기업에게 매우 매력적이라는 것을 알았습니다.
이때 PHP는 매력이 넘친다고 할 수 있습니다.
웹사이트 규모가 커지고 사용자 수가 늘어나면 PHP의 단점이 노출되어 사람들이 싫어하게 될 것입니다.
글쎄, 방금 PHP 시어머니로부터 이 글이 객관적이지 않다고 항의를 받았습니다. PHP7부터 성능이 크게 향상되었으며, PHP8은 물론 페이스북의 HHVM+Hack에도 가깝습니다. ...
글쎄, 세계 최고의 프로그래밍 언어가 계속해서 더 좋아지기를 바랍니다!
추천 학습: "PHP 비디오 튜토리얼"
위 내용은 10여년 전의 '사랑의 역사' 공개: PHP와 Facebook의 관계의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 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)

뜨거운 주제











PHP 8.4는 상당한 양의 기능 중단 및 제거를 통해 몇 가지 새로운 기능, 보안 개선 및 성능 개선을 제공합니다. 이 가이드에서는 Ubuntu, Debian 또는 해당 파생 제품에서 PHP 8.4를 설치하거나 PHP 8.4로 업그레이드하는 방법을 설명합니다.

VS Code라고도 알려진 Visual Studio Code는 모든 주요 운영 체제에서 사용할 수 있는 무료 소스 코드 편집기 또는 통합 개발 환경(IDE)입니다. 다양한 프로그래밍 언어에 대한 대규모 확장 모음을 통해 VS Code는

숙련된 PHP 개발자라면 이미 그런 일을 해왔다는 느낌을 받을 것입니다. 귀하는 상당한 수의 애플리케이션을 개발하고, 수백만 줄의 코드를 디버깅하고, 여러 스크립트를 수정하여 작업을 수행했습니다.

이 튜토리얼은 PHP를 사용하여 XML 문서를 효율적으로 처리하는 방법을 보여줍니다. XML (Extensible Markup Language)은 인간의 가독성과 기계 구문 분석을 위해 설계된 다목적 텍스트 기반 마크 업 언어입니다. 일반적으로 데이터 저장 AN에 사용됩니다

JWT는 주로 신분증 인증 및 정보 교환을 위해 당사자간에 정보를 안전하게 전송하는 데 사용되는 JSON을 기반으로 한 개방형 표준입니다. 1. JWT는 헤더, 페이로드 및 서명의 세 부분으로 구성됩니다. 2. JWT의 작업 원칙에는 세 가지 단계가 포함됩니다. JWT 생성, JWT 확인 및 Parsing Payload. 3. PHP에서 인증에 JWT를 사용하면 JWT를 생성하고 확인할 수 있으며 사용자 역할 및 권한 정보가 고급 사용에 포함될 수 있습니다. 4. 일반적인 오류에는 서명 검증 실패, 토큰 만료 및 대형 페이로드가 포함됩니다. 디버깅 기술에는 디버깅 도구 및 로깅 사용이 포함됩니다. 5. 성능 최적화 및 모범 사례에는 적절한 시그니처 알고리즘 사용, 타당성 기간 설정 합리적,

문자열은 문자, 숫자 및 기호를 포함하여 일련의 문자입니다. 이 튜토리얼은 다른 방법을 사용하여 PHP의 주어진 문자열의 모음 수를 계산하는 방법을 배웁니다. 영어의 모음은 A, E, I, O, U이며 대문자 또는 소문자 일 수 있습니다. 모음이란 무엇입니까? 모음은 특정 발음을 나타내는 알파벳 문자입니다. 대문자와 소문자를 포함하여 영어에는 5 개의 모음이 있습니다. a, e, i, o, u 예 1 입력 : String = "Tutorialspoint" 출력 : 6 설명하다 문자열의 "Tutorialspoint"의 모음은 u, o, i, a, o, i입니다. 총 6 개의 위안이 있습니다

정적 바인딩 (정적 : :)는 PHP에서 늦은 정적 바인딩 (LSB)을 구현하여 클래스를 정의하는 대신 정적 컨텍스트에서 호출 클래스를 참조 할 수 있습니다. 1) 구문 분석 프로세스는 런타임에 수행됩니다. 2) 상속 관계에서 통화 클래스를 찾아보십시오. 3) 성능 오버 헤드를 가져올 수 있습니다.

PHP의 마법 방법은 무엇입니까? PHP의 마법 방법은 다음과 같습니다. 1. \ _ \ _ Construct, 객체를 초기화하는 데 사용됩니다. 2. \ _ \ _ 파괴, 자원을 정리하는 데 사용됩니다. 3. \ _ \ _ 호출, 존재하지 않는 메소드 호출을 처리하십시오. 4. \ _ \ _ get, 동적 속성 액세스를 구현하십시오. 5. \ _ \ _ Set, 동적 속성 설정을 구현하십시오. 이러한 방법은 특정 상황에서 자동으로 호출되어 코드 유연성과 효율성을 향상시킵니다.
