닷넷 프로그램은 CLR환경이 초기화 된 후 개발자가 작성한 소스코드가 실행되는 구조다. 그런데 가끔은 이 초기화 과정에어 어떤 값을 전달하고 싶을 때가 있는데 아쉽게도 소스코딩으로만으론 이 초기화 코드를 작성할 수 없다. 그래서 닷넷은 app.config라는 설정파일을 제공한다. 비주얼 스튜디오 환경에서솔루션 탐색기의 프로젝트에 대고우클릭 - 추가 - 새항목 - 응용프로그램 구성파일을 선택하면 app.config 파일이 생성된다. 이 파일은 XML형식을 따른다. app.config에 들어가는 엘리먼트를 알아보면 1. supportedRuntime supportedRuntime은 닷넷CLR의 버전을 명시하고 있다.이것은 초기에 4.5버전을 가지고 있으며, 원한다면 프로젝트 - 속성 - 응용프로그램탭 - 대..
animate함수는 요소에 대하여 애니메이션 효과를 지정하여 보여줄 수 있도록 합니다. animate의 함수 형태1234$(선택자).animate(object);$(선택자).animate(object, speed);$(선택자).animate(object, speed, easing);$(선택자).animate(object, speed, easing, callback);csobject는 객체타입으로 속성을 지정한다.speed는 밀리초를 지정하여 애니메이션이 수행될 시간을 지정한다. (1000은 1초)easing은 애니메이션의 부드러운 효과를 나타낼 때 사용한다.callback은 콜백함수로써 애니메이션이 끝난 후 수행될 함수를 지정한다. animate에 지정할 수 있는 효과 속성opacity, top, lef..
Templeate method패턴은 추상메서드를 사용한 패턴으로써 메소드의 실행 알고리즘은 추상클래스에서 담당하고, 이 추상클래스를 상속받는 클래스는 추상클래스의 추상메서드를 구현하는 패턴입니다. 이 패턴을 사용함으로써 생기는 이점은 알고리즘의 변경사항이 생길 때, 각각의 클래스에 대한 변경을 추상클래스 하나의 변경으로 축소함으로써 일일이 변경해야되는 막가파식 코딩을 막을 수 있습니다. //템플레이트 메소드 패턴 abstract class LotteWorld{ int token; abstract int 표내기(); abstract void 타기(); protected void 체험(){ int currentToken = 표내기(); //System.out.println(currentToken); if(c..
C#에서의 키워드 readonly와 const는 값을 변경할 수 없다는 같은 특징을 가지고 있다. const int a = 1; readonly int b = 2; 하지만 차이점이 있다면 readonly키워드가 붙은 변수의 경우 생성자에서의 변경을 허용한다.const키워드의 경우 변수 선언시 명시적(생성자X)으로 값을 저장하여야 한다. readonly는 인스턴스 선언시 초기화 되지만 const는 컴파일 할때 초기화 된다. 아래는 두 readonly와 const의 비교 소스코드이다. class ProgramEx { readonly int ri = 5; const int ci = 4; public ProgramEx() { this.ri = 3; //this.ci = 3; //ci는 생성자에서 초기화 할 수 ..
정보은닉이라고 하면 보여주기 싫은 정보를 감추는 것으로 해석할 수 있다. 객체지향 프로그래밍 언어에서의 정보은닉은 인스턴스의 멤버에 직접접근을 막는 것이다. class Program{ public int no = 0; } 객체를 정의하고 인스턴스를 생성하고 위에 제시한 no라는 변수에 접근이 가능할 것이다. 하지만 no에 10이하의 수만 저장할 수 있다고 할 때 no의 접근에 10이하의 수로 제한하는 어떤 제한하는 방법도 가지고 있지 않다. class Program{ int no = 0; public void setNo(int no){ if(no > 10){ return; } this.no = no; } public int getNo(){ return no; } } 그래서 getter와 setter라는 ..
Array객체의 선언 방법var array1 = [1,2,3,4,5];var array2 = new Array();var array3 = new Array(10);var array4 = new Array(5,4,3,2,1); /* Array객체 */ arr = new Array(5,4,3,2,1); console.log('배열의길이>>>>>'+arr.length); console.log('Array.join()>>>>>'+arr.join()); //배열을 문자열로 리턴 console.log('Array.pop()>>>>>'+arr.pop()); //배열의 마지막요쇼를 제거 후 마지막요소 리턴 arr.push({이름:'남궁춘'}); //배열의 마지막에 새로운 요소 추가 console.log('Array.j..
델리게이트란 메서드를 값으로 가질 수 있는 타입으로써 델리게이트형 타입 변수를 선언함으로써 이 변수에 메서드를 값으로 넘길 수 있다. 자세한 부분은 밑에 코딩 참고 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using DelegateApplication; namespace DelegateApplication1 { class Program { static void Main(string[] args) { DelegateEx de = new DelegateEx(); //Console.WriteLine(de.sDel(1,2)); //SDelegate..
Colored By Color Scripter™ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using ConsoleApplication11; namespace ConsoleApplication1 { class OperatorTest { static void Main(string[] args) { Operators o..
선택정렬 버블정렬 구현코드 Colored By Color Scripter™ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 import java.util.Scanner; public class Sort1 { static int[] bubbleSort(int[] arr) { int temp = 0; for (int i = 0; i
Colored By Color Scripter™ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 import java.util.*; public class MapOrder implements Comparator{ private List mapList; private ArrayList treeList; private..
1. 엑셀에 우편번호 txt 파일을 작성(copy&paste)한다. 우편번호 파일을 받는 곳은... 개발자를 위해 zipcode를 제공해주는 사이트가 있다.http://www.zipfinder.co.kr/ 2. 엑셀에 다른이름으로 저장한 후 .csv 확장자 파일로 바꾼다. 이상한 경고창이 뜰 것인즉 ok로 무시한다. 3. 해당 .csv파일을 .txt확장자로 바꾼다.(작성자는 .csv 파일이 열리지 않아 검색해보고 알았음..) 4. .txt파일을 열면 각 엘리먼트마다 (,)콤마로 구분되어진 것을 볼 수 있을 것이다. 5. 이제 toad for mysql에서 접속한다. 토드에서 저장할 때 테이블을 우선 만들고 우편번호를 밀어 넣어도 되고, 밀어넣는 즉시 테이블을 만들수도 있다. 아주 편리하다. 6. 토드에서..
[javascript] 쿠키보기 alert(document.cookie); 생성방법 document.cookie = 'Name=value;Expires=날짜;Domain=도메인;Path=경로;Secure'; Name=value 쿠키의 이름과 값 Expires 쿠키의 제거날짜 지정 Secure 쿠키가 보안연결을 사용하고 있을 때 전송되야 하는지의 여부(지정하면 SSL보안에서만 쿠키를 사용할 수 있다.) Colored By Color Scripter™ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 //쿠키 생성 var date = new Date(); //alert(date.getTime()); //오늘 날짜 출력 date.setTime..
const는 상수로써 사용한다는 뜻 int num = 10, num2 = 20;const int* ptr = # //다음과 같이 포인터 변수 타입의 앞에 const키워드가 위치할 경우..*ptr = 20; //에러!! 포인터가 참조하고 있는 값의 변경을 허용하지 않는다.ptr = &num2; //포인터가 참조하는 주소값의 변경은 허용 만약에 아래와 같이 포인터 변수앞에 const키워드가 붙는다면...위 와는 반대로int* const ptr = #ptr = &num2; //에러!! 포인터가 참조하고 있는 주소값의 변경은 불허*ptr = 20; //포인터가 참조하는 값의 변경은 허용 const int* const ptr = #처럼 포인터변수의 타입과 변수 앞에 둘다 const키워드가 오..
sitemesh는 레이아웃을 꾸며주는 기술이다. 웹페이지들을 보면 어떤 화면을 출력하던지 항상 같은 위치에 존재하는 태그들을 볼 수 있다.(메뉴나 하단내용 등) 같은 기술로는 tiles나 velocity 등이 있지만 이것들과 sitemesh는 동작하는 구성이 다르다. Tiles나 Velocity 방식이 전체 페이지 중 내용 부분에 해당하는 코드만을 생성하는 방식이라면, SiteMesh는 완전한 HTML 페이지를 생성한 뒤 Decorator라는 패턴을 사용하여 데코레이터HTML 페이지에 레이아웃을 입히는 방식이다. sitemesh 설정 1. 스프링 메이븐의 라이브러리를 디펜던시한다.(pom.xml) (그룹아이디 : opensymphony, 아이팩트아이디 : sitemesh) 2. sitemesh.xml과 ..