itstart-190126의 등록된 링크

키자드에 등록된 총 329개의 포스트를 확인하실 수 있습니다.

Tistory

생활코딩 - JAVA (클래스패스)

[클래스패스] 클래스 패스(classpath)는 이름에서 알 수 있듯이 클래스가 위치하는 경로를 지정해 자바가 필요로 하는 어떤 클래스를 로드할 수 있는 방법을 지정하는 것이다. ClasspathDemo.java class Item{ } class ClassPathDemo{ } 이 상태에서 명령 프롬프트를 실행합니다. 명령 프롬프트 또는 터미너를 통해 현재 디렉토리로 이동해야 하는데 윈도우에서는 윈도우 탐색기의 주소 표시줄을 클릭히면 현재 경로가 나타난다. cd 명령을 이용해 파일이 들어있는 디렉토리로 이동한다. cd C:\java_tutorials\srcin 엔터를 치면 cd 뒤에 따라오는 경로로 현재 디렉터리가 변경된다. 이 상태에서 현재 디렉터리에 어떤파일이 있는지 살표보자. 윈도우에서는 dir명령..

Tistory

생활코딩 - JAVA (패키지)

[패키지] 패키지는 클래스 패스와 아주 밀접한 관계를 가지고 있다. 클래패스는 컴퓨터에 저장돼 있는 클래스를 사용할 때 클래스가 어디에 위치하는지 지정하는 것이었다. 그런데 클래스가 여러개 있을 경우 이러한 클래스는 여러개 있을 경우 이러한 클래스는 여러 사람에 의해 만들어질 수 있기 때문에 동일한 이름을 가질 수 있다. 이 같은 상황에서 발생할 수 있는 이름 충돌 문제를 해결하는 방법이 바로 패키지 이다. 동일한 이름의 파일이 한 컴퓨터에 동시에 공존할 수는 없다. 그래서 고안된 것이 디렉터리이다. 프로그램의 규모가 커지고 클래스가 많아지면 이름이 같은 클래스가 생겨날 가능성이 높아지는데, 그런 문제를 해결하기 위해 고안된 것이 패키지 이다. 정보공학에서는 '이름 충돌'이란 문제를 해결하기 위해 다양하..

Tistory

생활코딩 - JAVA (접근 제어자)

