네이버 클라우드 캠프 52

[HTML] form (2)

select, optgroup, option 다양한 데이터들을 나열해서 보여주는 태그입니다. 드롭다운 메뉴를 들어보셨다면, 그것과 동일하다는 점을 알 수 있을 것입니다. 사용자가 직접 입력하는 게 아니고, 제공된 여러 옵션 중에서 선택하는 것입니다. 간단히 예시를 보겠습니다. 자신있는 프로그래밍 언어를 고르는 화면입니다. 그 중에서 MySQL을 골랐습니다. 이렇게 select 태그와 option 태그를 조합해서 간단한 드롭다운 목록을 만들 수 있습니다. 코드를 살펴보겠습니다. 자신있는 언어 자바 C언어 C++ MySQL 오라클 자바스크립트 파이썬 select 태그는 드롭다운의 시작과 끝을 표시하는 태그이며, option 태그는 드롭다운의 항목을 만들어줍니다. 이 select가 아주 큰 틀을 만들어주고 그..

[HTML] form(1)

폼 태그 폼(form)은 백엔드, 다른 페이지에 요청을 보내는 특수 기능을 가집니다. 요청을 보낼 때, 폼 내에 있는 데이터들도 함께 전송할 수 있습니다. 폼(form) 태그는 회원가입, 로그인, 회원 정보, 주문 페이지 등 다양한 곳에 활용됩니다. 아래는 로그인 페이지를 만들어 본 것입니다. 폼의 동작 방식을 로그인으로 알아보겠습니다. 사용자가 아이디와 비밀번호를 입력합니다. 사용자가 로그인 버튼을 클릭합니다. 폼에 매핑되어 있는 주소로 아이디와 비밀번호를 가지고 요청을 보냅니다. 백엔드 프로그램에서 요청으로 온 아이디와 비밀번호를 가지고 데이터베이스에서 아이디와 비밀번호가 일치하는 검사를 진행합니다. 일치하면 로그인되도록 처리 일치하지 않으면 아이디나 비밀번호가 틀렸다고 메시지를 띄워줍니다. 이렇게 ..

[HTML] HTML 기초

HTML 정의 html은 웹사이트에서 사용하는 파일의 형식이며, .html이라는 확장자를 가집니다. HTML은 Hyper Text Markup Language의 약자입니다. Hyper Text는 어떤 의미일까요? 하이퍼링크라는 말을 들어보신 적이 있을 것인데요, 그 말처럼 다른 문서나 사이트로 이동할 수 있는 링크입니다. 같은 맥락에서 이 Text도 다른 문서나 사이트로 이동이 가능한 텍스트가 됩니다. Markup은 태그로 볼 수 있고 HTML문서의 body 부분을 채워넣는 작업입니다. 마크업을 진행할 때, 약속된 표기법으로 작성하며 이 때 꺽쇠표기된 태그를 사용합니다. 대부분 태그는 열고 닫는 태그가 하나의 쌍으로 존재합니다. 내용, 물론 일부 태그들은 닫는 것이 없거나 생략하기도 합니다. , 또한, ..

[Oracle] Trigger

