Hot
-
C#
EXCEL에서 CODE 128 폰트로 읽을 수 있는 바코드 만들기 렛츠 고우
조천 농협 선과 프로그램 개발중에 라벨 프린터에 바코드를 담은 엑셀 파일을 던져줘야 하는 상황이 발생했다 .단순히 Code 128 폰트만 다운 받아서 설치하면 되는 줄 알았던 나는 생성된 바코드가 리더기를 통해 읽어지지 않는 상황을 받아 드릴 수 가 없었다. 왜 다른 바코드는 읽히는데 내가 만든 바코드는 읽히지 않을까 Code 128 은 Code 38에 비해 바코드 구성이 복잡하고 동일한 데이터도 훨씬 짧은 바코드를 구성한다. -> Code 38를 사용하는경우 단순하게 *1234* 별표를 앞뒤로 추가하여 작성 후 폰트 변경을 해주면 정상적인 바코드가 생성된다. -> 하지만 농협에서 사용하는 바코드는 Code 128이라 무조건 해당 바코드를 생성 해내야 했다. -> 유투브: www.youtube.co..
-
DeepLearning
F1-Score에 대하여 [ 정분류율, 오분류율 , 민감도, 재현율, 특이도, 정확도, F1-Score]
TP : 실제로 양성인 것을 양성이라고 맞게 예측 TN : 실제로 음성인 것을 음성이라고 맞게 예측 FN : 실제로 양성인 것을 음성이라고 틀리게 예측 FP : 실제는 음석인 것을 양성이라고 틀리게 예측 정분류율( Accuracy) 계산식 : (TP + TN) / (TP + TN+ FN+FP) 전체 데이터 중에 모두 잘 맞게 분류한 비율 오분류율( Error Rate) 계산식 : ( FP + FN ) / (TP + TN+ FN+FP) 전체 데이터 중에 모두 틀리게 분류한 비율 민감도(Sensitivity) = 재현율 (Recall) 계산식 : TP / (TP+FN) 실제 양성인 데이터를 판별하여 정말로 맞게 양성으로 분류한 비율 특이도(Specificity) = 진음성률(True Negative Rate..
-
SW Dev Portfolio
CPU 코어와 스레드: 동시성·시분할·병렬 처리 한눈에 이해하기
핵심 개념 정리1. CPU 코어실제로 명령어를 계산하는 물리적인 작업자입니다.1코어: 실제 작업자 1명2코어: 실제 작업자 2명코어가 많을수록 여러 계산을 실제로 동시에 처리하기 유리합니다.2. 하드웨어 스레드CPU가 동시에 받아들일 수 있는 실행 흐름 자리입니다.1코어 1스레드: 실행 흐름 자리 1개1코어 2스레드: 실행 흐름 자리 2개지만, 물리 코어 자원은 공유2코어 2스레드: 각 코어에 실행 흐름 자리 1개씩 존재1코어 2스레드= 직원 1명 + 업무 진행표 2개2코어 2스레드= 직원 2명 + 직원별 업무 진행표 1개3. 소프트웨어 스레드프로그램 내부에서 만든 독립적인 실행 흐름입니다.소프트웨어 스레드 A: 화면 처리소프트웨어 스레드 B: 파일 다운로드소프트웨어 스레드 C: 계산소프트웨어 스레드 D..
-
DeepLearning
CVAT 오픈소스 구축 방법 정확하게 알려드립니다 feat . Docker, Git 세팅
openvinotoolkit/cvatPowerful and efficient Computer Vision Annotation Tool (CVAT) - openvinotoolkit/cvatgithub.comgoddaehee.tistory.com/251 [Docker (1)] window10 Docker 설치하기(윈도우 10 도커 설치)[Docker (1)] window10 Docker 설치하기(윈도우 10 도커 설치) 안녕하세요. 갓대희 입니다. 이번 포스팅은 [ Window10 도커 설치 ] 입니다. : ) 도커 설치하기 ▶ 1. 도커란? 도커 설치와 관련된 포스팅 이기.goddaehee.tistory.com윈도우 상에서 도커 설치하는데는 이블로그의 도움을 많이 받았다. 도커를 설치했다고 바로 실행 안..
-
Blender
블랜더 Blender 두 가지 영상 합성 방법 쉽게 알려드립니다.
Blender Tool을 사용하여 영상에 연기 합성하는 방법 영상 합성 방법은 해당 유투브를 참고하여 제작하였습니다. https://www.youtube.com/watch?v=43RpGoA-KNU 영상 합성하는 건 생각보다 쉽습니다. 블렌더에서 제공하는 노드라는 개념의 기술을 사용하여 손쉽게 눈으로 확인하면서 합성이 가능합니다. 하지만 워낙 다양한 방법과 기술이 들어가 있어 여기서는 위 유투브 영상에서 나오는 부분의 일부분만 소개하고자 합니다. 블랜더 프로그램을 실행했을 때 나오는 기본 화면에서 Compositing 을 눌러서 합성 화면으로 넘어 갑니다. 화면 전환 후 라디오 박스를 클릭하면 2개의 노드 박스가 생성됩니다. 여기서 우리는 렌더 레이어가 필요 없기에 연결된 선을 제거하고 삭제해 줍니다. 연..
-
Docker
Ubutu 22.04 LTS에 Docker Desktop 설치하는 방법 [ERROR 해결]
우선 우분투 버전을 확인해 줍니다. 22.04.1 LTS 버전이네요 https://docs.docker.com/desktop/install/ubuntu/ Install Docker Desktop on Ubuntu docs.docker.com 도커 홈페이지에 들어가 줍니다. 들어가면 deb pkg 를 다운 받을 수 있는 버튼이 있네요 Prerequisites : 사전에 준비해야하는 것들 -> 우분투에 패키지 설치하기 전에 준비해야하는게 있나 봅니다. Meet the system requirements 일단 시스템 요구사항을 확인 하랍니다. 최신 pc가 아니면 한번 확인 해보세요 Have a 64-bit version of either Ubuntu Jammy Jellyfish 22.04 (LTS) or Ub..
최신 글
-
Javascript Javascript웹 백엔드 학습 No.1 : Token 만드는 코드 -> Farcade Pattern PADpadStart와 padEnd 함수는 ES8(ES2017)에 새롭게 추가된 기능이다. pad는 좌우에 특정한 문자열로 채우는 기능이다. 좀더 자세히 얘기하면 첫번째 파라미터인 maxLength를 받아 문자열의 길이가 maxLength보다 작을 경우 나머지를 특정한 문자열로 채워주는 기능이다. 이때 두번째 문자열을 넘겨주지 않으면 빈 공백으로 문자열을 채운다.const result = String(Math.floor(Math.random() * 1000000)).padStart(6, "0");console.log('result', result)Tokenconsole.log("안녕하세요 !")function getToken(num) { const result = String(Math.floor(..
-
DataBase 업그레이드 할 수 없는 아이템 구하기 -서브쿼리 사용 https://school.programmers.co.kr/learn/courses/30/lessons/273712 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr[SQL] 더 이상 업그레이드할 수 없는 아이템 조회하기문제각 아이템들은 업그레이드가 가능하며, 업그레이드한 아이템을 ITEM_TREE 테이블에서 관리하고 있습니다.ITEM_TREE 테이블의 PARENT_ITEM_ID는 해당 아이템으로 업그레이드하기 전 아이템의 ID를 의미합니다.더 이상 업그레이드할 수 없는 아이템의 아이템 ID(ITEM_ID), 아이템명(ITEM_NAME), 아이템의 희귀도(RARITY)를 출력하는 SQL문을 작성해야 합니다.결과는 .. -
SW Dev Portfolio CPU 코어와 스레드: 동시성·시분할·병렬 처리 한눈에 이해하기 핵심 개념 정리1. CPU 코어실제로 명령어를 계산하는 물리적인 작업자입니다.1코어: 실제 작업자 1명2코어: 실제 작업자 2명코어가 많을수록 여러 계산을 실제로 동시에 처리하기 유리합니다.2. 하드웨어 스레드CPU가 동시에 받아들일 수 있는 실행 흐름 자리입니다.1코어 1스레드: 실행 흐름 자리 1개1코어 2스레드: 실행 흐름 자리 2개지만, 물리 코어 자원은 공유2코어 2스레드: 각 코어에 실행 흐름 자리 1개씩 존재1코어 2스레드= 직원 1명 + 업무 진행표 2개2코어 2스레드= 직원 2명 + 직원별 업무 진행표 1개3. 소프트웨어 스레드프로그램 내부에서 만든 독립적인 실행 흐름입니다.소프트웨어 스레드 A: 화면 처리소프트웨어 스레드 B: 파일 다운로드소프트웨어 스레드 C: 계산소프트웨어 스레드 D..
-
카테고리 없음 PLC 이더넷 통신 초기 셋팅 1. XG5000 프로그램에서 새프로젝트 생성 2. USB 케이블로 PC 에 연결후 PLC 읽기 3. 접속설정 LSPLC 4. 온라인 탭 -> 읽기 모드읽기 선택 후 해당 알림창이 뜨면 예 클릭 기존 프로그램에 셋팅된 모듈을 제거 하고 실제 PLC 설치된 모듈로 셋팅해준다 모두 선택 이런 경우에 트리 구조중 데이터 메모리를 클릭하여 전부 선택 후 읽기 진행 PC IP 대역과 동일하게 셋팅하기 그리고 우선 다시 PLC 쓰기를 진행해야한다 간소한 셋팅으로 진행 [스톱] 프로그램도 체크 제거 후 확인 버튼 쓰기를 모두 마치고 PLC 전원은 1회 차단 했다가 다시 공급 접속 설정 - LSPLC 에서 Ethernet Module 로 변경 설정 버튼 클릭 IP 찾기 버튼으로도 진행 가능 확인 클릭 후 접속 테스..
-
C# TCP/IP 통신 정리 TCP /IP란 TCP/IP는 인터넷이나 내부 네트워크에서 데이터를 주고받기 위한 대표적인 통신 규칙입니다. 두가지 핵심 프로토콜을 함께 부르는 말입니다. TCP = Transmission Control Protocol ( 전송제어 프로토콜 )IP = Internet Protocol (인터넷 프로토콜 ) TCP = 데이터가 손실 없이 제대로 도착했는지 관리하는 역할IP = 목적지까지 데이터를 보내는 역할 TCP의 역할1. 연결 관리 2. 신뢰성 보장3. 순서 보장4. 재전송5. 흐름 제어 6. 혼잡제어TCP는 단순히 데이터를 보내는것이 아니라상대방과 연결을 맺고 , 데이터 순서를 확보하고 도착여부를 확인하고 손실되면 다시 보내고 상대방이 받을 수 있는 만큼만 보내고 네트워크가 혼잡하면 속도를 줄이고..
-
카테고리 없음 await은 Thread를 막지는 않는다. 하지만 await을 쓴 "현재 메서드의 다음 줄 실행" 은 기다리게 만든다 이 두개는 서로 다른 말이다private async void BTN_Connect_Click(object sender, EventArgs e){ MessageBox.Show("1. 연결 시작"); await PlcScanLoopAsync(plc, token); MessageBox.Show("2. 스캔 루프 종료됨");}1. PlcScanLoopAsync가 시작됨2. PLC 통신 await 지점에서 UI Thread는 풀려남3. 그래서 화면은 멈추지 않음4. 다른 버튼 클릭도 가능함5. 하지만 MessageBox.Show("2. 스캔 루프 종료됨")은 실행 안 됨6. PlcScanLoopAsync가 완전히 끝나야 그 아래 줄이 실행됨Thread는 막히지 않아서 UI 쪽 작업을 한다던지 다른.. -
C# EXCEL에서 CODE 128 폰트로 읽을 수 있는 바코드 만들기 렛츠 고우 조천 농협 선과 프로그램 개발중에 라벨 프린터에 바코드를 담은 엑셀 파일을 던져줘야 하는 상황이 발생했다 .단순히 Code 128 폰트만 다운 받아서 설치하면 되는 줄 알았던 나는 생성된 바코드가 리더기를 통해 읽어지지 않는 상황을 받아 드릴 수 가 없었다. 왜 다른 바코드는 읽히는데 내가 만든 바코드는 읽히지 않을까 Code 128 은 Code 38에 비해 바코드 구성이 복잡하고 동일한 데이터도 훨씬 짧은 바코드를 구성한다. -> Code 38를 사용하는경우 단순하게 *1234* 별표를 앞뒤로 추가하여 작성 후 폰트 변경을 해주면 정상적인 바코드가 생성된다. -> 하지만 농협에서 사용하는 바코드는 Code 128이라 무조건 해당 바코드를 생성 해내야 했다. -> 유투브: www.youtube.co..