전체 글
-
Entity-DTO 매핑 자동화SKMR/Web 2025. 8. 4. 21:45
문제 정의 : Entity - DTO 수동 매핑으로 인한 개발 작업 지연 및 유지보수성 감소public class UserDto{ public int Id { get; set; } public string Name { get; set; } public string Email { get; set; }}public UserDto GetUser(int id){ var user = _db.Users.FirstOrDefault(u => u.Id == id); if (user == null) return null; return new UserDto { Id = user.Id, Name = user.Name, Email = user.Email..
-
가상 스크롤링 적용SKMR/Web 2025. 6. 16. 21:13
문제 정의 :사내 System 조회 Page 초기 실행 시 약 15초 소요원인 :불필요한 API 호출 多Pagination 없이 Table 전체 렌더링해결 방법 :API 호출 최소화Tabulator 도입 → 가상 스크롤 적용결과 :API 호출 94% 축소(830회 → 55회)실행 속도 80% 감소(14.47s → 2.99s)참고 :기능TabulatorDataTables비고열 필터 (header filter)✅ headerFilter 옵션❌ 수동 구현 필요 직접 넣고 JS 이벤트 바인딩행 편집 (inline editing)✅ 기본 내장❌ 플러그인 또는 수동 구현Tabulator는 editor 속성 사용그룹핑 (group rows)✅ groupBy로 바로 가능❌ RowGroup 플러그인 필요DataTable..
-
MVC/API Controller 분리SKMR/Web 2025. 3. 10. 21:06
문제 정의 : MVC Controller 내 View 반환과 JSON 응답 로직 혼재 - 유지보수/Swagger 도입 어려움using System.Collections.Generic;using System.Web.Mvc;using Newtonsoft.Json;namespace MyApp.Controllers{ public class SampleController : Controller { // MVC 메서드 (View 반환) public ActionResult Index() { return View(); } // API 메서드 (JSON 반환) [HttpGet] public JsonRes..
-
Python Logging 도입SKMR/응용 프로그램 2025. 2. 22. 19:17
문제 정의 : Error 발생 시 추적 어려움해결 방법 : Logging 도입결과 : 에러 기록 및 위치 추적 시간 80% 단축logging_config.pyimport logging, sysfrom logging.handlers import RotatingFileHandlerfrom pathlib import Pathdef setup_logging(name="default_logger"): logger = logging.getLogger(name) if not logger.hasHandlers(): base_path = Path(sys._MEIPASS) if getattr(sys, 'frozen', False) else Path(__file__).parent ..
-
Python CLI → PyQt GUI 프로그램화SKMR/응용 프로그램 2025. 2. 18. 11:42
문제 정의 :Bot용 Outlook 계정으로 메일 발송 후 일정 시간 간격으로 경조사 문자/이메일 전송 - Outlook 계정 로그아웃/메일 삭제 실패로 인한 중복 전송 오류 발생해결 방법 : Pyqt GUI 개발 - 사용자 PC에서 입력 받아서 직접 전송 결과 :프로세스 간소화 - Bot 계정 Outlook 로그아웃/메일 삭제 실패로 인한 오류 제거확장성 증가 - 경조사 이외의 단체 문자/메일 전송 시에도 활용 가능Code : https://github.com/89yunik/message-sender GitHub - 89yunik/message-senderContribute to 89yunik/message-sender development by creating an account on GitHub..
-
웹 크롤링 프로세스 개선SKMR/응용 프로그램 2025. 2. 16. 15:48
문제 정의 : 관세청 자료 추출 시 Selenium 마우스 및 키보드 제어 - Page UI 수정 시 오류 발생전체 프로세스관세청(UNIPASS) 크롤링 프로세스해결 방법 : Requests 사용해 서버로 Data 요청전체 프로세스관세청(UNIPASS) 크롤링 프로세스Network 분석해 인증서 Login/Data Download API 요청session = requests.Session()url = 'https://unipass.customs.go.kr/csp/login.do'payload = { loginId : 'test', loginPwd : 'test', ssoLgnUseYn : 'N'}session.post(url, data=payload)...결과 : 페이지 변경/팝업 발생 오류 제거 - 유..
-
DB First 방식(EDMX) 도입SKMR/Web 2025. 2. 15. 13:22
문제 정의 : Data Model 수동 생성 - Typo 발생 및 개발 속도 지연public class ProductModel{ public int ProductId { get; set; } public string ProductName { get; set; } public decimal Price { get; set; }} 해결 방법 : 1차 개선 : Dictionary 사용 장점 - Model 명시 코드 100% 제거단점 - Data Type 추적 어려움Dictinary procedureParams = new Dictinary { { "@ProductId", 101 } }var products = ManageData(connection, procedureName, procedurePa..