반응형

분류 전체보기 271

객체 지향 프로그래밍

객체 지향은 프로그램을 유연하고 변경이 용이하게 만들기 때문에 대규모 소프트웨어 개발에 많이 사용이 된다. 객체 지향의 특징으로는 추상화, 캡슐화, 상속, 다형성 이 있는데 이 중에서 가장 중요한 것이 다형성이다. 다형성을 좀더 쉽게 알기 위해서 실세계와 비유해보겠다. 실세계와 객체 지향을 1:1로 매칭 하면 안 되고 역할과 구현으로 세상을 구분해보겠다. Ex1. 운전자와 자동차 운전자는 자동차를 운전할 때 면허증만 있으면 운전이 가능하다. 이때 자동차의 기종이 무엇이든 상관없이 운전이 가능하다. 아직 감이 안 오면 다른 예시를 들어보자 Ex2. 공연 남자 주인공과 여자 주인공을 정해야 한다. 이때 주인공들을 역할이고 그 배우들은 구현이라고 해보자. 남자 배우가 누가 오든 여자 배우가 누가 오든 공연을 ..

Spring 2022.06.01

Spring 과 Spring boot

Spring과 Spring boot에 대해서 알아보도록 하겠다. Spring이란? 스프링은 웹사이트 개발을 위한 백엔드 프레임워크이다. Java의 활용도가 높아졌고 따라서 프로젝트 규모도 커지게 되었다. Java에서 JSP, MyBatis, JPA 등 여러 가지 기술을 사용하는데 이 기술을 Spring을 이용하여 좀 더 편하게 사용할 수 있다. 스프링은 자바 언어 기반의 프레임워크 자바 언어의 가장 큰 특징 - 객체 지향 언어 스프링은 좋은 객체 지향 애플리케이션을 개발할 수 있게 도와주는 프레임 워크이다. Spring의 특징 1. Ioc(Inversion of Control, 제어의 역행) 제어의 주체가 개발자가 아닌 프레임워크라는 뜻으로 때에따라 프레임워크가 작성된 코드를 호출하는 기술 객체의 생명주..

Spring 2022.06.01

Docker 총 정리

Docker란? 리눅스의 응용 프로그램으로 프로세스 격리 기술을 이용하여 컨테이너 실행 및 관리를 해주는 것이 도커다. 도커를 사용하는 이유? 각 개발자가 개발 세팅을 하면 버전 문제 등의 문제가 나올 수가 있다. 한 명의 개발자가 개발 세팅을 해놓고 이미지화하여 컨테이너에 저장을 하면 나머지 개발자들은 이미지만 받아서 사용만 하면 된다. vm과 docker의 차이점은? vm은 hostOS위에 새로운 OS를 설치하여 메모리 공간을 많이 차지한다. 반면 Docker는 host OS위에 필요한 라이브러리, 코드 등만 만들어서 설치하기 때문에 속도가 빠르고 메모리 공간을 많이 차지하지 않는다. Docker 이미지란? 코드, 시스템 도구, 시스템 라이브러리 및 설정과 응용 프로그램을 실행하는데 필요한 모든 것을..

컨테이너/도커 2022.05.22

Travis CI란?

Travis ci Github에서 진행되는 오픈소스 프로젝트를 위한 지속적인 통합(Continuous Integration) 서비스다. Travis ci를 이용하면 자동으로 테스트, 빌드하거나 배포할 수 있다. Travis Ci의 흐름 1. 로컬 Git에 있는 소스를 Github 저장소에 Push 한다. 2. Github master 저장소에 소스가 Push가 되면 Travis Ci에게 소스가 Push 되었다고 알려준다. 3. Travis ci는 업데이트된 소스를 Github에서 가져온다. 4. Github에서 가져온 소스의 테스트 코드를 실행해 본다. 5. 테스트 코드 실행 후 테스트가 성공하면 AWS 같은 호스팅 사이트로 보내서 배포한다. Travis ci 사용법 1. https://travis-ci..

컨테이너/도커 2022.05.22

docker copy vs volume

COPY docker copy는 로컬에 있는걸 도커 컨테이너로 복사 해준다. Volume docekr Volume은 도커 컨테이너가 복사가 아니라 로컬에 있는것을 매핑 하여 가져오기 때문에 더 빠르다. Volume 사용해서 어플리케이셔 실행 하는 법 docker run -p 3000:3000 -v /usr/src/app/node_modules -v ${pwd}:/usr/src/app -v /usr/src/app/node_modules -> 호스트 디렉토리에 node_modules은 없기에 컨테이너에 맵핑을 하지 말라고 하는것 -v ${pwd}:/usr/src/app -> pwd 경로에 있는 디렉토리 혹은 파일을 /usr/src/app 경로에서 참조 하라는 것이다.

컨테이너/도커 2022.05.18

docker react 설치

