개발 공부 21

CSS selector을 이용한 노드 선택 (querySelector)

node를 선택하는 방법 중에는 getElementById, getElementsByTagName, getElementsByClassName 등 여러 가지가 있는데 이중에 비교적 최신에 나온 querySelector에 대해 알아보고자 한다. querySelector과 querySelectorAll로 나누어지는데 querySelector은 한 개의 노드만 호출하는 것이고 querySelectorAll은 한 개 이상의 노드들을 배열로 호출하는 것이다. querySelector을 사용하기 위해선 CSS selector 기본을 알고 있어야 사용하기 편한데, 간단히 몇 가지만 짚고 넘어가도록 한다. .name name이란 클래스를 가진 노드 #name name이란 아이디를 가진 노드 input[name='x'] ..

개발 공부 2020.09.13

자바로 스프링 설정 클래스 만들기

이전에는 지시서(xml파일)에다가 개체를 만들고 조립하며 이에 대한 설정 또한 해주었다. 이제부터는 xml파일 없이도 이 모든 것을 하고자 한다. 일단은 설정을 담당하는 java 클래스 파일을 만들어 주도록 하자. 저자는 클래스명을 EmployeeDIConfig라고 하였다. @ComponentScan은 @Component가 기술된 패키지안에 있으면 개체를 만들어서 IOC 컨테이너에 담으라는 의미이다. @Configuration은 본 클래스는 설정 파일이며 실행 파일에서 불러올수 있게 함이다. @Bean은 return 개체를 IOC에 담게 해 준다. 이렇게 담긴 개체들은 @Autowired를 통해 조립된다. context 타입을 AnnotationConfigApplicationContext로 바꿔주었음을 ..

개발 공부 2020.09.11

Annotation 을 이용한 조립법 Autowired / Qualifier / Component

Dependency Injection 을 이해하기 쉬운 예제 를 보면 setting.xml에서 따로 개체의 생성과 조립을 하여 ApplicationContext를 이용해 전달받았었다. 하지만 앞으로는 Annotation을 이용하여 지시서에 따로 쓰지 않고도 조립을 할 수 있는 방법을 배워볼 것이다. 이번 글에서는 @Autowired와 @Qualifier를 통하여 지시서에 생성된 개체들을 생성자 또는 Setter에서 조립하는 방법에 대해 배우고자 한다. @Autowired 말 그대로 자동연결을 해주는 annotation이다. Dependency Injection을 이해하기 쉬운 예제에서는 employee 개체를 console 개체에다가 setting.xml에서 property를 통하여 setter를 이용했..

개발 공부 2020.09.10

Javascript 함수의 특징

최근에 jsp로 웹 개발을 하면서 javascript의 중요성을 많이 느꼈다. jsp에서는 조금 복잡하게 쓰였던 코드들이 javascript에선 간단하게 쓸 수 있었다. 앞으로는 javascript를 주기적으로 공부할 계획이다. 오늘의 내용은 java에서의 함수와 javascript에서의 다르게 쓰이고 있어서 javascript 함수의 특징을 써보았다. 1. 함수는 객체 타입중에 하나이다. Java와 비슷하게 javascript에서는 기본 데이터 타입과 객체 타입으로 종류가 나뉜다. 기본 데이터 타입에는 boolean, number, string, symbol, undefined, Bigint 등이 있고 그 외에는 객체 타입으로 이루어지는데 javascript에서 함수는 객체 타입 중에 하나로 구분된다...

개발 공부 2020.09.06

웹서버의 종류 (Apache / IIS / Nginx)

웹서버에는 여러가지가 있는데 여태 저자는 Apache만 써왔었다. 하지만 생각보다 많은 종류가 있다는 얘기를 듣고 한번 조사를 해보았다. 일단 아래는 몇 가지의 웹서버와 시장점유율을 나타내는 그래프이다. 종류에는 Apache, Microsoft(IIS), Sun, nginx 등이 있다. 최근에는 Apache 사용자들과 Microsoft의 사용자들이 많이 줄어들고 nginx의 사용자들이 급격히 증가하는 추세이다. 일단 Apache가 여태 강세였던 이유는 Unix와 Apple OS 에서 사용 가능하고 상대적으로 일찍 만들어졌다. 또한 tomcat 모듈을 이용하여 jsp를 지원하기도 한다. Microsoft IIS는 그에 비해 Windows에서만 지원을 한다. 하지만 Apache가 강세였던 가장 큰 이유는 o..

개발 공부 2020.08.24

JSTL - forEach

일단 JSTL을 처음으로 사용 해보는 거라, JSTL이 무엇인지 먼저 짚고 넘어가겠다. JSTL 이란 JSP Standard Tag Library 의 약자로 등록 되어 있거나 본인이 유용한 tag를 만들어서 JSP에서 씀으로써 java코드를 없애고 코드의 가독성을 높인다. 먼저 JSTL을 쓰기 위해서는 아래와 같은 코드를 삽입해 설정을 해줘야된다. uri는 제시된 주소에서 제공해주는 library를 쓰겠다는 것이고 prefix는 앞으로 library를 부를 명칭이다. forEach 태그의 사용 예제에 대한 설명을 먼저 하겠다. servlet에서 arraylist를 만들어 post라는 객체를 넣어줄 것이다. 그 다음엔, post.jsp 로 forward 시켜서 arraylilst를 테이블로 구현해보겠다. ..

개발 공부 2020.08.23

EL(표현식) 과 Scope(객체범위)

EL (Expresssion Language) EL은 JSP에서 Java 코드를 쓰지 않고도 Java 객체를 불러올수 있는 언어이다. 기존에 사용했던 jsp tag 를 EL 표기법 ${}로 대체한다. 아래는 EL 표기법 예제이다. 문자열, 배열, 맵 등을 EL을 써서 출력해보았다. EL 안에 들어가는 값은 jsp와 달리 숫자는 숫자로 문자열은 문자열로 인식한다. 아래의 표는 EL 에서 쓰여지는 여러가지 operator 들이다. [] 배열의 원소 반환 +, -, * 덧셈, 뺄셈, 곱셉 / (div) 나눗셈 % (mod) 나머지 == (eq) 같은지 비교 != (ne) 같지 않은지 비교 (gt) 큼 = (ge) 크거나 같음 && (and) AND || (or) OR ! (not) NOT..

개발 공부 2020.08.03

MVC1 / MVC2 예제

MVC (Model-View-Controller) 는 애플리케이션의 각 요소를 물리적으로 분리함으로써 개발자가 코드의 관리를 더욱 쉽게 할수 있게 해준다. 아래는 MVC1의 예제이다. HTML (View)부분과 Java (Contorller) 부분의 경계가 명확하다는 것을 볼수 있다. 이는 Java코드를 HTML 중간에 껴넣어서 코드가 복잡해지는 불상사를 막을 수 있다. 예제에서는 num이 10보다 크거나 같거나 아니면 같은 지를 리턴해준다. 아래는 MVC2의 예제이다. Controller 부분과 View부분을 아얘 물리적으로 분리시켜놓는다. 각 요소의 독립성을 증가시킴으로써 개발자가 더 편하게 볼수있도록 한것이다. 보다시피 result 문자열을 result 라는 곳에 저장시켜 mvc2.jsp로 fowa..

개발 공부 2020.08.03