Ajax란?

2020/IT Q_A 2020. 2. 13. 10:41
반응형

 Ajax란?

  Ajax는 그 자체가 별도의 새로운 언어는 아닙니다.

  HTML, CSS, JavaScript, DOM, XML등 기존에 사용되던 여러 기술을 함게 사용하는 새로운 개발 기법입니다.

  JavaScript의 라이브러리중 하나이며 Asynchronous Javascript And Xml(비동기식 자바스크립트와 xml)의 약자입니다.

  브라우저가 가지고 있는 XMLHttpRequest 객체를 이용해서 전체 페이지를 새로 고치지 않고도 페이지의 일부만을 위한 데이터를 로드하는 기법이며 Ajax를 한마디로 정의하자면 JavaScript를 사용한 비동기 통신, 클라이언트와 서버간에 XML 데이터를 주고 받는 기술이라고 할 수 있습니다.

  쉽게 말하면 자바스크립트를 통해서 서버에 데이터를 요청하는 것입니다. HTML form 태그가 아니라 자바스크립트를 통해서. 따라서 우리는 새로고침을 할 필요가 없는 것입니다.

비동기(ASYNC) 방식이란?
비동기 방식은 웹페이지를 리로드하지 않고 데이터를 불러오는 방식입니다. 
이 방식의 장점은 페이지 리로드의 경우 전체 리소스를 다시 불러와야 하는데 이미지, 스크립트, 기타 코드등을
모두 재요청할 경우 불필요한 리소스 낭비가 발생하게 되지만 비 동기식 방식을 이용할 경우 필요한 부분만 
불러와 사용할 수 있으므로 매우 큰 장점이 있습니다.

 Ajax를 사용하는 이유

  기본적으로 HTTP프로토콜은 클라이언트쪽에서 Request를 보내고 Server쪽에서 Response를 받으면 이어졌던 연결이 끊기게 되어있습니다그래서 화면의 내용을 갱신하기 위해서는 다시 request를 하고 response를 하면서 페이지 전체를 갱신하게 됩니다. 하지만 이렇게 할 경우 페이지의 일부분만 갱신할 경우에도 페이지 전체를 다시 로드해야하는데 엄청난 자원낭비와 시간낭비를 초래하고 말것입니다. 하지만 ajax는 html 페이지 전체가아닌 일부분만 갱신할수 있도록 XML HttpRequest객체를 통해 서버에 request를 합니다. 이 경우 Json이나 xml형태로 필요한 데이터만 받아 갱신하기 때문에 그만큼의 자원과 시간을 아낄 수 있습니다. 요새 웹페이지에서 가장 중요한것은 속도가 아닐까싶습니다. 이 이유하나만으로도 Ajax를 사용해야 하는 이유로써 충분합니다.

 

Ajax의 장점

  • 웹페이지의 속도향상
  • 서버의 처리가 완료 될때까지 기다리지 않고 처리가 가능합니다.
  • 서버에서 Data만 전송하면 되므로 전체적인 코딩의 양이 줄어듭니다.
  • 기존 웹에서는 불가능했던 다양한 UI를 가능하게 해줍니다. 사진공유 사이트 Flickr의 경우 사진의 제목이나 태그를 페이지 리로드 없이 수정할 수 있습니다.

Ajax의 단점

  • 히스토리 관리가 안 된다.(보안에 좀 더 신경을 써야 합니다.)
  • 연속으로 데이터를 요청하면 서버 부하가 증가할 수 있습니다.
  • XMLHttpRequest를 통해 통신을 하는 경우 사용자에게 아무런 진행 정보가 주어지지 않습니다. 그래서 아직 요청이 완료되지 않았는데 사용자가 페이지를 떠나면 오작동할 우려가 발생하게 됩니다.

Jquery와의 시너지

  Ajax하면 Jquery에 대한 설명을 빼놓을 수 없습니다. 일반 Javascript만으로 Ajax를 하게되면 코딩량도 많아지고 브라우저별로 구현방법이 다른 단점이 있는데 jquery를 이용하면 더 적은 코딩량과 동일한 코딩방법으로 대부분의 브라우저에서 같은 동작을 할 수 있게 됩니다. jquery ajax를 사용하면, HTTP Get방식과 HTTP Post방식 모두를 사용하여 원격 서버로부터 데이터를 요청할 수 있습니다. Jquery는 Ajax처럼 JavaScript의 라이브러리 중 하나인데 자바스크립트를 좀 더 사용하기 쉽게 패키징화 시켜놓은 것입니다.

 

