Language 37

Javascript - 부모 창에서 window.open()으로 연 자식 창 관리

javascript에서 window.open(url)을 사용하면 현재 부모창에서 새로운 페이지를 열 수 있다. window.open([URL 또는 html 파일명], [자식 창의 접근자 이름], [자식 창의 스타일]) 예를 들어, 다음과 같은 방식으로 사용하면 된다. window.open('https://www.naver.com/', 'naverView', 'width: 240px, height: 400px'); // 해당 url을 새로운 탭에서 엶 window.close(); // 해당 창을 닫음 SNS 로그인 등을 구현할 때 새 창을 띄워서 권한 승인을 받는 경우가 많은데, 이 때 해당 창이 닫힌 여부를 판단하여 이벤트를 발생시키고 싶다면? window.open() 함수가 window 객체를 반환하기..

Language/Javascript 2021.10.03

Javascript - 고차함수 + 자주 쓰이는 ES6~ES12 문법 정리

forEach(element, index, array) 입력받은 배열의 요소와 인덱스를 차례대로 반환 리턴값 없음, for문처럼 사용 let arr = [1, 2, 3, 4, 5] arr.forEach(e => console.log(e)) // 차례대로 1, 2, 3, 4, 5 출력 for ... in / for ... of forEach에서 할 수 없는 break, continue 등 사용 가능 for ... of는 배열의 요소 값을 차례대로 반환 for ... in은 객체의 key값을 차례대로 반환 (배열에서의 for ... in은 인덱스를 순서대로 반환) let arr = [1, 3, 5, 7, 9] let kmj = { name: '미정', age: 25, job: '개발자' } for (let ..

Language/Javascript 2021.07.24

Javascript - var, let, const의 차이점 + 호이스팅

211203에 호이스팅 관련 설명을 보충했습니다! 자바스크립트에서는 ES6 문법부터 var를 이용한 변수 선언을 권장하지 않고 있다. 메모리 누수 문제 때문이라고만 알고 정확한 이유는 모른 채 const와 let을 사용하고 있었는데, 오늘 정확한 이유와 차이점 등을 정리해 보려고 한다. var, let, const의 차이는 변수 재선언 가능 여부와 변수 재할당 가능 여부에 있다. 변수 재선언이란? 같은 변수명으로 다시 변수를 선언하는 것 변수 재할당이란? 선언된 변수에 값을 다시 할당하는 것 - var : 변수 재선언 가능 → 예기치 못한 값을 반환할 수 있음 var t = 3 console.log(t) // 3 출력 var t = 'hello' console.log(t) // hello 출력 t = 3..

Language/Javascript 2021.07.24

Java - 람다식

람다식 : 익명 함수를 생성하기 위한 식, 함수에 가까움 매개변수가 하나일 경우 소괄호 생략 가능, 람다식 내 코드가 한 줄일 경우 중괄호 생략 가능 return문만 있을 때는 중괄호 생략 불가 // (타입 매개변수1, 매개변수2, ...) -> { ... } // 혹은 // (매개변수1, 매개변수2, ...) -> { ... } // 람다식 예시 (int a) -> { sout(a); }; - 람다식에서의 메소드 매개변수 또는 로컬 변수는 final 특성을 가짐 : 수정 불가 함수적 인터페이스(@FunctionalInterface) : 하나의 추상 메소드가 선언된 인터페이스를 람다식을 이용하여 구현 객체를 생성하고자 할 때 사용 인터페이스 상단에 @FunctionalInterface 어노테이션을 붙여서..

Language/Java 2021.07.18

Java - 제네릭

제네릭 타입이란? 타입을 파라미터로 가지는 클래스와 인터페이스 상속과 구현에 사용될 수 있음 public class 클래스명 { ... } public interface 인터페이스명 { ... } // 혹은 public class 클래스명 { ... } public interface 인터페이스명 { ... } → 제네릭 타입의 장점 1. 컴파일 시 강한 타입 체크 : 타입 에러 방지 2. 타입 변환 제거 : 요소를 명시하기 때문 - 예시 // Box 클래스 선언 public class Box { private T object; public T get() { return t; } public void set(T t) { this.t = t; } } // Box 제네릭 타입 이용 public class Bo..

Language/Java 2021.07.07

Javascript/JQuery - iframe 객체 내 자식 접근 제어

