유석문 , 이세현 , 이상범 , 김은하 , 나종채지음
출판사
위키북스 | 2010.08.27
형태
판형 B5 | 페이지 수 296 ISBN

ISBN 10-8992939604 
ISBN 13-9788992939607













2013.08.09 ~ 2013.08.16



QP(Quality Practice) : 품질 혁신 활동


SIQ(Standard Indicator for Quality): 품질 혁신 지표


QP활동: 

효과적 명세 작성, 코딩 컨벤션, 코드 리뷰, 

코드 커버리지, 사이클로매틱 복잡도, 정적분석, 

이를 업무절차로 만든 단계적 빌드.


좋은 개발습관

코드 작성 - 테스트 코드 작성 - 리팩토링


리팩토링? 코드의 일반화, 재사용, 추상화


QP활동을 위해 필요한 것? 조직 내 변화에 대한 공감대 형성







앨리스터 코오번 지음
역자
임병인 옮김 역자평점 0.0
출판사
인사이트 | 2011.01.15
형태
판형 B5 | 페이지 수 364 ISBN

원제 : Writing Effective Use Cases
ISBN 10-8991268846 
ISBN 13-9788991268845





2013.08..01 ~ 2013.08.08


유스케이스? 클라이언트의 요구 사항을 그 목적에 따라 액터의 행동 단계로 구분해서 표현한 문장과 수식


고객의 요구에 따라 프로그램을 설계할 때 따를 수 있는 지침들을 엮어놓은 책. 

저자는 UML과 유스케이스를 분리해서 설명하는 거 같다. 


사실 지금 다 이해하긴 좀 어려워서 PM, PL 의 위치에서 다시 읽어보고 싶다. 


오늘도 지친몸을 이끌고 출근..

어제 수정한 페이지의 검색을 눌러본다. 


오잉, 09시 ~ 10 시의 데이터가 나와야 하는데 어째서 09 ~ 01 로 검색이 되는걸까?

소스코드를 본다. 



alert 창을 띄워보니 parseInt(startTime) 이 0으로 나온다. 


이유는 startTime 이 0으로 시작하는 00~09시 였기 때문!


parseInt 는 원래 parseInt(숫자, 진수)로 매개변수를 2개 줘야한다. 

진수가 없이 parseInt(숫자)일 땐 기본적으로는 10진수로 인식하지만

숫자가 0x 로 시작하면 16진수, 0으로 시작하면 8진수로 인식한다고 한다. 

그래서 parseInt(숫자가) 오전에는 0으로 나오니까 


당연히 endTime 이 0+1인 1로 나와서 검색이 안됐다는 말씀. 


해결 방법은 



이렇게 parseInt(시간, 진수) 형식으로 적어주면 된다. 


숫자로 바꾸는 js 메서드는 parseInt 외에도 number 가 있다. 


둘의 차이는 parseInt 는 숫자+다른 값이 붙어도 숫자만 인식하고 


Number 는 숫자만 인식한다는 점. 


그리고 앞서 말했듯, parseInt 는 매개변수가 원래 2개, Number 는 하나라는 점.


이제 한달 차 신입이라서 알던것도 모르겠고 모르는건 더 모르겠다. ㅠㅠ 

앞으로도 새로 알게 된 사실이나 코딩하면서 주의해야 할 점들을 꾸준히 적어야겠다 :)


참고:

http://www.w3schools.com/jsref/jsref_parseInt.asp

http://www.w3schools.com/jsref/jsref_number.asp

 


일반 실행 시 작업 방법

 

1. 구문변환 작업(오류여부 검사.)

2. 쿼리문의 테이블이나 컬럼명등이 정확한지 확인

3. 해당 개체 소유자의 권한을 점검

4. 최적화

5. 컴파일

 


저장프로시저 실행 시 작업 방법

 

일반쿼리문과 같은 과정을 거친다. 

그러나 두번 째 실행 부터는 최초에 실행시 만들어 놓았던 실행 계획을 남겨 놓기 때문에 

쿼리문과 같은 과정을 거치지 않아에 수행 속도가 훨씬 빠르다.

 

