'Study portfolio'에 해당되는 글 43건
▶ 개요
단일 값(single value) 반환
ex) GETDATE(), SUBSTRING()
▶ 구성
create function [함수명](@_param1 [parameter type], @_param2 [parameter type] ...)
returns [반환 type]
begin
declare @_rVal [반환 type] --임시변수
...
return @_rVal
end
▶ 예시 (정규식 문자열 치환)
- 구현sql
- 실행결과
▶ 출처
https://www.simple-talk.com/sql/t-sql-programming/sql-server-functions-the-basics/
http://hwoarang757.tistory.com/entry/MSSQL-%EC%96%B4%EC%84%A4%ED%94%88-RegEx-Replace-Function-%EC%97%AD%ED%95%A0-%ED%95%A8%EC%88%98-%EC%98%88%EC%A0%9C-0
'Database > MSSQL' 카테고리의 다른 글
[MSSQL] 테이블 반환 함수(Table-Valued User-Defined Functions)(TVFs) (0) | 2017.01.19 |
---|---|
[MSSQL] 사용자정의함수(User-defined Functions)(UDFs) (0) | 2017.01.07 |
[MSSQL]SET Statements vol2 (0) | 2016.06.15 |
[MSSQL] Adding a string to a text column (0) | 2016.05.30 |
[MSSQL] 특정 필드 Update 시 Trigger 작동 (0) | 2016.03.23 |
▶ 구성
MSSQL에서 지원하는 사용자정의 함수는 크게 두가지로 구분된다.
- 스칼라 반환함수(Scalar function)(SF)
- 테이블 반환함수(Table Valued Function)(TVF)
▶ 사용자정의함수를 사용하는 이유는 무엇인가?
1) 중복적으로 사용되는 코드를 함수화 함으로써 재사용성을 높힙니다. 이를 통해서 생산성 향상과 무결성 유지에 도움을 줍니다.
2) 간결한 코드작성을 가능토록 하여서 코드품질을 향상시킵니다.
3) 변경사항 발생시 유지보수를 용이하게 합니다.
그 외에도 생성한 인덱스를 인위적으로 사용하기 위해서, 임시테이블사용을 피함으로서 성능향상 등의 사유로 사용되어집니다.
▶ 출처
https://technet.microsoft.com/ko-kr/library/ms191165(v=sql.105).aspx
http://warehouseofdev.tistory.com/entry/mssql-%EC%8A%A4%EC%B9%BC%EB%9D%BC-%ED%95%A8%EC%88%98%EC%99%80-%ED%85%8C%EC%9D%B4%EB%B8%94-%EB%B0%98%ED%99%98-%ED%95%A8%EC%88%98
http://blog.naver.com/PostView.nhn?blogId=rocabilly&logNo=140133522180
http://www.mssql.org/LectureSQL/02_sql2k/ufn_05.htm
http://purumae.tistory.com/179
'Database > MSSQL' 카테고리의 다른 글
[MSSQL] 테이블 반환 함수(Table-Valued User-Defined Functions)(TVFs) (0) | 2017.01.19 |
---|---|
[MSSQL] 스칼라 반환함수(Scalar function)(SF) (0) | 2017.01.07 |
[MSSQL]SET Statements vol2 (0) | 2016.06.15 |
[MSSQL] Adding a string to a text column (0) | 2016.05.30 |
[MSSQL] 특정 필드 Update 시 Trigger 작동 (0) | 2016.03.23 |
개행문자에 대한 정리는 다음 링크에서 간략히 해놓았다.
textarea, input 내에서 줄바꿈 입력시 '\n'(이하 LF) 이다.
그 외 html 상에서 줄바꿈은 br tag(<br/>) 이다.
(입력된 LF가 form submit 하면 LF -> CR+LF으로 치환된다)
textarea에서 줄바꿈 포함된 문자열 입력 이후 다시 화면 상 표현은 다음과 같이 된다.
▶ java 소스코드 - br tag로 치환 Util
▶ java 소스코드 - Util 사용예시
String ps_txt =request.getParameter("txt"); model.addAttribute("txt", ps_txt); model.addAttribute("rtxt", CommonStrUtils.trimAndrepalceNewlineToBrTag(ps_txt)); model.addAttribute("r2txt", CommonStrUtils.trimAndrepalceCRLFtoLF(ps_txt)); ...
textarea 상에서는 줄바꿈 되었으나, 밖에서는 줄바꿈 되지 않는 것을 확인 할 수 있다.
CR+LF 또는 LF를 br tag 변경하면 다음과 같이 적용됨을 확인 할 수 있다.
'Web' 카테고리의 다른 글
[Eclipse] maven build JSP Syntax Validation disabled (0) | 2017.04.06 |
---|---|
IIS 6.0에서 대용량 파일 업로드시 500 Error 발생 (0) | 2016.12.15 |
[ASP] Sub, Function Procedures (0) | 2016.11.04 |
[ASP] Empty, Nothing, Null 차이 (0) | 2016.11.04 |
[ASP] 내장객체 정리 (0) | 2016.11.04 |
web에게 입력받은 줄바꿈이 포함된 문자열을 다시 표현할때 줄바꿈이 표현되지 않았다.
왜 표현되지 않는가를 찾아보다 개행문자에 대한 문서를 검색하며 이를 정리하였습니다.
▶ 개행문자 개요
키보드상 Enter key 입력 시 줄 바뀌어진다. 이를 개행문자라 한다.
개행문자(newline)는 CR(Carriage Return), LF(Line Feed)으로 구분된다.
즉, 줄바꿈을 표현하는 방법은 시스템과 OS에 따라 구분되어 사용된다.
ex)
Windows는 ASCII의 CR+LF
Unix, Linux는 LF
맥OS는 버전 9까지 CR, 버전 10부터 LF
▶ 개행문자 표현
CR = '\r'
LF = '\n'
▶ 출처
https://ko.wikipedia.org/wiki/%EC%BA%90%EB%A6%AC%EC%A7%80_%EB%A6%AC%ED%84%B4
https://ko.wikipedia.org/wiki/%EC%83%88%EC%A4%84_%EB%AC%B8%EC%9E%90
'Web > Web 기초' 카테고리의 다른 글
[HTML] <img> usemap Attribute (0) | 2017.03.31 |
---|---|
Apache HTTP Server and Tomcat Server 비교 (0) | 2016.05.27 |
업로드파일의 최대허용크기를 초과하면 다음과 같이 500 Error를 토해낸다.
▶ 해결책
설정파일은 경로는 다음과 같다.
C:/windows/system32/inetsrv/metabase.xml
해당 파일내에서 AspMaxRequestEntityAllowed 값을 변경한다.
변경 후 IIS 재시작해야 설정값이 반영된다.
ex) 100MB = 1,048,576(2^20) * 100 byte
▶ 참고
'Web' 카테고리의 다른 글
[Eclipse] maven build JSP Syntax Validation disabled (0) | 2017.04.06 |
---|---|
web brower 상에서 개행문자 처리 (0) | 2016.12.29 |
[ASP] Sub, Function Procedures (0) | 2016.11.04 |
[ASP] Empty, Nothing, Null 차이 (0) | 2016.11.04 |
[ASP] 내장객체 정리 (0) | 2016.11.04 |
※ Java Primitive Type, Wrapper Class and Auto-Boxing
▶ primitive type 이란?
JAVA에서 사용되는 8가지 기초자료형을 말한다.
method의 parameter 전달시 기초 자료형은 값 참조(call by value)로 이루어진다.
8가지 기초자료형는 다음과 같다.
Variable Type |
Default Value |
단위(bits) |
boolean | false | 1 |
byte |
(byte)0 |
8(=1byte) |
short |
(short)0 |
16(=2byte) |
char |
'\u0000' |
16(=2byte) |
int |
0 |
32(=4byte) |
float | 0.0f | 32(=4byte) |
long |
0L |
64(=8byte) |
double | 0.0d | 64(=8byte) |
* Class Variable 내에서는 Boolean Type은 Primitive Type이 아니며, 내부적으로 int 로 변경되며, Boolean의 Default가 False이면 int 값 0으로 인식된다.
▶ Wrapper Class 이란?
primitive type를 객체로 사용하기 위한 개념이다.
8가지 primitive type와 대응되는 wrapper class은 다음과 같다.
Variable Type |
wrapper class |
boolean |
Boolean |
byte |
Byte |
short |
Short |
char |
Charater |
int |
Integer |
float |
Float |
long |
Long |
double |
Double |
ex1)
Integer obj = new Integer(1);
▶ Auto-Boxing 이란?
위 예제와 같이 선언된 obj에 wrapper class를 이용해서 인스턴스화 하지 않아도 자동으로 형변환해주는 것을 말한다.
ex2)
Integer obj = 1;
Auto-Unboxing은 반대로 primitive type에 wrapper class의 기본자료형변환 처리하는 메소드를 이용하지 않고 대입해도
자동으로 primitive type으로 형변환해주는 것을 말한다.
ex3)
int obj2 = new Integer(2);
▶ 출처 및 참조
https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html
java performance fundamental 저자.김한도 p236
'Programming Language > Java' 카테고리의 다른 글
[Java] java.lang.NoSuchMethodError 오류분석 (0) | 2017.04.07 |
---|---|
[도서리뷰]JAVA PERFORMANCE FUNDAMENTAL (0) | 2017.04.07 |
ASP는 Sub, Function 두 종류의 Procedures 존재.
▶ Sub
값 반환 불가
ex)
Sub mysub()
response.write("I was written by a sub procedure")
End Sub
▶ Function
값 반환 가능
ex)
Function myfunction()
some statements
myfunction=some value
End Function
▶ Sub, Function 비교
둘 다 Procedures 호출시 매개인자를 넘겨줄 수 있다.
값 반환 가능여부에 따라서 구분된다.
▶ 출처
http://www.w3schools.com/asp/asp_procedures.asp
'Web' 카테고리의 다른 글
web brower 상에서 개행문자 처리 (0) | 2016.12.29 |
---|---|
IIS 6.0에서 대용량 파일 업로드시 500 Error 발생 (0) | 2016.12.15 |
[ASP] Empty, Nothing, Null 차이 (0) | 2016.11.04 |
[ASP] 내장객체 정리 (0) | 2016.11.04 |
[ASP] 여러 단계 ole db 작업을 하는 동안 오류가 발생했습니다. (0) | 2016.08.30 |
http://www.w3schools.com/asp/asp_ref_vbscript_keywords.asp 작성된 영어 문서를 제가 알기 쉽게 번역하였습니다.
▶ Empty, Nothing, Null
3개의 상태는 각기 다른 상태이며, 각기 가지는 의미가 미묘하게 차이를 지닌다.
(Empty != Nothing, Empty != Null, Nothing != Null)
* Empty
초기화 되지 않는 상태로 변경. 즉, 변수선언 된 바로 직전상태로 만든다.
ex)
Dim d '/ uninitialized
Set d = Date() '/ NOT uninitialized
Set d = Empty '/ uninitialized
* Nothing
초기화 되지 않는 상태로 변경. 또는, 시스템 상 할당된 자원을 해제한다.
ex)
Dim d '/ uninitialized
Set d = Date() '/ NOT uninitialized
Set d = Nothing '/ uninitialized & release system resources
* Null
해당 변수를 유효하지 않는 값으로 변경. sql에서 사용되는 NULL가 같다.
ex)
Dim d '/ uninitialized
Set d = Date() '/ valid data
Set d = Null '/ no valid data
▶ Dim, Set
Dim: 변수선언, 메모리할당
Set: 객체인스턴스 생성 또는 값 할당
ex)
Dim d '/ 변수선언
Set d = Date() '/ 값할당 또는 인스턴스 생성
▶ 출처
'Web' 카테고리의 다른 글
IIS 6.0에서 대용량 파일 업로드시 500 Error 발생 (0) | 2016.12.15 |
---|---|
[ASP] Sub, Function Procedures (0) | 2016.11.04 |
[ASP] 내장객체 정리 (0) | 2016.11.04 |
[ASP] 여러 단계 ole db 작업을 하는 동안 오류가 발생했습니다. (0) | 2016.08.30 |
Eclipse 대소문자 변환 단축키 (0) | 2016.06.14 |
http://taeyo.net/lecture/에 있는 강의를 제가 알기 쉽게 정리한 내용입니다.
▶ 내장객체모델
* Server
asp.dll에서 제공되지 않는 외부객체를 사용하기 위해서는 Server.CreateObject 메소드를 이용해서,
객체의 인스턴스생성 후 사용할 수 있다.
ex) 데이터베이스 접속을 위해서 MS에서 제공하는 ADO(ActiveX Data Object)
파일시스템에 읽고 쓰기위한 FileSystemObject
* Request
5개의 컬렉션, 1개의 속성, 1개의 메소드로 구성됨
- 컬렉션
QueryString: Get방식 인자
Form: Post방식 인자
Cookie: 쿠키
ServerVariable: HTTP해더값, 서버자체변수 등
ex) Request.ServerVariable("REMOTE_ADDR")
ClientCertificate
- 속성
TotalBytes: 클라이언트에서 서버측으로 전송한 바이트 전체 개수에 대한 정보
- 메소드
BinaryRead: count한 byte만큼 데이터를 읽어들인다.
- 우선순위
QueryString > Form > Cookie > ClientCertificate > ServerVariable
- Request() / Request.QueryString() / Request.Form() 비교
Request(): 컬렉션을 우선순위에 따라 순회하면서 요청한 인자를 겁색한다.
Request.QueryString(): Get방식으로 넘겨준 인자를 검색한다.
Request.Form(): Post방식으로 넘겨준 인자를 검색한다.
Request() 방식은 어떤방식으로 인자를 넘겨줄지 모르는 경우는 유용하나,
소스코드가 직관적이지 못하며, 성능상 QueryString(), Form()에 비해서 떨어진다.
* Response
1개의 컬렉션, 9개의 속성, 8개의 메소드로 구성되어 있다.
- 컬렉션
Cookies
- 속성
Buffer
CacheControl
Charset
ContentType
Expires
ExpiresAbsolute
IsClientConnected
Pics
Status
- 속성
AddHeader
AppendToLog
BinaryWrite
Clear
End
Flush
Redirect
Write
* Session
2개의 컬렉션, 5개의 속성, 3개의 메소드, 2개의 이벤트로 구성되어 있다.
- 컬렉션
Contents: application/session 내에서 script 상에서 선언된 변수
StaticObjects: application/session 내에서 HTML <object> tag를 이용해서 선언된 변수
- 속성
CodePage:
LCID: 지역을 구분할 수 있는 정수를 지정 또는 반환. 이를 이용해서 일시, 통화 등을 표현할 수 있다..
SessionID: 서버에 의해서 생성된 유니크한 Session id. 사용자의 유니크 id를 반환.
Timeout: Application에서의 Session 객체 유지시간
- 메소드
Abandon: 해당 User의 Session 삭제
Contents.Remove: Contents 중 입력한 key 변수 삭제
Contents.RemoveAll(): Contents 전체 변수 삭제
* Application
2개의 컬렉션, 4개의 메소드, 2개의 이벤트로 구성되어 있다.
Application 개체는 Event가 존재하며, 제공되는 Event에는 OnStart, OnEnd가 있다.
제어하는 파일은 global.asp이다.
Event는 application의 시작/종료시점, Session의 시작/종료시점으로 각각 4가지 구분된다.
Application 객체는 전역변수로서 사용될 수도 있다.
전역변수는 여러명의 사용자가 동시에 접근할 수 있기에 이를 제어하기 위한 임계영역을 지정하는 메소드가 필요하겠죠?
이와 같은 역활을 하는 메소드가 Lock, UnLock 이다.
- 컬렉션
Contents
StaticObjects
- 메소드
Contents.Remove
Contents.RemoveAll()
Lock
Unlock
- 이벤트
Application_OnEnd
Application_OnStart
* ASPError
ASP 3.0, IIS5 이후 부터 지원한다.
9개의 속성으로 구성되어 있다.
- 속성
ASPCode
ASPDescription
Category
Column
Description
File
Line
Number
Source
▶ 참조
http://taeyo.net/lecture/
http://www.w3schools.com/asp/asp_ref_session.asp
'Web' 카테고리의 다른 글
IIS 6.0에서 대용량 파일 업로드시 500 Error 발생 (0) | 2016.12.15 |
---|---|
[ASP] Sub, Function Procedures (0) | 2016.11.04 |
[ASP] Empty, Nothing, Null 차이 (0) | 2016.11.04 |
[ASP] 여러 단계 ole db 작업을 하는 동안 오류가 발생했습니다. (0) | 2016.08.30 |
Eclipse 대소문자 변환 단축키 (0) | 2016.06.14 |
위 Error 발생하는 사유는 여러 이유가 있겠지만, 확인된 원인에 대해서 정리하였습니다.
사용하는 Database는 MSSQL 입니다.
▶ 저장프로시저(store procedure)를 결과조회(select) 위하여 작성했을 때, 위에 같은 Error가 발생한 경우
> 저장프로시저(store procedure) 내 에서 SET NOCOUNT OFF 선언
> SET NOCOUNT 에 대한 정리: http://templar.tistory.com/12
▶ ASP Page 내에서 발생한 경우.
1) 작성된 SQL 앞에 SET NOCOUNT OFF; 추가
> 다음과 같이 하면, 좀더 명확한 Error Message로 반환
2) 반환된 Error Message 확인 후 처리
> 본인의 경우는 해당 데이터베이스에 접근권한이 없어서 발생되었습니다.
'Web' 카테고리의 다른 글
IIS 6.0에서 대용량 파일 업로드시 500 Error 발생 (0) | 2016.12.15 |
---|---|
[ASP] Sub, Function Procedures (0) | 2016.11.04 |
[ASP] Empty, Nothing, Null 차이 (0) | 2016.11.04 |
[ASP] 내장객체 정리 (0) | 2016.11.04 |
Eclipse 대소문자 변환 단축키 (0) | 2016.06.14 |