| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- java최솟값구하기
- sqld자격증합격
- java set 출력
- 작은수제거하기
- java알고리즘문제풀이
- java 자료구조 활용
- javaJVM
- java list 출력
- 격파르타장점
- 격파르타후기
- java set 저장
- java참조자료형
- java map 출력
- javaJRE
- java list 저장
- 항해15기
- java알고리즘
- java map 저장
- 프로그래머스제일작은수
- 항해99후기
- 비전공자sqld
- 프로그래머스
- 노베이스부트캠프
- 컴파일
- 코딩부트캠프후기
- 인터프린터언어
- java map
- 격파르타합격후기
- java기본자료형
- 격파르타비전공자
- Today
- Total
코딩과 결혼합니다
기본 개발 용어 모음 본문
디버깅
소프트웨어에 발생하는 문제의 원인을 찾는 것
- 코딩을 하는 시간의 상당 부분이 디버깅하는데 쓰인다. (개발 중인 상태)
- 프로그래머의 디버깅을 도와주는 코딩 툴들이 꾸준히 발전.(VScode, Eclipse, Intelli j 등)
컴파일러
컴퓨터가 알아듣는 명령어들은 0과 1의 조합으로 되어있다. 때문에 오늘날 널리 사용되는 프로그래밍 언어들은
사람들이 보다 알아보고 작성하기 수월하도록 설계되어있다. 하지만 기계는 이 코드들을 알아보지 못하기 때문에 이를 기계어로 또는 그 중간 단계로 번역해주는 작업이 필요.
-컴파일 : 개발자가 작성한 프로그래밍 코드를 출시 전에 번역
-컴파일러 : 번역가
ex) 프로그래머는 자바 언어로 짠 코드 -> JVM용 언어로 번역 -> 기계로 보내 소프트웨어가 동작하도록 함
인터프린터 언어 (스크립트 언어)
코드를 그대로 가져가서 실시간으로 읽어주는 언어 - 자바스크립트, 파이썬, 루비 등의 언어들이 대표적
- 소프트웨어를 출시할 때 컴파일을 하는 과정이 필요하지 x
- 코드 수정이 잦은 서비스의 경우 업데이트가 훨씬 수월하지만 그때그때마다 코드를 통역해야 하기 때문에 실행 속도는 컴파일러 언어에 비해 느리다는 단점이 있다.
-프로그래머가 짠 코드가 그대로 배포되어 사용되기 때문에 프로그래밍 코드가 쉽게 누출되기도 함
빌드
개발자가 작업하는 프로젝트는 일반적으로 수십, 수백개가 넘는 폴더와 파일들로 이루어져있다.
이 중에는 개발자가 개발한 코드들도 있고, 다른 곳에서 작성한 코드 즉 라이브러리들, 이미지 등 소프트웨어에 필요한 파일들이 포함된다. 소프트웨어의 특성마다 다르지만 일반적으로 이를 출시할 때에는 이들을 다른 형태로 변형 또는 압축해서 내보낸다. 이걸 '빌드'한다 함.
-프로그래밍 코드들을 압축해서 전체 크기를 줄이거나 다른 사람들이 코드를 알아보지 못하도록 난독화하는 경우도 있다.
-컴파일 언어의 경우 컴파일해서 내보낸다. 즉 컴파일 언어로 만드는 소프트웨어는 빌드에 컴파일 작업이 포함되어 있다.
-형태 : 파일 하나로 압축되기도 하고, 많은 파일에 걸친 코드들이 더 적은 수의 파일들로 정리되기도 하고 , 그냥 파일들의 형식과 내용만 바뀌는 경우도 있음.
-작업하는 프로젝트 파일들을 출시하기 적합한 형태로 포장하는 일
배포
코딩에서 빌드한 결과물을 사용자에게 전달하는 과정
-웹사이트에 코드 수정으로 인한 어떤 변화가 나타났다면 새 버전이 배포된 결과
환경변수
'환경' : 소프트웨어가 동작하는 공간
환경변수 : 컴퓨터마다 지정된 값. 프로세스가 컴퓨터에서 동작하는 방식에 영향을 미치는, 동적인 값들의 모임
프로세스 : 컴퓨터에서 연속적으로 실행되고 있는 컴퓨터 프로그램

