본문 바로가기

전체 글1401

전역변수 문제점, 나쁜 객체지향 코드 (유지보수 망침) 전역변수 문제점, 나쁜 객체지향 코드 (유지보수 망침) 전역변수의 문제점 비지역성, 비국지성(Non-Locality) 각각의 오브젝트들은 구현 범위가 좁을수록 이용하기 쉽습니다. 전역변수 문제점은 이와 정반대라 이해하기도 힘들고 사용하기도 힘듭니다. 접근 제어, 제약 조건 확인(No Access Control or Constraint Checking) 전역변수 문제점은 프로그램 내부의 어느 곳에서나 설정할 수 있습니다(Get, Set). 그렇지만 그 모든 설정을 기억하기도 힘들뿐더러 워낙에 많은 곳에서 다루다 보니 잘못된 접근 방법을 사용하여 에러를 유발합니다. 결과적으론 가독성과 신뢰성이 떨어지며, OOP에서 중요한 요소 중 하나인 은폐성을 갖추지 못합니다. 내포된 커플링(Implicit couplin.. 2017. 7. 19.
PLC 기초 - 프로그래밍 용어, 약어 설명 (미쓰비시, 지멘스 공통) PLC 기초 - 프로그래밍 용어, 약어 설명 (미쓰비시, 지멘스 공통) ROM(Read Only Memery), RAM(Random Access Memory) 롬은 읽기 전용으로, 메모리 내용을 변경할 수 없다. 따라서, 고정된 정보를 써넣는다. 이 영역의 정보는 전원이 끊어져도 기억시킨 정보 내용을 상실하는 휘발성 메모리이다. 램은 메모리에 정보를 수시로 읽고 쓰기가 가능하여 정보를 일시 저장하는 용도를 사용되나, 전원이 끊어지면 기억시킨 정보 내용을 상실하는 휘발성 메모리이다. 그러나 필요에 따라 RAM 영역 일부를 배터리 백업(back up) 때문에 부 휘발성 영역으로 사용할 수 있다. 사용자 프로그램 메모리 제어하고자 하는 시스템 사양에 따라 사용자가 작성한 프로그램이 저장되는 영역으로, 제어 내.. 2017. 7. 16.
C# URL 웹페이지 존재 확인 (WebBrowser.Url - HTML) C# URL 웹페이지 존재 확인 (WebBrowser.Url - HTML) 회사 이윤 창출을 위해 손가락을 놀리던 중, 특정 페이지가 존재하는지 확인할 필요가 생겼습니다. (C# URL 웹페이지 존재 확인 (WebBrowser.Url)) 일명 URL이 깨졌는지 안 깨졌는지 확인하는 과정인데, 블로그를 예로 들어 특정 페이지가 삭제되었다면 그 주소를 사용자에게 알려주는 것이죠. 여러 웹사이트를 운영하는 관리자에겐 특정 URL이 접근하지 못한다거나 사이트가 없어졌다고 알려주는 겁니다. 즉, 웹페이지가 존재하지 않는다면 존재하지 않는다 알려주는 겁니다. 처음엔 어렵게 생각했는데 HttpWebRequest를 사용하면 쉽게 알아낼 수 있습니다. 아래 소스 보시죠. 123456789101112131415161718.. 2017. 7. 15.
비주얼스튜디오2015 C2338 에러 해결 (msvs2015) 비주얼스튜디오2015 C2338 에러 해결 (msvs2015) error C2338: va_start argument must not have reference type and must not be parenthesized 작업하던 비주얼스튜디오 버전이 바뀌면 생기는 문제입니다. 이럴 땐, C/C++ - 전처리기 - _CRT_NO_VA_START_VALIDATION 추가하면 됩니다. 만약 비주얼스튜디오 버전이 바뀌고 여러 에러가 생긴다면 이 코드를 추가하세요. 비주얼스튜디오2015 C2338 에러 해결 (msvs2015) 2017. 7. 12.