전체 글 104

리액트(ReactJS) 전화번호부 만들기 (1)

해당 게시물은 인프런의 Velopert님의 유료 강의를 듣고 개인적으로 정리한 내용을 담고 있습니다👩‍💻 첫 번째, 입력받는 컴포넌트 생성 먼저 만들 컴포넌트는 PhoneForm이다. 해당 컴포넌트에서 사용자의 이름과 전화번호를 입력받는다. 우선, src 디렉토리 내부에 'components'라는 하위 디렉토리를 생성하고 그 안에 PhoneForm.js 파일을 생성한다. // src/components/PhoneForm.js import React, { Component } from 'react'; class PhoneForm extends Component { state = { name: '' } handleChange = (e) => { this.setState({ name: e.target.valu..

React 2021.05.04

자바스크립트 ES6 비구조화 할당 문법

배열과 오브젝트 두 가지를 나눠서 ES6에 새로운 문법인 비구조화 할당에 대해 알아보자 비구조화 할당 정의 우선, 비구조화 할당 문법은 배열이나 객체의 속성을 해체하여 그 값을 개별 변수에 담을 수 있게 하는 자바스크립트 표현식이다. 간단하게 말하자면 배열([ ])이나 객체({ }) 안의 값을 편하게 꺼내 사용할 수 있는 문법이다. 배열 비구조화 할당 비구조화 할당 시 다음과 같이 기본값을 지정할 수 있다. const [cat, dog, tiger, animal = "MONKEY"] = ["CAT", "DOG", "TIGER"]; console.log(cat); // CAT console.log(dog); // DOG console.log(tiger); // TIGER console.log(animal)..

Javascript 2021.05.02

[백준/JAVA] 4344 평균 구하기

문제 풀이 입력받은 테스트케이스 수 만큼 반복문을 돌리면서 배열에 성적을 저장하고, 동시에 누적 합을 같이 구해준다. 이후에 평균 성적을 구하고 배열에 저장된 성적들과 비교한 뒤 몇 명의 학생이 평균보다 높은지 카운트하면 된다. 참고로 printf에서 "%"라는 문자를 출력하려면 %%로 적어줘야한다. import java.io.*; import java.util.*; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); // 테스트케이스 수 int num = Integer.parseIn..

코딩테스트 2021.05.01

리액트(ReacJS)의 컴포넌트 라이프사이클API - (3) Unmount API, componentDidCatch를 통한 에러잡기

해당 게시물은 인프런의 Velopert님의 유료 강의를 듣고 개인적으로 정리한 내용을 담고 있습니다👩‍💻 두 번째 Update API에 이어 마지막 Unmount API에 대해 알아보도록 하겠다. 컴포넌트의 mount가 해제될 때 관여하는 Unmount api 컴포넌트가 해제될 때 딱 하나의 메소드가 호출된다. componentWillUnmount 자식 컴포넌트에서 사용하며 등록했던 이벤트, 네트워크 요청 취소, 구독 해제 등의 정리 작업을 수행한다. 추가) 라이프 사이클을 활용한 에러 잡아내기 componentDidCatch 사전에 예외처리를 하지 않은 에러가 발생했을 때 해당 메소드를 사용하여 사용자에게 에러가 발생했다고 알려주는 화면을 보여줄 수 있다. 해당 메소드는 에러가 발생할 수 있는 자식 컴..

React 2021.04.30

리액트(ReacJS)의 컴포넌트 라이프사이클API - (2) Update API

해당 게시물은 인프런의 Velopert님의 유료 강의를 듣고 개인적으로 정리한 내용을 담고 있습니다👩‍💻 첫 번째 Mount API에 이어 Update API에 대해 알아보도록 하겠다. Props 또는 State가 변경될 때 관여하는 Update api static getDerivedStateFromProps Mount api와 같이 걸쳐져 있는 부분이다. 자세한 사항은 이전에 정리한 Mount API에서 확인할 수 있다. shouldComponentUpdate 리액트에서는 변화가 발생하는 부분만 업데이트해서 브라우저에 렌더링 할 수 있다. 따라서 렌더링 작업을 최적화하기 위해 사용하는 메소드이다. 자세한 내용은 이전에 정리한 이 곳에서 확인할 수 있다. getSnapshotBeforeUpdate ren..

