목록모든 글 (287)
개발자로 후회없는 삶 살기
서론 Generative Visual Manipulationon the Natural Image Manifold은 제목 그대로 이미지의 자연 상태에서 시각적인 조작을 하는 방법을 설명합니다. 본 포스팅에서 주요 내용 위주로 논문을 번역/ 요약하였습니다. > 논문에서는 이미지 조작을 실시간으로 대화형(interactive)으로 하는 것을 목표로 하기 때문에 IGAN이라고 부릅니다. official pix2pix의 저자분들께서 제안하셨으며 GAN을 대화형으로 사용할 수 있다는 것을 보여줌과 동시에 사용자를 위한 인터페이스까지 제공합니다. 틀린 내용이 있으면 피드백 부탁드립니다. - 논문 제목 : Generative Visual Manipulation on the Natural Image Manifold - ..
서론 교과목 2주차 현업의 개발 프로세스와 도커를 정리해 보겠습니다. 본론 - 실무 sw 개발 프로세스 => 개발 프로세스 + 도구 요구사항 분석 > 설계 > 구현 > 통합+테스트 > 배포가 기본 프로세스입니다. -> 단계별 도구(학교에서 배울 것을 기준!) 1. 요구사항 분석 : 기능+비기능 등 프로젝트의 이해 당사자의 모든 의견으로 만들어집니다. 2. 설계 : uml 툴 4. 통합+테스트 : 형상관리 = git/ 변경 관리 = 레드마인 5. 배포 : 젠킨스(CI/CD) - 소프트웨어 구조적 분석 및 설계 => 프로그램과 소프트웨어의 차이 소프트 : 프로그램을 만들기 위한 과정 전부다(산출물, 과정, 체계 = 프로그램 + 문서 + 처리 절차) 프로그램 : 코드( = 바이너리) => 분석의 중요성 정부과..
서론 교과목 5주차 강의 내용을 정리합니다. 본론 - faster rcnn 복습 => rpn 1. 어디에 있냐를 예측해야 하는데 어떤 모양으로, 어떤 크기로 있는지도 모르기 때문에 아는 게 없습니다. 2. 아무것도 모르는데 예측하 는 건 말이 안 되니 기본 틀을 만들어 두고 이 크기로 물체가 있을 거다라고 생각해 보겠습니다. > 실제로 물체가 어떻게 있는지 모르는 상태에서 예측하라고 하면 말도 안 되는 말입니다. 3. 그래서 미리 "이럴 거다~"는 식으로 만들어 놓습니다. > 전체를 격자로 쪼개고 (이것도 하이퍼 파라미터입니다.) 격자의 점을 중심으로 k개의 앵커박스를 준비하고 다음 한 칸 옆 픽셀에서도 그 점을 중심으로 k개를 준비합니다. > 지역으로 제안할 후보(candidate)가 엄청 많은데 그 ..
서론 교과목 5주차 수업 내용을 정리해 보겠습니다. 본론 - 지속적 통합 => 문제점 내가 하면 잘 돼, 쟤가 하면 안 돼!! > 보편적으로 동작하지 않습니다. 그 이유가 여러 명이 개발을 같이 하여 버전 차이와 에러가 여러 곳에서 발생했기 때문인데 이것을 예전에는 손수하거나, 개발자의 높은 고집 때문에 사용하지 않았습니다. => 정의 여러 개발자가 수행한 코드 변경 사항을 단일 소프트웨어 프로젝트에 지속적으로 통합하는 활동(여러 명이 개발을 하면 계속해서 각자 만든 코드를 모아야 하는데 이를 자동화하여 지속적으로 계속 모으겠다! 즉, 지속적으로 코드를 모으는 것을 자동화하겠다는 것입니다.) - 지속적 배포 => 정의 지속적으로 자동으로 모은 것을 지속적으로 배포하는 것 => 요약 모으고 제품으로 배포를..
서론 iptables를 도커, CNI, 쿠버네티스가 어떻게 쓰는지 조사하기 위해 iptables의 개요를 익힙니다. 본론 - iptables란 필자가 생각하기는 별도의 네트워크를 하게 해주는 것인데, 방화벽입니다. ip랑 포트에 쉽게 접근하지 못하게 하는 접근 제어 방화벽입니다. IP 패킷이 시스템에 도착했을 때 그들이 어떤 행동을 취해야 하는지 결정하는 유틸리티입니다. 예를들어, 특정 IP 주소에서 오는 모든 트래픽을 차단하거나, 특정 포트로 들어오는 모든 트래픽을 허용하는 등의 규칙을 설정할 수 있습니다. - iptables 명령어 1. -nL 실행 결과 리눅스를 처음 설치하면 아무것도 없습니다. 이러면 외부에서 전부 다 접근 가능합니다. (= 필자의 호스트 OS에서 vm 리눅스에 접근 가능!) 위 ..
서론 루트 파일 시스템이 새로 생기면 새롭게 setting되는 환경변수에 대해 알아보겠습니다. 본론 - 환경변수란? 1. 프로세스가 동작하는 방식에 영향을 미치는, 동적인 값들입니다. 2. ★ 응용프로그램을 쉽게 꺼내 쓰기 위해서 미리 변수로 등록해 놓는 것 = 일반화입니다. 3. OS에서 자식 프로세스들을 생성할 때 '참조'하는 변수들입니다. 프로세스들은 전부 os라는 프로그램에 의해 실행되는 자식 프로세스들인데 os입장에서 해당 프로세스를 실행시키기 위해 참조하는 변수 > e.g. PATH : OS가 어떤 프로세스를 실행시킬 때, 그 경로를 찾는데 이용됩니다. - 왜 써야 할까요? ex) 프로그램을 설치할 때 "windir에 설치해라" vs "C:\\windows"에 설치해라 -> windir에 설치..
서론 - 가상머신과 컨테이너의 차이 -> 가상머신 : OS위에서 하드웨어 자원을 SW형식으로 돌립니다. 다시 그 위에 프로세스를 실행합니다. -> 컨테이너 : OS 위에 하드웨어를 올리지 않습니다.. 독립된 환경에서 프로세스를 실행합니다. > 호스트 OS의 컨테이너 : 가상머신 위의 새로운 OS위에 올린 프로세스가 아니고 호스트 OS위에서 실행되는 다른 일반 프로세스 ( ex) 오피스, 검색 등등 ) 와 같은 계층입니다. - 컨테이너의 구현 컨테이너를 구현하기 위해서 가장 기본이 되는 일이 실행되는 루트를 변경하는 일이 필요합니다! + 기존의 프로세스들이 실행되는 루트는 그래로 두고 격리된 다른 루트를 만들어 컨테이너를 다른 루트에 격리시켜서 실행하겠다는 의미입니다. 본론 - chroot 40년 된 기술..