Programming

Programming/JavaScript+CSS

[JavaScript] 자식 창에서 부모 창 새로고침

부모 창을 새로 고침하려면 자식 창에서 window.opener를 사용하여 부모 창의 location.reload() 메서드를 호출할 수 있습니다. 아래는 간단한 예제입니다. 1. 부모 창의 HTML (parent.html) 부모 창 자식 창 열기  2. 자식 창의 HTML (child.html) 자식 창 부모 창 새로 고침  설명 - 부모 창 (parent.html): 버튼을 클릭하면 자식 창을 엽니다. - 자식 창 (child.html): 버튼을 클릭하면 부모 창을 새로 고칩니다. 이렇게 하면 자식 창에서 부모 창을 새로 고칠 수 있습니다.

Programming/JavaScript+CSS

리팩터링 원칙

리팩터링 정의'리팩터링(recatoring)'도 엔지니어들 사이에서 다소 두리뭉실한 의미로 통용된다. '리팩터링'이란 용어는 명사로도 쓸 수 있고, 동사로도 쓸 수 있다. 먼저 명사로 쓸 때는 다음과 같이 정의한다.리팩터링: [명사] 소프트웨어의 겉보기 동작은 그대로 유지한 채, 코드를 이해하고 수정하기 쉽도록 내부 구조를 변경하는 기법 함수 추출하기와 조건부 로직을 다형성으로 바꾸기처럼 이름 붙은 리팩터링 기법들이 이 정의에 해당한다. 동사 버전의 리팩터링 정의는 다음과 같다.리팩터링(하다): [동사] 소프트웨어의 겉보기 동작은 그대로 유지한 채, 여러 가지 리팩터링 기법을 적용해서 소프트웨어를 재구성한다. 리팩터링은 성능 최적화와 비슷하다. 둘 다 코드를 변경하지만 프로그램의 전반적인 기능은 그대로 ..

Programming/JavaScript+CSS

리팩터링: 첫 번째 예시

1.1 자, 시작해보자!극단은 공연할 연극 정보를 다음과 같이 간단한 JSON 파일에 저장한다.plays.json{ "hamlet": {"name": "Hamlet", "type": "tragedy"}, "as-like": {"name": "As You Like It", "type": "comedy"}, "othello": {"name": "Othello", "type": "tragedy"},} invoices.json[ { "customer": "BigCo", "performances": [ { "playID": "hamlet", "audience": 55 }, ] }]  공연료 청구서를 출력하는 코드는 다음과 같이 간단히 ..

Programming/JavaScript+CSS

자바스크립트 map() 함수

자바스크립트에서 map() 함수는 배열의 각 요소를 변환하여 새로운 배열을 생성하는 데 사용됩니다. 이 함수는 배열의 각 요소를 순회하면서 주어진 함수를 적용하고, 그 결과를 새로운 배열에 담아 반환합니다. 원본 배열은 변경되지 않습니다. 기본 사용법map() 함수는 다음과 같은 형태로 사용됩니다:const newArray = array.map((element, index, array) => { // 변환된 값을 반환}); element: 현재 처리 중인 배열의 요소index: 현재 처리 중인 요소의 인덱스 (선택 사항)array: 원본 배열 (선택 사항) 예제1. 기본 예제: 숫자 배열을 제곱한 새로운 배열을 만들고 싶다면:const numbers = [1, 2, 3, 4];const squaredN..

Programming/JavaScript+CSS

자바스크립트 concat() 함수 배열 합치기

자바스크립트에서 concat() 함수는 배열을 결합하는 데 사용되는 메서드입니다. 이 메서드는 두 개 이상의 배열을 합쳐서 새로운 배열을 생성합니다. 원본 배열은 변경되지 않으며, 새 배열이 반환됩니다. 기본 문법let newArray = array1.concat(array2, array3, ..., arrayN); 매개변수array1, array2, ..., arrayN: 결합할 배열입니다. 하나 이상의 배열을 인자로 전달할 수 있으며, 배열 이외의 값도 포함될 수 있습니다. 배열 이외의 값은 배열 형태로 변환되어 결합됩니다.예제 1. 기본 배열 결합: 두 개의 배열을 결합하는 예제입니다.const array1 = [1, 2, 3];const array2 = [4, 5, 6];const combined..

Programming/JavaScript+CSS

자바스크립트 forEach() 함수

자바스크립트에서 forEach() 함수는 배열의 각 요소에 대해 주어진 함수를 한 번씩 실행하는 메서드입니다. 주로 배열을 순회하면서 각 요소에 대해 특정 작업을 수행할 때 사용됩니다. forEach()는 원본 배열을 변경하지 않으며, 새로운 배열을 반환하지도 않습니다. 기본 문법array.forEach(callback(currentValue, index, array) { // 실행할 코드});  매개변수callback: 배열의 각 요소에 대해 실행할 함수입니다. 이 함수는 다음 매개변수를 받습니다:currentValue: 현재 처리되고 있는 배열 요소.index (선택적): 현재 처리되고 있는 배열 요소의 인덱스.array (선택적): forEach()가 호출된 배열. 예제1. 기본 사용 예제: 배열..

Programming/Java

Java Stream Sum

Integer List numbers = Arrays.asList(1, 2, 3, 4, 5); // Stream의 reduce 이용 Integer sum1 = numbers.stream().reduce(0, Integer::sum); // IntStream의 sum 이용 int sum2 = numbers.stream().mapToInt(i -> i).sum(); String LIst numbers = Arrays.asList("1", "2", "3", "4", "5"); // IntStream의 sum 이용 int sum = numbers.stream().mapToInt(i -> Integer.parseInt(i)).sum();

Programming/Effective Java

아이템 1 - 생성자 대신 정적 팩터리 메서드를 고려하라

핵심 정리 정적 팩터리 메서드와 public 생성자는 각각의 쓰임새가 있으나 상대적인 장단점을 이해하고 사용하는 것이 좋다. 그렇다고 하더라도 정적 팩터리를 사용하는게 유리한 경우가 더 많으므로 무작정 public 생성자를 제공하던 습관이 있다면 고치자. 클래스 생성자와 별도로 정적 팩터리 메서드(static factory method)를 제공할 수 있다. 클래스는 클라이언트에 public 생성자 대신 (혹은 생성자와 함께) 정적 팩터리 메서드를 제공할 수 있다. 이 방식에는 장점과 단점이 모두 존재한다. 첫 번째, 이름을 가질 수 있다. 생성자에 넘기는 매개변수와 생성자 자체만으로는 반환될 객체의 특정을 제대로 설명하지 못한다. 반면 정적 팩터리 메서드는 이름만 잘 지으면 반환될 객체의 특성을 묘사할 ..

rw-
'Programming' 카테고리의 글 목록