반응형

 

 

기업일 경우 Visual studio community license가 무료일까?

그래서 검색해 보았다. 

아래는 누군가가 문의한 내용에 대한 MS의 답변.

 

 

아래는 정식 라이선스 관련 문서.

 

visualstudio.microsoft.com/ko/license-terms/mlt031819/

 

MICROSOFT VISUAL STUDIO COMMUNITY 2019 - Visual Studio

 

visualstudio.microsoft.com

 

 

위 내용 문서 첨부.

VS_Community_2019_KOR.1042.docx
0.03MB

 

그래서 중요 내용은 아래와 같다.

 

a. 개별 라이선스. 판매 또는 다른 목적으로 고유한 응용 프로그램에 개별적으로 작업하는 경우 이러한 응용 프로그램의 개발 및 테스트를 목적으로 소프트웨어를 사용할 수 있습니다.

 

b. 조직 라이선스. 조직인 경우 귀사의 사용자는 다음과 같이 소프트웨어를 사용할 수 있습니다.

  귀하가 기업인 경우에는 그 직원 및 계약자가 응용 프로그램의 개발 또는 테스트를 목적으로 소프트웨어를 사용할 수 없습니다. 단, 상기 허용된 범위 내에서 (i) 오픈 소스, (ii) Visual Studio 확장, (iii) Windows 운영 체제를 위한 장치 드라이버, (iv) SQL Server 개발, 그리고 (v) 교육 목적은 여기서 제외됩니다.

 

  "기업"이란 통칭 (a) 250대보다 많은 PC 또는 250명보다 많은 사용자가 있거나 (b) 연간 매출이 미화 1백만 달러(또는 다른 통화에서 이와 동등한 금액) 이상을 초과하는 조직 및 그 계열사이며, "계열사"란 조직을 통제하거나(과반수 소유권을 통해) 조직의 통제를 받거나 조직과 공동 통제권을 가지고 있는 모든 업체를 의미합니다.

 

참고) 미화 1백만 달러 = 한화 10억원.

 

기업인데 규모가 20명 정도 이고 연간 매출이 10억원 이상이면? (b)에 해당되어서 안 되는구나...

 

위 사항을 잘 알고 기업에서는 Visual studio community를 쓰지 말아야겠다.

 

 

 

 

 

728x90
반응형
반응형

 

 

윈도우처럼 탐색기로 삭제를 하니 우분투는 삭제 진행상태가 제대로 보이지도 않고...

삭제를 취소할 줄도 모르겠다...

파일이 작을 경우 금방 삭제되니까 문제 없는데...

소스가 많은 파일은 삭제를 하면 삭제가 진행중인지 전혀 알 수가 없다. ㅠ.ㅠ

 

터미널을 써서 삭제 상태를 확인해야할 것 같다.

그런데 간단히 삭제 명령만 쓰면 삭제 상태가 보이지 않는다.

그래서 찾은 삭제 명령. 주로 아래의 명령을 쓴다.

 

rm -rfv folder/
rm -rfv folder/

즉, 디렉터리 삭제, 강제 삭제, 삭제되는 내용 표시 이다.

 

옵션 설명은 아래와 같다. (from wiki)

rm에 덧붙여 사용할 수 있는 옵션에는 다음과 같은 것이 있다.:

  • -r, 디렉터리를 삭제한다, 하위의 내용을 먼저 삭제한다. (하위에 존재하는 파일이 남아있으면 안 되기 때문에) ("recursive", 재귀적으로)

  • -i, 삭제를 할 때에 매번 삭제 여부를 사용자에게 묻는다. ("interactive", 대화식으로)

  • -f, 존재하지 않는 파일을 무시하고 어떠한 확인 메시지도 보여주지 않는다. ("force", 강제로)

  • -v, 삭제를 하는 동안 삭제되는 내용을 보여준다 ("verbose", 장황하게)

 

 

