'전체'에 해당되는 글 70건

  1. 2012.05.31 계정 모든 테이블 컬럼 정보 조회
  2. 2012.05.13 가상 주소 공간 단편화로 인해 사용 가능한 메모리가 부족하여 필요한 작업을 지금 수행할 수 없습니다.
  3. 2012.03.26 좋은 버그 리프트 작성기술
  4. 2012.03.08 "PageHandlerFactory-Integrated" 처리기의 모듈 목록에 잘못된 모듈 "ManagedPipelineHandler"이(가) 있습니다. (3)
  5. 2012.02.27 SW 개발자의 길, 아니다 싶으면 포기하라!
  6. 2012.02.06 LINQ 참고
  7. 2011.12.20 윈도우 라이브러리 학습 코드 지원 커뮤니티 참고 사이트
  8. 2011.12.20 jsp html 문자열 개행
  9. 2011.08.10 웹표준 동영상 wmv 첨부
  10. 2011.05.27 mysql 디비생성 및 외부계정 설정하기
2012.05.31 18:09

계정 모든 테이블 컬럼 정보 조회

오늘 오라클에서 테이블이 무수하게 많은 상황에서 정확하게 테이블의 정보를 어디서 찾을지 몰랐을때  유용하게 사용했던 쿼리

 SELECT
AT.table_name "테이블명"
, atcom.comments "테이블 코멘트명"
, atcol.column_name "컬럼명"
, acc.comments "컬럼 코멘트"
, atcol.data_type "컬럼 타입"
, atcol.data_length "컬럼 크기"
, CONCAT (atcol.data_type
, CONCAT ('(', CONCAT (atcol.data_length, ')'))
) datatype "DataType"
, atcol.nullable "null여부"
, atcol.column_id "ID"
FROM
all_all_tables AT
, all_tab_comments atcom
, all_tab_columns atcol
, all_col_comments acc
WHERE
AT.owner = '계정명'
AND AT.owner = atcom.owner
AND AT.owner = atcol.owner
AND AT.owner = acc.owner
AND AT.table_name = atcom.table_name
AND AT.table_name = atcol.table_name
AND AT.table_name = acc.table_name
AND atcol.column_name = acc.column_name

-- AND atcol.column_name LIKE '%컬럼명%'
ORDER BY
AT.table_name
, atcol.column_id

Trackback 0 Comment 0
2012.05.13 22:59

가상 주소 공간 단편화로 인해 사용 가능한 메모리가 부족하여 필요한 작업을 지금 수행할 수 없습니다.

이번에 일때문에 윈도우를 64비트를 사용하다 32비트를 바꾸고 나서

VisualStudio2010을 사용하여 작업하고 있는중

Cut or Copy displays "insufficient memory" error in VS 2010

"가상 주소 공간 단편화로 인해 사용 가능한 메모리가 부족하여 필요한 작업을 지금 수행할 수 없습니다. 나중에 다시 시도하십시오"

텍스트 창에서 잘라내기 삭제할시에 에러가 발생되었다. 그래서 구글링 결과

Visual Studio 2010 핫픽스 패치를 설치하면 해결이 된단다..

읽어보니 이런 문제가 발생하는 PC에만 설치하면 되는듯..

MSDN 코드 갤러리에서 이 핫픽스를 다운로드하려면 다음 Microsoft 웹 사이트를 방문하십시오:

 

Trackback 0 Comment 0
2012.03.26 14:37

좋은 버그 리프트 작성기술

이미 다수의 프로젝트를 진행해 보신 테스터라면 다들 알고 계실 만한 내용입니다만,
경험이 미숙하거나 새로 테스터 업무를 시작하시는 분들에게는 도움이 될 만한
내용이라 올립니다. (원문은 현재 찾을 수가 없군요. ^_^;)

------------------------------------------------------------------------------

MS의 테스트 매니저 Roger Sherman이 Quality Week '99에서 발표한 내용입니다.

<좋은 버그 리포트 작성하기의 기술>

