전체 글 16

OPC UA Client Toolkit 사용시 기본설정

https://integrationobjects.com/FileDownload/PDF/OPCUAClientToolkitUserGuide2.0rev1.pdf 공식 홈페이지의 유저 가이드를 참고해도 된다. 버전에 따라 dll 파일이 다른것 같으므로 구매한 버전에 맞는 가이드를 구매처에 요청하는 것도 방법이다. 포스팅 시점 공식 홈페이지의 버전은  2.0 Rev 1  OPC 통합 아키텍쳐는 1.04 를 기준으로 작성되어있다. 내가 구입해서 쓰고 있는 버전은  1.1 Rev 0    OPC 통합 아키텍쳐는 1.02 이다. 필요 자료  Logger.SDKOpc.Ua.CoreOpc.Ua.UtilitiesOpcUaNetClientToolkit 보통 이렇게와 License 파일을 놓고 디버깅하면 나머지는 자동으로 참조..

WORK/OPC 2025.04.09

SQL Server Agent 계정 변경

설치한 MSSQL의 Configuration Manager 를 실행    기본 계정은 NT Service\SQLSERVERAGENT  이 계정은 window 계정으로 사용자가 직접 로그인 하거나 할 수 없다.  SQLSERVERAGENT 계정은 관리자 등급의 보안등급이 아닌지 원격 환경에서 상대방의 everyone 접근공유도 막히는 경우가 있다.   SQL Server Agent 를 더블클릭 하거나 우클릭하여 속성을 선택한다.    Browse 를 클릭  고급(advanced) 를 클릭 찾기를 클릭한다.   아래로 내리면 로컬 로그인계정 ( 관리자 권한 ) 이 보인다.클릭해서 로그인 계정으로 선택한다. SQL Server Agent를 재시작하면 이제부터 Agent는 선택한 계정의 권한을 가지고 실행된다...

WORK/MSSQL 2025.04.08

가상 포트를 사용한 시리얼 통신 에뮬레이터 VSPE (Virtual Serial Ports Emulator)

홈페이지https://eterlogic.com/Products.VSPE_Download.html Eterlogic - Eterlogic Software Virtual Serial Ports Emulator (VSPE)This version contains new features, changes and bug fixes based on user feedback. Click the button below to download Beta version for all platforms (x86, x86_64 and arm64). What's new in Beta version? TcpServer, TcpClient, Bridge: managing TCP Keep-Alive peterlogic.com 릴리즈 버전과..

WORK/ETC. 2025.04.02

MSSQL 병합복제 C#에서 동기화 작업 실행하기 merge replication how to sending to subcription PC a sync command From C#

구독자PC에서 끌어오기 방식으로 SQL Server Agent를 직접 컨트롤 하려면SQLServer RMO , SMO , management.common , replication 같은 dll이 필요하다. 다만 이 레퍼런스는 SQL의 버전과 dll의 버전 등이 완전 일치해야 작동되며 작업환경이 제한적인 프로젝트인 경우 자유롭게 버전을 변경하지 못해 사용이 불가능하다. 때문에 T-SQL을 사용하여 SQL Server Agent의 job 자체에 명령을 내려 동기화 트리거를 실행하는 방식으로 간단히 사용할 수 있다. 필수 조건은 이미 SQL Server Agent의 작업이 있어야 한다.  구독자 PC의 서버에서 sql server agent란을 확인하면 작업이 제대로 작성되었는지 확인이 가능하다.반드시 작업이 ..

WORK/MSSQL 2025.03.31

SQL Server Managetment Studio(SSMS) 숫자 영어 입력시 늘어나는 현상 (전각 반각 자동전환)

윈도우 11 기준  시작 표시줄에 키보드 입력 탭을 우클릭한다  (A , 가 라고 되어있는 부분을 마우스 우 클릭) 설정을 클릭한다.    이전 버전의  Microsofg IME 스위츠를 (켬) 으로 바꾼다.    이제 자동으로 뀌는 일이 없다. 혹시라도 위 설정을 사용하지 못 할 경우에는 반전자 전환이 생길때마다 Alt + = 를 눌러주면 된다.

WORK/MSSQL 2025.03.31

browser response state code 200 , 304

브라우저에서 서버로 fetch가 이루어 지면 reqeust에 따른 response 결과중에 상태코드가 200과 304를 오가는 경우  확인을 위해서는 크롬에서 DevTool 을 열어서 확인 가능하다. 메뉴탭에 네트워크를 선택하면 브라우저가 서버로 보내는 fetch를 확인할 수 있는데 요청 메서드:GET상태 코드:200 OK  요청 메서드:GET상태 코드:304 Not Modified   브라우저가 캐싱하고 있는 데이터에 변경점이 있다면 200  변경점이 없다면 304 코드를 반환한다. 304의 뜻은 보이는대로 Not Modified 변경되지 않았다는 뜻이다.

WORK/WEB 2025.03.31

[React] SetInterval 을 대신할 UseInterval

기존 웹 프로젝트를 고치면서 UseEffect내에 사용하는 기존 SetTimeout 과 SetInterval 을 이요하는 호출 프로세스는 지속적으로 켜놓는 웹프로젝트에 언제 잘못될지 모르는 시간폭탄 같았다.어느순간 꼬이기 시작하면 Client 브라우저가 꺼져버리는 현상이 발생하고 브라우저가 꺼지면 Dev Tool에서 보던 데이터도 날아가서 너무 힘들었다.그렇다고 이 모든걸 파일로 로깅하면 데이터의 양이 너무 방대하고...  아무튼 구글링을 해보니 커스텀 훅을 누군가 올려놨다. 참고링크https://usehooks-ts.com/react-hook/use-interval  UseInterval 뿐 아니라 굉장히 좋은 훅들이 많이 있으니 하나씩 둘러볼 예정.  우선 UseInterval을 사용하기 위해서 파일..

WORK/WEB 2025.03.31

Cache-Control 에 관하여

일반적으로 브라우저는 캐시를 저장하고 해당 캐시를 사용함으로 리소스를 절약한다. 하지만 빈약한 운영체제 ( 안드로이드 TV용 잡다한 웹 브라우저 등등) 에서는 해당 캐시 메모리를 저장하는것 만으로도 나중에 뻗어버리는 경우가 생긴다. 때문에 일반적인 웹페이지가 아닌 사용자의 개입이 없고 페이지 이동이 없는 모니터링 페이지의 경우 캐시를 저장할 이유가 없다. Cache-Control을 추가하여 Cache의 속성을 컨트롤 할 수 있다. 구글링을 하면 기본적으로  자바스크립트의 헤더를 사용하여 페이지 컨트롤을 한다.                기본적으로 Pragma는 HTML 1.0을 위한 환경에서 옵션이 적용된다고 한다. (1.0 환경에선 cache-control을 무시하고 저장 될 수 있다는 뜻)크롬 파폭 ..

WORK/WEB 2025.03.31

[C#] 중복 실행 방지 Mutex

Window application이 중복실행되지 않도록 Mutext를 사용한다. C# Winform 프로젝트를 생성하면 Program.cs 가 자동으로 생성된다. 기본골조static void Main(){                Application.EnableVisualStyles();                Application.SetCompatibleTextRenderingDefault(false);                Application.Run(new form1());}    Mutext 추가 static void Main()        {            bool MuCheck;            System.Threading.Mutex CheckM1 = new Syste..

WORK/C# 2025.03.31