rm (유닉스) - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. rm (remove의 축약)은 파일 시스템으로부터 파일을 삭제할 때에 사용되는 유닉스 명령어이다. rm에 덧붙여 사용할 수 있는 옵션에는 다음과 같은 것이 있다.: -r, 디

ko.wikipedia.org

 

아래 이미지와 같이 -v option을 주면 삭제되는 내용을 볼 수 있어서 

많은 파일을 삭제할 때 삭제되는 상태를 확인할 수 있다.

 

 

 

 

 

728x90
반응형
반응형

 

 

내가 선호하는 USB to RS232 제품인 FTDI 사의 UC232R-10.

윈도우에서만 쓰다가 우분투에서 처음 연결.

우분투 18.04 버전인데 연결하니 별도의 설치과정 없이 바로 인식된다.

 

 

아래 명령으로 device를 확인.

ls /dev/tty*
ls /dev/tty*

 

연결되지 않았을 때는 device list에 없다.

 

 

아래와 같이 /dev/ttyUSB0 으로 인식된 것을 확인할 수 있다.

 

 

이제 인식된 것 확인 했으니 시리얼 통신 테스트!!!

느리더라도 천천히 하나씩 해보자!!!

 

 

 

728x90
반응형
반응형

 

 

PictureBoxIpl의 SizeMode 정리.

이미지를 PictureBox에 출력했는데 이미지가 잘려서 나왔다.

그래서 SizeMode를 Zomm으로 조절해서 이미지가 다 나오도록 하였다.

 

SizeMode에 대한 세부 내용을 검색해서 확인해 보았다.

 

 

각각의 설정이 의미하는 아래와 같았다.

 

 

위 필드 내용에 대한 자세한 내용은 아래 링크 참조.

 

 

PictureBoxSizeMode 열거형 (System.Windows.Forms)

PictureBox 내에 이미지가 놓이는 방식을 지정합니다.Specifies how an image is positioned within a PictureBox.

docs.microsoft.com

실제 SizeMode에 따라 적용되는 내용을 확인해 보았다.

 

 

제일 왼쪽 부터.

 

Zoom, Normal, StretchImage, AutoSize, CenterImage

 

 

아래와 같이 다시 정리해 보았다.

 

Zoom : 컨트롤의 크기에 맞게 전체 이미지가 조절된다. 비율을 유지하면서

Nomal : 이미지가 컨트롤의 크기보다 크면 컨트롤의 크기만큼 표시되고 잘린다.

StretchImage : 이미지가 컨트롤에 맞게 늘어나거나 줄어든다.

AutoSize : 이미지크기에 맞게 컨트롤의 크기가 변경된다.

CenterImage : 이미지가 컨트롤의 가운데 배치되고 나머지 영역은 잘린다.

 

 

 

728x90
반응형

'공부 > C#' 카테고리의 다른 글

210304 C# Winform 첫 번째 클래스  (0) 2021.03.15
210307 C# 커서위치 제어 프로그램  (0) 2021.03.07
210208 C# Barcode reader project (2)  (1) 2021.02.11
210202 C# Barcode reader project (1)  (0) 2021.02.10
210202 OpenCV PictureBoxlpl  (0) 2021.02.09
반응형

 

 

지금까지 바코드의 값을 읽는 것까지 되었다.

이제는 이미지에서 바코드가 있는 위치를 얻어서 표시를 하고 싶어졌다.

그래서 바코드의 위치를 찾는 방법을 알아보았다.

 

아래에 그 예제 코드를 추가하였다.

result.ResultPoints의 값을 이용해 barcode의 위치를 얻을 수 있다.

[0].X, [0].Y : Top left

[2].X, [2].Y : Bottom right

 

이 위치를 이용하여 Rectangle로 이미지에 위치를 표시하였다.

 

그리고 pictureBoxIplImage의 Image를 update 하여 화면에 표시하였다.

 

using OpenCvSharp;
using ZXing;

