Programming
-
[Dev] 소프트웨어 개발의 3개의 KEY 원칙Programming 2020. 1. 30. 05:48
1. DRY - Don't Repeat Yourself : 똑같은 일을 두번하지 않는다. 중복되는 함수나 코드는 하나의 공통의 콤포넌트에 넣고 사용한다. 큰 시스템을 여러 조각으로 나누고 서로 참조한다. 같은 코드를 중복해서 작성하지 않는다. 시스템이 소규모일때는 복잡도가 크기 않기 때문에 프로그램을 이해하기가 수월한 반면 시스템이 커지고 개념도 많아지면 복잡도가 기하급수적으로 높아지게 된다. 이런 시스템에서는 복잡도를 최대한 줄여야 개발 및 나중에 유지보수비용이 절감이 된다. -복잡도를 관리하는 소프트웨어 아키텍처 프로젝트내에서의 팀별간, 팀내에서 팀원간, 개인내에서도 이런 중복현상은 존재하게 된다. 큰 프로젝트는 여러팀이 개발을 나눠서 작업이 진행이 되고 나중에 통합을 하게 되는데 각각의 팀에서 유일..
-
[Bash] 코딩 규칙 및 모범 사례Programming/Shell 2020. 1. 17. 16:55
Naming and Styles Tabs and Spaces ㅁ Tab 사용금지 ㅁ 후행 공백 제거 Pipe ㅁ inline 파이프와 display 파이프가 있는데, 파이프가 너무 짧은 경우를 제외하고 display 파이프를 사용하여 명확하게 구분하자 ㅁ display 파이프를 사용할 때 파이프( | ) 기호를 명령문 시작 부분에 넣자. (줄 끝에 넣지말자) This is an inline pipe: "$(ls -la /foo/ | grep /bar/)" # The following pipe is of display form: every command is on # its own line. _foobar="$( \ ls -la /foo/ \ | grep /bar/ \ | awk '{print $NF}')..
-
[Bash] 스크립트 제어Programming/Shell 2017. 12. 11. 01:32
신호 처리 리눅스는 시스템에서 실행되는 프로세스와 통신하기 위해 신호를 사용한다. 스크립트가 특정한 신호를 수신했을 때 특정한 명령을 수행하기 위해 스크립트를 프로그래밍 함으로써 쉘 스크립트의 동작을 제어할 수 있다. Bash 쉘에게 전달되는 신호 시스템 및 어플리케이션 이 만들 수 있는 30개가 넘는 리눅스 신호가 있다. 신호 값 설명 1 SIGHUP 프로세스를 끊는다. 2 SIGINT 프로세스를 중지시킨다. 3 SIGOUIT 프로세스를 중단시킨다. 9 SIGKILL 무조건 프로세스를 종료한다. 15 SIGTERM 가능하면 프로세스를 종료한다. 17 SIGSTOP 무조건 프로세스를 중단하지만 종료하지는 않는다. 18 SIGTSTP 프로세스를 중단 또는 일시 중지하지만 종료하지는 않는다. 19 SIGCO..
-
[Bash] 쉘 스크립트 개요Programming/Shell 2017. 8. 16. 20:58
1-1. Unix/Linux 소개 및 특징 1.1.1 UNIX - UNIX는 1969년 AT&T 벨연구소의 직원인 켄 톰슨, 데니스 리치, 더글라스 매클로리 등이 최초 개발하였으며, 이후 C언어로 재작성되어 다양한 플랫폼에 이식될 수 있도록 보안되었다.- 벨연구소는 대학과 연구기관에 UNIX를 활용할 수 있도록 라이선스를 제공하였으며, 버클리 대학교에서는 UNIX에 네트워크 프로토콜인 TCP/IP 등 다양한 기능을 보강하여 BSD(Berkeley Software Design) 배포본을 제작하고 이후 파생되는 많은 UNIX에 영향을 끼쳤다. 1.1.2 Linux - 1991년 리누스 토발즈가 핀란드 헬싱키 대학의 대학원생을 의해 커널이 개발된 이래 , 1984년부터 리처드 스톨만에 의해 추진된 GNU 프로..