본문 바로가기

분류 전체보기

(316)
[Docker] 도커를 사용해야하는 이유와 중요성 저는 도커를 사용하기전에 VMware를 통해 가상서버를 이용하였습니다. 도커를 사용해보면서 아직도 배우고 있고 알아가고 있는 단계이지만, 확실한건 정말 편하다는 것입니다. 예를들면 VMware, Virtual Box와 같은 서버를 세팅할때 버전문제부터 무겁기때문에 렉도 많이 걸리는 현상, 세팅하는데에 많은 시간비용이 발생했었습니다. 프레임워크나 언어와 같은 버전 업을 할 경우에 문제가 발생하여 해결하는데에도 시간이 많이 소모되었습니다. 즉, 도커에 대해 제가 개인적으로 느끼고 공부한 내용을 적어보려합니다. ● 왜 도커를 써야 하죠? 컨테이너는 애플리케이션을 환경에 구애받지 않고 실행하는 기술입니다.예를들어 우분투 OS를 설치하려해도 도커는 명령어로 실행하면 어느 환경이든 상관 없이 다음 명령어를 사용하여..
[Docker] 간단하게 도커 이미지 생성,빌드,실행 방법 / 실습 오늘은 도커 이미지를 만들어서 도커 이미지 생성부터 실행까지 해보겠습니다. 도커가 설치가 되어있어야만 가능하며, 설치가 되어있지 않다면 아래 링크를 통해 설치부터 진행 바랍니다. ▶[docker] mac에서 간단하게 도커 설치하는 방법 $ mkdir workspace $ cd workspace $ git clone https://github.com/nacyot/docker-moniwiki.git 1. 작업할 workspace 폴더를 생성해주고 오늘 테스트할 모나위키 git clone를 해줍니다. $ cd docker-moniwiki/moniwiki $ vi Dockerfile 2. vi로 Dockerfile를 열면 위 스크린샷과 같이 이미 생성이 되어있습니다. 위 내용을 하나씩 해석해보겠습니다. FROM..
[Python] 백준 알고리즘 11021번 문제풀이 (A+B - 7) www.acmicpc.net/problem/11021 11021번: A+B - 7 각 테스트 케이스마다 "Case #x: "를 출력한 다음, A+B를 출력한다. 테스트 케이스 번호는 1부터 시작한다. www.acmicpc.net T = int(input()); for i in range(T): A, B = map(int, input().split()); result = A + B; print("Case #%s: %s" %(i+1, result)); 테스트케이스를 입력받기 위해 T라는 변수에 input으로 입력받습니다. for-in을 사용해서 입력받은 테스트케이스만큼 반복해줍니다. 반복문 안에서는 A, B 각각 변수를 int타입으로 입력받아서 덧셈한 뒤, result 변수에 값을 저장합니다. 그리고 매번 ..
[TypeScript] tsc-watch 사용법 및 에러 해결 ● tsc-watch는 무엇일까? : tsc-watch를 사용하지 않으면 TypeScript(ts)코드가 바뀔때마다 JavaScript(js)로 컴파일 한 뒤에 node로 실행해야하는 번거로운 작업이 생깁니다. 매번 ts파일 수정할때마다 node를 실행하기란 힘들기때문에 tsc-watch를 이용하여 ts코드가 수정될때마다 바로 자동으로 컴파일한 뒤에 js을 실행해주도록 하는 편리한 기능입니다. 일반적으로 nodemon과 비슷하지만 TypeScript의 경우 노드 서버를 다시 시작하는 데 사용됩니다. 자세한 문서는 npm 공식 사이트에서 확인 바랍니다. www.npmjs.com/package/tsc-watch 1. TypeScript 설치 $ npm -d add typescript typescript를 먼..
[Python] 백준 알고리즘 2163번 문제풀이 (초콜릿 자르기) www.acmicpc.net/problem/2163 2163번: 초콜릿 자르기 정화는 N×M 크기의 초콜릿을 하나 가지고 있다. 초콜릿은 금이 가 있는 모양을 하고 있으며, 그 금에 의해 N×M개의 조각으로 나눠질 수 있다. 초콜릿의 크기가 너무 크다고 생각한 그녀는 초콜릿 www.acmicpc.net n, m = map(int, input().strip().split()) def sloveFun(n, m): return (n-1) + n * (m-1) print(sloveFun(n, m)); n, m 변수에 각각 숫자를 입력하여 저장해줍니다. sloveFun이라는 함수를 선언해서 매개변수 n과 m을 받고 위 문제에서의 계산식으로 계산하여 리턴해줍니다. 예를 들어 5 4을 입력하여 5x4의 초콜릿이 있다..
[Python] 백준 알고리즘 3046번 문제풀이 (R2) www.acmicpc.net/problem/3046 3046번: R2 두 숫자 R1과 R2가 있을 때, 두 수의 평균 S는 (R1+R2)/2와 같다. 상근이는 정인이 생일 선물로 두 숫자 R1과 R2를 주려고 한다. 생일 파티에서 상근이는 정인이에게 이 두 숫자를 말해주고, 정인이는 www.acmicpc.net R1, S = map(int, input().split()); R2 = (S * 2)-R1; print(R2); (R1*R2)/2 = S 라고 했을때 R2의 값을 얻기위해 (S*2)-R1라는 계산식이 나옵니다. 즉, R2 = (S*2)-R1 로 계산해주고 R2를 출력해줍니다.
[Python] 백준 알고리즘 2588번 문제풀이 (곱셈) www.acmicpc.net/problem/2588 2588번: 곱셈 첫째 줄부터 넷째 줄까지 차례대로 (3), (4), (5), (6)에 들어갈 값을 출력한다. www.acmicpc.net A = int(input()) B = int(input()) out1 = A*((B%100)%10) out2 = A*((B%100)//10) out3 = A*(B//100) result = A*B print(out1, out2, out3, result, sep='\n') 두 개의 세 자리 수를 int(input())을 이용해 int형 변수로 입력 받아줍니다. out1은 A와 B의 첫번째 자리수를 곱한 결과를 보여줘야하므로 B의 첫번째 자리수를 만들어주는 계산식인 (A*((B%100)%10))으로 계산하여 A와 곱셈을..
[Python] 백준 알고리즘 10430번 문제풀이 (나머지) www.acmicpc.net/problem/10430 10430번: 나머지 첫째 줄에 A, B, C가 순서대로 주어진다. (2 ≤ A, B, C ≤ 10000) www.acmicpc.net A, B, C = map(int, input().split()); print((A+B)%C, ((A%C)+(B%C))%C, (A*B)%C, ((A%C)*(B%C))%C, sep='\n') A, B, C 변수에 int 타입으로 숫자를 입력받아 각각 저장합니다. 위 문제에서 출력을 보면 첫째줄, 두번째줄.....에 계산식에 맞게 출력되면 되므로, 계산식으로 print함수 안에 넣어줍니다. 이때 sep는 python의 print함수에서 제공하는 매개변수로써 출력될때 구분할 수 있는 구분자라고 생각하시면 됩니다.