당신은 주제를 찾고 있습니까 “파이썬 프론트 엔드 – 파이썬으로 취업하기 어려운 이유“? 다음 카테고리의 웹사이트 ppa.brokengroundgame.com 에서 귀하의 모든 질문에 답변해 드립니다: ppa.brokengroundgame.com/blog. 바로 아래에서 답을 찾을 수 있습니다. 작성자 아케이코딩 – 쉽게 배우는 코딩과 IT 이(가) 작성한 기사에는 조회수 93,981회 및 좋아요 937개 개의 좋아요가 있습니다.
Table of Contents
파이썬 프론트 엔드 주제에 대한 동영상 보기
여기에서 이 주제에 대한 비디오를 시청하십시오. 주의 깊게 살펴보고 읽고 있는 내용에 대한 피드백을 제공하세요!
d여기에서 파이썬으로 취업하기 어려운 이유 – 파이썬 프론트 엔드 주제에 대한 세부정보를 참조하세요
왜 한국에서는 파이썬으로 취업이 어려울까요?
파이썬이 잘 쓰이지 않는 분야 5가지를 소개합니다.
파이썬 프론트 엔드 주제에 대한 자세한 내용은 여기를 참조하세요.
Python으로 웹 프론트엔드 개발하기 — baealex – BLEX
예전에 장난삼아 훗날엔 파이썬으로 프론트 개발하는 날이 올거라서 자바스크립트를 깊게 하지 않겠다고 말했던 적이 있었다. 파이썬을 사랑하는 마음 …
Source: blex.me
Date Published: 4/22/2021
View: 2861
[Front-end] 파이썬으로 프론트엔드를? PyScript의 등장 – velog
인공지능을 사용한 백엔드 서비스에 최적화되어있다고 볼 수 있다.앞으로 AI트랙을 진행하면 인공지능을 소재로 한 웹프로젝트를 진행하게 되는데, …
Source: velog.io
Date Published: 9/8/2021
View: 7388
비전공자도 이해할 수 있는 프론트엔드, 백엔드의 모든 것
웹 개발은 크게 프론트엔드와 백엔드 개발로 나눌 수 있습니다. … 자바스크립트 외에도 제이쿼리(jQuery), PHP, 파이썬(Python), 루비(Ruby) 등이 …
Source: spartacodingclub.tistory.com
Date Published: 4/10/2022
View: 727
Python으로 Front-end 개발하기 회고 – Yunseok’s Dev Blog
Python으로 Front-end 개발하기. 아샬님이 파이썬으로 웹 프론트엔드 개발을 실험을 한다고 하셔서 낼름 갔다. 파이썬으로 웹 프론트엔드를 개발하는 다양한 시도들이 …
Source: hannut91.github.io
Date Published: 9/19/2021
View: 693
python공부 하다가 프론트엔드 공부로 바꾸려고 하는중입니다만
html, css , javascript – react – typescript 이 순서로 공부하려고 합니다. 이런 경우. 프론트엔드개발자도 백엔드를 어느정도 할 수 있어야 한다고 들어서 python을 …
Source: okky.kr
Date Published: 2/2/2021
View: 4996
“파이썬 vs 자바스크립트”, 당신의 선택은? – 코딩월드뉴스
자바스크립트는 주니어 프론트엔드 개발자, 시니어 설계자와 풀스택 엔지니어 등 다양한 취업 기회가 열려 있다. 2. 학습 곡선 코딩에 익숙하지 않은 …
Source: www.codingworldnews.com
Date Published: 10/9/2022
View: 9115
2. 개발자라고 다 같지 않다 : 프론트엔드/백엔드 – 브런치
말문을 트이게 만드는 IT 지식 | “저는 프론트 개발자고, 이분은 백엔드 담당입니다.”“이 부분은 프론트 담당자에게 말씀드려야 해요.”“요즘은 파이썬 …
Source: brunch.co.kr
Date Published: 11/12/2021
View: 6928
20210301_개발공부 중 방향에 대한 고민들 (백엔드냐, 프론트 …
하지만 javascript는 웹에서의 범용성이 좋고 발전가능성이 높다. 하지만, python의 경우 웹프론트엔드와 연관성이 없고 서버와 관련있다. 그런데 나중에 …
Source: goforit.tistory.com
Date Published: 3/14/2022
View: 4199
백엔드 대 프론트엔드 개발: 시작하기 위해 알아야 할 사항
자바스크립트; 파이썬; 파이썬 배우기: 어디서부터 시작할 수 있나요? 5. 프론트엔드와 백엔드: 어느 것부터 시작해야 할까요? 6. 프런트 엔드 및 백 개발: FAQ.
Source: appmaster.io
Date Published: 10/4/2022
View: 6667
백엔드 프론트엔드 차이와 예시 – 물리학과 직장인
백엔드 프론트엔드 차이 및 예시 프로그래밍이나 개발에 관심이 조금 있는 분이라면 … 파이썬 스크린샷 캡쳐 및 저장 방법 (Python PyAutoGUI).
Source: muzukphysics.tistory.com
Date Published: 2/28/2022
View: 2259
주제와 관련된 이미지 파이썬 프론트 엔드
주제와 관련된 더 많은 사진을 참조하십시오 파이썬으로 취업하기 어려운 이유. 댓글에서 더 많은 관련 이미지를 보거나 필요한 경우 더 많은 관련 기사를 볼 수 있습니다.

주제에 대한 기사 평가 파이썬 프론트 엔드
- Author: 아케이코딩 – 쉽게 배우는 코딩과 IT
- Views: 조회수 93,981회
- Likes: 좋아요 937개
- Date Published: 2019. 9. 16.
- Video Url link: https://www.youtube.com/watch?v=PH2XhO-XyZw
Python으로 웹 프론트엔드 개발하기 — baealex
예전에 장난삼아 훗날엔 파이썬으로 프론트 개발하는 날이 올거라서 자바스크립트를 깊게 하지 않겠다고 말했던 적이 있었다. 파이썬을 사랑하는 마음에 던진 말이었는데 정말 그런날이 올지도 모른다는 생각이 들었다. Brython이라는 존재가 그러한 확신을 심어주었다.
Brython은 사실 꽤나 오래전부터 존재한 것으로 보여지나 필자는 2021년 7월 즈음 처음 존재를 알게 되었다. 이 글에는 Brython을 사용하면서 느낀점과 사용법에 대해서 다루고자 한다. 우선 여기서는 파이썬이라는 점에서 자바스크립트와 용어를 다소 다르게 사용한다.
document를 제외한 빌트인 객체 = 패키지
빌트인 객체 메서드 = 함수
Brython
공식 홈페이지에서는 자바스크립트를 대신해 파이썬3를 이용하여 웹 클라이언트 사이드 개발을 진행할 수 있다고 설명하고 있다. 실제로 자바스크립트에서 사용할 수 있는 브라우저 API 객체를 동일하게 제공하며, 파이썬에서 사용하는 모든 문법을 사용할 수 있었다.
속도는 CPython과 거의 동일하다고 언급하고 있다. 다만 Brython의 초기 실행 시간이 상당히 길며, 파이썬 스크립트를 외부에서 호출하는 경우 DOM 로딩이 완료된 후 AJAX를 이용하여 호출하는 것인지 속도가 상당히 느렸다. 하지만 로딩이 완료된 후 실행 속도는 크게 문제되지 않았다.
Hello, Brython!
위와같이 단 2개의 스크립트와 body onload 이벤트에서 brython 함수를 호출하는 것으로 브라이썬을 즐길 모든 준비가 끝난다. 위 코드를 그대로 붙여서 실행한 후 페이지에 접속하면 Hello, Brython! 문장이 뜨는 것을 확인할 수 있다.
가볍게 엘리먼트를 생성하여 DOM에 추가해 보자.
from browser import document fruits = ['apple', 'banana', 'grape'] ul = document.createElement('ul') for fruit in fruits: li = document.createElement('li') li.textContent = fruit ul.appendChild(li) document.body.appendChild(ul)
필자는 사실 document 객체에게 불만이 있다. document 객체는 스네이크 표기가 아닌 카멜 케이스 표기를 따르고 있다. 깐깐하게 표기법 가지고 따져들고 싶진 않지만 코드의 가독성을 중요시 생각하는 필자에게 기본적인 문법이 통일되지 않은 것이 안타까울 따름이다. 다만 이는 document 보단 브라이썬에서 제공하는 문법 및 함수를 사용하면 어느정도 해소된다.
from browser import document, html fruits = ['apple', 'banana', 'grape'] ul = html.UL() for fruit in fruits: ul <= html.LI(fruit) document.body <= ul 위에서 본 코드와 같은 결과를 출력하지만 훨씬 간결해진 것을 볼 수 있다. createElement 대신 html 패키지를 사용하여 원하는 엘리먼트를 생성할 수 있고, 엘리먼트의 appendChild 대신 화살표를 사용하여 엘리먼트를 자식 노드로 추가할 수 있다. 간결하지만 다소 난해하다. Selector 브라이썬에서는 자바스크립트의 getElementById와 querySelector 메서드를 좀 더 간결한 문법으로 제공하고 있다. getElementById는 document에서 딕셔너리처럼 접근할 수 있다. from browser import document, html document.body <= html.DIV(id='root') document['root'] <= html.P('Hello, Brython!') querySelector는 document.select 메서드로 접근할 수 있다. css 구분자를 인자로 받는다. from browser import document, html ul = html.UL() for fruit in ['apple', 'banana', 'grape']: ul <= html.LI(fruit, Class='fruit') document.body <= ul fruits = document.select('.fruit') for fruit in fruits: fruit.style.color = '#f00' Event 이벤트는 엘리먼트에 bind 메서드를 사용하면 추가할 수 있다. from browser import document, html def on_click_ul(e): if e.target.nodeName == 'LI': e.target.style.color = '#f00' ul = html.UL() ul.style.cursor = 'pointer' ul.bind('click', on_click_ul) for fruit in ['apple', 'banana', 'grape']: ul <= html.LI(fruit, Class='fruit') document.body <= ul 첫 인자에 이벤트의 종류, 두번째 인자에 콜백 함수를 전달한다. Timer set_timeout set_timeout 함수는 timer 패키지에서 제공하고 있다. 자바스크립트의 setTimeout 메서드와 동일하게 첫번째 인자로 콜백 함수, 두번째 인자로 ms 단위의 시간을 받는다. from browser import timer timer.set_timeout(lambda: print('Hello, World!'), 3000) 위 경우 3초후 Hello, World!가 콘솔에 표시된다. 타이머를 중단시키려면 clear_timeout 함수를 사용하여 중지키실 수 있다. from browser import timer timeout_event = timer.set_timeout(lambda: print('Hello, World!'), 3000) timer.clear_timeout(timeout_event) set_interval set_interval 함수 역시 set_timeout 과 같다. 첫번째 인자로 콜백 함수, 두번째 인자로 ms 단위의 시간을 받는다. from browser import timer timer.set_interval(lambda: print('Hello, World!'), 3000) 위 경우 3초마다 Hello, World!가 콘솔에 표시된다. 종료하려면 clear_interval을 호출하면 된다. from browser import timer interval_event = timer.set_interval(lambda: print('Hello, World!'), 3000) timer.clear_interval(interval_event) Network 브라이썬은 네트워크 API로 ajax 라는 패캐지를 제공하고 있다. 동일한 서버에 다음과 같은 파일을 준비했다. [ { "id": "1", "title": "now, brython better than javascript", "author": "baealex" }, { "id": "2", "title": "not yet, javascript better than brython", "author": "baealex" } ] from browser import ajax def oncomplete(res): print(res.text) ajax.get('posts.json', oncomplete=oncomplete) 아주 간결하다. 단, 이 경우 res.text가 텍스트로 출력된다. ajax.get('posts.json', mode='json', oncomplete=oncomplete) 위와같이 mode에서 타입을 지정하면 적절한 형태로 가져올 수 있다. 이제 res.text는 텍스트가 아닌 배열 객체로 출력된다. 하지만 데이터를 딕셔너리 형태로 관리하면 실수할 여지가 많으므로 객체로 래핑하였다. class Posts: def __init__(self, item): self.id = item['id'] self.title = item['title'] self.author = item['author'] def from_json(items: list): return [ Posts(item) for item in items ] 이제 위 클래스의 정적 메서드를 이용하여 요청 결과를 즉시 포스트 객체로 변환시킬 수 있다. from browser import ajax, document, html class Posts: def __init__(self, item): self.id = item['id'] self.title = item['title'] self.author = item['author'] def from_json(items: list): return [ Posts(item) for item in items ] def oncomplete(res): posts = Posts.from_json(res.text) for item in posts: text = f'{item.title} write by {item.author}' document['root'] <= html.LI(text) ajax.get('posts.json', mode='json', oncomplete=oncomplete) document.body <= html.UL(id='root') 비동기 프로그래밍 브라이썬은 자바스크립트와 마찬가지로 기본적으로 비동기 프로그래밍을 기반으로 한다, 브라이썬은 파이썬에서 사용하는 async, await 예약어를 지원하며, 추가적인 비동기 라이브러리를 제공한다. 다만 제공하는 비동기 라이브러리가 많지 않아 파이썬 수준의 활용은 어렵다. 파이썬에서는 동기를 비동기로 변환하는 작업이 많은데 브라이썬에서는 비동기를 동기로 변환하는 작업이 많다. 즉, 자바스크립트에서 async, await 키워드를 사용하는 것처럼 브라이썬 역시 비동기 프로그래밍의 문법적 개선을 위하여 사용하는 경향이 크다는 점에서 파이썬과 다소 차이를 가진다. 위에서 언급했듯 비동기 라이브러리에 구현된 기능이 많지 않다. 게중에 가장 활용하기 좋은 건 Future 객체지만 이 또한 일부 메서드만 구현되었다. 아래는 Future 객체와 timer 패키지를 활용하여 sleep 과 같은 기능을 하는 rest 함수를 구현한 코드이다. from browser import timer, aio async def rest(ms): future = aio.Future() timer.set_timeout(lambda: future.set_result(True), ms) await future async def main(): print('start...') await rest(2000) print('after 2 seconds...') await rest(2000) print('after 4 seconds...') aio.run(main()) 위에서 네트워크 API를 이용해 포스트를 불러왔던 코드를 수정해보자. from browser import aio, document, html from javascript import JSON class Posts: def __init__(self, item): self.id = item['id'] self.title = item['title'] self.author = item['author'] def from_json(items: list): return [ Posts(item) for item in items ] async def main(): res = await aio.get('posts.json', format='text') posts = Posts.from_json(JSON.parse(res.data)) for item in posts: text = f'{item.title} write by {item.author}' document['root'] <= html.LI(text) aio.run(main()) document.body <= html.UL(id='root') 소스코드가 작성한 순서대로 동작하여 가동성 면에서는 콜백 패턴에 비해 훌륭한 듯 보인다. 단, 기본 네트워크 API와 다소 차이가 있는 부분에 주의하자. 파일 타입 지정하는 인수가 mode가 아닌 format이다. format에는 json이 존재하지 않는다. (별도로 parse를 해줘야 한다.) 응답 객체에 text 대신 data가 존재한다. 문법을 통일시키려면 기존 ajax 패키지의 함수를 코루틴으로 래핑하는 것이 나을 것 같다. 주의사항 반복문에서 콜백함수를 전달할 때 주의해야 할 점이 있다. from browser import timer fruits = ['apple', 'banana', 'grape'] for fruit in fruits: timer.set_timeout(lambda: print(fruit), 3000) 위 코드를 실행하면 대부분은 다음과 같은 결과를 기대한다. apple banana grape 하지만 안타깝게도 결과는 아래와 같다. grape grape grape 파이썬에 대해서 알고 있는 사람이라면 이해가 가능한 문제다. 파이썬 관점에서 생각해보면 콜백 함수가 실행될 시점에 fruit 변수에는 'grape'가 할당되어 있으므로 이러한 결과가 발생한 것을 알 수 있다. 하지만 일반적인 관점에서는 이해하기 어려운 동작이다. 정상적인 결과를 얻고자 한다면 다음과 같이 값의 복사가 이뤄질 수 있도록 하여 함수가 실행 될 시점에 복사한 값을 넣어 실행한다. from browser import timer def timer_callback(value, func): return lambda: func(value) fruits = ['apple', 'banana', 'grape'] for fruit in fruits: timer.set_timeout(timer_callback(fruit, print), 3000) 이 경우 기대한 apple, banana, grape가 순서대로 출력된다. 이벤트에서도 마찬가지다. 예를들어 from browser import document, html ul = html.UL() for fruit in ['apple', 'banana', 'grape']: ul <= html.LI(fruit, Class='fruit') document.body <= ul fruits = document.select('.fruit') for fruit in fruits: def on_click(e): fruit.style.color = '#f00' fruit.bind('click', on_click) 위와같이 이벤트를 바인딩 할 때 fruit으로 엘리먼트를 접근하는 경우 문제가 된다. 이 경우 어떤 엘리먼트를 클릭해도 마지막 엘리먼트만 빨간색으로 변한다. 이때는, 엘리먼트를 e.target으로 접근하거나 timer에서 한 것과 동일한 처리가 필요하다. 전자의 방법을 권장한다. fruits = document.select('.fruit') for fruit in fruits: def on_click(e): e.target.style.color = '#f00' fruit.bind('click', on_click) 또는 def event_bind(target, func): return lambda e: func(e, target) fruits = document.select('.fruit') for fruit in fruits: def on_click(e, fruit): fruit.style.color = '#f00' fruit.bind('click', event_bind(fruit, on_click)) 반복문의 변수를 콜백 함수로 전달한다면 꼭 주의하자. 마치며 사용해보니 파이썬의 문법으로 프론트엔드를 만든다는 것이 굉장히 이색적이고 신선하다는 생각이 들었다. 좀만 더 가다듬어지면 정말 좋을 것 같은데 지금은 자바스크립트의 생산성이나 편리성이 지대하여 프론트엔드는 자바스크립트로 개발하는 것이 정신건강에 이로울 것으로 보인다. 앞으로 브라이썬으로 이것저것 해보다 추가로 드는 생각이 있다면 이곳에 내용을 추가할 예정이다.
비전공자도 이해할 수 있는 프론트엔드, 백엔드의 모든 것 - 입문편(프론트엔드와 벡엔드의 뜻, 언어 등)
안녕하세요, 스파르타 코딩클럽입니다.
웹 개발은 크게 프론트엔드와 백엔드 개발로 나눌 수 있습니다. 지금까지 단순히 프론트엔드는 웹 서비스의 사용자가 볼 수 있는 부분, 백엔드는 사용자가 볼 수 없는 서비스의 뒷부분이라고만 이해하고 계셨나요? 그렇다면 이번 글 시리즈를 끝까지 읽으시는 것을 추천드립니다.
두 가지 개발 유형의 뜻부터 사용하는 언어, 프레임워크, 각 개발 분야별로 적합한 개발자 성향 등을 알아보는 시간을 가질 텐데요. 비전공자부터 예비 개발자, 혹은 주니어 개발자들 모두에게 유용한 글이 될 겁니다.
→ 2탄. '프론트엔드와 백엔드의 프레임워크, 개발 분야별 성향' 시리즈 글 읽으러 가기
잠깐, 스파르타 코딩클럽은 왕초보 비개발자를 위한 온라인 코딩 교육 플랫폼입니다. 현재 8만 명 이상의 수강생들이 강의를 수강했고, 75%의 높은 완주율을 보이고 있습니다. 달달 외우는 지루한 코딩 공부가 아닌, 내 것을 끝까지 만들어 보며 손으로 직접 익히는 재미있는 코딩 공부를 하고 싶으시다면 한 번 알아보세요!
→ 스파르타 코딩클럽 수업 탐색하기
목차
1. 프론트엔드(Front-End)와 백엔드(Back-End)의 뜻
2. 사용하는 언어
- 프론트엔드 개발에서 사용하는 언어
- 백엔드 개발에서 사용하는 언어
프론트엔드(Front-End)와 백엔드(Back-End)의 뜻
프론트엔드(Front-End)
웹 애플리케이션(우리가 흔히 말하는 ‘웹 사이트’와 거의 동일한 개념이라고 보시면 됩니다)은 크게 프론트엔드와 백엔드로 나뉩니다. 프론트엔드는 사용자가 볼 수 있는 화면, 즉 사용자 인터페이스(User Interface, UI)를 말하는데요.
프론트엔드는 사람들이 웹 애플리케이션을 쉽게 사용할 수 있도록 기술적으로 구현되어 있어야 합니다. 그래야 사람들이 많이 사용할 것이고, 많이 사용하는 서비스가 곧 시장에서 경쟁력 있는 서비스가 되기 때문입니다. 따라서 프론트엔드 개발자는 웹 애플리케이션의 사용자 인터페이스와 사용자 경험(User Experience, UX) 최적화에 초점을 맞추어 서비스를 개발해야 합니다.
백엔드(Back-End)
백엔드는 웹 애플리케이션의 사용자가 보지 못하는 영역인 서버나 데이터베이스를 관리하는 기술입니다. 프론트엔드는 사용자가 웹 서비스를 편하게 이용할 수 있도록 사용자 인터페이스를 다룬다면, 백엔드는 실질적으로 사용자들이 원하는 정보를 제공할 수 있도록 데이터를 관리하거나 서버를 운영하는 일을 합니다.
다시 말해, 백엔드는 프론트엔드에 있는 사용자들이 하고자 하는 행동을 처리하는 것입니다. 따라서 백엔드 개발자는 시스템 컴포넌트 작업, API작성, 라이브러리 생성, 데이터베이스 통합 등 다양한 개발 활동을 하게 됩니다.
사용하는 언어
개발할 때 사용하는 프로그래밍 언어는 정말 다양합니다. 그리고 프론트엔드와 백엔드, 개발 분야에 따라 각기 다른 언어들이 사용되기도 하는데요.( → ‘프로그래밍 언어 선택 비결’ 글 읽으러 가기 ) 각 분야별로 어떤 언어들이 대표적으로 사용될까요?
프론트엔드 개발에서 사용하는 언어
1. HTML(Hyper Text Markup Language)
HTML은 프론트엔드 개발에 있어 빠져서는 안 되는 언어입니다. 코딩을 전혀 모르시는 분들도 HTML은 한 번쯤 들어보셨을 텐데요. HTML은 말 그대로 해석하시면 언어에 대한 이해가 빠릅니다. 함께 해석해 볼까요?
HTML은 하이퍼 텍스트와 마크업 랭귀지, 두 개로 나눌 수 있습니다. 하이퍼 텍스트는 ‘텍스트를 뛰어넘는다’라는 뜻인데요. 우리는 보통 텍스트를 순차적으로 읽고, 이해해서 정보를 습득합니다. 이리 갔다, 저리 갔다 하며 글을 읽지는 않죠. 하지만 하이퍼 텍스트는 원하는 정보만 빠르게 습득하기 위해 순차적인 정보 습득 과정을 뛰어넘습니다. 예를 들면, 이 글을 읽고 계신 여러분 중에 프레임워크가 궁금하신 분들이 있다면 여기를 클릭 해 보세요. 휴, 잘 갔다 오셨나요? 이런 게 바로 하이퍼 텍스트입니다.
마크업 랭귀지에서 마크업은 특정 표시를 통해 문장을 구분 짓는 것을 말합니다. 여기서 랭귀지는 컴퓨터에게 명령을 내리기 위해 사용하는 언어를 말하고요. 즉 마크업 랭귀지는 특정 표시를 통해 컴퓨터에게 명령을 내리는 것이라고 볼 수 있겠습니다. 다시 말해, 웹 애플리케이션을 개발할 때 웹 페이지의 구조를 정의하는 데에 사용되는 언어가 바로 마크업 랭귀지입니다.
2. CSS(Cascading Style Sheets)
CSS는 HTML이라는 웹 애플리케이션의 뼈대 위에 예쁘게 화장하고, 장식하는 역할을 합니다. 즉 마크업 언어가 실제로 사용자에게 보여지는 방법을 기술하는 것이 CSS라고 할 수 있겠습니다. CSS는 말 그대로 종속형 시트인데요. HTML에 종속되어 HTML을 꾸미는 역할을 하는 것이죠.
사실 HTML 태그만으로도 웹 애플리케이션을 꾸밀 수 있습니다. 하지만 일일이 태그를 입력해 줘야 하기 때문에 시간이 오래 걸리고 수정이 불편하다는 단점이 있습니다. 이에 반해 CSS를 사용하면 한 가지 태그로 다수의 내용을 한꺼번에 수정할 수 있습니다. 따라서 HTML로만 웹 페이지를 만들 때보다 시간을 단축할 수 있고, 수정도 용이해 편리합니다.
(출처 : 슈의 뷰티메이커)
CSS는 마치 어렸을 때 했던 옷 입히기 게임과 유사하다고 보시면 이해가 빠르실 거예요.
3. JavaScript
자바스크립트는 객체(Object) 기반의 스크립트 언어입니다. 스크립트 언어란, 응용 소프트웨어를 제어하는 컴퓨터 프로그래밍 언어를 가리킵니다. 자바스크립트 외에도 제이쿼리(jQuery), PHP, 파이썬(Python), 루비(Ruby) 등이 스크립트 언어에 해당합니다.(이외에도 더 많은 스크립트 언어가 존재합니다.)
객체 지향 언어가 무엇인지도 짧게 설명해 드리겠습니다. 객체 지향 언어를 사용해 프로그래밍을 하게 되면, 다수의 ‘객체’를 생성해 그 객체들이 서로 상호작용하며 프로그램을 구축하게 됩니다. 예를 들면, 우리의 몸을 구성하는 팔, 손, 목, 가슴, 배, 허리, 엉덩이, 허벅지, 무릎, 종아리, 발 등의 객체를 생성합니다. 그렇게 되면 우리는 ‘몸을 움직여 피아노를 쳐라’라고 하기보다는 ‘손목은 가만히 있고 팔만 자연스럽게 움직여서 피아노를 쳐라’라는 세부적인 명령을 통해 피아노를 올바른 자세로 칠 수 있게 되는 것입니다. 이렇게 객체 지향 언어를 사용해 프로그래밍을 하면 프로그램을 구동하는 시간을 단축시킬 수 있고, 에러가 나더라도 그 부분만 수정하면 되기 때문에 보다 효율적이라는 장점이 있습니다.
프론트엔드에서 HTML로 웹의 뼈대, 즉 내용을 작성하고, CSS로는 웹을 꾸몄다면, 자바스크립트로는 웹 애플리케이션의 동작을 구현할 수 있습니다. 사용자가 웹 애플리케이션을 사용할 때 보게 되는 화면은 HTML, CSS, 자바스크립트 삼박자가 어우러져 움직이는 것이라고 할 수 있습니다.
백엔드 개발에서 사용하는 언어
지금까지 프론트엔드에서 사용하는 대표적인 언어 세 가지를 알아보았는데요. 이번에는 백엔드에서 사용하는 언어들을 알아보도록 해요.
1. Java
자바는 가장 인기 있는 프로그래밍 언어 중 하나로, 대표적인 객체 지향 프로그래밍(Object Oriented Programming, OOP) 언어입니다. 자바는 웹 애플리케이션 개발에 가장 많이 사용되지만, 웹 개발 이외에도 서버, 모바일, 임베디드 등 다양한 분야에서 사용되고 있습니다. 자바는 특수한 가상 머신(Java Virtual Machine, JVM)이 필요합니다. 이 말인즉슨 JVM을 설치할 수만 있다면 어느 환경에서든지 자바로 개발된 프로그램을 실행할 수 있다는 뜻이 됩니다. 이러한 이유로 자바는 다양한 분야에서 이용하고 있습니다.
자바는 사용할 수 있는 라이브러리의 양 또한 많은데요. 이미 잘 짜여 있는 검증된 오픈 소스 라이브러리를 사용하면 애플리케이션을 다시 컴파일, 즉 컴퓨터가 이해할 수 있는 이진수 언어로 변환할 필요가 없습니다. 따라서 자바로 짜여진 프로그램은 유지 보수가 용이하다는 장점이 있습니다.
2. PHP
PHP는 하이퍼텍스트 전처리기(Hypertext Preprocessor)의 약자로, 웹 개발 중에서 서버 측에서 주로 사용하는 프로그래밍 언어입니다. PHP는 쉽게 설치할 수 있고, 배우는 데 허들도 낮은 편이라 많은 사랑을 받고 있는 언어입니다. 이러한 PHP의 장점은 단점으로 이어지기도 합니다. PHP는 높은 자유도를 가지고 있기 때문에 코드가 난잡해진다는 단점이 있습니다.
(출처 : Stack Overflow Developer Survey 2021)
예전에는 PHP를 사용해 만든 웹 서비스가 많았지만, 이제는 점점 줄어드는 추세입니다. 프로그래밍 언어 순위를 보아도 PHP를 선호하는 정도는 급격히 감소하고 있는 것을 확인하실 수 있습니다.
3. Ruby
루비는 일본 개발자 유키히로 마츠모토(Yukihiro Mastumoto)가 개발한 스크립트 언어로, 이 역시 객체 지향 프로그래밍 언어 중 하나입니다. 인간에게 친화적인 언어를 개발하고자 했던 개발자의 의도대로 루비는 명령어를 작성하기에 편한 언어로 알려져 있습니다.
인간 중심적 언어로서 루비는 파이썬과 자주 비교되고는 하는데요. 전세계적으로 보면 파이썬의 인기가 월등히 높고, 사람들의 선호도 역시 파이썬이 훨씬 더 높은 편입니다.
4. Python
파이썬은 개발자들이 시스템을 효율적으로 통합하고, 빠르게 작업할 수 있게 해주는 최고의 프로그래밍 언어입니다. 비교적 자연어와 유사하기 때문에 개발을 처음 접하시는 분들도 파이썬을 이용한다면 쉽게 프로그래밍을 하실 수 있습니다.
또한, 파이썬은 인공지능 분야에도 사용되는 언어입니다. 인공지능 영역이 빠르게 발전하면서 파이썬의 점유율은 함께 빠르게 성장하고 있습니다. 실제로 글로벌 기업들을 포함해 많은 기업들이 파이썬으로 웹 개발을 하고 있기 때문에 웹 개발자로 성장하고 싶으시다면 파이썬을 익히시는 것을 꼭 추천드립니다.
이제 프론트엔드와 백엔드의 차이를 명확히 아시겠죠? 또, 개발 분야에 따라 사용되는 다양한 프로그래밍 언어들도 살펴보았는데요.
무궁무진한 코딩의 세계가 궁금하시다면 스파르타 코딩클럽의 '웹개발 종합반'으로 시작해 보세요. 웹개발 종합반 수업은 특히나 비개발자 코딩 왕초보도 쉽게 따라 하실 수 있는 8주 과정입니다. 5주 동안 강의를 들으며 실제로 웹 서비스를 하나 만들어 보고, 나머지 3주는 여러분의 아이디어를 기반으로 여러분만의 웹 서비스를 만드실 수 있습니다. 이론만 공부하는 재미없는 수업이 아니라, 나만의 웹 서비스를 만들어 보는 실습 중심 수업이기 때문에 제대로 개발을 경험하실 수 있습니다.
본인의 아이디어에 SW역량을 더해 여러분만의 세상을 펼치세요. 누구나 큰 일 낼 수 있습니다. 스파르타 코딩클럽과 함께하세요.
→ 스파르타 코딩클럽 바로가기
→ 2탄. '프론트엔드와 백엔드의 프레임워크, 개발 분야별 성향' 시리즈 글 읽으러 가기
"파이썬 vs 자바스크립트", 당신의 선택은?
파이썬과 자바스크립트는 초보자들이 프로그래밍 학습을 시작하는 첫 프로그래밍 언어로 선호하는 선택지이다. 프로그래밍을 처음 배울 때 선택할 수 있는 프로그래밍 언어는 다양하다. 최근 인기 있는 파이썬과 웹 개발에 널리 쓰이는 자바스크립트은 초보자들이 선호하는 프로그래밍 언어 중 하나인데, 어떤 것을 선택해야 할지 고민이 된다면 이노테크투데이가 소개한 파이썬과 자바스크립트 장단점을 비교해보자.
파이썬
파이썬은 문법이 간결하고 인간의 사고 체계와 닮은 표현 구조로 '배우기 쉬운' 프로그래밍 언어로 알려져 있다. 이와 함께 파이썬은 데이터 과학, 인공지능(AI), 기계학습(ML), 컴퓨터 과학 교육, 컴퓨터 비전 및 영상 처리, 의학, 생물학, 천문학 등 과학적이고 전문화된 응용 분야에서 널리 사용되는 뛰어난 기능으로 전 세계에서 가장 선호되는 프로그래밍 언어 중 하나이다. 단순성, 유연성, 다기능성을 가진 프로그래밍 언어이며 최근 가장 인기 있는 프로그래밍 언어 중 하나이다.
자바스크립트
백엔드 개발에 주로 사용되는 파이썬과 달리 자바스크립트는 웹 애플리케이션의 백엔드와 프론트엔드 모두에 사용된다. 자바스크립트는 대표적인 스크립팅 언어로 웹 사이트와 앱 프로세스를 자동화 해 사용자가 더 쉽게 작업을 수행하게 한다. 브라우저에 동적 기능을 제공하는 언어로, 웹 개발, 사용자 대면 기능 및 서버 구축에 사용된다
1. 선호도
장래에 소프트웨어 개발 분야에 종사하기를 희망한다면 어떤 프로그래밍 언어를 배울지 선택하는 것은, 미래에 더 잘 고용되고 인기 있는 프로그래머가 될 것인지에 부분적으로 영향을 미친다.
지난 몇 년 간 파이썬과 자바스크립트 모두 가장 빠르게 성장하는 프로그래밍 언어로 여겨졌다. 또한 두가지 프로그래밍 언어는 고용 시장에서 선호되고 있다. 파이썬은 품질 보증 및 소프트웨어 엔지니어링의 엔트리 레벨부터 고급 시스템 학습 및 데이터 과학 영역에 이르기까지 다양한 영역의 일자리가 있다. 자바스크립트는 주니어 프론트엔드 개발자, 시니어 설계자와 풀스택 엔지니어 등 다양한 취업 기회가 열려 있다.
2. 학습 곡선
코딩에 익숙하지 않은 사람들은 비교적 사용하기 편하고 학습 곡선이 짧은 언어를 선택하는 것이 좋다. 초보자는 프로그래밍 언어 또는 문법이 얼마나 친숙하게 다가오는지에 따라 언어를 선택하고 싶어 한다. 이는 장기적으로 보았을 때 최선의 방법은 아니지만, 프로그래밍 학습의 첫발을 떼는 데에는 도움이 된다.
이 점에서는 파이썬이 자바스크립트보다 더 높은 점수를 받는다. 파이썬은 초보자 친화적으로 설계되었으며, 기능과 변수가 간단하고 이해하기 쉽다. 반면 자바스크립트는 클래스 정의와 같은 복잡성 때문에 파이썬보다 더 가파른 학습 곡선을 가진다.
3. 확장성
프로그래밍 언어의 확장성은 그것을 사용할 수 있는 프로젝트의 종류를 결정하게 한다. 확장성은 두 가지로 나뉘는데 첫 번째는 다수의 사용자를 처리할 수 있는 기능이다. 두 번째는 서버 활용률을 최소화하며 대용량 볼륨을 처리할 수 있는 용량이다.
이 관점에서 자바스크립트와 파이썬은 흥미로운 차이점을 보이는데, 자바스크립트는 비동기 프로그래밍을 지원하며, 많은 사람들이 동시에 사용하는 모든 종류의 웹 앱과 서비스를 엄격하게 실행할 수 있도록 확장성이 뛰어나다.
반면 파이썬 구조는 비동기 프로그래밍을 지원하지 않아 확장성이 낮다. 하지만 비동기 프로그래밍을 지원하는 코루틴(co-routine)을 지원한다. 코루틴은 볼륨이 증가하도록 원활하게 작동하도록 기능을 제공해 파이썬의 낮은 확장성을 보완한다.
유튜브, 인스타그램와 같은 세계적인 서비스가 파이썬을 기반으로 구축되었다는 점에서, 올바른 접근 방식을 통해 파이썬의 확장성을 달성할 수 있다는 점을 확인할 수 있다. 즉 어떤 도구를 사용하는지보다는 도구의 잠재력을 최대한 활용할 수 있는 능력이 중요하다.
4. 활용성
프로그래밍 언어를 어떤 분야에 활용할 수 있는지도 언어를 선택하는 데 중요한 요소이다. 자바스크립트는 백엔드 서버 작업과 프론트엔드 기능 모두에 적합하며, 파이썬은 전자에 집중하고 있다. 파이썬은 웹 개발뿐만 아니라 인공지능(AI), 머신러닝(ML)과 같은 최첨단 분야에 대한 응용이 광범위하다. 또한 금융/핀테크와 같은 영역에서도 유용하게 사용된다.
5. 메모리 관리
아마추어 개발자들이 기억해야 할 사실 중 하나는 파이썬의 메모리 관리 방식과, 이것이 매우 제한적이라는 것을 염두에 둬야 한다는 것이다.
자바스크립트는 메모리 관리 프로세스의 많은 부분을 자동화해 필요에 따라 리소스를 할당하고 확보한다. 메모리 누수 가능성은 남아 있기 때문에 특히 고객 대상 제작물을 이 언어로 코딩할 때 발생할 수 있는 성능 문제를 인식해야 한다.
2. 개발자라고 다 같지 않다 : 프론트엔드/백엔드
“저는 프론트 개발자고, 이분은 백엔드 담당입니다.”
“이 부분은 프론트 담당자에게 말씀드려야 해요.”
“요즘은 파이썬으로 작업 많이 하죠”
일하다 보면 ‘프론트 엔드’, ‘백엔드’ 라는 말 한 번씩은 들어보셨죠? 매번 모호하게 대략 알고 있지 않으셨나요? 이번 기회에 확실하게 이해하고 가봅시다.
이번 글은 총 8개 중 2번째 글입니다. 원활한 이해를 위해 차례로 읽어보시는 것을 추천드려요. 글 하단에 모든 시리즈를 확인하실 수 있습니다.
Step 1. 프론트엔드와 백엔드
‘프론트엔드’, ‘백엔드’ 대체 무엇인가?
1. 프론트엔드(Front-end)
프론트엔드(Front-end)는 단어에서 예측할 수 있듯이 사용자의 앞에 보이는 화면, 즉 인터페이스를 만드는 작업이라고 볼 수 있습니다. 프론트에서 사용자가 선택한 요청사항에 따라 데이터나 서비스를 백엔드(Back-end)에 요청하거나 또는 요청해서 얻은 데이터를 사용자에게 보여주게 돼요. 보이는 인터페이스에 대한 개발인 만큼 사용자 인터페이스(UI)와 사용자 경험(UX)과 밀접한 관련이 있습니다.
2. 백엔드(Back-end)
백엔드(Back-end) 또한 단어에서 그 의미가 보이지 않나요? 백엔드 개발은 사용자의 뒤에서, 즉 보이지 않는 영역인 서버와 데이터베이스에 대해 작업을 하게 됩니다. 백엔드 개발을 통해서 프론트에서 요청한 데이터나 서비스를 잘 찾아가게끔 정리해주는 것이죠.
이 두 가지 개념을 클라이언트/서버 컴퓨팅 모델과 비교한다면, 프론트엔드는 클라이언트로, 백엔드는 서버로 이해할 수도 있어요.
※ [네이버 지식백과] Front-End — 프런트 엔드, 전위(前位) 처리 (지형 공간정보체계 용어사전, 2016. 1. 3., 이강원, 손호웅)
Step 2. 프론트 엔드 개발에서 어떤 언어를 사용하고 있나요?
프론트 엔드 개발 시, HTML과 CSS, Javascript 이 3가지 언어를 대표적으로 사용하고 있어요. 이 3가지 언어에 대한 개념 및 역할에 대해 함께 살펴볼게요.
1. 문서를 적는 언어, HTML (Hyper Text Markup Language)
HTML은 작성된 문서를 운영체제와 상관없이 브라우저만 있다면 다른 OS, 기기에서도 동일한 화면을 보기 위해 만들어졌습니다. HTML은 프로그램 언어라기보다 단순히 문서를 적은 언어에 가까운데요, 각 문서에 링크를 걸어 이곳저곳을 이동하며 정보를 얻기 위해(하이퍼링크의 개념) 개발되었습니다. HTML은 보고 계신 모든 웹사이트에서 바로 확인할 수 있어요. 지금 보고 계신 화면의 마우스 우클릭 후 [검사]를 선택하시면 아래와 같은 HTML 문서를 볼 수 있습니다.
2. 문서에 디자인을 입히는, CSS (Cascading Style Sheet)
이렇게 HTML로 브라우저만 있으면 어디서든 볼 수 있는 문서를 만들었다면, 다른 사이트와 구분하기 위해 디자인을 입혀줘야죠? HTML 문서에 색이나 컬러 등 디자인을 입혀주는 것을 CSS 코드가 합니다. 물론 HTML에서도 요소 하나하나에 디자인을 입힐 수 있지만, CSS 코드를 사용하게 되면 같은 요소는 일관된 디자인 스타일로 묶어서 관리할 수 있어요.
여기서 잠깐, 퍼블리싱? 마크업?
: 업계에서 일하다 보면, 퍼블리셔/퍼블리싱이라는 단어를 종종 들을 수 있는데요, HTML과 CSS를 합쳐서 ‘퍼블리싱’ 작업이라고 표현하고 이를 작업하는 사람을 ‘퍼블리셔’라고 보통 부릅니다. 또한 HTML의 Markup에서 ‘마크업’ 작업, ‘마크업’ 개발자라고도 불러요.
3. 브라우저가 움직일 수 있도록 해 주는, JavaScript (js)
자바스크립트는 웹 페이지의 동적인 화면을 구현하기 위해 사용되는 언어입니다. 동적인 화면이라고 하면 단순히 움직이는 애니메이션 요소만 떠올리는 경우가 많은데요, 그 외에도 사용자 입력한 값에 따라 출력된 데이터(응답)를 자동으로 HTML로 변환해주고, CSS도 추가하여 필요한 부분에 노출해주는 역할도 해요.
3–1. js가 사용되는 예시
구글에 검색창
이렇게 구글 검색창에 J를 입력하는 순간, 실시간 검색어 목록을 조회하는 API 요청을 서버로 보내고 받은 응답을 열어 HTML로 바꿔주고 필요하다면 CSS도 추가하여 해당하는 부분에 끼워 넣어줘요.
여기서 잠깐 , 백엔드까지 사용 가능한 Javascript
: JavaScript 의 경우 프론트엔드 뿐만 아니라 백엔드까지 사용 가능한 언어 라고 해요 .
Step 3. 백엔드 개발에서는 어떤 언어를 사용하고 있나요?
백엔드 개발 시에는 주로 PHP, Node.js, Javascript, C++, Java, Python 등이 대표적으로 사용되고 있어요. 그 중에서도 Java와 Python에 대해서 조금 더 알아보도록 해요.
1. 반복 작업을 줄여주는 Java, Python
앞서 1번째 글에서 배운 네이티브 앱에 대해서 기억하시나요?
※ 기억이 안 난다면 다시 보러 가기→ 1. 운영체제(OS)와 웹, 네이티브, 하이브리드
네이티브 앱에서는 각 OS에 해당하는 언어로 작업이 됩니다. 이 때문에 업데이트나 수정하기 위해서는 각각 해당하는 파일을 열어 반복적으로 수정 작업을 해줘야 해요.
이러한 문제를 해결하기 위해 등장한 언어가 Java와 Python입니다. Java에서 각 운영체제 위에 JVM (Java Virtual Machine)이라는 소프트웨어를 올려 자바 언어로 프로그램이 돌아갈 수 있게 합니다. 이렇게 하면 운영체제 별로 다르게 만들 필요 없이 자바로 만든 프로그램을 작동시키고 한번 수정하면 모두 적용될 수 있게 됩니다.
Java뿐만 아니라 파이썬도 이러한 방식을 취하고 있어요. 그럼 '다 JAVA나 파이썬으로 만들면 되는 거 아닌가?' 하는 생각이 들지 않나요?
모바일 시장의 경우 ios와 android, 2개의 os로 양분화되어있고, 모바일은 pc보다 용량이나 성능에 제한이 있어요. 기존 os위에 또 프로그램을 이중으로 돌린다면 아주 느려지게 돼요. 그래서 상대적으로 모바일에서는 이러한 개념이 덜 발전하게 됩니다.
2번째 글에서는 프론트엔드와 백엔드에 대한 개념과 이에 따른 개발 언어 종류에 대해서 알아봤어요. 이제 각 언어를 어떤 개발자들이 사용하고 있는지 알게 되었네요! 다음 3번째 글에서는 개발자들의 ‘어도비, 피그마’는 무엇인지 알아보도록 할게요.
잘못된 표현이나 추가적으로 덧붙이고 싶은 내용이 있다면 언제든 댓글 달아주세요 :)
글쓴이: Jin (Jieun)
User Experience가 무엇인지 정립하고 있는 2년 차 UX 기획자입니다. 얇고 넓은 호기심을 가지고 있어 궁금한 것이 많고 해보고 싶은 것도 많아요. 아직 어떻게, 어디까지 성장할지 모르는 게 가장 큰 장점입니다 :)
※ 참고 자료
https://book.naver.com/bookdb/book_detail.nhn?bid=16415934
https://yozm.wishket.com/magazine/detail/236/
https://spartacodingclub.kr/community/blog/615192391014d41767f00955
✔︎ 다른 시리즈 보러 가기
말문을 트이게 만드는 IT 지식
1. 운영체제(OS)와 웹, 네이티브, 하이브리드
2. 개발자라고 다 같지 않다 : 프론트엔드, 백엔드 → 현재글
3. 밤샘 개발을 줄여주는 도구들 : 라이브러리, 프레임워크, SDK
4. 한 번 보면 더 볼 일 없는 네트워크 관련 용어들
5. 갑자기 물어보면 말문이 막히는 서버와 클라이언트
6. 서버와 클라이언트, 그 사이의 용어들
7. 화면 크기에 반응하는 웹 UI : 반응형 웹, dp, dpi, em, rem
8. 모두를 위한 서비스 : 웹 접근성, 대체텍스트
9. 콘텐츠의 재탄생 : 파싱, 크롤링
10. 데이터 바꿔치기 : SPA
20210301_개발공부 중 방향에 대한 고민들 (백엔드냐, 프론트엔드냐? 그리고 그외의 것)
지금까지 개발 공부를 해오면서 여러가지 고민들에 봉착하였다.
지금 까지 공부해온 내용들을 되짚어 보면 파이썬 기본 문법부터 시작해서 django 프레임 워크 사용까지 공부했고 더깊게는 아직 들어가지 않은 상태이다.
그리고 최근에는 동적인 웹사이트 구성에 관심이 생겨 javascript, es6에 대해서 공부하고 실질적으로 dom요소를 제어해서 todolist라는 동적인 구성의 웹페이지를 구현해 보기도 하였다.
지금 공부한 것을 보면, 백엔드 지식은 python, django 프론트엔드는 javascript로 조금 알아 보았는데 django에 대해서 더 깊이 공부해서 백엔드 위주로 갈까 아니면 react 등의 프론트 엔드 스텍을 더 배워서 프론트 엔드로 취업 목표를 잡을지 고민된다.
고민
1. python vs javascript
python의 범용성, javascript의 범용가능성(잠재적) 중에 어떤것이냐가 문제다.
python의 경우에는 다른 분야로에 대한 범용성이 넓다. 하지만 javascript는 웹에서의 범용성이 좋고 발전가능성이 높다.
하지만, python의 경우 웹프론트엔드와 연관성이 없고 서버와 관련있다. 그런데 나중에 iot관련해서 스마트 팜 관련해서도 만져 보고 싶었는데 장기적으로 보면 python이 맞는 것 같기도 하지만 대부분의 취업자리를 보고 웹에 대한 취업 가능성을 볼때는 javascript를 제대로 배우면 node js(express)로 서버도 구현할 수 있다. 그런것을 또 보면 취업시장에서는 javascript가 유연하다.
2. 백엔드 : Django vs nodejs(express)
자유도는 nodejs가 좋다.
물론, 유지보수 및 환경이 모두 가쳐줘서 안정적이고 빠르게 개발 가능한 것은 Django 이다.
하지만 node js는 강력한 v8엔진 기반의 빠른 속도와 실시간 구현에 좋다.
그냥 전체적으로 js에 맘이 기우러진것 같기도 하다.
3. 백엔드 vs 프론트엔드
처음에는 백엔드로 python공부를 시작했지만, javascript를 공부하면서 화면의 동적 기능 구현 (싱글페이지 어플리 케이션 SPA)에 좀더 관심이 가기도 한다. 내가 실제적으로 볼수있는 구현한 서비스를 만지는 것이 더 끌리는 것 같기도하다.
이전에 이제막 코딩을 배워서 직접적인 작업전에 프토로타입으로 Adobe XD작업을 통해서 클라이언트 디자인? 기획안을 구성할때는 정말 잘 안맞는 요소 같았다. 생각해보면 CSS적 요소가 잘 안맞는듯 하다.
하지만 실제로 todolist 프로젝트를 구성하면서 프론트엔드 개발자의 업무가 디자인만을 다루는 것이 아니라 클라이언트 단의 기능을 구현하는 것이 핵심 요소 같았다. 뭔가 창조적인 디자인을 만드는 것은 약하지만 결국에는 그런 업무자체는 디자인 팀이 따로 하는 것이 아닌가 싶기도 하다. 전문 디자인 팀이 어느정도 색감이나 형태 정도를 내어주고 프론트 엔드 개발자가 그것을 가지고 서버와의 통신을 통해서 기능을 구현하는 것이 아닌가 싶다.
디자인적 요소보단 기능 구현적인 부분에서 나름 흥미를 느끼고 있었던 것을 깨달았다.
결론
뭐 아직 django를 통해서 기본적인 기능을 구현하는 정도 밖에 백엔드를 공부하진 않았지만, 내가 끌리는 대로 방향성을 잡고 공부해보자~ 경험해 보지않으면 모른다.
내가 개발자로 갑자기 방향을 잡은 것도 단순히 먹고살기 위해서 직업을 가지고자 하는게 아니었으니까.
좋아하는 대로 따라가보고 너무 성급하게 결정을 하지 말자! 해봐야 안다.
프론트 엔드쪽으로 가닥을 잡고 공부하고 나중에 백엔드에 관심이 생기면 nodejs를 통해서 시너지를 높이는 것도 좋은 것 같다. 그리고 python은 입문정도만 닦아 놨다고 생각하고 다른 것을 할때 사용할 수 있는 기틀을 다져놓은 것이라고 생각하자
공부해서 남주는 것은 없다. 언젠가 다 쓰이는 곳이 있을 것이다.
그리고 나중에 js가 더 발전해서 다른 분야 까지 커버가능해 질수도 있다.
공부 계획
생활코딩 web 프론트 js, css, html를 조금 훑어 보면서 처음 보거나 잘 모르는 개념 정리하기
정규표현식
nomadcoder로 React 공부하기 (reactjs 웹 영화서비스)
nomadcoder로 React 공부하기 (reactjs firebase 페이스북 클론코딩)
nomadcoder로 Reactnative 공부하기
프론트엔드 관련 채용공고 확인하고 필요한 개념들 적어 놓기!
프로젝트 만들기
백엔드 대 프론트엔드 개발: 시작하기 위해 알아야 할 사항
프로그래밍 및 개발 기술은 현재 취업 시장에서 가장 필요한 것 중 하나입니다. 따라서 백엔드 및 프론트엔드 개발에 대해 더 많이 배우는 데 관심이 있다는 것은 놀라운 일이 아닙니다.
프론트엔드와 백엔드: 차이점은 무엇입니까?
간단히 말해서 프론트 엔드는 사용자가 웹 사이트, 애플리케이션 또는 프로그램과 상호 작용할 때 보게 되는 것입니다. 백엔드는 대신 프로그래머가 이러한 상호 작용이 발생하고, 작동하고, 원활하게 작동하도록 프로세스를 만드는 수준입니다.
즉, 프론트 엔드 개발이 표면 수준에서 디자인하는 방법을 더 잘 이해할 수 있습니다. 웹 사이트 또는 응용 프로그램의 모양, 스타일, we-page 내의 요소 최적화 등을 관리합니다.
백엔드 개발은 웹사이트, 애플리케이션 또는 프로그램이 작동할 수 있도록 하는 숨겨진 프레임워크 프로세스를 다룹니다. 또한 백엔드 개발자는 작업 중인 웹 사이트 또는 애플리케이션의 서버 및 데이터베이스에서 발생하는 일을 처리합니다.
프로그래밍 언어들
이제 프론트엔드와 백엔드의 차이점을 알았으므로 두 세계에서 첫 번째 단계를 어떻게 이동할 수 있는지 이해할 수 있습니다. 물론 프론트엔드 및 백엔드 프레임워크 모두에 가장 자주 사용되는 프로그래밍 언어를 먼저 알아야 합니다.
백엔드 또는 프론트엔드 엔지니어가 되고 싶다면 우리가 논의할 프로그래밍 언어에서 학습을 시작할 수 있습니다. 풀스택 개발자가 되고 싶다면 여기에서 시작해야 합니다. 전체 스택이 무엇을 의미하는지 모르는 경우 개발자가 백엔드 및 프론트엔드 개발 영역을 모두 나타내는 데 사용하는 용어입니다. 예를 들어, 풀스택 개발자는 웹사이트나 애플리케이션의 두 가지 측면을 모두 다룰 수 있는 사람입니다.
프론트엔드 프로그래밍 언어
HTML
HTML은 배울 수 있는 가장 기본적인 프로그래밍 언어입니다. Hypertext Markup Language의 약자로 우리가 가지고 있는 가장 오래된 프로그래밍 언어 중 하나입니다. 기본적이지만 HTML을 사용하면 태그와 속성을 사용하여 섹션, 단락 및 링크를 만들 수 있습니다. 또한 배우기 가장 쉬운 프로그래밍 언어 중 하나입니다(아이들은 학교에서 배웁니다!).
물론 HTML은 모든 프론트엔드 엔지니어에게 기본이지만 프론트엔드 개발에 HTML만 사용하는 것은 적절하지 않습니다. HTML은 너무 기본적이며 사용자는 더 복잡한 프레임워크와 인터페이스에 익숙합니다. 거의 순수한 HTML 웹사이트 또는 애플리케이션의 예는 무엇입니까? 위키피디아! 그 웹사이트는 거대한 하이퍼텍스트이며 사실상 HTML입니다. 그러나 Wikipedia 하이퍼텍스트보다 더 색상이 있고 매력적이며 상호 작용하는 인터페이스가 필요합니다. 이러한 이유로 HTML은 시작에 불과합니다. 계속해서 더 복잡하고 고급 프론트 엔드 개발 프로그래밍 언어를 배워야 합니다. 물론 풀스택 개발을 위해서는 HTML도 필요합니다.
HTML 학습: 어디서부터 시작할 수 있습니까?
HTML을 배우는 것은 특별히 어렵지 않습니다. 자신에게 무언가를 가르칠 수 있다면 그것은 확실히 HTML입니다. 온라인에서 수많은 무료 리소스를 찾을 수 있으며 무료입니다! 한 곳에서 원하는 것이 있고 약 $20 정도를 지출하고 싶다면 HTML 매뉴얼을 구입할 수 있습니다. 가이드가 필요한 경우 여러 온라인 과정 중 하나를 구독할 수 있습니다. 자신의 기술 수준과 예산에 맞는 과정을 찾는 데 어려움이 없을 것입니다.
CSS
CSS는 Cascading Style Sheets의 약자로, HTML 외에 프론트엔드 개발(풀스택 개발에도 필요)과 관련하여 가장 잘 알려지고 사용되는 프로그래밍 언어입니다. CSS를 사용하면 멋진 웹 페이지를 만들 수 있습니다.
HTML보다 더 복잡하며 CSS를 배우기 시작하려면 최소한 HTML을 알고 있어야 하고 파일 작업에 대한 기본 지식이 있어야 합니다. 하지만 CSS로 무엇을 할 수 있습니까? 간단히 말해서 CSS를 사용하면 HTML 요소가 브라우저, 즉 웹 페이지에서 어떻게 보이는지 정확하게 제어할 수 있습니다. CSS는 문서와 세부 정보가 사용자에게 표시되는 방식을 지정하기 때문에 프런트 엔드 개발 프로그래밍 언어입니다.
CSS를 사용하여 글꼴 및 단락의 색상과 크기를 변경하는 것과 같은 매우 기본적인 스타일을 지정할 수 있지만 더 복잡한 용도로도 사용할 수 있습니다. 예를 들어 애니메이션 및 효과 추가 등...
CSS 학습: 어디서부터 시작해야 할까요?
CSS에 대한 리소스도 부족하지 않습니다. HTML과 마찬가지로 CSS 학습 전용 웹사이트가 많이 있지만 언제든지 매뉴얼을 선택하거나 더 높은 예산이 있는 경우 프론트 엔드 엔지니어를 위한 특정 과정을 선택할 수 있습니다.
자바스크립트
HTML과 CSS에 익숙해지면 JavaScript를 배울 수 있습니다. JavaScript를 배우기 시작할 때 HTML과 CSS에 대한 기본 지식이 필요합니다.
HTML은 기본이고 CSS는 웹사이트나 애플리케이션의 모양을 개선하는 데 도움이 되지만 Javascript를 사용하여 웹 페이지에 복잡한 기능을 구현할 수 있습니다. Javascript를 사용하면 웹 페이지에 표시되는 정적 정보에 국한되지 않습니다. 그럼에도 불구하고 지속적으로 동적으로 업데이트되고 사용자가 상호 작용할 수 있는 대화형 플랫폼을 만들 수 있습니다.
자바스크립트 배우기: 어디서부터 시작해야 할까요?
우리가 언급했듯이, HTML과 CSS에 익숙하지 않다면 자바스크립트에 접근해서는 안 됩니다. JavaScript를 스스로 가르치는 것은 앞의 두 가지 프론트엔드 개발 프로그래밍 언어보다 더 어려울 것입니다. 그래도 좋은 소식은 HTML, CSS 및 JavaScript와 같은 모든 프론트엔드 개발 프로그래밍 언어를 가르치는 온라인 과정(프론트엔드 개발 과정보다 저렴함)을 쉽게 찾을 수 있다는 것입니다. 그 중 하나를 선택하면 많은 비용을 절약하고 학습 과정을 최적화할 수 있습니다!
백엔드 프로그래밍 언어
자바스크립트
백엔드 개발자는 Node.js라는 JavaScript 유형도 사용합니다. 초보자들이 많이 사용하는 오픈소스 프레임워크이지만 넷플릭스와 같은 거대 기업에서도 사용하고 있습니다. 짐작할 수 있듯이 확장성이 뛰어나고 단순함에도 불구하고 많은 사용자의 요청을 동시에 처리할 수 있는 애플리케이션을 구축할 수 있습니다.
보시다시피 Javascript는 모든 개발자, 프론트엔드, 백엔드 및 풀스택 개발자에게 중요한 프로그래밍 언어입니다. 이전 단락에서 JavaScript를 배울 수 있는 위치에 대해 이미 이야기했습니다. 보시다시피 HTML이나 CSS에 익숙하지 않으면 Node.js에 접근할 수 없기 때문에 따라야 하는 학습 경로는 Front-end 개발부터 시작됩니다. JavaScript는 프론트엔드 개발과 백엔드 개발 모두에 사용되기 때문에 목표가 풀스택 개발이라면 배우는 것이 기본입니다.
파이썬
Python은 많은 용도로 사용될 수 있기 때문에 모든 컴퓨터 개발자에게 매우 중요합니다. 그들이 말했듯이 Python은 모든 컴퓨터 문제에 대한 프레임워크 솔루션을 제공할 수 있으며 코드 작성은 그렇게 어렵거나 시간이 많이 걸리지 않습니다. 코드를 작성하면 프로그램을 변경하지 않고도 거의 모든 컴퓨터에서 실행할 수 있습니다. 텍스트, 숫자, 이미지, 데이터 등을 처리하는 데 사용할 수 있습니다. Google, YouTube, NASA 웹사이트 등과 같은 매우 인기 있는 웹사이트에서 사용됩니다. Python은 프론트 엔지니어나 전체 스택 개발 전문가가 알고 있을 정도로 다재다능합니다.
파이썬 배우기: 어디서부터 시작할 수 있나요?
Python은 아마도 오늘날 많은 분야에서 가장 인기 있고 가장 많이 사용되는 프로그래밍 언어이기 때문에 많은 문서를 사용할 수 있습니다. 파이썬을 배우기 시작하면 이해하고 배울 것이 너무 많기 때문에 압도당할 수 있습니다. 단일 매뉴얼은 이 프레임워크의 전체 잠재력을 이해하기에 결코 충분하지 않습니다. 어디서부터 시작해야 할까요?
우리의 권장 사항은 목표를 고려하는 것입니다. 무엇을 위해 Python을 배우고 싶습니까? 웹 사이트 또는 응용 프로그램을 만들고 싶습니까? 워크플로의 일부 작업을 자동화하시겠습니까? 고객을 위한 모바일 애플리케이션을 만들고 싶습니까? 목표를 알면 적어도 처음에는 분야를 좁힐 수 있으므로 학습 과정이 더 목표가 되고 배울 것이 너무 많다는 느낌이 들지 않습니다.
프론트엔드와 백엔드: 어느 것부터 시작해야 할까요?
당신이 완전한 초보자이고 개발에 대해 배우고 싶다고 가정해 봅시다. 프론트엔드나 백엔드에는 특별히 관심이 없습니다. 프로그래밍에 대해 배우고 싶을 뿐입니다. 어디서부터 시작해야 할까요? 프론트엔드인가 백엔드인가?
프론트엔드 및 백엔드 개발자는 프론트엔드 및 백엔드 개발 모두에 대해 학습하는 데 관심이 있는 경우 프론트엔드 부문에서 시작해야 한다고 권장합니다. 웹사이트와 애플리케이션의 프론트엔드가 어떻게 구축되고 작동하는지 이해함으로써 뒤에서 어떻게 작동하는지 더 빨리 이해할 수 있기 때문입니다. 백엔드 개발 학습으로 넘어갈 때 도움이 될 것입니다.
프런트 엔드 및 백 개발: FAQ
프론트엔드 개발이 백엔드 개발보다 쉽나요?
프론트엔드는 우리가 볼 수 있는 것입니다. 프론트엔드 엔지니어가 되려면 처음에 그것에 대한 이야기를 듣더라도 그것이 무엇인지, 개발자가 다루는 내용, 필요한 기술과 프로그래밍 언어를 빠르게 이해할 수 있습니다. 이것은 프론트엔드 개발이 백엔드보다 쉽다는 생각을 낳습니다. 사실입니까?
프론트엔드 개발이 백엔드 개발보다 쉽다는 것은 환상일 뿐입니다. 전혀 사실이 아닙니다! 웹 사이트 또는 응용 프로그램 개발의 두 가지 측면 모두 고유한 방식으로 복잡합니다. 그러나 프런트 엔드 개발은 더 자주 변경되고 지속적인 업데이트와 유지 관리가 필요하기 때문에 훨씬 더 복잡하고 도전적인 것으로 간주될 수 있습니다. 이상이 있으면 사용자가 단번에 알아차릴 수 있습니다! 이러한 이유로 프론트엔드 개발과 백엔드 개발 중 무엇이 더 쉬운지 말하고 싶다면 실제로는 백엔드가 답입니다.
이것을 아는 것은 생각보다 중요합니다. 많은 사람들이 프론트엔드 개발이 쉽다고 생각하기 때문에 학습 과정의 복잡성을 과소평가하는 경향이 있습니다. 게다가 백엔드 개발이 더 어렵다는 생각은 백엔드 개발을 먼저 배우면 더 많은 돈을 받을 수 있다는 착각을 불러일으킨다.
대체 개발 경로가 있습니까?
많은 사람들이 모르고 있음에도 불구하고 프로그래밍 언어를 배우는 것이 백엔드 개발 전문가, 풀스택 또는 프론트엔드 엔지니어가 되는 유일한 방법은 아니며 웹사이트, 모바일 애플리케이션을 만드는 유일한 방법도 아닙니다. , 또는 웹 애플리케이션. 예, 이것은 몇 년 동안 사용할 수 있는 유일한 경로였지만 더 이상 그렇지 않습니다! 오늘날에는 개발자가 코드를 작성하지 않고도 모바일 및 웹 응용 프로그램을 만들 수 있게 해주는 코드 없는 도구라는 도구가 있습니다.
AppMaster는 코드 없는 프로그래밍 도구의 완벽한 예입니다. 코드를 작성하지 않고도 프레임워크와 전체 작동 앱 또는 웹 애플리케이션을 구축할 수 있는 플랫폼을 제공합니다. AppMaster로 개발할 때 코딩, 프론트엔드, 백엔드가 존재하지 않는다는 의미는 아닙니다. 이는 직접 또는 프로그래밍 언어를 통해 관리할 필요가 없다는 것을 의미합니다.
프론트엔드 및 백엔드 프레임워크는 자동으로 생성되며 AppMaster를 사용하면 내보낼 수도 있습니다. 프론트엔드 또는 백엔드 개발 프로그래밍 언어에 대한 깊은 지식이 있더라도 AppMaster와 같은 도구를 사용하여 워크플로를 개선할 수 있습니다. 프레임워크 개발 프로세스가 더 쉽고, 덜 스트레스를 받으며, 더 빨라집니다.
백엔드 프론트엔드 차이와 예시
백엔드 프론트엔드 차이 및 예시
프로그래밍이나 개발에 관심이 조금 있는 분이라면 백엔드와 프론트엔드라는 용어에 대해 조금이나마 들어보셨을 것입니다. 어떤 프로그래밍을 하던 백엔드와 프론트엔드는 필수적인 부분입니다.
프론트엔드 백엔드 차이와 예시
이번 포스팅에서는 백엔드, 프론트엔드 차이와 예시에 대해 여러분과 공유하고자합니다. 내용 확인하시고 커리어를 잡는데에 있어 도움이 되었으면 좋겠습니다.
프론트엔드 란? (FRONT-END)
프론트엔드는 유저가 직접적으로 체험하는 인터페이스 개발단입니다. 웹 어플리케이션에서의 주소 입력창, 레이아웃, 매끄러운 동작 등이 프론트엔드에 해당합니다.
프론트엔드는 주로 UI와 UX를 개발 하는데 초점을 맞추고 있습니다. 이는 백엔드와의 아주 큰 차이에 해당합니다. 백엔드는 눈에 보이지 않는 데이터를 처리하기 때문입니다.
UI : User Interface
UX : User Experience
UI는 사용자가 어플리케이션을 어떠한 방식으로 이용하도록 만들지를 설계하는 것이며, 예시로는 터치스크린이나 마우스로 들 수 있습니다.
UX는 사용자의 경험을 의미하는데 제품, 시스템, 서비스 등을 직, 간접적으로 어떻게 경험하게 할 것인지를 설계하는 것을 말합니다. UI와 UX는 근본적으로 차이가 존재합니다.
프론트엔드 개발 언어 및 기술
프론트엔드를 개발하기 위한 언어로는 HTML, CSS, Javascript가 존재합니다. 보통 웹프로그래밍을 할 때 사용하는 언어로써, 해당 블로그 역시 HTML, CSS로 제작되어 있습니다.
* 개발 언어 예시
HTML
CSS
Javascript
* 개발 기술 예시
AngularJS
ReactJS
Bootstrap
백엔드 란? (BACK-END)
프론드엔드 백엔드 차이는 근본적으로 차이가 아주 큽니다. 백엔드는 웹사이트나 어플리케이션의 서버와 데이터베이스를 관리하는 기술 이기 때문입니다. 백엔드는 눈에 보이지 않는 곳을 담당합니다.
프론트엔드와 백엔드의 차이는 눈에 보여지는 것을 개발하느냐, 보여지지 않는 것을 개발하느냐 입니다.
백엔드는 위에서 설명한 바와 같이 데이터를 저장, 관리하며 매끄럽게 어플리케이션이 동작하도록 처리합니다. 프론트엔드에 있는 사용자들이 취하는 행동을 처리하는 것입니다.
백엔드 개발 언어 및 기술
백엔드를 개발하기 위해서는 데이터를 잘 처리할 수 있는 언어가 사용됩니다. Javascript의 경우에는 프론트엔드와 백엔드에 사용되는 유일한 언어입니다.
* 개발 언어 예시
PHP
Node.js
Javascript
C++
Java
Python
* 개발 기술 예시
Express
Laravel
C#
마치며
이번 포스팅에서는 프론트엔드 백엔드 차이 및 예시에 대해 여러분과 공유했습니다. 내용 참고하시고 커리어패스에 있어 도움이 되었으면 좋겠습니다.
키워드에 대한 정보 파이썬 프론트 엔드
다음은 Bing에서 파이썬 프론트 엔드 주제에 대한 검색 결과입니다. 필요한 경우 더 읽을 수 있습니다.
이 기사는 인터넷의 다양한 출처에서 편집되었습니다. 이 기사가 유용했기를 바랍니다. 이 기사가 유용하다고 생각되면 공유하십시오. 매우 감사합니다!
사람들이 주제에 대해 자주 검색하는 키워드 파이썬으로 취업하기 어려운 이유
- 파이썬
- 취업
- 코딩
- yt:cc=on
- 프로그래밍
- Python
- 개발자
- 아케이
- IT
- C언어
- 자바
- 알고리즘
- 파이썬 단점
파이썬으로 #취업하기 #어려운 #이유
YouTube에서 파이썬 프론트 엔드 주제의 다른 동영상 보기
주제에 대한 기사를 시청해 주셔서 감사합니다 파이썬으로 취업하기 어려운 이유 | 파이썬 프론트 엔드, 이 기사가 유용하다고 생각되면 공유하십시오, 매우 감사합니다.