개발자 해콩(331)
-
[일단 시작해 - 도커] 0. 현재 나의 개발 환경
대괄호 안에 있는 말을 정하는데 조금 고심했는데, "일단 시작해"가 내가 코딩하면서 머리 속에 늘 넣어두는 생각이기 때문이라 저거로 정했다. 도커 책을 정리하다보니, 책 정리 암만 해봐야 실제로 한 걸 정리하는 것보다는 의미가 떨어질 것이라고 판단했다. 그 이유는? 직접 해보면서 깨닫는게 훨씬 많았기 때문이다. 그런 고로 내가 이번에 아주 작은 프로젝트를 했던 경험을 정리해서 올리는게 실제로 도커에 입문해보는 사람한테 더 도움이 될 것 같다. 엄청난걸 다루진 않지만, 도커의 설치부터 간단한 도커파일 작성 정도까지 다룰 예정이다. 그에 앞서서 내가 이 작업을 진행한 개발 환경에 대해서 먼저 서술하고 가는게 좋을 것 같다. 개발 환경을 구축하는데 있어서 많은 블로그를 찾아본 경험이 있다. 그럴 때마다 늘 궁..
2021.04.10 -
[도커/Docker] Ch2. 도커 엔진 (I)
2.1. 도커 이미지와 컨테이너 도커 엔진의 핵심 - 이미지 - 컨테이너 2.1.1. 도커 이미지 이미지 : 컨테이너를 생성할 때 필요한 요소 ( = 가상 머신 생성 시 사용하는 iso 파일 ) - 여러 계층의 바이너리 파일로 존재 - 컨테이너 생성, 실행 시 읽기 전용으로 사용 - 도커 명령어로 다운로드 가능 -> 별도 설치 필요 X - 이미지 이름 : [저장소 이름]/[이미지 이름]:[태그] 2.1.2. 도커 컨테이너 앞서 다운 받은 이미지로 컨테이너를 생성 -> 해당 이미지의 목적에 맞는 파일시스템, 격리된 시스템 자원 및 네트워크를 사용할 수 있는 독립된 공간 = 컨테이너 특징 - 이미지를 읽기 전용으로 사용하고, 변경된 사항만 컨테이너 계층에 저장 -> 원래 이미지는 영향을 받지 않음 - 생성된..
2021.04.03 -
[Simulink 개발] Moving Average Filter (이동 평균 필터)
Moving Average Filter (이동 평균 필터) 다양한 이산 시간에서의 동적 시스템을 모델링하기 위해서 Simulink를 이용한다. 이번 포스팅에서는 저번에 Matlab에서 구현한 Moving Average Filter를 Simulink에 구현해보고 결과를 확인해볼 것이다. Moving Average Filter에 대한 설명은 이전 포스팅에 적어놨으니, 이번 포스팅에서는 이산 시간 시스템에 적용하기 위해 어떤 점들을 고려했는지 설명하겠다. 개인적으로, Simulink를 쓰더라도 블록으로 구현하기 복잡한 기능들은 Matlab function 블록으로 처리하는 것을 좋아한다. 블록으로 구현해서 가독성이 떨어져 이해하기 어려울 바에는 그냥 Matlab script로 보는 것이 기능을 이해하는 측면에..
2021.04.02 -
[도커/Docker] Ch1. 도커란?
1.1. 가상 머신과 도커 컨테이너 가상 머신 : 게스트 운영체제를 사용하기 위한 라이브러리, 커널 등을 전부 포함 장점 : 완벽한 운영체제를 생성할 수 있음 단점 : 이미지가 커서 애플리케이션으로 배포하기 어려움 도커 컨테이너 : 리눅스의 자체기능으로 프로세스 단위의 격리 환경을 만듬 장점 : 이미지 용량 또한 가상 머신에 비해 대폭 감소, 가상화된 공간을 사용할 때의 성능 손실도 거의 없음 1.2. 도커를 시작해야 하는 이유 1.2.1. 애플리케이션의 개발과 배포가 편해짐 도커 컨테이너는 호스트 OS 위에서 실행되는 격리된 공간 -> 컨테이너 내부를 아무리 수정해도 호스트 OS 에는 영향 끼치지 않음 => 독립된 개발 환경을 보장 배포할 때에도 해당 컨테이너를 '도커 이미지'라고 한느 일종의 패키지로..
2021.04.01 -
[도커/Docker] "시작하세요! 도커/쿠버네티스" 정리
여태까지 다양한 프로젝트를 진행해오면서, 개발을 위한 환경을 구축한다는 것이 얼마나 번거롭고 귀찮은 일인지 잘 알고 있다. 특히, 아직도 생각나는게 있다. 예전에 Nvidia 그래픽카드가 달린 한성컴퓨터 보스몬스터 노트북을 쓸 때의 일이다. 강화학습 관련해서 환경을 구축해야했다. 기본 윈도우 환경에서도 얽히고 얽힌 환경변수들과 Nvidia 드라이버 및 다양한 에러들 때문에 도저히 설치가 되지 않았었다. 사실 환경을 구축하는 대부분의 사람들이 우분투 환경에서 설치하기를 권장했지만, 괜히 잘 알지도 못하는 우분투 설치했다가 컴퓨터가 이상해질까봐 설치를 못했었다. 그래서 우분투를 설치하고, 거기에 환경을 구축해두자는 큰 포부를 안고 환경 구축에 들어갔다. 결과는... Nvidia 드라이버와 우분투의 충돌 때문..
2021.03.31 -
[Simulink 개발] 시뮬링크 센서 축 회전변환
function [x_rot, y_rot] = Rotation(x,y,theta, yaw_car, yaw_traf) In = [x, y, 1]'; yaw_car_deg = yaw_car/3.14 * 180; yaw_traf_deg = yaw_traf/3.14 * 180; yaw_deg = yaw_traf_deg-yaw_car_deg; RotMat = [[cosd(theta-yaw_deg) -sind(theta-yaw_deg) 0]; [sind(theta-yaw_deg) cosd(theta-yaw_deg) 0]; [0 0 1]]; Out = RotMat*In; x_rot = Out(1); y_rot = Out(2);
2021.03.30