본문 바로가기

분류 전체보기

(8)
공통코드 관리 Enum vs DB 1. Enum으로 관리하기 좋은 경우 * 값이 고정, 변경될 가능성이 거의 없음. * 코드자체로 의미가 명확함. ex ) 성별 (MALE, FEMALE), 요일(MONDAY~SUNDAY) + 장점 : 타입안정성, IDE 자동완성, 오타방지, JPA 사용할 경우(타입안정성, 가독성,의미명확) - 단점 : 코드 수정 → 배포 필요 2. DB 테이블로 관리하기 좋은경우 * 운영자가 직접 관리해야하고, 변경/추가 가능성이 높은 경우 * 여러 시스템에서 공통적으로 참조해야 할때. ex) 점포코드(편의점1, 편의점2, 편의점3..), +장점: 운영자/관리자가 수정 가능, 배포 없이 운영 대응 - 단점: 쿼리 필요, 무분별하게 만들면 관리 복잡
[TIL] 5 DAY - friendship 아 이건 개발블로그인데 어째서 취미 기록이 더 많은거지..괜히 찔리는구먼....개발 공부 안하는거 다 들켜버림오늘도 Ina 쌤이 목이 많이 아픈것 같다. 아픈데 일하면 서러운데 ㅠ 괜히 안쓰러웠다.. Ina쌤 빨리 나으시오 오늘도 friendship에 관해 이야기를 했다. 처음에는 감정에 관한 문제를 풀었다. sulky - 뚱한, 삐진moody - 기분이 오락가락하는upbeat - 긍정적인, 명랑한, 인싸의 느낌.. downbeat - 우울한, 비관적인optimistic - 낙관적인, 생각과 믿음에 관해 낙천적인 느낌kind-hearted - 마음씨가 고운, 상냥한 fair weather friend - 상황이 좋을때만 곁에 있는 친구ex) I used to have so many friends wh..
[ oracle ] 대량의 데이터 UPDATE 하기 * 리스트 데이터를 UPDATE 해야할 때 사용 하는 쿼리이다. 1. (선 작업) 수정이 필요한 TABLE의 키 값과 수정해야할 값을 TEMP 테이블에 INSERT 한다. ( 엑셀로 IMPORT)2. 아래 쿼리처럼 SET 구문에서 한 건만 나올수 있도록 JOIN을 사용해야한다. (난 이부분에 JOIN을 사용하지 않아서 쿼리 오류가 발생했었음.)UPDATE SCOTT.PEOPLE ASET = ( SELECT COL_DAT_VAL3 FROM SCOTT.TEMP B WHERE SYS_RGTR_ID='250206002_9633' AND A.ID = B.COL_DAT_VAL1 AND A.NM = B.COL_DAT_..
[ 내 코드가 그렇게 이상한가요? ] 1장~2장 정리 1. 의미를 알수 없는 이름 2. 이해하기 어려운 조건분기 중첩 3. 데이터클래스 설계 오류      예) 데이터클래스와 계산 로직 분리된 경우 -> 응집도가 낮아짐.       ※ 응집도가 낮은 경우 발생 상황            1. 코드중복            2. 수정해야할 곳 누락 -> 응집도가 낮아 수정할 곳이 여기저기 흩어지게 되면서 누락될 가능성 높아짐            3. 가독성 저하 -> 분석하는데 너무 많은 시간 할애하게 됨            4. 초기화되지 않은 상태 ( 쓰레기 객체 ) -> 초기화해야하는 클래스라는 것을 모르면 버그 발생높아짐.            5. 잘못된 값 할당   1. 의도를 분명히 전달할 수 있는 이름 설계 2. 목적별로 변수를 따로 만들어 사용 -..
[ oracle ] where 절에서 (+)와 값을 비교 하는 경우 회사에서는 오라클문법을 사용한다. 그러다 보니 (+)를 자주 만나게 된다. 오늘은 이해가 안되는 구문을 만나서 기록으로 남기려 한다. 아래의 구문을 보자.SELECT* FROMCUSTOMER C, ORDER O WHEREC.IDX_CUST = O.IDX_CUST(+) ANDC.ACTIVE = 'Y' AND O.STATUS(+) = 'P' 추측해보기로는 1. LEFT OUTER JOIN이고 2. ORDER 테이블에 STATUS = 'P' 인 데이터만 조회하고 싶어 하는것 같다. 그런데 왜 (+)를 붙였을까.. 모호하다. 아래 구문과 다른 점이 무엇인지 알아보자.SELECT* FROMCUSTOMER C, ORDER O WHEREC.IDX_CUST = O.IDX_CUST(+) ANDC.ACTIVE = 'Y' ..
[ oracle ] 순위 함수 - ROW_NUMBER(), RANK(), DENSE_RANK() 정렬한 이후 ROWNUM 으로 일련번호를 만들고 싶다.그러나 ORDER BY를 사용하게되면 ROWNUM은 WHERE절에서 생성이 된다.따라서 여기저기 얽히게 된다.따라서, 정렬한 이후 순위를 매기고 싶을 때 아래 세가지 방법을 사용할 수 있다.  1. ROW_NUMBER() - 동일한 값이라도 고유한 순위를 부여한다.   2. RANK() - 동일한 값에 대해서는 동일한 순서를 부여함. 동일한 순위 하나의 건수로 취급하지 않음.   3. DENSE_RANK()- DENSE_RANK 함수는 동일한 순위를 하나의 건수로 취급함   * ROW_NUMBER(), RANK(), DENSE_RANK() 사용시 그룹별로 순위를 매길 수 있다.OVER절 뒤 PARTION BY 사용
[java] 자바와 오라클 연동시 java.lang.ClassNotFoundException: oracle.jdbc.driver.Oracle 자바와 오라클 DB를 연동했을때 이클립스에java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver에러가 나온다면 라이브러리에 ojdbc 파일이 없는것이다. 1. 라이브러리 추가 ojdbc.jar 파일 다운받고 이클립스의 프로젝트/WebContent/WEB-INF/lib 우클릭 후 import File System선택 From Directory에서 방금 다운받은 ojdbc6.jar가 있는 링크 선택 후 파일 선택 후 Finish 2. Build Path 설정프로젝트 우클릭 - Properties - Java Build Path - Library - Add External JARs 클릭 후 방금 다운받은 ojdbc6.jar 추가후 Apply and..
[Spring Boot + Mybatis + Jsp] 개발툴 공부하기 - (1) Tomcat의 구조 톰캣을 다운로드 후에 압축을 푼후 구조를 살펴보자. apache-tomcat-8.5.91-windows-x64 (1)\apache-tomcat-8.5.91\bin에 startup.bat을 실행하면 apache-tomcat-8.5.91-windows-x64 (1)\apache-tomcat-8.5.91\webapps\ROOT 하위에 있는 index.jsp가 실행된다. 오호라 * 우리가 프로젝트 하는 것들은 apache-tomcat-8.5.91-windows-x64 (1)\apache-tomcat-8.5.91\webapps\ 이 하위에 들어가면 된다. 톰캣을 서버에 올린다면 프로젝트 하위에 1. WEB-INF/lib => 필요한 라이브러리가 들어감 2. classes => 자바 빈즈 즉, 클래스 파일들이 들어..