테스트 시간만 소모하고, 버그를 수정하지 하지 못하는(역자주: 찾지 못하는) 비생산적인 버그 리포트의
가장 큰 문제점은 다시 재연할 수 없다는 데에 있으며, 이는 상이한 상태의 테스트, 개발 환경 사이에서 일회적이고
단발적인 툴과 Configuration 때문에, 그리고 테스트 상에서 행해진 수행에 대한 정의가 명확하고 올바르지
못하기 때문에 야기된다고 말하고 있습니다.

좋은 리포트를 쓰기 위한 10가지 팁입니다.

1. 구성

꼼꼼하고 세심하게 테스트하고 기술하면 테스트 시 시스템이 어떻게 돌아가는지를 단번에 알 수 있습니다.
오류 발생 시, 최초의 오류 발생 시점을 알 수 있게 됩니다.

2. 재연

버그 리포트를 작성하기 전에 오류의 재연 개연성에 대해서 점검해야 합니다. 문제가 다시 발생하지 않아도
리포트를 계속 쓰되, 드문 드문 발생하는 문제의 속성에 대해 기술하면 됩니다.

경험상 리포트 작성 전 세 번 정도의 시도가 적당한 것 같습니다. 문제를 재연시키는 과정을 깔끔하게 문서화하면
재연 개연성을 바로 알 수 있습니다.

3. 격리

오류를 재연하고 나면 버그를 격리시키는 방법에 대해 계속하여 기술해야 합니다.
이는 특정 변수들을 바꾸는 것을 말하며, 오류 증상을 변경시킬 수 있는 시스템 Configuration 등이 해당됩니다.
개발자가 디버깅을 할 때 어떻게 시작하면 좋을지 알려주는 정보가 됩니다.

4. 일반화

버그를 격리시키고, 재연할 수 있으면 문제를 일반화하여야 합니다. 같은 오류가 다른 모듈 등에서도 발생하는지,
동일 오류로 인해 한 층 더 심각한 문제가 발생되는가 등이 해당합니다.

5. 비교

버그가 발견된 테스트 상태를 확인하면, 그 상태가 이전에 실행했을 때는 괜찮았었는지 앞의 결과들을
체크해야 합니다. 만일 그렇다면, 그 버그는 처음에는 문제가 없었으나 나중에는 오류가 나는 퇴행성 버그일
가능성이 높습니다.

이 단계가 한 테스트 내에서의 지난 수행만을 단순히 점검하는 것 이상의 것들을 포함할 수 있도록
두 번 이상 각각 테스트 하여 그 때마다 종종 일어나는 테스트 상태에 대해 기술하십시오.

Reference 플랫폼이 있으면, 거기서도 테스트를 반복하여 결과를 기록하도록 하십시오.

6. 개요

버그 리포트의 시작, 즉 오류의 요약은 가장 중요한 부분입니다.
따라서, 고객에게 그 오류가 어떤 영향을 끼칠 지에 대해 생각해야만 합니다.
보고서를 읽는 사람의 시선을 사로 잡고, 경영진에게 분명하게 말하기 위해서 뿐만 아니라,
버그 리포트의 우선 순위를 정하는 데도 도움이 되기 때문입니다.

7. 요약

불 필요한 단계나 표현들을 줄이는 데 중점을 두어 버그 리포트 초안을 다시 읽어 보아야 합니다.
난해한 기술, 관계 없는 내용이나 단계에 대한 언급은 불 필요 합니다.

8. 명확

군 더더기 표현을 삭제하는 것에 더해서 곡해되지 않도록 주의를 기울여야 합니다. 특정 표현이 모호하거나
잘못 이해할 소지가 있고, 주관적이라면 피하는 것이 좋습니다. 분명하고 확실한 사실만을 기술하는 것이
중요합니다.

9. 중립

좋지 못한 소식을 전하는 테스터는 더욱 세심한 주의를 기울여 치우지지 않은 공정한 자세로 버그 리포트를
작성해야 합니다.

개개의 개발자를 공격하거나, 오류를 비난하는 등의 행위는 개발자들로 하여금 나쁜 마음을 품고 제품의 질을
향상시키는 좀 더 큰 목적을 잊게 할 수도 있기 때문입니다. 사실에 근거한 표현을 골라 사용하는 등의
세심한 주의를 기울여야 합니다.

10. 리뷰