private void btnBarcode_Click(object sender, EventArgs e)
{
  src = Cv2.ImRead("c:\\tmp\\inkscape.png", ImreadModes.Color);
  pictureBoxIplImage.ImageIpl = src;
  BarcodeReader reader = new BarcodeReader();
  Result result = reader.Decode((Bitmap)pictureBoxIplImage.Image);
  if (result != null)
  {
    decoded = "Decode : " + result.ToString() + "\r\nType : " + result.BarcodeFormat.ToString();

    // Get Barcode position 
    decoded += "\r\n" + (int)result.ResultPoints[0].X + ", " + (int)result.ResultPoints[0].Y;
    decoded += "\r\n" + (int)result.ResultPoints[2].X + ", " + (int)result.ResultPoints[2].Y;

    // Barcode position display
    Cv2.Rectangle(src, new Rect((int)(result.ResultPoints[0].X), (int)(result.ResultPoints[0].Y),
      (int)(result.ResultPoints[2].X - result.ResultPoints[0].X), (int)(result.ResultPoints[2].Y - result.ResultPoints[0].Y)),
      Scalar.Blue, 10, LineTypes.Link4);

    // PictureBoxIpl update
    pictureBoxIplImage.ImageIpl = src;
    
    if (decoded != "")
    { 
      textBoxResult.Text = decoded;
    } 
  } 
}

 

 

아래와 같이 파란색으로 바코드의 위치를 표시하게 된다.

 

 

 

 

 

 

728x90
반응형

'공부 > C#' 카테고리의 다른 글

210307 C# 커서위치 제어 프로그램  (0) 2021.03.07
210212 OpenCV C# PictureBoxIpl SizeMode  (0) 2021.02.12
210202 C# Barcode reader project (1)  (0) 2021.02.10
210202 OpenCV PictureBoxlpl  (0) 2021.02.09
210128 Pdf2Image winform project (4)  (0) 2021.02.07
반응형

 

 

Image에서 Barcode를 인식하는 프로그램을 구현해 보았다.

Barcode가 있는 이미지를 만들기 위해 InkScape를 이용하였다.

 

kgkang.tistory.com/146?category=422967

 

210204 잉크스케이프 바코드 생성

잉크스케이프(Inkscape)에서 바코드를 생성하는 방법. 바코드가 있는 PDF 문서를 생성하기 위해 바코드를 생성하기 위해 바코드 생성 메뉴를 찾았다. "확장기능 >> 렌더 >> 바코드" 에서 원하는 바코

kgkang.tistory.com

 

바코드 인식은 ZXing 라이브러리를 사용하였다.

그래서 Nuget으로 ZXing 라이브러리를 설치한다.

 

 

ZXing.Net 이 설치되었다.

 

 

Barcode 버튼을 만들고 코드를 추가한다.

pictureBoxlpl의 이름을 아래와 같이 지정하고 코딩하였다.

 

 

아래와 같이 코딩하여 간단히 바코드를 인식할 수 있다.

이미지를 읽고 표시할 때는 OpenCV를 사용하였다.

 

using OpenCvSharp;
using ZXing;

private void btnBarcode_Click(object sender, EventArgs e)
{
  src = Cv2.ImRead("c:\\tmp\\inkscape.png", ImreadModes.Color);
  pictureBoxIplImage.ImageIpl = src;
  BarcodeReader reader = new BarcodeReader();
  Result result = reader.Decode((Bitmap)pictureBoxIplImage.Image);
  if (result != null)
  {
    decoded = "Decode : " + result.ToString() + "\r\nType : " + result.BarcodeFormat.ToString();
    if (decoded != "")
    { 
      textBoxResult.Text = decoded;
    } 
  } 
  else 
    MessageBox.Show("바코드나 QR코드를 비추세요!");
}

 

아래 이미지는 실제 사용한 코드를 화면 캡춰한 것이다.

 

 

아래와 같이 바코드가 인식되어 출력된다. 

바코드의 내용은 Inkscape, Type은 DATA_MATRIX 이다.

 

 

 

728x90
반응형

'공부 > C#' 카테고리의 다른 글

