컴퓨터 개론 20

Codeit_컴퓨터 사이언스의 기본기

컴퓨터 사이언스의 기본기 프로그래밍의 여러 영역은 서로 밀접하게 연결되어 있다. 비슷한 접근 방식과 문제 해결 방식을 공유하고 있기 때문에 하나를 잘 하면 다른 하나도 더 쉽게 할 수 있는 게 프로그래밍 이다. 프로그래밍의 기본적인 개념이 튼튼하면 어떤 새로운 기술이나, 언어, 환경이 나오더라도 빠르게 적응할 수 있다. 이게 바로 컴퓨터 사이언스의 기본기를 기준으로 사람을 채용하는 이유 이다. 컴퓨터 사이언스의 기본 컴퓨터 사이언스의 가장 기본이 되는 과목으로는 객체 지향 프로그래밍, 알고리즘, 자료 구조 정도가 있다. 이 세 과목은 어떤 분야의 개발을 하든 선택이 아니라 필수로 알아야 하는 컴퓨터 사이언스의 기본 과목 이다. 그 외에도 컴퓨터 구조, 운영 체제, 컴파일러, 웹 개발, 데이터베이스, 네트..

컴퓨터 개론 2021.06.07

Codeit_남의 코드에서 배우기

Codeit_남의 코드에서 배우기 개발자에게 있어서 가장 좋은 스승은 잘 짜여진 좋은 코드이다. 훌륭한 개발자들의 코드를 잘 살펴보고, 그 코드는 어떻게 구조가 짜여져 있는지, 스타일 가이드는 어떻게 적용하고 있는지, 변수 이름이나 주석은 어떻게 쓰고 있는지, 어떤 라이브러리나 프레임워크를 사용하고 있는지, 이런 것들을 잘 살펴볼 필요가 있다. 좋은 코드를 찾을 수 있는 곳 1 : 라이브러리 프로그래밍 특유의 공유 문화 때문에, 금세 좋은 코드들을 많이 찾을 수 있다. 먼저, 라이브러리 내부의 코드들이 있다. 여러 사람이 공유해서 함께 쓰려고 만든 라이브러리라면, 그 코드의 퀄리티가 높아야 된다. 프로그래밍을 하다가 라이브러리를 쓰게 됐다면, 그 라이브러리의 내부를 한번 살펴본다. 라이브러리 예시 Rea..

컴퓨터 개론 2021.06.07

Codeit_라이브러리 와 프레임워크

라이브러리 와 프레임워크 다른 프로그램이지만 코드가 같을 수 있다. 사실 프로그래밍에서는 이런 일이 자주 일어난다. 내가 만들고 싶은 기능의 상당 부분이 이미 다른 개발자가 필요한 것과 똑같은 경우가 굉장히 많다. 라이브러리 자주 쓰일법한 코드를 모아 둔 게 라이브러리 이다. 마치 도서관 처럼 필요한 코드를 찾아서 쓸 수 있게 해둔 것이다. 라이브러리는 프로그래밍이 성장하는데 큰 기여를 했다. 기존의 코드를 가져다 쓸 수 있으니 프로그램을 만드는 속도가 빨라졌고, 요즘은 라이브러리를 사용하는 법만 알면 프로그래밍을 모르는 사람도 프로그램을 만들 수 있는 수준에 이르렀다. 라이브러리는 언어를 선택하는 기준이 되기도 한다. 이는 미리 만들어 둔 코드이기 때문에 여러 프로그래밍 언어 중 하나로 작성되어 있다...

컴퓨터 개론 2021.06.04

Codeit_좋은 코드란 무엇일까?

좋은 코드란 무엇일까? 단순히 기능이 잘 동작한다고 해서 좋은 코드인 것은 아니다. 그냥 동작하는 프로그램을 만드는 데만 중점을 두고 공부하다 보면 잘못된 습관이 생길 수도 있다. 코드의 퀄리티는 프로그래밍에서 매우 중요하기 때문에 어떤 코드가 좋은 코드인지 반드시 이해하고 있어야 한다. 뛰어나다는 평가를 받기 위해서는 반드시 내가 작성한 코드의 퀄리티가 높아져야 한다. 그걸 보고 실력을 판단하기 때문이다. 어떻게 하면 좋은 코드를 작성하고, 프로그래밍 언어를 잘 활용할 수 있을지 알아보자 :) 읽기 쉬운 코드 개발자들은 코드를 통해서 컴퓨터와 소통한다. 작성한 코드에 에러가 없다는 것은 컴퓨터에 우리 이야기를 정확히 전달했다는 것을 의미한다. 개발자들이 코드로 소통하는 또다른 존재가 있다. 바로 다른 ..

컴퓨터 개론 2021.06.04

Codeit_특수 목적 언어

특수 목적 언어 지금까지 다양한 언어들을 살펴 봤는데, 언급되지 않은 여러 프로그래밍 언어들이 있다. 앞서 살펴본 언어들은 일반적인 용도로 만들어진 프로그래밍 언어(General-purpose programming languge) 였는데, 특별한 목적을 위한 프로그래밍 언어(Domain-specific programming language) 들도 있다. R 주로 통계 소프트웨어 개발과 데이터 분석 및 시각화에 널리 사용되고 있다. 특히 통계나 빅데이터 분석에 필요한 데이터 전처리, 분석, 수학적인 계산과 그래프를 그리는 등의 기능에 특화되어 있다. SQL SQL은 데이터베이스를 관리하기 위한 목적의 프로그래밍 언어이다.데이터베이스란 데이터를 모아둔 공간을 의미하는데 프로그래머들은 SQL을 사용해서 데이터..

컴퓨터 개론 2021.06.03

Codeit_프로그래밍 언어의 스펙트럼

