반응형

https://www.youtube.com/watch?v=vqwe1H1cYrY

이 유튜브가 여러곳중에 제일 친절하고 이해하기 쉬웠다.

반응형
반응형

JavaScript가 될 언어의 첫 번째 데모는 거의 정확히 25 년 전에 진행되었습니다 .

이 언어는 1995 년 가을 Netscape Navigator 베타에서 LiveScirpt로 출시되었으며 그해 말에 JavaScript로 이름이 변경되었습니다. 그해 말에 저는 JavaScript : The Definitive Guide 의 첫 번째 판 (O'Reilly에서이를 "베타 판" 으로 출판)을 시작했으며 1996 년 8 월에 출판되었습니다. .

 일곱 번째 에디션이 몇 주에 나오고, 나는 자바 스크립트의 우리가 지금, 자비, 잊을 수있는 초기 웹 플랫폼의 오래된 이상한 기능에 대한 기억을 더듬어 및 블로그 다운 여행을하고 싶다. 새 7 번째 에디션이 6 번째 에디션보다 얇은 이유 중 하나는 참조 섹션을 제거 했기 때문 입니다. 그러나 2020 년에는 더 이상 웹 개발자와 관련이없는 것들이 많았습니다. 웹 호환성은 영원히 (또는 25 년 이상) 지속되므로 브라우저 공급 업체는 오래되고 모호한 지원을 계속해야 할 수 있습니다 언어 및 플랫폼 기능이 오랫동안 사용되었습니다. 그러나 우리 나머지는 더 이상 우리의 마음을 어지럽 힐 필요가 없습니다.

여기에 더 이상 JavaScript : Definitive Guide 의 페이지 수를 늘리지 않는 JavaScript 및 웹 플랫폼 기능이 있습니다. 그들에게 작별 인사를하게되어 기쁩니다. (나는 여기에 약간의 맹렬한 소리가 나고 있다고 느낀다. 따라서 이것이 신중하게 연구되지는 않았고, 나쁜 옛날 시절의 일에 대한 내 기억 만 경고된다.)

  • arguments개체가 완전히의 도입에 의해 없어진다 된 ...argsES6있다. 명명 된 인수와 상호 작용하는 이상한 방식을 설명하고 성능 관련 사항에 대해 항상주의를 기울이는 것은 항상 어려운 일이었습니다. 레거시 코드에서 여전히 볼 수 있으며 arguments엄격 모드에서 로컬 변수 또는 함수 매개 변수의 이름을 지정하려고하면 존재 여부를 상기시킬 수 있지만 이제 나머지 인수가 있으므로 망각에 빠질 수 있어야합니다.

  • 우리는 반복 된 문자열 연결의 성능에 대해 걱정해야했습니다. 우리 모두는 문자열을 배열로 푸시 join()하고 마지막에 모든 것을 연결 하는  사용하는 기간이있었습니다 . 그런 다음 JavaScript가 빨라지고 우리는 모두“실제로”그 패턴을 배우지 못했습니다. 그리고 이제 더 이상 문자열 연결을 사용하는 템플릿 리터럴이 있습니다!

  • document.write()DOM 이전에 JavaScript의 주요 기능이었습니다. (20 세기에 JavaScript를 사용하지 않았다면 DOM 이전에 시간이 있었음을 알 수는 있지만 사실입니다. 웹 페이지의 배경색을 변경하도록 설정할 수있는 속성이 있었지만 그 방법은 없습니다 IIRC를 사용하여을 사용하여 문서에 스크립트를 삽입 할 수도 document.write()있지만 </script>HTML 파서가이를 해석하지 않도록 닫는 태그를 두 개의 문자열로 분리해야합니다. 현재 실행중인 스크립트의 끝

  • HTML은하지 않았다 <iframe>초기에,하지만 거기 <frameset>와 <frame>.  window.frames속성은 문서의 프레임을 나타내는 중첩 창 객체의 배열이었습니다. 실제로 open()프레임에서 문서  메서드를 호출 한 다음 document.write()해당 프레임 내에서 전체 문서를 동적으로 생성하는 데 사용할 수있었습니다. 실제로는 시원했습니다. 프레임은 다른 프레임 안에 중첩 될 수 있으므로 모든 Window 객체에는 frames자식 프레임을 포함 하는 배열과 parent포함 창 top을 참조 하는 속성  최상위 창을 참조 하는 속성이 있습니다. 필자의 저서 초판은 긴 부분과이 모든 것을 설명하는 복잡한 그림을 다뤘습니다.

  • 문서 내의 특정 요소를 참조하기위한 모든 종류의 사용되지 않는 기술이 있습니다. frames배열이 또한 있었다, IIRC 일 이었지만, links그리고 images말 그대로 문서에있는 모든 링크와 이미지의 단지 목록이었다 아니라 배열. IE (버전 4, 나는 생각한다)는 document.all문서에 모든 요소의 배열을 올인 하고 소개했다 . (이것은 DOM과 "DHTML"의 시작이었습니다. 마른 땅으로 기어가는 최초의 물고기와 같은 종류였습니다.) document.all온갖 이상한 기능이있었습니다. 이름이나 다른 요소로 요소를 찾는 방법도있는 배열이었습니다. 그렇게 document.all표준화 없지만, 심지어 표준 방법 좋아 않았다 document.getElementById(), document.getElementsByName(), document.getElementsByTagName()와 document.getElementsByClassName()jQuery의에 의해 부적절로 분쇄되지 않는 오늘을 보인다$()기능과 그것이 영감을 얻은 표준 document.querySelector()및 document.querySelectorAll()방법. CSS 선택기의 강력한 기능을 통해이 두 기능은 이전의 모든 기능을 폐기합니다.

  • Internet Explorer에서 가장 싫어했던 것은 attachEvent()이벤트 핸들러 등록 방법을 사용했다는 것 입니다. 내 기억에, 그들은 표준이지만이 작업을 수행addEventListener()이미 정의되었고, 정말 저를 괴롭 혔습니다. 이벤트와 이벤트 처리는 웹에서 가장 큰 비 호환성 소스 중 하나였으며, 수 년 동안 JavaScript 프로그래머 (및 JavaScript 서적 저자)는 IE 이벤트 모델과 표준 이벤트 모델 간의 긴 차이 목록을 처리해야했습니다. 이벤트 처리 코드는 IE와 Firefox에 대해 두 번 작성해야했습니다. 사건에 관한 서적 장은 사건을 다루는 두 가지 유사하지만 완전히 양립 할 수없는 방법이 있었기 때문에 필요한 것보다 두 배나 길었습니다. jQuery의 주요 기능 중 하나는 자체 이벤트 호환성 계층을 구현하여 jQuery 이벤트에 대해서만 알아야한다는 것이 었습니다. 이것이 인기의 중요한 이유라고 생각합니다.

  • 원래 DOM API는 XML에 대한 마 법적 사고 시대에 정의되었습니다. (사람들은 XML이 모든 데이터 문제를 해결할 것이라고 몇 년 동안 믿었던 것 같았습니다. 이상한 시간이었습니다.) 어떻게 든 W3C는 DOM API를 정의했다고 Java 사람들이 침투했다고 약속했습니다. HTML 문서로 작업하는 JavaScript 프로그래머 및 XML 데이터로 작업하는 Java 프로그래머가 사용하는 단일 API. 그렇기 때문에 Attr 노드와 같은 이상한 것들이 가장 좋은 이유입니다. DOM Level 3 API에 대해 항상 나를 괴롭혔던 것 중 하나는 e문서에서 요소를 제거하면 e.remove()오늘날처럼 쓸 수 없다는 것입니다. 당신은 실제로 썼다 e.parentNode.removeChild(e).

 

원문 : https://davidflanagan.com/2020/05/12/javascript-to-forget.html

반응형
반응형

상황에따라 현재페이지를 리로딩하거나 특정 페이지로 리다이렉트를 해줘야하는 경우가 있다. (ex: 최초 접속시 세션값 설정 등) 

그럴 경우 해당페이지를 자연스레 리로딩을 하거나 특정페이지로 리다이렉트를 해줄때, 이 코드를 사용하면된다.

 

리로딩시 : 

Response.Redirect(Request.RawUrl);

리다이렉트시 : 

Response.Redirect(/Your/path/to/go);

 

반응형
반응형

인텔리J(IntelliJ IDEA) 에서는 코드 작성, 편집, 검색, 리팩토링, 디버깅 등 IDE내에서  수행하는 대부분의 작업 명령의 키보드 단축키(ShortCut)을 제공합니다. 자주 사용되는 단축키는 숙지해 두시면 생산성 향상에 큰 도움이 될 수 있습니다.

 

다양한 단축키 중에 자주 사용되는 몇가지 대표 단축키를 정리해 보겠습니다. 상세 단축키는 최하단에 전체 단축키표(KEYMAP)을 참고하시기 바랍니다. 맥북(MacOS) 기준으로 작성하였으며 괄호는 윈도우(Windows), 리눅스(Linux) 버전  단축키입니다.

 

General

자주 사용되는 공통 부분 단축키 입니다.

 

⌘0~9(Alt+#[0-9]) : 각 단축키에 해당하는 도구창을 엽니다. 예를 들어 ⌘1 을 사용하면 프로젝트 도구창을 토글할 수 있습니다.

⌘⇧F12(Ctrl+Shift+F12) : 편집기(Editor) 영역을 최대로 크기로 토글합니다.( Toggle maximizing editor)

⌘,(Ctrl+Alt+S) : 설정(Preferences) 창을 엽니다. ( Open Settings dialog )

⌘;(Ctrl+Alt+Shift+S) : 프로젝트 구조를 확인 및 변경 할 수 있는 창을 엽니다. 해당 메뉴에서 Modules, Libraries, Facets, Artifacts, SDK,Project compiler output 등을 확인 및 변경 할 수 있습니다.(open Project Structure dialog

⌘E(Ctrl+E) : 최근 사용한 파일 목록을 조회합니다.(Recent files popup)

A(Ctrl+Shift+A) : 액션을 검색하여 실행합니다. 설정을 변경하거나 단축키 등이 생각나지 않을때 유용한 기능이며 전체 검색인 더블⇧ 로 대체 할 수 있습니다. (Find Action)

Double⇧ : 가장 자주 사용되는 단축키 입니다. 파일, 클래스, 설정 등 키워드에 관련된 가능한 모든 것을 검색해 보여줍니다.( Search everywhere )

 

 

Editing

편집기(Editor) 관련된 주요 단축키 입니다.

 

^Space(Ctrl+Space) : 기본 코드 자동완성 기능입니다.  (Basic code completion)

^⇧Space(Ctrl+Shift+Space) : 소스코드를 분석해서 적합한 자동완성 코드를 추천해줍니다. (Smart code completion)

⌘N,^(Alt+Insert) : 코드를 생성합니다. 생성자나 Getter/Setter, 메서드 오버라이드 등의 코드를 자동생성할때 유용합니다. (Generate Code)

⌘O(Ctrl+O) Override 가능한 메서드 목록을 확인하여 구현하기 위한 코드를 자동 생성해 줍니다.

⌘I(Ctrl+I)  Implement 가능한 메서드 목록을 확인하여 구현하기 위한 코드를 자동 생성해 줍니다.

 

⌘P(Ctrl+P) : 현재 위치한 메서드의 파라미터 정보를 조회합니다. (Parameter info -within method call arguments)

F1(Ctrl+Q) : 도큐멘트를 조회합니다.(Quick Documentation)

⌥Space(Ctrl+Shift+i) : 구현된 코드를 조회합니다. (Quick Definition)

⌘B(Ctrl+B) : 해당 코드의 선언부로 이동.

⌘⌥B(Ctrl+Alt+B) : 해당 코드의 구현부로 이동.

⌥F7(Alt+F7) : 해당 항목이 사용된 위치 검색 

F2 : 오류, 경고 영역으로 점프 

(Alt+⏎) : 퀵픽스 제안 (Show intention actions and quick-fixes)

 

⌘D(Ctrl+D) : 라인 복제 (Duplicate current line)

⌘⌫(Ctrl+Y) : 라인 삭제 (Delete line at caret)

⌥↑,⌥↓(Ctrl+W,Shift+Ctrl+W) : 커서 근처의 코드 선택 영역을 확대하거나 축소합니다.

←,⌥→(Ctrl+←,Ctrl+→) : 단어별 포커스 이동

←,⌥(Ctrl+Shift+←,Ctrl+Shift+→) : 단어별 선택

fn,fn(PageUp,PageDown): Page Up/Down

fn←,fn→(Home, End) : 라인 시작,끝으로 이동

fn←,fn(Shift+Home,Shift+End) : 라인 전체 선택

 

⌘/(Ctrl+/) : 라인단위로 주석처리 합니다. ( Comment / uncomment with line comment )

/(Ctrl+Shift+/) : 블럭단위로 주석처리 합니다. ( Comment / uncomment with block comment )

⌥⌘L(Ctrl+Alt+L) : 해당 프로젝트의 표준 서식에 맞도록 정렬합니다. (Reformat code)

 

Compile and Run

컴파일(Compile) 및 실행(Run) 관련 주요 단축키 입니다.

 

⌘F9(Ctrl + F9) : 프로젝트 빌드(Make project)

⌘R(Shift + F10) : 실행 (Run)  

⌘d(Shift + F9): 디버그 (Debug)

 

Refactoring

소스 리팩토링(Refactoring) 관련 단축키 입니다.

 

^T(Ctrl+Alt+Shift+T) : 리팩토링 관련 전체 항목을 조회합니다. (Refactor this)

F5 : 복사 (Copy)

F6 : 이동 (Move)

⇧F6(Shift+F6) : 이름 변경(Rename)

⌘F6(Ctrl+F6) : 접근제어자, 반환타입, 이름 등 주요 정보를 변경합니다. (Change Signature)

 

 

VCS / Local History

Git 같은 버전 관리 시스템(Version Control System) 관련 단축키 입니다.

 

K(Ctrl+K) : Commit project to VCS

K(Ctrl+Shift+K) : Push commits

T(Ctrl+T) : Update project from VCS

^V(Alt + BackQuote) :  ‘VCS’ quick popup

 

| 단축키 표(KEYMAP)

젯브레인(jetbrains)에서 공개한 전체 기본 KEYMAP 리스트 입니다. 단축키는  IntelliJ IDEA 내 Preferences(⌘,) > Keymap 에서도 확인 및 변경이 가능합니다.

MAC OS / WINDOWS OS별로 각각 있고 친절하게 주요 단축키들은 음영으로 표시를 해주었네요.익숙해질때까지 출력하셔서 붙여놓고 보면서 개발 하시면 도움이 될 것 같습니다.

 

Reference

https://www.jetbrains.com



출처: https://ifuwanna.tistory.com/241 [IfUwanna IT]

반응형

'IDE > Intellij' 카테고리의 다른 글

Intellij에서 TODO 기능을 사용해보자  (0) 2022.03.04
intelliJ(jetbrains) Prettier 설정하기  (1) 2022.02.07

+ Recent posts