nuget 에서 protobuf 와 관련된

- google.protobuf
- google.protobuf.tools

두개의 패키지를 설치는 했는데.. .proto 파일을 어떻게 변환하는지 모르겠더라..
구글링..
역시 stackoverflow 에는 답이 있다!

visual studio 에는 pre-build event 라는걸 설정해둘 수 있는데,
아래와 같이 -I 에는 가져다 쓸 .proto 파일이 있는 경로, -csharp_out 에는 c# class 파일이 생성되는 위치, 마지막엔 컴파일 하려는 .proto 파일 경로를 지정하여 빌드 직전에 .cs 파일을 생성해 낸다.

아래는 프로젝트의 protos 폴더에 있는 모든 .proto 파일을 가지고 packet 폴더에 .cs 파일을 생성한다. 
(미리 폴더를 생성해야 에러가 안생긴다!)

$(NugetPackageRoot)google.protobuf.tools\3.13.0\tools\windows_x64\protoc.exe 
  -I=$(ProjectDir)protos 
  --csharp_out=$(ProjectDir)packet 
  $(ProjectDir)protos\*.proto

stackoverflow.com/questions/58385978/invoking-tool-in-a-nuget-package-with-generator-getting-unexpected-was-not-f

Posted by 김모작자

댓글을 달아 주세요

  블럭 인라인
tag div, h1~h7 span
크기 기본 상태에서 폭 100%
width : 100%
height : 0;
내용물에 맞춰짐
width : 0;
height : 0;
크기 지정 불가 크기 지정한게 무시됨
배치 수직(아래) 방향으로 내려간다 옆으로 
줄바꿈   줄바꿈 해서 배치시 띄어쓰기가 눈에 보임
margin, padding   인라인 요소에 상하 패딩 적용시 공간 확보를 안하기 때문에 유의

블록 요소의 태그라도 display 속성을 통해 상호 변경 가능함.

<style>
	div {
    	display : inline;
	}
...
</style>


...

<div>
	is that block?
</div>

 

Posted by 김모작자

댓글을 달아 주세요

vuejs 스터디하다 발견한 건데..

흔히 새 창을 띄울 때 위 처럼
<a target="_blank"> 태그 또는 window.open("url"); 
을 이용하는데,
이 경우 새로 열린 창에서 window.opener 로 부모창의 데이터를 읽을 수가 있다.

근데 <a> 에 rel="noopener" 를 지정하는 경우 웹 브라우저가 분리된 프로세스/쓰레드에서 창을 열기 때문에 window.opener 를 통해 접근할 수 없게된다.
추가로 별도의 프로세스/쓰레드로 동작하기 때문에 새 창이 뜨거나, 이벤트 처리로 인한 딜레이가 부모창에는 발생하지 않는다.. (분리돼 있기 때문에 당연한 거라 생각듬)

 

Posted by 김모작자

댓글을 달아 주세요

서버에서 바로 올리는 gitlab 에는 발생 안하는 문제로 보인다..

- docker 에서 실행하면서
- external_url 에 포트 번호가 들어간 경우

에만 발생하고 있다...
external_url 에 http://xxxx:NNNN/ 처럼 포트 번호를 기록하면, gitlab 의 웹 서버가 url 에 있는 포트 번호에 bind 하게 되면서 발생하고 있다. 즉 docker 설정에 있는 컨테이너 포트와 다른 포트에 실행되기 때문에 컨테이너 외부에서 보면 실행이 안되는것처럼 보이게 된다.

그래서 포트를 사용하는 경우 docker 설정에 있는 컨테이너 설정을 같이 바꿔줘야 한다.

 

https://forum.gitlab.com/t/gitlab-docker-not-working-if-external-url-is-set/4110

 

Gitlab docker not working if external_url is set

Hello community, I’ve been struggling for a while with a problem that I’m still unable to solve. Help would be much appreciated! What I did: Install Gitlab-CE using the docker image (8.9.6-ce.0) on an Ubuntu 16.04.1 LTS virtual machine in my server followi

forum.gitlab.com

2016년 게시물인데도 동일한 문제가 생기다니....

 

Posted by 김모작자

댓글을 달아 주세요

1. 보드와 1602 LCD 의 VCC(+), GND(-) 를 연결한다.

  - 연결 전 1602 LCD 의 전압을 사전에 체크한다. 보통 5V, 12V 가 많음.

  - ESP8266, 라즈베리파이 및 일부 Arduino 제품의 경우 3.3v 를 사용한다


2. SDA, SCL 신호선을 연결한다 (I2c, TWI 방식 연결)

  - SDA(DATA선), SCL(타이밍선) 을 연결

  - ESP8266 의 D1 이 SCL, D2 가 SDA 선으로 사용된다 (고정)



3.Arduino LiquidCrystal I2c 라이브러리 설치

  - 첨부된 압축을 Arduino IDE/libraries 안에 설치


4. HelloWorld 실행해보니

  - 5V 1602 LCD 사용시 글자가 잘 안보이기 때문에, 정상 동작을 위해선  level shifter 사용 필요

  - 샘플의 경우 LCD 의 slave 주소로 0x27 을 사용하지만, 간혹 다른 ID 를 사용하는 경우가 있으니 데이터시트 확인 필요

Posted by 김모작자

댓글을 달아 주세요