본문 바로가기

반응형

교육/Php

(12)
Day 38 (Php) index.html에 접속하게 되면 검색할 테이블을 선택한다. 선택한 테이블 정보를 출력하고 자료입력을 한후 검색할 테이블을 찾는 페이지로 다시 돌아가게 한다.
Day 33 (Php + Oracle) 사용자 인증 암호는 문자열을 다른 사용자가 알아보지 못하게 치환 하는 방식이다. 암호를 복호화 할때 사용 하는 표를 난수표라고 한다. 해시코드도 문자열을 다른 사용자가 알아보지 못하게 치환 하는 방식으로 복호화가 불가능하다. 해시코드를 일방향 함수라고도 한다. 입력의 길이는 무제한이지만 출력의 길이는 일정하다. 이는 보안상 매우 위험한데 입력한 길이에 상관없이 출력이 일정하기 때문에 추측이 가능하고 우연히 같은 해시코드가 사용될 가능성이 있다. 하지만 발생 빈도수는 낮다. 이는 위협이 있는데 위험은 낮다고 할수있다. 해시코드 생성함수는 모든 랭귀지에 있지만 자신이 사용하는 프로그램만 사용해야 한다. php에서 상태정보가 없다. 따라서 다른 페이지로 이동시 상태유지가 되지 않는다. 이를 해결하기 위해서는 ..
Day 32(Php + Oracle) 2차원 배열로 패치 oci_fetch_array는 행마다 null값이 나올때까지 패치를 진행하고 한행씩 열의 값을 대입하는 열고정 행변환 방식으로 진행된다. oci_fetch_all은 2차원 배열자체로 데이터를 가져와서 한번에 모든 데이터를 패치한다. 넣는 데이터의 열의 값이 한행씩 들어가서 행고정 열변환 방식으로 진행이된다. oci_fetch_all과 oci_fetch_array의 차이는 oci_fetch_all의 경우 데이터를 배열로 한번에 불러와서 원하는 데이터를 조작이 가능하지만 한번에 모든 데이터를 읽어오기때문에 리소스 차지 비율이 크다. 그리고 데이터를 미리 불러오고 출력하는 형식이기 때문에 리소스를 해지를 보다 빠르게 선언할 수 있으며 나올 행의 갯수를 미리 파악할수있어 가독성이 높다. 반면..
Day 31 (php + DB) 접속식별자를 통해 접속을 시도 하게되면 결과만 알수있다. 그후 SQL문 생성한다. 이때 INSERT나 CREATE는 시도하고 성공했는지 실패했는지만 나오고 결과는 출력되지 않는다. SELECT는 결과를 출력해야 한다. 하지만 echo는 literal이나 특정 변수만 출력이 가능하다. 하지만 DB는 출력 형태가 리소스형태 이기때문에 바로 출력이 불가능하여 echo로 출력이 가능하도록 패치 라는 변환 과정을 진행한다. mysql은 성능차이가 거의 없지만 array와 all은 성능차이가 있다. 시간복잡도와 자원복잡도(메모리 사용량)은 반비례하는데 이것은 옵티마이다. 옵티마는 가장 적합한 상태이다. array는 처리속도가 all보다는 느리지만 메모리영역 사용량이 적고 all은 처리속도가 array보다 빠르지만 ..
Day 30 ( php + Oracle) php를 이용한 DB접속 DB에 접속하기 전에 ID, PW, tns이름은 알고있어야 한다. 실습에서는 Oracle만 사용할 것이기 때문에 MySQL연동은 하지 않는다. DB접속, SQL생성, SQL 구문 파싱, SQL 구문 실행은 소스가 Oracle이든 MySQL이든 DB구축시 동일하다. 오라클 클라이언트 sqlplus php/php@oracle php $conn=oci_connect("php", "php", "oracle"); SQL문을 실행하기전에 1.SQL문의 오타확인, 2. 테이블이나 컬럼이 있는지 확인, 3. 실행계획수립의 과정을 수행하는 파싱과정을 실행한다. 그 후 실행계획에 따라 SQL문을 수행한다. 결과 패치와 접속종료는 DB마다 다를 수 있다. SQL문중 SELECT문이라면 검색된 결과가..
Day 30 (php) function 함수명 ( 매개변수, ...) { 실행구문 ; [return 반환값]; } 수학에서 함수는 y=f(x)의 형태인데 f(x)를 실행한 값이 y로 리턴된다는 의미로 해석이 가능하다. 매개변수 : 함수에서 사용할 변수로 지역함수이다. 프로시져라면 반환 값이 없으므로 리턴을 적지 않아도 된다. 실습 1 입력한 값까지의 합을 구하는 함수를 정의하고 호출하는 프로그램을 작성해라. 더보기 실습 2 위치를 변환하는 함수를 이용해서 전역변수와 지역변수의 차이를 확인하는 프로그램을 작성해라. 더보기 값에 의한 호출, 참조에 의한 호출 값에 의한 호출(call by value)은 지역변수와 전역변수는 완전히 별개의 변수로 간주한다. 참조에 의한 호출(call by reference)은 지역변수와 전역변수는 ..
Day 29(php) 알고리즘 표기방식 그리기 어려우므로 실제 사용시에는 여러가지를 포함해서 몇가지만 사용한다. 대입연산자 사용시 좌변은 메모리번지 이고 우변은 값을 의미한다. 프로그램에서는 나머지 연산자(%)를 사용 가능하지만 알고리즘에서는 나머지 연산자(%)를 사용할 수 없다. 대신 mod라는 나머지 값을 출력하는 함수를 사용한다. 실습 1. 1~10까지 합을 출력하는 알고리즘을 작성해라. 더보기 선증감 후처리 방식은 알고리즘에서 많이 사용한다. 반면 선처리 후증감 방식은 프로그램에서 많이 사용한다. 또한 특정값으로 작업을 번갈아가며 수행하는 알고리즘에서 반복작업에 관한 의도를 인지하는것이 중요하다. 예를들어 1-2+3-4+...+99-100을 보면 홀수일때 더하고 짝수일때 빼는 것으로 해석도 가능하지만 수가 연속적으로 ..
Day 28 (php) 배열은 0부터 시작 php배열의 입력방식은 한꺼번에 값을 입력 받아야 한다. round는 회차, 바퀴수를 의미한다. 실습 1 배열에 저장할 값들을 입력받고 그 배열을 출력하라 더보기 // 테이블 생성 // 행 생성 // 열 생성 // 열 닫기 // 행 닫기 // 테이블 닫기 실습 2 1행안에 원하는 만큼의 열을 생성하는 프로그램을 작성해라 더보기 실습 3 1열에 원하는 만큼의 행을 생성하는 프로그램을 작성해라 더보기 테이블 escape code로 두께 지정도 가능 echo(""); echo(""); // escape code : 문장실행중 해석 하지 마시오. 실습 4 원하는 만큼의 행과 열을 가지는 테이블을 작성하는 프로그램을 작성해라. 더보기 실습 5 원하는 행렬을 나타내는 코드를 구성하라.(출력x) ..

반응형