단축 평가 논리 계산법
·
Language/JavaScript
&& console.log(true && "hello"); console.log(false && "hello"); console.log("hello" && "bye"); console.log(null && "hello"); console.log(undefined && "hello"); console.log("" && "hello"); console.log(0 && "hello"); console.log(1 && "hello"); console.log(1 && 1); - &&연산자의 경우, 앞에 오는 값이 true면 뒤에 오는 값이 결과물 - &&연산자의 경우, 앞에 오는 값이 falsy한 값이면 앞에 있는 값이 결과물 보통 이럴 때 활용된다. const object = { name: 'asdf' }; /..
falsy
·
Language/JavaScript
function print(person) { if (!person) { return; } console.log(person.name); } const person = { name: "Joh" }; print(person); 여기서 !person은 person === undefined || person === null 의 의미와 같다. 자바스크립트에서 undefiend, null,0, '', NaN,false은 falsy한 값이라고 해서, false로 간주함.
window.history.pushState / window.history.replaceState
·
Language/JavaScript
페이지 reload 하지 않고 브라우저의 url만 바꿔주는 작업을 할 때 쓰는 함수이다. window.history.pushState(null, null, '경로값') 첫번째 인자 값에 브라우저로 넘겨줄 데이터. 두번째 인자 값은 브라우저 제목으로 설정할 값. 세번째 인자 값은 url바꿔줄 해당 경로 값. 브라우저 앞 / 뒤 버튼 클릭시 onPopState라는 함수 실행되고, onPopState 함수에서 state 데이터를 넘겨준다고 함. history.pushState => 이전 url의 주소가 남아있어서 브라우저의 뒤로가기 버튼이 활성화된다. history.replaceState => 동일한 기능이지만, 이전 url의 주소를 활성화하지 않기 때문에 뒤로가기 버튼 활성화 되지 않음.
2866
·
Language/Java
package baekjoon; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; import java.util.HashSet; import java.util.Set; public class BOJ2866 { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String[] line = br.readLine().split(" "); int[] num = Arr..
네트워킹
·
Language/Java
네트워킹 - 네트워킹이란 두 대 이상의 컴퓨터를 케이블로 연결하여 네트워크를 구성하는 것을 의미합니다. - 자바에서 제공하는 java.net패키지를 사용하면 이러한 네트워크 어플레케이션의 통신부분을 쉽게 작성할 수 있다 클라이언트. 서버 - 서버는 서비스를 제공하는 컴퓨터 - 클라이언트는 서비스를 사용하는 컴퓨터 - 네트워크를 구성할때 전용 서버를 두는 것을 서버기반 모델이라하고, 별도의 전용 서버 없이 각 클라이언트가 서버 역할을 동시에 수행하는 것을 p2p모델이라고 한다. IP주소 - IP주소는 컴퓨터를 구변하는데 사용되는 고유한 값 - 4byte(32bit)의 정수로 구성되어 있으며, 'a.b.c.d'와 같은 형식 - 여기서 a.b.c.d는 부호없는 1바이트 값, 0~255사이의 정수 - IP주소는..
입출력 I/O
·
Language/Java
I/O란 Input과 Output의 약자로, 입력과 출력 간단히 줄여서 입출력이라고 부른다. 입출력은 컴퓨터 내부 또는 외부의 장치와 프로그램 간의 데이터를 주고받는 것을 의미 스트림 - 자바에서 입출력을 수행하려면, 두 대상을 연결하고, 데이터를 운반할 수 있는 운반통로가 필요함. - 스트림이란 데이터를 운반하는데 사용되는 연결통로이다. - 스트림은 단방향 통신만 가능하다. - 입력과 출력을 동시에 수행하려면, 입력을 위한 입력 스트림과 출력을 위한 출력 스트림이 필요하다. 바이트 기반 스트림 - 스트림은 바이트 단위로 데이터를 전송하며, 입출력 대상에 따라 다음과 같은 입출력 스트림이 있다. 입력스트림 출력스트림 입출력 대상의 종류 FileInputStream FileOutputStream 파일 By..
Thread
·
Language/Java
프로세스와 스레드 - 프로세스 : 실행 중인 프로그램 -> 프로그램을 실행하면 OS로부터 실행에 필요한 자원을 할당받아 프로세스가 된다 - 프로세스는 프로그램을 수행하는 데 필요한 데이터와 메모리 등의 자원 그리고 스레드로 구성되어 있으며, 프로세스의 자원을 이용해서 실제로 작업을 수행하는 것이 스레드 - 둘 이상의 쓰레드를 가진 프로세스를 '멀티쓰레드 프로세스'라 칭한다 - 멀티쓰레딩 : 하나의 프로세스 내에서 여러 쓰레드가 동시에 작업을 수행하는 것 - 멀티쓰레딩의 장점: 1. CPU의 사용률을 향상시킨다. 2. 자원을 보다 효율적으로 사용할 수 있다. 3. 사용자에 대한 응답성이 향상된다. 4. 작업이 분리되어 코드가 간결해진다. 스레드의 구현과 실행 - 쓰레드를 구현하기 위해선 Thread클래스를..
Generics
·
Language/Java
Generics 다양한 타입의 객체들을 다루는 메서드나 컬랙션 클래스에 컴파일 시 타입체크를 해주는 기능으로, 객체의 타입을 컴파일 시 체크하기 때문에 객체의 타입 안정성을 높이고, 형 변환의 번거로움이 줄어듭니다. class Box {} Box : 제네릭 클래스, T의 Box또는 T Box라고 읽습니다. T : 타입 변수 또는 타입 매개변수 Box : 원시 타입 지네릭스의 제한 - static멤버에 타입 변수 T를 사용할 수 없습니다 -> T는 인스턴스 변수로 간주되기 때문입니다. static멤버는 인스턴스 변수를 참조할 수 없습니다. static멤버는 타입 변수에 지정된 타입, 즉 대입된 타입의 종류에 관계없이 동일한 것이어야하기 때문입니다. - 지네릭 타입의 배열을 생성하는 것도 허용되지 않습니다 ..
Collection Framework
·
Language/Java
- 컬렉션 프레임웍이란, '데이터 군을 저장하는 클래스들을 표준화한 설계'를 뜻합니다. - collection : 다수의 데이터 - framework : 표준화된 프로그래밍 방식 - 컬렉션 프레임 워크에서는 그룹을 크게 3가지 타입이 존재한다고 인식하고 각 컬랙션을 다루는데 필요한 기능을 가진 3개의 인터페이스를 정의하였습니다. - List, Set, Map - List : 순서가 있는 데이터의 집합으로, 데이터의 중복을 허용합니다. (ArrayList, LinkedList, Stack, Vector등) - Set : 순서를 유지하지 않는 데이터의 집합으로, 데이터의 중복을 허용하지 않습니다. (HashSet, TreeSet) - Map: 키와 값의 쌍으로 이루어진 데이터의 집합으로, 순서는 유지되지 않..
takoyummy
'Language' 카테고리의 글 목록 (3 Page)