Jenkins Container 접속 http 경로 변경하기
·
TIL
개요 Jenkins Container 환경 설정 시 웹 페이지의 경로를 변경하고, nginx 프록시 할 수 있도록 구성하는 방법을 알아보자. Host OS 내에 jenkins container를 이미 구성한 상태에서 접속할 수 있는 경로만 변경하는 작업을 포스팅 한다. 환경 필자의 경우 Host OS(Ubuntu Linux) 위에 Jenkins Container를 구성했고, Host OS에 Nginx를 설치하여 리버스 프록시를 활용하여 Jenkins 관리 웹 페이지로 이동시키게끔 구성했다. Jenkins Container 설정 StackOverflow의 글에서 경로를 변경하기 위해서 환경변수를 설정할 수 있다는 글을 확인했다. Change jenkins container deployment root pa..
함수 호출 규약(Calling Convention)과 마샬링(marshalling)
·
TIL
개요 C# Application에서 C++ Dll을 호출하기 위해서는 마샬링 과정이 필수적이다. 또한, 마샬링 과정에서 Calling Convention이 조율되지 않으면 스택에서 오류가 발생하는데, 어떻게 이러한 문제가 발생하는 것인지 알아보자. 목표 마샬링이 무엇인지 설명할 수 있다. Calling Convention이 무엇인지 설명할 수 있다. C# Application과 C++ Dll의 통신 마샬링(Marshalling) 마샬링이란 한 객체의 메모리에서의 표현방식을 저장 또한 전송에 적합한 다른 데이터 형식으로 변환하는 과정입니다. 이는 데이터를 서로 다른 프로그램간에 전달할 필요가 있을 경우 사용합니다. 즉, 이는 직렬화와 유사하며 직렬화된 한 객체로, 멀리 떨어진 객체와 통신하기 위해 사용합니..
[키워드 정리] VNC VS RDP, ICMP
·
TIL
VNC와 RDP 개요 팀 회의 도중 생소한 키워드를 정리하기 위해 글을 씁니다. VNC vs RDP VNC (Virtual Network Computing) VNC는 RFB(Remote Frame Buffer)프로토콜 방식을 이용해 서버에서 보낸 화면 정보를 클라이언트에 설치된 그래픽 라이브러리를 이용해 그리는 방식이다. 사용을 위해 RFB를 전송 가능한 프로그램, 전달 받는 프로그램 (server, client)가 필요하다. 원격에서 화면을 보는 기능만 지원하며, 클라이언트 별로 세션을 가지지 못한다. (여러 PC에서 동시에 접속한다면 하나의 화면을 공유하게 된다.) VNC는 주로 클라우드 상에서 동작하는 서버 VM을 동작하기 위해서 사용하는 프로토콜이다. RDP (Remote Desktop Proto..
JavaScript ES6 문법 정리
·
TIL
JavaScript ES6 문법 정리 const and let ES6에서 추가된 변수 선언 방법입니다. 변수 재 선언 var의 경우 변수를 한번 더 선언했음에도 오류가 발생하지 않습니다. var foo = "foo" console.log(foo) // foo var foo = "pee" console.log(pee) // peelet의 경우 변수를 한번 더 선언할 경우 오류가 발생합니다. (const의 경우도 마찬가지로 오류가 발생합니다.) let foo = "foo" console.log(foo) let foo = "pee" // Uncaught SyntaxError: Identifier 'foo' has already been declared console.log(foo)const 와 ..
2021.09.11
·
TIL
JSX = Javascript + XML Javascript와 XML구문을 결합해 사용하는 코드를 JSX 라고한다. 자바스크립트 표준에 JSX 구문이 없지만, 포함된 것 처럼 동작할 수 있는 이유는 ESNext 자바스크립트 컴파일러인 바벨(babel)이 플러그인 구조로 동작하기 때문이다, 바벨은 ESNext 자바스크립트 코드를 만나면 파이프라인 형태로 동작하여 이해할 수 있는 구문만 컴파일하여 자바스크립트로 변환한다. 페이스북은 JSX 구문을 컴파일 하고자 @babel/plugin-trnasform-react-jsx 라는 바벨 플러그인을 제공한다. jsx 구문이 있는 타입스크랍트 코드는 .tsx 여야하며, 다음 임포트 문이 필요하다. import React from 'react' React.createE..
2021.09.09
·
TIL
리액트 네이티브 개발에서 사용하는 명령 npm i package.json 파일에 명시된 패키지를 node_modules 디렉터리에 설치 설치한 패키지는 android나 ios 디렉터리의 네이티브 모듈에서 동작하는 파일을 가진다. npm pod-install objc와 같은 c계열 언어는 원격 저장소에서 패키지를 내려받아 설치하는 기능이 없다. 따라서 pod 프로그램을 통해 패키지를 설치해야하므로 사용 npm start npm run android, npm run ios 명령은 네이티브 부분 앱을 빌드하여 에뮬레이터에 설치하고 자동으로 실행한다. 에뮬레이터에 설치된 앱은 처음 실행될 때 메트로 서버에서 ES5자바스크립트 코드를 내려받는다. 그러므로 위의 명령을 실행하기 전에 npm start로 메트로 서버..
2021.09.08
·
TIL
Git Flow 회사에서 사용하는 Git Flow 사용에 대해 오해가 있었다. 맨날 나만몰라...🥲 오늘 처음으로 팀 미팅이 있었는데, 회사의 개발 전략에 대해서 소개했었다. Git Flow에 대해 소개하는 시간이 있었는데, Origin Remote Repository와 Remote Branch의 개념이 헷갈렸었다. 하 소개하는놈이 Github 의 React Repository의 경우로 생각하면 Upstream Remote Repositry의 경우 레포지토리의 주인인 Facebook이 React Repository의 Upstream Remote Repository일 것이다. 이를 내가 fork 할 경우 내 계정에 생성된 React 레포지토리가 Origin Remote Repository가 될것이다. 여기..
[TIL] python OpenCV - threshold 함수로 경계선 얻기
·
TIL
이미지 경계선 얻기 - cv2.threshold() 우선 피포페인팅 도안을 생성하기 위해 도안이 될 이미지에서 선을 따는 작업이 필요했는데, 이를 도와줄 함수로 cv2.threshold() 함수가 적절해 보여서, 사용하기로 했다. 비슷한 기능을 할 만한 함수로 cv2.canny() 함수가 있었는데, 다음 장에서 차이 threshold는 구글 번역기에서는 한계점 이라고 해석되는데, 구글링을 통해 관련 문서를 보면 임계점(사실 같은뜻이지만?) 이라고 많이 부르는 것 같다. 임계점이라는 의미를 알았으니, OpenCV doc에서 cv2.threshold() 함수의 설명과 파라미터에 대해 알아보자. 문서의 내용을 간단히 요약하면, "픽셀 값이 임계값보다 작으면 0으로 설정되고, 그렇지 않으면 최대값으로 설정됩니다..
[TIL] python OpenCV - 1
·
TIL
2021.07.26 오늘부터 토이 프로젝트로 개발중인 P4Maker를 개발하면서 배운 점들을 기록하려고 합니다. 개발하게된 이유는 가지고있는 피포 페인팅이 완성 된 후 새로운 그림을 그리고 싶은데, 마음에 드는 도안이 없어서 직접 개발해보면 어떨까 싶은 생각에 개발하게 되었습니다. 오늘부터 화이팅 해보자 ^0^..
외부에서 내 컴퓨터 접속하기 (apache, 포트포워딩)
·
TIL
컴퓨터 공학 전공이 아닌 학교 친구가 통신에 대해서 여쭤봐서, 실시간으로 안드로이드 기기와 통신할 수 있는 방법을 알아야 했는데, 내 컴퓨터를 웹서버로 만들고 외부에서 접속하는 방법을 간단하게 알아보았다. 1. apache 설치 및 환경설정 https://www.apachelounge.com/download/ 아파치 공식 웹 사이트에 접속하여 아파치를 다운로드한다. 다운로드 후 apache24 폴더를 원하는 경로에 지정해준다. 나는 D:\Apache24 로 설정했다. 그 후 conf 폴더로 이동하여 httpd.conf 에서 몇가지 설정을 해준다. 폴더 경로를 아래와 같이 변경해준다. Define SRVROOT "d:/Apache24" 그리고 포트를 변경하고 싶다면 LISTEN 을 검색한다. 기본으로 80..