PHP 예제로 살펴보는 웹 스크래핑(웹 크롤링)의 원리와 실제

웹 스크래핑(Web Scraping)은 웹 페이지로부터 원하는 정보를 추출하는 기법입니다. 어떤 서비스에서 API가 별도로 제공되고 있지 않지만 웹 페이지로는 정보가 제공되고 있을 때, 웹 스크래핑 기법을 이용하면 원하는 정보를 획득할 수 있습니다. 웹 스크래핑은 흔히 웹 크롤링(Web Crawling)이라고도 많이 불립니다. 물론 엄밀하게 Continue reading

웹표준을 지키려면 <table> 태그를 사용해서는 안된다는 오해

웹표준 준수와 의미론적 마크업이 새로운 패러다임이 되면서 퍼진 몇 가지 왜곡된 사실이 있습니다. 그 중에서도 가장 잘 알려진 것은 <table> 태그의 사용을 금기로 삼는 것입니다. 언젠가부터 퍼지기 시작한 이러한 오해는 끝내 <table> 태그를 사용한 모든 마크업에 전근대적이라는 오명을 씌우게 되었습니다. Continue reading

PHP에서 데이터를 파일로 캐싱(Caching)하기

성능좋은 인프라와 빠른 속도의 DB Query로 아무리 구성하고자 노력한다 하더라도, 캐싱은 여전히 웹프로그램의 성능을 향상시키기 위한 가장 고전적이면서 가장 가성비 높은 해법입니다. PHP에서는 APC와 같은 모듈을 활용하는 것이 일반적이지만, 특정 웹페이지에서 사용하는 데이터를 핀포인트로 캐싱할 때는 이를 직접 구현해보는 것도 선택가능한 Continue reading

PHP 예제로 살펴보는 즉시실행함수의 필요성과 구현방법

즉시실행함수(IIFE, Immediately-Invoked Function Expression)는 소스코드 중간에 익명함수를 실행하여, 임시로 사용할 변수들을 지역변수로 선언하여 사용하는 디자인 패턴을 말합니다. 즉시실행함수가 즐겨 활용되어 온 대표적인 언어는 자바스크립트이지만, 최근에 PHP에서도 7버전에 익명함수가 등장하면서 사용이 가능해졌습니다. 이번 포스팅에서는 먼저 전역변수의 위험성을 살펴봄으로써, 즉시실행함수가 왜 필요한지를 설명합니다. 이어서 Continue reading

PHP 소스코드에서 R 스크립트 실행하기

데이터와 통계분석에 활용되는 R을 웹 언어에서 실행한다면, 강력한 시너지 효과를 기대할 수 있을 것입니다. 그러나 많은 개발자들의 도전에도 불구하고 이것은 쉽지 만은 않은 과제였는데, 그 이유는 바로 R을 Input File 없이 커맨드라인에서 실행할 수 있는 방법이 녹록치 않았기 때문입니다. 이번 Continue reading