SEB_BE 2일차 - Development 기초

subimm_·2022년 8월 22일
0

코드스테이츠

목록 보기
3/83

💡 오늘의 학습 목표

  • 컴퓨터의 이해
  • 프로그래밍의 이해
  • 웹 클라이언트와 웹 서버

📔 컴퓨터와 프로그래밍의 이해

  • 컴퓨터란?
    입력 받은 데이터를 정해진 규칙대로 처리해서 결과를 저장하고 출력하는 전자 장치

  • 컴퓨터의 구성 요소
    - 정해진 규칙대로 > 소프트웨어
    - 입력 받은 데이터를 처리해서 결과를 저장하고 출력 > 하드웨어

    소프트웨어 : 물리적인 형태가 존재하지 않는 컴퓨터의 구성요소 / 명령어의 집합

    시스템 소프트웨어 : 응용 소프트웨어를 실행하는 플랫폼 / 하드웨어 장치 관리
    ex) 운영체제, 런타임환경, 장치 드라이버
    응용 소프트웨어 : 시스템 소프트웨어를 제외한 것, 애플리케이션 및 앱, 프로그램

    하드웨어 : 컴퓨터를 구성하는 기계적 장치들의 집합 , 물리적인 장치

    중앙처리장치(CPU) : 프로그램의 실행과 데이터 처리를 담당 , 프로세서
    제어장치 연산장치 레지스터
    기억장치 : CPU 동작에 필요한 데이터들을 저장하는 장치
    보조기억장치 - 큰 용량 / 속도 느림 / CPU와 직접 소통 x ex)SSD,HDD
    주기억장치 - 작은 용량 / 속도 빠름 / CPU와 직접 소통 o ex)RAM,ROM
    * 캐시 메모리 : CPU가 한번 사용한 데이터 중 재사용 가능성이 높은 데이터를 주기억장치로부터 미리 불러와서 대기시키는 역할
    입력장치 : 키보드, 마우스, 마이크
    출력장치 : 모니터, 스피커, 프린터
    시스템버스 : 하드웨어 장치 간의 통로 / 물리적으로 연결한 전선
    데이터버스 주소버스 제어버스

  • 프로그래밍 - 프로그램을 만드는 과정, 특정 목적을 달성하기 위해 설계된 알고리즘을 프로그래밍 언어를 사용하여 코드로 작성하는 과정을 의미

    프로그램 : 프로그래밍의 결과로 만들어진 목적 달성을 위한 컴퓨터 명령문의 집합체
    프로그래밍 언어 : 컴퓨터와 사람의 언어를 매개해주는 언어
    저수준 언어 - 기계어 , 고수준 언어- Java / C ...
    컴파일 : 프로그래밍 언어로 작성된 소스 코드를 기계어 코드로 번역하는 과정
    빌드 : 작성한 소스 코드를 실행할 수 있는 산출물로 변환시키는 과정
    빌드가 완료되어야 소스 코드가 비로소 하나의 프로그램으로 완성
    통합개발환경(IDE) : 프로그래밍에 필요한 코드작성, 디버깅, 빌드 등의 작업을 하나의 프로그램 안에서 처리할 수 있도록 만들어진 프로그램
    ex) Visual Studio, IntelliJ, Eclipse ...

📔 웹 클라이언트와 웹 서버

  • 2티어 아키텍처 ( 클라이언트 - 서버 아키텍처 )
    - 리소스가 존재하는 곳과 리소스를 사용하는 앱을 분리시킨 것
  • 클라이언트가 리소스를 가지고 있는 서버에게 요청하면 서버가 응답
  • 3티어 아키텍처
    - 서버는 리소스를 전달해 주는 역할만 담당 / 리소스를 저장하는 데이터베이스(창고)라는 공간을 별도로 마련
  • 프론트엔드 : 클라이언트처럼 사용자가 직접 눈으로 보는 화면
  • 백엔드 : 눈에 보이지 않지만 권환 관리 사용자 인증 데이터베이스 등 관리

💡 개발 환경 설정

  • 리눅스 설치 후 우분투 설치
  • JDK 설치
  • IntelliJ 설치
  • JetBrains Toolbox 설치 (IDE 최신버전 관리)
  • 환경변수 설정

💡 IntelliJ 단축키

Alt + 좌우 방향키 : 열려있는 탭 이동
Esc : 에디터 화면으로 이동
Shift + F2 : 에러로 이동
Alt + Shift + 상하 방향키 : 라인 이동
Ctrl + Shift + 상하 방향키 : 메소드 안에서만 라인 이동

Ctrl + Space : 자동완성
Ctrl + / : 주석 변환 토글
Ctrl + Shift + / : 블럭 주석 변환 토글
Ctrl + W : 단위 선택 확장
Ctrl + Shift + W : 단위 선택 축소
Ctrl + D : 선택 복제
Ctrl + Y : 라인 삭제

Shift + F10 : 실행
Shift + F9 : 디버그

회고

오늘은 OT 시간이 지나고 첫 수업이었다. 오늘도 프로그램 설치나 환경 셋팅 등 비교적 간단했지만 그마저도 처음인 나에게는 힘들었던 것 같다. 영어가 안되니 영어 문서 읽는 것도 힘들어서 헤매고 우분투 설치는 여기저기 막 찾아보면서 겨우 설치했다.. 인텔리제이도 처음 써봐서 모르는 것 투성이지만 쓰다보면 익숙해질거라고 생각한다. 책상에 하루종일 앉아있는게 제일 적응이 안되는 것 같다. 내일은 더 힘들텐데 😂

profile
코린이의 공부 일지

0개의 댓글