Hot
-
C#
EXCEL에서 CODE 128 폰트로 읽을 수 있는 바코드 만들기 렛츠 고우
조천 농협 선과 프로그램 개발중에 라벨 프린터에 바코드를 담은 엑셀 파일을 던져줘야 하는 상황이 발생했다 .단순히 Code 128 폰트만 다운 받아서 설치하면 되는 줄 알았던 나는 생성된 바코드가 리더기를 통해 읽어지지 않는 상황을 받아 드릴 수 가 없었다. 왜 다른 바코드는 읽히는데 내가 만든 바코드는 읽히지 않을까 Code 128 은 Code 38에 비해 바코드 구성이 복잡하고 동일한 데이터도 훨씬 짧은 바코드를 구성한다. -> Code 38를 사용하는경우 단순하게 *1234* 별표를 앞뒤로 추가하여 작성 후 폰트 변경을 해주면 정상적인 바코드가 생성된다. -> 하지만 농협에서 사용하는 바코드는 Code 128이라 무조건 해당 바코드를 생성 해내야 했다. -> 유투브: www.youtube.co..
-
Linux
리눅스 우분투에서 원도우 원격 접속하기 (rdesktop, remmina)
[rdesktop]https://ko.wikipedia.org/wiki/Rdesktop rdesktop - 위키백과, 우리 모두의 백과사전위키백과, 우리 모두의 백과사전.ko.wikipedia.orgrdesktop은 마이크로소프트의 원격 데스크톱 프로토콜(RDP)의 클라이언트 소프트웨어 구현체이다. rdesktop은 GNU 일반 공중 사용 허가서(GPL-3.0 이상)의 요건에 종속되는 자유-오픈 소스 소프트웨어이며 리눅스, BSD, 마이크로소프트 윈도우용으로 이용이 가능하다. 2013년 9월 기준으로 rdesktop은 RDP 5 프로토콜의 큰 부분 집합을 구현한다. 현대 버전의 윈도우의 원격 데스크톱 연결과는 달리 rdesktop은 윈도우 NT 4.0 터미널 서버 에디션과 윈도우 2000 서버에 사용되는..
-
카테고리 없음
PLC 이더넷 통신 초기 셋팅
1. XG5000 프로그램에서 새프로젝트 생성 2. USB 케이블로 PC 에 연결후 PLC 읽기 3. 접속설정 LSPLC 4. 온라인 탭 -> 읽기 모드읽기 선택 후 해당 알림창이 뜨면 예 클릭 기존 프로그램에 셋팅된 모듈을 제거 하고 실제 PLC 설치된 모듈로 셋팅해준다 모두 선택 이런 경우에 트리 구조중 데이터 메모리를 클릭하여 전부 선택 후 읽기 진행 PC IP 대역과 동일하게 셋팅하기 그리고 우선 다시 PLC 쓰기를 진행해야한다 간소한 셋팅으로 진행 [스톱] 프로그램도 체크 제거 후 확인 버튼 쓰기를 모두 마치고 PLC 전원은 1회 차단 했다가 다시 공급 접속 설정 - LSPLC 에서 Ethernet Module 로 변경 설정 버튼 클릭 IP 찾기 버튼으로도 진행 가능 확인 클릭 후 접속 테스..
-
Machine vision
제어반 이해를 위한 전압·전류 개념 정리
제어반 이해를 위한 전압·전류 개념 정리1. 전압, 전류, 전력의 기본 개념전압 Voltage, V전압은 전기를 밀어주는 힘입니다.쉽게 말하면 물의 수압과 비슷합니다. 수압이 높으면 물을 강하게 밀어내듯이, 전압이 높으면 전기를 강하게 밀어냅니다.단위: V, 볼트의미: 전기를 밀어주는 압력제어반 예시:AC440V: 모터를 돌리는 동력 전원AC220V: 제어회로, MC 코일, PLC 전원 등에 사용DC24V: PLC 입력, 센서, 릴레이, 램프 신호 등에 사용전류 Current, A전류는 실제로 흐르는 전기의 양입니다.물로 비유하면 수도관을 실제로 흐르는 물의 양입니다.단위: A, 암페어의미: 전기가 실제로 흐르는 양제어반 예시:PLC 입력: 매우 작은 전류램프: 작은 전류MC 코일: 중간 정도의 전류모터..
-
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..
-
SW Dev Portfolio
🔹 유료 SSL 인증서 설정 및 적용 방법 (Apache Tomcat 기준)
유료 SSL 인증서는 일반적으로 DigiCert, GlobalSign, Sectigo(구 Comodo), GoDaddy 같은 인증 기관(CA)에서 발급받으며, 이를 Tomcat에 적용하는 과정은 다음과 같습니다. 📌 1. 기존 SSL 인증서 확인 및 새로운 도메인용 SSL 발급✅ 1) 기존 인증서 확인먼저 기존 인증서가 어떻게 적용되어 있는지 확인해야 합니다.🔍 확인 방법:1. Tomcat server.xml에서 SSL 설정 확인cat /opt/tomcat/conf/server.xml | grep SSLCertificate혹은 위 설정이 있다면 기존 인증서 파일 위치를 확인하세요.✅ 2) 새로운 도메인용 SSL 인증서 발급유료 SSL 인증서를 새 도메인으로 발급받아야 합니다..
최신 글
-
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..
-
SW Dev Portfolio
PLC 멀티 통신 비동기 전환 정리 문서
1. 개발 목적기존 프로그램은 단일 PLC와 1:1로 통신하는 구조였다.이후 여러 PLC를 동시에 등록하고 각각 주기적으로 데이터를 읽기 위해 FormMulti 구조를 만들었다.초기 멀티 통신은 PLC마다 Task.Run()을 사용해서 백그라운드 작업을 만들고, 그 안에서 동기 소켓 통신 함수를 호출하는 방식이었다.정리하면 기존 멀티 구조는 다음과 같았다.PLC 1 → Task.Run → 동기 Socket 통신PLC 2 → Task.Run → 동기 Socket 통신PLC 3 → Task.Run → 동기 Socket 통신이 구조는 PLC 수가 적을 때는 괜찮지만, PLC가 100대, 500대처럼 많아지면 각 PLC 통신 대기마다 스레드가 점유될 수 있어 부담이 커진다.그래서 이번 대화에서는 동기 소켓 통신..