티스토리 블로그를 하는 사람 중 많은 사람들이 FastBoot이라는 스킨을 쓰고있습니다. 그만큼 좋은 스킨이기 때문이겠죠? 하지만 너무나도 많은 사람들이 쓰고 있어 블로그에 개성이 없어지고 있다는 사실에 슬픕니다. 그래서 블로그 상단에 배너를 달아 다른사람들과 좀 차별성을 두고자 합니다. FastBoot 상단바에 배너(사진) 넣기 1. 이런 배너창을 만드는 방법입니다. 우선 배너에 들어갈 사진이 한장 있어야 합니다. 가로는 1920, 높이는 100~130정도의 배너용 사진을 한장 준비해주세요. ※ 해상도가 큰 디바이스로 접속을하면 사진이 두개로 나올 수 있습니다. 바로 위사진처럼요. 사진이 두개로 나오면 빨간색 박스의 안처럼 뭔가 부자연스럽게 연결이 되는것을 보실 수 있습니다. 그렇기에 사진의 왼쪽부분과..
제 블로그는 코딩블로그입니다. 소스코드를 올릴 일이 굉장히 많죠. 하지만 이 소스코드를 가공하지않고 그냥 올릴경우에는 굉장히 가독성이 떨어집니다. 이번 포스팅에서는 SyntaxHighlighting을 이용하여 Html을 조작하여 코드를 넣는 방법에 대해 알아보겠습니다. 티스토리 블로그에 코딩소스 넣는법 1. 먼저 SyntaxHighlighting을 사용하려면 하이라이터를 다운받아줘야합니다. 먼저 위에 첨부되어 있는 압축파일을 받으시고 압축을 풀어주세요. 2. 그런뒤 블로그-> 꾸미기-> 스킨편집에 들어갑니다. 3. html편집 -> 파일업로드를 누른뒤 압축해제파일에 있는 Script와 Styles에 있는 파일들을 자신의 블로그 파일업로드에 업로드해주세요. 4. 그런 뒤 HTML탭으로 이동하셔서 안에 자신..
이번 포스팅에서는 Ajax를 활용하여 다른페이지에있는 CSV형식의 데이터를 받아오는 방법에 대해 알아보겠습니다. 바로 예제를 통해서 설명해드릴게요. Csv형식의 데이터 파싱하기 먼저 이클립스 WebProject의 WebContent안에 js폴더를 만들어주시고 js파일하나를 집어넣겠습니다. myAjax.js //크로스 브라우징 처리 var getXhr = function() { var xmlhttp = null; if (window.XMLHttpRequest) { // code for modern browsers xmlhttp = new XMLHttpRequest(); } else { // code for old IE browsers xmlhttp = new ActiveXObject("Microsoft.X..
웹 페이지를 만들다보면 서버나 페이지간의 데이터를 주고받을 일이 많습니다. 서버간의 통신을 하고있을경우 데이터를 받을때까지는 약간의 delay가 발생하게 되는데 적은 양의 데이터를 주고받는 일이라면 큰 문제가 되지않겠지만 많은 양의 데이터를 주고받을때는 그만큼 delay시간도 많이 발생하게 됩니다.. 이경우 사용자에게 Progress바를 이용하여 데이터가 불러지고 있다는것을 알려주는 것이 좋습니다. 이번 포스팅에서는 JavaScript Ajax를 활용한 로딩 프로그래스 바의 구현방법에 대해 알아보겠습니다. 이번 예제에서 사용될 로딩바입니다. 다운 받아주시고 이클립스안에 넣어주세요. Ajax 통신예제는 저번포스팅에서 진행했던 예제 그대로 진행하고 거기에 로딩바만 추가해보도록 하겠습니다. 웹 페이지 로딩시 ..
이번 포스팅에서는 Ajax를 활용하여 다른페이지에있는 데이터를 받아오는 방법에 대해 알아보겠습니다. 저번 포스팅에서 말씀 드렸다시피 Ajax를 사용하지 않은 웹의 흐름에서는 갱신시 새로운 URL을 다시 호출 되면서 페이지가 새로 뿌려지지만, AJAX를 사용하면 비동기 통신 방식으로 일부만을 로드해올 수 있습니다. 그럼 예제를 통해서 Ajax에서 페이지간의 통신은 어떻게 이루어지는지 확인해보겠습니다. 다음예제는 Main.jsp와 InputData.jsp를 상호간 통신해여 Main.Jsp에서 InputData.jsp에 있는 데이터들을 호출하는 예제입니다. Ajax를 활용하여 다른페이지에 있는 데이터 받아오기 Main.jsp Ajax 기본적인 통신방법 InputData.jsp 데이터 결과화면 InputData..
Ajax란? Ajax는 JavaScript의 라이브러리중 하나이며 Asynchronous Javascript And Xml(비동기식 자바스크립트와 xml)의 약자입니다. 브라우저가 가지고있는 XMLHttpRequest 객체를 이용해서 전체 페이지를 새로 고치지 않고도 페이지의 일부만을 위한 데이터를 로드하는 기법 이며 Ajax를 한마디로 정의하자면 JavaScript를 사용한 비동기 통신, 클라이언트와 서버간에 XML 데이터를 주고받는 기술이라고 할 수 있겠습니다. ※ 비동기(async)방식이란? 비동기 방식은 웹페이지를 리로드하지 않고 데이터를 불러오는 방식입니다. 이 방식의 장점은 페이지 리로드의 경우 전체 리소스를 다시 불러와야하는데 이미지, 스크립트 , 기타 코드등을 모두 재요청할 경우 불필요한 ..
MFC란? - 마이크로소프트 파운데이션 클래스 라이브러리(Microsoft Foundation Class Library)는 C++용 프로그램 라이브러리입니다. - 윈도용 응용 프로그램의 통합 개발 환경인 마이크로소프트 비주얼 C++에 부속되는 클래스 라이브러리입니다. - MFC를 사용하면 코딩의 효율을 극대화 시킬 수 있어 대부분의 C++ 개발자들이 사용합니다. MFC의 특징 객체 지향 프로그래밍 - C++의 특성을 그대로 이어받습니다. (객체지향, C++의 모든 문법) - 윈도우의 Object를 포함하는 시각적 객체를 사용합니다. 이벤트 처리방식 사용자 또는 시스템이 윈도우에 어떠한 동작을 했을 경우 그에 대응하여 움직이는 사건의 중심의 프로그램을 하며 (이것을 Event Driven Programmi..
C# 윈도우 폼으로 만든 메모장 프로그램입니다. 열기,저장, 실행취소, 인쇄, 잘라내기, 복사, 붙여넣기, 자동줄맞춤 등등 실제 메모장에있는 대부분의 기능이 구현되어있습니다. 메모장 소스코드 프로그램 UI [C#] .NET (닷넷 프레임워크)이란 무엇인가? [C#]으로 만드는 간단한 윈도우 폼 계산기 프로그램
C# 윈도우 폼으로 만든 단순한 사칙연산 계산기 프로그램입니다. 소스코드 올려드릴테니 필요하신 분 참고하시기 바랍니다. C#을 처음공부하시는분 윈도우 프로그램을 처음으로 만들어보시는분에게 참고용으로 좋을예제일듯 합니다. 계산기 프로그램 소스코드 프로그램 UI [C#] .NET (닷넷 프레임워크)이란 무엇인가? [C#]으로 만드는 윈도우 폼 메모장 프로그램
정렬 속도 비교 이때까지 포스팅했던 정렬들의 시간복잡도에 대해 알아보도록 하겠습니다. 아래는 정렬속도 비교에 사용하였던 코드입니다. 정렬속도 비교 프로그램 (C언어/C++) 출처 #include #include #include #define MAX_SIZE 60000 //데이터의 개수 지정 #define SWAP(x,y,t) ((t)=(x), (x)=(y), (y)=(t)) //SWAP함수 설정 int original[MAX_SIZE]; //랜덤함수로 만든 데이터를 저장할 원본 배열 int list[MAX_SIZE]; //각 정렬 알고리즘에서 사용할 데이터 배열 int n; //데이터의 개수를 받는 전역변수 설정 int sorted[MAX_SIZE]; //합병정렬에서 사용할 데이터를 저장할 배열 cloc..
계속해서 o(n log n) 시간복잡도를 가지는 정렬방법에 대해 알아보겠습니다. 이번에는 퀵정렬입니다. 실무에서도 가장 많이쓰이고 속도와 효율성이 가장 좋다고도 할수있는 정렬 방식입니다. 퀵정렬 이번에도 그림을 통해 설명해드리겠습니다. ☞ 먼저 PVIOT을 정합니다. 대부분 정렬속도를 위하여 가운데 숫자를 PIVOT으로 정하는게 효율적입니다. ☞ PVIOT값과 LEFT값을 비교하여 LEFT값이 PIVOT보다 크다면 PIVOT값과 RIGHT값을 비교합니다. RIGHT값이 PIVOT보다 크다면 RIGHT커서를 왼쪽으로 이동시킨후 다시 PIVOT값과 비교합니다. ☞ RIGHT값이 PIVOT보다 작다면 LEFT값과 RIGHT값을 바꿉니다. 그런뒤 LEFT값을 오른쪽으로 한칸 옮깁니다. ☞ LEFT값과 RIGHT..
앞선 포스팅 3개에서 버블정렬, 삽입정렬, 선택정렬에 대해서 알아보았습니다. 하지만 위의 3정렬방법은 굉장히 기초적인 정렬방법으로 시간복잡도는 O(N^2)를가지며 실무에서 잘 쓰이는 정렬방법은 아닙니다. 이번 포스팅부터는 시간복잡도 O(N * LogN)을 가지는 정렬방법에 대해 알아보겠습니다. 먼저 이번포스팅에서는 병합정렬에 대해 알려드리겠습니다. 병합정렬은 정렬할 배열을 반으로 나누어 좌측과 우측 배열을 계속하여 분할해 나간 후 각 배열내에서 정렬 후 병합하는 과정을 통해 정렬하는 알고리즘입니다. 병합정렬(합병정렬) 그림을 통해 설명해드리겠습니다. ①분할과정 먼저 정렬할 숫자들을 원소단위로 분할합니다. ②병합과정 그런 뒤 분할한 원소들을 합치면서 정렬합니다. 병합정렬 소스 코드 (C언어/C++) #in..
정렬에는 버블정렬, 선택정렬, 삽입정렬이 있습니다. 앞서 버블정렬, 선택정렬은 포스팅을 끝냈고 이번 포스팅은 마지막 정렬방법인 삽입정렬에 대해 한번 알아보도록 하겠습니다. 삽입정렬 삽입정렬은 기준이 되는 숫자와 그 앞에있는 숫자를 비교하여 조건에 맞게 정렬을 하는 방법입니다. 0번째 인덱스는 앞쪽에있는 숫자가 없기 때문에 정렬의 시작은 1번째 인덱스로 시작을 합니다. 삽입정렬로 배열 문자(알파벳)값 아스키순서로 차례대로 정렬하기 (C언어/C++) #define num 7 char number[num] = {'C','A','D','G','F','E','B'}; for (int i = 1; i < num; i++) { int target = number[i]; // 기준 int cur = i - 1; // ..