210212 OpenCV C# PictureBoxIpl SizeMode  (0) 2021.02.12
210208 C# Barcode reader project (2)  (1) 2021.02.11
210202 OpenCV PictureBoxlpl  (0) 2021.02.09
210128 Pdf2Image winform project (4)  (0) 2021.02.07
210126 Pdf2Image winform project (3)  (0) 2021.02.05
반응형

 

 

OpenCV PictureBoxlpl 설치.

 

바코드 인식 프로그램을 구현하기 위해 찾던 중 Zxing을 알게 되었다.

이것을 사용하는 C# 예제를 검색하니 OpenCV 가 필요해서 우선 OpenCV 부터 설치했다.

 

NuGet 패키지 관리자에서 OpenCvSharp4를 검색하여 설치.

 

 

가장 최신 버전 이라서 설치했다.

 

 

그런데 설치를 해도 원하는 PictureBoxlpl 도구가 나오지 않았다.

 

그래서 OpenCV를 다시 검색해서 OpenCVSharp3-AnyCPU를 설치.

 

 

설치가 완료되었다.

 

 

Winform을 연 상태에서 도구상자를 선택하니 OpenCVSharp.UserInterface가 등록되어 있다.

참고로 소스가 열린 상태에서 도구상자를 선택하면 도구가 나타나지 않는다.

 

 

PictureBoxlpl 도구를 선택하여 Winform에 배치해 보았다.

이제 OpenCV를 사용할 준비가 되었다. ^^

 

 

 

 

728x90
반응형

'공부 > C#' 카테고리의 다른 글

210208 C# Barcode reader project (2)  (1) 2021.02.11
210202 C# Barcode reader project (1)  (0) 2021.02.10
210128 Pdf2Image winform project (4)  (0) 2021.02.07
210126 Pdf2Image winform project (3)  (0) 2021.02.05
210125 Pdf2Image winform project (2)  (0) 2021.02.01
반응형

 

 

Pdf2Image source를 적용하여 많은 page의 pdf file을 변환하다가 문제점이 발견되었다.

메모리가 소모가 지속적으로 증가하는 것이였다.

작은 page의 PDF file을 변환할 때는 메모리가 증가해도 그다지 문제가 되지 않았으나,

많은 page의 PDF file을 변환할 때는 1GB 이상으로 지속적으로 메모리 소모가 증가되었다.

 

그래서 소스를 확인하고 수정을 해 보았다.

여러번의 시행착오 끝에 아래와 같이 수정하니 메모리의 할당과 해제가 반복되면서 메모리의 증가 현상이 해결되었다.

 

ProcessPDF2Filesystem 함수의 내부에서 image를 얻는 부분과 파일로 image를 저장하는 부분을 아래와 같이 수정하였다.

 

GetPDFImage 함수를 호출하지 않고 그 내용을 그대로 가져와서 사용하고,

사용한 후의 image와 pdFiumBitmap을 Dispose 하여

메모리의 증가 현상을 해결하였다.

 

 

참고로 아래는 원래 호출하여 사용하던 GetPDFImage 함수의 내용이다. 

 

 

아래는 많은 pdf page의 데이터를 변환하는 과정에서의 메모리 변화이다.

 

 

아래는 약 3만 page의 변환을 끝내고 난 뒤의 메모리 상태이다. 

구세대 i5, 8GB RAM의 노트북에서 약 79분 걸렸다. ㅡ.ㅡ; 

 

 

이제 이 라이브러리를 어느 정도 사용할 수 있을 정도가 된 것 같다.

 

 

 

 

728x90
반응형

'공부 > C#' 카테고리의 다른 글

210202 C# Barcode reader project (1)  (0) 2021.02.10
210202 OpenCV PictureBoxlpl  (0) 2021.02.09
210126 Pdf2Image winform project (3)  (0) 2021.02.05
210125 Pdf2Image winform project (2)  (0) 2021.02.01
210124 Pdf2Image winform project (1)  (0) 2021.01.31

+ Recent posts