미래의 프로그래밍에 필요한 것
프로그래밍은 예로부터 변하지 않은 화두로, 프로그래밍에 대한 추측은 봄비 뒤에 버섯처럼 튀어나온다. 과학자들은 시간이 일정한 속도로 전진한다고 하고, 현자들은 모든 것이 빛의 속도로 변한다고 말한다. 그러나 기술의 급격한 변화는 여전히 눈 깜짝할 사이에 풀리지 않는다.
많은 사람들이 미래를 내다볼 수 있기를 바라지만 향후 5년은 추측에 불과합니다. 기술 발전을 예측하는 것은 환상입니다. 왜냐하면 혁신의 영향은 현재의 많은 기술과 도구를 쓸모없게 만들기에 충분하기 때문입니다. 그럼에도 불구하고 우리는 여전히 이 운명의 찻잎을 살펴보며 안개를 걷어내고 미래를 엿볼 수 있으며 그때까지 기술이 어떤 모습일지 확인할 수 있습니다.
기술적 성과의 최전선에 서서 과감하게 미래를 바라보고 있습니다. 모든 전망이 실현되는 것은 아니며 놀라움조차 말할 수 없습니다. 실제로 많은 추세는 몇 년 전에야 날카로운 가장자리를 보여주었습니다. 개발자들이 향후 변화에 대응하고 빠른 계획을 세우는 능력을 향상시키는 데 도움이 되는 귀중한 참고 자료가 되기를 바랍니다.
1. REST는 처음부터 IoT를 지배했습니다. REST 프로토콜은 전체 네트워크를 관리합니다. 이러한 추세는 온도 조절 장치, 도어 잠금 장치, 주방 가전 제품 등이 점점 더 성숙해지는 IoT(사물 인터넷)에 통합되기 위해 경쟁함에 따라 계속될 것입니다. 사물 인터넷은 다른 SCSI, USB 또는 SATA 네트워킹이 아닌 사물 인터넷입니다.
그 이유는 매우 간단합니다. REST 프로토콜의 단순성은 프로그래머가 선호하는 인프라로 인해 REST 프로토콜이 간단하고 사용하기 쉬워지며 코드 허점을 더 쉽게 찾을 수 있습니다. 한 눈에 이렇게 명확하게 데이터를 텍스트 형식으로 저장할 수 있는 프로토콜은 없습니다. 포트 80의 Nginx와 HTML 및 CSS의 지속적인 장치 업데이트 스트림을 갖춘 새로운 보안 카메라, 전자레인지 또는 회전식 코털 트리머가 출시되더라도 놀라지 마십시오.
2. 바이너리 프로토콜의 다시 등장. REST 프로토콜을 기반으로 JOSN 패킷으로 데이터를 보내는 것은 이전 XML 데이터와 태그 페이로드의 90%보다 훨씬 간단합니다. 그러나 효율성에 극도로 초점을 맞춘 프로그래머는 왜 바이너리 데이터를 문자열로 변환해야 하는지 의문을 가질 수 있습니다. JSON에서는 어쨌든 문자열을 바이트로 구문 분석해야 합니다. 그렇죠? 특히 IoT가 몇 바이트의 데이터만 전송하는 경우 바이트만 전송하면 안 될까요?
더 많은 바이너리 프로토콜을 만드는 것은 시간이 많이 걸리고 힘들며 HTTP 표준은 원래 텍스트입니다. 많은 프로그래머들은 독점적인 코드 기반으로만 풀 수 있는 독점적인 바이너리 프로토콜로 작업해 왔으며 이 접근 방식이 항상 작동하는 것은 아니므로 실망스러울 수 있다는 것을 알고 있습니다.
비교하면 개방형 JSON과 REST의 장점은 분명하지만 이것이 바이너리 프로토콜을 사용한다고 해서 개방형 표준이 효율적으로 작동할 수 없다는 의미는 아닙니다. 사물 인터넷은 그 어느 때보다 더 많은 데이터를 생성할 것이며, 많은 장치는 더욱 엄격한 인코딩 요구 사항으로 인해 대량의 작은 데이터 패킷을 소비하게 될 것입니다. 효율성이 어려운 요구 사항이 되면 프로그래머는 데이터베이스에 보다 효율적인 바이너리 프로토콜을 추가하는 방법을 찾을 것입니다.
3. 비디오 스트리밍으로 인해 HTML이 더 이상 사용되지 않게 됩니다. 웹사이트에서 웹사이트로 스크롤하고, 페이지의 텍스트를 읽고, 더 많은 정보를 얻기 위해 하이퍼링크를 클릭하는 시대는 지났습니다. 이제 우리는 몇 시간, 심지어 며칠 동안 TV 앞에 앉아 있다가 에피소드가 끝나면 소파에서 나른하게 일어섭니다. . 키보드를 사용하는 유일한 시간은 Netflix에서 다음 시즌이 언제 나오는지 확인하는 것입니다. 인터넷은 새로운 세대의 텔레비전이 되었고, 우리의 사고를 돕기 위해 텍스트 기반 대화형 모델을 따라 꾸준한 비디오 스트림이 확산되고 있습니다.
전적으로 사실이 아닙니다. 많은 사람들은 인터넷이 텔레비전을 해방시켜 더 많은 사람들이 컴퓨터 앞에 앉아 간식을 먹고 TV 프로그램을 시청할 수 있게 되었다고 생각합니다. "Saturday Night Live"가 여전히 토요일 밤에 방송되는지, 아니면 심지어 생방송까지 방송되는지는 모르겠지만 웹사이트에서 쉽게 검색할 수 있다는 것은 알고 있습니다. 오프닝 독백이 아직도 남아 있나요? 특별한 게스트 호스팅 세션이 있나요? 누가 알겠어요?
그런데도 TV 팬들은 화면을 보고 웃을 수밖에 없습니다. 스크롤할 마우스 클릭이나 웹 페이지가 거의 없습니다. 아마도 차세대 비디오 앱은 더 많은 비디오 레이어를 추가하고 기존 도구를 개선할 것입니다. Flash의 종말과 HTML5의 등장으로 HTML 병합 비디오 클립에 대한 많은 가능성이 열렸으며 이는 프로그래머에게 큰 도움이 되었습니다. 그 전에는 TV 프로그램이 인터넷 거대 기업의 지원을 받든, 대문자 3개의 공영 방송이 지원하든, 사용자들은 수십 년 전과 다르지 않게 수동적으로 앉아 있었습니다.
4. 통화는 더 이상 스마트폰의 주요 기능이 아닙니다. 아직도 전화를 걸기 위해 스마트폰을 사는 사람이 있을까요? 문자 메시지 보내기, 이메일 확인, 웹사이트 방문 등 할 수 있는 일이 많습니다. 이 작은 직사각형 화면은 지난 10년 동안 삶의 모든 측면에 혁명을 일으켰으며, 그 미래는 더욱 흥미진진합니다. 더 많은 센서, 더 스마트한 마이크, 카메라 및 가속도계...그러나 이는 또한 휴대폰의 상업적 사용과 개인적인 사용 모두 특정 개인 정보 보호 위험에 직면하게 된다는 것을 의미합니다.
과거에는 사람들이 도움을 받기 위해 의사 사무실 밖에서 몇 시간을 기다려야 했지만 이제는 수백 개의 회사가 스마트폰을 심장 박동을 듣는 마이크와 목을 관찰하는 데 사용되는 카메라를 갖춘 작은 개인 의료 기기로 바꾸려고 노력하고 있습니다. 가속도계는 피트니스를 추적할 수 있습니다. 이 데이터는 클라우드로 전송되어 적합한 의사를 빠르게 찾는 데 도움이 됩니다.
그렇습니다. 차세대 스마트 장치는 오늘날의 기술을 압도할 것입니다. 내비게이션 앱은 경로 계획에 도움을 줄 수 있고, 계획 앱은 운전 이외의 거의 모든 작업을 수행할 수 있으며, 피트니스 추적 앱은 수면 및 근무 시간 동안 신체 상태를 지속적으로 기록할 수 있습니다. 휴대폰이든 다른 장치이든 이러한 모바일 애플리케이션은 계속해서 끝없이 등장할 것입니다.
5. 데이터베이스가 더 크고 강력해졌습니다. 그렇습니다. 검색 엔진은 웹 페이지를 색인화하고 있으며, 차세대 위치 기반 애플리케이션과 자율주행차 시장 확대 덕분에 전 세계를 색인화하는 데이터베이스가 이미 존재합니다. Waze와 같은 앱은 사용자를 추적하여 개발자와 사용자 모두를 위해 포괄적인 세계 지도를 작성합니다. 지도 제작자가 항공 사진을 눈여겨보는 시대는 지났습니다. 도로가 막혔는지, 소가 교통을 막고 있는지, 토목 기술자가 새 도로를 추가했는지 즉시 알 수 있습니다.
예를 들어 자율주행차는 빨간 가로등, 신문 자판기, 소화전의 위치 데이터를 입력하여 여행의 안전을 보장할 수 있습니다. 데이터의 규모는 너무 커서 자율주행차에 적용하기에는 충분합니다. 지방자치단체는 언제 어디서 도로 수리가 필요한지, 가로등이 어디에서 파손되었는지에 대한 정보를 갖고 있으며, 경찰은 거리에 있는 사람들 이상의 데이터를 갖고 있습니다.
데이터베이스에는 각 도시의 움푹 들어간 곳과 수리에 필요한 기간까지 기록됩니다. 이 모든 것이 당신을 압도한다면 로봇은 확실히 당신의 마음을 더욱 감동시킬 것입니다.
6. JavaScript를 직접 작성하지 않고도 지배적인 언어가 될 것입니다. 우리가 JavaScript를 작성하지 않으면 누가 작성할까요? 답은 모든 언어를 브라우저나 Node.js가 이해하는 언어로 변환할 수 있는 트랜스코딩 봇입니다. 프로그래머가 싫어하는 많은 구두점을 제거하는 간소화된 CoffeeScript와 같이 GitHub에서 실행하려면 점점 더 많은 코드를 "컴파일"해야 합니다. CoffeeScript에는 Coco, Iced CoffeeScript, CoffeeScript II: The Wrath of Khan 등 수십 가지 버전이 있습니다.
이것은 시작에 불과합니다. 많은 프로그래머가 현명하게 Cobol, Java, Lisp, C 및 기타 언어용 코드 변환기를 작성했습니다. 이제 이러한 언어는 변환 및 개선되었으며, 신속하게 제공되고 구문 분석되어 브라우저에서 실행됩니다. 당신이 알고 있는 언어를 변환하는 봇 소프트웨어가 있는데 왜 JavaScript를 사용하는 데 어려움을 겪으십니까?
7. PHP는 Node.js에 맞서 싸울 것입니다. 하지만 이는 단지 레거시 애플리케이션이 다시 작성되는 것을 방지하기 위한 것입니다. 몇 년 전 사람들은 Node.js와 JavaScript가 서버를 장악하면서 PHP가 역사의 무대에서 사라질 것이라고 생각했습니다. 이제 이 마지막 전투를 치러야 할 때까지 "은퇴 시간"이 지연될 수 있는 것 같습니다. PHP 7 및 HipHop 가상 머신과 같은 최신 인스턴트 도구는 더 빠르고 원활하게 실행되므로 WordPress 및 Drupal과 같은 코드 기반이 30%, 40%, 50% 또는 100% 더 빠르게 실행됩니다.
동일한 코드가 브라우저와 서버 모두에서 실행될 수 있다는 등 프로젝트 개발을 위한 JavaScript의 다른 장점은 여전히 존재하지만 이 경우 Node.js를 사용하여 기존 PHP 코드 기반을 대체할 이유가 없습니다. 이러한 오래된 플랫폼은 결국 다시 태어날 것입니다.
8. 시작하기는 쉽지만 마스터하기는 어렵습니다. 소프트웨어 개발을 가르치고 배우는 것이 더욱 쉬워졌습니다. 2014년 12월 8일, 미국의 오바마 대통령은 중동 문제와 대테러 문제를 제쳐두고 한 시간 동안 코드를 작성하고 학습했습니다. 이것이 그의 "Obamacare" 웹사이트를 더욱 원활하게 만들 수 있을지 궁금합니다.
가르치는 대상이 사람이건, 애완견이건, 앵무새이건 간에, 코드 교육 열풍은 수년 동안 계속될 것입니다. 실제 프로그래머가 할 수 있는 가장 좋은 일은 미소와 격려의 말로 응답하는 것입니다. 더 많은 사람들이 코딩 학습 대열에 합류할수록 조정 숫자, API 등을 다루는 것이 얼마나 까다로운지 더 많이 깨닫게 됩니다. 오바마처럼 한 줄의 코드를 작성하는 것은 쉽지만, 수백만 개의 코드로 구성된 완전한 시스템은 일반 사람들이 제어하기 어렵습니다.
어떤 재능 있는 사람들은 문에 들어서자마자 물 만난 물고기처럼 될 수도 있지만, 대부분은 고개를 꼿꼿이 펴고 속으로 불평만 합니다. 루프를 작성하는 것은 쉽지만 가장 적합한 것을 선택하는 것은 어렵습니다. 어렸을 때 나무를 자르는 법을 배운 사람은 몇 명입니까? 그러나 미래에 목수의 절묘한 기술을 습득한 사람은 몇 명입니까?
9. 지시하는 BOSS는 사람을 미치게 만든다. 이것은 실제로는 전망이 아닙니다. 그들은 이미 해냈기 때문입니다. 이 상사들은 프로그래밍 집중 강좌를 수강했고 마치 전문가처럼 느껴졌고 프로그래머들은 “도움”을 받았습니다.
"변수를 사용하시겠습니까?" 그들은 "여기에 상수를 사용하시겠습니까? 이 경우에는 그냥 웃으며 감사하다고 말하세요."라고 말하곤 합니다. 이제 당신 차례입니다. 할 수 있는 유일한 일입니다.
프로그래밍에 필요한 것은 단지 추측이 아니라, 후발자가 이를 통해 배우고 기술을 향상시킬 수 있도록 자신만의 프로그래밍 추구와 지속적인 혁신이 더 필요합니다.
Brotherhood Gao Luofeng은 무료로 제자를 모집합니다: http://www.hdb.com/party/lzcw-comm.html
LAMP Brothers의 원본 PHP 비디오 튜토리얼 CD/"Elaborate PHP" 필수 버전을 무료로 받으세요. 자세한 내용은 공식 웹사이트의 고객 서비스에 문의하세요:
http://www.lampbrother.net
[Brothers IT Education] PHP, Linux, HTML5, UI, Android 및 기타 비디오 튜토리얼(코스웨어 노트 비디오)을 배워보세요!
네트워크 디스크 튜토리얼 다운로드: http://pan.baidu.com/s/1sjOJiAL
위 내용은 내용의 측면을 포함하여 향후 프로그래밍에 필요한 사항을 소개한 내용이므로 PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.