React 2021.04.30

리액트(ReacJS)의 컴포넌트 라이프사이클API - (1) Mount API

해당 게시물은 인프런의 Velopert님의 유료 강의를 듣고 개인적으로 정리한 내용을 담고 있습니다👩‍💻 예전에는 각종 프레임워크의 라이프 사이클(=생명주기)의 개념만 이해하기 급했고, 실제 코딩하면서 사용할 생각은 하지 않았었다. 아마 나의 무지함 때문에 적절하게 사용하지 못했을 수도 있었을 것이고, 유용하고 좋은 기능이 있어도 그동안 진행했던 프로젝트에서는 필요 없었기 때문일 수도 있다. 라이프사이클 API에 대해 정확히 배운 것을 정리해서 이후 개인 프로젝트 진행 시 참고해야겠다. 우선, 전체적인 리액트의 라이프사이클은 다음과 같이 크게 Mount, Updating, Unmount 3가지로 나뉜다. 컴포넌트가 처음 실행될 때 관여하는 Mount api constructor(props) 컴포넌트가 새..

React 2021.04.30

[백준/JAVA] 8598 OX퀴즈

문제 풀이 행열 문제라고 생각하고 풀었다. 주의할 점은 String 문자열에서 특정 문자를 찾는 charAt() 사용시 큰따옴표가 아닌(" ") 작은 따옴표(' ')를 써야한다. import java.io.*; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); // TS 개수 int num = Integer.parseInt(br.readLine()); String[] str = new String[num]; for(int i=0; i

코딩테스트 2021.04.29

[백준/JAVA] 1546 평균 (StringTokenizer 주의점)

문제 해당 문제는 정말 별거 아닌 것 때문에 거의 20분을 잡아먹었다😂 바로, StringTokenizer 선언 때문이다. 나는 bufferedReader, bufferedWriter와 같은 클래스를 main메소드 상단에 위치시키는 습관이 있다. 따라서, StringTokenizer의 성격을 제대로 인지하지 못하고 같이 상단에 선언했더니 오류가 나버렸다. StringTokenizer는 문자를 잘라 토큰 형식으로 저장할 변수 바로 위에 위치시켜야 한다는 것을 제대로 배우게 되었다... 풀이 소수점 아래 숫자도 나오게 출력해야하므로 과목 개수 변수를 제외한 모든 변수는 Double형으로 설정했다. import java.io.*; import java.util.*; public class Main { publ..

코딩테스트 2021.04.29

[백준/JAVA] 3052 나머지 (배열, Hashset 사용)

문제 풀이 함수를 사용해서 푸는 방법을 몰라서 배열을 사용했지만, Hashset을 사용하면 아주 쉽고 간단하게 풀리는 문제였다. - 배열 사용 나머지 값들을 순차적으로 정리해서 뽑아내면 편할 것 같아 Arrays.sort를 사용했지만, 해당 메소드를 빼고 구현하면 오류가 나버렸다. 왜인지는 아직까지 모르겠다. 그리고 count를 1로 지정한 이유는 나머지가 없을 때(=0) 일때 1이 출력되는 예가 있었기 때문이다. import java.io.*; import java.util.*; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new Inp..

코딩테스트 2021.04.29

[백준/JAVA] 2562 최댓값

문제 풀이 간단한 문제이다. 배열의 자리값(=인덱스)는 지정한 숫자의 -1이기 때문에 출력 시 +1된 수가 나와야한다. 따라서, 자리 값을 구하는 count 변수는 인덱스+1 값이 출력되도록 구현했다. import java.io.*; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int arr[] = new int[9]; for(int i=0; i

코딩테스트 2021.04.28