본문 바로가기

분류 전체보기

REST API 설계 REST API 설계 개요 REST API를 통해 제공하려고 하는 자원(리소스, Resource)는 무엇인가?URI 경로path는 언제 복수로 써야하는가?리소스의 상태를 업데이트하려면, 어떤 메소드를 사용해야 하는가?CRUD 가 아닌 연산을 어떻게 URL에 매핑하는가?특정한 시나리오에 가장 적합한 HTTP응답은 무엇인가?리소스 상태 표현의 버전은 어떻게 관리할 수 있는가?JSON에 포함된 하이퍼링크는 어떻게 구조화 하는가?URI(Uniform Resource Identifier) 규칙 식별자라고 할 수 있는 유일한 일은 대상을 나타내는 것이다. 역참조를 할 때가 아니라면 다른 정보를 얻기 위해서 URI의 내용을 들여다보지 말아야 한다.URI 형태규칙규칙 : 슬러시 구분자(/)는 계층관계를 나타내는 데 사..
[Mysql] jsp 코딩 작업을 위한 sql문 소개테이블 구조에 따라서 JAVA Beans(DTO) 클래스 정의나 MyBatis의 Mapper에 정의해야 하는 resultMap의 property, HTML의 input 태그 구문을 생성해 주는 SQL 쿼리 입니다.구문형식MySQL12345678910111213141516171819202122232425262728293031SELECT concat('private String ', VALUE_NAME, ';') AS beans, concat('') as mapper, concat('') as htmlFROM ( SELECT if ( instr(VALUE_NAME, '_') > 0, replace(VALUE_NAME, substring(VALUE_NAME, instr(VALUE_NAME, '_'), 2)..
[Oracle] 오라클 테이블 명세서 쿼리 select TBL.TABLE_NAME , TCM.COMMENTS , TBL.TABLESPACE_NAME , TCL.COLUMN_ID , TCL.COLUMN_NAME , case when TCL.DATA_TYPE = 'VARCHAR2' or TCL.DATA_TYPE = 'CHAR' or TCL.DATA_TYPE = 'NUMBER' then TCL.DATA_TYPE || '(' || DATA_LENGTH || ')' else TCL.DATA_TYPE end as DATA_TYPE , CON.KEY , decode(NULLABLE , 'N' , 'NOT NULL' , '') AS NOTNULL , DATA_DEFAULT , CCM.COMMENTS from USER_TABLES TBL , USER_TAB_CO..
[Mysql] 테이블 명세서 쿼리 SELECT ORDINAL_POSITION AS `필드순번`, COLUMN_NAME AS `필드명`, COLUMN_TYPE AS `데이터 LENGTH`, IS_NULLABLE AS `NULL값여부`, COLUMN_KEY AS `KEY`, EXTRA AS `자동여부`, COLUMN_DEFAULT `기본값`, COLUMN_COMMENT AS `필드설명`FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = '데이터베이스이름' AND TABLE_NAME = '테이블이름'ORDER BY TABLE_NAME, ORDINAL_POSITION
[Mysql]사용자 계정 추가하기 사용자 계정 추가하기사용자 계정을 추가하고, 특정 데이터베이스에 대해서 모든 권한을 부여하는 SQL 구문MySQL12345678910CREATE USER '사용자계정명'@'접근을 허용할 주소' IDENTIFIED BY '비밀번호'; GRANT SELECT, INSERT, UPDATE, REFERENCES, DELETE, CREATE, DROP, ALTER, INDEX, TRIGGER, CREATE VIEW, SHOW VIEW, EXECUTE, ALTER ROUTINE, CREATE ROUTINE, CREATE TEMPORARY TABLES, LOCK TABLES, EVENT ON `데이터베이스이름`.* TO '사용자계정명'@'접근을 허용할 주소'; GRANT GRANT OPTION ON `데이터베이스이름..
자바 정규식 정규표현식 소개정규표현식(Regular expression)은 특정한 규칙을 가진 문자열의 집합을 표현하는데 사용하는 형식언어입니다. 정규표현식은 많은 텍스트 편집기와 프로그래밍 언어에서 문자열의 검색과 치환을 위해서 지원하고 있습니다. 자바에서도 정규표현식을 J2SE 1.4 부터 지원하기 시작했으며, 관련된 주요 클래스들은 java.util.regex 패키지에 포함되어 있습니다. 정규표현식의 사용정규표현식을 사용하여 문자열의 형식을 검사하는 방법은 다음과 같습니다.Pattern.matches(정규표현식, 검사할문자열); 위의 구문은 boolean 값을 리턴합니다. 검사할 문자열이 정규표현식의 형식에 맞다면 true, 그렇지 않으면 false를 리턴합니다. 정규표현식다음의 정규표현식들은 실무에서 자주 사..
변수 토글 방법 1. bool 타입 – 제일 쉬운 경우.. 별로 설명이 필요없는 듯.bool toggle; … toggle = !toggle; 2 . 1과 -1의 토글 – 마찬가지로 아주 쉽다. 2와 -2, 3과 -3의 토글의 경우에도 사용할 수 있겠지만, 그런 토글을 사용할 일은 아직까지 한번도 없었다.int toggle = 1; … toggle = -toggle; 3. 0과 1의 토글 – 그냥 bool로 해도 되겠지만, 0과 2의 토글, 0과 3의 토글 등의 경우에도 사용이 가능하고, 이렇게 0과 어떤 숫자와의 토글을 써야하는 때가 의외로 자주 있다. 보통의 경우 이렇게 많이 쓴다.int toggle = 1; … if (toggle == 1) toggle = 0; else toggle = 1; 조금 더 생각을 한다면..
계층화 아키텍처(Layered architecture) 대부분의 중/대규모의 어플리케이션은 효율적인 개발 및 유지보수를 위해 계층화(layered)하여 개발하는 것이 일반적이다. 계층화 아키텍처는 MVC으로 대표되는데 MVC 패턴의 특징은 다음과 같다. 컨트롤러와 모델과는 독립적으로 뷰를 수정할 수 있다. 모델 컴포넌트는 뷰와 컨트롤러 컴포넌트로부터 데이터 구조와 같은 내부적인 상세한 사항을 숨긴다. 모델에 인터페이스를 가능한 한 사용하면, GUI 또는 J2ME와 같은 영역에서도 재사용이 가능하다. 컨트롤러에서 모델 코드 부분을 분리하면 원격 비즈니스 컴포넌트 사용으로 옮겨가는 것이 수월하다. 이와 같이 계층화 아키텍처는 UI의 로직과 비즈니스 로직은 어떻게 구현하고 어디에 위치시킬 것인가, 그리고 어플리케이션에 필요한 데이터 및 어플리케이션의 상태는 어떻게..