1. queryselector 및 getter, setter

// 1 
var mailTitle = document.querySelector('#main_title small') 
=> #은 id고 id안에 small 자식 text값을 가져온다. 
console.log(mailTilte); //하면 나온다. 

var ilbuni = document.querySelector('.ilbuni'); 
// .=> class다 , 처음 하나만 가져옴.
var ilbuniAll = document.querySelectorAll('.ilbuni');  
// 다 가져온다.
console.log(ilbuniAll[1]);// 두번째 놈을 가져온다. 
=> querySelector는 getElementByTag 대용으로 쓰인다.!!!!! 

// 2번
<li class ="ilbuni">
<a href = "www.google.com">Google</a>
<a class = "www.google.com">Google</a>
</li>
<script>
//JQuery에서는 어떻게 쓰는지 알아야 한다.=>>> Jquery 는 완전 편하게 for문도 돌 필요없다. 
for( var i =0 ; i< ilbuni.length; i++)
{
	ilbuni[i].style.border = 'lpx solid red' ; 
	//2번 
    var link = document.querySelector( '.ilbuni a'); 
    console.log( link.getAttribute('href'));  //google을 가져옴.  
    //즉, href의 속성을 가져온다. 
    //즉, href = ' ' 부분을 가져온다. 
	console.log( link.getAttribute('class'));  //google을 가져옴. 
    //즉, class의 속성을 가져온다. 
    //즉, class = ' ' 부분을 가져온다.
    
    // setattribute  
    link.setAttribute( 'href' , "www.naver.com") ; 
    구글이었었는데 네이버로 바뀜. 
}
</script>

//getAttribute는 return값이 있다. 
//setAttribute는 return값이 없다. 



getter는 리턴값있다, setter는 없다. 

 

 

classList.add, remove 

.special
{
	background: pink; 
}
.link-google
{
	color: red; 
}

a.className ="b" ; 
a의 className을 b로 바꾼다. 
a.className ="b c" ; 
a의 className을 b 그리고 c를 추가한다. 
or 
link.classList.add('c' , 'd', 'e' ); // 클래스갯수를 추가해서 늘릴 수 있다.  
setTime(function()
{
link.classremove('link-google'); 
}, 2000); 

 

 

var listElem = document.createElement('li'); 
listElem.innerHTML 

innerhtml 기억하기 , 

appencChild 기억하기

 

요즘엔, onload안하고 window.addEventListener(load, function(){ });으로 실행한다. 

클릭이벤트 눌렀을때, 땠을 때 등등 

마우스 이벤트 

키보드 이벤트 

폰이라면 터치 이벤트

로드 이벤트 

리사이즈 이벤트 .

 

동적인 이벤트 들이 있다. 

 

//미친 코드다 외우자. 

<button class ="btn" > 클릭하세요 </button> 
<script> 
var btn = document.querySelector('.btn'); 
var mainTilte = document.querySelector('#main-title'); 

function btnClickHandler() //기능이다. 이를 버튼과 연결해줘야함.
{
	mainTitle.style.background = 'dodgerblue'; //css 직접 조작. 
}
btn.addEventListner('click', btnClickHandler); 
or 
btn.onclick = btnClickHandler ;  

하지만 차이가 있다 . 
함수 여러개 가능하다. addEventLister자체가 메소드기 때문에
btn.addEventListner('click', btnClickHandler); 
btn.addEventListner('click', btnClickHandler1); 
btn.addEventListner('click', btnClickHandler2); 

onclick 3번을 지정할 수 있지만 속성을 3으로 바꿔버린다. 
btn.onclick = btnClickHandler;  
btn.onclick = btnClickHandler1;  
btn.onclick = btnClickHandler2; //이거로 덮어써버리는 결과가 나온다? 

 

 

1시 43분 인강 꼭 다시 듣기. 

 

 

 

 

btn활성화  클릭이벤트가 들어올 때 

일단 queryselector로 다가져온 뒤 , 메뉴 엑티브가 활성화 되어있는 놈이 있다면 비활성화 시키고 클릭하는놈은 활성화 시켜버린다. 

 

다른 방법. 

 

 

두시 10분까지 들었다 // 이벤트 .. !!!!

 

 

'개발 및 언어 > 자바스크립트' 카테고리의 다른 글

JAVA SCRIPT_CS.  (1) 2020.01.11
CSS 기초 지식 함양.  (0) 2020.01.11
09.20_웹프로젝트( JS + JQuery )  (0) 2020.01.11

 

[java script편]

script를 문서 아래에 넣는 이유? 

js는 위에서 부터 아래로 코드를 인식함 -> <script>안의 내용을 읽는동안 body는 아무일도 하지 않음 

-> 사용자 입장에서 느리다고 생각할 수 있음 -> body아래로 script를 옮긴다면 ? onload, ready없이 쓸 수 있고 

