Life 85

MSB, LSB

Endianness(Byte Order) Big-endian : 사람이 쓰는 방식 큰 자리 숫자가 메모리 앞에 위치. MSB(Most Significant Byte). 계산 편리 Little-endian : 작은 자리 숫자가 메모리 앞에 위치. LSB(Least Significant Byte). 하위 바이트만 사용할 때 별도의 계산 필요 없음 컴퓨터가 처리하는 데이터는 2진수 16진수 1자리(16개의 숫자)=2진수 4자리(2개의 숫자*4) -> 1byte=8bit=16진수 숫자 2개 표현가능 10진수 1자리=2진수 4자리(6개 낭비)

OS 2020.10.09

DAO, DTO

DAO(Data Access Object) : 실제로 DB에 접근하는 객체이다.(Persistence Layer(DB에 data를 CRUD하는 계층)이다.) DTO(Data Transfer Object) : 계층 간 데이터를 얻어 Service나 Controller 등으로 보낼 때 사용하는 객체이다. DB의 데이터가 Presentation Logic Tier로 넘어오게 될 때는 DTO의 모습으로 바뀌게 된다. 로직을 갖고 있지 않는 순수한 데이터 객체이며 getter/setter 메소드만을 갖는다. 하지만 DB에서 받아온 값을 임의로 변경할 필요가 없기 때문에 DTO 클래스에는 setter가 없다.(대신 생성자에서 값을 할당한다.) cf. Entity Class : 실제 DB의 테이블과 매칭될 클래스 참..

개발 지식 2020.10.05

–allow-unrelated-histories 옵션

local의 동일한 브랜치에서 git pull 시 remote의 master 브랜치를 pull 해오다가 remote의 다른 브랜치를 pull 해오는 경우에 [rejected] master -> master (non-fast-forward)라는 에러가 뜬다. 이는 local의 저장소와 remote의 저장소간에 공통분모가 없는 상황에서 병합을 진행하려고 하기 때문에 생기는 에러이다. 따라서 이 때는 git pull origin master --allow-unrelated-histories 옵션을 사용해주면 된다.(git pull origin {remotebranchname}:{localbranchname} --allow-unrelated-histories도 되는지 확인해보기)

Git 2020.09.29

Interent과 Web의 차이점

인터넷은 컴퓨터(노드)가 서로 연결되어 통신을 주고받는 컴퓨터(노드)끼리의 네트워크를 말한다. 통신 프로토콜인 TCP/IP를 이용해 정보를 주고받는다. 웹은 그 인터넷 상에 정보가 얽혀있는 무형의 정보 네트워크를 말한다. 인터넷에선 웹 뿐만이 아니라 전자 메일과 같은 다른 서비스가 있다. 하지만 인터넷의 활용도에 있어 웹이 차지하는 비중이 커서 두 단어를 혼동하여 사용하는 것이다. 참고 https://seunghyun90.tistory.com/40

OS 2020.09.26

REST란?

REST(Representational State Transfer) : 자원을 이름으로 구하여 해당 자원의 상태를 주고 받는 모든 것을 의미한다. 자원(resource)의 표현(representation)에 의한 상태 전달 자원 : 해당 소프트웨어가 관리하는 모든 것(문서, 그림, 데이터, 해당 소프트웨어 자체 상태(정보) 전달 : 데이터가 요청되어지는 시점에서 자원의 상태(정보)를 전달한다. JSON, XML을 통해 데이터를 주고 받는 것이 일반적이다. REST는 기본적으로 웹의 기존 기술과 HTTP 프로토콜을 그대로 활용하기 때문에 웹의 장점을 최대한 활용할 수 있는 아키텍처 스타일이다. REST는 네트워크 상에서 Client와 Server 사이의 통신 방식 중 하나이다. REST 구체적인 개념 : ..

개발 지식 2020.09.26

2-way merge and 3-way merge

2-way merge : 마스터 브랜치를 베이스로 새로운 브랜치를 따서 작업한 뒤 커밋을 진행한 후 두 브랜치를 병합하고 싶을 때 충돌이 나지 않는다면 빨리감기(fast-forward)를 하는 병합 방법이다. 단순히 마스터 브랜치가 가리키고 있는 커밋을 앞으로 이동하는 것이다. 3-way merge : 베이스가 되는 커밋이 마스터가 가리키고 있는 커밋이 아닌 경우이다. 이런 경우 최적의 공통 조상을 찾아서 병합을 해야한다. 이 경우 빨리감기(fast-forward) 방식에서는 생기지 않는 새로운 커밋이 생긴다.

Git 2020.09.26

디자인 패턴

MVC(Model + View + Controller) Model : 애플리케이션에서 사용되는 데이터와 그 데이터를 처리하는 부분 View : 사용자에게 보여지는 UI 부분 Controller : 사용자의 입력(Action)을 받고 처리하는 부분 동작 순서 : 사용자의 Action들은 Controller에 들어오고 Controller는 사용자의 Action을 확인하고 Model을 업데이트 한다. 또한 Controller는 Model을 나타내줄 View를 선택한다. View는 모델을 이용하여 화면을 나타낸다. 특징 : Controller는 여러개의 View를 선택할 수 있는 1:n 구조이다. Controller는 View를 선택할 뿐 직접 업데이트하지 않는다.(View는 Controller를 알지 못한다...

개발 지식 2020.09.26