모던 PHP란 무엇인가? > 개발관련
개발관련

모던 PHP란 무엇인가?

조회 295회 댓글 0건
  • 현재 페이지 주소 복사
  • 페이스북으로 공유
  • X 로  공유
  • 트위터로  공유
  • 네이버 블로그로 공유
  • 네이버 카페 공유하기
  • 네이버 라인 공유하기
  • 네이버 밴드 공유하기
  • 링크드인으로 공유하기
  • 핀터레스트에 공유하기

모던 PHP는?

일반적으로 PHP 5.3(2009년) 이후를 가리키는데 이 버전부터 네임스페이스, 클로저, 늦은 정적 바인딩 등 현대적인 기능이 도입되면서 객체지향 프로그래밍과 함수형 프로그래밍 요소가 강화되었습니다. 

특히 PHP 7.0(2015년)부터는 성능 개선(Zend Engine 3.0)과 새로운 기능(타입 선언, null 병합 연산자 등)이 추가되어 모던 PHP의 기준으로 자주 언급 되고 최신 PHP 8.0(2020년) 이상으로, JIT, 유니온 타입, 속성(properties) 등 고급 기능이 포함됩니다.


- PHP 5.3 (2009년): 모던 PHP의 시작점.

- PHP 7.0 (2015년): 성능과 기능 면에서 큰 도약.

- PHP 8.0+ (2020년~): 현재 모던 PHP의 표준.


그리고 PHP로 시작한 페이스북은 JIT를 사용하지 않은 PHP7고의 성능대결?이 있었고 지금은 다른길을 가고 있습니다.

이 때문인일까요? PHP는 6버전이 없는데... 찾아보니 페북의 Hack과의 경쟁 문제는 아니라고 합니다.

더 이상 페이스북(현 메타) HHVM에서 PHP는 지원하지 아니하는 것으로 알려져 있습니다. 


쓰다보니 약간 관계 없을 것을 쓰게 되었는데 통상 범용적인 언어를 가지고 본인 회사에 맞게 쓸데 없는 것은 버리고 꼭 필요한것만 넣고 기능 추가 하고 그렇게 발전해 가면 범용적인 언어보다 속도가 떨어지는것이 이상한 일일것입니다. 흔히 사용하는 윈도우만 봐도 커스텀할때 쓸데 없는것 올라오지 못하도록 막는것 부터 시작하는데 가장 쉬운 자원절약이죠


쉽게 말하면 요즘에 새로나온 기능으로 PHP 프로그램 하고 있냐 라고 말하는 것입니다.

그런데 말입니다. 요즘 새로나온 라이브러리가 이것을 사용하기 때문에 안한다고 말 하기도 그런것이 사용방법을 보면 그렇게 써야 하기 때문에 쓰기 마련입니다.


클래스만으로 만든 패키지나 CMS 같은것 보면 아.... 부모찾아 잘못된 원인을 찾는데 그렇게 많은 시간을 쓸 필요가 있나

함수로 만들면 저런짓은 안할 텐데 ....



 

상속에 의한 재사용성도 함수로 만든것도 가능 합니다.

이걸 재사용성 이라고 하기엔 그렇지만 핵심은 기능확장이나 강화같은것을 하는 것으로 불가능 하지 않다는 것입니다.

기존함수명은 건드리지 않고 파라미터를 통해서 가능하지요. 파라미터 받은 것을 새로운 함수에 그대로 넘기는 방식으로 만들어도 되고

파라미터 타입을 보통 주지 않기 때문에 더 많은 파라미터는 배열로 받은 다음 파라미터가 배열이다 그렇다면 특정 연관배열명이 있는지 확인하고 조건 처리 하는 방식으로 얼마든지 가능 합니다.


설계라는 것은 어떤것이 있는지 알고는 범위내에서 확장도 하고 기획도 하고 그런것이기 때문에 항상 새로운 버전이 생기기 마련입니다.

미래에 어떤일이 일어날지 알면 설계 단계에서 넣겠지만 현실은 그렇지 않으니 그렇지요.

우리가 사용하는 윈도만 봐도 그렇듯이 주기적으로 처음부터 완전히 새로운 코드로 작성되어 성능을 높이는 방법을 선택 합니다.


그리고 상황에 따라 답이 달라지는 것이기 때문에 어떤것이 답이다라고 말하는 것은 아닙니다.

전 클래스만 사용하다가 함수위주로 사용하면 옷을 하나 입지 않은 느낌이 들던데요 캡슐화라고 하지요.

하지만 쉬운것을 어렵게 하지 말자 입니다.


  • 현재 페이지 주소 복사
  • 페이스북으로 공유
  • X 로  공유
  • 트위터로  공유
  • 네이버 블로그로 공유
  • 네이버 카페 공유하기
  • 네이버 라인 공유하기
  • 네이버 밴드 공유하기
  • 링크드인으로 공유하기
  • 핀터레스트에 공유하기