프론트앤드 개발을 하다 보면 iframe이나 object 태그를 사용할 때가 있다. 근데 iframe이나 object 태그 내에서 사용되는 link나 div 같은 태그들은 일반적인 방법으로는 접근이 안된다. 위 스샷처럼 object 태그를 사용하여 svg 파일을 불러와 화면에 표출하는 방법을 사용하여 히트맵 지도를 만들었는데, object 객체 내의 dong1 ID값을 갖는 path 객체에 접근할 수 없는 문제가 발생했다. 해결 방법은 아래와 같다. Javascript 1. 접근하려는 iframe이나 object 객체 뒤에 .contentWindow.document를 붙여 접근 document.getElementById("map").contentWindow.document.getElementById("d..

Language/Javascript 2021.07.07

Java - 멀티 스레드 정리

스레드란? CPU가 독립적으로 처리하는 하나의 작업 단위 프로세스를 이루는 작은 단위 멀티 스레드 - 어플리케이션 내부에서의 멀티 태스킹 - 멀티 스레드가 모여 프로세스를 이루고 프로세스가 모여 멀티 프로세스를 이룸 메인 스레드 - main() 메소드의 첫 코드부터 순차적으로 실행 - 필요에 따라 작업 스레드들을 만들어 병렬로 코드 실행 가능(=멀티 스레드) 싱글 스레드 어플리케이션 vs 멀티 스레드 어플리케이션 - 싱글 스레드 어플리케이션 : 메인 스레드가 종료되면 프로세스도 종료 - 멀티 스레드 어플리케이션 : 실행 중인 작업 스레드가 남아있으면 종료되지 않음 작업 스레드 - 생성 1. Thread 클래스로부터 직접 생성(Runnable로 생성) Thread thread = new Thread(new..

Language/Java 2021.07.02

Python - 정렬 내장함수

sorted 함수 : 문자열, 리스트, 딕셔너리 등 정렬 가능 결과는 리스트 자료형으로 반환 # 문자열 정렬 sorted("hello world") # [' ', 'd', 'e', 'h', 'l', 'l', 'l', 'o', 'o', 'r', 'w'] # 리스트 정렬 sorted([i for i in range(1,10,2)]) # [1, 3, 5, 7, 9] # 튜플 정렬 sorted({3,2,1}) # [1, 2, 3] # 셋 정렬 sorted((3,2,1)) # [1, 2, 3] # 딕셔너리 정렬 sorted({'a':10,'b':2,'c':6}) # ['a', 'b', 'c'] - 내림차순 sorted(리스트명, reverse = True) - sort()와의 차이점 1. sort()는 None ..

Language/Python 2021.06.27

Java - 기본 API 클래스 정리

java.lang 패키지 기본 패키지, import 없이 사용 가능 클래스 용도 Object 자바 클래스의 최상위 클래스로 사용 System 표준 입력 장치(키보드)로부터 데이터를 입력받을 때 사용 표준 출력장치(모니터)로 출력하기 위해 사용 자바 가상 기계를 종료시킬 때 사용 쓰레기 수집기를 실행 요청할 때 사용 Class 클래스를 메모리로 로딩할 때 사용 String 문자열을 저장하고 여러 가지 정보를 얻을 때 사용 StringBuffer, StringBuilder 문자열을 저장하고 내부 문자열을 조작할 때 사용 Math 수학 함수를 이용할 때 사용 Wrapper (Byte, Short, Character, Integer, Float, Double, Boolean, Long) 기본 타입의 데이털르 갖..

Language/Java 2021.06.25

Java - 중첩 클래스와 중첩 인터페이스, 예외 처리 복습

중첩 클래스/인터페이스 : 클래스 내부에 선언한 클래스/인터페이스 class ClassName { class NestedClassName { // 중첩 클래스 예시 ... } interface NestedInterfaceName { // 중첩 인터페이스 예시 ... } } - 장점 1. 두 클래스의 멤버들에 쉽게 접근 가능 2. 코드 복잡성 감소 중첩 클래스 - 멤버 클래스 1. 인스턴스 멤버 클래스 : 인스턴스 필드와 메소드 선언 가능(정적 필드/메소드는 X) 외부에서 접근시 A 객체를 먼저 생성하고 B 객체를 생성한 후에 사용 가능 → 장점: 바깥 클래스 접근 가능 // 인스턴스 멤버 클래스 예시 class A { class B { B() { ... } int field; void method1() ..

Language/Java 2021.06.25