Ajax예제

<!DOCTYPE html>
<html lang="ko">

<head>
	<meta charset="UTF-8">
	<title>Ajax Intro</title>
	<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
	<script>
		$(function() {
			$("#requestBtn").on("click", function() {
				$("#text").load("/examples/media/ajax_intro_data.txt");
			});
		});
	</script>
</head>

<body>

	<h1>Ajax(Asynchronous JavaScript and XML)</h1>
	<p id="text">이 단락에 다른 텍스트를 불러와보죠!</p>
	<button id="requestBtn">데이터 불러오기!</button>
	
</body>

</html>

클릭을 하게 되면

참고 :

https://coding-factory.tistory.com/143 코딩팩토리님의 Ajax란

http://tcpschool.com/ajax/introTCP스쿨

 

반응형

'2020 > IT Q_A' 카테고리의 다른 글

java script(const, let)  (0) 2020.02.14
증감연산자 x++, ++x  (0) 2020.02.13
xml에서 주석처리 단축키  (0) 2020.01.30
model1, model2, mvc 패턴  (0) 2020.01.29
2020 정보처리기사 정보  (0) 2020.01.22
블로그 이미지

꽃꽂이하는개발자

,
반응형

필요한 만큼 드래그 하신 후

ctrl+ shift + /

 

해제 하실때는

ctrl+shift+\

 

반응형

'2020 > IT Q_A' 카테고리의 다른 글

증감연산자 x++, ++x  (0) 2020.02.13
Ajax란?  (0) 2020.02.13
model1, model2, mvc 패턴  (0) 2020.01.29
2020 정보처리기사 정보  (0) 2020.01.22
BootStrap 추천 사이트  (0) 2020.01.21
블로그 이미지

꽃꽂이하는개발자

,
반응형

1. MVC

- Model, View, Controller의 약어로 클라이언트와 상호작용하는 S/W를 디자인함에 있어 세가지 요소로 쪼개어 하는 것을 말합니다.

 

MVC 패턴 Model2  
Model 서비스 클래스 or javabean   비즈니스 로직을 처리하는 모든 것들이 모델에 속합니다. 컨트롤러로부터 특정 로직에 대한 처리 요청(ex: 게시판 글쓰기, 회원가입, 로그인 등)이 들어오면 이를 수행하고 수행 결과를 컨트롤러에 반환한다. 필요한 정보는 request 객체나 session 객체에 저장하기도 한다.
Controller 서블릿   MVC 패턴(모델 2) 모든 흐름 제어를 맡는다. 브라우저로부터 요청이 들어오면, 어떤 요청인지를 분석하여 이 요청을 처리하기 위한 모델을 사용하여 처리한다. 사용한 모델로부터 처리 결과르 받으면 추가로 처리하거나 가공해야할 정보가 있다면 처리 후 request 객체나 session객체에 저장하고, 뷰(jsp페이지)를 선택하여 foward나 redirect 하여 클라이언트에 출력한다
View JSP 페이지   클라이언트에 출력되는 화면을 말합니다. 모델 1과 달리 로직 처리를 위한 코드가 내포되어 있지 않습니다. 요청 결과의 출력 뿐만 아니라 컨트롤러에 요청을 보내는 용도로 사용됩니다. request 객체나 session 객체에 저장된 정보를 토대로 화면을 출력합니다.

 

2. Model1

- JSP로 구현한 기존 웹 어플리케이션은 모델1 구조로 웹 브라우저의 요청을 JSP페이지가 받아서 처리하는 구조입니다.

JSP페이지에 비즈니스 로직을 처리하기 위한 코드와 웹 브라우저에 결과를 보여주기 위한 출력 관리 코드가 뒤섞여 있는 구조로 JSP페이지 안에서 모든 정보를 표현(view)하고 저장(model)하고 처리(control)되므로 재사용이 힘들고 읽기도 힘들어 가독성이 떨어집니다.

 

  즉, 요약하자면 모든 클라이언트의 요청과 응답을 jsp가 담당하는 구조로 장점은 단순한 페이지 작성으로 쉽게 구현이 가능합니다. 중소형 프로젝트에 적합하다고 할 수 있습니다. 단점으로는 웹 어플리케이션이 복잡해지면 유지보수가 힘들어 집니다.

 

3. Model2