[Form Tag] Select option WEB/HTML 2013. 8. 21. 11:43

 Select option

 

  • 펼침 메뉴믈 클릭하면 늘어져서 전체 항목 아이템을 선택할 수 있어 적은 공간에 많은 세부 항목 아이템을 배치할 수 있다.

 

  • 기본 형태.
    • <SELECT name="이름">
      <OPTION value="아이템1 전송값" selected>아이템1</OPTION>
      ...
      <OPTION value="아이템n 전송값">아이템n</OPTION>
      </SELECT>
    • name : 펄침 메뉴의 이름 지정.
    • value : 사용자가 선택하였을 경우에 실제로 서버에 전송되는 내용.
    • selected : 문서가 로딩될 때 미리 선택되어져 나타남.
    • 아이템 : 펼침 메뉴를 이루는 아이템 제목
  •  출처 
  • http://blog.naver.com/shylove2456/150095947556
  •  29. 폼태그 3 - Select option. |작성자 shylove2456



style="width:120px; height:20px;" 를 select에 넣어버리면 텍스트 안보이고 화살표 표시만 나온다 

<select id="sStartTime" name="sStartTime" class="select">

<option value = "">선택</option>

<option value = "00">00</option>

<option value = "01">01</option>

<option value = "02">02</option>

<option value = "03">03</option>

<option value = "04">04</option>

<option value = "05">05</option>

<option value = "06">06</option>

<option value = "07">07</option>

<option value = "08">08</option>

<option value = "09">09</option>

<option value = "10">10</option>

<option value = "11">11</option>

<option value = "12">12</option>

<option value = "13">13</option>

<option value = "14">14</option>

<option value = "15">15</option>

<option value = "16">16</option>

<option value = "17">17</option>

<option value = "18">18</option>

<option value = "19">19</option>

<option value = "20">20</option>

<option value = "21">21</option>

<option value = "22">22</option>

<option value = "23">23</option>

</select>

WS, WAS, WC WEB 2013. 8. 13. 15:52

[ 웹 서버(Web Server) ]

 - 클라이언트의 요청을 받아 HTML이나 오브젝트를 HTTP 프로토콜을 이용해 전송하는 것.
   사용자가 클라이언트로 요청을 보내오면 그 명령에 대한 처리를 실행하고 다시 사용자에게 답변을 보내준다.


 - 사용자가 요청한 것들 중에 웹 서버 자체적으로 처리할 수 없는 것들을 톰캣과 같은 컨테이너나 PHP 모듈과  같이 처리할 수
 있는 곳으로 넘겨 처리

   결과를 받아와서 사용자에게 넘겨주는 역할도 수행한다.

 - 웹 서버만 구축된 서버는 웹 페이지, 이미지 등 정적인 페이지를 생성하지만,
   JSP 컨테이너가 탑재되어 있는 WAS는 JSP 페이지를 컴파일 해 동적인 페이지를 생성한다.

 - 웹 서버는 웹 문서를, WAS는 JSP 페이지 등을 양분하여 서버 부담을 줄이는 것이 가능하다.

 - Apache, IIS(Internet Information Server), WebtoB 등



[ 웹 어플리케이션 서버(Web Application Server / WAS) ]

 - 웹 서버 + 웹 컨테이너.

 - 웹상에서 사용하는 컴포넌트들을 올려놓고 사용하게 되는 서버

 - EJB와 같은 빈들이 올라가게 되며, 서버에 따라 웹에 필요한 많은 기능들을 포함하고 있다.

 - J2EE 스펙을 구현한 서버(JSP / Servlet Container와 EJB Container 로서의 기능)

 - 가장 많이 사용하는 WAS는 BEA사의 Web Logic, IBM사의 Web Sphere, T-max사의 Jeus, Tomcat, Redhot사의 JBoss 등이 있다.)

 - Tomcat은 JSP / Servlet Container의 기능을 구현했으나 EJB Container로서의 기능은 없다. 따라서 Tomcat은 WAS가 아니라는 사람들도 있다.


[ 컨테이너(Containner) ]

 - JSP와 서블릿을 이용하는 웹 응용 프로그램은 자바 언어를 이용해서 작성할 수 있는데,
   JSP와 서블릿을 실행시킬 수 있는 소프트웨어를 웹 컨테이너(Web Container) 혹은 서블릿 컨테이너(Servlet Container)라고 
