Category분류 전체보기 (192)

[MSSQL] 저장 프로시저(Stored Procedure) 내용 검색하기

저장 프로시저 내용 검색하기가끔 저장 프로시저 이름이 안떠오르거나 다수의 SP의 내용을 일괄적으로 바꾸거나 할 필요가 있을 경우가 있습니다. 저장 프로시저를 일일이 열어봐서 찾으려고 하니 숨이 턱막힙니다. 그럴 때 유용한 저장프로시저 내용 검색쿼리를 소개합니다. 잘못된 방식SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_DEFINITION LIKE '%찾을 내용%' AND ROUTINE_TYPE='PROCEDURE' …포스트 작성하기 전까지는 위 쿼리를 사용했었습니다만 찾다보니 문제를 발견하였습니다. ROUTINE_DEFINITION이 nvarchar(4000)으로 문자열을 변환하여 내려주기 때문에 매우 긴 내용의 경우 검색에 문제가 있다고 합니다.다음..

[ETC] Markdown 문법 정리

Markdown 문법Markdown Here를 기준으로 Markdown 문법에 대해서 정리하는 포스트입니다. Markdown 옵션의 미리보기를 기준으로 작성하였습니다.Syntax Highlightingfunction syntaxHighlighting() { var n = 33; var s = "hello, こんにちは"; console.log(s); } ```javascript function syntaxHighlighting() { var n = 33; var s = "hello, こんにちは"; console.log(s); } ``` 코드 블럭code block with no highlighting ``` code block with no highlighting ``` 인라인 코드 블럭inline cod..

[ETC] Evernote + Markdown Here를 이용한 포스트 작성 Tip

Evernote?문서 노트 클라우드 서비스다양한 플랫폼에서 사용할 수 있는 문서 클라우드 서비스입니다. 어플리케이션도 제공하고 있으며 에버노트 사이트로 접속 할 경우 브라우저상에서 문서 작업을 가능하게 해줍니다. 리치 텍스트에디터를 사용하고 있습니다. 아래에 소개할 마크다운 히어(Markdown Here)와 함께 사용 할 수 있습니다.에버노트 가기 Markdown HereMarkdown마크업 언어의 일종입니다. 읽기도 쓰기도 쉽습니다. 확장자는 .md를 사용합니다.Markdown Here웹 페이지의 리치 텍스트 에디터에서 마크다운으로 작성한 글을 리치 텍스트로 즉석에서 변환해주는 웹 브라우저 확장 프로그램입니다. 아래와 같은 특징이 있습니다.크롬, 파이어폭스, 사파리, 오페라, 썬더버드 지원표, 울타리 ..

[MSSQL] JOIN의 방식 - Nested loop Join / Merge Join / Hash Join

Join의 방식에 관하여Join의 종류는 5가지가 있습니다.INNER JoinOUTER JoinCROSS JoinFULL OUTER JoinSELF JoinJoin의 방식은 3가지가 있습니다.Nested Loop Join - 중첩반복Merge Join - 정렬병합Hash Join - 해시매치Join의 종류는 논리적 Join이라고 합니다. Join의 방식은 물리적 Join이라고 합니다. 이 포스트에서는 JOIN의 방식에 대해서 알아보겠습니다.중첩반복(Nested Loops) 조인바깥 테이블의 처리 범위를 하나씩 액세스하면서 그 추출된 값으로 안쪽 테이블을 조인하는 방식순차적으로 처리된다.바깥 테이블과 일치하는 값을 안쪽 테이블에서 찾아야 하므로 안쪽 테이블의 해당 열에 인덱스가 필요하다.메모리 사용량은 가..

[MSSQL] 여러 ROW를 하나의 ROW로 합치기

MSSQL Tips여러가지 ROW를 하나의 ROW로 만들기IDTitle1가1나1다1라2마2바2사2아3자 위와같은 테이블이 있습니다. ID를 기준으로 Title의 텍스트를 comma(,)로 구분지어서 하나의 ROW로 합치고 싶을때 아래 쿼리를 사용합니다.SELECT DISTINCT ID, STUFF(( SELECT ',' + Title FROM TB_Data b WHERE b.ID = a.ID FOR XML PATH('') ),1,1,'') AS NAME FROM TB_Data a 아래와 같은 결과가 출력됩니다.IDTitle1가,나,다,라2마,바,사,아,자STUFF?? FOR XML PATH??STUFF함수SUTFF함수는 문자열에서 특정 시작위치에서 지정된 길이만큼 문자를 바꿔줍니다.SELECT STUFF..

0. About JavaScript 목차

JavaScript 목차JavaScript에 대해서 살펴봅니다.1. 자바스크립트란? 2. HTML과 자바스크립트 / 문서모드 / noscript 3.1 자바스크립트 기초 - 문법 3.2 자바스크립트 기초 - 키워드와 예약어 3.3 자바스크립트 기초 - 변수, 데이터타입 3.4 자바스크립트 기초 - 연산자 3.5 자바스크립트 기초 - 문장(제어문) 3.6 자바스크립트 기초 - 함수 4.1 자바스크립트 - 실행 컨텍스트와 스코프 (Execution Context, Scope) 4.2 자바스크립트 - 가비지컬렉션(Garbage Collection) 5. 자바스크립트 - 참조타입 6. 자바스크립트 - 객체 지향 프로그래밍 7. 자바스크립트 - 함수 선언식, 함수 표현식8. BOM - 브라우저 객체 모델9. 클라..

16. RESTful이란?

