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 서버에 사용되는..
-
Python
VScode PyGame 설치 방법, 틀 형성 코드 및 Linting 설정
pip3 install pygame 파일 -> 기본설정 -> 설정 -> 검색창에 linting 검색 -> Python > Linting : Enabled 체크 해제 이렇게 해야 파이게임이 문제 없이 실행 됩니다. 간단한 코드로 pygame 화면을 생성해 봅시다. import pygame pygame.init() # 초기화 반드시 필요 # 화면 크기 설정 screen_width = 480 # 가로크기 screen_height = 640 # 세로크기 screen = pygame.display.set_mode((screen_width, screen_height)) # 화면 타이틀 설정 pygame.display.set_caption("Joonho Game") # 이벤트 루프 running = True # 게임..
-
Error Notes
org.apache.catalina.webresources.Cache.getResource error ~ 에 위치한 리소스를 웹 애플리케이션 [] 을(를) 위한 캐시에 추가할 수 없습니다.
에러발생 26-Jul-2023 01:43:24.821 경고 [ajp-nio-0.0.0.0-8009-exec-96] org.apache.catalina.webresources.Cache.getResource [ 특정 경로 ]에 위치한 리소스를 웹 애플리케이션 [/index]을(를) 위한 캐시에 추가할 수 없습니다. 왜냐하면 만료된 캐시 엔트리들을 없애버린 이후에도 여유 공간이 충분하지 않기 때문입니다. 캐시의 최대 크기를 증가시키는 것을 고려해 보십시오. 신청 접수 페이지에서 갑자기 접수가 안된다는 연락을 받고 열어보니 해당 에러를 발견할 수 있었다. 처음보는 에러고 왜 그런지 알 수 없으나 일단 검색하여서 처리 하였다. 해결방법 이 오류 메시지는 Tomcat이 웹 애플리케이션 [/ud]의 캐시에 리소스를..
-
Linux
Ubuntu - 리눅스에 최적화 된 MailCow 메일 서버 우분투에 설치하기
새로 회사에 구축한 우분투 서버에 hMailServer 대체품인 MailCow 설치 하는데 어려움이 있어 글을 남긴다 이게 설치할 때 버전 문제도 많이 생기는거 같아 도움이 될지 모르겠다. https://wiki.crowncloud.net/How_to_Install_Gitea_on_Ubuntu_18_04?How_to_install_Mailcow_Server_on_Ubuntu_18_04 How To Install Mailcow Server On Ubuntu 18 04= wiki.crowncloud.net https://www.youtube.com/watch?v=H4z-5zB7WHk 일당 이 두개를 제일 많이 참고 했는데 hostnamectl set-hostname mail.example.com 일단 이와 ..
-
Blender
블랜더 Blender 두 가지 영상 합성 방법 쉽게 알려드립니다.
Blender Tool을 사용하여 영상에 연기 합성하는 방법 영상 합성 방법은 해당 유투브를 참고하여 제작하였습니다. https://www.youtube.com/watch?v=43RpGoA-KNU 영상 합성하는 건 생각보다 쉽습니다. 블렌더에서 제공하는 노드라는 개념의 기술을 사용하여 손쉽게 눈으로 확인하면서 합성이 가능합니다. 하지만 워낙 다양한 방법과 기술이 들어가 있어 여기서는 위 유투브 영상에서 나오는 부분의 일부분만 소개하고자 합니다. 블랜더 프로그램을 실행했을 때 나오는 기본 화면에서 Compositing 을 눌러서 합성 화면으로 넘어 갑니다. 화면 전환 후 라디오 박스를 클릭하면 2개의 노드 박스가 생성됩니다. 여기서 우리는 렌더 레이어가 필요 없기에 연결된 선을 제거하고 삭제해 줍니다. 연..
최신 글
-
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..