Programming OverView
프로그래밍 혁명
코딩이 뭘까?
코딩이란, 컴퓨터에게 어떤 동작을 시키기 위해 명령을 내리는 것을 의미합니다. 그러나 컴퓨터는 0과 1 로만 이해할 수 있습니다. 코딩을 통해서, 반복적인 업무를 맡기거나 컴퓨터 내 작업을 통해서 만드는 것을 "소프트웨어"라고 말합니다 소프트웨어는 코딩을 통해서 이뤄진 것이라고 의미할 수 있습니다.
코딩이 바꾸는 세상
현대 사회에서는 코딩으로 이뤄진 세계를 살아가고 있습니다. 가령, 앱을 이용하는 것처럼. 뿐만 아니라 현대의 빅테크 기업은 "소프트웨어 기술"로 이뤄져 있습니다. 앞으로 미래는 소프트웨어 기술이 주목받을 것이라 전망받고 있습니다. 코딩, 왜 핫해졌을까?
- 기술의 발전때문입니다. 기술의 발전을 통해서 게임,앱,채팅 등등 다방면으로 이용되고 있습니다.
- 코딩을 활용할 수 있는 기기가 많아졌기 때문입니다.
- 코딩에 대한 접근성이 좋아졌습니다. 가령, 접근을 쉽게하는 라이브러리, 프레임워크의 등장이 있습니다.
- 코딩 커뮤니티가 활성화 되었습니다. 예로, 스택오버플로우가 있습니다.
- 코로나를 통한 디지털산업이 가속화 되었기때문입니다.
프로그래밍 혁명에 참여하는 방법
- 트렌드 이해하기
- 직접 코딩하기
- 개발자 되기
쉬운 듯 쉽지 않은 개발자 커리어
짧게는 3개월~6개월 동안 공부해서 취업을 할 수 있는 것도 개발자 사회이지만, 막상 준비해보려 하면 쉽지 않기도 합니다. 현업에서는 좋은 개발자 구하기 힘들다는 것도 현 주소 입니다. 잘하는 개발자들은 좋은 대우를 받기 때문에, 강의 전선에 오기 힘듭니다.
시간 투자의 어려움, 파편적 강의를 해결하기 위해서 코드잇을 구성했다??!
코드잇 함께 가자미~!!
입문자가 알기 힘든 두가지
내 코드는 왜 초라할까?
프로그래밍의 큰 그림을 알기 위해서는 동작원리, 구현방법을 알아야합니다.
동작원리는 클라이언트, 서버, 데이터베이스 요소로 이루어져 서로 상호작용하면서 동작합니다. 구현방법을 알아가 보면서 프로그래밍의 큰 그림을 확인할 수 있을 겁니다.
서비스의 동작 원리
대부분의 서비스들은 나눠지는 방법이 비슷합니다. 가장 대표적으로는, 클라이언트(고객)와 서버(가게)구조입니다. 웹 개발에서 클라이언트는 웹 브라우저를 의미합니다. HTML, CSS, JS file을 통해 웹 레이아웃을 페인팅합니다.
HTML, CSS, JS 코드들은 어디에서 오는 것일까? 바로 서버입니다. 서버란 하나의 컴퓨터를 의미한다고 볼 수 있습니다.
서버 컴퓨터는 어떻게 찾을 수 있을까?
브라우저에서 URL을 검색하면 DNS에서 이 URL을 찾습니다. 이를 찾으면 IP주소를 찾는다고 볼 수 있습니다.
IP주소를 통해서 서버에 접속할 수 있고, 이때 서버는 클라이언트에게 HTML,CSS,JS 파일을 제공합니다. 그래서 브라우저는 제공받은 파일을 통해
화면을 렌더링 할 수 있습니다. 클라이언트는 웹 사이트를 이용하는 와중에도 계속해서 데이터를 요청을 할 수 있습니다. 이때, 이 데이터들은 어디에서 오는 것일까? 서버는 데이터베이스라는 곳에 데이터를 저장해서 필요한 데이터들을 꺼내와 사용할 수 있습니다.
서비스의 구현 방법
서비스에는 여러가지 기능들이 있습니다. 가령, 결제하기, 구독하기, 공유하기 등등.. 그러나, 간단한 기능들을 구현하기 위해서는 대표적으로 반복문과 조건문이 있습니다. 그리고 반복문과 조건문 같은 작은 단위의 논리를 세워서 합쳐 기능을 구현하는 것입니다.
개발자들은 라이브러리와 프레임워크를 통해 기능을 구현하는데 보조받기도 합니다.
프로그래밍 분야들
프로그래밍을 시작하기 전에
웹, 모바일, 데이터사이언스, 게임, 블록체인, 임베디드, IoT
웹 개발 분야 이해하기
웹 개발은 수요가 가장 많습니다.
웹 서비스를 만들기 위해서는 클라이언트 개발과 서버 개발을 해야 합니다. 이를 프런트엔드 개발과 백엔드 개발이라고 지칭합니다.
프론트엔드 개발의 가장 기본은 사용자에게 보이는 화면을 그려주는 것입니다. HTML, CSS, JS, React,...
페이지가 복잡 해 질수록 작업하기 어려워지기 때문에 효율적으로 구현하기 위해서 라이브러리와 프레임워크의 도움을 받고 있습니다.
백 엔드의 대표적인 요소로는 데이터베이스, API가 있습니다. 서버에서 일어나는 일련의 요소들을 다루고 있습니다.
그리고 SQL, NoSQL 같은 요소들도 있습니다.
모바일 개발 분야 이해하기
모바일 개발도 웹 개발과 비슷한 요소가 많습니다. 서버측면은 거의 비슷하고, 클라이언트 측면이 다릅니다. 가령, 웹이 아니라 모바일기기가 클라이언트가 될 것입니다. 모바일은 크로스 플랫폼을 이용해서 안드로이드와 IOS를 개발하고 있습니다.
데이터 분야 이해하기
데이터 엔지니어, 데이터 애널리스트, 데이터 사이언티스트, 머신러닝 엔지니어, 머신러닝 리서처
그리고 다양한 분야들
게임, 탈 중앙화 된 서비스, IoT, 블록체인
나는 어떤 공부를 할까?
관심 있는 분야를 공부해라!
비개발자는 코딩을 어디에 쓸까?
공부하기!
프로그래밍에서 가장 중요한 것은 '문제해결능력'입니다.
더 높은 코드 퀄리티를 지향합시다! (안정성)(확장성)(성능)(이해가 잘 되는 코드)
'CodeIt! > 컴퓨터개론' 카테고리의 다른 글
소프트웨어 이해하기 (0) | 2023.03.09 |
---|---|
프로그래머 세계 이해하기 (0) | 2023.03.09 |
프로그래밍 언어 이해하기 (0) | 2023.03.09 |