여러분은 어떤 목적으로 코딩을 공부하시나요
코딩을 공부하는 목적은 다양하겠지만
아마 많은 분들이
자기가 만들고 싶은 게임 앱등
서비스를 만들고 싶어서 코딩을 공부하는 분들이 많을 것 같습니다
그런 목적으로 코딩을 공부하시는 분들이
C언어 Java등 특정 언어에 집중해서
그 언어의 개념을 깊게 파고
예제들을 꼼꼼히 풀어보면서
공부를 하시는 분들이 많습니다
물론 특정 언어를 깊게 마스터 하는것은
어플리케이션을 개발하는데 있어 나중에 많은 도움이 되겠지만
초보자분들이 그렇게 시작하시게 되면
낯설고 어려워서 코딩 자체에 대한 흥미가 떨어질수 있습니다
그래서 저는 처음 시작하시는 분들은
가장쉽고 익숙한 것부터 시작해야 한다고 생각합니다
그래서 저는 그게 바로 웹 이라고 생각합니다
웹이란 인터넷 익스플로어 크롬 사파리 등
인터넷 브라우저를 통해 접속할 수 있는 모든 사이트를 의미합니다
대표적으로 네이버 구글 쿠팡 등이 있습니다
초보자분들에게 웹을 추천하는 이유는 정말 여러가지가 있는데요
먼저 웹은 상대적으로 다른 어떤 개발에 비해 난이도가 낮습니다
게다가 개발에 필요한 도구도 굉장히 많은 편이여서
누구나 쉽게 시작할 수 있습니다
웹으로 개발한 서비스는 컴퓨터뿐만 아니라
스마트폰 태블릿 등 다양한 기기에서
인터넷 브라우저만 있다면 어디서든 이용할 수 있습니다
그렇다면 웹 개발을 어디서부터 어떻게 공부 해야 할까요?
이를 설명드리기 전에 먼저
기본적인 웹 및 기타 개발의 분야에 대해 알아보겠습니다
개발은 크게 2가지로 나눌 수 있습니다
우리가 보는 화면을 구성하는 Frony-End (Client Side)
우리가 정보를 받고 실제로 눈으로 보는 부분이
클라이언트 사이드 혹은 프론트엔드라고 부릅니다
또 다른 하나는
화면에 보여줄 정보를 저장 처리 가공하는 부분이 있습니다
그것을 바로 백엔드 혹은 서버사이드라고 합니다
Front-End(Client Side)와 Back-End(Server Side)의 개념은
앱 웹 원도우 어플리케이션 등등
어떠한 어플리케이션이라도
효율적인 구조를 만들기 위해서는
이둘을 나누어서 개발을 하게 되느데요
저는 그중에서 Front-End를 먼저 학습하시는 것을 추천드립니다
프론트엔드는 개발하기 위해 필요한 사전지식이 (상대적으로) 적고
코딩한 대로 화면에 바로바로 나오기 떄문에
상대적으로 재미있게 공부하실 수있습니다
웹의 프론트엔드
즉 여러분이 보는 인터넷 화면을 만들기 위해서는
과연 어떤 것을 공부해야 할까요?
크게 3가지 언어 지식이 필요합니다
HTML CSS Javascript 입니다
쉽다면서 무슨 3가지 언어나 배워서 만들어야 하냐?
라고 생각하실 수있는데요
그 각각의 개념이 크게 어렵지 않고
유기적으로 연결되어 있어서
차근차근 배우시다보면 크게 어렵지 않습니다
심지어 HTML CSS 마크업 랭귀지라고 해서
개발언어 취급도 못받는 언어이기 떄문에
너무 겁먹지 마세요
처음 듣는 분들은 어럽게 느껴지실 수 있으니
제가 비유를 통해 하나씩 설명해드릴게요
여러분이 그림을 그린다가 생각해보겠습니다
먼저 HTML이라는 언어는
연필과 같습니다
어떻게 그릴지 전체적인 밑그림을 그리는 역할을 합니다
웹으로 생각해보면
홈페이지의 제목은 뭐로할지 로그인창은 어디에 둘지
기본적인 웹의 뼈대를 작성하는 언어입니다
그다음 CSS는
그림에서 물감과 같습니다
HTML로 그린 뼈대에 색을 칠하고
그 위치를 조금씩 수정해 나가면서
화려하게 만드는 역할을 하는것이죠
마지막으로 Javascript는 앞서 그린 그림을 움직이게 만드는
플립북 같은 역할을 수행합니다
그래서 이들을 공부하는 순서는
먼저 상대적으로 쉬운
HTML CSS를 공부하시면서 화면을 그려보시고
그 다음으로 Javascript를 추가하여 공부하시는 것을 추천드립니다
참고로 Javascript는 프로그래밍 언어이기에
굉장히 배울 양이 많습니다
그렇기 때문에 웹의 요소를 선택하고 제어할 수있을 정도로만
간단히 공부하고 넘어갑니다
프론트엔드의 기초만 알아도 만들 수 있는 것이 많고
활용할 수있는 분야 가 굉장히 넓습니다
네이버 구글 등에서 제공하는 API중
굳이 백엔드가 있지 않아도
그냥 프론트엔드에 한줄 붙여넣기만 해도
지도가 표시되는 등
굉장히 편리한 API 들을 제공하고 있는데요
(지도 외에도 변역 채팅 결제등 )
이를 조합한다면 상당히 쓸만한 서비스를 만들 수있습니다
프론트엔드의 개념이 어느정도 잡히셨다면
백엔드를 공부해야겠죠
백엔드 부터는
프로그래밍 언어가 어느정도 사용됩니다
그런데 초기에 프로그래밍 언어를 깊게 공부할 필요는 없습니다
프로그래밍도 메모리가 어떻게 사용되는지 등
깊이 알아야 어플리케이션을 만들 수 있는게 아닙니다
Javascript Ruby Python 등 쉬운 언어를 이용해
가장 기본적인 개념인 변수 조건문 반복문 함수
이렇게 4가지 개념만 학습하시는 것을 추천드립니다
왜냐하면 백엔드 로직을 구성하면서
더 필요한 부분이 있다면 그떄 그떄 찾아서 공부하는것이
훨씬 효율적이기 떄문입니다
상당히 많은 웹 서비스가 앞서 4가지 개념만 이해하고 계신다면
만들 수 있을 정도로 크게 어려운 개념이 필요하지 않습니다
어느 정도 프로그래밍 언어의 기초에 대해 이해하셨다면
이제 백엔드 공부를 시작하시면 됩니다
백엔드는 원래 알아야할 것이 많은 분야였습니다
SQL Database Session Cookie 등등
기본적인 개념을 이해하고 활용할줄 알아야
백엔드를 구성할 수있었는데
이제는 웹 프레임워크에서 그역할을 해주어서
그 개념을 잘 모르더라도
쉽게 프레임워크의 도움을 받아 개발할 수있습니다
언어별로 Java는 Spring Python은 Django Ryby는 Rails 등
다양한 프레임워크가 존재합니다
이렇게 프론트엔드 백엔드의 개념을 모두 공부하게 되면
웬만한 간단한 웹사이트는 만들수 있습니다
그 다음 만들고 싶은 웹 서비스 를 프로젝트 형식으로
완성하는 것을 목표로 공부하다보면
공부를 하고 만드는 것 보다 훨씬 더 빠른 속도로
지식을 습득할 수있고
자연스레 IT서비스 전반에 대한 이해도 생길겁니다
전반적인 이해가 되신다면
그 다음으로 모바일 앱도 만들어 볼수 있겠습니다
앱을 만든다는 것은 그 앱의 클라이언트
즉 프론트앤드 부분을 만드는 것이고
백엔드는 웹에서 만든것을 그대로 활용할 수 있기 때문에
웹으로 먼저 개념을 잡으시고 그 다음 앱을 만드신다면
초보자분들도 좀 더 수월하게 만드실 수 있을 것 같습니다
게임을 만들고 싶은 분들은
앞서 배운 프론트엔드 백엔드의 원리는
게임을 만들떄도 적용됩니다
게임도 클라이언트 사이드
즉 프론트엔드 부분을 만들게되면
웹에서 만들었던 백엔드를 활용해서
레벨 점수를 저장하는 등
로직은 똑같기 떄문에
기본적인 것을 웹으로 시작하시고
앱이나 게임 등 기타 개발로 넘어가실떄
훨씬 이해도 빠르고 쉽게 배울 수 있습니다
'여러가지 정보' 카테고리의 다른 글
반동완충기 (0) | 2020.07.18 |
---|---|
갯가재에 대해알아보자 (0) | 2020.07.17 |
초등학생 김두한 (0) | 2020.07.16 |
C C++ C# 차이점 알려드립니다 (0) | 2020.07.14 |
코딩을 배워야하는 이유! (0) | 2020.07.13 |