한다.

 - Servlet 컨테이너, JSP 컨테이너, EJB 컨테이너 등의 종류가 있으며,
   대표적인 웹 컨테이너로는 자카르타 톰캣(JSP), RESIN, Web Logic, WebtoB 등이 있다.

 - 웹 서버에서 JSP를 요청하면 톰캣에서는 JSP 파일을 서블릿으로 변환하여 컴파일을 수행하고, 서블릿의 수행결과를 웹 서버에서 전달하게 된다. 


 
[ 웹 서버와 WAS의 차이점 ]

 - 웹 서버와 WAS를 구별 짓는 것은 동적 서버 콘텐츠를 수행하는가? 만약 수행한다면 WAS로 보면 된다.

 - 웹 서버 : 정적인 HTML이나 이미지를 제공하는 서버.
   WAS : 동적인 처리를 담당하는 서버. 



[ 웹 서버와 WAS의 일반적인 구성 ]

 - 사용자가 브라우저에서 요청을 하게 되면 다음과 같이 웹 서버와 WAS 서버를 거쳐 응답이 돌아오게 된다.
   사용자 요청(웹 브라우저) -> 웹 서버 -> WAS(동적 처리) -> 웹 서버 -> 사용자 응답 메세지(웹 브라우저)


프로시저?


많이 쓰는 SQL 쿼리들을 미리 정의해서 컴파일 해 놓은 SQL 집합 혹은 그룹이다. 


성능, 보안, 유지관리가 용이하다는 장점이 있다. 


DB파일이 예전 백업본이라서 SP가 없다.. 우짜노........


디비를 확 내려서 백업받을 수도 없고... ㅠㅠㅠㅠㅠ


참고 :

http://msdn.microsoft.com/ko-kr/library/ms187926(v=SQL.100).aspx


http://gomdolinara.com/dokuwiki/doku.php/dev/dbms/mssql/procedure



------------------------------------------------------------------


VPN 접속해보니까 프로시저 파일이 있당 ㅎㅎㅎㅎ

근데 쿼리 날리니까 이미 존재하는 프로시저라는데.. 

MS SQL 안에 프로그래밍 기능 - 저장 프로시저 - 시스템 저장 프로시저 가니까 다 있넿ㅎㅎㅎ

삽질 왕 b


org.apache.ibatis.exceptions.PersistenceException:
### Error querying database.  Cause: com.microsoft.sqlserver.jdbc.SQLServerException: 호스트 192.168.0.78, 포트 1433에 대한 TCP/IP 연결에 실패했습니다. 오류: "Connection refused: connect. 연결 속성을 확인하고 SQL Server의 인스턴스가 호스트에서 실행되고 있고 포트에서 TCP/IP 연결을 허용하고 있는지 확인하십시오. 또한 포트에서 TCP 연결을 차단하고 있는 방화벽이 없는지 확인하십시오.".
### The error may exist in com/maeil/cvo/sqlMap/Login.xml
### The error may involve Login.getLogin
### The error occurred while executing a query
### Cause: com.microsoft.sqlserver.jdbc.SQLServerException: 호스트 192.168.0.78, 포트 1433에 대한 TCP/IP 연결에 실패했습니다. 오류: "Connection refused: connect. 연결 속성을 확인하고 SQL Server의 인스턴스가 호스트에서 실행되고 있고 포트에서 TCP/IP 연결을 허용하고 있는지 확인하십시오. 또한 포트에서 TCP 연결을 차단하고 있는 방화벽이 없는지 확인하십시오.".
예외 발생 : null====java.lang.NullPointerException
예외 발생 :
예외 발생 : /login.do

 

하............... 이거 고치려고 TCP/IP 포트 열고 서비스 실행 중인지 확인하고 MS SQL 설정 백번하고...

결론은

 sql server configuration Namager 의 TCP/IP 속성의 IP ALL 값의 TCP 포트값을 1433으로 변경하면 된다!!!!

함 니ㅡ란 ㅇ허 ㅠㅠㅠㅠ 똥멍청이 ㅠㅠㅠ

평소에 이렇게 바보는 아닌데.. 똑소리 난다는 얘기 많이 듣는데.. 아닌가 .. ㅋㅋㅋㅋ

