728x90
반응형
SMALL

 

https://www.youtube.com/watch?v=krIsM4g15HI&list=PLZIOAx7U0dil7sDpXvSNWSugHPrNBxUyG&index=2

 

color list : 명령 프롬프트 창 색상 변경

 

cd [디렉토리 주소] : 디렉토리 주소로 경로 이동

 

ipconfig | clip: ipconfig 내용을 클립보드에 저장

 

디렉토리를 명령프롬프트 창에 드래그 : 해당 디렉토리 복사

 

드래그한 영역 우클릭: 드래그한 영역 복사

 

디렉티로에서 shift+우클릭으로 명령프롬프트 창에서 열기: 쉽게 해당 디렉토리에 명령프롬프트 창 열기

 

doskey /history : 명령 히스토리 조회

 

ipconfig && netstat -ano : ipconfig 명령어가 성공하면 netstat -ano 명령어 실행

 

ipconfig & netstat -ano : 앞의 명령어가 틀리건 말건 뒤에 있는 명령어를 실행하는 명령어

 

ipconfig || netstat -ano : ipconfig 명령어가 실패하면 netstat -ano 명령어 실행

 

(리눅스에서는 ifconfig;netstat -an 을 실행하면 앞의 명령어와 상관 없이 둘 다 실행)

 

 

728x90
반응형
LIST
728x90
반응형
SMALL

[환경설정]

1. 프로젝트 생성 (sample 포함)

2. localhost:9080/myproject_new/egovSampleList.do

3. 경로설정 : dispatcher-servlet.xml

 

[파일설정] - 부서정보관리 -

1. deptWrite.jsp (dept 폴더에 생성)

2. DeptController.java

 - deptWrite

3. DeptVO.java

728x90
반응형
LIST
728x90
반응형
SMALL

-- 16. 대소문자 변환 함수 배우기 (UPPER, LOWER, INITCAP)

-- 사원 테이블의 이름을 출력하는데 첫 번째 컬럼은 이름을 대문자로 출력하고 두 번째 컬럼은 이름을 소문자로 출력하고 세 번째 컬럼은 이름의 첫 번째 철자는 대문자로 하고 나머지는 소문자로 출력해 보겠습니다.

SELECT UPPER(ename), LOWER(ename), INITCAP(ename)

FROM emp;

 

-- upper함수와 lower함수는 테이블 내 특정 문자 데이터를 검색하고자 할 때 데이터가 대문자인지 소문로 저장되어 있는지 확실하지 않을 때 정확한 데이터 검색을 위해 필요합니다.

SELECT ename, sal

FROM emp

WHERE LOWER(ename) = 'scott';

 

SELECT ename, sal

FROM emp

WHERE UPPER(ename) = 'SCOTT';

 

-- 17. 문자에서 특정 철자 추출하기 (SUBSTR)

-- 영어 단어 SMITH에서 SMI만 잘라내서 출력해 보겠습니다.

SELECT SUBSTR('SMITH',1,3) -- 1번 문자를 포함해서 3개를 잘라내기

FROM DUAL;

 

SELECT SUBSTR('SMITH',-2,2) -- -2번 문자를 포함해서 2개를 잘라내기

FROM DUAL;

 

SELECT SUBSTR('SMITH',2) -- 2번 문자를 포함해서 끝까지 잘라내기

FROM DUAL;

 

-- 18. 문자열의 길이를 출력하기 (LENGTH)

-- 이름을 출력하고 그 옆에 이름의 철자 개수를 출력해 보겠습니다.

SELECT ename, LENGTH(ename)

FROM emp;

 

-- 한글도 마찬가지로 문자의 길이가 출력됩니다.

SELECT LENGTH('가나다라마')

FROM DUAL;

 

-- LENGTHB는 바이트의 길이를 반환합니다. 한글이 한글자에 3바이트이므로 15를 반환합니다.

SELECT LENGTHB('가나다라마'), LENGTHB('abcde')

FROM DUAL;

728x90
반응형
LIST
728x90
반응형
SMALL

- 작게 만들어라!

3000줄에 육박하는 끔찍한 함수. 또는 100줄에서 300줄에 달하는 함수들이 존재한다. 하지만 모든 함수는 2-3줄 정도가 적당하다.

 

- 블록과 들여쓰기

if문/else문/while문 등에 들어가는 블록은 한 줄로 만들어라. 그래야 읽고 이해하기가 쉬워진다.

 

- 한 가지만 해라!

함수는 한 가지를 해야 한다. 그 한 가지를 잘 해야 한다. 그 한 가지만을 해야 한다. 

지정된 함수 이름 아래에서 추상화 수준이 하나인 단계만 수행한다면 그 함수는 한 가지 작업만 한다.

예시) TO RenderPageWithSetupsAndTeardowns, 페이지가 테스트 페이지인지 확인한 후 테스트 페이지라면 설정 페이지와 해제 페이지를 넣는다. 테스트 페이지든 아니든 페이지를 HTML로 렌더링한다.

의미 있는 이름으로 다른 함수를 추출할 수 있다면 그 함수는 여러 작업을 하는 셈이다.

 

- 함수 당 추상화 수준은 하나로!

 

 

728x90
반응형
LIST

'클린코드' 카테고리의 다른 글

<느낀점> 2장 의미 있는 이름  (0) 2024.02.07
<느낀점> 1장 깨끗한 코드  (0) 2024.02.06
728x90
반응형
SMALL

- 의도를 분명히 밝혀라

이름을 명확하게 하고, 클래스를 만드는 등 코드를 구체적으로 작성하여 의도를 분명히 밝힌다면 가독성이 뛰어나진다.

 