트리거 트리거는 DB 안의 특정한 상황이나 동작, 이벤트가 발생할 때 자동으로 실행되는 기능을 정의하는 서브 프로그램입니다. 트리거의 장점으로는 먼저 데이터 관련 다양한 작업에 필요한 PL/SQL을 여러개 작성는 수고로움을 줄입니다. 또한, 제약조건만으로 부족한 복잡한 데이터 규칙이 있다면 이를 정의할 수 있습니다. 마지막으로 데이터 변경과 관련된 일련의 정보를 기록할 수 있습니다. 기록하는 점으로 인해, 공유 데이터 관련 보안성, 안전성이 확보가 되고 오류가 발생하더라도 이전 데이터 기록을 통해 대처가 가능합니다. 다만 트리거는 주로 타 데이터 추가, 변경 작업이 일어나므로 마구잡이로 사용하면 DB의 성능이 하락할 것입니다. 그래서 용도를 제한할 필요가 있으며, 테이블부터 DB 전체에 대한 DML(IN..

[Oracle] Stored Sub Program: SF

Stored Function 저장된 함수(SF)는 프로시저와 동일한 역할을 하는 서브 프로그램입니다. 프로시저와 다른 점은 프로시저는 EXEC 명령어로 단독 호출할 수 있고, 다른 PL/SQL문에서"만" 실행 가능합니다만, 함수는 EXEC 단독 호출 및 PL/SQL 구문에서뿐만 아니라 쿼리문에서도 호출이 가능합니다. 또한, 프로시저의 파라미터는 다양한 모드(MODES)로 지정하지만 함수는 오직 IN 모드로만 사용할 수 있습니다. 또한, 프로시저는 OUT, IN OUT을 통해 여러개의 값을 리턴하지만 함수는 오직 하나의 리턴값만으로 RETURN문을 통해서 반환할 수 있습니다. 함수는 다음과 같이 생성합니다. CREATE OR REPLACE FUNCTION 함수명 ( 파라미터1 [IN] 자료형1, 파라미터2..

[Oracle] Stored Sub Program: SP

Stored Sub Program(저장 서브프로그램) 필요시 PL/SQL 호출해서 사용하고자 데이터베이스에 PL/SQL 구문을 저장해놓은 프로그램입니다. 이 프로그램은 Oracle에 저장해서 사용자간 공유하여 사용 가능하며, 메모리, 성능, 재사용성 측면에서 장점이 있습니다. 그 종류로는 SF(Stored Function), SP(Stored Prcedure), Trigger 등이 있습니다. Stored Procedure SP(저장 프로시저)는 오직 특정한 기능과 작업을 처리하고자 사용하는 서브 프로그램입니다. 쿼리문에서 호출이 안되고 오직 단독으로만 실행할 수 있습니다. 파라미터 여부에 따라 두가지로 나누어집니다. 1. 파라미터가 없는 프로시저 --프로시저의 선언 CREATE OR REPLACE PRO..

[Java] JDBC 이야기

JDBC JDBC(Java Database Connectivity) JAVA 프로그래밍 언어를 통해, DB에 데이터를 저장, 수정, 삭제, 조회 등 쿼리를 실행할 수 있도록 하는 API(Application Interface) 입니다. 다양한 DB 제공 벤더사에서 DB에 접속하도록 자체 드라이버를 제작해서 제공합니다. 참고로, JDBC 드라이버는 TYPE1 ~ 4까지 버전이 있습니다. 그 중 순수 자바(자바 네이티브)로 구성된 TYPE4를 사용합니다. 이 TYPE4 드라이버는 자바로 작성해서 타 네이티브 라이브러리, 추가 미들웨어 없이 DB에 접속할 수 있습니다. 적은 용량과 높은 성능을 가집니다. ORACLE : Oracle JDBC Thin Driver(ojdbc) MySQL : Connector/J..

[Linux] 권한 이야기

권한(Permission) 이 권한과 관련해서, 중요한 개념이 세가지있습니다. 먼저, 소유자(사용자 User), 소유자의 그룹(Group), 다른 사용자(Others)를 대상으로 합니다. 다음은, 파일을 두고 어떤 작업을 하는가에 따라서 크게 세가지로 분류합니다. 읽고 (Read) 쓰고(Write), 실행합니다.(eXecute) 이 모든 것을 종합하면, UGO는 각자의 폴더나 파일에 대해 RWX의 권한을 가진다. 이렇게 요약할 수 있습니다. 이렇게 된 것은 유닉스의 철학(Simple) 때문입니다. Simple, 간단한 명령어로 나눈다. 리눅스에서 사용가능한 명령어는 다양합니다. 수정, 이동, 복사, 숨김 등이 있는데요, 이 모든 명령어는 가장 간단한 명령어로 통합해서 사용할 수 있습니다. 이 모든게 합쳐..

[Linux] 리눅스 기초

클라우드와 리눅스 Cloud 클라우드는 가상화된 환경이다. 그 종류는 aaS를 기준으로 주로 나눕니다. aaS는 as a Service (서비스를 위한)이라는 뜻 입니다. 종류에 따라 XaaS, IaaS, PaaS, SaaS로 나눌 수 있으며, 최근에는 AIaaS라는 말도 등장합니다. 각각에 대해 간단히 살펴보겠습니다. XaaS IaaS : Infra as a Service PaaS : Platform as a Service SaaS : Service(Software) as a Service AIaaS : AI as a Service Infra 인프라(IaaS) Infrastructure, 기반시설 서버, 네트워크, 등 → “하드웨어(H/W)” 키보드, 모니터 등.. IaaS: 하드웨어, 운영체제 등 P..

[Oracle] PL/SQL(2)

RECORD 레코드(RECORD)는 자바의 클래스와 동일합니다. 다양한 데이터 타입을 갖는 여러 변수를 갖는 자료형입니다. 데이터 타입은 VARCHAR2, NUMBER, DATE 등 다양하게 있습니다. 기본 데이터 타입과 테이블명.컬럼명%TYPE, 테이블명.ROW%TYPE 등 선언 가능합니다. "%TYPE"이라는 키워드를 기억합시다. 레코드의 선언방법 TYPE 레코드명 IS RECORD( 변수이름1 데이터타입[NOT NULL, DEFAULT]:=값 OR 수식; 변수이름2 테이블명.컬럼명%TYPE; .... ) 레코드가 다양한 데이터타입의 변수를 갖는 집합으로 볼 수 있고, Java의 class에서 메소드만 빠진 형태입니다. 순서가 있고 이를 파악하면 좋습니다. 레코드 선언 TYPE 레코드명 IS RECO..