리포트가 잘 되었다고 느껴지면, 두 명 이상의 동료 테스터들에게 리뷰를 부탁하십시오.
리뷰를 하는 동료들은 제안을 하거나 구체적인 질문을 하거나, 적절한 상황 판단을 통해 보고서를 작성한
테스터에게 그것이 진짜로 버그 인지에 대해 이의를 제기할 수도 있을 것입니다.
항상 테스트 팀은 최상의 버그 리포트 만을 제출하여야 합니다. (역자주: 양치기 소년의 우화)

* 좋은 버그 리포트의 작성 지표는 다음과 같습니다.

1) 경영진에게 명확합니까? 특히 개요 부분이 중요합니다.
2. 개발 팀에게 유용합니까? 효과적으로 디버깅 하는데 필요한 정보를 제공해 주어야 합니다.
3) 버그 발생에서 종료까지의 기술이 간결해야 합니다. 부족한 정보 때문에 개발자를 고생시키고, 테스트를
다시 하는 수고를 줄이기 위해서.

- 끝 -

Trackback 0 Comment 0
2012.03.08 21:09

"PageHandlerFactory-Integrated" 처리기의 모듈 목록에 잘못된 모듈 "ManagedPipelineHandler"이(가) 있습니다.

IIS를 구성하던중 아래와 같은 메시지가 발생되었다...

HTTP 오류 500.21 - Internal Server Error

"PageHandlerFactory-Integrated" 처리기의 모듈 목록에 잘못된 모듈 "ManagedPipelineHandler"이(가) 있습니다.


문제발생 원인 : ASP.NET 이 IIS에 등록이 되지 않아서 문제가 발생하게 된것...

등록 방법 2가지

1) Visual Studio가 설치 되어 있지 않는 상황 :
명령어 프롬프트를 열고 아래 경로로 가면 버전별로 있음. 확인필요

C:\Windows\Microsoft.NET\Framework\v4.0.30319 이렇게 들어가서

aspnet_regiis.exe -i 라고 치면 문제 해결

2) Visual Studio가 설치 되어 있는 경우 :
Visual Studio 2010에 보면 Visual Studio 명령 프롬프트가 있는는데
실행시키고 aspnet_regiis.exe -i 라고 치면 문제 해결


Trackback 0 Comment 3
2012.02.27 15:00

SW 개발자의 길, 아니다 싶으면 포기하라!

[明, SW 개발자여 전문인으로 거듭나자!]
ZDNet Korea의 컬럼니스트 중 한명인 류한석 소장은 얼마 전 자신의 컬럼에 ‘한국에서 SW 개발자가 성공하지 못하는 세가지 이유’를 통해 어려운 사회적 현실을 이야기 했다. 그러한 이유가 아니더라도, SW 개발자로 성공한다는 것 자체는 다른 어떠한 직업과 견주어도 결코 쉬운 것만은 아닐 것이다.

한국 자바 개발자의 1세대라 할 수 있는 김명호 박사 역시 개발자 출신으로 성공의 길을 걷고 있다고 할 수 있지만 “이 길이 아니다 싶으면 차라리 다른 일을 하라”는 말을 서슴지 않고 내던지고 있다. 요즘 시대에 개발자는 한국이라는 좁은 시장에서가 아니라 전세계적으로 통할 수 있는 전문성을 가져야 하는데, 이를 달성하는 것은 결코 쉬운 일이 아니기 때문이다.

SW 개발자로 성공하려면, 단기간 학원 교육을 통해, 누구나 습득할 수 있는 주류 기술 몇 가지만 배워서는 안 된다. 코딩, 테스트, 디버깅, 이식, 성능, 설계, 스타일 등 다양한 소양을 갖춘 전문인이 진정한 개발자라고 할 수 있다. 단순히 코딩만을 할 줄 안다고 해서 전문인으로써의 ‘정신과 혼’을 담지 않고 있다면 ‘하급 노동자’에 지나지 않는다는 것이다.

