
1-1. MySQL - GROUP_CONCAT 컬럼의 값을 하나로 합쳐서 보여준다. 기본적으로는 콤마가 구분자. SELECT GROUP_CONCAT(m_id) FROM tb_member; ⬇ 1-2. 구분자 변경시에는 SEPARATOR '구분자' 를 사용한다. SELECT GROUP_CONCAT(m_id SEPARATOR '||') AS G01 FROM tb_member; 2-1. MSSQL - STRING_AGG 2-2. select String_agg(area,',') G02 from tCity; select String_agg(area,'||') G02 from tCity; 2-3. WITHIN GROUP(ORDER BY 컬럼명 DESC or ASC) select String_agg(area,'||..

OVER - sum, avg, min, max 집계 함수는 주로 group by 와 함께 사용. - over는 집계 함수는 보조한다. ▶ 부서별 합계 sum, group by SELECT DEPART, SUM(SALARY) FROM tStaff group by depart; ▶ 이름, 부서, 전체월급총합 select name, depart, salary, sum(salary) over() as 월급총합 from tStaff; ▶ 이름, 부서, 부서별 월급합계 select name, depart, salary, sum(salary) over(partition by depart) as 부서월급총합 from tStaff; ▶ - over 안에 order by 절을 사용하면 -> 정렬을 수행하면서 집계 계산. ..

stored procedure : 스크립트를 서버에 저장해 놓은 것. 1. 1) 프로시저 생성하기 1. 이름은 동작을 설명하는 이름을 붙이되 주로 Get, Cal, Update 같은 동사로 이름을 붙인다. 2. 주로 SP_접두 를 붙인다. 3. 호환성을 고려하여 IS 보단 AS 를 적는다! 3. END 에도 프로시저 이름을 적어줄 수 있다 : 기능 요소 X. 여러 프로시저를 정의할 때 구분요소. 1. 기본형 CREATE PROCEDURE 이름(인수목록) AS 또는 IS 변수선언 BEGIN 본체 END [이름]; 2. MSSQL 1) 프로시저 생성 - 가변길이 타입은 char로만 쓸수는 없고 char(10) 으로 길이를 다 밝혀야 한다. - 변수에 대입할 필요없이 select 문으로 바로 출력할 수 있다...
싱글톤 패턴? - 생성자가 여러 차례 호출되더라도 실제로 생성되는 객체는 하나이고 최초 생성 이후에 호출된 생성자는 최초의 생성자가 생성한 객체를 리턴한다. - 공통된 객체를 여러 개 생성해서 사용하는 DBCP(DataBase Connection Pool)와 같은 상황에서 많이 사용된다. 싱글톤 특징 - 하나의 인스턴스를 생성해서 사용 - 메모리 낭비 방지 - 공통된 객체를 여러개 생성해서 사용해야하는 상황에서 많이 사용 - 꼭 필요한 경우아니면 지양 싱글톤 단점 - 전역 인스턴스이기 때문에 데이터 공유 우려 (static 변수에 인스턴스 생성) - 멀티쓰레드 환경에서 동기화 처리를 안하면 인스턴스가 두개가 생성된다든지 하는 경우가 발생할 수 있음 싱글톤 코드 public class Singleton {..

JSTL - JSTL의 정식 명칭은 자바서버 페이지 표준 태그 라이브러리(JavaServer Pages Standard Tag Library) - 조건, 반복 등을 테그 작성 방식으로 처리 할 수 있는 기법 - JSP 상단에 아래의 코드를 삽입해야 JSTL를 사용 할 수 있다. - JSTL을 사용하기 위해서는 라이브러리가 필요하다. 해당라이브러리는 메이븐저장소 혹은 톰켓 사이트에서 다운로드 받을 수 있다. 태그 종류 - 변수명에 값을 할당 - 값을 출력 - 조건식 - switch와 비슷 - switch문의 case에 해당 - switch문의 default에 해당 - 다른언어의 loop문 items 속성에 배열을 할당할 수 있음 (반복문) - url를 생성, get방식의 형태로 파라미터 설정 가능 requ..
인터셉터 : 스프링 MVC 프레임 워크의 DispatcherServlet 와 Controller 사이에 위치 DispatcherServlet에 요청이 컨트롤러에 도달하기 전과 뷰가 렌더링되기 전 후에 요청을 가로챔 인터셉터 구현 메서드 1) 패키지 2개, 클래스 2개 만들기 - 핸들러 인터셉터를 상속받게 한후 ctrl+space 를 누르면 3개 메서드를 만들 수 있다. 2) 로그정보를 확인하기. 포트번호, 서버네임, http mehotd 등 3) 4) webConfig 는 webMVConfigurer 를 상속받게 한다. 5) 6) 7) 서버를 킨 후에 uri에 접속하면 콘솔창에 찍힌다! 8) 9) 10) 11) sendRedirect 항목은 추가를 해줘야 계속 리다이렉트 되지 않는다!! 12)
깃 : 변경사항을 추적. 분산버전관리 시스템. 동시에 작업은 불가능하다. 연동이 되어있다면 -> 리포지토리와 워크스페이스가 한 묶음이라도 보면 된다. 내 워크스페이서도 저장이 되고 깃에서도 저장이된다. 1. 깃폴더에 저장된 파일을 올린다, -> 2. 커밋 -> 3. push - 다른 pc 에서 작업하게 된다면 clone을 이용. - 작업중에 다른사람이 했을 때 업데이트를 받고싶다면 : pull - fetch : 자주사용안한다. 로컬 리포지토리 : 내 파일 pull 을 먼저 받고 push를 해줘야한다 !! 1) 깃허브 접속화면 2) 1일 1커밋하기! - 사이드 프로젝트를 계속 공부하자. 3) readme : 소개파일만 선택! 4) 5) github readme markdown example 6) 플러그인해..

오류 시스템 레벨에서 발생하는 에러 개발자가 미리 예측 할 수 없는 오류이므로 어플리케이션 개발시 이에 대한 오류처리는 제외 - 하드웨어 오작동, 또는 고장으로 인한 응용프로그램 이상발생 - 시스템 레벨에서 에러 처리 예외 개발자가 구현한 로직에서 발생 예외는 개발자가 미리 예측이 가능함으로 어플리케이션에서 미리 처리 - 사용자의 잘못된 데이터 입력 - 잘못된 연산 - 개발자가 로직을 잘못 작성 - 시스템 과부하 Throwable, Exception, Error CHECKED : ex) try, catch UNCHECKED : 실행당시의 에러 - NullPointerException : 객체화가 되어있지 않음 - OutOfMemoryError : 메모리 부족. Checked Exception - 예외 처..
1. ssh : 보안 프로토콜 3. cafe24아이디 입력후 -> 비밀번호 입력 4. ls 입력(폴더구조 보여주기) 5. cd(change directory) tomcat tomcat 폴더로 변경 6. ls 다시입력 : tomcat 폴더내의 폴더 구조 보기 7. cd logs -> ls 7. 문서의 끝부분 보기 : tail 계속 반복 -f 문서이름 8. 톰캣 시작 STS에서 실행했던과 비슷한 로그내용이 보인다. 1. 배포 후 파일이 일부 변경된 경우 : 파일만 붙여넣어주면 된다. - 프로퍼티의 경우 2. mapper 파일에서 일부 sql 구문이 들어가지 있지 않은경우 - bound statement