반응형

분류 전체보기 360

1의 보수, 2의 보수란?

보수(補數, complement) 보수란 각 자리의 숫자 합이 어느 일정한 수가 되게 하는 수를 의미한다. 예를 들어, 10진수에서 7의 보수는 3이고, 8의 보수는 2이다. 즉, x에 대한 x+k의 보수는 k가 된다. 컴퓨터에서는 이진법을 사용하므로 이진수 계산에 보수가 쓰인다. 아래부터는 이진수를 이용한다. 1의 보수 2진수 1010의 1의 보수는 0101이다. 해당하는 자릿수가 1이면 0으로 바꾸고, 0이면 1로 바꾸기만 하면 된다. 1111(2) - 1010(2) = 0101(2) 2의 보수 1의 보수 값에 1을 더한 값이다. 2진수 1010의 1의 보수는 0101이고, 여기에 1을 더한 값인 0110이 1010의 2의 보수이다.

etc 2021.11.11

[Java] 내부 클래스의 접근성

내부클래스에서 중요한 것은, static 클래스만 static 멤버를 정의할 수 있다는 것이다. static 멤버는 객체 생성 없이 사용 가능해야하기 때문에 클래스도 static 클래스여야 한다. (단, final static은 상수이므로 가능) static 내부클래스에서는 외부클래스의 인스턴스 멤버에 접근할 수 없다. 클래스 변수가 인스턴스 변수에 접근할 수 없는 것과 원리는 같다. (출처: 유튜브 남궁성의 정석코딩)

Java 2021.11.10

[IntelliJ] 인텔리제이 프로젝트 깃허브에 올리기

[IntelliJ] 인텔리제이 프로젝트 깃허브에 올리기 1. Git 설치한 후 IntelliJ에 Path 설정하기 Git 설치는 https://git-scm.com에서 가능하다. path 설정 확인은 IntelliJ에서 다음의 경로에서 한다. File > Settings > Version Control > Git > Path to Git executable 2. IntelliJ에 GitHub 계정 연동하기 다음 경로를 통해 IntelliJ에서 GitHub 계정을 등록한다. File > Settings > Version Control > GitHub 3. Local Repository 생성하기 VCS > Share Project On GitHub > Repository name 입력 > Share Shar..

Java 2021.10.05

[React] 리액트 사용시 간단한 팁 몇 가지