아무튼 신입사원은 똥멍청이고 일년 지나야 멍청이 된다는 얘기를 몸소 체험중인 입사 삼주째 신입 ㅠㅠ 슬프다 ㅠㅠㅠ

MS SQL은 한번도 안해본건데.. 하니까 되긴되네 ㅠㅠㅠㅠㅠ

 

http://www.golinuxhub.com/2013/07/the-tcpip-connection-to-host-127001.html

'DATABASE > MS SQL' 카테고리의 다른 글

테이블 복사 쿼리  (0) 2013.09.25
저장 프로시저 만들었음.  (1) 2013.09.10
[펌] 프로시저 만들기  (0) 2013.08.29
일반 쿼리문과 저장 프로시저의 차이점  (0) 2013.08.21
Store Procedure (저장 프로시저)  (0) 2013.08.13
CRUD 의 중요도? DATABASE 2013. 8. 2. 16:44

데이터베이스의 CRUD 중 가장 중요한 것은 무엇일까?

중요도에 따른 상중하를 나눠보자. 



나는 처음에 

Select    下

Insert     

Update    

Delete    上


이라고 생각했다. 

PK 에 FK 엮이고 하면 아무래도 업데이트나 삭제가 복잡해지니까..?


근데 여기에는 함정이 있다. 


중요도에 따른 상중하를 나눠보자고 했지만, 그 기준을 제시하지 않았다. 

위의 상중하는 만들때 얼마나 쿼리가 귀찮은가를 기준으로 중요도를 결정한거같다.


데이터 정합성을 기준으로 CRUD의 중요도를 다시 매긴다면 어떨까?



Select    下/

Insert     

Update    中/

Delete    上


으로 매길 수 있다고 본다. 


select 의 경우 쿼리를 잘못 뽑는다고 해서 DB에 있는 값이 변하지 않기 때문에下,

中일때는 통계성 쿼리일 때이다. 이 통계가 맞는지 틀린지를 검증하기 위해서는 일정 시간이 소요되기 때문.


insert 나 delete 는 잘못 집어넣거나 지운 데이터가 있다면 select고 뭐고.. 일단 아 망했어요 라고 보면 된다 ^^!

잘못 된 데이터를 가지고 쿼리를 아무리 작성해봤자, 정확한 결과값이 나오지 않기 때문


업데이트의 경우에도 중~상의 중요도를 차지하는 이유는 역시 데이터 정합성때문 . 


쿼리는 어렵다 ㅠㅠㅠㅠㅠㅠ 열심히 하자 






DECODE

DECODE(테이블.컬럼, 비교대상, true일때, false일때 출력)

DECODE({colum|expression,search1,result1[,search2,result2]...[,default]})


if문 같은 느낌...? 첫번쨰 값이 비교대상과 같으면 세번째꺼, 틀리면 네번째거 출력


RANK()OVER()

특정 컬럼으로 순위를 부여할 때 사용

옵션

PARTITION BY

ORDER BY DESC (ASE)

NULLS FIRST

NULLS LAST

 

UNION/UNION ALL

UNION: 두 table 집합의 합집합을 보여주며 중복 row 제거 (sort 기능을 수행함)

UNION ALL: 두 table의 합집합을 보여주며 중복 된 row도 모두 다 보여준다 (sorting하지 않음)


회사 가니까 쿼리문이 제일 어렵다...

공부 할 때는 기껏해야 열줄 스무줄인데 

실전에선 테이블 정의서 하나만 해도 A4용지 세네장 분량은 되는거 같다. 


흐흐허하흥힇.... 난 쿼리를 제일 못하는데, ㅋㅋㅋㅋㅋ

열심히 해야겠다. 쿼리 잘하는 사람들 부럽다.. 뀨뀨



'DATABASE' 카테고리의 다른 글

[펌] UNION과 UNION ALL 의 차이 및 주의 사항  (0) 2014.02.28
[펌] 트랜잭션 로그 백업(Transaction Log Backup)에 관하여  (0) 2013.11.05
TRUNCATE  (0) 2013.09.25
CRUD 의 중요도?  (0) 2013.08.02
DATA BASE _ 기초  (0) 2013.07.10