Docker Compose로 PHP, Nginx, MySQL 개발환경 구성하기
·
Docker
목표Docker compose를 사용하여 각각의 Nginx, PHP, MySQL 컨테이너를 실행하고, php 개발환경을 구성한다. 파일구성docker-compose.ymlservices: php: build: ./docker/php container_name: php ports: - "9000:9000" expose: - "9000" volumes: - {앱 경로}:/home/app mysql: image: mysql:8.0 container_name: db restart: always environment: MYSQL_DATABASE: {DB} MYSQL_USER: {DB 유저} MYSQL_PASS..
프로그래머스 Lv.5 - 멸종위기의 대장균 찾기
·
DataBase/MySQL
프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제 설명대장균들은 일정 주기로 분화하며, 분화를 시작한 개체를 부모 개체, 분화가 되어 나온 개체를 자식 개체라고 합니다.다음은 실험실에서 배양한 대장균들의 정보를 담은 ECOLI_DATA 테이블입니다. ECOLI_DATA 테이블의 구조는 다음과 같으며, ID, PARENT_ID, SIZE_OF_COLONY, DIFFERENTIATION_DATE, GENOTYPE 은 각각 대장균 개체의 ID, 부모 개체의 ID, 개체의 크기, 분화되어 나온 날짜, 개체의 형질을 나타냅니다.Column nameTypeNullab..
프로그래머스 Lv.4 - 연간 평가점수에 해당하는 평가 등급 및 성과금 조회하기
·
DataBase/MySQL
프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr문제설명HR_DEPARTMENT 테이블은 회사의 부서 정보를 담은 테이블입니다. HR_DEPARTMENT 테이블의 구조는 다음과 같으며 DEPT_ID, DEPT_NAME_KR, DEPT_NAME_EN, LOCATION은 각각 부서 ID, 국문 부서명, 영문 부서명, 부서 위치를 의미합니다.Column nameTypeNullableDEPT_IDVARCHARFALSEDEPT_NAME_KRVARCHARFALSEDEPT_NAME_ENVARCHARFALSELOCATIONVARCHARFALSE  HR_EMPLOYEES 테이블..
MySQL CTE(Common Table Expression) 공통 테이블 표현식
·
DataBase/MySQL
CTE(Common Table Expression) 공통 테이블 표현식 단일 쿼리문 내에서 임시 테이블을 생성하여 여러번 참조가 가능한 임시 결과 집합 MySQL 8.0.1부터 도입 WITH문 단일 레코드 # WITH {테이블명} AS (SELECT a AS A, b AS B) WITH temp AS ( SELECT "홍길동" AS name, 20 AS age ) # WITH {테이블명} (A, B) AS (SELECT a, b) WITH temp (name, age) AS ( SELECT "홍길동", 20 ) WITH문 다중 레코드 WITH temp (name, age) AS ( SELECT"홍길동", 20 UNION ALL -- 두 레코드를 병합 SELECT "김아무개", 30 ) WITH문 재귀사용..
PHP PDO()
·
Web/PHP
PDO(PHP Data Objecs)방식은 기존 PHP mysql 연결함수(mysql, mysqli)보다 향상된 기능의 객체지향적 DB 연결방식 기존 함수와 비교했을때의 차이점은 크게 2가지이다. 1. 준비구문(Prepare Statements)을 이용한 SQL 삽입공격(SQL Injection) 방어 및 성능향상 2. MySQL, Oracle, MS SQL, PostgreSQL, ... 여러 종류의 DB를 동일한 방식으로 접근 PDO로 DB에 연결 $host = 'localhost'; // host 주소 $database = 'database'; // database 이름 $user = 'root'; // host user $password = 'root'; // host password try { $..
PHP mysqli()
·
Web/PHP
mysqli로 MySQL 서버에 연결 $host = 'localhost'; // host 주소 $user = 'user'; // host user $password = 'pass'; // host password $database = 'testDB'; // database 이름 $con = mysqli_connect($host, $user, $password, $database); // 연결 실패시 if(!$con) { die('연결 실패'.mysqli_error($con)); } PHP: mysqli::__construct - Manual mysqli can succeed in surprising ways, depending on the privileges granted to the user. For ..