일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- HTTP메시지구조
- 혼자서공부하는네트워크
- 혼공네트워크
- 혼공시리즈
- GUI
- 혼자공부하는얄팍한코딩지식
- column grid system
- UX
- 제이콥닐슨 사용성평가기준
- 사이드이펙
- 혼공네트
- user flow
- 한빛미디어
- 혼공학습단11기
- 혼자공부하는네트워크
- UI
- HTTP
- 프로그래머스문자열출력하기
- 네트워크
- 혼자서공부하는
- 자바스크립트문자열출력하기
- 혼공학습단
- 피터모빌의벌집모형
- HTTP와HTTPS차이점
- 이더넷허브
- 혼자공부하는
- 혼자서공부하는얄팍한코딩지식
- https
- 2024년회고
- 혼공얄코
- Today
- Total
호기심으로 시작한 Frontend 꾸준함으로 채워나가는 Developer
[혼공얄코] Chapter 03-5 개발에 필요한 여러 가지 도구 본문
개발자의 앱 마켓 패키지 매니저
- 라이브러리를 마치 앱 마켓에서 앱을 다운로드하는 것처럼 내려받고 그 내역을 관리해 주는 도구
패키지
- 라이브러리와 유사한 개념
- 소스 코드 작성을 위해 사용되는 코드의 묶음인 라이브러리라면, 소스 코드를 배포하기 위해 사용되는 코드 묶음
패키지 매니저
- 패키지를 편리하고 안전하게 다루기 위한 도구
- 운영체제에서 사용하는 종류와 프로그래밍 언어에서 사용하는 종류로 나뉨
운영체제 패키지 매니저
- 컴퓨터에서 사용할 프로그램들을 관리
- 리눅스 : apt-get, yum, pacman 등
- 맥 : Homebrew 매니저로 여러 종류의 소프트웨어뿐만 아니라 구글의 크롬이나 카카오톡 같은 다른 소프트웨어도 명령어 한 줄로 설치 관리 할 수 있음
- 파이썬 : NginX(엔진엑스) 서버용 프로그램을 다운로드, 업데이트, 삭제
프로그래맹 언어 패키지 매니저
- 파이썬의 pip
- 자바의 Maven, Gradle
- 자바스크립트의 NPM, Yarn
- 루비의 RubyGems 등
프로그램이 작동할 곳에 지정된 값 환경 변수
- 컴퓨터에서 동작할 때 환경과 관련된 변수
- 동적인 값
- 응용 프로그램을 쉽게 쓰기 위해서 응용 프로그램의 경로를 미리 변수에 등록해 놓는 것
- 프로그램 실행 환경을 미리 변수에 지정해 놓은 것
- 운영 체제 입장에서 해당 프로세스를 실행시키기 위해 참조하는 값을 담은 변수가 '환경변수'
환경 변수는 무엇에 사용되는 것일까? 크게 3가지 용도
1. path 환경 변수,필요한 프로그램의 실행 경로
- 자바 프로그래밍으 ㄹ위해 JDK(자바 개발 키트)를 다운로드하면 자바와 프로그래밍에 필요한 기타 요소들이 ProgramFiles 폴더 설치, JDK환경 변수를 지정해주면 자바로 작성한 코드를 컴파일하거나 실행할 수 있다.
=> 컴퓨터에서 작동하는 프로그램을 필요로 하는 다른 프로그램이나 라이브러리의 위치를 모두가 접근할 수 있는 곳에 적어 두는 용도
2. 개발 환경 용도 구분
서버에서 동작할 백엔드 프로그램을 개발한다고 가정하면 데이터베이스에 연동되어 작동하는데, 일반적으로 기업에서는 같은 구조의 데이터 베이스를 두 개 이상 두어 하나는 실제 서비스에 사용하고 나머지는 개발용 및 테스트용으로 사용
3. 민감한 요소의 보안
소스 코드에 아이디, 비밀번호처럼 중요한 정보를 적어두면 협업을 위해 공유되는 문서 등에서 노출 될 수 있습니다. 프로그램을 실행할 서버와 개발 및 테스트할 컴퓨터에 DB_ID, DB_PASSWORD와 같은 환경 변수를 지정해서 아이디와 비밀번호를 지정해 두는 것
=> 환경 변수는 컴퓨터 시스템 관련 파일에 저장하는 것도 있고, 사용할 프로그램에서 지정된 폴더에 파일로 저장하는 형태도 있음
프로그램 실행을 돕는 런타임 환경
런타임 환경 = 런타임 시스템
- 프로그램이 실행되어 프로세스가 진행 중인 상태
- Node.js를 소개하는 자료에서는 '자바스크립트 런타임'이라고 설명하는 것처럼 여기서 런타임은 런타임 환경을 이야기 함
- 일반적으로 특정 언어로 작성한 프로그램을 실행할 수 있도록 해 주는 프로그램
JRE
- 자바로 작성한 소스 코드를 컴파일했을 때 생성된 자바 바이트코드를 실행할 수 있도록 해주는 소프트웨어
- Node.js 는 컴퓨터에서 직접 자바스크립트를 돌릴 수 있도록 해주는 런타임 환경
런타임 환경
- Node.js는 컴퓨터에서 직접 자바스크립트를 돌릴 수 있도록 해 주는 런타임 환경임
-2009년 라이안 달이라는 개발자에 의해 자바스크립트를 브라우저 밖에서도 실행할 수 있도록 하는Mode.js가 탄생
- 이러한 런타임 환경으로 이제 자바스크립트 웹 개발뿐만 아니라 백엔드 서버 프로그램, 심지어 데스크톱용 응용 프로그램 개발에까지 사용할 수 있게 됨
런타임 라이브러리
- 공통적으로 많이 사용하는 기능을 수행하기 위해 런타임 라이브러리라는 요소를 제공함
소프트웨어를 만드는 키트 SDK
개발자들이 프로그램을 수월하게 개발할 수 있도록 SDK라는 것을 제공함
- Software Development Kit의 약자, 소프트웨어를 개발하는 데 사용되는 키트
- 각각의 특성에 따라 라이브러리, 런타임 환경, 편집 도구, 코드 샘플, 설명서 등이 포함
- 언어나 플랫폼별로 개발자의 편의를 고려해서 제작된 SDK 덕분에 오늘날 우리는 비교적 손쉽게 프로그래밍을 공부하고 소프트웨어를 개발할 수 있음
생산성 있는 개발을 돕는 라이브러리, 프레임워크
라이브러리와 프레임워크의 공통점
- 특정 기능을 누군가 미리 소스 코드로 작성해 놓은 것
라이브러리
- 가져다 쓰는 것
- 프로그래밍 언어의 개발 환경에서 기본적으로 주어지는 라이브러리도 있고 외부에서 다운로드해야만 사용 가능한 라이브러리도 있음
- 개인이 어떤 유용한 기능을 개발한 뒤 다른 사람이 사용할 수 있도록 라이브러리로 만들어 배포한 경우나 기업 혹은 단체에서 어떤 목적을 가지고 라이브러리를 개발해서 제공한 경우도 이에 해당
- 객제로 된 데이터를 JSON형식으로 바꿔주거나 모바일 앱에서 예쁜 UI팝업을 보여주는 등 다양한 기능을 라이브러리 형태로 사용할 수 있어 개발자들의 수고를 덜어줌
프레임워크
- 기반으로 삼는 것
- 전체적인 흐름을 자체적으로 가지고 있어서 개발자가 그 안에서 필요한 코드를 작성함
- 프레임워크 안에는 프로젝트를 빌드, 실행하고 기능들을 테스트하는 기능이 있음
확인문제
1, 다음 중 문장에 들어갈 알맞은 단어를 보기에서 찾아 써 보세요.
- 컴퓨터에 설치된 프로그래밍 언어의 경로를 프로그램에 알려주기 위해 ( 환경변수 )가 사용됩니다.
- 소프트웨어를 개발하는 도중 이미 개발된 유용한 기능을 넣기 위해 (라이브러리)를 받아 사용할 수 있습니다.
- 프로그램을 만들 때 필요한 도구들을 제공하는 것은 (SDK), 프로그램의 기초 설계를 미리 구성해둔 것을 ( 프레임워크 )라고 합니다.
2. 다음 중 틀린 것을 고르세요
2
3. 다음 중 나머지 넷과 종류가 다른 하나를 고르세요
4
4. 다음 용도 중 환경 변수를 사용하기 적합하지 않은 것을 고르세요
3
'혼공 시리즈 > 혼공얄코' 카테고리의 다른 글
★ [혼공학습단 11기] '혼공얄코' 활동 회고 ★ (1) | 2024.02.14 |
---|---|
[혼공얄코] Chapter 03-4 오류라는 위험에 대비하기 (0) | 2024.02.02 |
[혼공얄코] Chapter 03-3 프로그래밍 언어 분류 (2) | 2024.01.30 |
[혼공얄코] Chapter 03-2 바이트는 뭐고 자료형은 왜 쓰나요? (0) | 2024.01.30 |
[혼공얄코] Chapter 03-1 개발자의 길로 들어서기: 프로그래밍 용어 알기 (2) | 2024.01.29 |