전체 225건 1 페이지
  • profile_image 이건 백엔드는 데이터베이스등 서버개발이 유용한 측면들이 많죠.테스트 서버에서 작업하고 git으로 올리는 방법도 있고 git은 백업용도로만 사용하고 다중서버에 직접 올리는 방법도 있습니다.로컬의 편리한 UI + 서버의 강력한 자원 및 환경이 두 가지 토끼를 모두 잡을 수 있는 기능으로 저사양 노트북을 사용하더라도 강력한 클라우드 서버에 연결만 되어 있다면 그 서버의 성능을 내 것처럼 활용할 수 있게 됩니다.사용해 보시면 이런 좋은것을 이제 알았다니 할것입니다. 1. 로컬 환경과의 완벽한 분리 (Clean Local Machine)가장 큰 장점은 내 컴퓨터에 아무것도 설치할 필요가 없다는 것입니다.- 의존성 관리:…
  • profile_image 제목을 반대로 적어 보았습니다. 결국은 어떤 방식을 사용 했을 때 더 효율적이냐 많이 변화 시켰는데 실제 변화된 것이 있느냐.- 웹사트의 예를 들면 화면단에서 변한것이 아무것도 없이 내부적으로만 변경됨- 내부적으로 변경이 많이 되었다는데 시간 차이는 별 다른게 없음- 머지 한다고 충돌 난다고 더 오래 걸리면? 소규모 팀에서 Git을 쓰지 않으면 시대에 뒤처진다고요? 상황에 따라 Git은 오히려 불필요한 복잡성을 더할 수 있으며 아래 경우라면 Git 없이도 충분합니다.5명도 안되는 소규모 팀인 경우 매일 얼굴 보고 대화하는 사이라면 브랜치 전략이나 PR 리뷰 프로세스는 그냥 회의 한 번이면 해결됩니다팀원…
  • profile_image 먼저 실용성 문제에서 작은것이 필요하면 14인치 사면 됩니다.반드시 큰 화면이 필요하면 16인치 아니면 더 큰 것을 사면 되겠지만.여기선 이런 문제가 아니라 성능과 사용성 면에서 어떤것을 선택하는 것이 바람직한가 입니다.노트북은 이동성의 특성상 가능하면 얇게 만들려하고 있습니다.그렇기 때문에 가장 취약 부분이 발생하는 열의 처리 문제가 있는데 크면 클 수록 열처리하는데 있어 물리적으로 유리한 측면이 있습니다.그렇기 때문에 큰 화면 보다 발생하는 열 측면에서 배터리와 속도 모두 효율적인것은 크기 입니다. 발생하는 열을 처리 하는 방법은 냉각팬을 열심히 돌려서 식히는 방법과 다른 방법은 속도를 떨어트려 열 발생이 …
  • profile_image 텔레그램에서 봇파더를 이용해서 봇을 만들고 나서 이 봇에게 API로 메시지를 보내려면 chat_id가 필요한데 이걸 쉽게 알 수 있도록 하나 만들었습니다. cht id 란?텔레그램 봇 API로 메시지를 보내려면 대상의 chat_id(숫자)가 필요합니다.봇 토큰만으로는 메시지를 보낼 수 없고, 누구에게 보낼지를 지정하는 chat_id가 반드시 있어야 합니다.---요즘은 개발자가 아니어도 필요 할 수 있고 LLM에게 물어보면 쉽게 알려주기도 하지만 이것이 필요 할 수 있을것 같아 만들어 봤습니다.봇파더(BotFather)에서 /mybots 하면 봇의 목록을 볼 수 있고 클릭하면 어렵지 않게 이해가 가는 것들이 있고…
  • profile_image LLM은 한단어로 요약하면 두뇌 입니다. 이 인공 두뇌를 사용하기 위해 인터넷을 연결해 대형모델을 사용하느냐 아니면 인터넷 안되도 되는 환경에서 개인 컴퓨터에 뇌를 두고 사용하느냐 입니다.인공뉴런으로 만들어진 인공신경망을 학습시킨 인공 뇌 입니다.사람의 뇌는 뉴런이 있고 뉴런과 뉴런 사이에는 시냅스로 연결되어 학습에 따라 문턱치 값이 생기는데 이 값에 따라서 어떤것이 맞고 틀리고 뭐 그런것입니다.LLM이란?LLM(Large Language Model)은 말 그대로 대규모 언어 모델로 수천억 개에 달하는 파라미터를 기반으로 방대한 양의 텍스트 데이터를 학습해서 만들어진 인공지능 모델로 OpenAI의 GPT-4나 …
  • profile_image 스파게티코드가 생긴다고 말하시는 분도 있고 그런데 전 관계 없다고 봅니다.예를 들면 아파트 같은 빌딩 이런것은 안되지만 개인이 살 수 있는 2층집 정도는 문제 없다고 봅니다.코드를 내가 볼것도 아닌데 스파게티건 뭐건 무슨 관계가 있나요 원하는것 잘 되기만 하면 되고 빠르게 수정 되어 개선만 되면 되는 것이지.보안도 크지 않은 소스에선 잘 봐달라고 하면 되고 문제 될것은 없습니다.사실 하루 100명도 안들어는 사이트에 DBMS 설치하고 그렇기 보다 SQLite3 같은것 설치 해서 사용하는곳도 있는데이게 맞는 방식이죠. 오버스펙!!git 이것도 좋은점을 많이 나열하지만 작은 단위에선 오버스펙이죠항상 어떤기준에 의해서 원하는…
  • profile_image 내 맘대로 많이 써도 추가 비용이 없는 LLM 모델 입니다.성능 좋게 사용하고 싶으면서 저렴하게 H/W 구매 하는 방법은 애플 M4 pro 64G를 사면 연구용으로 괜찮은 편에 들어갑니다.인텔쪽 GPU 구매 하는것 보다 RAM 속도 때문에 좋고 소비전력도 적고 여러가지 면에서 좋은데 왜? 64G를 선택해야 하느냐는 자신의 상황에 따라 다르겠지만 이건 확장이 안되기 때문에 살때 높은것을 사야 합니다.좀더 바르게 사용하고 싶으면: ASUS 어센션 GX10 구매 하면 됩니다.  전체 설치 순서▷ IPEX-LLM Ollama Portable Zip 다운로드https://github.com/ipex-llm/ip…

상업적 이용 금지. 컨텐츠는 개인 용도로만 사용이 가능 합니다.