REST란?REpresentational State Transfer의 약자입니다. 이것은 장비간 통신을 위해 CORBA, RPC, SOAP등의 복잡한 방법을 사용하는 대신, 간단하게 HTTP를 이용하는 것이 목적입니다. REST는 자원 지향 구조(Resource Oriented Architecture)로 웹 사이트의 이미지, 텍스트, DB 내용 등의 모든 자원에 고유한 URI를 부여합니다.이 용어는 로이 필딩(Roy Fielding)의 2000년 박사학위 논문에서 소개되었습니다. (필등은 HTTP의 주요 저자중 한사람) 엄격한 의미로 REST는 네트워크 아키텍쳐 원리모음 입니다. 네트워크 아키텍처 원리란 자원을 정의하고 자원에 대한 주소를 지정하는 방법 전반을 말합니다.CRUDCreate : 생성(POS..

15. JSON이란?

JSON?JavaScript Object Notation의 줄임말입니다. 경량 데이터 기술 언어로써 JavaScript(ECMAScript)에 오브젝트 표기법을 바탕으로 하고 있습니다.다룰수 있는 데이터형falsetruenull오브젝트배열수치문자열7가지 입니다.어떤식으로 사용하나요키와 값으로 데이터를 가지고있는 딕셔너리(Dictionary) 데이터를 배열로 들고있는 리스트(List)두가지 방식으로 사용가능하며 두가지를 자유롭게 조합하여 사용할 수도 있습니다.Dictionary{ 'username' : 'kendrick', 'age' : 28 } LIst[ 'red', 'blue', 'gray'] Dictionary + List[ { 'usern[me' : 'kendrick', 'age' : 28 } , ..

14. 웹공격 기술

웹 공격 기술HTTP자체는 보안 상의 문제가 일어날 정도로 복잡한 프로토콜은 아닙니다. 그러므로 프로토콜 자체는 공격 대상이 되는 경우는 없습니다. 문제는 서버와 클라이언트 그리고 서버 상에서 동작하는 웹 애플리케이션 등의 리소스입니다 이번 포스트에서는 웹 애플리케이션 공격에 대한 내용을 설명합니다.보안기능이 없는 HTTP위에서도 적었듯이 HTTP는 구조가 단순한 프로토콜 입니다. 만들 당시에도 이렇게까지 쓰일줄은 몰랐을 것 입니다 :) 그렇기 때문에 장점도 많지만 보안에 관해서는 나쁜점도 있습니다. 웹 애플리케이션에서는 인증이나 세션관리 기능을 개발자가 설계하고 구현할 필요가 있습니다. 하지만 제각각이 설계하기 때문에 각기 다르게 구현됩니다. 그 결과 보안 등급이 충분치 못하고 공격자가 악용할 수 있는..

13. Web Application - 웹 애플리케이션 / CGI / Servlet

Web Application - 웹 어플리케이션웹 애플리케이션이란?웹을 사용해서 기능을 제공하는 것을 웹 애플리케이션이라고 합니다.- 쇼핑사이트 - 인터넷 뱅킹 - SNS - 게시판 - 검색엔진 - e-러닝 대충 훑어봐도 위와같은 다양한 웹 애플리케이션이 있습니다.왜 등장하게 된걸까본래 HTTP를 사용한 웹 구조는 사전에 준비된 콘텐츠를 클라이언트의 리퀘스트에 맞게 반환하는 것 입니다. 그러나 웹 보급후 이것만으로 부족하여 프로그램이 HTML 등의 콘텐츠를 생성할 필요가 생기게 되었습니다. 이런 프로그램에 의해서 생성된 콘텐츠를 동적 콘텐츠라 부르며, 사전에 준비된 콘텐츠는 정적 콘텐츠라고 부르고 있습니다. 웹 애플리케이션은 동적 콘텐츠에 해당합니다.CGICommon Gateway Interface(이하..

12. HTML / CSS

HTMLHTML이란?Hyper Text Markup Language의 약자이며 WWW 문서를 작성하는 Markup Language입니다. 하이퍼 텍스트(Hyper Text)란 하나의 문서(Text)로 두는 것이 아닌 문서와 문서를 상호 연결하여 접근 방식을 다양화 시킨 문서를 의미합니다. HTML은 여러 태그로 구성되어 있으며, 각 태그를 사용하여 원하는 문서를 만들 수 있습니다.태그란?Tag태그란 정보를 정의하는 형식입니다.컨텐츠를 감싸서 그 정보의 성격과 의미를 정의합니다.태그는 시작과 끝이 존재합니다. ex) 닫히는 태그가 필요없는 태그도 있습니다. 이런경우 과 같이 사용합니다. ex) HTML의 기본구조 문서의 머리 부분 문서의 몸통 부분 HTML로 쓰여진 문서를 브라우저에서 열면 렌더링 처리 된..

11. HTTP를 이용한 인증방식 - BASIC, DIGEST, SSL, FORM

HTTP 인증컴퓨터는 모니터 앞에 사람이 누구인지 알 수가 없습니다. 그렇기 때문에 아래의 요소들을 이용하여 인증을 사용하고 있습니다패스워드 : 본인만이 알고 있는 문자열 원타임 토큰 : 본인만이 가지고 있는 기기 등에 표시되는 한 번 쓰고 버리는 패스워드 등의 정보 전자 증명서 : 본인(단말기)이 가지고 있는 정보 바이오 매트릭스 : 지문이나 홍채 등 본인의 신체정보 IC 카드 등 : 본인만이 가지고 있는 정보 HTTP에서 사용하는 인증 방법HTTP/1.1에서 이용할 수 있는 인증방식은 아래와 같습니다.익명익명 요청은 인증정보를 포함하지 않는 요청을 말합니다. 리소스에 대한 모든 액세스 권한을 부여하는 것과 같습니다.BASIC 인증기본 인증은 클라이언트에 대한 사용자 이름과 암호를 Base64로 인코딩..