프로그래밍

어플리케이션 백엔드는 어떻게 동작하는거야?

예를들어 

 

내가 자바나 스위프트, 다트, 리액트네이티브등을 이용해서

 

어플리케이션 ui를 만들었어

 

그럼 이제 사용자들이 어플리케이션을 사용해서 글을 쓰거나

 

혹은 사진을 올리거나 할거아니야

 

그 데이터들이 최종적으로 데이터베이스에

 

올라가는거까지는 알겠는대

 

ui <->데이터베이스

 

이렇게 바로 다이렉트로 가는건 아닐거같고

 

찾아보니까 백엔드가 go도있고 자바도있고 등등있더라고

 

만약 ui가 자바로 짜여졌고

 

백엔드언어를 go로 채용한다고 하면

 

서로 언어가 다르기때문에 뭔가 해줘야하는작업이

 

필요할거같은대 아니야?

 

그리고 어플리케이션과 데이터베이스 사이에서

 

 일어나는 데이터 통신을

 

중간에 웹서버가 처리해주는거야?

 

구글링해봤는대 키워드를 뭐라검색해야하는지 잘모르겠어서

 

물어봄

17개의 댓글

2020.08.07

비전공자임?

3 tier architecture 검색해보면 됨

0
2020.08.07
@티벳여우

서바 개발자인대 프론트에대해 아는건 완전 무임

0
2020.08.07
@정소민

프론트엔드와 백엔드 간에 언어 차이는 전혀 문제가 안됨

보통 아래와 같은 구성으로 돼있을텐데

 

Frontend(Web browser) →[HTTP/HTTPS]→ Backend(WEB Server/WAS) →[Database Driver]→ DB Server(MySQL, ORACLE, PSQL...)

 

프론트엔드와 백엔드 관점에서는 HTTP/HTTPS 프로토콜로 주고받으므로 해당 프로토콜 형식만 알면 데이터를 주고받는데 전혀 문제가 없음. 프론트엔드에서 백엔드의 언어를 알 필요도, 백엔드에서 프론트엔드의 언어를 알 필요도 없음. 두놈은 데이터를 주고받는 프로토콜만 알면 되거든.

 

백엔드와 DB 사이에도 Database Driver 라고 말하는 ODBC, JDBC같은 애들이 인터페이스 역할을 해줌

WEB Server/WAS가 ODBC를 통해 SQL Server한테 쿼리를 하는 방식임. 대신 해당 드라이버는 개발 언어와 DB에 맞춰서 적용할 필요가 있음. 예로 JAVA에서 PSQL 서버에 쿼리를 날려 데이터를 받아오고 싶다 하면, PostgreSQL JDBC Driver가 필요한거임

 

 

여기서 데이터를 주고받는데 굳이 문제가 되는 점이 있다면 프론트엔드와 백엔드, DB간에 인코딩이 서로 달라서 문자가 깨지는 경우가 있음. 영어는 괜찮은데 한글은 죄다 깨져보이는 수가 있어서 주의해야함.

0
2020.08.07
@티벳여우

오 자세한 설명고마워. odbc, jdbc는 업무때문에 자주 보긴했는대 어플개발은 첨이다보니 어떻게 이해해야할지몰라서ㅋㅋ

0

"

만약 ui가 자바로 짜여졌고

백엔드언어를 go로 채용한다고 하면

"

 

앱에서 자바로 짜도 결국 xml로 변환되지 않나?

쨋든 둘이 동일한 프로토콜로 데이터를 주고 받겠지

0
2020.08.07
@눈물이주룩주룩

그것까지는 잘모르겠어. 자바를 사용안해봐서.단순히 예를든거거든...

0
2020.08.07
@눈물이주룩주룩

222

0
2020.08.07

만약 ui가 자바로 짜여졌고

백엔드언어를 go로 채용한다고 하면

서로 언어가 다르기때문에 뭔가 해줘야하는작업이

필요할거같은대 아니야?

 

-> 어차피 HTTP 통신하는데 언어의 종속성이 무슨 상관이닝

0
2020.08.07
@대뇌

지금 찾아보니까 백엔드 프레임워크로 서버를 개발하면 결국 json이나 http등 같은프로토콜을 사용해서 통신하니 문제없겠다ㅋㅋ 이해했음

0
2020.08.07
@정소민

ㅇㅇ 너가 크롬 쓸 때, 엣지 쓸 때, 파이어폭스 쓸 때

네이버 접속 주소가 다르지 않은거처럼

 

어차피 세상은 인터페이스임

서로 주고 받는 요청만 규정된다면(프로토콜)

언어는 노상관

 

REST API 찾아보세용

0
2020.08.07
@대뇌

어플만들때는 보통 어떤 프로토콜이용해? 웹은 http겠지만 앱은json이려나

0
2020.08.07
@정소민

보통 둘 다 http 야

0
2020.08.07
@대뇌

오 그렇구나 고마웡

0
2020.08.07
@정소민

