Technique/ETC
-
아키텍트Technique/ETC 2017. 6. 13. 10:19
개발자로 시작한 사람들이 꿈꾸는 길은 과연 무엇을까? 어쩌면 높은 수준의 고급 개발자가 되는 것이 가장 일차적인 꿈이긴 하겠지만, 어느 정도 수준에 올라간다면 아마 설계자나 아키텍트를 꿈꾸지 않을까 생각해본다. 하지만, 아키텍트라는 분야는 단순히 프로그래밍만을 잘 한다고 해서 갈 수 있는 길이 아니기에 해야 할 공부도 상당히 많다. 특히 IT 분야에서는 아키텍트가 설계, 프로그래밍, 그리고 테스트 과정 뿐만 아니라 프로젝트 전반에 대한 공정, 인력, 비용, 산출물 등을 고려해서 진행을 해야 함으로 매우 어려운 분야라 할 수 있다. 그렇다면 아키텍트가 되기 위해서는 준비해야 하는 과정은 어떤 것이 있을까? 아마 다른 무엇보다도 제일 먼저 준비해야 할 것은 사용자 요구사항을 이해하고 분석하는 설계 과정이 아..
-
자료구조Technique/ETC 2017. 5. 25. 09:45
자료구조 ( data structure ) 자료의 잡합을 의미하며 각 원소들 사이의 관계가 논리적으로 정의된 일정한 규칙에 의하여 나열되며 자료에 대한 처리를 효율적으로 수행할 수 있도록 자료를 조직적, 체계적으로 구분하여 표현한 것을 말한다. 자료구조의 선택기준 작업의 효율성, 추상화, 재사용성을 증가시키기 위하여 상황에 따른 적절한 자료구조를 선택하여 사용해야 한다.자료의 처리를 좀 더 효율적으로 하기 위하여 아래의 사항을 고려해야 한다. 자료의 처리시간 자료의 크기 자료의 활용 빈도 자료의 갱신 정도 프로그램의 용이성 효율성( Efficiency ) 상황에 맞는 알고리즘을 사용하여 자료를 구조화 시키기 때문에 효율적으로 동작한다.예를 들어 모든 사원에 대해 사번과 이름의 쌍을 배열이라는 자료구조로 ..
-
좋은 프로그래머가 되는 24가지 방법Technique/ETC 2016. 10. 21. 15:19
1. 프로그래밍에 열정이 있어야 한다. 열정이 없고 즐기지 못하면 평생하기 어려운 일이다.2. 프로그래밍 기초 원리를 완전히 이해해야 한다. 원리를 모르면 근본적인 해결을 할 수 없다.3. 문제 해결 능력을 키워야 한다. 개발자의 가장 중요한 핵심 역량이다.4. 창의적인 사람이 되라. 대부분의 좋은 해결책은 창의력에서 나온다.5. 다른 사람의 코드를 이해할 수 있는 능력을 키워야 한다. 다른 사람의 코드에서 배운다.6. 수학을 잘 해야 한다. 수학을 못하면 값싼 쉬운 개발 밖에 못한다.7. 좋은 커뮤니케이션 스킬을 갖도록 노력해야 한다. 프로그래밍은 컴퓨터와 얘기하는 것이 아니고 사람들과 얘기하는 것이다. 8. 협업 능력을 키워라. 다른 사람과 일을 나눠서 할 수 있어야 내 몸값이 비싸진다.9. 논쟁(d..
-
[ 펌 ] 좋은 프로그래밍 습관 51 - 61Technique/ETC 2016. 10. 21. 14:50
[ 051 ] - 구조체 변수를 만들면 반드시 초기화하자.구조체 변수를 만들면 그 변수가 포인터이든지 아니면 구조체 변수이든지 상관없이 반드시 초기화를 해주어야 합니다. 특히 고수들은 초기화 작업을 위해 구조체를 만들고 초기화하는 별도의 함수를 사용합니다. 이 장의 본문에서 예로 든 생성 및 초기화 함수의 코드를 실무에서 구조체를 사용하는 프로그램을 작성할 때 적용할 수 있도록 충분히 연습하세요. [ 052 ] - 구조체 내부에서 포인터를 사용하면 내부 항목도 메모리를 할당해 주자.구조체를 사용할 때 내부 항목으로 char *형을 사용하는 경우가 가끔 있습니다. 반드시 char *형이 아니더라도 포인터형을 내부 항목으로 사용하는 경우가 있죠. 이와 같은 경우에는 구조체의 내부 항목도 메모리 할당을 해주어..
-
[ 펌 ] 좋은 프로그래밍 습관 41 - 50Technique/ETC 2016. 10. 21. 14:50
[ 041 ] - #define 문을 사용하여 소스 코드에서 사용하는 상수들을 미리 정의하자.C 언어에서 사용하는 #define 문은 사무실에 놓여 있는 꽃병이나 화분처럼 그저 보는 데 만족하라고 있는 기능이 아닙니다. 고수 프로그래머들의 소스 코드를 보면 여러 가지 #define 문을 사용하여 굳이 소스 코드에 대한 주석을 보지 않고도 이 소스 코드의 기능이 무엇인지 알 수 있을 정도입니다. 대부분의 초보 프로그래머들이 귀찮거나 번거롭다고 해서 #define 문을 사용을 주저하는 경우가 많은데 #define 문을 사용하지 않고 0과 1로 도배하다시피 한 소스 코드는 한두 달 지나면 소스 코드를 만든 프로그래머조차 쉽게 이해하지 못할 만큼 어려운 코드가 됩니다. [ 042 ] - 포인터는 선언하자마자 초..
-
[ 펌 ] 좋은 프로그래밍 습관 31 - 40Technique/ETC 2016. 10. 21. 14:49
[ 031 ] - 여러개의 상수를 선언할 때 #define보다 열거형을 사용하자. 우리는 #define 문의 사용에 익숙하기 때문에 보통 상수를 선언할 때 #define 문을 사용하는 경우가 많습니다. 한두 개의 상수를 선언하는 경우라면 #define 문을 사용해도 되지만 여러 개의 상수를 순차적으로 정의할 필요가 있을 때에는 #define 문을 사용하는 것보다 열거형을 사용하는 것이 좋습니다. #define KOREAN 10 #define ENGLISH 11 #define MATH 12 #define HISTORY 13 위와 같이 과목에 따라 과목의 코드를 #define 문을 사용하여 상수로 처리하면 열거형을 사용할 때 좀더 간단하게 표현할 수 있습니다. enum { KOREAN = 10, ENGLIS..
-
[ 펌 ] 좋은 프로그래밍 습관 21 - 30Technique/ETC 2016. 10. 21. 14:48
[ 021 ] - 함수의 매개변수를 사용하여 연산하지 말자. 초보 프로그래머들의 실수 가운데 하나는 함수의 매개변수를 for 문이나 while 문의 제어 조건을 이용한다는 것입니다. 하지만 고수 프로그래머들은 매개변수를 사용하여 함수 내부의 연산을 하지 않습니다. 매개변수의 값을 연산할 필요가 있다면, 함수 내부에 별도의 변수를 하나 선언해서 그 변수에 매개변수의 값을 받아 연산을 하는 것이 바람직합니다. 매개변수로 연산을 하지 않는 것은 디버깅 시간을 줄여주며 매개변수 때문에 일어날 수도 있는 논리적인 오류를 미리 예방할 수 있습니다. [ 022 ] - 함수의 매개변수를 검사하자. 함수가 호출되면 고수 프로그램의 코드는 함수에서 사용하는 매개변수의 값을 검사합니다. 매개변수의 값이 정상적인 값인지 먼저..
-
[ 펌 ] 좋은 프로그래밍 습관 11 - 20Technique/ETC 2016. 10. 21. 14:47
[ 011 ] - 공백문자를 사용하여 코드를 보기 좋게 만들자.프로그래밍을 시작한 지 얼마 안 되는 사람들은 소스 코드를 작성하기에 급급해서 다음 코드와 같은 형태로 구성하는 습관이 있습니다. 위의 코드에서 공백문자만 추가하면 다음과 같습니다. 연산자와 변수 사이에 단순히 공백문자 하나만 더 추가했을 뿐인데도 위의 코드보다 훨씬 보기가 편할 것입니다. 사실 실행 결과는 위의 코드나 아래 코드나 똑같지만 소스 코드를 작성하는 사람들의 의무 가운데 다른 사람이 자신의 소스 코드를 보더라도 쉽게 이해할 수 있도록 해야 한다는 조항이 있다는 것을 명심하세요. [ 012 ] - 변수를 사용할 때는 수직으로도 정렬하자.이 방법도 신입 사원들에게 제가 권장하는 방법 중의 하나입니다. 위와 마찬가지로 이렇게 하지 않아..