대략적인 학력 경력을 소개드리겠습니다.
학력
1987년 2월 인하대학교 전자계산학과 졸업
1989년 2월 인하대학교 전자계산학과 대학원 졸업
2009년 8월 한국항공대학교 컴퓨터공학과 응용소프트웨어 박사과정 수료
주요 경력
1989년 1월 ~ 1992년 12월 삼보컴퓨터 기술연구소
1993년 1월 ~ 1995년 5월 삼성전자 워크스테이션 개발팀
1998년 1월 ~ 2005년 12월 주식회사 아이티에이 대표이사 (소프트웨어 개발, 데이터베이스 설계 및 구축)
2006년 1월 ~ 2017년 12월 국가 기록물 데이터베이스 구축사업 (PM)
2018년 5월 ~ 2019년 3월 코리아IT 컴퓨터 학원 강사 (C#, JAVA, Database)
2019년3월 ~ 현재 ERP, MES Database 설계
Khóa học
Đánh giá khóa học
- Cơ bản về Database (SQL)
- Cơ bản về lập trình C#
- Cơ sở dữ liệu trung cấp (Mô hình hóa)
- Cơ sở dữ liệu trung cấp (Mô hình hóa)
Bài viết
- Hỏi & Đáp - 섹션 1 퀴즈 3번 문제에 질문이 있습니다. - 후보키는 RDBMS에 명시적으로 Primary Key로 지정하지 않았지만 개념상 후보가 될 수 있다는 뜻입니다. RDBMS에 이 컬럼이 후보키입니다라고 등록하지는 않습니다. 반드시 등록해야 하는 것은 기본키, 외래키 두개입니다.한 테이블 속성을 보면 핸폰, 주소, 주민번호 등 후보키들이 보입니다. 어느것이 pk가 될지는 그 업무의 성격에 따라서 달라질 수 있습니다. 다만, 보편적 테이블 설계라면 대부분 dummy 키를 사용하는 것이 일반적이긴 합니다. - 0
- 2
- 45
 
- Hỏi & Đáp - 서가,책 primary key 설정에 대한 질문입니다. - 좋은 질문입니다 pk를 어떻게 구성하느냐에 따라서,dbms가 대처하는 방법이 조금씩 달라집니다. 이것은 단순차이로 설명이 어렵습니다. 님의,방법으로 하면 서가에 있는 책을 정의할때 서가 id만 받겠죠. 그러나 제 방식이면 필연적으로 서고, 서가 id를 받아야 합니다. 이 단순한 차이가 실전 구현때,어떤 차이를 만드는지 많은 측면에서 생각해보세요. Pk구성에 따라서 쿼리도 달라지고 중복여부 관리도 달라집니다. 이 차이는 충분히 검토하고 따져볼 가치가 있습니다 - 0
- 2
- 231
 
- Hỏi & Đáp - 릴레이션 개념 - RDBMS에서 R을 이해 못하면 너무 안타카운 일이죠.R이 릴레이션이고 관계입니다. 제가 RDBMS 초보과정을 다시 만들고 있는데 그 과목의 포인트가 R입니다. 관계는 참조와 상속을 구현하는 가장 근본적인 구조입니다. 여기 답변보다는 차후 올라오는 데이터베이스 기초과정을 이용해보시기 바랍니다 - 0
- 2
- 246
 
- Hỏi & Đáp - M:N관계 강의에서 말씀하신 표현 - 꼭 fk를,끄집어내는게 포인트가 아닙니다. 다만 경우에 따라서 관계테이블 작명이 애매할 때가 있습니다. 이럴때 두 과계테이블을 보면 하나는 주어역할. 나머지는 목적어 역할을 하는게 많습니다. 이럴때 주어 테이블명 다음 목적어 테이블명을 붙여서 작명을 하면 좋다는 의미였습니다 - 0
- 2
- 208
 
- Hỏi & Đáp - IEnumerable 강의 따라하는 중 질문합니다. - 님 소스 그대로 돌려보니 잘 나오는데요?다만 IEnumerator를 선언한 이유가 없네요. Enumerator를 사용하는 것은 for문이 아니라 foreach와 같이 Enumerator를 사용하는 구문에서 사용하기 위함입니다. 다음 예제를 보면서 공부해 보세요. static void PrintNamesAndAges(IEnumerable names, IEnumerable ages) { using (IEnumerator ageIterator = ages.GetEnumerator()) { foreach (string name in names) { if (!ageIterator.MoveNext()) { throw new ArgumentException("Not enough ages"); } Console.WriteLine("{0} is {1} years old", name, ageIterator.Current); } if (ageIterator.MoveNext()) { throw new ArgumentException("Not enough names"); } } } - 0
- 3
- 515
 
- Hỏi & Đáp - 메서드 Override1 - 정 안되면 소스를 올려주세요 - 0
- 3
- 406
 
- Hỏi & Đáp - 메서드 Override1 - 영상을 안봐서 추측입니다만 human을 상속한 atudent이고 메서드를 overrite했다면 atudent가 나와야 합니다.vs에서 override함수 호출라인에 break를 걸고 f12키를 눌러서 어디로 가는지 확인해보세요 - 0
- 3
- 406
 
- Hỏi & Đáp - Sales 테이블에 복합키로 기본키를 구성하는 이유가 무엇인가요? - seq key는 dummy key라고 해서 의미를 갖지 않고 단지 식별을 위함이죠. 그럼 실제 같은 sales값이 들어와서 중복으로 등록도어도 막을 수가 없겠죠. 복합키는 중복을 원천적으로 학을 수 있죠. 둘다 사용해야 하는 경우가 다릅니다 - 0
- 2
- 335
 
- Hỏi & Đáp - 선생님 도메인이란게 뭔가요??? - 도메인은 컬럼에 부여된 타입이 가질 수 있는 경의의 수를 말합니다. 만일 번호라는 컬럼이 있고 타입이 int이면 양수만 사용한다고 했을때 약 20억개가 되는거죠 - 0
- 3
- 381
 
- Hỏi & Đáp - 데이터베이스 설치 관련 - 일단, 문제가 될 경우 모두 설치를 삭제하시고, 깨끗하게 처음으로 돌린다음 다시 설치를 시도해 보세요. 설치하기 전에 시스템에 문제가 있는지 설치프로그램이 진단을 하니까 그 과정에서 문제가 발생하면 어차피 설치 진행이 안됩니다. 그러면 .NET FRAMEWORK를 업그레이드 하는 등 적절한 조치를 취하시고 진행하시면 될것 같습니다. - 0
- 4
- 1K
 