프로그래밍 언어의 스펙트럼 프로그래밍 언어를 분류할 수 있는 두 가지 기준을 알아봤다. 첫 번째는 객체 지향 프로그래밍 언어인가? (객체를 지향하는 언어 VS 객체를 지향하지 않는 언어) 두 번째는 코드 변수의 데이터 타입을 어떻게 사용하는가? (Dynamic Typing 언어 VS Static Typing 언어) 이 두 가지 기준으로 현재 사용되고 있는 프로그래밍 언어들을 나눠보면, 크게 세 가지 부류가 있다. '자세한 언어', '체계적인 언어', '쉬운언어' 여러 프로그래밍 언어의 특징을 이해할 때 프로그래밍 언어가 컴퓨터와 가까운지(자세한 언어), 인간과 가까운지로 나눌 수 있다. 모든 프로그래밍 언어의 특징을 파악하는 기준 객체 지향을 지원하는가? 코드 중 변수에 자료형을 작성하는가? 컴퓨터와 인..

컴퓨터 개론 2021.06.02

Codeit_프로그래밍 언어를 분류하는 두 가지 기준_변수의 데이터 타입

프로그래밍 언어를 분류하는 두 가지 기준_변수의 데이터 타입 프로그래밍 언어를 분류할 첫 번째 기준은 객체 지향의 지원 유무였다. 두번째로는 무엇이 있을까? 변수의 데이터 타입 자료형이란 변수의 데이터 타입을 미리 지정해 주는 것이다. 변수의 자료형을 정해 주지 않는 언어를 다이나믹 타이핑(Dynamic typing) 언어 라고 부른다. 자료형을 미리 정하지 않고, 실행될 때 정해주는 언어를 다이나믹 타이핑 언어라고 부른다. 이 언어는 간결하고, 편리한 코딩을 추구하기 때문에 컴퓨터적 구조가 생략되는 경우가 많아서 문법이 간결한 편이다. 그리고 코드에 어려운 표현이 적어서 코드의 내용이나 로직이 눈에 쉽게 들어간다. 그래서 작은 사이즈의 프로그램을 만들기에 적합하다. 대신 컴퓨터적 구조가 생략되어 그 부..

컴퓨터 개론 2021.06.02

Codeit_프로그래밍 언어를 분류하는 두 가지 기준_객체 지향

프로그래밍 언어를 분류하는 두 가지 기준_객체 지향 객체 지향 프로그래밍 프로그래밍 세계에서도 산업혁명과 같은 핵심적인 사건이 있다. 그것은 바로 객체 지향의 등장이다. 객체 지향은 프로그래밍에 대한 여러 접근 방식 중 하나이다. 하지만 객체 지향이 무조건 좋은 것은 아니다. 절차 지향이 속도가 더 빠른 경우 일부러 객체 지향을 안 쓰는 경우도 있다. 이렇게 전체를 각 부분으로 나눈뒤 각자 완성해 나가는 것을 top-down 방식이라고 한다. top-down 방식으로 전체 프로그램이 실행되는 과정을 보면 예를 들어 로그인 기능 같은 경우에는 아이디, 비밀번호 같은 데이터들이 함수 파라미터로 넘어갔다가 리턴 되어서 다시 돌아온다. 피드올리기 같은 기능은 사진과 내용이 함수 파라미터로 넘어갔다가 다시 돌아오..

컴퓨터 개론 2021.06.01

Codeit_프로그래밍 언어 이해하기

프로그래밍 언어 이해하기 나에게 필요한 언어와 스킬을 스스로 판단하는 능력이 필요하다. 프로그래밍 언어와 발전 컴퓨터는 우리의 일을 대신 해주는 기계 프로그램은 컴퓨터가 어떤 일을 해야할지 알려주는 설명서 이며 컴퓨터가 할 일이 프로그래밍 언어로 적혀 있는 것이다. 프로그래밍 언어는 그 설명서를 쓰기 위해 사용하는 언어 보통 프로그래밍 언어들은 주로 영어, 숫자, 괄호, 점, 세미콜론, 콜론 같은 기호로 이루어져 있다. 최초에는 수학 계산을 위해 컴퓨터가 시작되었다. 프로그래밍 언어가 많은 이유 같은 기능을 만드는데 왜 여러가지 프로그래밍 언어들이 존재하는 것일까? 사회의 상황에 따라, 개발자의 필요에 따라 여러 가지 이유로 기존의 프로그래밍 언어에 불편함을 느끼게 되고 새로운 언어가 만들어지게 되는 것..

컴퓨터 개론 2021.06.01

Codeit과 시작하는 프로그래밍 시작하기 :)

프로그래밍 기본개념 1. 코멘트(comment) 한국말로 '주석' 이라고 하며, 코멘트는 실제 프로그램이 실행될 때는 무시된다. 코딩 하다가 메모 하는 거라고 생각하면 된다. 프로그램이 더 커질수록 코멘트는 중요하다. 코멘트 사용 이유 복잡한 코드 설명 하다가 만 부분 표시 다른 개발자들과 소통 // , /* */ , #, 등등 코멘트는 여러개가 있다. 각각 맞는 프로그래밍 언어에 사용한다. 2. 자료형 개요 컴퓨터를 복잡한 계산기라고 생각할 수 있다. 프로그래밍이란? 계산할 수식들을 컴퓨터에게 알려주는 것 이라고 생각하면 된다. 자료형(Date Type) 이란? 컴퓨터는 계산기보다 더 다양한 종류의 값들을 쓸 수 있는데 이를 자료형이라고 한다. 자료형의 종류에는 여러가지가 있다. (자료형 또는 데이터 ..

컴퓨터 개론 2021.05.06