개발자와 아키텍트는 다르다
한국의 개발자들은 마치 개발자가 아키텍트로 가는 중간 단계로, 한번쯤 거쳐야 할 과정쯤으로 여기는 경향이 있다. 그러나 아키텍트와 개발자는 엄연히 다른 직업이다. 아키텍트가 되기 위해 개발자 경험이 있는 것은 좋지만, 막연하게 개발자를 거쳐 아키텍트가 된다고 생각하는 것은 옳지 않다는 것이 김박사의 설명이다.

그는 “아키텍트가 될 자질을 갖추는 것은 개인의 소양에 따라 다르다. 이를 건설에 비유하자면, 개발자는 건설현장에서 일하는 인부고 아키텍트는 건축설계사라고 볼 수 있다. 미적, 공학적인 요소를 갖추었을 때 건축설계사가 되는 것처럼, 현장 인부가 자신의 경력을 통해서만 될 수는 없는 것이다”라며 “대신 그들은 미장이나 도색 전문가 혹은 작업반장이 될 수 있다. 즉, 해달 분야의 전문가로 훌륭히 성공할 수 있는 것이다”라고 말했다.

그렇다고 벽돌을 나르는 수준의 초급 개발자가 10년 후 작업반장 수준의 상급 개발자가 되는 것은 아니다. 먹고 살기 위해서 개발을 한다면 행복해 질 수 없을 테고, 당연히 훌륭한 개발자가 될 수도 없다. 때문에 개발자들이 당면한 과제는 어떻게 하면 훌륭한 개발자가 될 수 있냐는 올바른 방법론이 필요하다.

이에 대해 김명호 박사는 몇 가지 지침을 가르쳐 준다.

훌륭한 개발자가 되려면?
1) 기본에 충실해야 한다.
여기서 말하는 기본과 초급은 분명 다르다. 개발자라면 알고 있어야 할 프로그래밍의 기본 구조나 알고리즘 등의 기본에 충실하지 못하다면, 10년이 지나도 불행하기는 마찬가지일 것이다. 만약 개발자인 당신이 먹고 살기에 급급해서 수박 겉핥기로 몇몇 기술만 습득했다면 지금이라도 당장 시작하는 것이 중요하다. ‘언젠가는 적용해야 할 핵심기술’을 습득하는 것이 중요하다.

2) 지식의 포트폴리오를 유지하라.
재테크에서의 교훈에 따라 ‘달걀을 한 바구니에 담지 마라’는 것을 생각하자. 즉, 개발자는 어느 한 분야에 올인하지 말고 ‘남들도 다 아는’ 주류 기술과 ‘남들은 모르는’ 전문 기술로 분산 투자해야 한다는 것이다.

3) 분야 전문가나 해박한 지식을 갖춰라.
앞서 언급한 대로 건설현장에서 미장이나 도색 전문가, 작업반장이 될 수 있는 분야별 전문가가 된다면 어디서든 존중 받을 수 있다. 그러나 여기서 중요한 것은 과도한 욕심을 부려서는 안 된다는 것이다. 분야의 전문가인 동시에 해박한 지식을 갖추고 있다면 그야말로 ‘천재’라고 할 수 있지만, 이 둘 중 한가지만 갖춰도 충분하다는 것이다. 모든 분야에 대해 피상적인 지식만을 갖추고 있다거나, 사장된 기술에 매달린다거나, 자아도취에 빠져 자신만의 방법이 옳다고 여기는 오류를 범할 수 있기 때문이다.

4) 학습을 두려워 마라.
이것이 김박사가 가장 강조하는 부분으로, 충분한 기본지식을 갖추고 있다면 새로운 지식을 습득하는 것에 두려움이 없으며 새로운 기술을 습득하고 끊임없이 발전해 나가는 것이야 말로 행복한 개발자가 되는 최우선 요소다. 만약 새로운 기술을 습득하는데 더디다고 느낀다면 그것은 기본이 부족하기 때문이며, 지금이라도 기본을 습득해 나간다면 신기술 습득에 대한 두려움은 사라진다.

이러한 개발자를 위한 성공 방법론이 제시됐음에도 불구하고, 개발자가 선택할 수 있는 최악의 길은 ‘다른 길을 찾아가는 것’이다. 개발자가 뭐 그리 대단한 것인가? SW 개발자가 아니더라도 얼마든지 다른 분야에서 전문인이 될 수는 있는 것이다. 자신이 택했지만 SW 개발자로의 미래가 안 보인다고 생각된다면, 과감히 다른 길을 선택하라.