-> js가 쓰여지지 않았더라도 body의 html요소들이 화면에 먼저 로드 되기 때문에 사용자들이 빠르게 느낄 수 있다. 

 

싱글톤 패턴이란? 
- 객체를 한번만 생성하고 동일한 객체를 자바 코드에서는 호출해서 쓰는 방식을 의미합니다.
팩토리 패턴이란? 
- 상위 클래스에서 객체를 생성하는 인터페이스를 정의하고 하위 클래스에서 특정 인스턴스를 생성하는 방식을 의미합니다. 

REST API란? 
백엔드와 프론트를 직관적으로 분리하여서,  HTTP Method 를 통해 자원을 처리하도록 설계하는 것이다.
API 설계의 중심에 자원(Resource)이 있고 , GET(조회), POST(생성), PUT(기존 entity 전체 수정), PATCH(기존 entity 일부 수정), DELETE(삭제)을 분명한 목적으로 사용한다.


JSP vs SERVLET 
=> Servlet은 톰캣과 같은 서버 위에서 동작하는 순수 java 프로그램이고, JSP는 클라이언트 단에서 html과 java코드를 쓰는 스크립트 언어로서 View단에서 역할을 한다.   

GET VS POST
 GET 방식은 요청하는 데이터가 HTTP Request Message의 Header 부분의 url 에 담겨서 전송.
 특징: 크기가 제한적이고 보안에 위협이 있지만, 빠르다. 
 POST 방식의 request 는 HTTP Message의 Body 부분에 데이터가 담겨서 전송


스프링 정의? 
https://goddaehee.tistory.com/156
https://goddaehee.tistory.com/154
 

스프링 과정? https://kim6394.tistory.com/161
 https://private.tistory.com/3

CSS란? 웹문서의 디자인 " 전반적인 스타일을 정하는 언어" 
Node.js란? 자바스크립트 기반의 언어이고 서버까지 로직처리가 가능한 언어다. 단일 쓰레드 이벤트를 이용한 비동기 방식이고 처리가 빠르다. 
MVC 패턴이란? Model , Controller, View 로 나누어 둔 것. 

 

Spring의 장점은? 

 

Mybatis보다 강점을 가진 것이 JPA다. 

 

'개발 및 언어 > 자바스크립트' 카테고리의 다른 글

[JavaScript]querySelector  (0) 2020.01.21
CSS 기초 지식 함양.  (0) 2020.01.11
09.20_웹프로젝트( JS + JQuery )  (0) 2020.01.11

Display 속성 

레이아웃 기본. 

블럭 vs 인락인 

블럭 : div (박스다) 

인라인 : span  (text처럼 생각하면 된다.) //4가지만 기억 block, inline, inline-block, none, 

* 생각포인트 : 인라인은 박스가 아니기 때문에 크기 조절이 안됨. 

블록 인라인
article, aside, audio, div, fieldset, footer, form, h1, h2, h3, h4, h5, h6, header, hr, p, pre, section, table, ul, video a, br, button, em, i, img, input, label, map, object, small, script, select, span, strong, textarea, var

* padding을 설정하면 가운데로 깔끔하게 정리되구만. 

( padding : 5% , width: 50% )라고하면 화면에 55%를 차지한다. 

인라인 속성 

span{

display: inline( 기본 ) , inline-block( 크기 조절이됨, but 나란히 입력히 된다. ) , none: 화면에 안보이게 함. 

}

margin(외벽) > border(경계) > padding> 내용

