“기술 상담” 태그의 글
“기술 상담” 태그가 붙은 글 53건을 최신순으로 정리했습니다.
-
장치에 탑재할 OS로서 OpenHarmony는 선택지가 될 수 있는가 ── Windows IoT·임베디드 Linux와의 비교
산업기기의 OS 선정에 OpenHarmony는 포함될 수 있는가. Windows IoT Enterprise LTSC, 임베디드 Linux, OpenHarmony의 유지보수 기간·필요 메모리·개발 환경·조달성을 1차 정보로 비교하고, 채택해도 좋은 조건과 보류해야 할 조건을 판단표로...
-
OpenHarmony란 무엇인가 ── HarmonyOS·HarmonyOS NEXT와의 차이를 정리한다
OpenHarmony와 HarmonyOS는 같은 것이 아닙니다. OpenAtom 재단이 운영하는 오픈소스 OS와, Huawei의 상용 OS, Android 호환을 제거한 HarmonyOS NEXT 이후의 관계를 1차 정보를 바탕으로 체계적으로 정리합니다.
-
Power Automate와 PowerShell+작업 스케줄러의 구분 사용 ── 자동화 도구를 섞지 않고 적재적소로 연결하기
PowerShell+작업 스케줄러의 야간 배치와 Power Automate 플로우가 사내에 혼재되기 시작한 중소기업의 정보시스템 담당자를 위해, 두 도구의 특기 분야 차이, 어느 쪽으로 만들지 판단하는 표, SharePoint를 통해 느슨하게 연결하는 연동 패턴, 라이선스와 유지보...
-
Power Automate의 속인화 대책 ── 만든 사람이 퇴사해도 플로우가 멈추지 않으려면
Power Automate 플로우가 작성자의 퇴사·이동으로 멈추는 속인화 위험에 대한 대책을 정리합니다. 소유자 삭제 시의 동작, 공동 소유자 설정, 고아 플로우의 인수인계, 실행 계정 설계, 플로우 대장을 통한 목록화까지 설명합니다.
-
FAX로 도착하는 주문서를 AI Builder로 읽어들이기 ── 수작업 입력 전기를 줄이는 현실적인 설계와 한계
FAX 주문서의 수작업 입력 전기를 AI Builder의 문서 처리로 줄이는 설계를 해설합니다. 복합기에서의 PDF화, 커스텀 모델 학습, 신뢰도 점수로 사람의 확인을 끼워 넣는 흐름, 크레딧의 비용감, EDI와의 경계까지 정리합니다.
-
Power Automate의 라이선스 ── Microsoft 365로 어디까지 무료인가, 프리미엄이 필요한 것은 언제인가
Power Automate는 Microsoft 365 범위에서 표준 커넥터의 클라우드 플로우를 무료로 만들 수 있지만, HTTP·SQL Server·Dataverse 등 프리미엄 커넥터나 RPA·AI Builder에는 유료 라이선스가 필요합니다. Premium/Process 선택 ...
-
Microsoft Forms로 사내 신청・의뢰 접수창구 만들기 ── 메일과 구두 의뢰를 폼으로 모으기
정보시스템・총무・경리 부서에 도착하는 메일과 구두 의뢰를 Microsoft Forms로 모으는 실전 가이드. 질문 설계와 분기, 조직 내 한정과 익명의 차이, Power Automate를 통한 SharePoint 전기・승인 연계, Forms 단독의 한계까지 정리합니다.
-
Excel 대장을 SharePoint 리스트로 바꾸기 ── 공유・이력・플로우 연계로 「대장이 깨진다」를 졸업하기
공유 폴더의 Excel 대장을 SharePoint 리스트(Microsoft Lists)로 이전하는 실천 가이드입니다. 동시 편집・덮어쓰기・행 어긋남 해결, Excel에서의 가져오기 절차, 열 유형 설계, 리스트 뷰 임계값 5,000의 올바른 이해, Power Automate 연계까...
-
Power Automate의 오류 처리와 재시도 설계 ── "동작하던 플로우가 멈춰 있었다"를 막는 법
Power Automate 플로우가 "어느새 멈춰 있었다"를 막기 위한 설계 패턴 모음. 재시도 정책의 기본값, 스코프에 의한 Try-Catch, 실패 알림, 재제출과 멱등성, 동시 실행 제어까지, Microsoft Learn의 사양을 바탕으로 정리합니다.
-
Power Automate로 정기 실행 플로우를 설계하기 ── 월말 처리・영업일 판정・독촉의 실무
Power Automate의 Recurrence 트리거로 정기 처리를 자동화하는 실전 가이드. 기본 표준 시간대가 UTC라는 함정, 날짜 식, 공휴일 마스터에 의한 영업일 판정, 독촉 설계, 90일 자동 해제 등 운영 시 주의점까지 정리합니다.
-
Power Automate for desktop로 기간계 시스템 전기를 자동화하기 ── Excel·종이 수작업 입력을 UI 자동화로 대체하기
API가 없는 오래된 기간계 시스템으로의 수작업 전기를, Power Automate for desktop(PAD)의 UI 자동화로 대체하는 실전 가이드입니다. 무료로 사용할 수 있는 범위, 무인 실행에 필요한 라이선스, 셀렉터와 예외 처리에 의한 안정화까지 정리합니다.
-
메일로 도착하는 주문서・청구서 PDF를 Power Automate로 자동 처리하기 ── 저장・분류・알림・읽기의 설계
메일로 도착하는 주문서・청구서 PDF의 저장・분류・알림을 Power Automate로 자동화하는 설계를 정리합니다. Outlook 트리거와 공유 메일함의 전제, 서명 이미지 오검출 대책, AI Builder를 이용한 읽기와 라이선스 주의점까지 실무자 관점에서 해설합니다.
-
Power Automate로 승인 흐름 만들기 ── 종이와 메일 결재·신청을 전자화하다
종이 결재서나 메일 첨부 Excel 신청·승인을 Power Automate로 전자화하는 실천 가이드. 승인 작업의 종류, Forms・SharePoint・Teams의 구분 사용, 실행 이력 제한을 고려한 기록 남기기 방법, 반려까지 정리합니다.
-
Excel 매크로 VBA를 Power Automate로 이행하다 ── Office Scripts로 대체할 범위와 VBA로 남겨둘 범위
Excel VBA 매크로를 Power Automate로 이행할 수 있는지를 정리합니다. Office Scripts로 대체할 수 있는 범위와 VBA만이 할 수 있는 것, 커넥터의 제한값, 라이선스 요건, 재고 조사부터 시작하는 단계적 이행 방법까지 설명합니다.
-
장애 대응은 복구로 끝나지 않는다 ── 소규모 개발팀을 위한 포스트모템(재발 방지)의 틀
장애를 「고치고 사과하고 끝」으로 처리하면 같은 장애가 반복됩니다. blameless postmortem을 소규모 팀에 맞게 옮겨, 1시간이면 쓸 수 있는 템플릿, 재발 방지책의 강도 판단표, 실시 트리아지까지 정리합니다.
-
ADR(Architecture Decision Record) 입문 ── 소규모 개발에서 '왜 이런 설계로 했는가'를 남기는 최소한의 방법
코드는 '왜 그렇게 했는지'를 말해주지 않습니다. ADR(Architecture Decision Record)로 설계 판단의 이유를 1결정=1파일의 Markdown으로 남기는 방법을, 템플릿과 작성 여부 판단표, 실제 사례와 함께 해설합니다.
-
테스트 없는 레거시 업무 애플리케이션에 안전하게 손을 대는 방법 ── 특성화 테스트와 리팩터링의 실천
테스트가 없는 업무 애플리케이션에 안전하게 손을 대기 위해, 현재 동작을 고정하는 특성화 테스트(골든 마스터 기법)의 절차, 이음매(seam)를 만드는 방법, 리팩터링과 기능 추가를 섞지 않는 운영 규칙을 C# 예제로 설명합니다.
-
「몇 초 안에 응답하면 만족스러운가」를 정하지 않고 넘어가지 않으려면 ── IPA 「비기능 요구 등급」으로 비기능 요건을 정리한다
「속도가 느리다」「장애 대응이 예상 밖이다」로 다투는 원인의 대부분은 비기능 요건을 정하지 않고 넘어간 데 있습니다. IPA 「비기능 요구 등급」의 6대 항목, 등급표와 모델 시스템의 사용법, 현실적인 활용 방법을 발주자 입장에서 알기 쉽게 설명합니다.
-
자사 개발 Windows 앱이 바이러스로 오탐되었다면 ── Microsoft Defender 오탐 대응과 성능 영향에 대처하는 법
자사 개발 Windows 앱이 Microsoft Defender에 오탐되었을 때의 정규 대응 방법을 정리합니다. 현대 백신 소프트웨어의 구조, Microsoft에 대한 오탐 신고, 격리로부터의 복원, 제외 설정을 올바르게 넣는 방법과 그 위험까지 해설합니다.
-
슬립・최대 절전 모드・Modern Standby와 장시간 가동 앱 ── '한밤중에 멈춰 있었다'를 설계로 막는다
장시간 계속 동작하는 Windows 앱이 '아침에 보니 멈춰 있었다'가 되는 원인을, S3 슬립/최대 절전 모드/Modern Standby의 차이에서 정리합니다. 슬립 중 타이머와 TCP 연결의 동작, SetThreadExecutionState에 의한 억제까지 설명합니다.
-
Arm판 Windows에서 업무 앱은 동작하는가 ── x64 에뮬레이션(Prism)과 네이티브 DLL·COM의 현실
「Arm판 Windows에서 업무 앱은 동작하는가」에 개발자·정보시스템 담당자를 위해 답합니다. x64 에뮬레이션(Prism)의 구조, 드라이버 등 동작하지 않는 계층, .NET의 AnyCPU와 P/Invoke 문제, Arm 대응 체크리스트까지 정리합니다.
-
소스 코드도 사양서도 없는 시스템을 인계받았다면 ── 멈추지 않고 운용·보수하기 위한 실무 절차
소스 코드도 사양서도 없는 업무 시스템의 운용·보수를 시작하는 실무 절차를 정리합니다. 가동 중인 환경의 보전과 백업, 실행 파일·DB의 목록화, 동작으로부터의 사양 복원, 연명·감싸기·재구축의 판단까지 설명합니다.
-
MAX_PATH와 Windows 경로·파일 이름의 함정 ── 260자 제한, 예약어, 끝 점, 대소문자
'파일을 찾을 수 없습니다'의 단골 원인인 경로·파일 이름 제한을 정리합니다. MAX_PATH=260자의 내역, LongPathsEnabled를 통한 긴 경로 활성화, CON 등의 예약어, 끝 점의 정규화, Path.Combine의 함정까지 설명합니다.
-
네트워크 드라이브와 UNC 경로의 함정 ── 업무 앱에서 파일 서버(공유 폴더)를 다루는 실무
업무 앱에서 공유 폴더로 출력・감시할 때 자주 발생하는 문제를 정리합니다. 드라이브 문자(Z:)가 서비스에서 보이지 않는 이유, 실행 계정별로 필요한 권한, 에러 1219, FileSystemWatcher의 주의점까지 해설합니다.
-
Windows 앱의 작업 트레이 상주와 토스트 알림 ── NotifyIcon의 함정과 AppNotification 선택 기준
업무용 Windows 앱을 작업 트레이(알림 영역)에 상주시키고 토스트 알림으로 사용자에게 알리는 구현을 정리합니다. NotifyIcon의 올바른 사용법과 「닫으면 트레이로」설계, 탐색기 재시작 시 재등록, 토스트 API 3종(Windows App SDK AppNotificatio...
-
VB6 애플리케이션은 언제까지 동작할까 ── 런타임 지원 현황과 현실적인 .NET 이전 진행 방법
VB6 애플리케이션은 언제까지 동작할까요. VB6 런타임의 지원 정책(Windows 11도 지원 대상)과 IDE 지원은 이미 종료되었다는 비대칭적인 현황을 정리하고, 전면 재작성・자동 변환・단계적 이전의 판단표, 이전 전 자산 파악, VB6와 .NET의 비호환 지점, C#과 VB....
-
업무 앱의 일본 연호・공휴일・마감일 처리 ── 연호 개원에 강한 설계와 JapaneseCalendar・영업일 계산의 실무
장표에 「레이와 8년」을 표시하고, 공휴일을 제외한 영업일을 계산하며, 20일 마감 익월 말일 지급 ── 일본 업무 앱 특유의 날짜 처리에는 연호 개원, 공휴일의 법 개정, 월말의 반올림이라는 「나중에 바뀌는 사양」이 숨어 있습니다. 이 글에서는 JapaneseCalendar를 이...
-
Process Monitor(ProcMon) 실전 가이드 ── 「설정이 반영되지 않는다」「ACCESS DENIED」를 10분 만에 특정하기
「설정 파일을 수정했는데 반영되지 않는다」「어제까지는 동작했는데 오늘부터 실행되지 않는다」──소스 코드에 손을 대기 전에, Process Monitor(ProcMon)를 사용하면 파일·레지스트리 접근의 실제 동작으로부터 원인을 특정할 수 있습니다. Filter의 실무적인 사용법, ...
-
Windows 앱의 웹 전환, 하지 않는 편이 나은 경우 ── 판단표와 '분할'이라는 현실적 해법
'사내 Windows 앱을 웹으로 만들고 싶다'는 요청이 늘고 있지만, 장치 연동·로컬 파일 처리·오프라인 운용·고속 입력 UI를 갖춘 앱에서는 웹 전환이 오히려 비용 증가와 기능 저하를 부를 수 있습니다. 웹 전환에 적합한 경우와 부적합한 경우를 정리한 판단표와, 전면 웹 전환이...
-
WinForms/WPF 앱 다국어화 ── resx·새틀라이트 어셈블리·컬처 전환 실무
Windows 데스크톱 앱의 다국어화를 CurrentCulture와 CurrentUICulture의 차이, resx와 새틀라이트 어셈블리를 통한 리소스 구조, WinForms의 Localizable 속성, WPF에서의 현실적인 방식 선택, 실행 중 언어 전환, 레이아웃·서식·RTL...
-
CSV는 “그냥 텍스트”가 아니다 ── C# 업무 앱의 CSV 실무(문자 코드・Excel 호환・인젝션 대책)
업무 앱의 CSV 입출력에서 발생하는 전형적인 사고 패턴──Split(',')를 이용한 자체 파싱, BOM 없는 UTF-8의 Excel 문자 깨짐, 선행 0 소실, CSV 인젝션──을 정리하고, RFC 4180의 규칙, .NET에서의 Shift_JIS 처리(CodePagesEnco...
-
HttpClient를 using으로 감싸면 안 되는 이유 ── C# 업무 앱의 HTTP 통신 실무(생성 패턴・타임아웃・재시도)
C#의 HttpClient를 매번 using으로 생성하면 소켓 고갈이, static으로 만들면 DNS 변경을 따라가지 못하는 문제가 발생합니다──이 두 가지 큰 문제의 구조와, PooledConnectionLifetime・IHttpClientFactory를 이용한 올바른 생성 패턴...
-
PerfView와 dotnet-trace로 “느림”의 원인을 찾는다 ── .NET 성능 조사 실무 입문
업무 앱이 “느리다”, “CPU를 다 써버린다”, “가끔 멈춘다”고 할 때, 어떤 도구로 무엇을 봐야 할까요. PerfView와 dotnet-trace의 역할 분담, CPU 샘플링을 읽는 방법(inclusive/exclusive), ThreadTime을 이용한 블록 시간 조사, E...
-
appsettings.json만으로는 부족하다 ── Windows 업무 앱 구성 관리 실무(환경별 설정・비밀 정보・쓰기 위치)
Windows 업무 앱의 구성 관리를 appsettings.json의 계층화, IConfiguration과 IOptions/IOptionsSnapshot/IOptionsMonitor의 구분 사용, 환경별 설정, 쓰기 가능한 설정의 배치 위치, 비밀 정보 처리, 실행 중 설정 변경,...
-
Windows 업무 앱의 인쇄와 PDF 출력 - System.Drawing.Printing / WPF / 보고서 라이브러리 구분 사용법
PrintDocument를 이용한 WinForms 인쇄, WPF의 FlowDocument/FixedDocument 인쇄, PDF 출력의 선택지를 요구사항별 판단표로 정리합니다. 페이지 나눔 제어나 DPI 차이 같은 구현의 함정, Windows 서비스에서의 인쇄, 기본 프린터 의존의...
-
OSI 참조 모델을 확실하게 이미지화하기 ── HTTP 요청 1개를 7계층으로 해부한다
OSI 참조 모델을 암기가 아니라 실물로 이해합니다. HTTP GET 요청 1개를 운반하는 Ethernet 프레임을 C#으로 조립하고 해부해서, L2~L7이 바이트열로서 물리적으로 겹쳐져 있는 모습을 헥스 덤프와 Wireshark로 확인합니다. 각 계층과 .NET API(HttpC...
-
Windows의 세션 분리를 어떻게 이해할까 ── Session 0・RDP・다중 사용자 동시 실행
Windows 앱 개발자가 혼란스러워하기 쉬운 '세션' 개념을 정리합니다. 서비스가 UI를 표시할 수 없는 Session 0 분리의 이유, RDP 접속 시 세션의 동작, 명명된 개체의 세션 분리, 공유 PC・RDS 환경에서 흔히 발생하는 설계 실수까지 실무 관점에서 설명합니다.
-
VB6 / Access 업무 애플리케이션의 연명과 이전 ── 남기다·감싸다·교체하다 판단표
VB6 애플리케이션과 Microsoft Access 업무 앱을 그대로 남길지, 일부만 감싸서 연명할지, 교체할지를 어떻게 판단하는지 정리합니다. 런타임의 현재 상황, ACE의 32bit/64bit 문제, 공유 폴더에서의 다인 이용 리스크, SQL Server로의 업사이징까지 판단표...
-
WinDbg + SOS로 크래시 덤프 읽기 ── 수집 이후 실무 분석 입문
수집한 Windows 크래시 덤프를 WinDbg와 SOS 확장으로 실제로 읽는 절차를 설명합니다. 심볼 경로 설정, !clrstack・!pe・!dumpheap -stat・!gcroot로 예외와 메모리 누수를 추적하는 방법, 네이티브 크래시의 !analyze -v, dotnet-du...
-
Windows 앱의 중복 실행 방지 ── 네임드 Mutex와 재실행 시 창 활성화
업무용 Windows 앱의 정석 요건인 「같은 앱을 두 번 실행시키지 않는다」를 네임드 Mutex로 구현하는 방법을 정리합니다. Global\ 과 Local\ 네임스페이스의 차이로 인한 RDP 환경의 함정, 소유 스레드 제약과 AbandonedMutexException, SetFo...
-
C#에서 Win32 API를 안전하게 호출하기 — P/Invoke 실무 가이드(DllImport / LibraryImport / CsWin32)
C#에서 P/Invoke로 Win32 API나 네이티브 DLL을 호출할 때의 실무 포인트를 정리합니다. DllImport와 LibraryImport의 차이, CsWin32를 이용한 시그니처 자동 생성, 문자열 마샬링의 함정, SafeHandle을 이용한 핸들 관리, SetLastE...
-
WinForms/WPF 앱에 Entra ID 인증 넣기 ── MSAL.NET과 WAM 브로커 실무 구성
WinForms/WPF 데스크톱 앱에 Entra ID(구 Azure AD) 인증을 도입하는 절차를 실무 관점에서 정리합니다. 퍼블릭 클라이언트의 개념, ROPC 폐지 현황, 앱 등록, MSAL.NET의 AcquireTokenSilent 패턴, WAM 브로커, 토큰 캐시 영속화, 도...
-
업무 앱의 날짜/시간과 시간대 ── DateTime의 함정부터 UTC 저장 원칙, 테스트 설계까지
서버 이전 시 시간이 9시간 어긋나거나, 해외 지사에서만 날짜가 하루 전날이 되는 문제──날짜/시간 사고의 원인을 DateTime의 Kind와 암묵적 변환부터 정리합니다. DateTimeOffset과의 구분 사용, UTC 저장과 ISO 8601 원칙, TimeZoneInfo와 일광...
-
WPF의 고DPI 대응 ── 「DPI에 강할 텐데」인데도 흐릿하고・번지는 원인과 대처
WPF는 DIP(1/96인치)로 레이아웃되어 처음부터 System DPI Aware이지만, DPI가 다른 모니터로 옮기면 전체가 번지고, 비트맵이나 단선은 흐릿해집니다. 원인 구분, .NET Framework 4.6.2/.NET에서의 Per-Monitor DPI 대응, UseLay...
-
C#의 Excel 조작에서 EXCEL.EXE가 남는 문제 ── COM 참조 해제 패턴과 교체 판단
C#에서 Microsoft.Office.Interop.Excel로 Excel을 조작하면 EXCEL.EXE 프로세스가 남는 문제를, COM 참조 카운트와 RCW의 원리로 정리합니다. 2닷 규칙의 함정, Marshal.ReleaseComObject파와 GC파의 해제 패턴, Hwnd로 ...
-
WinForms의 고DPI 대응 - 4K 모니터에서 흐려지거나 깨지는 원인과 현실적인 대처법
4K 모니터나 150% 스케일링 환경에서 WinForms 앱이 흐려지거나 레이아웃이 깨지는 원인을 DPI 가상화와 DPI 인식 모드(System Aware / Per-Monitor V2) 관점에서 정리합니다. .NET과 .NET Framework 각각의 설정 방법, AutoScal...
-
Windows의 프로세스 간 통신을 어떻게 선택할까 ── 네임드 파이프 / TCP / gRPC / 공유 메모리 / COM 판단표
Windows 앱 사이의 연동 수단을 어떻게 선택할지 정리합니다. 네임드 파이프, 로컬 TCP, gRPC, 공유 메모리, 파일 연동, COM 각각의 강점과 함정을 판단표로 정리하고, UI+서비스 분리・32bit/64bit 브리지・권한 경계 같은 정형 구성과 네임드 파이프 구현 예시...
-
C#에서 SQLite를 업무 앱에 쓰는 법 ── WAL 모드・배타 제어・손상 대책・EF Core와의 구분
Microsoft.Data.Sqlite로 SQLite를 업무용 Windows 앱에 통합하는 실무 지식을 정리합니다. 연결 문자열과 풀링, WAL 모드의 원리, SQLITE_BUSY와 쓰기 경로 단일화, 트랜잭션을 이용한 고속화, 타입 매핑의 함정, VACUUM INTO를 이용한 백...
-
Windows 서비스 만드는 방법과 운영 ── 태스크 스케줄러와의 구분 사용부터 BackgroundService의 서비스화까지
상주 처리를 Windows 서비스로 만들어야 할지, 태스크 스케줄러로 충분한지를 판단표로 정리하고, .NET Worker Service(UseWindowsService)를 이용한 서비스 제작 방법, 실행 계정・복구 옵션・이벤트 로그・안전한 정지 처리까지, 운영에 올리기 위한 설계를...
-
IE 모드 다음은 WebView2로 괜찮은가 ── ActiveX가 동작하지 않는 제약과 현실적인 마이그레이션 설계
WebView2의 기본 구조, Evergreen과 Fixed Version의 배포 전략, 사용자 데이터 폴더의 함정, 네이티브와 Web의 연동 방법, 그리고 「ActiveX는 동작하지 않는다」는 제약을 고려한 IE 모드 의존 시스템으로부터의 현실적인 마이그레이션 순서를 사내 시스템...
-
Windows 앱 데이터 저장 위치를 고르는 방법 ── SQLite / JSON / 레지스트리 / Access 판단표
Windows 데스크톱 앱의 데이터를 어디에·무엇으로 저장할지 정리합니다. AppData/ProgramData 구분, SQLite・JSON 파일・레지스트리・Access(.accdb) 각각의 강점과 함정을 판단표로 정리하고, 손상 대책과 비트 수 문제까지 실무 관점에서 설명합니다.
-
작업 스케줄러 작업이 실행되지 않는다・0x1로 끝난다 ── 원인 분리와 안전한 운영 설계
Windows 작업 스케줄러의 실행 계정과 로그온 종류, 「사용자가 로그온했는지 여부와 관계없이 실행」의 의미, 0x1로 끝나는 전형적인 원인, 기록 활성화, 중복 실행 방지, PowerShell 스크립트를 올바르게 호출하는 방법까지, 정기 실행을 운영에 안착시키기 위한 설계 지침...
-
Power Automate로 업무 자동화하기 ── 클라우드 플로우・데스크톱 플로우 구분과 오류 처리 설계
Power Automate의 클라우드 플로우와 데스크톱 플로우의 차이, PowerShell/VBA와의 역할 분담, 라이선스, 오류 처리, UI 자동화 안정화, 자격 증명의 안전한 처리까지, 업무 자동화를 운영에 올리기 위한 실전 설계 지침을 정리합니다.