개발자야 말로 ‘파레토의 80대 20의 법칙’이 가장 확실하게 적용되는 분야다. 20%의 능력 있는 개발자만이 훌륭하게 80%의 개발을 수행할 수 있다.

[暗, 과연 한국에서 SW 개발자가 성공할 수 있나?]
김명호 박사는 SW산업에서 이러한 파레토의 법칙이 중요하다고 말한다. 뛰어난 소수의 전문인력이 SW산업을 발전시킬 수 있고, 이러한 인재를 정책적인 지원 하에 키워내야 한다는 것이다.

그러나 현실은 그다지 밝지 않아 보인다. 정부의 정책이라는 것이 ‘노동정책’에 가깝기 때문이다. 즉, 대학과 같은 전문교육기관에 의한 전문가를 양성한다기 보다 실업자를 줄이기 위해 하급 개발자를 배출해 내는데 급급하고 있다는 지적이다.

막상 현재 대학의 교육 현실은 어떠한가? 학부제를 도입한 이후, 학생들은 어려운 과목은 제외하고 쉽거나 학점을 잘 받을 수 있는 과목을 수강할 수 있게 된 상태다. 숙명여대 전산관련 학과의 한 교수는 “요즘 학생들은 알고리즘과 같이 기본을 다질 수 있는 과목은 어렵다고 회피한다. 그저 취업을 위한 학점 챙기기나 가벼운 프로그래밍 기술에 몰린다”고 안타까워한다.

이럴 바에는, 오히려 비전공자가 낫다는 의견도 있다. 기본에 충실하지 않은 전공자들보다 학원에서 5~6개월 집중적으로 배우고, 취직해서 급여를 받는 이들이 더욱 충실도가 높고 급여도 적게 든다는 것에 SI업체들이 매력을 느낄 수도 있다는 것이다.

실패 거듭하는 ‘SW 정책’
실제 이렇게 부실한(기본에 충실하지 못하다는 의미로, 이들이 모두 부실하다는 것은 아니다) 개발자들을 고용한 SI업체를 통해 프로젝트가 실패한 경우, 그 책임소재의 표적은 SI가 아닌 HW로 돌리는 경향이 있기도 하다. 어떻게 보면 이것이 ‘SW 분리발주 정책’을 창출한 계기 중 하나이며, 개발자의 ‘표준공임단가’를 책정하게 된 이유가 될 것이다.

특히 개발자에 대해 표준공임단가를 두어 금전적 보상에 제한을 두어서는 안 된다. 이는 능력 있는 전문가가 되고자 하는 이들의 의지를 꺾을 수 있기 때문이다. 핀란드의 한 대학에서 내놓은 조사자료에 의하면 ‘SW 개발생산성에 있어 훌륭한 개발자 1명의 개발생산성이 하급 개발자에 비해 20배 가량 높다’는 결과가 있다. 이는 급여 측면에서 볼 때에도 그 이상의 가치가 있는 것이다.

현재 정부의 실업정책에 가까운 SW 정책은 이러한 측면에서 많이 부족하다는 지적이다. 즉, 표준공임단가에 묶여 있기 때문에 국내에서는 아무리 뛰어나다고 해도 인정받지 못하는 토양이 굳어져 가고 있으며, 이는 마찬가지로 기업 내부에서도 개발자에게 인색할 수 밖에 없다.

또한 전문인을 양성하기 위해 수년의 기간이 필요하지만, 단기간 성과를 내야만 하는 국내의 프로젝트 특성도 개발자를 힘들게 하는 악순환에 한 몫 거들고 있다.

소수의 전문인 중심 체계 필요
김명호 박사는 “정책적으로 획기적인 변화가 있어야 한다. 노동집약적 산업이 아닌 지식집약적 산업으로 바꾸기 위한 정책이 필요하다. 물론 교육도 마찬가지다. 전산 관련 대학 정원을 줄여서 의욕이 있는 전문가를 양성해 내고 이들을 대상으로 SW정책을 만들어 가야 할 것이다”라고 말했다.