- Model1 구조와 달리 웹 브라우저의 요청을 하나의 서블릿이 받습니다. 서블릿은 웹 브라우저의 요청을 알맞게 처리한 후 결과를 JSP페이지로 포워딩합니다.

  즉, 클라이언트의 요청 처리와 응답처리, 비지니스 로직 처리하는 부분을 모듈화시킨 구조로 장점은 처리작업의 분리로 인해 유지보수와 확장이 용이하지만 구조 설계를 위한 시간이 많이 소요되므로 개발 기간이 증가합니다.

 

 

 

이미지 출처 - http://changhozz.tistory.com/126


반응형

'2020 > IT Q_A' 카테고리의 다른 글

Ajax란?  (0) 2020.02.13
xml에서 주석처리 단축키  (0) 2020.01.30
2020 정보처리기사 정보  (0) 2020.01.22
BootStrap 추천 사이트  (0) 2020.01.21
ERROR 1406 (3D000): No database selected  (0) 2020.01.17
블로그 이미지

꽃꽂이하는개발자

,
반응형

2020년부터는 정보처리기사 필기와 실기가 같이 개정이 됩니다.

정보처리 산업기사는 유예되서 개정이 되지 않습니다.

 

응시자격(전공제한이 없습니다. 문과도 가능해요.)

  • 4년제(학과무관)대학 4학년 1학기부터 / 5학년은 5학년1학기 6학년은 6학년 1학기부터 가능합니다.
  • 혹시 학사를 포기하셨다면 3학년 2학기까지 하셨으면 가능합니다.
  • 전문대같은 경우는 실무 경력이 2년 필요합니다
  • 학점 은행제는 106학점이상 가능합니다.
  • 고등학교 졸업생은 실무경력 4년
  • 기능사자격증을 취득하셨다면 실무 경력 3년
  • 산업기사 취득자는 실무경력 1년이 필요합니다.

# 실무경력 4년이라면 사무실 뿐만 아니라 사대보험이력으로 조회를 하기 때문에 응시가 가능합니다. 즉 국민자격증이라는 것입니다.

 

NCS

  NCS란 산업현장에서 직무를 수행하기 위해 요구되는 지식, 기술, 태도 등의 내용을 국가가 체계화한 것입니다.

 

시험과목 (NCS Level 3~6)

  • 소프트웨어 설계
  • 소프트웨어 개발
  • 데이터베이스 구축
  • 프로그래밍 언어 활용 (C, JAVA, PYTHON)
  • 정보 시스템 구축 관리

정보처리기사출제기준(2020_).hwp
0.05MB

출처는 한국 산업인력공단에서 가져왔습니다.

 

사진 출처: 두목넷

빨간줄로 체크한 건 Level 6단계이고 나머지는 3~5단계 정도 될 것 같습니다.

 

정보처리기사 실기

출처: 두목넷

  이걸 봄으로써 필기와 실기가 연관되는 것입니다. 이렇게 되면 필기를 공부한 것이 실기에 도움이 된다는 걸 알 수 있습니다.

 

출제방식

문항수 4지 선다형
5과목 각 20문제 (총 100문제)
시험 시간 09시 30분 부터 시작
시험 시작 20분전 입실
응시 시간 총 150분

 

시험 일정

 

정보처리기사는 올해 3회 응시 가능합니다. (시험은 갑자기 바뀌는 경우가 간혹 있기 때문에 확인해주시면 좋습니다.)

 

과목당 8문제 40점 이상

5과목 평균 60점 이상이면 합격입니다.

 

반응형

'2020 > IT Q_A' 카테고리의 다른 글

xml에서 주석처리 단축키  (0) 2020.01.30
model1, model2, mvc 패턴  (0) 2020.01.29
BootStrap 추천 사이트  (0) 2020.01.21
ERROR 1406 (3D000): No database selected  (0) 2020.01.17
eclipse mysql 연동  (0) 2020.01.16
블로그 이미지

꽃꽂이하는개발자

,
반응형

https://startbootstrap.com/

 

Free Bootstrap Themes, Templates, Snippets, and Guides

Start Bootstrap develops free to download, open source Bootstrap 4 themes, templates, and snippets and creates guides and tutorials to help you learn more about designing and developing with Bootstrap.

startbootstrap.com

https://www.bootstrapzero.com/

 

Bootstrap Themes at BootstrapZero

Bootstrap themes organized by collection. Download free, responsive Bootstrap themes for Bootstrap 3 or Bootstrap 4.

www.bootstrapzero.com