접근 제어자는 객체에 속한 멤버(메소드나 변수)를 사용하는 입장에서 누가 이것을 사용할 수 있는가에 대한 권한을 부여하는 역할을 한다. 변화를 수용하는 과정에서 자유로움만으로는 각종 문제가 생길 수 있다. 그러한 문제를 완화하기 위해서는 다양한 규제가 필요하다. 규제라는 측면에 맞춰진 기능 - 데이터 타입 데이터 타입은 어던 변수가 잇을 대 그 변수의 형식을 지정함으로써 해당 변수에는 반드시 문자열이 들어가거나 반드시 정수가 들어간다는 사실을 그 변수를 사용하는 사용자에게 보장해준다. 추상클래스, final, 접근 제어자, 인터페이스 등은 규제에 해당하는 것이다. [문법] package org.opentutorials.javatutorials.acesmodifier; class A { public Str..

Tistory

C# - 디렉토리 감시(FileSystemWatcher) 및 Upload(WebClient)하여 / JAVA - DB 삽입(POI - 엑셀 파일 DB 삽입)

C# [Program.cs] 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 using System; using System.IO; namespace sensorModel { class Program { static void Main(string[] args) { String dirPath = @"C:\Users\82109\Desktop\eunju\sp"; //감시할 디렉토리 if (!Directory.Exists(dirPath)) //디렉토리가 있는지 없는지 확인 { Directory.CreateDirectory(dirPath); } Console.WriteLine("종료하려면 E..

Tistory

(JAVA) 백준 알고리즘 2908 문제 - 상수 (문자열)

[문제] 상근이의 동생 상수는 수학을 정말 못한다. 상수는 숫자를 읽는데 문제가 있다. 이렇게 수학을 못하는 상수를 위해서 상근이는 수의 크기를 비교하는 문제를 내주었다. 상근이는 세 자리 수 두 개를 칠판에 써주었다. 그 다음에 크기가 큰 수를 말해보라고 했다. 상수는 수를 다른 사람과 다르게 거꾸로 읽는다. 예를 들어, 734와 893을 칠판에 적었다면, 상수는 이 수를 437과 398로 읽는다. 따라서, 상수는 두 수중 큰 수인 437을 큰 수라고 말할 것이다. 두 수가 주어졌을 때, 상수의 대답을 출력하는 프로그램을 작성하시오. [입력] 첫째 줄에 상근이가 칠판에 적은 두 수 A와 B가 주어진다. 두 수는 같지 않은 세 자리 수이며, 0이 포함되어 있지 않다. [출력] 첫째 줄에 상수의 대답을 출..

Tistory

(JAVA) 백준 알고리즘 5622 문제 - 다이얼 (문자열)

-- if문이 아닌 switch문을 사용할것, 값이 정해져 있을 땐 switch문을 사용하는 것이 좋다. 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 import java.util.Scanner; public class Main_5622 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String [] userStr = sc.next().split(""); int sum = 0; for(int i =0; i

Tistory

GeoServer - Service Exception 에러

[GeoServer - Service Exception 에러] * 해결 방법 action713.tistory.com/entry/javalangNoClassDefFoundError-Could-not-initialize-class-sunawtX11GraphicsEnvironment

Tistory

Spring GUI - 윈도우 빌더(WindowBuilder) 설치

자바 GUI 툴 - 윈도우빌더 설치 - 윈도우 빌더는 디자인 툴을 사용하기 때문에 편하게 디자인 할 수 있다. [Spring windowbuilder 설치] 1. Spring 실행 > 상단 메뉴바 > Help > Install New Software... 선택 2. 아래 화면에서 Add 선택 3. Name에 이름 지정 후, Location에 아래 주소를 입력 > Add 클릭 http://download.eclipse.org/windowbuilder/WB/integration/4.5/ 4. 전체 선택 후 하단의 Next 클릭 5. Next 클릭 6. I accept the of the license agreement 체크 후 Finish 클릭 7. 설치 시작 8. Software Updates 팝업창 에서..

Tistory

C# 콘솔 프로그램 제작

[visiual Studio 2019 다운] - visualstudio.microsoft.com/ko/downloads/ 커뮤니티 -> 무료 다운로드 클릭 하면 자동으로 다운로드가 된다. 설치 도중 다음과 같이 뜨는데 콘솔창 개발을 하기 위해선 .NET 데스크톱 개발에 체크! * 필자는 다음 항목을 설치 - .NET 데스크톱 개발 - Visual Studio 확장 개발 개인적으로 필요한 부분을 체크 완료 했으면 설치 버튼을 클릭하고, 설치가 끝나면 시스템이 재시작된다. 재부팅 후 Visual Studio 2019를 실행하면 된다. 새프로젝트 만들기 -> 콘솔앱선택 -> 프로젝트 명 작성 -> 다음 완료하게 되면 hello World!가 작성되어 있다. F5(실행)를 누르면 콘솔 창을 띄울 수 있다.

Tistory

(JAVA) 백준 알고리즘 2675 문제 - 문자열 반복 (문자열)

19:03 ~ 19:15 (총 12분 소요) 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 import java.util.Scanner; public class Main2675 { public static void main(String[] args) { //19:03 ~ 19:15 => 12분소요 //문자열 반복 Scanner sc = new Scanner(System.in); int su = sc.nextInt(); String [] resultArr = new String [su]; for(int i =0; i

Tistory

(JAVA) 백준 알고리즘 1152 문제 - 단어의 갯수 (문자열)

[단어의 갯수] : 15분 소요 (정답) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 import java.util.Scanner; public class Main1152 { //단어의 갯수 public static void main(String[] args) { Scanner sc = new Scanner(System.in); String input = sc.nextLine().trim(); if (input.isEmpty()) { System.out.println(0); } else { System.out.println(input.split(" ").length); } } } Colored by Color Scripter (내가 처음 작성한 답안) - 왜 틀렸는지 모르겠..

Tistory

(1) JAVA : 숫자와 문자

숫자와 문자를 가장 먼저 배우는 이유는 컴퓨터가 계산기에서 출발했던 기계이므로 계산기로서의 컴퓨터의 역할을 살표보는 측면도 있고, 컴퓨터에서 어떠한 데이터를 어떤 기호를 이용해서 표혆는지 살표보는 측면도 있다. * 참고 데이터 타입은 데이터 형식 또는 자료형이라고도 한다. 문자와 문자열은 다르다. A는 문자이고, B도 문자이다. 하지만 AB는 문자열이다. 문자와 문자가 결합한 것을 문자열이라고 하고 물자열을 이루는 최소 단위 하나하나를 문자라고 부른다. 문자는 영어로 character이고 문자열은 string이다. - 문자열 안에 큰따옴표를 넣고싶을 때 System.out.println("enjoy said "Welcome programing""); - 자주 사용하지 않는 기호 중 하나를 큰따옴표 앞에 ..

Tistory

(2) JAVA : 변수

변수 변수란 변수에서 '변'은 '변할변'이며 변할 수 있는 값이라는 뜻, 뒤에 나오는 '수'는 숫자만 의미하는 것이 아니고 모든 데이터를 의미한다. 즉, 변수란 변할수 있는 데이터로 이해하면 된다.(valiable) 변수를 만들고 사용할 때는 선언(declare)과 할당(assign)이라는 표현을 쓴다. int a; => 변수 a 선언 a= 1 => 값 할당 System.out.println(a+1) //2 a=2 System.out.println(a+1) //3 위 예제에서 첫번째 줄인 int a;가 변수를 만드는 구문이다. 변수를 선언하는 구문은 두 가지 요소(데이터 혀식과 변수의 이름)으로 구성되어 있다. int는 데이터 형식이고, a는 변수의 이름이다. int a;를 정리하면 a라는 변수를 선언했..

Tistory

코딩테스트 연습 - 해시- 완주하지 못한 선수

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 import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; class Solution { public String solution(String[] participant, String[] completion) { String answer = ""; Map participantMap = new HashMap(); List list = new ArrayList(); for(int i = 0; i

Tistory

(JAVA) 백준 알고리즘 15596 문제 - 정수 N개의 합 (함수)

(10분) * 제출 버튼을 누르면 Class가 기본으로 깔려있고 그 내부에 코드를 짜면 된다. 문제 정수 n개가 주어졌을 때, n개의 합을 구하는 함수를 작성하시오. 작성해야 하는 함수는 다음과 같다. C, C11, C (Clang), C11 (Clang): long long sum(int *a, int n); a: 합을 구해야 하는 정수 n개가 저장되어 있는 배열 (0 ≤ a[i] ≤ 1,000,000, 1 ≤ n ≤ 3,000,000) n: 합을 구해야 하는 정수의 개수 리턴값: a에 포함되어 있는 정수 n개의 합 C++, C++11, C++14, C++17, C++ (Clang), C++11 (Clang), C++14 (Clang), C++17 (Clang): long long sum(std::ve..

Tistory

(JAVA) 백준 알고리즘 11654 문제 - 아스키코드 (문자열)

[아스키 코드에 대해 알아보는 문제] (2분 소요) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main11654 { public static void main(String[] args) { //문자열 11654: 아스키코드 //(2분) BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); try { int su = br.read(); System.out.println(su); } catch (IOE..

Tistory

(JAVA) 백준 알고리즘 11720 문제 - 숫자의 합 (문자열)

[정수를 문자열로 입력받는 문제. Python처럼 정수 크기에 제한이 없다면 상관 없으나, 예제 3은 일반적인 정수 자료형에 담기에 너무 크다는 점에 주목합시다.] - (16분 소요) - next()로 받고 split으로 문자열을 잘라 배열에 담는다. (nextLine()은 split으로 배열을 자르면 null이 나옴... 방도가 있을거 같은데 찾아봐야겠다.) - 배열을 돌려 점수를 합산한다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 import java.util.Scanner; public class Main11720 { public static void main(String[] args) { //숫자의 합 //16분 소요 Scanner..

Tistory

<iframe> 태그

태그 - iframe태그는 inline frame의 약자로 '내부의 틀'을 의미한다. - 동영상을 삽입할 때 사용하는 기본태그이며, 이 태그를 사용하면 HTML 페이지에 틀을 만들고 그 안에 다른 HTML 페이지를 보여줄 수 있다. - 내가 만든 웹페이지 한쪽에 동영상이나 네이버 메인페이지가 보여지게 할 수 있다는 것! - * Youtube에서는 소스 코드와 함께 태그를 제공하고 있으므로 직접 태그를 입력할 필요가 없다.

Tistory

글자 서식 관련 태그 - <Strong> <u> <mark>

1. 태그 - 텍스트에서 중요한 부분을 굵게 표시하고 싶을 때 사용 - 태그를 사용해도 같은 효과를 얻을 수 있지만, 웹 접근성 측면에서 태그를 사용하는 것이 좋다. => 글자 굵게 2. 태그 - underline - 태그는 밑줄을 그을 때 사용하는 태그 => 밑줄 3. 태그 - 태그는 최신 HTML에서 새로 생긴 태그 - 하이라이트 효과를 주고 싶은 글자를 태그로 감싸주면 된다. => 하이라이트

Tistory

(JAVA) 백준 알고리즘 3502 문제 - 나머지 (1차원배열)

(36분) * ArrayList -> contains(data) : list 안에 해당 데이터가 있는지 없는지 확인해주는 함수 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 import java.util.ArrayList; import java.util.Scanner; public class MainTest3052 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int [] arr = new int[10]; ArrayList arrlist = new ArrayList(); int tot = 1; for(int i = 0..

Tistory

(JAVA) 백준 알고리즘 3502 문제 - 숫자의 개수 (1차원배열)

(26분) * String 비교 String.equals()부터 먼저 쓰는게 좋다. 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 import java.util.Scanner; public class MainTest2577 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int A = sc.nextInt(); int B = sc.nextInt(); int C = sc.nextInt(); String mltpl = String.valueOf(A*B*C); String [] mltplArr = mltpl.split(""); for(int ..

Tistory

(JAVA) 백준 알고리즘 15552문제 - 빠른 A+B (for문)

(37분) * br.readLine().trim()으로 하면 int형을 제대로 받을 수 있다. 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 import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; public class Main15552 { public static void main(String[] args) throws I..

Tistory

(JAVA) 백준 알고리즘 2562 문제 - 최댓값 구하기

(20분) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 import java.util.Scanner; public class MainTest2562 { public static void main(String[] args) { //최댓값 Scanner sc = new Scanner(System.in); int max = 0; int max_loc = 0; for(int i = 1; i max) { max = num; max_loc = i; } } System.out.println(max); System.out.println(max_loc); } } Colored by Color Scripter

Tistory

XML 파싱 - JAXB marshal, unmarshal (마샬, 언마샬)

[XML 파싱 - JAXB marshal, unmarshal (마샬, 언마샬)] [건축허가인 데이터 가져오기 ] - www.data.go.kr/data/15044678/openapi.do JAXB - 자바의 XML을 파싱 (분석)할 수 있게 도와주는 라이브러리로 JAXB가 있다. JAX는 XML과 자바클래스를 바인딩(연결) 한다. 간단한 명령어만으로 클래스에 파싱된 XML을 대입해주는 라이브러리이다. - 기존의 XML 분석 방법은 XML 전체를 String 형식으로 받아와서 문자열을 자르는 방식이었다. JAXB는 원하는 태그명, 어트리뷰트명을 기입한 클래스를 마련해두기만 하면 자동적으로 값이 클래스에 들어오게 되는 자동화 라이브러리이다. * 마샬 (Marshal) - 객체를 XML로 변환 * 언마샬 (U..

Tistory

(JAVA) 백준 알고리즘 5958 문제 - OX 퀴즈

(50분) 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 import java.util.Scanner; public class MainTest8958 { public static void main(String[] args) { //13:15 ~ 14:05 //OX 퀴즈 Scanner sc = new Scanner(System.in); int N = sc.nextInt(); String [] strArr = new String [N]; for(int i = 0; i

Tistory

(JAVA) 백준 알고리즘 4344 문제 - 평균은 넘겠지

(20분) 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 public class Main { public static void main(String[] args) { //평균은 넘겠지 Scanner sc = new Scanner(System.in); int testCase = sc.nextInt(); float [] rate = new float [testCase]; sc.nextLine(); //sc.nestLine()은 엔터를 인식하기 때문에 처음에 ""이 들어간다 그래서 다음과 같이 //한번 sc.nextLine()을 써주고 다음 코드를 써내려가야 한다...

Tistory

STS Spring Boot 프로젝트 JSP 연결 설정

[STS Spring Boot 프로젝트 JSP 연결 설정] 2. JSP 설정 - Spring Boot Project는 기본적으로 JSP 컴파일을 지원하지 않는다. 그래서 별도로 의존성을 추가해야한다. - pom.xml에 아래 의존성 내용이 없으면 추가 한다. javax.servlet jstl org.apache.tomcat.embed tomcat-embed-jasper 3. application.properties에 mvc view 속성 추가 * Spring boot Project를 생성하면서 기존 스프링 레거시 MVC 프로젝트 보다 설정하는 것이 많은 부분들이 간소화되었고 자동화 되었음을 느낄 수 있다.

Tistory

(JAVA) 백준 알고리즘 10818 문제 - 최소, 최대 구하기

(26분) 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 import java.util.Scanner; public class MainTest10818 { public static void main(String[] args) { //최소, 최대값 구하기 Scanner sc = new Scanner(System.in); int N = sc.nextInt(); int [] array = new int [N]; int X = 0; int Y = 0; for(int i = 0; i

Tistory

(JAVA) 백준 알고리즘 10871 문제 - X 보다 작은 수 나열

(7분) 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 import java.util.Scanner; public class MainTest10871 { public static void main(String[] args) { //X 보다 작은 수 나열 Scanner sc = new Scanner(System.in); int N = sc.nextInt(); int X = sc.nextInt(); int [] A = new int[N]; for(int i = 0; i

Tistory

(JAVA) 백준 알고리즘 1546 문제 - 평균 구하기

(48분) 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 import java.util.Scanner; public class MainTest1546 { public static void main(String[] args) { //평균 구하기 Scanner sc = new Scanner(System.in); int su = sc.nextInt(); float [] suArr = new float [su]; float max = sc.nextInt(); suArr[0] = max; for(int i = 1; i

Tistory

깃허브 페이지 사용하기 (저장소 생성에서 파일 올리기 까지)

* 깃허브 페이지 사용하기 (튜토리얼) URL : github.com/ 인터넷이 연결된 컴퓨터 하나하나를 호스트(host)라고 한다. 웹 서버를 운영하기 위한 컴퓨터, 호스트를 빌려주는 회사를 웹 호스팅 업체 라고 한다. 수많은 웹 호스팅 업체 중 무료이면서 유명한 깃허브 사용할 것이다. 깃허브는 아주 중요한 서비스이다 왜냐하면 전 세계의 수많은 오픈 소스 프로젝트가 이곳에서 만들어지기 떄문이다 회원가입은 Sign up을 눌러 UserName, Email, Password만 입력하면 회원가입 할 수 있다. [Repository 생성] - new를 클릭하면 Create a new repository 화면으로 이동하며, 빨간색 box 부분을 작성 및 클릭 후 Create repository를 누르면 repo..

Tistory

깃허브 웹서버 이용하기

[깃허브로 웹 사이트 운영하기] - 깃허브 내가 올린 파일들을 이용해 웹 사이트를 운영할 수 있도록 웹서버를 제공해준다. - Setting에 들어가 스크롤을 내려 GitHub Pages로 간다. - None을 Master로 변경하고 Save를 누른 후 다시 GitHub Pages로 가면 'Your site is ready to be published ~~ ' 문구가 보인다. 문구에 적힌 URL로 들어가면 웹사이트에 접속할 수 있다.

Tistory

STS Spring Boot 프로젝트 생성

STS Spring Boot 프로젝트 생성 1. Project Explor 또는 Navigator에서 마우스 오른쪽 클릭하여 New => Project 클릭 Spring boot => Spring Starter Project 선택 => Next 2. New Spring Starter Project 에서 Name을 정하고 아래 빨간색 부분을 지정 및 설정 후 Next 클릭 3. New Spring Starter Project Dependencies => Frequently Used에서 모두 Check 클릭 => Available => spring web 입력 시 아래와 같이 관련 list 나열 됨 Spring Web과 Spring Web Services 클릭 후 Next 4. 다음과 같은 화면이 나오면 F..

Tistory

@Controller 와 @RestController 차이점

[@Controller의 역할 - View] - Spring MVC의 Controller는 주로 View를 반환하기 위해 사용된다. (Spring MVC Controller) - Spring MVC Controller는 Client의 요청으로부터 View를 반환한다. * Controller - Data 반환 Spring MVC Controller에서도 Data를 반환해야 하는 경우도 있는데, Spring MVC Controller에서는 데이터를 반환하기 위해 @ResponseBody를 사용한다. @ResponseBody를 통해 Json형태로 데이터를 반환할 수 있다. [@RestController의 역할 - Json 형태로 객체 데이터 반환] - @RestController는 Spring MVC Cont..

Tistory

TASK Scheduler

태그의 scheduler 속성은 작업을 실행할 스케줄러 빈을 설정 --> 태그는 한개 이상의 태그를 가질수있음 태그는 스케줄러를 통해서 실행될 작업을 설정. --> 태그는 작업을 언제 실행할지의 여부를 지정하기 위해서 다음 세가지 속성중 한가지를 사용 1. cron : cron 표현식을 이용해서 실행 시간을 표현 2. fixed-delay : 지정된 시간 간격으로 작업을 실행 3. fixed-rate : 지정한 시간 주기로 작업을 실행 => 위 속성을 여러개 지정할 경우 위 순서대로 우선순위 적용 --> ..

Tistory

문서를 생활화 하자

https://docs.spring.io/spring-framework/docs/current/spring-framework-reference/integration.html#scheduling

Tistory

5) DATABASE : SQL JOIN

표를 분산하는 것을 통해 중복을 제거할 수 있다. 표를 만들 때 지침으로 삼아야 할 말 모든 표는 하나의 테마(주제)만 가져야 한다. --> 합쳤을 때의 정보가 다른 테이블에서도 사용되는 경우 누군가를 분가시킬 타이밍이다 그렇다고 해서 테이블에 모든 정보가 다 있는게 안좋은 게 아니다. 두가지 방법의 장점과 단점을 합해 사용하기 위해 나온것이 JOIN 이다. 실습 준비) 좋은 부품 만들기 = 쪼개기 LEFT OUTER JOIN : 왼쪽에만 있는 정보도 출력하는 것 (가장 인기 O) 가장 많이 사용하는 이유 - A라는 정보만 가져올때, B에는 없는 경우가 많기 때문에 사용 ex) INNER JOIN : LEFT, RIGHT, FULL 없으면 INNER JOIN 과 같다. - INNER JOIN은 교집합이기..

Tistory

6) DATABASE : 관계형 데이터 모델링

MODEL : 어떤 목적을 가지고 진짜를 모방한 것 (좋은 모델이란 목적에 부합하는 모방) 목적 : 관계형 데이터베이스, 표에 데이터를 담는 것 DATA MODELING : 복잡한 현실을 컴퓨터로 이사시키는 작업 (데이터베이스의 기본 사용법 (테이블의 생성, 조회, 수정, 삭제, JOIN)은 알고 있지만, 복잡한 현실을 데이터베이스로 표현하는데 어려움이 있는 분에게 유용한 수업입니다. 프로젝트의 참여자들과 소통을 하는데 어려움이 있는 사람에게 도움이 된다.) 전체 흐름 : 데이터모델링 순서 업무파악 --> 개념적 데이터 모델링 --> 논리적 데이터 모델링 --> 물리적 데이터 모델링 1) 업무파악 - 가장 중요!!!! 우리가 해야할 일이 무엇인지 의뢰한 사람과 잘 협력해서 알아내야 하는 것 어떤것을 꿈꾸..

Tistory

li태그 메뉴 가로로 배열하기

* 홈페이지를 들어가 보면 menu들이 가로로 나열되어 있는데 UL, LI로 배열해 놓은 경우가 있다. * list 태그에는 UL, LI가 있는데 함께 묶어쓰는 태그이다. [태그 설명] * UL : Underline List => ..... * OL : Orderline List => 1. 2. 3. 4. .... * LI : List [사용법] [UL, LI], [OL, LI] 는 함께쓰는 태그이다. EX) -- 1. 2. 3.으로 표현하고 싶을땐 UL자리에 OL로 고쳐주면된다. * 세로로 나열되어 있는 LIST를 가로로 변경해주기 위해선 CSS STYLE 적용이 필요하다. list-style : none 은 1.2.3. 또는 표시를 아예 없애기 위한 css이다. UL과 LI의 ma..

Tistory

3) WEB - Javascript

HTML, CSS - 정적 JavaScript - 동적 - 사용자와 상호작용하는 언어이다. - javascript가 HTML을 제어하는 언어다. 이러한 특성이 웹페이지를 동적으로 만들어준다. elements : 태그 -- style 속성값으로는 무조건 CSS가 온다. [중요한 이야기] - javscript는 HTML 위에서 시작하는 언어 - document.write("") : HTML 화면에 글씨 출력 - javascript를 사용하기 위해서는 태그를 쓴다. event(사건) onclick이라는 속성은 javascript가 와야 한다라는 것을 전제로 하고 있따. javascript는 웹브라우저가 값을 기억하고 있다가 클릭을 했을 때 동작할 거 라는 의미를 담고있다. 검색이 가장 중요하다. (javasc..

Tistory

4) WEB - Ajax(1)

[Ajax(Asynchronous Javascript And Xml)] 자바스크립트가 도입되면서 웹은 빠른 속도로 정적인 것에서 동적인 것으로 문서에서 Application으로 변화하기 시작 웹페이지 정보를 부분적으로 변화시킴 클라이언트를 사용하는 사용자에게는 좋은 경험을 서버를 사용하는 생산자에게는 지출을 줄여줌 [목적] 네트워크(크롬 개발자도구) : (크롬브라우저)오른쪽 클릭 => 검사 => 크롬 개발자도구 => 네트워크 탭 : 웹브라우저가 웹서버와 어떤 정보를 주고받는지 모니터링 하는 도구 ajax란 - 부분적으로 웹페이지를 갱신할 수 있도록 도와주는 기술 ajax를 배워야 하는 이유 1) 페이지를 전환할 때마다 모든 파일을 다운로드 받는것과 클릭해서 내용이 변경할 때 부분적으로 내용을 변경하는 것..

Tistory

4) WEB - Ajax(2) : 페이지 구현

[fragment identifier를 이용한 초기 페이지 기능 구현] -- ajax를 사용했을 때 직면할 수 있는 여러가지 부작용들을 완화해나가는 방법을 살펴보기 1. 링크인데 밑줄이 없고 순수한 상태로 활성화 되게 하고 싶어할듯. 2. 우리가 알고있는 웹페이지는 주소가 페이지 별로 달라져 주소를 공유할 수 있는 측면이 있었으나, ajax는 그러한 한계점이 있다. [해시] -- 페이지 안에서 어떤 특정한 부분으로 접근할 때 ' 세번째 문단의 사용자에게 url을 통해서 접근할 수 있도록 하고 싶을때, hash기능을 사용할 수 있다.(bookmark 기능) 이러한 특성을 이용해서 url에 색상을 입힐 수도 있고 hash값이 무엇이냐에 따라서 ajax로 다른 페이지를 로드해서 시작되는 페이지를 셋팅할 수 있..

Tistory

2) DATABASE - SQL Join

[표 쪼개기] -- 중복을 줄인다.!!!!!! SQL JOIN EXERCISE 검색하면 실습에 필요한 엑셀 파일을 다운받을 수 있다. 소프트웨어를 만드는 과정에서 그게 무엇이건 데이터건 코드건 중복이 발생하면 안좋은 징후이다. -- 데이터가 중복이 발생하면 데이터 용량을 엄청 많이 소비한다.

Tistory

1) WEB - HTML

무엇인가를 만들기 전에 무엇을 만들것인가를 미리 상상하고, 계획해보는 과정이 필요하다 (기획) 집중해서 봐야할 부분은 어떤쪽이 사람이 하는일이고, 어떤쪽이 기계가 하는일인가를 분리해서 생각해 보는 것이다. (어떤 것이 결과인지 추론해보기) 코딩/언어작성 : 사람이 하는일, 원인 - 부호 또는 신호라는 의미의 코드 / code - 원천이라는 뜻의 소스 / source - 약속이라는 의미에서 언어 / 컴퓨터 언어 표출/화면 : 기계가하는일, 결과 - 웹에서는 결과를 웹페이지라고 한다. - 웹페이지가 모여있으면 웹사이트 ==> 기능이 좀 많으면 웹어플리케이션 즉, 원인인 코드를 통해서 결과를 만든다는 것이 코딩을 이해하는 핵심이다. 웹페이지를 만드는 코드 => HTML : HyperText Markup Lan..

Tistory

2) WEB - CSS

CSS HTML을 이용해서 전자문서를 만들 수 있었고, 해당 정보를 인터넷을 통해서 사람들이 볼 수 있도록 했다. 하지만 처음에는 HTML을 이용해서 문서를 만들수 있었지만 여러가지 불평들이 나옴. 나중엔 해당 문서를 웹페이지를 아름답게 표현하고 싶어함. --> 웹 페이지를 아름답게 만들자! 1) CSS의 등장, 이점 등장배경 1. HTML은 너무나 중요하기 떄문에 HTML이 정보에 전념하게 하기위해서 HTML에게서 디자인적 요소를 뻇어옴 2. CSS를 통해 웹페이지를 디자인 하는 것이 HTML을 통해 디자인하는 것보다 효율적 이점 -- CSS의 사용으로 중복 제거 -- 웹페이지를 유지보수를 편리하게 하고, 가독성 증가 -- 효율적 -- 태그는 이제 쓰지 않으니 머릿속에서 지워버리자!! h1태그는 WEB..

Tistory

도시하천) 강우 레이더 조회

03.02 강우 레이더 조회 (한강 홍수통제소 레이더 영상 조회) -- 한강홍수통제소 openAPI 사용 -- http://www.hrfco.go.kr/web/openapiPage/reference.do# 1) 아래 xml에 Api key와 Url 생성 - system_config_properties_dev.xml - system_config_properties_production.xml - system_config_properties_staging.xml * 참고 자료 -- %s 는 HRFCO_RADAR_KEY가 들어갈 자리 http://api.hrfco.go.kr/%s/radar/list/COMP.json 52832662-D130-4239-9C5F-730AD3BE6BC6 * sfc_rainfall.j..

Tistory

JDBC : HDF 파일 Insert

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 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 12..

Tistory

07. 제이쿼리 이벤트 (3) : 마우스 이벤트

click() / dblclick() 이벤트 메서드 click() 이벤트 메서드는 선택한 요소를 클릭했을 때 이벤트를 발생시키거나 선택한 요소에 강제로 클릭 이벤트를 발생시킬 때 사용 click() 이벤트 등록 $("이벤트 대상 선택").click(function(){자바스크립트 코드;}); $("이벤트 대상 선택").on("click", function(){자바스크립트 코드;}); click 이벤트 강제 발생 $("이벤트 대상 선택").click(); dblclick() 이벤트 메서드는 선택한 요소를 연속해서 두 번 클릭했을 때 이벤트를 발생시키거나 선택한 요소에 강제로 더블클릭 이벤트를 발생시킴 dblclick 이벤트 등록 $("이벤트 대상 선택").dblclick(function(){자바스크립트 코..

Tistory

07. 제이쿼리 이벤트 (4) : 이벤트 객체와 종류 / Scroll 이벤트 메서드

이벤트 객체와 종류 - 사용자가 이벤트를 발생시킬 때마다 이벤트 핸들러의 매개변수에는 이벤트 객체가 생성되며, 이벤트 객체에는 이벤트 타입에 맞는 다양한 정보를 제공하는 속성과 메서드가 포함되어 있다. $("이벤트 대상 선택").mousemove(function(매개변수){ 매개변수(이벤트 객체).속성; }); 이벤트 객체의 속성 종류 구분 종류 설명 마우스 이벤트 clientX 마우스 포인터의 X 좌푯값 반환(스크롤 이동 거리 무시) clientY 마우스 포인터의 Y 좌푯값 반환(스크롤 이동 거리 무시) pageX 스크롤 X축의 이동한 거리를 계산하여 마우스 포인터의 X 좌푯값을 반환 pageY 스크롤 Y축의 이동한 거리를 계산하여 마우스 포인터의 Y 좌푯값을 반환 screenX 화면 모니터를 기준으로..

Tistory

07. 제이쿼리 이벤트 (5) : 포커스 이벤트

포커스는 마우스로 또는 태그를 클릭하거나 Tab 키를 누르면 생성됨 앞에서 작성한 포스팅에는 마우스 이벤트는 마우스가 없으면 사용할 수 없다. 사용자는 키보드만 가지고 사용해야 함. 이때 사용자가 키보드만으로 사이트를 이용해도 불편함이 없도록 제이쿼리가 잘 작동되어야 하는데, 이를 키보드 접근성이라 한다. 키보드 접근성을 높이기 위해서는 마우스 이벤트를 등록할 때 될 수 있으면 또는 태그에 등록하고, 키보드가 없을 경우를 고려하여 마우스 이벤트에 대응할 수 있는 키보드 이벤트까지 등록해야 한다. focus() / blur() / focusin() / focusout() 이벤트 메서드 - focus() 이벤트 메서드 : 대상 요소로 포커스가 이동하면 이벤트를 발생 시킴 - blur() 이벤트 메서드 : 포..

Tistory

Oracle VirtualBOX 설치 및 환경설정 (2) - CentOS 7 minimal 다운로드 및 가상머신 생성

1) CentOS 7 minimal 다운로드 http://isoredirect.centos.org/centos/7/isos/x86_64/ > http://mirror.navercorp.com/centos/7.7.1908/isos/x86_64/ 이 글에서는 네이버 저장소에 있는 CentOS-7-x86_64-Minimal-XXXX.iso 파일을 이용하여 설치를 진행 2) VirtualBox에서 새로만들기 > 가상머신 만들기 이름. 종류, 버전 아래와 같이 셋팅 후 다음 > 메모리 크기 (1GB는 너무 느리다는 말을 들어서 좀 넉넉히 3GB로 잡음) > 쭉 진행 > 파일 위치 및 크기 (50GB로 넉넉하게 잡음) 설정 후 만들기 버튼 클릭 3) 저장장치 설정 설정 > 저장소 > "컨트롤러 : IDE"를 선택 ..

Tistory

Putty 다운로드 및 설치

* Putty 다운로드 : https://putty.ko.softonic.com/ 1) 무료 다운로드 버튼 클릭 2) 다운로드 후 폴더에서 'putty-0.73-installer' 클릭하여 설치 진행 3) Next > Next > Install > Finish

Tistory

Spring - 배경화면 색상 변경

Spring - 배경화면 색상 변경 1. Window -> Preferences 이동 2. Appearance -> Theme에서 색상 변경 (필자는 Dark로 설정) -> Apply And Close 클릭

Tistory

Spring - Tomcat 설치 및 STS 환경 설정

* Tomcat Download 1. Tomcat 홈페이지 접속 : https://tomcat.apache.org/ -> Download에서 Tomcat 8 클릭 2. Scroll하여 8.5.51 -> 64-bit Windows zip 클릭하여 다운로드 받는다. 3. 다운받은 경로로 가서 ZIp 파일을 압축을 풀고 싶은 경로에다가 푼다. * STS에 Tomcat 환경설정 1. STS 접속하여 Servers에서 아래 부분을 클릭 2. New Server에서 Apache -> Tomcat v8.5 Server (다운로드 받은 버전 선택) -> ServerName을 변경하고자하면 변경 -> Next 3. Browse 선택하여 Tomcat 설치 폴더를 클릭 -> 폴더 선택 -> Finish 4. 연동 완료

Tistory

07. 제이쿼리 이벤트 (1) : 이벤트 메서드 종류 및 이벤트 발생 / 제거

- 방문자가 웹사이트에 방문하여 동작을 취했을 때 제이쿼리 코드가 실행되도록 만드는 방법 소개 - 방문자의 모든 동작을 '이벤트'라고 하고, 이벤트가 발생했을 떄 코드를 실행시키는 것을 '이벤트 핸들러'라고 한다. * 이벤트 등록 메서드란? - 이벤트 등록 메서드를 이용하면 방문자가 지정한 요소에서 어떠한 특정 동작이 일어났을 때 저장된 코드를 실행시킬 수 있다. - 이벤트 등록 메서드에는 하나의 이벤트만 등록할 수 있는 단독 이벤트 등록 메서드와 2개 이상의 이벤트를 등록할 수 있는 그룹 이벤트 등록 메서드가 있다. - 단독 이벤트 메서드는 한 동작에 대한 이벤트를 등록할 때 사용 예) '요소를 클릭했을때, '요소를 더블클릭했을 때', '요소에 마우스 포인터를 올렸을 때' $("#btn").click(..

Tistory

POSTGIS (메뉴얼)

POSTGIS (메뉴얼) * POSTGIS 메뉴얼 API 페이지 : https://postgis.net/docs/manual-2.5/reference.html#Geometry_Processing Chapter 8. PostGIS Reference Abstract This section lists custom PostGIS Grand Unified Custom Variables(GUC). These can be set globally, by database, by session or by transaction. Best set at global or database level. postgis.net

Tistory

OpenLayers (GeoServer SQL View - parameteric SQL View)

* geoserver Tiled WMS 표출 참고 https://openlayers.org/en/v4.6.5/examples/wms-tiled.html?q=wms * map.js 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 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 10..

Tistory

Oracle VirtualBOX 설치 및 환경설정 (1)

* VirtualBOX(버추얼박스) - 버추얼박스는 본래 이노테크가 개발한 뒤, 현재는 오라클이 개발 중인 상용, 사유 소프트웨어로, 리눅스, macOS, 솔라리스, 윈도를 게스트 운영 체제로 가상화하는 x86 가상화 소프트웨어이다. 1) 버추얼박스 홈페이지 접속 : https://www.virtualbox.org/ 2) Downalod VirtualBox 6.1을 눌러서 페이지 이동 > 스크롤을 내려 VirtualBox older build 클릭 3) VirtualBox 5.2.26 > Windows hosts 클릭 > 다운로드 시작 *최신버전으로 다운로드 받을경우 CentOS7 가상머신에 접속이 안되는 현상이 발생하기에 안전하게 한 단계 아래 버전으로 다운받는다. 4) 다운로드 받은 파일을 실행하여 ..

Tistory

GeoServer 사용하기 (Proxy 설정하여 GeoServer Layer 가져오기)

* CommonController.java 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 package gamum.test1.test; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.File; import java.nio.file.Path; import java.nio.file.Paths; import org.springframework.beans.factory.annotation.Autowired; import org.springfra..

Tistory

GeoServer (SQL View 생성)

[GeoServer (SQL View 생성)] 1. GeoServer 접속 => 로그인 2. 레이어 클릭 => 새로운 레이어 추가하기 클릭 3. 레이어를 생성할 저장소 선택 => 새로운 SQL 뷰 설정하기 클릭 => 새로운 SQL 뷰 생성 화면으로 진입함 4. 새로운 SQL 뷰 생성에서 뷰이름, SQL 구문을 입력 후 속성필드의 "Geometry 유형 및 SRID 추론하기" 체크 후 "새로고침" 버튼 클릭 * "Geometry 유형 및 SRID 추론하기"버튼 클릭 안했을 때 5. 레이어 편집으로 화면이 넘어가게 되며 스크롤을 내려 "레이어 최소경계 영역"에 "데이터로부터 계산하기", "원본 영역으로부터 계산하기" 클릭 후 저장 6. 생성한 레이어 확인 7. 레이어 미리보기에서 레이어 확인

Tistory

GeoServer (SQL View : parametric SQL View 사용하기)

[GeoServer (SQL View : parametric SQL View 사용하기)] *SQL 뷰 참고자료 : https://docs.geoserver.org/stable/en/user/data/database/sqlview.html SQL Views — GeoServer 2.16.x User Manual SQL Views The traditional way to access database data is is to configure layers against either tables or database views. Starting with GeoServer 2.1.0, layers can also be defined as SQL Views. SQL Views allow executing a cus..

Tistory

Spring - 개발환경 셋팅

Spring - 개발환경 셋팅 - 일반적으로 STS를 이용하여 진행되며 이를 사용하기 위해 사전에 JDK의 설치가 필요함. 0) JDK 설치 * Oracle JDK 설치 사이트 : https://www.oracle.com/technetwork/java/javase/downloads/index.html 접속 0-1) 사이트 접속, 로그인 진행 후 JDK DOWNLOAD 클릭 0-2) Accept License Agreement(라이센스 동의) 클릭 후 자신의 OS에 맞는 파일을 다운로드 0-3) 다운로드 받은 파일을 실행 시켜 설치 진행 * option은 특별한 경우가 아니면 default * 마지막 화면이 나오면 설치가 정상적으로 완료 ! 1) Java 환경변수 설정 1-1) [제어판] - [시스템 및 ..

Tistory

CORS (HTTP 접근 제어) 이란

CORS (HTTP 접근 제어) 이란 Cross-Origin Resource Sharing(CORS)은 추가 HTTP 헤더를 사용하여 브라우저에게 한 출처에서 실행중인 웹 응용 프로그램의 다른 출처의 선택된 자원에 대한 접근 권한을 알려주는 메커니즘이다. 웹 응용 프로그램은 자신과 다른 출처(도메인, 프로토콜, 또는 포트)를 가진 리소스를 요청할 때 cross-origin HTTP요청을 실행한다. * 보안 상의 이유로, 브라우저들은 스크립트 내에서 초기화되는 cross-origin HTTP 요청을 제한한다. 요약 : 크로스 도메인간에 데이터 요청을 보내면, 보안을 문제로 전송할 수 없는데 브라우저의 same-Origin Policy, 즉 같은 프로토콜, 같은 도메인, 같은 포트에서의 요청이 아니면 XML..

Tistory

OpenLayers (GeoServer Layer 지도 등록)

* OpenLayers (GeoServer Layer 지도 등록) - 필자는 GeoServer를 Tomcat에 얹어서 깔아 Tomcat과 Geoserver가 같은 PORT를 사용중 - 같이 실행시키기 위해 프로젝트의 Tomcat port를 변경 - Tomcat admin port : 8005 => 8006 - HTTP/1.1 : 8080 => 8081 - AJP/1.3 : 8009 => 8010 * map.js - geoserver 접속하여 표출하고자 하는 레이어를 레이어 미리보기를 하고 URL에 작성되어 있는 파라미터를 확인하여 params 변수에 담아서 보낸다. * 참고자료 : https://openlayers.org/en/v4.6.5/examples/wms-tiled.html?q=wms * 결과화면..

Tistory

인터넷이란

인터넷이란 International network의 합성어로써 TCP/IP (Transmission Control Protocol / Internet Protocol) 을 기반으로 전세계의 네트워크를 하나로 연결하여 각각 PC가 가지고 있는 자료나 정보를 주고 받을 수 있는 광역 네트워크를 인터넷이라고 한다. *요약 인터넷 이란 Internet Protocol의 약자로써 전 세계의 크고 작은 PC를 모두 연결해 놓은 거대한 네트워 크를 인터넷이라한다. ISP (Internet Service Provider) 는 고속의 인터넷 회선에 직접 연결되어 인터넷 서비스를 제공하는 기관으로써 우리나라에는 대표적으로 KT, SK, LG 지역사 등이 인터넷 서비스를 제공해 주고 있다.

Tistory

프로토콜(Protocol) 이란 / TCP/IP, HTTP, Web Socket

프로토콜(Protocol) 이란 / TCP/IP, HTTP, Web Socket 프로토콜(Protocol) : - 복수의 컴퓨터 사이나 중앙 컴퓨터와 단말기 사이에서 데이터 통신(데이터를 을 원활하게 하기 위해 필요한 통신 규약 - 사람과 사람이 통신할 때 서로 이해할 수 있는 언어, 공용된 언어를 사용해 전세계 모든 사람과 대화 할 수 있다.라고 하면, 컴퓨터와 컴퓨터도 서로 이해할 수 있는 언어, 공용된 언어를 사용해야 한다는 것인다. 이 것이 바로 프로토콜(Protocol)이다. - 프로토콜을 정의하는 기관은 IEEE, ISO 등이 있다. * 프로토콜의 기능 - 캡슐화(encapsulation) - 흐름제어 (flow control) - 연결제어 (connection control) - 오류제어 (..

Tistory

GeoServer 사용하기 (새로운 레이어 추가, 발행, 미리보기)

[GeoServer 사용하기 (새로운 레이어 추가, 발행, 미리보기)] 1. 레이어 > 새로운 레이어 추가하기 클릭 2. 생성했던 저장소 선택 > 레이어 목록 노출 확인 3. 추가하고 싶은 레이어 발행하기 버튼 클릭 4. 데이터 편집 > 데이터 - 아래로 내려 "데이터로부터 계산하기", "원본영역으로부터 계산하기" 클릭 후 저장 5. 레이어 목록에 추가된 것 확인 6. 레이어 미리보기 > "선택하세요"에서 openLayers 클릭 7. 레이어 화면 노출 확인

Tistory

GeoServer 사용하기 (스타일 작업)

[GeoServer 사용하기 (스타일 작업)] * 스타일 적용 레퍼런스 참고자료 : https://docs.geoserver.org/stable/en/user/styling/sld/cookbook/ http://www.mangosystem.com:8080/gxt/docs/community/ogc_standards/filter_encoding/index.html 1. 스타일 > 새로운 스타일 추가하기 클릭 2. 이름, 작업공간 작성 후 기본스타일 선택 생성하기 버튼 클릭하면 아래 CSS가 나온다 3. css fill을 #3300ff -> #ffff00으로 변경 후 유효성 검증하기 에러가 없다는 문구 확인 후 제출하기 버튼 클릭 4. 스타일 목록에 생성한 스타일 노출 5. 레이어 > 스타일을 적용하고 싶은 ..

Tistory

Proxy란

Proxy란 프록시(proxy)란 '대리'라는 의미로, 네트워크 기술에서는 프로토콜에 있어서 대리 응답 등에서 친숙한 개념 - 주로 보안사의 이유료 직접 통신할 수 없는 두 점 사이에서 통신 할 경우 그 상이에 있어서중계기로서 대리로 통신을 수행하는 기능을 가리켜 '프록시', 그 중계 기능을 하는 것을 프록시 서버라고 부른다. 프록시 서버의 특징 - 프록시 서버는 클라이언트 입장과 서버의 입장에서 볼 때 서로 상반되는 역할을 하는 것처럼 인식된다. 클라이언트 호스트에서의 입장에서 본다면 프록시 서버는 마치 원격 서버처럼 동작하는 것이고, 원격 서버의 입장에서본다면 마치 클라이언트처럼 동작한다는 것이다. 프록시 서버는 단순히 보안상의 이유만으로 설치하는 것만은 아니다. 프록시 서버는 프록시 서버에 요청된 ..

Tistory

SQLD (데이터 모델링)

SQLD (데이터 모델링) SQL(structured Query Language)은 데이터베이스에서 질의(Query)를 실행해서 원하는 데이터를 조회하거나 입력, 수정, 삭제 등을 하 수 있는 절차형 언어이다. 데이터 모델링 - 데이터 모델링은 현실세계를 데이터베이스로 표현하기 위해 추상화 한다. - 데이터 모델링을 하기 위해서는 고객과의 의사소통을 통해 고객의 업무 프로세스를 이해해야한다. - 고객의 업무 프로세스를 이해하면, 데이터 모델링 표기법을 사용해서 모델링을 한다. - 데이터 모델링은 복잡하지 않도록 모델링을 해서 고객이 쉽게 이해할 수 있어야 한다. - 데이터 모델링은 고객의 업무 프로세스를 추상화하고, 소프트웨어를 분석, 설계하면서 점점 더 상세해 진다. - 데이터 모델링은 고객의 비즈니스..

Tistory

OpenLayers (Vworld API 활용 - 지도 변환하기) - 1. API 발급 받기

* Vworld API 활용하기 1. http://www.vworld.kr/dev/v4api.do 접속 2. 로그인 3. 인증키 > 인증키 발급 클릭 4. API를 사용하고자 하는 URL과 사용목적, 사용기관 작성 후 지도 인증키 받기 클릭 5. 회원가입시 작성했던 이메일로 승인 요청메일이 발송되며, 아래 화면에서 "인증키 사용" 버튼 클릭 6. 인증키 > 인증키 관리에서 '승인' 확인. => 인증키 발급 완료 - 해당 인증키값을 사용하고자 하는 URL에 등록하여 사용하면 된다.

Tistory

OpenLayers (Vworld API 활용 - 지도 Layer 변환하기) - 2. Layer 변환

* map.jsp (일부분만 추출) * map.js var wktFormat = new ol.format.WKT(); // WKT 텍스트 소스에서 단일 지오메트리를 읽습니다. var map = null; var view = null; var mapProjection = "EPSG:3857"; var dataProjection = "EPSG:4326"; var sggLayerName = "sggLayer"; var emdLayerName = "emdLayer"; var array = null; var sggLayer = null; var emdLayer = null; var baseLayer = null; var satelliteLayer = null; var hybridLayer = null; var g..

Tistory

GeoServer 다운로드 및 설치

GeoServer 다운로드 및 설치 * geoserver.war 파일을 tomcaat 서버에 얹어서 geoserver 실행 * Tomcat 서버, JAVA 설치되어 있어야 하며 환경설정까지 완료한 상태이어야 한다. 1. GeoServer 홈페이지 접속 : http://geoserver.org/ 2. Stable 선택 3. Web Archive 클릭 (다운로드됨) 4. tomcat서버가 다운로드 되어있는 폴더로 이동하여 webapps폴더 내에 다운로드 받은 geoserver.war 파일을 복붙한다. 5. bin 폴더의 startup.bat 파일 실행 - 실행이 잘 된다면 6으로 넘어간다. 5-1 bin 폴더의 있는 startup.bat을 실행시키는데 빨리 꺼져버리면 시스템 환경변수 세팅을 확인해야한다. 1..

Tistory

GeoServer 사용하기 (작업공간 ~ 저장소 생성)

[GeoServer 사용하기 (작업공간 ~ 저장소 생성)] 1. 홈페이지 접속 : http://localhost:8080/geoserver - geoserver 설치 및 환경설정 완료 후 2. 로그인 * geoserver 맨처음 시스템 돌릴 시 ID/PW : adminadmin/geoserver 2. 작업공간(workspace) 추가 - 레이어를 발행하거나 등록하려면 작업공간을 추가해야한다. 3. 저장소(dataSource) 생성 - 저장소 > 새로운 저장소 생성하기 클릭 - 연결하고자 하는 저장소 클릭 - 필자는 postGIS를 사용하기 때문에 postGIS 선택 - 기본 저장소 정보 작성 (연결 파라미터) 참고자료 : https://docs.geoserver.org/stable/en/user/data..

Tistory

GeoServer 기초

GeoServer 기초 GeoServer란 - Geo-spatial Gateway 다양한 공간 Data를 인터넷 GIS 인터페이스로 공급하는 서버 프로그램 Vector로 브라우저에서 그리던 것을 서버단에서 만들어서 사용자에게 이미지 형태로 제공하는 것 - vector로 만들게 되면 실질적으로 polygon, line, point가 전부 사용자 브라우저에서 그려지기 때문에 사용자가 지도를 움직일때마다 브라우저 자체에서 다시 그려줘야 한다. 이러한 작업을 서버가 하게 되면 사용자는 이미 만들어진 이미지만 다운받아서 보면 되기 때문에 사용자에게 부하가 적게 된다. WMS(Web Map Service) - OGC(Open Geospatial Consortium)가 정의한 지도 이미지 인터페이스 표준 - 요청방법..

Tistory

poi 라이브러리 / Excel DB 적재

1. pom.xml 라이브러리 추가 2. jsp 파일에 파일 업로드 Element를 만든다 3. javscript 파일에서 jQuery와 Ajax를 통해 file을 넘긴다 - jsp에서 FORM을 생성하여 넘기지 않았을때 스크립트에서 formData로 file을 가져올 수 있다. - FormData object를 사용해야 하는데 IE브라우저에서는 10부터 지원이 된다고 한다. - 해당 코드는 네이밍을 APPEND 해주는 형식으로 하여 KEY,VALUE 형식으로 넘겨주는 방식 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 $(document).ready(function() { $("#ar..

Tistory

06. 제이쿼리 문서 객체 선택자와 조작법

자바스크립트의 문서 객체 모델(DOM, Document Object Model)은 브라우저 간 호환성이 떨어져 크로스 브라우징이 힘들다는 단점이 있다. 제이쿼리 문서 객체 모델은 이러한 문제를 해결할 수 있다. 제이쿼리란 - 제이쿼리 모질라 사의 자바스크립트 개발자였던 존 레식(Jhon Resig)이 자바스크립트를 이용해 만든 라이브러리 언어이다. - 제이쿼리는 다양한 함수들을 사용자에게 제공함으로써 자바스크립트에서 사용할 때 불편했던 몇 가지 점들을 간편하게 사용할 수 있도록 개선함.\ 1. 호환성 문제 해결 - 자바스크립트의 문서 객체 모델(DOM)과 이벤트 객체(Event Object)는 호환성(크로스 브라우징)이 떨어진다는 단점이 있다. 예를 들면 인접 요소 선택자 중 다음 요소 선택자(nextS..

Tistory

OpenLayers 기본

1. Layer - 레이어란 현실세계의 형상(Feature) 들의 집합이다. - 형상(Feature) 이란 현실세계의 대상물을 표현, 건물 하나하나를 형상(Feature)이라 하고 이들의 집합을 건물 레이어라 한다. - 레이어는 다양한 형상에 따라 많은 레이어가 존재할 수 있다. - Map 객체가 선언되었다면 해당 Map 객체에 레이어를 등록함으로써 지도화면에서 지도를 볼 수 있다. 2. Overlay Layer - OpenLayers는 지도 서버로부터 지도 레이어를 전송받아 상호간에 중첩하여 활용할 수 있다. (레이어 중첩) 3. Vector Layer - WFS Layer - Vector 지도는 WMS 레이어와 달리 지도가 이미지 형태가 아닌 XML 또는 String등의 형태로 지도 형상의 좌표와 각..

Tistory

OpenLayers (Mask Layer)

Mask - 반투명의 검은 막의 바탕 ex) 팝업 마스크 : 팝업을 사용할때 배경을 흐리게 만들어 팝업에 집중할 수 있게 효과를 주는 방법 Mask 작업 방법 1. JSTS라는 라이브러리를 사용 2. DB에서 쿼리를 사용하여 위 모양의 형태의 GEOMETRY를 가져오는 방법 * 필자는 두번째 방법을 통해 작업 1) DB에서 쿼리를 사용하여 mask 형태의 GEOMETRY를 가져온다. (ST_DIFFERENCE 사용) - 아래 쿼리로 만들어진 GEOMETRY를 js에 Map형식으로 미리 만들어 둠 ex) SELECT ST_DIFFERENCE ( -- ST_GEOFORMTEXT('POLYGON((좌표들))', '4326'), -- ST_GEOMFROMTEXT : 4326 좌표계로 변환 -- ST_GE..

Tistory

openLayers Vworld / EPSG : 3857 관련

Vworld - Vworld는 EPSG:3857 좌표계를 사용 - 다른 좌표계를 사용한다면 지도가 눌리는 현상이 발생할 수 있음. EPSG : 4326이 아닌 다른 좌표계를 사용한다면 두가지 방법을 사용할 수 있다. 1) 클라이언트에서 (ol.geom.POINT([127.0150, 37.5300 ]).transform("EPSG:4326", "EPSG:3857");) transform을 사용하여 EPSG : 4326 좌표계를 EPSG : 3857 좌표계로 변경한다. var mapProjection = "EPSG:3857"; var dataProjection = "EPSG:4326"; $(window).load(function() { //모든 include 되는 프레임들과 object들, 이미지까지 로드된..

Tistory

04. 객체

자바스크림트는 객체 기반 언어 객체는 기능과 속성을 가지고 있다. ex) TV 라는 객체 기능 : 메소드(Methode) 속성 : 속성(Property) ex) TV의 크키나 색상 그리고 무게 등 기본형 객체.메소드(); //객체의 메서드를 실행 객체.속성; //객체의 속성값을 가져옴 객체.속성 = 값; //객체의 속성값을 바꿈 객체의 종류 - 내장객체 - 브라우저 객체모델(BOM, Browser Object Model) - 문서 객체 모델 (DOM, Document Object Model) 내장객체 - 자바스크립트 엔진에 내장되어 있어 필요한 경우 생성해서 사용 가능 - 문자(String), 날짜(Date), 배열(Array), 수학(Math) 객체 등 브라우저 객체 모델(BOM) - 브라우저 객체 모..

Tistory

05. 함수

함수 - 함수란 프로그램의 코드를 저장한 공간 - 변수에는 데이터만 저장할 수 있고, 코드는 저장할 수없으며, 함수를 사용하면 코드를 메모리에 저장했다 가 필요할 때마다 호출하여 사용할 수 있다. * 변수와 함수의 차이점 변수 함수 1개의 데이터만 저장 자바스크립트 코드를 저장 var 라는 키워드를 이용하여 선언 function이라는 키워드를 이용하여 선언 문자형, 숫자형, 논리형 테이터를 보관 출력문, 제어문 등의 코드를 저장하고 데이터를 반환 객체를 참조함 기본 함수 정의문 - 함수를 사용하여 코드를 저장한 것을 '함수 정의문'이라고 한다. - 변수를 선언할 때 var 키워드를 사용한 것처럼 함수에서는 function 키워드를 사용해 변수를 선언 기본형 1. 일반 함수 정의 function 함수명()..

Tistory

OpenLayers (다중 마커 띄우기)

다중 마커 띄우기 //map을 보여주는 곳 function viewMap(data){ jQuery("#totViewMap").html(""); var vectorSource = new ol.source.Vector(); var markerVectorLayer = new ol.layer.Vector({ source : vectorSource, }); var map = new ol.Map({ layers : [ new ol.layer.Tile({source : new ol.source.OSM()}), markerVectorLayer], target : document.getElementById('totViewMap'), view : new ol.View({ projection: 'EPSG:4326', cen..

Tistory

Math 함수

* 소수점 올림, 버림, 반올림, 절대값, 소수점에서 반올림 Math.ceil() : 소수점 올림, 정수 반환 Math.floor() : 소수점 버림, 정수 반환 Math.round() : 소수점 반올림, 정수 반환 Math.abs() : 절대값 반환 * toFixed() : 소수점에서 반올림

Tistory

01.자바스크립트 시작하기

* 자바스크립트의 가장 큰 특징은 객체기반언어이라는 것이다. 1단계 : 고객(클라이언트)에게 사이트 개발의뢰 받아 고객의 요구에 맞게 기획안 작성 2단계 : 기획안을 토대로 UI 디자인 제작 3단계 : 디자인 파일을 전달받은 퍼블리셔는 이미지를 이용해 인터넷 문서인 HTML, CSS를 이용해 화면의 모양을 잡아 정적인 웹 문서를 완성하고, 자바스크립트 또는 jQuery를 사용 3단계의 과정을 프런트엔드 개발이라함. - 눈에 보이는 부분까지 개발하는 것을 프런트엔드 개발이라 한다. 4단계 : 완성된 HTML 문서를 백엔드 개발자에게 전달. 백엔드 개발자는 ASP, PHP, JSP등 서버 언어를 사용, 화면에 보이지 않는 부분을 개발. * 자바스크립트로 제작된 다양한 라이브러리 - 제이쿼리, Angular(..

Tistory

02. 자바스크립트 기초 문법

* 내부 스크립트 외부로 분리하기 * 코드 입력 시 주의 사항 1. 자바스크립트는 대/소문자 구분하여 작성한다. 2. 코드 한 줄을 작성한 후에는 세미콜론(;)을 쓰는 것이 좋다. 세미콜론을 쓰지 않으면 한 줄에 2개의 코드를 작성할 경우 오류 발생 * 한 줄에 한문장만 작성하는 게 가독성을 위해 좋음. 3. 문자형 데이터를 작성할 큰따옴표("")와 작음따옴표('')의 겹침 오류 주의 4. 코드를 작성할 때 중괄호 {} 또는 소괄호 ()의 짝이 맞아야 한다. * 변수선언 변수는 변하는 데이터를 저장할 수 있는 메모리 공간 / 데이터를 담을 수 있는 그릇 / 데이터가 오직 한 개만 저장됨 ==> 새로운 데이터가 들어오면 기존에 있던 데이터는 메모리 공간에서 지워짐 데이터의 종류 - 문자형 (String),..

Tistory

03. 제어문

* 제어문은 프로그램의 흐름을 제어할 수 있도록 도와주는 문장 조건문 - 조건에 따라 특정 코드를 실행시킬 수 있음. - if문 / else문 / else if 문 선택문 - 일치하는 경우의 값이 있을 경우에만 특정 코드를 실행시킬 수 있음. - switch문 반복문 - 코드를 지정한 횟수만큼 반복해서 실행시킬 수 있음. - while문 / for문 / do ~ while문 01. 조건문 if문 * 조건식에 논리형 데이터가 아닌 다른 형이 오는 경우 - 조건식에 논리형 데이터(true, false)가 아닌 다른 형의 데이터가 입력되어도 true 또는 false로 인식 된다. - 조건식에 논리형 데이터가 아닌 다른형의 데이터가 입력되었을 때 반환되는 결과 예제. * 0, null, ""(빈문자), unde..

Tistory

12.02 overFlow

* overflow 내용이 박스보다 큰 경우 밖으로 넘친 부분을 어떻게 표시할지를 지정한다. Value visible : 박스보다 넘쳐난 내용을 그대로 보여준다. hidden : 박스보다 넘쳐난 내용을 표시하지 않도록 지정하며 스크롤을 제공하지 않는다. scroll : 박스보다 넘쳐난 내용을 위해 스크롤을 제공한다. 잘려서 보이지 않는 부분을 스크롤해서 볼수있도록 한다. 내용이 박스보다 넘쳐나지 않아도 무조건 스크롤을 제공한다. auto : 브라우저에 의존하며 해당영역이 박스보다 큰 경우 스크롤을 자동으로 제공한다. * 참고 overflow-x와 overflow-y는 windows I5+E의 독자적인 속성

Tistory

12.02 jQuery data()

data() - 해당 엘리먼트에 Javascript Type의 value를 로 저장할 수 있으며, 값으로 저장되어 있는 데이터를 읽음. [ case 1. 데이타 저장 ] 문법 : $(selector).data(key, value) key : string type의 변수로 data가 저장될 key값입니다. value : object type으로 JavaScript 에서 지원하는 모든 type의 데이터를 저장할수 있습니다. ex) span 엘리먼트에 data()함수로 "name"과 "address" 세팅방법(저장) $("span").data("name", "Nextree"); $("span").data("address", "가산"); [ case 2. 데이터 읽기 ] 문법 : $(selector).data(..

Tistory

12.02 JSON

JSON.parse() : String 객체를 json 객체로 변환 JSON.Stringfy() : json 객체를 String 객체로 변환

Tistory

12.02 session

session값은 server-side에 저장이 되고, jQuery는 브라우저에서 동작하기 때문에 자바 스크립트에서 session값을 가져올 수 없었다. *세션과 쿠키의 차이 두가지의 차이점 세션은 서버에 저장되고 쿠키는 클라이언트에 저장됨 따라서 세션이 쿠키보다 보안이 강한건 사실이지만 너무 무분별하게 사용하면 서버에 부하를 줄 수도 있음 대신 쿠키는 클라이언트 pc에서 처리되기 때문에 속도면에서 빨라질 수 있음

Tistory

11.11

조건 연산자 : 물음표와 콜론 조건이 하나이고 ture일때와 false일때 실행할 명령어도 하나뿐이면 if else 문 대신에 조건 연산자를 사용하는 것이 간단하다. (score >=60)? alert("통과") : alert("실패"); = 조건 ? ture일때 실행 : false일때 실행 truthy 값과 falsy 값 - 논리형 자료 값은 true와 false뿐이다. - 일반 값 중에서도 'true로 인정할 수 있는 값'과 'false로 인정할 수 있는 값'이 있다. 해당 값을 truthy하다, falsy하다 라고 표현한다. *falsy값 0 "" NaN (숫자가 아님(Not a Number)을 의미 / 보통 변수를 선안만 한 상태(값을 할당하지 않은 상태)에서 연산을 하면 볼 수 있는 값) und..

Tistory

11.11 이벤트와 이벤트 처리기

이벤트란 웹 브라우저나 사용자가 행하는 어떤 동작을 말한다. 키보드의 키를 누르거나 브라우저가 웹 페이지를 불러오는 것도 이벤트이다. 자바스크립트 이벤트는 주로 마우스나 키보드를 사용할 때, 웹 문서를 불러올때, 폼(FORM)에 내용을 입력할 때 주로 발생시킨다. 마우스 이벤트 : 마우스에서 버튼이나 휠 버튼 조작할 떄 발생하는 이벤트 속성 설명 click 사용자가 HTML 요소를 마우스로 눌렀을 때 발생 dblclick 사용자가 HTML 요소를 마우스로 두 번 눌렀을 때 발생 mousedown 사용자가 요소 위에서 마우스 버튼을 누르는 동안 발생 mousemove 사용자가 요소 위에서 마우스 포인터를 움직일 때 발생 mouseover 마우스 포인터가 요소위로 옮겨질때 발생 mouseout 마우스 포인터..

Tistory

11.11 Distinct와 Group By의 차이

Distinct는 unique한 컬럼이나 튜플을 조회하는 경우 사용 Group by는 데이터를 그룹핑해서 그 결과 값을 가져오는 경우 사용 EX) Select Count(Distinct name) AS COUNT FROM ANIMAL_INS --> DISTINCT : 중복 제거 Distinct는 "그룹핑" 작업만 수행하고 "정렬작업" 수행 X Group by는 "그룹핑" + "정렬" 작업 수행 Tip) 정렬이 필요하지 않다면 DISTINCT를 사용하는 것이 성능상 더 빠르다고 볼 수 있다.

Tistory

11.11 delete 연산자

*delete 연산자 - 객체(object), 객체의 속성(property), 배열의 특정 인덱스에 있는 원소(element)를 지우는 연산자 - var 문장을 이용해서 선언된 변수는 지울 수 없다. - delete 연산자 실행이 성공하면 , 속성이나 원소가 undefined로 설정됨. 실행이 가능하면 true, 불가능 false 반환 - 객체 자체는 삭제할 수 없으나, 객체의 프로퍼티는 삭제할 수 있다. var o = { x : 1, y : 2 } delete o.x;

Tistory

10.31 CSS 정리

F12를 눌러서 Elements 탭으로 갑니다. 아무 태그나 눌러서 Styles 탭을 보면 옆에 그림이 나올겁니다. position, margin, border, padding, content 순입니다. 바로 이게 박스 모델입니다. position은 없을 수도 있습니다. content 보통 태그가 차지하는 공간이 content / width와 height가 차지하는 공간이 content이다. 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 ..

Tistory

11.06

css 미디어 쿼리 코드 템플릿 아래 코드는 모든 해상도를 커버하기 위한 미디어 쿼리 코드 템플릿이다. All, Mobile, Tablet, Desktop 으로 기기별 대응 코드를 분류 했지만 Liquid 레이아웃 기법을 사용하면 사실상 모든 해상도를 커버할 수 있다. @charset "utf-8"; /* All Device */ 모든 해상도를 위한 공통 코드를 작성한다. 모든 해상도에서 이 코드가 실행됨. /* Mobile Device */ 768px 미만 해상도의 모바일 기기를 위한 코드를 작성한다. 모든 해상도에서 이 코드가 실행됨. 미디어 쿼리를 지원하지 않는 모바일 기기를 위해 미디어 쿼리 구문을 사용하지 않는다. /* Tablet & Desktop Device */ @media all and ..

Tistory

11.07 문서모드

--> content= "ie=edge"는 IE브라우저에서, 각 버전 중 가장 최신 표준 모드를 선택하는 문서모드(IE6부터 IE11까지) : 가장 최신의 웹 표준을 지원하는 HTML5 DOCUTYPE을 추천함. 문서모드란 ? 문서 호환성 모드(document compatibility modes) - IE 구버전은 IE가 웹페이지를 번역하고 표시하는 방법을 선택할 수 있게 함 Quirks mode 비표준 모드가 기본값이며, 구버전의 브라우저로 보는 것처럼 페이지를 표시하고, Standard mode 표준 모드(또는 strict mode 엄격모드)는 업계 의 표준을 지원하도록 표시한다. 이때 역시 문서유형 선언(예:)이 있어야 하는데, 문서유형선언을 하지 않으면 quirks mode로 표시함 비표준 모드 ..

Tistory

10.25 현재까지의 메모

* javascript / JAVA 코드를 짤 때는 루핑횟수 최대한 줄이기! - 루핑이 자원이고 루핑만 줄여도 속도가 빨라진다. (for문과 같은) - 단순한 것은 switch문을 쓰는게 더 효율적임 * HTML id는 정말 하나의 id만 가지고 있을 때 쓰고, 왠만하면 class와 Atrribute(속성)으로 쓰는 것이 낫다. 속성은 임의의 속성을 지정할 수 있다. 예제) * javascript에서 Lopping이 도는 순간 Lock이 거린다. 유의!!!! * 자식 셀렉터(child selector) : 부모와 자식 엘리먼트는 오른쪽 부등호(>)로 구분 예제) ul.myList > li > a / jQuery(ul.myList > li > a); * RequestParam으로 넘어온 값은 Jsp로 넘길..

1 2 3 4