본문 바로가기
  • 실행력이 모든걸 결정한다
반응형

분류 전체보기580

[SQL-JOIN, 난이도 중] 오랜 기간 보호한 동물(1) 테이블 테이블 문제 설명 해설 : ANIMAL_INS, ANIMAL_OUTS 테이블에 있는 동물들은 각각 보호소에 왔던 동물들, 입양 간 동물들이다. 아직 입양을 못 간 동물들을 벤 다이어그램으로 나타내면 다음과 같다. (A=ANIMALS_INS, B=ANIMAL_OUTS) A를 B와 LEFT JOIN을 해주고 B 부분을 제거해주면 해당 테이블을 만들 수 있다. 이 테이블에서 보호소에 있었던 기간은 보호소에 일찍 들어온 동물일 수록 더 길 것이다. 이 조건을 상위 3개의 레코드까지 적용하여, 문제가 원하는 정보인 NAME, DATETIME 값을 레코드마다 추출하여 반환해주면 된다. SELECT AI.NAME, AI.DATETIME FROM ANIMAL_INS AI LEFT JOIN ANIMAL_OUTS .. 2020. 12. 7.
[JSP Servlet] 서버에 파일 업로드하고 확인하기 1. 설치 웹상에서 파일을 업로드 하는 기능을 구현하기 위해 라이브러리를 설치 해야 한다. 다운로드를 하기 위해 해당 사이트에 들어가자 servlets.com/cos/ Servlets.com | com.oreilly.servlet servlets.com 밑에 조금 내려보면 Download 가 있을 텐데, 여기서 zip 파일을 다운 받아주면 된다. 그리고 적당한 위치에 압축을 풀어주고, 그 후 생성된 폴더의 lib 하위 디렉토리에 cos.jar 이 있을 것이다. 이를 복사해서, 여러분들의 프로젝트의 WebContent/WEB-INF/lib 에 넣어주면 된다. 2. 업로드 파일을 저장할 폴더 생성 프로젝트 폴더의 WebContent 안에서 "uploadedFiles" 라는 폴더를 직접 생성해주었다. 이렇게 .. 2020. 12. 6.
[SQL-JOIN, 난이도 중상] 보호소에서 중성화한 동물 테이블 테이블 문제 설명 중성화 여부 표기 방식 해설 : ANIMAL_INS와 ANIMAL_OUTS 테이블을 ANIMAL_ID에 대해 JOIN해주면 한 동물이 보호소에 들어왔을 때와 입양 갔을 때의 정보를 한 레코드에 확인할 수 있게 된다. 이 JOIN된 테이블에서 보호소에 들어올 당시의 중성화 정보를 담고 있는 "SEX_UPON_INTAKE" 필드명이 Intact로 시작하면서, 보호소에서 입양 갔을 당시의 중성화 정보를 담은 "SEX_UPON_OUTCONE" 필드명이 Intact로 시작하지 않는 레코드를 추출해야 한다. 문제가 원하는 정보인 ANIMAL_ID, ANIMAL_TYPE, NAME 값을 레코드마다 추출하여 반환해주면 된다. SELECT AI.ANIMAL_ID, AI.ANIMAL_TYPE, A.. 2020. 12. 4.
[SQL-NULL, 난이도 중] NULL 처리하기 테이블 명은 ANIMAL_INS 이며, ANIMAL_ID 순으로 ANIMAL_TYPE, NAME, SEX_UPON_INTAKE 을 조회하는 SQL문을 작성하면 된다. NAME은 NULLABLE이 TRUE이기 때문에 NULL값이 올 수도 있는데, 이 때의 NULL값은 "No name" 문자열로 대체하면 된다. SELECT ANIMAL_TYPE, IFNULL(NAME,"No name") AS NAME, SEX_UPON_INTAKE FROM ANIMAL_INS ORDER BY ANIMAL_ID; SELECT : 조회하라 ANIMAL_TYPE, IFNULL(NAME,"No name") AS NAME, SEX_UPON_INTAKE : ANIMAL_TYPE, NAME, SEX_UPON_INTAKE 필드를 (단, N.. 2020. 12. 4.
[SQL-NULL, 난이도 하] 이름이 있는 동물의 아이디 테이블 명은 ANIMAL_INS 이며, NAME이 NULL로 들어오지 않은 동물들의 ANIMAL_ID를 오름차순으로 조회하는 SQL문을 작성하면 된다. >> SELECT ANIMAL_ID FROM ANIMAL_INS WHERE NAME IS NOT NULL; SELECT : 조회하라 ANIMAL_ID : ANIMAL_ID 필드를 FROM ANIMAL_INS : 테이블 "ANIMAL_INS" 에서 WHERE NAME IS NULL : NAME이 NOT NULL인 레코드들을 (오름차순이면 ORDER BY문은 생략해도 된다) 2020. 12. 4.
[SQL-NULL, 난이도 하] 이름이 없는 동물의 아이디 테이블 명은 ANIMAL_INS 이며, NAME이 NULL로 들어온 동물들의 ANIMAL_ID를 오름차순으로 조회하는 SQL문을 작성하면 된다. >> SELECT ANIMAL_ID FROM ANIMAL_INS WHERE NAME IS NULL; SELECT : 조회하라 ANIMAL_ID : ANIMAL_ID 필드를 FROM ANIMAL_INS : 테이블 "ANIMAL_INS" 에서 WHERE NAME IS NULL : NAME이 NULL인 레코드들을 (오름차순이면 ORDER BY문은 생략해도 된다) 2020. 12. 4.
메모장으로 열기 메뉴 추가하기 설정 등의 이유로 파일의 소스 코드를 확인하거나 수정하고 싶을 때가 많을 것이다. 이 때 굳이 에디터를 사용하지 않아도 메모장으로 파일을 열 수 있게 하는 방법이 있다. 이번 포스팅에서는 해당 파일을 우클릭하여 "메모장으로 열기" 라는 메뉴를 추가하는 방법에 대해 다룰 것이다. 꽤 간단하며 1~2분정도 걸릴 것이다. 먼저 실행 -> regedit 을 검색하여 레지스트리 편집기를 실행하자 HKEY_CLASSES_ROOT/*/shell 에서 shell을 우클릭한 뒤, 새로만들기 -> 키(K) 를 눌러서 "메모장으로 열기" 라고 작성해준다. 그리고 방금 생성한 "메모장으로 열기" 폴더를 다시 우클릭 한 뒤, 새로 만들기 -> 키(K)를 눌러서 "command" 라고 작성해준다. 그리고 command 에서 우측.. 2020. 12. 4.
[JSP Servlet] 데이터베이스(2) - DTO/DAO/ConnectionPool 1. DAO와 DTO DAO : Data Access Object, 데이터베이스의 데이터에 접근을 하기 위한 오브젝트로, 유지보수에 좋음 DTO : Data Transfer Object, 데이터 베이스에서 데이터 교환을 위한 javabean들을 의미한다. getter, setter 메소드로 구성된다. 아래 코드는 저번 포스팅에 사용했던 코드를 그대로 가져온 것이며, DAO/DTO 클래스 없이 데이터베이스와 연동하는 코드이다. 이제 위의 코드를 DAO/DTO로 나눠서 처리하도록 바꿔볼 것이다. 2020. 12. 3.
[JSP Servlet] 예외 페이지 / javabean / JDBC 기초 1. 예외 페이지 보기 좋지 않은 에러 페이지를 대체 하는 페이지 예외 페이지를 설정하는 방법 2가지를 소개한다. 1) 방법1 : page 지시자 예외가 발생할 만한 페이지에 page 지시자를 이용하여 다음과 같이 작성한다. 그리고 대체한 예외 페이지에는 다음과 같이 작성한다. * 200은 정상적인 페이지를 의미하는 응답코드이다. * 예외 페이지로 넘어가도 URL은 바뀌지 않는다. * isErrorPage를 true로 작성하면 exception 객체를 참조할 수 있으며, 다음과 같이 작성하면 에러 메세지를 확인할 수 있다. 2) 방법2 : web.xml 이렇게 에러 코드마다 이동할 예외 페이지를 지정할 수도 있다. 404 /예외페이지경로 500 /예외페이지경로 2. javabean 파라미터가 없는 def.. 2020. 12. 2.