본문 바로가기

💻공부한 내용 정리/CS공부하기

[ CS기초 ] 패키지 매니저, 환경 변수, 런타임 환경 개발자의 일을 도와주는 여러 요소를 알아보자. 1. 패키지 매니저 : 라이브러리를 마치 앱 마켓에서 앱을 다운로드하는 것처럼 내려받고 그 내역을 관리해 주는 도구. 라이브러리를 설치, 업데이트, 삭제하는데 사용 라이브러리: 소스 코드 작성을 위해 사용되는 코드의 묶음 패키지 : 소스 코드를 배포하기 위해 사용되는 코드 묶음 1-1. 운영체제에서 패키지 매니저 : 컴퓨터에서 사용할 프로그램들을 관리 ex) 리눅스 - apt-get, yum, pacman 등의 패키지 매니저를 사용하여 파이썬(프로그래밍 언어), NginX(서버용 프로그램)을 다운로드, 업데이트, 삭제 할 수 있다. 맥 - Homebrew 패키지 매니저를 사용하여 개발에 필요한 소프트웨어뿐만아니라, 구글의 크롬, 카카오톡 등 다른 소프트웨어도.. 더보기
[CS기초] CPU( 코어, 스레드, 클럭), 메모리 컴퓨터를 구성하는 '핵심 요소'와 그것들이 '작동하는 방식'을 알아보자. 컴퓨터가 여러 작업을 '동시'에 처리할 때 어떻게 작동하는지 원리를 알아보자 컴퓨터를 구성하는 요소를 푸드 트럭에 비유 - 푸드 트럭 : 컴퓨터 - 시설, 장비 : 컴퓨터의 구성요소 1. CPU(Central Processing Unit) - 중앙 처리 장치 (= 요리를 만들고 모든 것을 처리하는 로봇 ) : 컴퓨터에 주어진 일들을 해내는 주체로, 컴퓨터의 뇌라고 할 수 있다. 다른 컴퓨터의 구성 요소와 정보를 주고받으면서 컴퓨터에서 이뤄지는 모든 일을 관할한다. 컴퓨터에 저장된 프로그램을 불러와서 기계어로 작성된 명령문을 해석하고 실행한다. CPU에서 작업을 수행한 뒤 모니터나 스피커 등을 통해 결과물을 제공한다. CPU는 정사각.. 더보기
[ CS 기초 ] 프론트엔드, 백엔드, API, XML, JSON, YAML 1. 프론트엔드 - 사용자의 컴퓨터에서 작동하는 부분 cf)'초창기' 웹 사이트 = 서버로 부터 받은 결과를 화면에 표시하는 뷰어 ex) 브라우저의 요청 ➡️ 서버는 리소스 전체(HTML)를 전달 ( = 전체 페이지 새로고침) 따라서, 초창기의 웹 프로그래밍 = 서버 프로그래밍이라고 볼 수 있다. 자바스크립트와 브라우저의 기능이 발달됨에 따라서 브라우저에 많은 역할이 부여됨 ex) '좋아요'를 누름 ➡️ 자바스크립트 코드로 필요한 데이터만 처리 ➡️ '좋아요'의 수만 바꿔줌 (전체 페이지가 새로고침되는 방식과 달리) 브라우저에서 자바스크립트로 작동하는 부분이 늘어남에 따라 해당 부분을 전문으로 하는 직군이 파생 됨. 이들을 프론트엔드 개발자 = 클라이언트 개발자 라고 한다. 웹사이트에 필요한 데이터를 서.. 더보기
[CS기초] 서버, 클라이언트, 데이터 센터, 호스팅, 클라우드 컴퓨팅 1. 서버와 클라이언트 서버와 클라이언트 모두 컴퓨터이며, '역할의 개념'으로 나뉜다. 서버 : 정보나 서비스를 제공하는 컴퓨터 클라이언트 : 서버가 제공하는 것을 받아 사용하는 컴퓨터( 개인용 컴퓨터도 서버 역할을 할 수는 있음) 2. 데이터 센터( IDC = Internet Data Center ) 서버는 안정적인 네트워크, 적합한 하드웨어 성능, 해킹으로부터의 보호가 필요하다. 적절한 온도와 습도를 유지해야하고, 정전이나 화재에 빠르게 대처해야한다. 이러한 조건들을 갖춘 전문 시설을 '데이터 센터'라고 한다. - 데이터 센터 : 수많은 서버를 한 곳에서 안정적으로 관리하는 시설 데이터 센터를 소유하지 않은 기업이나 개인에게 센터 안의 서버를 임대해주는 데이터 센터도 있다. 그러한 임대 서비스를 '서.. 더보기