전체 글 49

Ubuntu 18.04 설치 후 세팅하기

목차 - 소프트웨어 다운로드 서버 변경 - build-essential 설치 - 드라이버 설치 및 배터리 최적화 - 언어 키보드 설치 - 테마 및 유틸리티 설치 우분투 부팅 노트북 부팅 오류 해결법 (화면이 까맣게 안 켜질 때, MSI노트북, 그래픽카드 有): 부팅화면 GRUB - Ubuntu 선택 (엔터는 누르지 말고 하이라이팅된대로 놔두기) `e` 눌러서 옵션 설정 창 열기 linux로 시작하는 줄 찾아서 맨 뒤에 modprobe.blacklist = nouveau 추가 소프트웨어 다운로드 서버 변경 우분투 서버가 잘 멈춘다. 카카오미러로 바꿔주자. window+S로 검색, software & updates Ubuntu Software탭에서 Download from ... Other 선택 다운로드 서..

Study/linux 2019.09.26

도커로 아파치 웹 서버 구축하기

도커에서 아파치 컨테이너로 웹 서버를 실행해보자. dockerfile을 작성하는 방법과, 작성하지 않는 방법이 있다. 이 포스팅에서는 작성하지 않는 방법으로 실행해본다. 이미지를 다운받아서 실행하면 된다. 간-단! 목차: 1. 아파치 이미지 다운받기 2. 컨테이너 실행하기 3. 서버 실행 확인하기 4. 기타 팁 1. 아파치 이미지 다운받기 1 $ docker pull httpd:latest cs pull명령어로 이미지를 다운받는다. 공식 아파치가 httpd고, 혹시 다른 아파치를 받고싶다면 `$ docker search apache`로 검색해보자. 2.아파치 컨테이너 실행하기 · 기본적인 옵션만 주고 아파치를 실행하는 방법: 1 $ docker run -d --name apache -p 8080:80 h..

Study/linux 2019.09.23

Apache 웹서버 실행하기

https://opentutorials.org/course/2598/14446 웹서버 (아파치) - 생활코딩 수업소개 이번 수업에서는 서버의 구체적인 사례로서 웹서버 그 중에서 아파치 웹서버를 설치하고 운영하는 방법에 대해서 알아봅니다. 수업 강의 1 강의 2 강의 3 강의 4 opentutorials.org ip주소 알아내는 방법 2가지: 1. ifconfig 2. ip addr 아파치 실행하기: apt-get apache2 service apache2 start service apache2 stop 아파치 실행되는 중인지 확인하기: 1. 웹브라우저에서 ip주소 입력해서 들어가기 2. 웹브라우저에서 localhost 입력해서 들어가기 3. 웹브라우저에서 127.0.0.1 입력해서 들어가기 실행중인 프로..

Study/linux 2019.09.21

리눅스 터미널에서 쓸만한 프로그램들

설치방법: sudo apt-get install 실행방법: 1. htop top보다 훨씬 직관적인 UI를 제공한다. cpu사용량, 러닝중인 프로세스 검색, 메모리 사용량 모두 다 보기 좋게 해준다!! 2. elinks 터미널에서 웹 브라우징을 할 수 있다.ㅋㅋㅋㅋ 3. nautilus [디렉토리] 디렉토리를 gui로 열고 싶을 때 쓴다. ls에서 벗어나자! nautilus . //현재 위치 열기 nautilus / //루트 폴더 열기

Study/linux 2019.09.21

쿠버네티스와 도커의 차이

💡 도커와 쿠버네티스 예시 : 컨테이너 하나 띄워서 사용해야지 => 도커를 쓰자 0월 0시에 100개의 컨테이너를 자동으로 생성해야지 => 쿠버네티스를 쓰면 된다. 쿠버네티스란? 여러 컨테이너를 관리/예약하는 도구 도커란? 여러 컨테이너를 관리/예약하는 플랫폼 그런데 둘이 뭐가 다를까? 간단히 얘기해서 도커는 '기술적인 개념이자 도구'이고 쿠버네티스는 '도커를 관리하는 툴'이라고 생각하면 된다. 이미지를 컨테이너에 띄우고 실행하는 기술이 도커고 이런 도커를 기반으로 컨테이너를 관리하는 서비스가 쿠버네티스라고 생각하면 된다. 도커는 '한 개의 컨테이너'를 관리하는 데 최적, 쿠버네티스는 '여러 개의 컨테이너'를 서비스 단위로 관리하는 데 최적화되어있다. 도커 도커는 '컨테이너 기반의 오픈소스 가상화 플랫폼..

Study/linux 2019.09.18

[오류] 클래스 템플릿 "std::array"에 대한 인수가 너무 적습니다

클래스 템플릿 "std::array"에 대한 인수가 너무 적습니다 오류 1. 오류 설명과 원인 CLR 프로젝트에서 다른 프로젝트의 클래스를 include하여 쓸 때 종종 나는 오류다. String^>^에 빨간 줄이 쳐지며 인수가 너무 적다고 한다. 원인은 #include한 .h파일에서 using namespace를 쓰고 있기 때문이다. 아래 사진에선 controller가 쓰고있었다. 2. 해결 방법 해결 방법은 두 가지다. 문제있는 .h파일에서 using namespace std를 빼기 void main(array^ args)에서 안의 파라미터를 다 삭제해버리기 → void main()으로 이용 어떤 방법을 써도 잘 돌아간다. namespace std를 많이 해 놨다면 그냥 2번 방법을 쓰자. 잘 돌아가..

Study/C,C++ 2019.06.26

7. 구조체

구조체구조체: 여러 개의 데이터를 그룹으로 묶어서 하나의 자료형으로 정의하고 사용하는 자료형. 서로 다른 타입끼리 묶을 수 있다.구조체의 구조레코드(Record): 구조체의 단위 형식필드(Field): 레코드를 구성하는 하위 항목파일(File): 레코드의 묶음. 하나의 구조체 통째.표를 예로 들어보면, 표 하나 통째는 파일, 표 한 줄은 레코드, 표 한 칸은 필드가 된다. 구조체의 선언 & 초기화 struct 구조체이름 { 타입 이름1; 타입 이름2; ... 타입 이름n; };이건 구조체를 선언만 한 것이고, 사용하려면 구조체 변수를 또 다시 선언해야 한다. struct 구조체이름 구조체변수이름;이렇게 변수 이름을 선언해주어야 비로소 사용할 수 있게 된다. * 구조체의 선언과 구조체 변수 이름의 선언을 ..

Study/C,C++ 2018.07.22

6. 포인터

포인터포인터: 주소값을 저장하는 변수. 포인터 자체도 하나의 변수 종류다! (포인터변수)포인터 선언int *ptr; 포인터 초기화방법1: 변수 주소 대입 int val = 10; int *ptr; ptr = &val;방법2: malloc이용. 동적 메모리 할당. 꼭 free 해주어야 한다! char *ptr = (char*)malloc(100); // char형 공간 100개의 시작주소를 ptr에 지정 *ptr = 'a'; //ptr이 만들어진 빈 공간에 a 넣음. ​ ​ int age = 20; int *agePtr = malloc(sizeof(age)); //age의 크기만큼 할당. agePtr이 가리키는 공간 안에는 쓰레기값이 저장되어있다. ​ ​ free(ptr); free (agePtr); //..

Study/C,C++ 2018.07.22