철수네와 영희네는 각각 '서재', '건물종류', '현관비밀번호'라는 환경변수가 칠판에 적혀 있다.
각 환경변수는 두 집에 각각 다른 값들이 있다.
1) 각 집에 '영어사전을 ${서재}에 꽂으세요.
'서재'란 환경변수에 집별로 적절히 들어간 덕분에 어느 집에서든 이 명령어로 올바른 장소에 사전을 꽂을 수 있다.
자바를 설치하고 환경변수 세팅 -> 내 컴퓨터 어디에 자바가 깔렸는지를 환경변수에 적어서, 어느 자바 프로그램이든 내 컴퓨터 어딘가에 설치된 자바를 문제없이 찾아서 실행할 수 있도록 하는 것.''
2) 다음 코드를 각 집에 보냈다고 가정 - 집의 ${건물종류}가 전원주택이면 잔디를 깎으세요.
각 환경의 조건마다 어떤 동작을 시행할지, 또는 어떻게 시행할지 정할 수 있다.
개발을 할 때는 보통 개발용, 배포용이라는 의미의 환경변수들이 사용된다. {mode : dev(개발용) , mode:prod(배포용)}
개발을 하는 컴퓨터 그리고 제품이 배포될 서버 등에 각각 환경변수 값을 넣고 그에 따라 조건을 주면 각각의 컴퓨터에만 특정한 정보가 나타나도록 할 수 있다.
3) 집에 도착하면 ${현관비밀번호}를 입력하고 들어가세요.
철수네 집이든, 영희네 집이든 위와 같이 환경변수를 사용해서 코드를 작성해야 한다. 그렇지 않으면 코드에 비밀번호를 직접 적어야 하는데 그럼 남들에게 비밀번호가 노출될 위험이 커진다.
특히나 오픈소스로 남들에게 공개되는 코드들에는 이런 보안 요소들이 직접 적혀서는 안 된다.
이처럼 다양한 용도로 각 환경마다의 값을 지정할 때 사용되는 게 환경변수
라이브러리 vs 프레임워크
프로그래밍을 할 때, 처음부터 모든 걸 다 내가 짜지는 않는다. 개인이나 기업, 재단 등에서 누군가 코드로 잘 짜놓은 각종 기능들을 가져다가 내 소프트웨어를 만들 때 사용한다.
라이브러리 : 어떤 소프트웨어에든 필요시 가져다 붙여 넣을 수 있도록 모듈화 된 코드, 또는 그 묶음
-특정 기능들이 함수나 클래스의 형태로 공개됨 --> 이것을 가져다가 내 소프트 웨어에 붙여 넣어 사용할 수 있다.
-꼭 남이 만든 것뿐만이 아닌 내 전용 라이브러리들을 만들어 둘 수도 있다.
소프트웨어의 기초 설계가 프로그래밍 되어 있고 이를 다운로드하여다가 그 위에 덧붙여서 내가 원하는 프로그램을 만드는 것
-스프링, 장고, .NET, 라라벨, Express, Vue 이런 것들이 프레임워크이다.
-내가 어떤 것 위에 무언가를 만든다. 어떤 것 안에서, 그것의 규칙에 따라 뭘 만든다면 프레임워크
라이브러리가 각각의 자재들이라면
프레임워크는 기본 골격을 갖춘 집 조리 키트
출처 https://www.youtube.com/watch?v=GYmuQJiPeM4
'청첩장 > 결혼식장 : 코린이의 저장소' 카테고리의 다른 글
| 230923 - 인텔리픽 모의 면접 후기 (0) | 2023.09.22 |
|---|---|
| YAML 코드 분석 (0) | 2023.08.07 |
| OpenJDK 64-Bit Server VM warning: Sharing is only supported for boot loader classes because bootstrap classpath has been appended (0) | 2023.08.05 |
| Failed to configure a DataSource 에러와 원인과 해결 방법 (0) | 2023.08.05 |
| NoSQL 과 RDBMS의 차이점과 장,단점 (0) | 2023.08.01 |