그는 또 “16만 명에 달하는 국내 개발자들 모두에게는 미안한 말이지만, 누구나 다 성공할 수는 없다. 끊임없이 노력할 수 있고 자기를 발전시킬 수 있는 소수 개발자들만이 성공할 수 있으며, SW 정책도 이들에게 마음 놓고 일할 수 있는 환경을 만들어 주는 산업으로 만들어야 정부차원의 ‘미래의 먹거리’ 산업으로 성장할 수 있을 것이다”라고 주장했다.

출처 - http://www.zdnet.co.kr/news/news_view.asp?artice_id=00000039163435&type=det
Trackback 0 Comment 0
2012.02.06 15:34

LINQ 참고

LINQ 참고사이트 :

http://msdn.microsoft.com/ko-kr/vstudio/bb688085(en-us).aspx

LINQ C# 예제 사이트 :

http://code.msdn.microsoft.com/101-LINQ-Samples-3fb9811b

Trackback 0 Comment 0
2011.12.20 16:52

윈도우 라이브러리 학습 코드 지원 커뮤니티 참고 사이트

http://msdn.microsoft.com/ko-kr/default
Trackback 0 Comment 0
2011.12.20 11:21

jsp html 문자열 개행


textarea로 글을 작성 DB에 저장 후  출력과정에서 이와같은 문제가 발생되었다.

안녕하세요

홍길동 입니다.

이와같이 작성했는데 문자열이 붙어져서 나오는 경우가 생겨버렸다.

안녕하세요홍길동 입니다. 이와같이 나오는데

그러나 수정할려고 textarea에 보여지는것은 정상적으로 개행이 되어있었다.

해결책은
jsp로 프로그래밍중 발행된 문제라 jsp 기준 jstl 사용한다는 가졍하
<jsp:scriptlet>
    pageContext.setAttribute("cr", "\r");
</jsp:scriptlet>
${fn:replace(출력값, cr, "<br/>")}

이와같이 하니 문제는 해결되었다.
Trackback 0 Comment 0
2011.08.10 18:11

웹표준 동영상 wmv 첨부

오늘 wmv를 첨부할일이 있었는데 embed로 하니 파이어폭스에서 지원이 되지 않아서 다른방법을 찾다가 아래와 같은 방법을 찾았다.

1. 인터넷익스플로러인 경우
<!--[if IE]>
 <object width="높이값" height="넓이값" classid="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6" codebase="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701" standby="Loading Microsoft Windows Media Player components..." type="video/x-ms-wmv">
    <param name="filename" value="mms://주소.wmv" />
    <param name="Url" value="mms://주소.wmv" />
    <param name="animationatstart" value="0" />
    <param name="autostart" value="1" />
    <param name="balance" value="0" />
    <param name="currentmarker" value="0" />
    <param name="currentPosition" value="0" />
    <param name="displaymode" value="4" />
    <param name="enablecontextmenu" value="0" />
    <param name="enabled" value="1" />
    <param name="fullscreen" value="0" />
    <param name="invokeurls" value="1" />
    <param name="playCount" value="10" />
    <param name="rate" value="1" />
    <param name="showcontrols" value="1" />
    <param name="showstatusbar" value="1" />
    <param name="stretchtofit" value="1" />
    <param name="transparentatstart" value="1" />
    <param name="captioningID" value="captions" />
    <param name="displaybackcolor" value="0" />
   </object>
   <![endif]-->

2. 인터넷익스플로러가 아닌경우

 <!--[if !IE]> <-->
 <object type="video/x-ms-asf-plugin" data="mms://주소.wmv" width="넓이값" height="높이값"></object>
 <!--> <![endif]-->

Trackback 0 Comment 0
2011.05.27 15:42

mysql 디비생성 및 외부계정 설정하기

1. mysql접속후 create database 데이터베이스이름 으로 데이터 베이스 생성
2. 권한설정 및 계정 생성 grant all privileges on '디비명'.* '계정명'@'%' identified by '계정의 패스워드'
3. flush privileges;
4. 생성된 계정으로 접속후 테스트 해본다.
Trackback 0 Comment 0