저번주에 사전설명회를 이후로 오늘부터 본격적인
코드스테이츠 집체교육이 시작되는 날이다.

시작에 앞서 구글캘린더를 통해 교육일정을 보고 하루를 시작한다.
TIL 작성전 늘 오늘의 학습내용을 확인해보려한다.

오늘은 Urclass로 컴퓨터와 프로그램, 웹 클라이언트와 웹서버, 개발 환경 셋팅에 대한 내용을 공부하고
이해한다음Java를 구동시키는 IDE(Integrated Development Environment, 통합개발환경)인 IntelliJ를
이용해 간단한 실습을 진행하는 것을 학습 목차로 생각하고 공부를 진행해보려한다.

image

본격 컴퓨터와 친해지기 시작!


컴퓨터의 유래

먼저 계산한다는 의미의 라틴어 ‘Computare’에서 유래가 되었다고 한다.
대표적으로 ‘이미테이션 게임’에서 주인공 앨런 튜링이 독일군 암호를 풀어내기 위해 튜링머신을 발명한다.
튜링 머신을 통해 암호를 풀고 전황을 극적으로 반전시킬 수 있었다.
즉, 튜링 머신은 암호를 입력하면 일정한 계산을 통해 암호를 출력하는 기계였던것!
현대 컴퓨터의 시초로 평가되고 있다.

‘입력 받은 데이터를’ -> 하드웨어
‘정해진 규칙대로’ -> 소프트웨어
‘처리해서’ -> 하드웨어
‘처리 결과를 저장하고’ -> 하드웨어
‘출력하는 전자장치’ -> 하드웨어


소프트웨어

시스템 소프트웨어는 응용 소프트웨어를 실행하기 위한 일종의 플랫폼 역할을 수행하며
하드웨어와 직접적으로 소통하며 하드웨어 장치들이 제대로 동작할 수 있도록 해줍니다.


응용 소프트웨어

응용 소프트웨어는 소프트웨어에서 시스템 소프트웨어를 제외한 모든 소프트웨어를 의미합니다.
줄여서 애플리케이션 및 앱이라고도 하며, 일반적으로 프로그램이라고도 불립니다.
종류는 사무용, 교육용, 멀티미디어, 통신용, 게임 등 매우 다양합니다.


하드웨어

하드웨어는 컴퓨터를 구성하는 기계적 장치들의 집합입니다.
사람으로 비유하면 신체 그 자체라고 할 수 있겠습니다.
즉, 여러분들이 손으로 만질 수 있는 컴퓨터의 물리적인 장치들을 하드웨어라고 합니다.
컴퓨터의 정의에서 살펴본 것처럼, 하드웨어는 중앙처리장치, 기억장치, 입력장치, 출력장치로 분류됩니다.
그리고, 각 장치는 시스템 버스로 연결되어져 있습니다.
중앙처리장치(CPU),기억장치(Memory Device),입력장치(Input Device),출력장치(Output Device),시스템 버스(System Bus)


°프로그래밍

프로그래밍이란 프로그램을 만드는 과정으로서 특정 목적을 달성하기
위해 설계된 알고리즘을 프로그래밍 언어를 사용하여 코드로 작성하는 과정.


컴파일

프로그래밍 언어는 그저 사람의 언어와 컴퓨터의 언어를 매개할 뿐, 컴퓨터는 프로그래밍 언어로 작성된 소스 코드를 이해하지 못합니다. 그래서 소스 코드를 작성한 후에 컴퓨터에게 내용을 전달하려면 소스 코드를 기계어 코드로 변환시켜주어야 합니다. 이처럼 프로그래밍 언어로 작성된 소스 코드를 컴퓨터가 이해할 수 있는 기계어 코드로 번역하는 과정을 컴파일(Compile)이라고 합니다. 컴파일이 완료된 코드는 이제 컴퓨터가 이해할 수 있습니다.


빌드

앞서 언급한 컴파일은 빌드(Build)라는 과정의 일부입니다. 빌드는 작성한 소스 코드를 실행할 수 있는 산출물로 변환시키는 과정을 의미하는데, 그 과정 중에 소스 코드를 기계어 코드로 번역하는 컴파일 과정에 포함되어 있습니다. 컴파일을 마친 코드는 기계어 코드로 번역되어 컴퓨터가 이해할 수 있을 뿐, 아직 사용자가 소스 코드를 실행할 수는 없습니다. 프로그램이 실행되려면 .exe또는 .msi 확장자를 가진 실행 파일로 만들어주는 빌드 과정이 필요합니다. 빌드가 완료되어야 소스 코드가 비로소 실행시킬 수 있는 하나의 프로그램으로 완성됩니다.


°웹 클라이언트와 웹 서버

image

이론적인 공부는 여기까지 진행했고
이전에 뜨문뜨문 알고 있던 내용들을 조금 더 복기시켜주는 하루였다.
그리고 오늘은 가장 중요한 개발 환경 설정을 진행했다.

맥북과 윈도우는 조금 다른데
윈도우에는 WSL2를 설치해야한다.
나는 맥북을 사용하기때문에

JDK설치 -> Downloads JDK
IntelliJ설치만 해도 된다. -> IntelliJ IDEA

이전에 독학하면서 환경설정은 전부 마추어둔 상태였고
Oracle을 쓰던 JDK를 azul zulu JDK도 다운받고, Ultimate를 쓰던 것도 Community도 다운 받았다.
실습을 진행하면서 혹시나 환경이 다를때 발생하는 문제가 생길 것 같아
두 개를 같이 쓰는게 좋다고 판단해 다 받아놓고 작업을 해볼 생각이다.

오늘 하루도 끝.

Spring이라는 거대한 벽앞에서 다시 무너지지않게
멘탈케어하면서 천천히 달려보도록 마음가짐을 다시가진상태로
TIL 작성을 마쳐본다.

*탑15 인텔리제이 단축키* -> Top 15 IntelliJ IDEA Shortcuts


오늘의 커피량: ☕️ ☕️
오늘의 점심: 김치찌개, 소시지계란부침, 공기밥