본문 바로가기

기타3

유닉스(Unix)와 리눅스(Linux) 유닉스는 교육 및 연구 기관에서 즐겨 사용되는 범용 다중 사용자 방식의 시분할 운영체제이다. 수많은 운영체제들이 유닉스(Unix)라는 하나의 운영 체제에서부터 시작되었다. 유닉스는 1970년대 초반 벨 연구소 직원인 켄 톰슨과 데니스 리치에 의해 개발되었다. 개발에 사용된 언어는 대부분 C로 작성되어서 다른 컴퓨터에 수정해서 적용하기가 편했다. 그렇다 보니 유닉스와 유닉스를 변형할 수 있는 C언어가 그 당시에 인기를 끌게 되었다. 유닉스를 변형해서 다른 컴퓨터에 적용하는 사례가 많아지다보니 다양한 버전의 유닉스가 만들어져 이것을 어느 정도 변형을 제한하는 POSIX(유닉스의 규격과 기능)라는 유닉스의 표준이 만들어졌다. 하지만, 유닉스를 사용하거나 변형할 때 라이센스의 문제가 생겨 자유 소프트웨어 재단에.. 2020. 9. 23.
컴파일러(Compiler)와 인터프리터(Interpreter) 프로그램 언어를 해석하고 실행시키는 대표적인 방법이 컴파일러(Compiler)와 인터프리터(Interpreter)이다. 컴파일러(Compiler) 컴파일러는 고수준 언어로 작성된 프로그램 전체를 목적 프로그램으로 번역 후 링킹 작업을 통해 컴퓨터에서 실행 가능한 실행 프로그램을 생성한다. 번역 실행 과정을 거쳐야 하므로 번역 과정이 번거롭고 번역 시간이 오래 걸리지만, 한번 번역 후에는 다시 번역하지 않아도 되기 때문에 실행 속도가 빠르다. 컴파일러를 사용하는 언어에는 c, c++처럼 비교적 저수준에 가까운 언어이다. 인터프리터(Interpreter) 인터프리터는 고수준 언어로 작성된 프로그램을 한 줄 단위로 번역과 동시에 즉시 실행시킨다. 프로그램이 직접 실행되므로 목적 프로그램은 생성되지 않는다. 줄.. 2020. 9. 22.
Agile(애자일) 그리고 Scrum(스크럼) Agile 단어의 뜻은 다음과 같다. 1. 날렵한, 민첩한 (=nimble) 2. (생각이) 재빠른, 기민한 Agile은 쉽게 이해한다면 '유연하게 일하는 방식'이라 할 수 있다. Agile은 '연속적인 고객의 요구사항 변경'에 실패하는 프로젝트가 빈번하게 생기지 않도록 하기 위해 해결하고자 소프트웨어 세계의 거장들이 모여 선언문을 작성하게 되었다. 이것이 바로 애자일의 탄생 배경이 된 '애자일 소프트웨어 개발 선언'이다. 요구분석 → 설계 → 디자인 → 코딩 → 개발 순으로 순차적으로 이어지는 흐름인 워터폴 모델(Waterfal Model)의 반대로 Agile은 짧은 주기로 고객이 사용할 수 있는 소프트웨어를 만들어가면서 커뮤니케이션의 비용을 최소화하고 이슈 사항들을 바로바로 제거하면서 개발하는 방식이.. 2020. 8. 17.