
자바스크립트를 더 자유롭게 사용하기 위해서는 문서 객체 모델(DOM, Document Object Model)의 개념은 필수적입니다. 문서 객체 모델(DOM)은 XML이나 HTML 문서에 접근하기 위한 일종의 인터페이스로 문서 내의 모든 요소를 정의하고 각각의 요소에 접근하는 방법을 제공합니다. W3C DOM 표준에서 DOM은 세 가지 모델로 구분되어 있습니다. Core DOM : 모든 문서 타입을 위한 DOM 모델 HTML DOM : HTML 문서를 위한 DOM 모델 XML DOM : XML 문서를 위한 DOM 모델 Document 객체는 웹 페이지 그 자체를 의미하고 있습니다. 웹 페이지에 존재하는 HTML 요소에 접근하고자 할 때는 반드시 Document 객체로부터 시작해야합니다. Document ..

객체(Object) 란 실생활에서 우리가 인식할 수있는 사물로 이해할 수 있습니다. 자바스크립트의 기본 타입(data type)은 객체(object)입니다. 다시 말해 객체는 이름(name)과 값(value)으로 구성된 프로퍼티(property)의 정렬되지 않은 집합입니다. 프로퍼티의 값으로 함수가 올 수도 있는데 이러한 프로퍼티를 메소드(method)라고 부를 수 있습니다. 자바스크립트에서 숫자, 문자열, 불리언, undefined 타입을 제외한 모든 것이 객체입니다. 하지만 숫자, 문자열, 불리언 같은 원시 타입은 값이 정해진 객체로 취급되어 객체로서의 특정도 함께 가지고 있습니다. 다음 예제는 객체의 프로퍼티 참조를 보여주고 있습니다. 객체이름.프로퍼티이름 또는 객체이름['프로퍼티이름'] 객체의 메..

자바스크립트(JavaScript)는 객체(Object) 기반의 스크립트 언어입니다. HTML로는 웹의 내용을 작성하고 CSS로는 웹을 디자인하며 자바스크립트로는 웹의 동작을 구현할 수 있습니다. 자바스크립트는 주로 웹 브라우저에서 사용되지만 Node.js와 같은 프레임워크를 사용하면 서버 측 프로그래밍에서도 사용할 수 있습니다. 본격적으로 자바스크립의 개요를 시작하기 전에 앞서 짧게 역사를 알고 가려고 합니다. 자바스크립트는 1995년 넷스케이프(Netscape)의 브렌던 아이크(Brendan Eich)에 의해 만들어졌으며 처음에는 모카(Moca)라는 이름으로 개발되었지만 라이브스크립트(LiveScript) 라는 이름을 거쳐 오늘날 자바스크립트(JavaScript) 이름을 가지게 되었습니다. 자바스크립트..

import java.util.Scanner; public class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); int[] array = new int[9]; for(int i=0; i

class Solution { public int solution(int n) { int answer = 1; int sum = 1; while (true) { sum *= answer; if (n < sum) { answer = answer-1; break; } else { if (sum == n) { break; } else { answer++; } } } return answer; } }

class Solution { public int solution(int n) { int answer = 0; for(int i=1; i

import java.util.Arrays; class Solution { public String solution(String my_string) { String answer = ""; String[] array = my_string.split(""); Arrays.sort(array,String.CASE_INSENSITIVE_ORDER); for(String data : array){ answer += data.toLowerCase(); } return answer; } }

어떤 필요로 웹 브라우저의 정보를 가져와야 하는 경우가 있습니다. 그럴 때 Selenium을 통해 혹은 BeautifulSoup를 가져올 것입니다. Selenium을 이용하면서 자주 보게 되는 에러가 두루 있겠지만 nosuchelementexception을 가장 많이 접할 것 같습니다. Chrome 개발자 도구(F12)를 열어 HTML 코드를 확인하면 분명 존재하지만 읽히지 않는 element 요소들이 있습니다. 이런 경우 해당 element 요소가 shadow-root에 속해 있지는 않는지 확인을 해야 합니다.페이지에 방문해 개발자 도구로 보면 별다른 것이 없어보이지만 위 코드에서 태그를 열어보면 #shadow-root에 포함되어 있습니다.이런 경우 selenium으로 바로 크롤링을 하면 element..

import java.util.Scanner; public class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); int N = sc.nextInt(); int[] array = new int[N]; for(int i = 0; i

import java.util.Scanner; public class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); int N = sc.nextInt(); int X = sc.nextInt(); int[] array = new int[N]; for(int i=0; i

HTML5 이전까지는 웹 브라우저마다 어떤 종류의 멀티미디어 파일을 지원할지 각자 다른 방식으로 처리해 왔습니다. 하지만 HTML5에서는 플래시와 같은 외부 플러그인의 도움 없이도 멀티미디어 파일을 간단히 사용할 수 있습니다. 웹 브라우저는 파일의 타입(type)을 파일의 확장자로 판단하며 만약 확장자가 .html인 파일을 보면 웹 브라우저는 이 파일을 HTML 파일로써 다루게 됩니다. 또한 비디오(video)나 사운드(sound)와 같은 멀티미디어 요소들은 멀티미디어 파일에 저장되며 이와 같은 멀티미디어 파일도 다양한 파일 형식으로 저장될 수 있습니다. 1. 비디오(viedo) 파일 형식 파일형식 파일 확장자 설명 MPEG .mpg / .mpeg Moving Picture Experts Group에 의..

웹 페이지에서는 form 요소를 사용하여 사용자로부터 입력을 받을 수 있습니다. 웹 페이지를 방문했을 때 로그인/회원가입 혹은 어떤 데이터를 입력해서 보내야 하는 페이지는 대부분은 form 요소로 이루어져있습니다. 이렇게 사용자로부터 데이터를 입력받을 수 있게 해주는 form 요소는 action 속성을 이용하여 데이터를 처리할 서버 상의 스크립트 파일 주소를 명시할 수 있습니다. 또한 이렇게 전달받은 데이터를 처리하는 스크립트 파일을 폼 핸들러(form-handler)라고 부를 수 있습니다. 따라서 사용자가 form 요소를 통해 입력한 데이터는 action 속성에 명시된 위치로 method 속성의 방식을 통해 전달됩니다. method 속성을 통해 명시할 수 있는 form 요소의 전달 방식은 GET 방식과..