1. JSX랑 JavaScript는 섞어 쓰지 않는 게 좋다. 이 경우 자바스크립트로 작성한 것은 class의 메서드로 만들면 보기도 좋다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 render() { return ( {this.state.first} x {this.state.second} = ? { e.preventDefault(); if (parseInt(value) === this.state.first * this.state.second) { this.setState({ result: '정답', first: Math.ceil(Math.random() * 9), second: Math.ceil(Math.random..

React 2021.10.02

[React] 리액트를 왜 사용하는가

리액트의 변화 리액트 초기에는 React.createClass를 이용했었는데, 후에 Class가 도입되었고 2018년 10월에 Hooks가 새롭게 도입되어 현재를 이를 주로 쓴다. 리액트를 왜 사용하는가 1. 사용자 경험이 좋다 일반적으로 웹보다는 앱이 사용자 경험(UX)이 더 좋다. 앱과 같은 경험을 웹에서 구현하기 위해 SPA(Single Page Application)을 이용하는데, 리액트는 이 SPA를 실현할 수 있으므로 전통적인 웹페이지보다 사용자 경험 면에서 더 낫다. 2. 컴포넌트의 재사용이 가능하다 웹페이지를 보면 단일 페이지 안에서도 겹치는 부분(컴포넌트)이 있다. 리액트를 이용하면 컴포넌트를 재사용하기 쉽고, 유지/보수에도 용이하다. 3. 데이터와 화면의 연동이 좋다 웹 앱을 만들 때 ..

React 2021.10.02

[React] 리액트의 불변성 (스프레드 연산자 이용하여 불변성 지키기)

리액트의 불변성 리액트에서는 state 값을 변경할 때 불변성을 지켜야 한다. 불변성이란 어떤 값을 직접 변경하면 안 된다는 의미로, 변경하는 대신 복사 등의 방법을 통해 새로운 값을 만들어야 한다. 스프레드 연산자를 이용하여 불변성 지키기 리액트 사용시 불변성을 지키기 위한 방법으로, 스프레드 연산자(spread operator)를 이용하여 객체를 얕은 복사(shallow copy)하는 방법이 있다. 스프레드 연산자는 '...' 로 표기하며 다음과 같이 사용한다. const a = { a1: 1, a2: 2 }; const b = a; a === b; // true const c = { ...a }; a === c; // false const b = a 는 대입연산자를 이용한 것으로, a === b 에..

React 2021.09.30

REST API란? (GET, POST, PUT, DELETE)

REST API란? REST API 또는 RESTful API는 REST 특징을 지키면서 API(애플리케이션 프로그래밍 인터페이스)를 제공하는 것을 뜻하며, HTTP 프로토콜의 장점을 살릴 수 있는 네트워크 기반의 아키텍처이다. REST란? REST는 REpresentational State Transfer의 약자로, HTTP 프로토콜에 있는 Method를 활용한 아키텍처 스타일이다. HTTP Method를 통해서 Resource를 처리하며, CRUD를 통한 resource 조작을 할 때 사용한다. REST의 특징은 아래와 같다. Uniform Interface Client-Server Stateless Cacheable Layered System Code on Demand(optional) HTTP M..

etc 2021.09.27

[Java] spring과 spring boot의 차이는 무엇일까?

[Java] spring과 spring boot의 차이는 무엇일까? spring은 자바 엔터프라이즈 개발을 편하게 해주는 오픈소스 프레임워크이다. 여기서 엔터프라이즈 애플리케이션이란, 대규모 데이터 처리나 트랜잭션을 처리하는 기업용 애플리케이션을 의미한다. 하지만 옛날에는 여러 가지 라이브러리를 설정하면서 작업해야했기 때문에, 이 과정에서 버전 충돌 등 여러 에러가 있었고, 자바는 생산성이 떨어진다는 말도 흔했다. spring 자체도 당시에는 개발자가 개발에만 집중할 수 있도록 설계된 것이었지만, spring boot는 개발자가 더욱 개발에만 집중할 수 있도록 설계된 프레임워크이다. spring boot는 spring 프로젝트를 개발하면서 기본적으로 설정해야하는 라이브러리들을 미리 내장하고 있거나 간편하..

Java 2021.09.07

[GIT] 깃, 이전 버전으로 되돌리는 방법 (reset과 revert 차이)

[GIT] 깃, 이전 버전으로 되돌리는 방법 (reset과 revert 차이) 코드를 이것저것 수정한 후 커밋을 하였는데 이전 버전으로 되돌리고 싶다면 어떻게 해야할까? 대표적인 방법은 reset를 이용하거나 revert를 이용하는 두 가지 방법이 있다. 하나씩 알아보자. 1. reset 아직 원격 저장소에 push하기 전이라면 reset을 사용할 수 있다. 없애고 싶은 커밋이 있을 때, reset을 이용하면 해당 커밋을 흔적도 없이 지울 수 있다. 문법은 아래와 같다. $ git reset --옵션 커밋해시 옵션으로는 hard, soft, mixed 등이 있고, 커밋해시에는 돌아가고 싶은 커밋의 해시 주소를 입력하면 된다. 옵션에 대해 간략하게 살펴보자. 1) hard 돌아가려는 커밋 이후의 모든 내용..

GIT 2021.09.07

[React] 리액트 프로젝트를 깃허브에 배포하는 방법 (GitHub Pages)

[React] 리액트 프로젝트를 깃허브에 배포하는 방법 (GitHub Pages) create-react-app을 이용해 리액트 프로젝트를 제작하였다면 이제 이 프로젝트를 배포하여 다른 사람에게도 알려보자. 오늘 알려주는 방법은 별도의 서버 없이 GitHub Pages를 이용하여 리액트 앱을 배포하는 방법이다. 이를 따라하기 위해서는 깃허브 계정만 있으면 되며 별도의 비용은 들지 않는다. 1. 깃허브에 로그인한 뒤 repository를 하나 생성한다. 나의 경우 리액트를 이용해 영단어 애플리케이션을 미리 만들어 놨으므로 리파지토리명을 voca_app으로 지었다. 2. 깃을 이용해 깃허브에 리액트 프로젝트 파일들을 올린다. 깃허브에서는 repository를 하나 만들면 친절하게도 파일을 어떻게 올리는지 알..

React 2021.09.05
반응형