http://bootswatch.com/

 

Bootswatch: Free themes for Bootstrap

Customizable Changes are contained in just two SASS files, enabling further customization and ensuring forward compatibility.

bootswatch.com

  웹 디자인의 방향성이나 어떤 디자인을 해야 할 지 잘 모르겠다면 웹 사이트들을 검색하는 것도 좋지만 이러한 사이트를 통해서 만들어 놓은 부트스트랩을 보고 작동해 보는 것도 좋을 것 같습니다.

   다운을 받고 html을 코드로 열어보고 부분 부분 지워보고 복구하고 하면 어느정도 초심자들에게는 좋을 것 같습니다.

물론 저도 초심자 입니다.

  조만간 부트스트랩에 관해서 공부 하면서 글을 작성해야겠습니다.

반응형

'2020 > IT Q_A' 카테고리의 다른 글

model1, model2, mvc 패턴  (0) 2020.01.29
2020 정보처리기사 정보  (0) 2020.01.22
ERROR 1406 (3D000): No database selected  (0) 2020.01.17
eclipse mysql 연동  (0) 2020.01.16
MySQL DOWNLOAD / INSTALL  (0) 2020.01.16
블로그 이미지

꽃꽂이하는개발자

,
반응형

 

당신에게 출력된 에러가 맞나요?

이것은 당신이 사용하겠다고 선택한 데이터 베이스가 없다는 것입니다.

 

당신이 사용할 데이터 베이스 목록들을 볼까요?

show databases;

 

  그럼 선택을 하고 사용해 봅시다.

use bbs;

select * from user;

정상적으로 작동 합니다.

 

반응형

'2020 > IT Q_A' 카테고리의 다른 글

2020 정보처리기사 정보  (0) 2020.01.22
BootStrap 추천 사이트  (0) 2020.01.21
eclipse mysql 연동  (0) 2020.01.16
MySQL DOWNLOAD / INSTALL  (0) 2020.01.16
location.href / location.replace 의 기능과 차이점  (0) 2020.01.16
블로그 이미지

꽃꽂이하는개발자

,

eclipse mysql 연동

2020/IT Q_A 2020. 1. 16. 21:41
반응형

mysql에 접속하기 위해서 driver를 프로젝트에 추가해주어야 합니다.

mysql jdbc driver을 구글에 검색해서

다운로드 하고 압축을 풀어준 뒤

WEB-INF/lib/ 복사해서 넣어줍니다.

반응형

'2020 > IT Q_A' 카테고리의 다른 글

BootStrap 추천 사이트  (0) 2020.01.21
ERROR 1406 (3D000): No database selected  (0) 2020.01.17
MySQL DOWNLOAD / INSTALL  (0) 2020.01.16
location.href / location.replace 의 기능과 차이점  (0) 2020.01.16
jquery 버전 확인  (0) 2020.01.16
블로그 이미지

꽃꽂이하는개발자

,
반응형

1. 구글에서 MySQL을 검색합니다

2. 아래에 MySQL Community Downloads를 클릭합니다.

3. MySQL Community Server 을 클릭합니다.

4. 자신의 운영체에 맞게 다운로드 합니다.

용량이 많은게 바로 설치를 진행하게 해주는 것입니다.

다운을 받으신 후 설치를 하겠습니다.

execute를 눌러 진행해 줍니다.

쭉쭉 진행해 줍니다

기본형을 설치해주겠습니다.

포트 번호도 mysql의 기본 포트 번호인 3306을 사용하도록 하겠습니다.

next 하시면 비밀번호를 입력하라고 나오는데 입력해 주세요

쭉쭉 next하고 execute 하고 finish를 눌러주겠습니다.

비밀번호를 입력하시고 Check하시면 Next버튼이 활성화 됩니다.

execute를 눌러 설치를 해주시고

 넥스르 넥스트...

workbench나 shell은 지금은 사용 안할거여서 체크를 해제해주시고 Finish합니다.

그럼 mysql이 설치됬었습니다.

 

 

 

 

 

 

 

 

 

반응형

'2020 > IT Q_A' 카테고리의 다른 글

ERROR 1406 (3D000): No database selected  (0) 2020.01.17
eclipse mysql 연동  (0) 2020.01.16
location.href / location.replace 의 기능과 차이점  (0) 2020.01.16
jquery 버전 확인  (0) 2020.01.16
tomcat download & install  (0) 2020.01.16
블로그 이미지

꽃꽂이하는개발자

,