본문 바로가기

Dev Talks78

php 자주 쓰는 함수 정리 개인적으로 PHP 개발을 할 때 자주 사용하는 함수를 모아서 정리해봤습니다. 앞으로 내용은 계속 업데이트 될 예정입니다. 배열unset($array) // 배열 초기화$array = array(); // 빈 배열 선언array_push($arrayname, "값"); // 값 추가$data[$key] = $value; // key 지정하고 값 추가count($array) // 배열 길이 측정 문자열 처리줄바꿈 : echo "hello \n" : "" 안에 \n 또는 \r 사용변수사용 : 2가지 방식 "test {$a[0]}" 또는 "test".$a[0]문자열 위치 찾기 : strpos($string, $search)배열 -> 문자열 : implode("," , $array) => string 나옴문자열 .. 2017. 6. 17.
[Database #10] 관계대수, 관계해석 ** Responsive Ad ** 1. 관계대수 (relational algebra) 관계형 DB에서 원하는 정보를 검색하기 위해서 어떻게 유도할지를 기술한 절차적 언어로 연산자와 연산규칙을 제공한다. 질의에 대한 해를 구하기 위해 수행해야할 연산의 순서를 명시한다. (= 절차적 성격) 순수 관계 연산자 : Select, Project, Join(Equi, Natural), Division 일반 집합 연산자 : UNION(합집합), INTERSECTION(교집합), DIFFERENCE(차집합), CARTESIAN PRODUCT(교차곱) 2. 관계해석 (relational calculus) 코드(E.F.Codd) 박사가 제안한 것으로 수학의 술어해석 (Predicate Calculus)에 기반을 두고 있.. 2017. 4. 4.
[Database #9] 데이터베이스 정규화 개념 및 방법 ** Responsive Ad ** 1. 정규화 (DB normalization) 개념 관계형 데이터베이스 설계 시 중복을 최소화하도록 데이터를 구조화 하는 작업을 정규화라고 하며, 정규화를 하는 이유는 이상(anomaly) 이 있는 관계를 재구성함으로써 바람직한 스키마로 만들어가는데 있다. 2. 정규화 방법기본적으로 높은 차수의 정규형은 낮은 차수의 정규형을 모두 만족하여야 한다. 즉, 제3정규형은 제1,2 정규형의 조건을 모두 만족하여야 하며, BCNF는 1,2,3 정규형을 기본적으로 모두 만족하고 있어야 한다. (1) 제1정규형 (1NF = 1 Nomal Form) - 중복되는 항목이 없어야 한다 (도메인이 원자값만으로 되어 있어야 함) 위와 같이 설계하면 전화번호는 2개 이상일 수 있다. 따라서 .. 2017. 3. 31.
[알고리즘 #7] 진법변환 알고리즘 정리 ** Responsive Ad ** 1. 진법변환 10110(2) = 1 X 2^4 + 0 X 2^3 + 1 X 2^2 + 1 X 2^1 +0 X 2^0 = 16+0+4+2+0 = 22 과 같이 2진수를 10진수로 8진수를 10진수로 변환하는 것을 진법변환이라 한다. 1 uni + nary = unary 2 bi + nary = binary 3 tetra + nary = ternary 4 quater + nary = quaternary 5 penta + nary = pentanary 6 hexa + nary = hexanary 7 hepta + nary = heptanary 8 octa + nary = octanary 9 nona + nary = nonary 10 deci + nary = deciaml .. 2017. 3. 30.
[알고리즘 #6] 최대공약수 최소공배수 구하는 알고리즘 정리 ** Responsive Ad ** 1. 최대공약수 (Greatest Common Factor, GCF) 두 개 이상의 수가 공통으로 가지고 있는 약수 중 가장 큰 수 8의 약수 : 1, 2, 4, 8 12의 약수 : 1, 2, 3, 4, 6, 12 8과 12의 최대공약수 : 4 2. 최소공배수 (the Least Common Multiple, LCM) 두 개 이상의 수가 공통으로 가지는 배수 중 가장 작은 수 3의 배수 : 3, 6, 9, 12, 15.. 5의 배수 5, 10, 15, 20.. 3과 5의 최소공배수 : 15 3. 서로소 (relative prime) 1 외의 공약수를 갖지 않는 두 수 ex) 7, 11 는 1 외의 공약수가 없으므로 서로소이다. 4. 최대공약수 구하는 알고리즘 1) 유클.. 2017. 3. 22.
[알고리즘 #5] 소인수분해(prime factorization) 알고리즘 정리 ** Responsive Ad ** 1. 소인수 (prime factor)어떤 N을 구성하는 인수 중에 소수인 것 2. 소인수 분해 (prime factorization)소수를 이용하여 어떤 수 N을 만드는 곱의 형태로 표현한 것 ex) 20을 소인수 분해하면 2 x 2 x 5 로 20의 소인수는 2, 5이다. 3. 어떤 수 N에 대한 소인수 분해 알고리즘 1) N을 2부터 sqrt(N) 까지 차례대로 나누어 나머지가 0인지 검사 -> 나머지가 0인 수가 나오면 그 몫을 다시 N으로 하여 2부터 sqrt(N)까지의 숫자로 나누는 작업을 반복 ** 큰사각형 광고 ** 2017. 3. 22.
[알고리즘 #4] 약수(divisor) 구하는 알고리즘 정리 ** Responsive Ad ** 1. 약수 (divisor, aliquot)어떤 수를 나누었을 때 나머지가 0이 되는 수, 제수(除數) 2. N의 약수를 구하기 위한 접근방법 1) 1부터 N까지 차례로 나누어 나머지가 0이 되는지 확인 2) sqrt(N) 보다 작은 약수를 먼저 구한 뒤 이를 이용하여 sqrt(N) 보다 큰 약수 구하기 100의 약수는 1, 2, 4, 5, 10, 20, 25, 50, 100 sqrt(100) = 10 이므로 1,2,4,5 를 구한 뒤,100 / 1 = 100100 / 2 = 50100 / 4 = 25100 / 5 = 20 으로 sqrt(100)보다 큰 약수를 구한다. ** 큰사각형 광고 ** 2017. 3. 22.
[Database #8] RDB의 제약조건 (Key와 무결성) RDB(관계형 데이터베이스)의 제약조건으로는 개체 무결성, 참조 무결성이 있습니다. 무결성을 보장하기 위해 RDB에서는 키(Key)를 이용하고 있습니다. ** Responsive Ad ** 1. Key 의 종류 Key는 튜플의 유일성을 보장하기 위한 속성 (Attribute)을 의미합니다. 1) Candidate Key (후보키)튜플의 유일성을 식별할 수 있는 모든 Key 2) Primary Key (기본키)튜플의 유일성 확보를 위해 후보키 중에 선택된 Key 3) Alternate Key (대체키)두 개 이상의 후보키가 있는 경우 기본키를 제외한 나머지 후보키로 이른 바 보조키를 의미 4) Foreign Key (외래키)릴레이션(=Entity, Table) 간의 참조 관계를 나타내기 위한 key 5) .. 2017. 3. 22.
[Database #7] RDB의 개념 및 구성 RDB (Relation Database, 관계형 데이터베이스)란 키(Key)와 값(Value)들의 관계를 테이블화 시킨 데이터베이스를 의미합니다. ** 반응형 광고 ** 1. Relation (릴레이션)Entity, Table과 대응되는 용어로 속성과 튜플로 구성되어 있습니다. 속성의 개수를 릴레이션 차수로 표현하며 튜플의 개수는 릴레이션 카디널리티로 표현하기도 합니다. 논리 데이터 모델링에서는 Entity로 불리며, 관계형 데이터베이스에서는 테이블로 불리고, 관계형 모델이론에서는 릴레이션이라 불립니다. (ex. Student) 2. Attribute (속성)Entity를 구성하는 논리적 단위로 파일 구조상에서 데이터 항목 내지는 데이터 필드를 의미하며 테이블에서는 하나의 컬럼에 대응합니다. 속성의 수.. 2017. 3. 22.
[Database #6] 데이터베이스 설계 순서 데이터베이스 설계 순서는 요구분석 - 개념적설계 - 논리적설계 - 물리적설계 - 구현 순으로 이뤄집니다. ** 반응형 광고 ** 1. 요구조건 분석 / 명세 데이터베이스의 사용자, 사용목적, 사용범위, 제약조건 등에 대한 내용을 정리하고 명세서를 작성합니다. 2. 개념적 설계 (E-R모델) 정보를 구조화 하기 위해 추상적 개념으로 표현하는 과정으로 개념 스키마 모델리오가 트랜잭션 모델링을 병행하고, 요구조건 분석을 통해 DBMS 독립적인 E-R 다이어그램을 작성합니다. 3. 논리적 설계 (데이터 모델링)자료를 컴퓨터가 이해할 수 있도록 특정 DBMS의 논리적 자료 구조로 변환하는 과정입니다. 관계형 데이터베이스인 경우 이 단계에서 테이블을 설계하고, 정규화 과정을 거치게 됩니다. 2. 물리적 설계 (데이.. 2017. 3. 22.
[알고리즘 #3] 소수 판별 알고리즘 ** 반응형 광고 ** 1. 소수 (prime number) 란? 1과 자기 자신만을 약수로 가지는 수로 1보다 큰 수 (2, 3, 5, 7, 11, 13 ..) 2. 소수 판별법 1) 나머지가 0인 수 검사어떤 수 A가 소수인지 판별하기 위해서는 A를 2부터 A보다 1작은 수까지 나누어서 나머지가 0인 경우가 있는지 검사함.MOD(A, 2) ~ MOD(A, A-1) = 0 인 경우를 check 2) 제곱근 이용 어떤 수 A의 제곱근까지의 수 중 한 개의 수에 대해서라도 나누어 떨어지면 소수가 아님.MOD(A, 2) ~ MOD(A, SQRT(A)) = 0 인 경우를 check당연히, 1) 의 방식보다 성능이 좋다. 3. 에라토스테네스의 체 1~N 까지의 수 중에서 소수를 구하고자 한다면 에라토스테네스의 .. 2017. 3. 16.
[Database #5] E-R 모델의 개념 및 요소 ** 반응형 광고 ** 1. E-R 모델이란? E-R 모델 (개체-관계 모델) 이란 개념적 모델링에 사용되는 데이터 표현 방법으로 Entity(개체)와 Entity 간의 Relationship(관계)를 나타내는 모델입니다. 1976년 피터 첸에 의해 제안되었으면 현재 개념적 모델링 시 자주 사용되고 있습니다. 2. E-R 모델의 요소 1) Entity (개체)현실세계의 요소 중 데이터베이스에 표현하려는 것 2) Attribute (속성)개체를 구성하는 항목으로 데이터 필드의 역할을 함 3) Relationship (관계)Entity 간의 관계 또는 Attribute 간의 관계를 의미하며, 1:1, 1:N, N:M (카디널리티) 의 관계를 나타냄 2. E-R 모델의 표기법 (Crow-feet 표기법) **.. 2017. 3. 16.