보통은 http 안에 json 로 데이터전송하거나, http 안에 xml 로 하거나,
http 는 송/수신에 목적을둔 프로토콜이고 json, xml 는 오브젝트 표현에 중점을 둔 형식이고.

심심해서 내방식대로 설명해보면 서버 ~ 클라간의 통신은 어짜피 글자라서 ( 정확히는 010101 이겟지만)

그 글자의 규격을 '프로토콜'이라고 하는거임, 결국에는 go 로하던 c로 하던 네트워크에 '프로토콜'에 맞는 형식으로 글자 찍어내기만 하면되는거임

그래서 tcp 위에 송/수신에 맞는 프로토콜은 대표적으로 http 이고, 데이터를 보기좋고, 스윗하게 표시해주는 json, xml 를 데이터로 실어서 보내는거임

결국에는 http 프로토콜, json형식으로 들어오는 글자들을 잘 분석해서 원하는 동작으로 작동되게하는 언어마다의 라이브러리가 있으니 그걸 가져다가 쓰면되는것.

 

유저가 게시글 작성버튼을 누르는 시나리오로 보자면

프론트엔드에 사용한언어에서 백엔드로 HTTP프로토콜이용해서 백엔드로 전송해주면 백엔드의 웹서버(http프로토콜에특화된놈들)이나 기타언어들의 웹서버 라이브러리(언어마다 무조건있음)애들이 내용받아서 가공해서 기능수행하고, 그걸 이제 또 DB서버에 넣으려면 DB들만의 프로토콜 처리하는 [Database Driver]에 전달해서 올바르게 처리하는거임 ( Database Driver 는 나도 정확히는 모르겟다 )

0
2020.08.07
@Gbps

오... 그렇구나 http안에 json형태는 첨알았내 고마웡

0
2020.08.07
@정소민

정확히 얘기하면 tcp 위에 http 가 돌아가는거고

 

서버와 클라간 tcp 연결과정은 3 way handshake 찾아보면 됨

1

앞에서 뭘 쓰건 DB는 JDBC 같은 자기네 Driver API만 받음

어느 레이어에서 DB를 찌르건 그 언어에서 쓸 수 있는 API 랩핑해놓은 라이브러리 불러다 쓸테고

그런 라이브러리들이야 수없이 많고 자주 바뀌니깐 프론트할 거 아니면 딱히 신경 쓸 필요없음

0
무분별한 사용은 차단될 수 있습니다.
번호 제목 글쓴이 추천 수 날짜 조회 수
180601 [모바일] 아니 s21이 169g이고 s24u가 233g인데 말이되나 마법부오러사무국장 0 1 시간 전 30
180600 [잡담] 드디어 cpu 배송시작한다 1 차원에서사는인간 0 4 시간 전 104
180599 [컴퓨터] 다빈치 리졸브 쓰는분있나여 3 afterschool 0 6 시간 전 94
180598 [모바일] 아이패드 저장공간 질문 6 가나가다라 0 7 시간 전 90
180597 [컴퓨터] 150~200 4K 게이밍 견적 부탁 드려봅니다 8 라면死리 0 7 시간 전 96
180596 [잡담] sn850x 1tb 방열판 없어도 괜찮죠?? 9 김빵순 0 8 시간 전 92
180595 [컴퓨터] Am5 메인보드 asrock b650m pg lightning vs gigabite b650m-k 8 죽업 0 10 시간 전 85
180594 [모바일] s21 3년째쓰다가 s24 울트라로바꾸고 느낀점 5 마법부오러사무국장 0 16 시간 전 530
180593 [견적] 중고 노트북 한번바조요 5 쯔네이 0 17 시간 전 145
180592 [컴퓨터] 간헐적 모니터 화면 깜빡거림은 왜생기는걸까요? 20 파라다이스 0 19 시간 전 165
180591 [모바일] 태블릿사서 사용용도 11 오브 0 20 시간 전 301
180590 [컴퓨터] 배그 멈춤현상 도와주세요(내용수정하였습니다,) 12 크크르삥뽕 0 21 시간 전 126
180589 [컴퓨터] 드디어 컴퓨터 다 샀다ㅜㅜㅜ 24 뽀삐뽀삐 0 23 시간 전 320
180588 [견적] 9700k 쓰고 있는데 컴퓨터 업글하려면 라이젠 뭐 사는게 좋음? 11 쪄까튼쎼쌍 0 1 일 전 196
180587 [컴퓨터] jpg 열화 막는법? 7 정병장기입원 0 1 일 전 267
180586 [모바일] 윈도우pc와 아이폰 사진연동 안되나? 5 cw 7 0 1 일 전 125
180585 [견적] 개붕이 견적 도와죠요 3 가기그게그거 0 1 일 전 86
180584 [모바일] 이거 삼전케어플러스로 넘어가야할정도임? 2 마법부오러사무국장 0 1 일 전 251
180583 [컴퓨터] 모니터 이상함 1 띵똥이 0 1 일 전 90
180582 [모바일] A25가 그렇게 별로임?? 7 울그락푸르락 0 1 일 전 179