목록분류 전체보기 (211)
And Brain said,
이 에러는 고정 IP를 할당한 서버에 DNS 값을 설정하지 않을 때 나는 에러다. 아마 당신이 우분투 GUI를 써서 고정 IP를 할당했다면 이 화면을 알 것이다. DNS 값을 제대로 적었는지, 혹은 빼먹었는지 확인해보자.
쿼럼(Quorum)은 정족수라는 뜻으로, 합의체가 의사를 진행하고 결정하는 데에 필요한 최소한의 출석 인원을 뜻한다. 이는 IT에서도 쓰이는 용어인데, 갑자기 Quorum에 대해 설명하는 이유는 조만간 Cluster에 대해 설명할 것이기에 간단히 알아보도록 하자. 클러스터(Cluster)는 다수의 노드(Node)로 구성되어 하나의 논리적 시스템으로 동작하는 집합체다. 클러스터 내에서는 하나 이상의 역할을 수행하는 각 노드들이 통신을 하는데, 이때 노드 간의 통신을 유지하기 위해 필요한 최소한의 노드 수를 쿼럼(Quorum)이라 부른다. 이때 쿼럼이 충족되지 않는다면 클러스터 전체가 다운될 수 있다. 즉, 쿼럼은 클러스터 시스템 내 노드 간의 통신을 검증하고 문제가 발생한 노드를 탐지하고 처리하는 일련의 ..
오늘은 현재 안드로이드의 공식 언어이자 태생부터 진화된 자바를 표방한 언어, Kotlin에 대해 알아보고 Kotlin으로 구축하는 간단한 Spring boot 예제까지 배워보도록 하자. 최신 언어가 기존의 언어를 대체하기란 정말로 쉽지 않다. 대부분의 사람들은 익숙한 것을 좋아하고 또한 기존 코드가 너무 방대하면 손을 댈 엄두를 못 내게 된다. 특히, 자바와 같이 높은 완성도의 언어라면 특별한 이유가 있지 않는 한 대체할 이유를 느끼지 못하게 된다. 구글도 오라클과 소송만 아니었다면 자바를 계속 썼을 것이다. 선결 이유가 어떻든 Kotlin은 안드로이드의 공식 언어로 채택되었고 사람들에게 자신의 존재감을 드러냈다. Kotlin은 이러한 전략을 사용했다. 기존 언어와 호환 앞서 기존 언어를 대체하려 했던 ..
오늘은 간단하게 Publish Over SSH 플러그인을 이용하여 원격 서버에 배포를 해보겠다. 일단 환경은 이렇다. Jenkins가 존재하는 서버가 있고 Laravel 서비스가 존재하는 서버가 따로 있다. 그리하여 Jenkins로 Laravel 서버에 SSH 통신을 이용하여 자동 빌드 및 배포를 할 수 있도록 설계할 것이다. 바로 시작하자. 먼저 Jenkins에 Publish Over SSH 플러그인을 설치하도록 하자. 설치 이후 Dashboard -> Jenkins -> Configure System으로 가면 아래에 Publish over SSH가 존재할 것이다. 그러면 그 밑에 있는 SSH Server에 Name은 원하는 이름을 적고 Hostname으로 IP혹은 도메인을 적어준다. Username에..
프로그래밍에서 변하지 않는 것을 찾기란 쉽지 않다. 그런데 도대체 변하지 않는 것들은 왜 필요한 걸까? Redux에서는 변하지 않는 상태 객체를 저장함으로써 시간을 달려 과거로 갈 수 있다. 이는 아래에서 다시 설명하도록 하겠다. 자, 오늘은 이 불변성의 목적과 이점에 대해 얘기하고자 한다. 먼저, 불변성에 대해 알아보자. 불변성이란, 변하지 않는 성질이다. 이게 끝이다. 프로그래밍적으로 좀 더 자세히 말하자면, 변수 영역의 값은 변하지 않고 값을 재할당할 시에 참조하던 메모리 주소값만 변경시키는 것이 불변성을 가진 변수다. 이제 Java의 String에 대해 살펴보자. Java의 String은 불변하는 참조타입이다. String 객체는 따로 String constant pool에서 관리하는데 이는 He..