프로그래밍 언어

    PHP: Interpreter, OPCache, ― JIT

    이번 시간에는 기존의 포스팅과는 깊이에서 차이가 있다. PHP 를 문법을 넘어 그 너머 살펴보고 코드가 해석되고 실행되는 과정을 살펴본다. 이를 고차원의 관점에서 볼 것이며 그러한 과정이 어떻게 구현되었지까지는 들어가지 않는다. 하지만, PHP 를 사용하는 개발자라면 알아두어야 할 사항을 살펴보도록 하자. 이 부분은 꽤나 중요한 부분이다. 고수준의 언어를 기계어로 바꾸기 가장 기본적인 부분부터 시작해보자. 일반적으로 우리가 사용하는 언어, 한국어, 영어와 같은 고수준의 언어를 컴퓨터는 바로 이해하지 못한다. 따라서 우리는 컴퓨터가 알아먹을 수 있는 기계어로 바꿔야 하는데, 그러한 기계어로 바꿔주기한 해석기로는 컴파일러와 인터프리터가 있다. 컴파일러 C, C++, Go, Rust 와 같은 언어는 컴파일러를..

    PHP: Thread Safe vs Non Thread Safe

    PHP for Windows 여기서 유독 PHP for Windows 버전에서는 Thread Safe, Non Thread Safe 로 나뉘는데 두 개는 어떠한 차이가 있는지 잠깐 살펴보기로 하자. 스레드는 프로세스 내부에서 동작하는 개별 로직이라고 생각하자. 사실 이건 PHP for Windows 의 사이드에서 친절하게 일부 설명이 들어있다. NTS(Non Thread Safe) PHP 는 기본적으로 멀티 프로세스 방식으로 처리하는데, PHP 를 CGI 방식으로 사용하게되면 요청마다 프로세스를 생성하는 방식을 취하게 된다. FastCGI 를 사용하면 PHP-FPM(PHP FastCGI Process Menager)가 어련히 알아서 요청을 처리해주므로 괜찮긴 하지만. 어찌되었든 일단 다중 스레드를 사용하..

    PHP: PHP 8 기능 정리 및 요약

    PHP 8 2015년 php7 이 등장한 이후 5년만에 php8 이 시동을 걸었다. 아직 베타 버전이지만, 2020년 11월 26일에 정식으로 8.0 버전이 릴리즈 되었으며, 기능은 확정되었고 문법적으로 큰 변화가 있었다. 페이스북의 HHVM(Hiphop Virtual Machine)이 그랬던 것 처럼 JIT(Just In Time) 컴파일러를 도입하여 속도는 크게 향상되었다. 물론 HHVM 보다도 속도는 이미 PHP 7.x 에서 넘어섰기 때문에 이 둘에 대한 비교는 하지 않아도 된다. 이 포스트에서는 대체로 문법적인 부분들을 살펴본다. https://www.php.net/releases/8.0/en.php PHP: PHP 8.0.0 Release Announcement PHP 8.0 is a major..

    PHP: 게시판

    게시판 해당 포스트에서는 간단하게 게시판을 만들어본다. 누군가 이런 질문을 하곤 한다. 게시판만 만들 줄 알면 취업할 수 있는거 아닌가요? 네, 아닙니다. 그렇다면 누구나 개발자로 취직하고 먹고살 수 있었을 것이다. 게시판은 그저 웹 프로그래밍을 시작하면서 그나마 프로그램 다운 프로그램의 첫번째 프로젝트라고 해도 될 것이다. 물론 게시판은 무궁무진하다. 블로그를 포함한 많은 것이 게시판을 기반으로 만들어졌다. 그만큼 게시판이라는 것은 모든 것의 기초이며 많은 것을 만들어 낼 수 있다. 우리가 만들 게시판은 그저 포스트를 쓰고, 읽고, 수정하고, 삭제하고, 리스트를 보는 게시판의 아주 기초적인 형태로만 작성할 것이다. 많은 기능을 포함하더라도 게시판의 본질을 파악하면 이를 응용하여 만들어볼 수 있을 것이다..

    PHP: 회원가입과 로그인

    회원가입 먼저 회원가입을 알아보자. 아주 간단하게만 이야기 할 것이며, 여기서는 데이터베이스 대신 배열을 사용하여 처리해보도록 하겠다. 데이터베이스를 사용하는 법이 궁금하다면, 아래의 글을 참고해보자. PHP: 데이터베이스 (MySQLi, PDO) PHP: 데이터베이스 (MySQLi, PDO) 데이터베이스 데이터베이스를 사용하는 일은 웹 어플리케이션을 작성한다면 대부분 있는 일이기에 이 부분을 빼놓을 수는 없다. PHP도 물론 오라클이나 MS-SQL 같은 다양한 데이터베이스에 연결�� pronist.tistory.com 폼 여기서 사용하는 폼은 회원가입과 로그인에서 둘 다 사용할 것이며, 차이점은 폼에서 요청하는 주소인 action 속성의 값 밖에 없을 것이다. 여기서 중요한 것은 각 input 태그가 ..