전체 글

사람 사는 이야기
react와 JavaSpringBoot 연동하기

[React] useState가 const 변수 값을 바꿀수 있는 이유

해당 글은 useState가 어떤 식으로 함수형 컴포넌트에서 동작하는지를 대략적으로 그림으로 시각화하여 소개합니다. 전역 변수로 선언된 cnt는 웹 페이지의 렌더링 횟수를 알려주는 것이며 버튼을 클릭했을 때 if (num == 1)이 언제 동작하는지를 예상해봅시다. 제가 작성한 코드에서 cnt는 렌더링의 횟수를 알기 위해서 선언했습니다. 위 그림에서는 처음 시작했을 때의 값이 0과 1이 console에 찍혀있으며, 버튼을 클릭할 때마다 [2, 3] -> [4, 5]가 찍혀있습니다. 이 말은 곧 렌더링이 한번에 총 2번 실행된다는 것이며 이는 React.StrictMode의 설정으로 인해 발생되는 것 이며 npx create-react-app 으로 생성하면 자동 설정이 되있습니다. StrictMode는 애..

Java

[Java] 상속과 생성자

extends 키워드를 사용해서 상속을 받은 클래스인 하위 클래스가 호출 될때 상위 클래스가 호출된다. 아래 그림은 예시이다. Calculator SubstractionableCalculator CalculatorDemo1 위 코드는 에러를 냅니다. 하위 클래스인 SubstractionableCalculator는 생성자가 호출될 때, 상위 클래스인 Calculator의 생성자를 호출합니다. 상위 클래스인 Calculator의 생성자는 매개변수를 필요로 하고 있으며, 하위 클래스는 매개 변수를 갖는 생성자를 따로 호출하지 않습니다. 그렇기 때문에 매개변수가 없는 Calculator 생성자를 따로 만들어 줘야 합니다. 또 다른 방법으로 이를 해결할 수 있는데 super 키워드를 사용하는 것 입니다. supe..

Java

[Java] method와 static

객체지향 프로그래밍에서 중요한 메소드에 대해서 알아보려고 합니다. 메소드란 코드를 재사용할 수 있도록 합니다. 위 그림은 methodClass 클래스 안에 main이라는 method를 정의하고 있습니다. 위 그림은 0부터 num 인자값까지 출력하는 printNum 메소드를 정의하고 main 메소드에서 printNum 메소드에 인자 값을 넣어 호출하는 코드입니다. 여기서 의문이 드실텐데 "main 메소드를 호출하는 것은 어디인가?"라고 생각합니다. main 메소드를 호출이 되어야지 정상적으로 프로그램이 작동될 것인데 이것은 사실 main 메소드는 자바가 실행하는 것입니다. 즉, printNum 메소드는 우리가 작성한 main 메소드가 실행하는 것이며 main 메소드는 자바가 실행합니다. 위 캡처의 메소드에..

분산시스템

버츄얼박스, Visual Studio SSH 설치(4)

Visual Studio extension에서 다운로드 받을 수 있습니다. 다운을 받으면 좌측 하단에 동그라미 표시를 눌러봅니다. SSH 옆에 톱니바퀴 버튼을 누릅니다. 톱니바퀴 버튼을 누르시면 해당 그림처럼 화면이 나올텐데, 제일 첫번째꺼를 누르세요. 버츄얼 박스의 마스터 노드와 슬레이브 노드를 양식에 맞게 작성해주시면 됩니다. 노드들의 설정이 완료되었으면 좌측 하단을 누르시면 아래와 같은 그림이 나오는데 Connect to Host를 누르고 원격으로 접속할 노드를 선택한 뒤, 버츄얼 박스의 가상머신에 접속했던 비밀번호를 입력하시면 끝입니다.

분산시스템

버츄얼 박스 hadoop 설치(3), 포트 포워딩

도구에 들어가서 NatNetwork을 만들고(글쓴이는 이미 만들어둔 것이 있어서 NatNetwork1으로 사용) General Options에서 IPv4 Prefix를 그림과 같이 수정합니다. 포트 포워딩입니다. 게스트 IP를 맞춰야하므로 master1과 slave1~3 가상머신을 실행시켜 sudo vi cd /etc/netplan/00-installer-config.yaml을 vi로 열어 address주소를 맞춰주세요 마스터와 모든 슬레이브에 sudo netplan apply를 적용합니다. 다음으로 설정 버튼을 누른 다음 네트워크로 들어가 NAT 네트워크로 연결하고 아까 전에 포트포워딩한 NatNetwork1을 지정합니다. 이 과정을 master1만이 아닌 slave1~3의 설정도 똑같이 바꿔줍니다. ..

분산시스템

버츄얼 박스 hadoop 설치(2)

sudo apt net-tools로 net-tools를 설치합니다. ifconfig를 입력합니다 여기서 ifconfig는 “interface configuration”의 약자로 리눅스의 네트워크 관리를 위한 인터페이스 구성 유틸리티입니다 dhcp4 : IPv4 dhcp 설정 dhcp6 : IPv6 dhcp 설정 addresses : ,로 구분한 IP 멀티로 가능 gateway4 : IPv4 gateway 설정 sudo netplan apply로 작성한 것을 적용하고 sudo reboot을 입력하여 재실행합니다. 잘 적용된 것을 볼 수 있습니다. master1을 종료하고 VM virtual box에서 복제 버튼을 누릅니다. 복제로 slave1, slave2, slave3를 만들 것입니다. 다음 버튼을 눌러..

simun
memorize