[자바스크립트 강좌 002] 프로그래밍 유형과 javascript 단점 자바스크립트와 객체지향 프로그래밍자바스크립트는 클래스를 지원하지 않지만 객체지향 프로그래밍이 가능하다. 프로토타입 체인과 클로저로 객체지향 프로그래밍에서 제시하는 상속, 캡슐화, 정보 은닉 등의 개념을 소화할 수 있다. 실제로 GOF의 디자인 패턴을 자바스크립트로 구현한 코드들이 많이 공개되어 있고, 많은 개발자의 관심을 받고 있다. 자바스크립트와 함수형 프로그래밍자바스크립트는 함수형 프로그래밍이 가능하다. 함수형 프로그래밍은 높은 수준의 모듈화를 가능케 하는 매우 효율적인 프로그래밍 방법이다. 자바스크립트는 주요 특성인 일급 객체로서의 함수 특성과 클로저를 활용하여 이를 가능케 한다. 하지만 이 때문에, 가독성을 떨어뜨리기도 한다...
애노드와 캐소드의 차이점에 대해선 아래 그림부터 참조하시길. ATMEGA에서 7-Segment 출력 표를 살펴보면, 캐소드와 애노드의 16진수 표기법이 다릅니다. Anode - (+)극으로 산화 전극이라 번역.Cathod - (-)극으로 환원 전극이라 번역. 전자는 캐소드에서 애노드로, 전류는 애노드에서 캐소드로의 흐름을 갖습니다.산화 전극이니 환원 전극이니 하는 것보단, 차라리 애노드 캐소드라 부르는 게 더 쉽습니다. 둘의 차이를 좀 더 살펴보면, 전류 소모량이 다릅니다. 애노드 - 양극이 모두 묶여 한꺼번에 전원을 주면, 반대 방향의 캐소드에 아트메가 포트가 물려 포트 로우에 LOW 신호를 주면 동작하는 방식 캐소드 - 음극이 모두 묶여 그라운드로 향하게 되는데, 아트메가에서 HIGH 신호를 주면 동..
안드로이드 Pull To Refresh 소스 예제 (당겨서 새로고침 기능) 원본 소스 - 본인 수정본 - 위와 같은 기능이 Pull To Refresh(당겨서 새로고침)인데, 얼마전(2011년 기준)부터 안드로이드에서도 지원이 되기 시작했었는데 외국분이 간단히 구현해 놓으셨네요. 코드 복사 후 바로 실행은 되지 않는 터라, 제가 정리해 봤습니다. 압축 풀고 바로 Import 한 뒤 실행해 보면, 당겨서 새로고침 잘 될겁니다. PullToRefreshActivity.java 123456789101112131415161718192021public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentVi..
Modbus PLC Simulator(TCP 전용 시뮬레이터 nmodbus 라이브러리) Modbus는 자동화 라인에서 사용하기 위해 1979년에 개발된 프로토콜입니다. 우리나라에서도 장비 회사 대부분이 이 프로토콜을 사용 중이기도 하죠. 그래서 Modbus PLC Simulator(시뮬레이터) 등 프로토콜에 대한 응용 프로그램, 라이브러리 등의 수요가 많은 편입니다. 이 포스트에서는 Modbus 프로토콜의 한 예제입니다. C#용으로 라이브러리, 소스 응용 예제를 포함합니다. 그나저나, 요즘 C# 지원이 많아졌네요. NI, 미쓰비시 등이 C#용 라이브러리 많이 내놓고 있어요. MFC로 만들어진 것 프로그램이 많아 당장은 아니겠으나, 조금씩 C#이 MFC의 자리를 대체할 것으로 보입니다. 대기업이 지원할 만..
자바 코딩 규칙, 코드 컨벤션 (Code 스타일과 표준) 출처 - 자바 코드 컨벤션 for the Java TM Programming Language [클릭] 번역하신 분의 블로그 포스트 1 - 자바 코딩 규칙과 스타일 / Java Code Convention [클릭]번역하신 분의 블로그 포스트 2 - 2015년도 업데이트 버전 [클릭] 번역본 pdf 원본 pdf JavaCodeConventions.pdf 참조 자료Java Coding Pattern 코딩 규칙 - 번역하신 분의 코딩 블로그 포스트 2로 이동하셔서 보세요. 전에는 코드 스타일 pdf 전문을 블로그에 공개하지 않으셔서 전문을 올려놨었지만, 이제는 그럴 이유가 없어졌네요. 깔끔하게 코드 표준 규약서 번역해주셨으니 해당 블로그로 이동하셔서 보시..
[C++] Qt 인터넷 네트워크 연결 상태 확인 (QTcpSocket) ■ Unplugging ethernet (물리적 문제로 인터넷 끊김)Qt에서 소켓을 사용하다 보면 끊어진 경우를 확인해야 할 상황이 발생합니다. 굳이 Qt가 아니더라도 언제나 서비스 제공자는 확인해야 합니다만, Qt를 이용한 프로그래밍을 할 땐, 단순히 플러그가 뽑힌 경우를 체크하기엔 까다롭습니다. 왜냐면 QAbstractSocket 클래스가 제공하는 ConnectedState는 연결된 이후, 물리적인 플러그 뽑힘을 확인하지 못합니다. 슬프게도, Qt가 제공하는 그 어떤 소켓 클래스들도 물리적인 플러그 Unconnected를 확인하질 못합니다. 그래서 조금 돌아가는 방법을 사용해야 합니다. ■ Simple Main Code 우선, 간..
Visual Studio 2012의 NI DAQ 프로젝트. 4가지 팁. 1. 프로젝트 속성 변경 (Visual Studio 2012 기준)- 프로젝트 속성 - 구성 속성 - VC++ 디렉터리 1. 포함 디렉터리에 추가C:\Program Files (x86)\National Instruments\Shared\ExternalCompilerSupport\C\IncludeC:\Program Files (x86)\National Instruments\NI-IMAQ IO\Include 2. 라이브러리 디렉터리에 추가C:\Program Files (x86)\National Instruments\Shared\ExternalCompilerSupport\C\Lib32\MSVCC:\Program Files (x86)\Nat..
원문 - CodeProject : Animating Google Earth(3D) & Map(2D) for Live GPS via Ajax and RestFul Web Service [클릭] 프로젝트 다운 - GPS를 이용해 웹 브라우저에서 구글맵, 구글어스, 카메라에서의 현재 위치를 실시간으로 동기화 시켜주는 프로그램이라고 하네요. 여기에 쓰인건, Ajax, jQuery, Rest Service, Google Map & Earth, Java 등이라고 합니다. 한가지 기능을 살펴보자면, 2D Map과 3D 빌딩 기능의 활성화 / 비활성화입니다. 1234567891011121314151617181920212223242526272829303132function toggle2d() { if (show2d.va..
MODBUS 테스트 프로그램 ModLinkDemo.exe 데모 실행 파일 - 간단합니다. 연결, 실행. 끝. 어떤 러시아 형님이 만든걸로 알고 있는데 .... 아는 건 이게 끝. MODBUS 테스트 프로그램 ModLinkDemo.exe 데모
[안드로이드] TextView에 특수문자 넣기 (Spanned 이용) 안드로이드에는 Entity Name을 이용해서 특수 문자를 TextView에 삽입할 수 있습니다. 123Spanned sp = html.fromHtml(" ");TextView tv = (TextView)findViewById(R.id.textview);tv.setText(sp);Colored by Color Scriptercs 이런식으로 삽입이 가능합니다. 추가로 특수문자를 삽입하기 전에, w3schools.com - HTML ISO-8859-1 Reference를 참고하세요.아래 그림에 나온 것처럼 심볼 규격을 확인하는게 우선입니다. 원래 Spanned는 HTML 소스 코드와 관련된 API지만, TextView에 응용해서 사용이 가..
[MFC] BCGControlBar 데모 프로젝트, Chart Control 예제 BCG 데모 프로젝트 생성 이전 포스트의 4번 과정[링크]을 정상적으로 거쳤다면 Visual Studio에서 BCGPAppWizard의 사용이 가능합니다. 단, 새 프로젝트 메뉴에서 선택할 수 있는 건 Visual Studio 2008 SP1 이상, 이하는 지원하지 않습니다. 위의 그림처럼, BCGAppWizard 템플릿을 선택하고 이름은 간단히 BCG_TEST로 설정합니다. 다음, Application Type를 설정합니다. 다음, BCGPControlBar General을 설정합니다. 다음, BCGPControlBar Advanced를 설정합니다. 그리고 생성되는 프로젝트에서 F5를 눌러 디버깅을 진행하면 아래와 같은 ..
BCGControlBar, Chart Control MFC 설치, GUI 프로그래밍 환경 ※ 이 포스팅은 BCGControlbar Pro 버전과 Visual Studio 2010(MFC)을 기준으로 작성 BCG(for MFC)의 Professional Edition 관련 사이트1. Sample(Win32 기반의 압축된 실행 파일의 다운로드 가능) Samples Download - BCGCONTROLBAR FOR MFC [클릭] - General Samples- Ribbon- Toolbar- Menu- Docking Windows - Document/View- Visualization- Grid- Editor- Chart Control and Gauges - Calendar- Diagram- Gantt- ..