본문 바로가기

분류 전체보기

공부하는 방법? 사실 나에겐 스승이 없었다. 한국에서 처음 개발일을 시작할때 같이 일하던 선배들에게 모르는것이 있으면 몇번 물어보았었지만 그때 돌아왔던 대답은 "남의 기술 얻기가 쉬운줄아냐?" 라는 대답 뿐 이었다. 그때는 오히려 그게 약이 되서 스스로의 공부에 더욱더 매진하긴했지만 그때 이후론 물어보지않고 스스로 생각하는게 버릇이 되어버린것 같다. 각설하고 이제와서야 깨닭는 공부하는 방법은 , 1. 해당 분야의 아웃트라인이 보일때까지 책을 읽는다. 2. 해당 분야의 키워드를 정리한다. 정리한 키워드의 체계도를 그려본다. 3. 그려놓은 체계도에서 빠진부분을 생각해보고 그분야를 공부하며 채운다. 4. 지금까지 공부한 분야를 다른 분야와의 공통점을 생각해본다. 1. 아웃트 라인은 처음엔 아무정보도 없기에 어디부터 시작할지 .. 더보기
DNA 나선 , 재귀 준거 출처: 괴델,에셔 ,바흐 도그마I(.DOGMA I) 도그마II(.DOGMA II) (분자생물학) (수리논리학) DNA나선 TNT연쇄체 mRNA나선 N의 명제 단백질 메타TNT의 명제 단백질에 작용하는 메타TNT의 명제에 대한 명제 단백질 단백질에 작용하는 메타TNT의 명제에 대한 명제에 대한 명제 단백질에작용하는 단백질 전사(DNA->RNA) 해석(TNT -> N) 번역(RNA->단백질) 대수화(Arithmetization) (N->메타-TNT) 크릭 괴델 유전자코드(임의의 약정) 괴델 코드 코돈 코돈 (염기의 세 자리 묶음) (암호의 세 자리 묶음) 아미노산 메타TNT에서 사용된 TNT의 인용된 기호 재귀 -증식 재귀 준거 재귀-증식이 가능하도록 재귀-준거가 가능하도록 충분히 강력한 세포 지원체계 충분.. 더보기
자바의 기술에 대한 이해 얼마전 OKJSP에서 였지만 자바(Java)라... 그 역겨움이란... 글을 읽고 몇가지 잘못된점을 이야기 한다면, 먼저 framework에 대한 잘못된 이해가 보인다. 기본적으로 framework는 1. 공통으로 사용되는 기능들을 제공함으로서 개발 생산성을 도모하고 2. 개발자의 능력에 따른 소스의 편차를 줄이고 개발된 소스의 일정한 품질을 보증하기 위해서 쓰인다. 이는 프로젝트에서 위에 언급된 2가지를 충족한다면 framework를 쓸 이유가 없어진다는 것 이다. 하지만 일반적인 개발에서 위의 2가지를 충족하기란 어렵고 특히나 프로젝트의 규모가 어느정도 이상을 넘어선다면 프레임웍크를 쓴것 이상으로 생산성을 내기란 쉽지가 않다. 다시말해 만약 당신이 프레임웍크없이 이 생산성을 보증하는 그 어떤 것(공통.. 더보기
소프트웨어 자동화? 얼마전에 쓴 글 CASE TOOL에서 언급했던 소프트웨어 자동화에 있어 몇가지 깨닮음(?)을 정리하자면 1. 문제의 복잡도가 20% 증가하면 소프트웨어의 복잡도는 100% 이상 증가한다 2. 소프트웨어 재사용은 제한적이다. (일반적으로 재사용 컴포넌트를 만드는데에는 20%이상의 비용이 소모된다. 게다가 범용 컴포넌트는 더 많은 비용이 소모된다.) 3. 소프트웨어 업계의 은탄환은 없다.(점진적 개선만이 있을뿐 획기적인 발전은 앞으로도 없을것이다) 먼저 개발작업이란 현실 세계를 어느정도 추상화시켜 컴퓨터로 표현될수 있게 정리하는 작업이라고 볼 수 있다. 이러한 현실세계를 정리(사양분석)하는데 있어서 그 복잡도와 불분명성은 소프트웨어의 복잡도를 더욱더 증가시킨다. 이러한 근본적인 복잡도는 소프트웨어로서 표현되.. 더보기
CASE TOOL 소프트웨어 위기 현상을 해결하기 위하여 소프트웨어 생산 자체를 컴퓨터의 도움으로 자동화 시켜보자는 개념으로 탄생한 것이 CASE(Computer Aided Software Engineering)이다. 즉, 수작업으로 프로그래밍하고 문서 산출물을 만드는 대신, CASE를 활용하여 산출물을 작성하고 프로그램 코드를 만들어낸다. 이것은 자동화를 통한 개발 기간의 단축 뿐 아니라 생산하는 소프트웨어의 일관성과 통합성, 완전성을 높임으로서 생산성 향상과 품질의 향상을 가져온다는 개념이다출처: 한국표준협회 1980년대에 등장하기 시작한 CASE TOOL은 어려운 개념이 아니라 1970년대부터 등장한 소프트웨어 자동화에 일환으로 등장하기 시작한 자동화 도구를 말한다. 사실 이미 소프트웨어 개발에있어 밀접하게 사용되고.. 더보기
내가 물리를 좋아하는 이유? 내가 물리를 좋아하는 이유는 간단하다. 가장 단순하고 아름답기 때문이다. 고등학교때부터 생각했던것이지만 담임의 강제적인 종교생활에 질려 종교에 노이로제가 걸렸을때 과연 종교가 말하는 하느님이 있다면 저사람이 나쁜사람인지 좋은사람인지 무슨 기준으로 판단하여 지옥으로 보내며 현실세계에는 나쁜사람은 나쁜대로 부자이고 똑똑한데 저렇게 착하게 사는 많은 사람들은 왜 가난하며 절망적인가? 지금까지 받은 교육과 양심과 도덕과 종교 모든것이 이런 질문에는 그 어떤 답을 내지 못했다. 정의는 이긴다라는 허공에 울리는 대답뿐, 정의가 이겼다면 이긴 정의는 도대체 어디에있는것인가? 오히려 옮음이 그름을 이긴 경우는 물리,과학에서 였다. 아무리 그름이 득세를 하고 있고 강하더라도 결국 이기는것은 옮다고 말하는 사람이었다. 왠.. 더보기
메리 분석하기? 나에게도 메리 분석하기에 해당하는 사람이 한명있다. 아무것도 모르고 혼자서 중구난방 책을 읽어가며 공부할때 물리에 관한 토론에서 물리에 큰 지식은 없어도 논리적 설명에 압도당해 진 사람이 있다. 그 사람의 지식의 범위가 너무 넓어서 (수많은 책을 읽음으로서 아마 자기만의 체계가 있어보인다) 따라잡기엔 멀어보이지만 항상 그 사람의 글을 보며 많이 배우고있다. 물론 그 사람이 완벽한건 아니지만 아마 논리적 추론에서는 타의 추종을 불허할것이라 생각된다. 더보기
추상화의 본질? 추상화의 본질은 복잡도가 일정 규모 이상의 집단의 자기조직화 현상에 깊은 관련이 있다. 얼마 전 읽은 글 김창준님의 협력을 통한 추상화을 읽고 나서 찾아낸 공통점이지만 낮은 수준에서 높은 수준의 발현(추상화)으로 이어지는 원리중에 하나는 얼마전 쓴 글 공부잘하는사람과... 에서 말했던 "정리"와 관련이 있다. 협력을 통한 추상화에서 말하는 추상화는 타인에게 설명을 통해 새로운 관점을 본다는 것이다. 다른사람에의 설명이라는 것은 자신의 정보를 정리하는것에서 시작한다. 이러한 정리를 통해 정보의 복잡도가 일정 규모를 이루게되면 새로운 추상화 수준으로 현상의 밖에서 볼 수 있는데(물론 항상그런것은아니다) 이런 추상화 수준에서는 이전에 보이지 않던 다른 관점들이 보이게 되고 새로운 정보를 얻을수있다. (사실 이.. 더보기
스프링의 장점? 지난 7월에서 11월 약 4개월동안 스프링을 사용해 프로젝트의 Phase1작업이 끝났다. 생애 처음으로 스프링을 만져봤지만 잘짜여진 프레임웍크와 문서(手順書)를 통해 나름 좋은 작품을 만들었다고 만족 하고 있다. 잘짜여진 아키텍쳐 아래 나쁜 코드는 없다고 시행착오를 겪어가며 만들어간 코드 하나하나가 자신의 Layer에서 자신이 목적한바를 구현하는걸 보면 기분이 좋아진다. 대략 이전 프로젝트의 아키텍쳐를 설명하자면, Presentation - Facade - Service - Integration - DAO Struts [ Spring ] iBatis 의 계층으로 구성되어 있고 각 층사이에는 Interface를 통해 소통한다. Spring AOP를 통해 Logging 과 Exception ,그리고 Tran.. 더보기
대수의 추상적 본질에 대한 Dieudonne의 분석 대수의 추상적 본질에 대한 Dieudonne의 분석 철저한 '새 수학' 철학의 옹호론자이며 대수 중심의 교육을 강조한 Bourbaki 학파(구조주의)의 Dieukonne에 의하면 "수 학의 본질은 추상적인 개념을 창안하여 그것으로 추론하는 힘에 있으며 그렇게 하는 것이 수학적 방법의 본질이다. 수학의 힘과 유용성은 그 추상화의 정도에 비례하는 바, 개념을 추상화하고 추상적으로 추론하는 능력의 개발이 수학교육의 주요 목적이 되지 않을 수 없으며 지도 내용은 그러한 것을 잘 예시하는 것이어야 한다." 어린 학생들에게 동화할 수 없는 너무 추상적인 개념을 곧바로 제시하여서는 안되지만 점진적으로 수학이 그 진정한 모습을 드러나도록 해야 한다. 따라서, 학생들이 추상적인 사고에 접근하기 어렵다는 이유로 수학의 추.. 더보기