box-sizing : context-box(margin까지 포함 ), border-box ( border까지 포함

 

* vertical-align: top; middle, bottom  // 차지하는 공간에서 위로 올림. 

* margin-left : auto , margin-rigth : auto 하면 여백이 생겼을 때 자동으로 오른쪽 왼쪽 맞춰 준다. 

=> margin: 0 auto ; // 상하:0 , 좌우:auto라는 뜻. 

 

*float : left // 블록이 왼쪽으로 붙인다.

*float : right 

-> but float에는 많은 어려움을 유발한다. 

=> div 1안에 다른 div2(float) 블록을 가질 때 정상 동작을 안 할 수있다. 

clear: both; 를 해줘야한다. 

footer { clear: both; // float}

ctrl + shifg + i => 개발자 도구. 

 

position 

https://aboooks.tistory.com/82 참고

static, relative, absolute, flexed가 있는데 ,

absolute는 상위 요소로 부터 절대적인 위치. 

relative는 상위 요소로 부터 상대적인 위치. 

 

 

 

참고 영상( 졸라 잘가르친다)

https://www.youtube.com/watch?v=Zny5Vxqk6Mk&list=PLe9WXHRkq9p0k7eF0TrIHgL5Cy9khHWnX&index=5&t=0s

https://www.youtube.com/watch?v=Y3_2BLb3hz8&list=PLe9WXHRkq9p0k7eF0TrIHgL5Cy9khHWnX&index=3

 

 

'개발 및 언어 > 자바스크립트' 카테고리의 다른 글

[JavaScript]querySelector  (0) 2020.01.21
JAVA SCRIPT_CS.  (1) 2020.01.11
09.20_웹프로젝트( JS + JQuery )  (0) 2020.01.11

index.jsp

<img src = "regi.jpg" alt="회원가입" />   /* 이미지가 없다면 alt '회원가입'으로 대신한다.*/ 

$("#_frmForm").attr("target","_self").submit(); 
/*
frmForm 아이디 태그에서 target은 창 속성을 말하고 
self는 현재 열려있는것을 의미하고 제출후에 현재페이지를 표시한다는 의미.
*/

a.target="_self" : (default) 현재창에 표시

area.target="_blank" : 새로운 창에 표시

base.target="_parent" : 부모창에 표시

form.target="_top" : 윈도우 최상위에 표시


  • attr vs prop.
  • 세션, cookie 유지하는 방법. 
	<script type="text/javascript">
    
		$("#_btnRegi").click(function() {
			location.href='regi.jsp'; // 회원가입 페이지로 이동. 
		});
		$("#_userid").keypress(function(event) {
			if (event.which == '13') { // 13이 엔터 키를 의미 , 엔터키를 누르면, 
				event.preventDefault(); // 이벤트를 중단??? 그게 무슨말. 
				$("#_pwd").focus();
			}
		});			
		 
		$("#_pwd").keypress(function(event) {
			if (event.which == '13') {
				event.preventDefault(); //
				$("#_btnLogin").click();
			}
            // 키프레스가 키보드 입력이 들어오고
            // 엔터가 들어오면, 
            // 로그인 버튼이 클릭된다.! 
		});
		
		//id저장
        var user_id = $.cookie("user_id");
		//alert(user_id);
        if (user_id != null) {
        	$("#_userid").val(user_id);
            $("#_chk_save_id").prop("checked",true);
        }			
		//prop는 attr과 거의 유사하게 속성을 다루는데 사용하지만. 
        // attr은 속성을 변경할 때 주로 쓰고 
        // prop는 확인할 때 주로 쓴다. true , false 
        //$.cookie를 쓰면 세션에 아이디, 비번을 등록 유지 시키고, 
        // expires: 1은 브라우저가 꺼지지 않으면 1일간 유지한다
		$("#_chk_save_id").click(function () {
		    if ($(this).prop("checked")) {
		    	//alert('cookie');
		        if ($("#_userid").val() == "") {
		            $(this).prop("checked", false);
		            alert("아이디를 입력해 주십시요.");
		        } else {
		            $.cookie("user_id", $("#_userid").val(), { path:"/", expires:365 });
		        }
		    } else {
		    	$.cookie("user_id", null, { path:"/", expires:-1 });
		    }
		});			
	</script>

main.jsp

 

- 정적인 방식: <%@ include file="관련 URL" %>

- 동적인 방식: <jsp:include page="relativeURL" />

정적인 방식( 부모페이지 안에 자식꺼를 삽입해서 사용)이 동적( 부모페이지에서 자식페이지를 이동한뒤 작업후 다시 부모페이지로 돌아옴)인 방식보다 빠르다. 

<!DOCTYPE html>
<html lang='ko'>
<head>
<meta charset="utf-8">
<title>main</title>
</head>
<body>
<jsp:include page="hello.jsp"></jsp:include>
<h3>메인</h3>
</body>

1. 정적 include

 

jsp가 컴파일되기 전에 include한 파일(common.jsp)이 부모 페이지에 삽입되어 컴파일된다.


사용법 : <%@include file="/inc/common.jsp" %>
장점 : include 페이지에서 선언한 변수를 부모페이지에서 별도의 변수 선언없이 사용이 가능하다.
단점 : 부모 페이지에 include한 파일이 많을경우 inlucde 페이지에서 선언된 변수를 추적해야해 유지보수할때 귀찮다.

2. 동적 include

사용자가 부모페이지 호출시 실행되어질 시점에 include한 파일이 삽입된다.
사용법 : <jsp:include page="/inc/common.jsp" flush="true" />
장점 : 부모페이지와 include 페이지는 변수를 공유하지 않으므로 유지 보수시에 편하다.
단점 : 부모페이지에서 include한 파일에서 선언한 변수를 사용시 <jsp:param name="userName" value="<%=userName%>"/> 과 같이 부모페이지에서 지정해 주어야 한다.


<jsp:include page="/inc/common.jsp" flush="true">
    <jsp:param name="userName" value="<%=userName%>"/>
    <jsp:param name="userAge" value="<%=userAge%>"/>
</jsp:include>

 

* 장점은 모듈적으로 관리가 가능해진다. 

 

 

'개발 및 언어 > 자바스크립트' 카테고리의 다른 글

[JavaScript]querySelector  (0) 2020.01.21
JAVA SCRIPT_CS.  (1) 2020.01.11
CSS 기초 지식 함양.  (0) 2020.01.11

+ Recent posts