ufw를 설치하려는데 JAVA Runtime을 찾을 수 없다는 에러가 등장했다.sudo apt install ufw The operation couldn’t be completed. Unable to locate a Java Runtime.Please visit http://www.java.com for information on installing Java. 자바 설치 확인 방법java --version java version 명령어로는 확인java --versionopenjdk 21.0.1 2023-10-17OpenJDK Runtime Environment (build 21.0.1+12-29)OpenJDK 64-Bi..
가상환경 (Virtual environment)같은 시스템에서 실행되는 다른 파이썬 응용 프로그램들의 동작에 영향을 주지 않기 위해, 파이썬 배포 패키지들을 설치하거나 업그레이드하는 것을 가능하게 하는 격리된 실행 환경. 각 프로젝트마다 가상환경을 만들고, 그 안에 필요한 패키지를 설치해주면, 필요한 버전이 다르거나 두 패키지가 충돌을 일으키는 등의 문제 없이 관리를 할 수 있다. 가상환경은 기본적으로 Python 에서 제공하는 도구(ex)'venv') 를 이용하여 생성하나, 다른 플랫폼에서도 유사한 개념을 가진 도구를 제공한다. Node.js의 npm과 yarn 이나 Java의 Gradle 과 같이 의존성을 관리하는 이들의 역할이다. 가상환경과 의존성 관리 도구의 차이점가상환경 : python의 가상..
웹 페이지는 어떻게 변하는가 ? 새로고침을 한다는 것은 새로운 요청을 보낸다는 뜻인데, 요청없이 응답이 오는 경우가 있다. 온라인 체스 게임에 임할 때, 우리는 새로고침을 하지 않아도 상대가 말을 움직이는 것을 볼 수 있다. 하지만 http 프로토콜에서는 요청이 있어야 응답을 보낼 수 있다. 전통적인 http 프로토콜에서, 클라이언트에서 응답이 없는데 서버에서 요청을 보낼 수 있을까? 그것은 불가능하다. 전통적인 http 통신서버와 유저가 데이터를 주고받는 방법에는 여러가지가 있다 (ex) http 요청) 유저가 http 요청을 날리면, 서버가 데이터를 보내주는 식으로 구현이 된다. http 요청을 쉽게 비유하자면 문자메세지와 비슷하다. 서버가 문자를 확인하면 답장으로 데이터를 보낸다. 고유한 특징이 ..
컴퓨터를 이루는 요소 2가지는 H/W와 S/W고 S/W는 다시 Kernel과 Application으로 나뉩니다. 모든 것이 여기서 시작됩니다.printf() 와 같은 API 의 역할도 더 깊이 생각해봅니다.https://youtu.be/M9ZrQX1UgAU?si=Wzjak3XNqVsNm3lO 현재의 모든 운영체제는 멀티프로세싱 시스템. 즉 멀티태스킹. 그렇기 때문에 한 컴퓨터에서 프로레스 여러 개가 작동하는데, 이것을 잘 관리하는 것이 운영체제의 역할이며, 나쁜 일을 안 당하도록 하는 것도 운영체제의 몫. Interrupt운영체제를 이해하기 위해 하드웨어 부분에 대한 이해가 먼저 필요하다. 띵동~ , 나라는 사람이 CUP 라고 하면, 나를 방해하는 요소가 인터럽트.컴퓨터라고 하는 기계(CPU) 가 있..
Process컴퓨터로 게임을 하는 과정을 생각해보자. 게임으로 접속 (로그인) 하면 아바타 , 캐릭터 등이 나를 대신해 활동한다. 그렇다면 컴퓨터를 실행할 때도 나를 대신한 무언가가 존재하지 않을까? 우리는 그것을 Process라고 한다. 키보드, 마우스로 조작하는 대상은 기본적으로 process다. 우리가 캐릭터를 움직인다고 해서 게임의 월드의 날씨나 정책이 바뀌지 않듯이, 컴퓨터를 키보드, 마우스를 이용해 process를 통제한다고 한들, 컴퓨터 내부 기본 정책은 바뀌지 않는다. 컴퓨터 3대 구성 요소User : Daemon(리눅스), Service (윈도우) 등의 시스템 프로세스 | 캐릭터, 공무원 역할Kernel (SW): 관리, 제어 | 게임 월드, 국가 의 역할H/W : CPU + RAM..