클래스를 사용하기 위해서는 객체를 생성하여 해당 메서드를 호출해 줘야한다. 다음과 같이 특정 작업을 수행하는 클래스가 있다고 가정하자. // index.php
[PHP] 웹 프로그래밍
·
Language/PHP
웹사전적 의미 그대로 웹은 망, 그물의 형태를 띠고 있는 네트워크이다. 웹 서비스는 클라이이언트-서버 모델을 기본으로 작동하고 있다. 클라이언트는 네트워크에서 정보를 요구하는 쪽을 의미하고, 서버는 요구받은 정보를 제공하는 쪽의 컴퓨터를 의미한다. 예를 들면 우리가 사용하는 웹 브라우저가 클라이언트이며 정보를 제공하고 있는 웹 사이트의 시스템은 서버가 되는 것이다. 웹이 동작되는 주요 요소로 웹 브라우저, 웹 서버가 있다. 일반적으로 사용하는 대표적인 브라우저가 크롬, 익스플로어이다. 웹의 동작은 클라이언트와 서버가 요청과 응답을 주고 받으며 진행된다. 클라이언트에서 서버로 정보를 요구하기 위해 보내는 메시지가 요청(request)이며, 요청을 받은 서버는 요구된 메시지에 대해 HTML이나 이미지 등의 ..
[MySQL] 5. 집계와 서브쿼리
·
DB/MySQL
20. 집계함수COUNT() : 행 개수를 반환 NULL 값이 있는경우 : COUNT(*)는 NULL 포함, 칼럼 지정할 경우 포함하지 않는다.AVG() : 해당 행 평균MIN() : 해당 열의 최소값MAX() : 해당 열의 최대값 GROUP BY가 MIN/MAX의 경우 EXPAIN을 실행해보면, Using index for group-by를 확인할 수 있다.22. 그룹화GROUP BY 구에 열을 지정하여 그룹화하면 지정된 열의 값이 같은 행이 하나의 그룹으로 묶인다. GROUP BY 구로 그룹화된 각각의 그룹이 하나의 집합으로서 집계함수의 인수로 넘겨진다.xxxxxxxxxxSELECT ...FROM 테이블명GROUP BY 열1, 열2, ....GROUP BY에서 조건을 주고 싶을 경우 WHERE를 사용..
[Redis] About Redis
·
DB/Reids
Remote Dictionary Server의 약어인 Redis는 데이터베이스, 캐시, 메시지 브로커 및 대기열로 사용하는 빠르고 오픈 소스, 인 메모리 키-값 데이터 스토어입니다. 이 프로젝트는 Redis의 원 개발자인 Salvatore Sanfilippo 씨가 이탈리아 스타트업의 확장성을 높이려 노력하는 과정에서 시작되었습니다. 현재 Redis는 1밀리초 미만의 응답 시간을 제공하므로 게임, 광고 기술, 금융 서비스, 의료 서비스 및 IoT 분야에서 실시간 애플리케이션을 위해 초당 수백만 건의 요청을 지원할 수 있습니다. Redis는 캐싱, 세션 관리, 게임, 리더 보드, 실시간 분석, 지형 공간, 라이드 헤일링, 채팅/메시징, 미디어 스트리밍 및 게시/구독 앱에서 주로 사용됩니다. Redis는 데이..
[MySQL] 4. 데이터의 추가, 삭제, 갱신
·
DB/MySQL
16. 행 추가하기 - INSERT 1) INSERT로 행 추가하기 INSERT INTO 테이블명 VALUES(값1, 값2, ...) INSERT INTO 테이블명(열1, 열2, ...) VALUES(값1, 값2, ...) , (값1, 값2, ...) , (값1, 값2, ...) , ... 테이블의 열에 NOT NULL제약이 있을 경우, 해당 열에 NULL 삽입 시 에러가 발생한다. CREATE TABLE IF NOT EXISTS sample ( id INT, num INT NOT NULL ); INSERT INTO sample VALUES(1); //error... INSERT INTO sample VALUES(1, NULL); //error... CREATE TABLE IF NOT EXISTS sam..
[PHP] PDO
·
Language/PHP
데이터베이스는 웹 어플리케이션 개발에 절대 빠지지 않는 기능이다. php 역시 데이터베이스를 위한 추상화 계층인 PDO를 제공하며 이를 통해 데이터베이스를 간편히 사용할 수 있다. PDO는 php의 내장 기능이며 php프로그램과 데이터베이스 사이의 통신을 단순화하는 역할을 한다. 실습은 다음과 같은 환경에서 진행했다. php 7 MySQL 5.71. 테스트 테이블 생성 MySQL에 실습을 위한 새로운 스키마를 만들고 테이블을 생성했다. ` CREATE SCHEMA `test_sch` DEFAULT CHARACTER SET utf8 ; /* test용 테이블 */ CREATE TABLE `world_of_renaissance`.`test_table` ( `id` INT NOT NULL AUTO_INCREM..
[PHP] phpstorm code sniffer 설정
·
Language/PHP
윈도우 phpstorm에 코드 검사기인 mess detector와 codesniffer를 연동하여 코딩 컨벤션 및 PSR-2 형식를 검사할 수 있다. 1. php 설치 링크에서 PHP의 윈도우 버전 설치 압축 해제 후 파일을 C:/php7/에 옮긴다. 그리고 php.ini-production 파일을 열어 extension_dir를 찾아 아래처럼 수정한다. ; extension_dir = "C:/php7/ext"설치확인 php -v2. composer 설치 공식 홈페이지에서 다운로드 설치확인 composer help3. 설치 mess detector 설정 composer global require squizlabs/php_codesniffer phpmd/phpmd설치를 시작하면 아래처럼 첫 줄에 어느 경로..
[Memcached] About Memcached
·
DB/Memcached
Memcached? 무료 오픈소스인 고성능 분산 메모리 객체 캐싱 시스템이지만 웹 서비스의 DB 부하를 경감시키기 위해 만들어 졌습니다. 공식 홈페이지에서 Memcached를 설명하는 부분이다. 이 내용을 조금 더 자세히 보면오픈소스 : BSD license로 수정 및 배포 제한 없음고성능 : 멀티 쓰레드를 통해 빠른 처리 속도를 지원분산 : 노드의 확장을 통한 분산처리 지원메모리 : 모든 데이터를 메모리에 저장하여 빠르게 접근/처리 가능캐싱 시스템 : 자주 사용되는 데이터를 미리 저장해두어 DB의 로드를 줄여 처리 속도 향상같은 특징을 가지고 있다.Memcached는 데이터를 key-value 구조로 메모리에 저장한다. key를 통해 빠르게 데이터에 접근할 수 있다. Memcached에서 데이터는 문자..