- 그릇된 정보를 피하라

약어를 피하라

여러 계정을 그룹으로 묶을 때, 실제 List가 아니라면 accountList가 아닌 accountGroup이라 명명하라

서로 흡사한 이름을 사용하지 않도록 주의하라

의미가 없는 명명을 하지 말라 예를 들면 class를 이미 사용했다고 klass를 사용한다

발음하기 쉬운 이름을 사용하라 예를 들어 함께 코드를 살펴볼 때 서로 지적인 대화가 가능해진다. 

 

- 검색하기 쉬운 이름을 사용하라

변수나 상수를 활용한다면 코드 검색이 용이하다. 예를 들어 그냥 5를 사용하기 보다도 WORK_DAYS_PER_WEEK이라는 상수를 만든다면 찾기 쉬울 것을 상상할 수 있다. 

 

- 인코딩을 피하라

멤버 변수 접두어를 피하라

인터페이스 클래스와 구현 클래스 - 구현 클래스 접미어로 Impl을 붙이는 것이 낫다

 

- 자신의 기억력을 자랑하지 마라

똑똑한 프로그래머와 전문가의 차이는 전문가 프로그래머는 명료함이 최고라는 사실을 이해한다. 그래서 남들이 이해하는 코드를 내놓는다.

 

- 클래스 이름

클래스 이름과 객체 이름은 명사나 명사구가 적합하다. 동사는 사용하지 않는다.

 

- 메서드 이름

동사나 동사구가 적합하다. postPayment,deletePage, sava 등

접근자, 변경자, 조건자는 javabean 표준에 따라 값 앞에 get,set,is를 붙인다.

생성자를 중복정의 할 때는 정적 팩토리 메서드를 사용한다. 메서드는 인수를 설명하는 이름을 사용한다.

 

- 기발한 이름은 피하라

이름이 너무 기발하면 저자와 유머 감각이 비슷한 사람만, 그리고 농담을 기억하는 동안만, 이름을 기억한다.

 

- 한 개념에 한 단어를 사용하라

추상적인 개념 하나에 단어 하나를 선택해 이를 고수한다. 예) controller -> MessageController, EmailController

 

- 말장난을 하지 마라

한 단어를 두 가지 목적으로 사용하지 마라. 예) add라는 한 단어를 두 가지 이상의 목적으로 사용하는 경우

 

- 해법 영역에서 가져온 이름을 사용하라

기술 개념에는 기술 이름이 가장 적합한 선택이다. 

 

- 문제 영역에서 가져온 이름을 사용하라

적절한 '프로그래머 용어'가 없다면 그 문제와 관련된 이름짓기

 

- 의미 있는 맥락을 추가하라

스스로 의미가 분명한 이름이 없지 않다. 마지막 수단으로 접두어를 붙인다. 예를 들어 주소와 관련된 도로명, 거리, 도시, 우편번호 등은 앞에 'addr'라는 접두어를 붙인다면 서로 연관된다는 것을 알 수 있다.

 

- 불필요한 맥락을 없애라

고급 휘발유 충전소(Gas Station Deluxe)라는 애플리케이션을 짠다고 가정하자. 모든 클래스 이름을 GSD로 시작하겠다는 생각은 바람직하지 못하다. 또한, accountAddress와 customerAddresssms Address 클래스 인스턴스로는 좋은 이름이나 클래스 이름으로는 적합하지 못하다. Address는 클래스 이름으로 적합하다.

 

 

728x90
반응형
LIST

'클린코드' 카테고리의 다른 글

<느낀점> 3장: 함수  (0) 2024.02.07
<느낀점> 1장 깨끗한 코드  (0) 2024.02.06
728x90
반응형
SMALL

1. 바이너리 파일 : 문자와 숫자가 저장되어 있는 파일 (데이터를 있는 그대로 읽고 쓴다.)

 

2. 텍스트 파일 : 문자만 저장되어 있는 파일 (숫자를 문자로 변환 후 쓴다.)

 

3. MIME(Multipurpose Internet Main Extensions) : 텍스트 기반 프로토콜에 바이너리 데이터를 전송하기 위해 고안. HTTP의 Content-Type헤더에 사용. 데이터의 타입을 명시MIME

 

타입 표는 아래 URL을 참조하기https://developer.mozilla.org/ko/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types

 

일반 MIME 타입 - HTTP | MDN

다음은 일반적인 확장자로 정렬된, 문서 타입과 관련된 MIME 타입의 포괄적인 목록입니다.

developer.mozilla.org

 

728x90
반응형
LIST
728x90
반응형
SMALL

[경로]

톰캣설치경로/conf/server.xml : Tomcat서버 설정 파일

톰캣설치경로/conf/web.xml : Tomcat의 모든 web app의 공통 설정

웹앱이름/WEB-INF/web.xml : web app의 개별 설정

*참고 STS에서는 프로젝트/src/main/webapp/WEB-INF/web.xml

728x90
반응형
LIST
728x90
반응형
SMALL

[원인]

구글링 해본 결과 자바 8버전에서는 --add-opens 라는 옵션이 없기 때문에 에러가 나는 것.
참고링크

[해결방법]

eclipse 기준

run - run configurations - tomcat v.?.?~ - Arguments - VM Arguments

에서 --add-opens 가 붙은 옵션들을 모두 제거해준다

 

[참조]https://velog.io/@sonyak-ku/Unrecognized-option-add-opens-when-passed-with-JAVAOPTIONS

 
 

velog

 

velog.io

 

 

728x90
반응형
LIST

+ Recent posts