docker react 설치 설치 전 node.js 가 있는지 확인해야 한다. cmd 및 터미널을 열어 node -v 로 확인해보자 1. 바탕 화면에 폴더를 하나 생성한다. 2. Visual Studio Code에 생성한 파일을 넣어준다. 3. 터미널을 열고 npx create-react-app ./ 작성해준다. 4. 설치가 끝나면 아래와 같이 나오는걸 확인할 수가 있다. 개발 단계 명령어 설치가 끝나고 실행이 잘 되는지 아래 명령어로 확인해보자. npm run start 테스트 단계 명령어 개발이 완료되었으면 개발한 것에 문제가 있는지 없는지 테스트해볼 수가 있다. 아래 명령어로 확인해보자 npm run test 빌드 단계 명령어 테스트까지 완성이 된다면 이제는 배포를 해서 다른 사람들도 이용할 수 있..

컨테이너/도커 2022.05.17

Docker 이미지 만들기

도커 이미지 생성하는 순서 도커 파일 작성 -> 도커 클라이언트 -> 도커서버 -> 이미지 생성 도커 파일 작성 : 도커 이미지를 만들기 위한 설정 파일이다. 컨테이너가 어떻게 행동해야 하는지에 대한 설정을 정의한다. 도커 클라이언트 : 도커 파일에 입력된 명령들이 도커 클라이언트에 전달되어야 한다. 도커 서버 : 도커 클라이언트에 전달된 모든 중요한 작업들을 하는 곳이다. 도커 파일 만드는 순서 1. 베이스 이미지를 명시한다. 2. 추가적으로 필요한 파일을 다운 받기 위한 몇가지 명령어를 명시한다. 3. 컨테이너 시작시 실행 될 명령어를 명시한다. 베이스 이미지는 무엇인가? 도커 이미지는 여러개 레이어로 되어 있다. 그중에서 베이스 이미지는 이 이미지의 기반이 되는 부분이다. 도커 파일 생성 1. 먼저..

컨테이너/도커 2022.05.15

Docker 정리(4)

sh을 이용하여 명령어를 줄여보자 하나의 컨테이너에서 여러 작업을 할때마다 docker exec -it 컨테이너이름 ls 식으로 작성을하였다. docker exec it 컨테이너이름 을 중복해서 작성하는것 보다 sh 이용하면 작업하는 컨테이너 안에서 쉽게 작업을 할수가 있다 sh에서 빠져 나오고 싶으면 ctrl + d 하면 빠져 나올수가 있다. -ls : 컨테이너 디렉토리에 있는 내용(디렉토리, 파일) 확인 - touch new-file : 파일 생성 - export hello=hi : hello 변수에 hi 넣고 echo $hello : - hello 변수에 hi 출력 참고자료 https://www.inflearn.com/course/%EB%94%B0%EB%9D%BC%ED%95%98%EB%A9%B0-%..

컨테이너/도커 2022.05.15

Docker 정리(3)

레디스(Redis)란? Key와 Value를 가진 NoSQL 데이터 베이스다. 메모리에 저장을 하기 때문에 Mysql같은 데이터베이스에 데이터를 저장하는 것과 데이터를 불러올때 훨씬 빠르게 처리할수가 있으며, 비록 메모리에 저장하지만 영속적으로도 보관이 가능하다. 그래서 서버를 재부팅해도 데이터를 유지할수있는 장점이 있다. RDBMS와 NoSql의 차이점 및 NoSql이 무엇인지는 https://jungkeung.tistory.com/138 에서 확인 하자 레디스를 이용한 컨테이너 활용 일단 먼저 레디스 서버를 실행 한 후, 레디스 클라이언트를 통해서 서버에 명령어를 전달해보자. 1. 터미널을 실행 후, 레디스 서버를 작동 docker run redis 2. 레디스 클라이언트를 켜야 하는데 첫번쨰 터미널..

컨테이너/도커 2022.05.15

Docker 정리(2)

기본적인 도커 명령어 알아보기 도커 이미지를 실행시킬 때 docker run 이미지 이름 ls (ex: docker run hello-world ls)를 작성한다. docker -> 도커 클라이언트 언급 run -> 컨테이너 생성 및 실행 이미지 이름 -> 이 컨테이너를 위한 이미지 ls -> 이미지의 기본 시작 명령어 대신 실행할 명령어(ls는 파일 목록을 출력) 작동 순서 1. 도커 클라이언트에 명령어 입력 후 도커 서버로 보낸다. 2. 도커 서버에서 컨테이너를 위한 이미지가 캐쉬에 저장되어 있는지 확인한다. 3. 없다면 도커 허브에서 다운 받아온다 있다면 그 이미 가지고 있는 이미지로 컨테이너 생성한다. 실행 중인 컨테이너 나열 CONTAINER ID : 컨테이너의 고유한 아이디 해쉬값이다. 실제로..

컨테이너/도커 2022.05.15
반응형