Technique
-
MySQL Buffered , Unbuffered QueryTechnique/RDBMS 2016. 12. 27. 12:29
php 메뉴얼에 나와 있는 내용. 정리하자면 1.buffered query 쿼리의 결과는 MySQL 서버로 부터 바로 PHP쪽 서버에 전송되어 PHP 프로세서 메모리상에 결과를 보존해둔다.이 결과를 가지고 쿼리의 행수를 계산한다던지 결과 값의 포인터를 이동시키던지 등의 조작이 가능하다.또 같은 접속상의 쿼리를 발행하면서 동시에 현재 가지고 있는 결과 값을 이용한 작업도 가능하다결과 세트에 대한 참조가 없어지거나 결과 셋트를 명시적으로 해방하기전 까진 메모리상에 남겨져 있다. 결과를 저장하는 쿼리 라고도 불려진다. 약점 - 결과 세트의 량이 많아 질수록 메모리를 소모한다 2.unbuffered query비버퍼쿼리는 쿼리를 실행하여 리소스를 돌려주지만 그 시점에서 아직 데이터가 MySQL서버상에 있어 대기..
-
문자셋( Character set )과 콜레이션( Collation )Technique/RDBMS 2016. 12. 27. 12:22
CHAR, VARCHAR, TEXT 등의 문자열 Datatype에는 문자셋(Character set)과 콜레이션(Collation) 속성이 있다. 문자셋(Character set)은 각 문자가 컴퓨터에 저장될 때 어떠한 '코드'로 저장될지에 대한 규칙의 집합을 의미하며 콜레이션(Collation)은 특정 문자 셋에 의해 데이터베이스에 저장된 값들을 비교 검색하거나 정렬 등의 작업을 위해 문자들을 서로 '비교' 할때 사용하는 규칙들의 집합을 의미한다. 같은 문자셋이라도 콜레이션에 따라 영어의 경우 대소문자의 구분 비교 여부, 일본어의 경우 히라가나와 카타카나의 구분 방법 등이 달라진다. UTF8 문자셋을 사용하는 경우 utf8-general-ci 또는utf8-unicode-ci 둘중 하나를 collatio..
-
MySQL Index 기초지식Technique/RDBMS 2016. 12. 22. 16:59
MySQL인덱스 기초● 특정 컬럼 값이 가지고 있는 열을 빠르게 검색하기 위하여 사용● MySQL의 경우 B-TREE 가 사용됨● 오라클이나 MSSQL의 경우 여러가지 타입이 존재함● 종류에는 PRIMARY KEY, UNIQUE, INDEX, FULL TEXT가 있다.(FULL TEXT의 경우 MyISAM 에서만 사용가능)■ 인덱스 사용 목적 where 절에 매치하는 열을 빠르게 검색하기 위하여 불 필요한 열을 고려 대상에서 빠르게 제거하기 위하여 JOIN시 다른 테이블에서 빠르게 필요한 열을 추출하기 위하여 특정 index의 컬럼의 MIN이나 MAX값을 찾기 위하여■ 인덱스를 사용하는 경우 데이터의 양이 많고 검색이 빈번히 이루어 지는 경우 인덱스를 걸고자 하는 필드의 값의 종류가 다양한 경우■ 생성 ..
-
top 커맨드Technique/LINUX 2016. 12. 22. 16:50
TOP 키워드는 현 리눅스 서버의 현황을 보여주는 커맨드 입니다.이 것을 가지고 좀도 예쁘게 보여주거나 하는 툴도 여럿 잇는걸로 알고 있지만.가장 기본적은 것을 가지고 공부해볼까 합니다. - 제가 혼자 가지고 공부하는 서버 입니다. ■ 필드별 설명 맨윗줄 : 시스템의 가동 시간과 평균 부하top - 현재시간, 재부팅없이 운영중인 업타임시간, 로그인된 유저수, 1분, 5분, 15분에 대한 각각의 평균 부하율(load average) 두번째줄 : 현재 실행중인 프로세스들의 상황tasks - 실행중인 전체 프로세스수(total), 실행중인 프로세스(run), 유휴상태의 프로세스(sleep), 정지된 프로세스(stop), 좀비 프로세스 세번째줄 : CPU의 사용에 대한 상황cpu(s) - 사용자가 사용중인 cp..
-
LSB(Late Static Binding)Technique/PHP 2016. 12. 21. 22:19
이번 주제는 LSB(Late Static Binding)입니다.PHP 5.3 버전에서부터 도입된 개념입니다. 중요한 부분은 can be used to reference the called class in a context of static inheritance ( 정적 상속의 상황에서 호출전 클래스를 참조 할 수 있다.) More precisely, late static bindings work by storing the class named in the last "non-forwarding call" ( 좀 더 명확히 이야기 하자면 LSB는 최근 비 전송콜의 class이름을 저장한다. ) ㅂ가 매우 중요한 부분 인 것 같습니다. 그럼 예제를 보면서 이야기 해 볼까요 123456789101112131415
-
웹사이트 크롤링과 인덱싱, robots.txtTechnique/WEB 2016. 12. 21. 20:19
이 세상 여러 검색사이트가 존재한다. 그런 검색사이트 에선 여러 웹상에 존재하는 로봇들을 이용하여세상에 존재하는 여러 도메인에 접근, 정보를 수집합니다. 그리고 이정보들을 모아모아 축적하여 검색이 이뤄지면 필요한 녀석들을 유저에게 보여주곤 합니다. 위의 이야기중 도메인에 접근, 정보를 수집 하는 것을 크롤링 이라고 합니다.그리고 정보를 모아두고 검색햇을때 가져가기 쉽게 정리해두는 것을 인덱싱 이라고 합니다. 크롤링과 인덱싱의 제어를위해 사용 되는 것이 robots.txt와 meta 태그의 index 입니다.크롤러가 도멘인을 돌아다니다가 어떤 하나의 도메인에 도착하게 되면 우선robots.txt 가 있는지를 확인합니다. 만일 없다면 모두 수집대상이 되지만 이 robots.txt가 설정 되어 있다면 설정된 ..
-
static, const, memoizationTechnique/PHP 2016. 12. 20. 18:21
1. Static 정적, 공유의 개념static은 변수 또는 메소드 등에 지정할 수 있으며, 메소드에 지정한 경우 객체를 생성하지 않고도 접근이 가능하다.이 정적 메소드 안에서 연산이 이뤄질 때엔 멤버 변수에 접근할 수 없다.즉, static 메소드 안에서 사용되는 변수는 static이어야만 한다.이것이 중요한 룰!static변수는 프로그램이 실행 될 시 단한번 초기화가 된다.그리고 메모리 상에 데이터가 보존되어 그이후 호출은 모두 메모리를 참조하여 접근 하게 된다.1234567891011121314class A{ public static $abc = null; public static function getAbc() { return A::$abc; }} $a1 = new A();$a2 = new A()..
-
Scope ( 스코프 )Technique/Javascript 2016. 12. 20. 10:55
Scope 프로그래밍 언어에서의 스코프의 기원을 찾기 위해선 우선 변수의 기원 부터 알아야한다.초창기 프로그래밍 언어에서의 변수라함은 어떠한 값을 가지고 있는 메모리의 주소를 나타내는 것 이었다.메모리의 주소라함은 0xFExx.... 등과 같이 사람에겐 매우 불친절한 표기법으로 이를 조금더 인간친화적으로 나타내기위해 도입된 개념이 바로 변수라는 개념이다. 변수는 메모리의 주소값을 프로그래밍을 하는 사람이 특정 이름으로 지정하여 저장해두는 값으로 프로그래밍 중 어디에서나 이 이름을 호출함으로서 특정 메모리에 저장되어 있는 값을 참조할 수 있게 되었다.그리고 같은 프로그래밍 내의 변수 이름의 중복된 사용을 방지하기 위해 프로그램 전체에서 사용하는 변수 값들을 모아두는 변수 리스트 같은 것을 작성하여 변수명의..