전체 글 194

사소한 코딩 오류를 유도하는 것 No. 1

오늘은 개발 과정 중에 발견할 수 있는 매우 기초적인 실수 중에 하나를 보여드릴까 합니다... 물론 아래 코드를 실행해 보면 바로 값을 알 수 있겠지만... 뇌컴파일러를 이용해서 결과값을 유추해 보세요... 물론 책에 나오는 매우 기본이지만 논리적인 오류를 발생할 수 있는 부분이라 숙련자 분들도 간혹 틀리는 부분입니다... problem. 다음 코드의 결과값을 확인하시오. #include int main() { int a = 0; int b = 2; int result; result = a && ++b; printf("a = %d, b = %d, result = %d\n", a, b, result); result = a || ++b; printf("a = %d, b = %d, result = %d\n",..

Study/Programming 2009.11.05

VB 에서 WebBrowser 컨트롤을 통해 HTML 문서 내에 값을 가져오는 방법 (다음 OpenMap 예제 포함)

VB에서 WebBrowser 컨트롤을 통해 HTML 문서 내에 특정 Tag의 값을 가져오는 방법임. 우선 VB Form에는 다음과 같은 객체를 추가함. 객체 명 속성 값 Form (이름) frmMain WebBrowser (이름) WebBrowser1 Commandbutton (이름) cmdLatLotApp TextBox (이름) txtLatitude TextBox (이름) txtLongitude 배치는 무관하며 Form에 위치시키면 됨. 각 컨트롤의 역활은 다음과 같음. frmMain : 메인 폼, 메인 프로그램 UI가 됨. WebBrowser1 : HTML 문서를 볼 수 있도록 해주는 웹브라우저 역활을 담당함. cmdLatLotApp : 버튼을 클릭시에 WebBrowser1에서 위/경도 값을 가져와 ..

Study/Programming 2009.11.05

JAVA에서 JDOM 1.1.1 연결 방법 (예제)

JDOM 1.1.1과 그 이전 버전과의 일부 차이 점이 있어 좀 시간이 걸리긴 했다. 역시 제공된 example를 적극 이용했어야 했는데... 크응... 우선 jdom.jar를 eclipse에 referenced libraries에 추가하고... import java.io.*; import org.jdom.*; import org.jdom.input.*; import org.jdom.output.*; import org.omg.CORBA.Object; import java.util.*; public class XMLtest { public static void main(String[] args) throws Exception { // [1] SAXBuilder builder = new SAXBuilder..

Study/Programming 2009.11.04

인공 신경망(Artificial Neural Network)

■ 인공 신경망이란? - 인간의 두뇌와 신경 시스템을 닮은 정보처리소자 - 연결주의 기법 - 뉴런들을 연결하여 문제해결 모델을 만듬 -- 출처 : http://ipcp.edunet4u.net/~teacher07/bio1/biopic3/%EB%89%B4%EB%9F%B0.gif - 뉴런 : 신경계의 기능적 최소단위 - 세포체 : 일정기간 동안 들어온 자극은 세포체내에 가중되고 임계치 보다 크면 뉴런을 활성 - 수상돌기 : 인접 뉴런들로부터 정보를 받아들이는 통로 역할 - 축색돌기 : 정보를 전달하기 위한 통로 - 시넵스 : 전달되는 신호의 크기를 조절 ■ 인공뉴런의 구조 - 인공뉴런의 구조 -- X1부터 Xn까지 입력 값에 각각 W1부터 Wn까지의 가중치를 곱하고 그 모든 합이 변형함수를 통해 임계치가 초과..

유전 알고리즘(Genetic Algorithm)

■ 유전 알고리즘이란? - 다윈의 유전법칙에 기반 - 자연 선택 또는 적자 생존의 원칙에 입각한 알고리즘 - 진화의 결과 : 염색체형태로 저장(DNA:C.G.A.T) - 개체군(population)중에서 환경에 대한 적합도(fitness)가 높은 개체일수록 재생산할 수 있게 되며, 개체군은 환경에 적응을 할 수 있게 됨 ■ 유전 알고리즘의 연산자? - 재생산(Reproduction)(재생,번식) -- 새로운 세대 생성시 부모 염색체의 일부를 임의로 선택하여 재조합 -- 적합도가 높은 개체일수록 다음 세대에 자식 개체들이 번식할 가능성이 높아짐 - 돌연변이(Mutation)(변화,돌연변이,변종) -- 유전자의 일부를 임의로 변화 - 교배(Crossover)(염색체의 교차형) -- 염색체상에서 임의의 위치를..

인간다움을 갖추기 위한 장비... 야전침대

예전부터 그랬다... 공전을 다닐때도... 회사를 다닐때도... 그리고 현재 대학원을 다니는 지금도... 학교에서... 회사에서 날을 샌다는 것... 비록 몸이 좀 고달프지만... 코딩이라는 작업이나... 먼가 몰입되는 시간대가 왜이리 새벽대에 몰려있는건지;;; 고로 난 몇년간 미루어 두었던 편안한 잠자리... 프로젝트를 다시 발동했다... 필요한 준비물 : 침낭 + 매트 + 침대... 침낭은 집에 어머니가 전에 사두신 파란색 침낭으로... 매트는 얼마전 학교 앞 홈플러스에서 유일하게 하나 남은 국방색으로... 침대는... 전에도 많은 망설임이 있었지만... 역시... 국군에 납품하는 업체의 군용침대 고급형!!!... (+0+)b 음화화화... 노란색 무릅담요는 배개대용... 저 퍼진것 같은 희안한 것은..

Daily 2009.06.17

KISS와 SMILE 그리고 게으른 프로그래머의 십계명

다음은 연구실 프로젝트로 VB를 통해 UI를 개발할 때 참고한 도서에서 매우 맘에 드는 내용을 발취한 것이다. 한번 쯤 읽어보는 것을 추천한다. (물론 이런 유사한 글은 많이 존재한다.) KISS 원칙 (Keep It Simple, Stupid) Visual Basic에서 장기적으로는 지나치게 복잡한 프로그램은 간단한 프로그램보다 더 많은 문제를 일으킨다는 것이다. 간단한 프로그램은 이해하기 쉽기 때문에 나중에 수정하거나 전체를 디버깅하는 것이 쉽다. (특히 다른 사람이 수정해야 할 경우에는) 간단한 프로그램이 사용되지 않는 여분의 특성에 의해 발생하는 많은 짐을 옮기지 않기 때문에 더욱 효과적일 수도 있다. 그러나 간단할수록 좋다는 철학이 항상 옳은 것은 아니다. Heap sort은 Bubble sor..

Study/Etc. 2009.04.21