본문 바로가기

STUDY

[2019.06.20] Process Process? instruction들의 순차적인 실행이다. 누가 process를 생성하는가? 사람 -> GUI command, process -> demon process - Two_state Process Model 프로세스로 들어오면 (Enter) Queue에 Not running 상태의 프로세스가 쌓이고 dispatch 되면 Running 상태가 되며 processor로 올라간다. 여기서 Time out(Time sharing)이 걸리면 Enter로 돌아가 다시 Queue에 쌓인다. - Five_state Process Model 1. 프로세스로 들어오면 (Enter) New 상태가 된다. 메모리에 프로세스가 올라가는 상태여서 메모리에 공간이 있다면 이 상태를 거치는 시간이 짧지만 없다면 디스크에.. 더보기
[2019.06.19] Operating System '컴퓨터를 부팅한다'는 것은 '운영체제(Operatng System)를 불러오는 중'이라는 말과 같다. 운영체제(Operating System)이란 응용 프로그램들의 실행을 제어하는 software이다. 응용 프로그램들과 hardware 사이의 interface이다. 응용 프로그램에서 OS를 통해 hardware에 접근하고 이러한 응용프로그램을 짤 때 OS는 효율성, 편리성 두 가지의 목적을 둔다. OS에 의해 제공되는 서비스(hardware -> software)에는 프로그램 실행, 컴퓨터 자원에 접근, error 탐지 및 반응, accounting(ex. 작어관리자가 accounting을 이용한 응용 프로그램이다.)이 있다. Application -> Libaray -> OS -> Hardware 컴.. 더보기
[Docker] 도커로 influxDB+Grafana 설치하기 이젠 도커도 쓸 줄 알아야 한다. 왜냐면 많이 쓰니까. 많이들 요구하고 사용하면 필수가 되는거다. 흑흑. 서버를 할당 받았는데 influxDB를 설치할거야! 공식 홈페이지에서는 apt-get으로 설치하네~하고 sudo apt-get install 하는 순간 당연히 관리자 권한에서 막히고 관리자에게 물어보면 돌아오는 대답은 Docker 이미지 파일 받아 설치하심이 어떠신지..이다. 우선 내가 사용한 서버의 환경은 Ubuntu 18.04 LTS 운영체제이고 Docker가 미리 설치되어 있었다. 그래서 사실상 서버 OS 환경을 적는건 무의미 하지만..ㅎㅎ influxDB와 Grafana 설치를 위해서는 jjeaby/influxfana 이미지를 받았다. https://hub.docker.com/r/jjeaby/.. 더보기
[influxDB] How to write more fields in influxDB with HTTP API When I saw the influxDB with HTTP API reference(https://docs.influxdata.com/influxdb/v1.7/tools/api/), I could see the examples that only one field is inserted to influxDB. I wanted to insert one more fields with HTTP API.For examples, suppose you create a database named 'mydb' and you want to insert one tag named 'host' and two fields ('a', 'b') in table named 'test'. In this case, you can do i.. 더보기
우분투에서 php 파일 실행이 안된다! 내가 해결한 방법을 작성하기 전에 나의 환경은 아래와 같다.Ubuntu : 16.04 (라즈비안)아파치 버전 : Apache/2.4.25 (라즈비안)php 버전 : 7.0.30 php 설치 후 php가 정상적으로 작동 되는지 확인을 해보았다. root 디렉토리의 /var/www/html 에서 작성하지 않고 유저별로 생성해준 public_html 폴더 안에서 iinfo.php 파일을 생성해주어서 확인을 했다.info.php 파일의 내용은 그냥 '' 이다. 하지만 브라우저에서 접속 했을 때 익숙한 그 표가 뜨지 않고 php 코드가 그대로 출력되었다.그래서 구글에 검색하여 /etc/apache2/mime.conf 파일에 AddType appliction/x-httpd 어쩌구~~도 추가해보았지만 오히려 브라우저.. 더보기
[ATOM] 아톰 SSH 연결하기 우선 ATOM을 실행하고 File -> Setting으로 들어간다.그리고 Install을 눌러 'Remote-FTP'를 검색하고 제일 상단에 있는 패키지를 Install한다.설치하고 나면 사진과 같이 저렇게 뜬다.설치가 완료되었으면 Packages -> Remote-FTP -> Create FTP config file or Create SFTP config file빨간 색으로 밑줄 친 부분을 각자 환경에 맞게 수정하면 된다. 더보기
라즈베리파이, 집에 놓고 다닐래!(외부 ip에서 내부 ip 접속하기) 무선랜카드가 없어서 라즈베리파이를 가지고 놀 수 있는 환경이 집밖에 안되었던 나는 외부 IP에서도 내부 IP로 접속할 수 있다는 것을 알았다. 우선 내 공유기가 쓰고있는 공인 IP 주소를 알아야 외부에서도 사용할 수 있다. (환경은 ipTIME 사의 공유기이다.)내 공유기 설정창으로 접속하면 세가지 메뉴가 뜨는데 관리도구로 들어간다.(192.168.0.1) 여기서 외부 IP 주소를 통해 공인 IP 주소를 확인할 수 있다.그런데 간혹 외부 IP 주소도 사설 IP가 뜰 수 있다. (사설 IP는 10.~, 172.~, 192.~으로 시작) 이러면 사실상 불가능하다고 생각하면 된다.공인 IP가 떴다면 고급 설정→네트워크 관리→내부 네트워크 정보에서 나의 라즈베리파이 IP를 확인해보자.보면 IP주소를 자동할당 받.. 더보기
[LinkedList] C로 짜는 LinkedLIst (algospot HELLOWORLD) 다양한 알고리즘 문제가 있는 algospot의 HELLOWORLD문제(https://algospot.com/judge/problem/read/HELLOWORLD)를 풀기위해 C언어에서 Linked list를 구현해 보았다.우선 Linked list란 말 그대로 연결된 리스트로 말보단 그림으로 보는게 더 직관적으로 이해될 것이다. 보통 한 노드에는 원하는 자료형으로 선언된 데이터와 다음 노드를 가리키는 노드로 구성되어있다. 그리고 제일 앞의 노드를 가리키는 head란 노드도 선언해준다. 이런식으로 새로운 값을 추가할 때 노드끼리 연결만 지어준다면 크기 배열과는 달리 비교적 제한없이 생성할 수 있다. algospot의 문제를 보면 이름들을 입력받고 Hello, 이름!으로 출력해주는데 list에 입력받은 이름.. 더보기
소켓으로 에코 프로그램, 1:1 채팅 프로그램 짜기 소켓(socket)이 무엇인지 알기위해선 TCP/IP가 무엇인지 알아야한다. (http://chojpsh1.tistory.com/84 참조) 왜냐하면 소켓은 TCP/IP로 통신하는 네트워크 내에서 행해지는 통신 장치(방법)이기 때문이다. IP 주소와 포트번호로 생성되는 네트워크 어드레스를 통해 클라이언트 프로그램과 서버 프로그램이 통신되도록 하는 아이가 소켓이다.클라이언트와 서버 간의 소켓을 통해 어떻게 통신이 이뤄지는지 그림으로 보는게 훨씬 이해하기 쉽다.이를 통해 두가지 프로그램을 짜보았다. 우선 그림에 데이터 전송부분에 클라이언트와 서버 양방향 통신과는 달리 서버 측에서 일방적으로 입력한 문장을 클라이언트 측에 프린트 해주는 에코프로그램과 클라이언트와 서버 동시 전송은 안되지만 한 문장씩 주고받을 .. 더보기
[2014 CODEGATE] weird shark 문제의 pcap파일을 와이어샤크로 열면 에러가 뜬다.블럭의 길이에 문제가 있어서 열리지 않는거 같다. 일단 직역해보자면 EPB의 전체 블럭길이는 96인데 4270407998 바이트인 패킷에 비하면 너무 작아서 문제가 있다는 것 같다. 그렇다면 일단 EPB가 무엇인지 알아보자.EPB란 Enhanced Packet Block으로 PCAP 구조와 같이 패킷 데이터를 저장하는 블럭이라고 한다. http://www.packetinside.com/2013/08/pcap-ng.html여기로 가면 EPB뿐만 아니라 다른 블록에 대한 설명들도 자세히 되어있으니 보면 좋을 것 같다. 일단 저 길이들을 어떻게 조절해주나 무슨 툴을 써야하는지 조차 몰라 헤맸는데 이 전에 쉬운 패킷 문제를 풀었었는데 hex로 정보가 뜨니까 헥.. 더보기