현재 element 에서 이전 또는 이후 element 를 접근 하려고 할때 

previousSibling
nextSibling 

2가지 를 사용해서 가져오려고 하지만 html element 가 아닌 #text가 호출될때가 있다.

원인은 element 사이에 whitespace(공백)으로 인해서 값을 제대로 못가져오게 된다. 

아래 샘플 html 코드에서 현재 2번에서 3번을 접근하려고 할때

<li>
    <a id ="1" >test1</a>
    <a id ="2" >test2</a>
    <a id ="3" >test3</a>
    <a id ="4" >test4</a>
</li>

 

var temp = document.getElementById('2');
console.log(temp.nextSibling); // #text

nextSibling은 id값이 3인 element 를 접근 못하고 #text를 가져온다.

해당 문법을 정상적으로 사용하려면 아래처럼 공백을 제거해야된다.

 

<li>
  <a id ="1" >test1</a><a id ="2" >test2</a><a id ="3" >test3</a><a id ="4" >test4</a>
</li>

 

하지만 이런 방법은 좋은게 아니기 때문에 whitesapce(공백)을 무시하면서 다음 element를 접근하는 

nextElementSibling 을 사용하면 된다. 

var temp = document.getElementById('2');
console.log(temp.nextElementSibling); // <a id ="3" >test3</a>

그럼 공백이 있어도 다음 element를 접근하고

형제 엘리먼트가 더이상 없을때 null을 return한다. 

 

shelve 의 기능은 아직 커밋하고 싶지않은 파일을 임시로 별도의 공간에 저장해두는 기능이다.

commit 하기전 코드를 임시로 보관하고 다른 브런치로 전환 해야하는 상황에서 유용한 기능이다.

git에서는 stash 기능이 있고 인텔리제이는  shelve 기능이 있는데

stash 와 shelve 는 동일한 기능이다. 

stash는 git 자체적으로 동작하는 기능이고

shelve는 인텔리제이(intellij)에서 자체적으로 동작하는 기능이다.

git 의 기능을 쓸지 인텔리제이의 기능을 쓸지 차이다.

 

1. Shelve 적용 방법

Commit 창(Alt+0)에서 변경된 파일 목록에서 해당 목록에서 잠시 보류하고 싶은 파일을 선택후 

오른쪽 클릭 > Shelve Changes  또는  상단 빨간 네모칸에 있는 icon을 클릭한다.

 

 

Shelve Changes 창에서 변경된 목록중 보류할 파일들을 확인하고

Commit Message 안에 기록을 해둔다. 예)local Test 용 코드 

이후 Shelve Changes 버튼을 클릭해 Shelve 를 적용한다. 

 

shelve를 적용하면 수정된 코드는 임시 보관되고 해당 파일은 작업전 내용으로 돌아간다.

Commit 창(Alt+0)에서 Changes 목록에서 제외된다.

 

 

 

2. Unshelve 적용 방법

 

위에서 임시로 보류했던 코드를 다시 현재 코드에 적용하고 싶을땐 Unshelve(보류해제) 로 되돌리면 된다.

Commit 창(Alt+0)에서 Shelf tab 으로 간다. 

 

되돌리고 싶은 보류 파일들을 선택하고 오른쪽 클릭 > Unshelve 또는  상단 빨간 네모칸에 있는 icon을 클릭한다.

 

 

 

Unshelve Changes 창에서 보류 해제 항목을 확인후  Unshelve Changes 버튼을 클릭해 보류를 해제한다.

Commit 창(Alt+0)에서 Shelf tab 에 파일을 드래그해 Commit to (브렌치명) tab 으로 이동시켜도 동일하게 적용된다.

 

 

적용 후 Commit 창(Alt+0) 또는 해당파일에서  Shelve(보류)에 적용되었던 코드가 현재코드에 반영된걸 확인 할 수 있다. 

 

 

마지막으로 git의 stash 와 인텔리제이의 shelve 기능 차이점으로 git은 브런치마다 stash가 공유가 불가능하고 

shelve는 브런치가 변경되어도 범용적으로 재사용이 가능하다.

 

부가적인 상세 옵션 설명 및 이외 shelve 에 대한 내용은 아래 공식홈페이지를 참고

https://www.jetbrains.com/help/idea/shelving-and-unshelving-changes.html#ChList

 
 
 

'Tool > IntelliJ' 카테고리의 다른 글

Intellij 파일 검색 안됨 해결 (Excluded 해제)  (0) 2022.09.08
IntelliJ 단축키 모음  (0) 2022.09.02
InteliJ 초기화면(welcome) 설정  (0) 2022.09.02
 

안드로이드 사용자인 경우

기존 은행앱에 있는 공용인증서로 홈텍스앱에서 인증서로 사용할때

 

인증서가 안뜨는데 구글이 인증서에 대해서 앱끼리 공유가 안되도록 막아뒀기 때문이다.

그래서 은행앱에 있는 인증서를 PC로 인증서 내보내기(복사)를 하고 

다시 PC에서 홈텍스앱으로 스마트폰으로 인증서 내보내기(복사)를 하고

다시 PC에서 홈텍스앱으로 스마트폰으로 인증서 내보내기(복사)를 해야한다. 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

+ Recent posts