서버 측 개발자는 얼마나 많은 HTML과 CSS를 알아야합니까? [닫은]


16

나는 짓을 C하고 C++지금은 내가 아니라 내 경력을 시작하려는 웹 개발자 . 웹 개발에 대해 많이 읽고 웹에는 두 가지 유형의 개발자가 있다는 것을 알게되었습니다.

 1. Client Side Developers.
 2. Server Side Developers.

서버 쪽 개발 에 계속 집중하고 싶습니다 . 나는 일을 시작 그래서 기초부터 시작하는 것이 가장 좋은 것이라고 생각 HTML하고 CSS. 나는 CSS누군가가 쉽게 완전히 마스터하기에는 너무 크다는 것을 알았습니다 . 서버 측 개발자가 알아야 할 기본 사항과 HTML의 마스터가되어야 CSS합니까 , 아니면 그냥 제거 해야하는지 알고 싶습니다 .


1
웹 서비스 개발자가 3 번째 유형의 개발자입니까? 아니면 해당 사용자를 서버 측 개발자로 간주합니까?
JB King

1
@ jb-king IMO 서버 측
BlackICE

1
@Jb king, @ David : 웹 작동 방식을 알고있는 서버 측 개발자라고 부르는 것은 어떻습니까.

1
웹 서비스를 개발하는 사람은 서비스가 XML 또는 SOAP 만 반환하는 경우 CSS 또는 HTML을 사용할 필요가 없습니다. 따라서 이것은 HTML 및 CSS를 사용하여 여기에 대비를주는 많은 UI 기능을 가진 ASP.Net 웹 사이트 또는 웹 응용 프로그램을 개발하는 사람과는 거리가 멀습니다.
JB King

이제는 클라이언트 측으로 풀 스택 개발자라고 말하면 모두 HTML을 알아야합니다. 페이지에서 ID가 고유해야한다는 것을 몰랐기 때문에 기능을 깨뜨린 수년간의 경험을 가진 서버 측 개발자를 만날 때 나는 그것을 때리고 싶습니다. FFS를 "ID"라고합니다. 그 후에 SQL 근처에 갈 사람을 어떻게 믿습니까? 그리고 최신 HTML에 대한 힌트를 얻는 데 1 년에 몇 시간 밖에 걸리지 않습니다. 또한 템플릿 페이지를 만질 것으로 예상되는 IMO는 브라우저가 페이지를 구문 분석하고 렌더링하는 방법을 알고 있기 때문에 모든 YSLOW 권장 사항을 설명 할 수 있어야합니다.
Erik Reppen

답변:


15

그것들을 잘 아는 것에주의를 기울일 것입니다. 웹 개발자 인 경우 웹 개발자입니다. 웹 애플리케이션을 독립적으로 작성할 수 있어야하며 여기에는 클라이언트 측 기술이 포함됩니다.


3
+1 나는 형편없는 디자이너이지만 일부 응용 프로그램에서는 실제 디자이너와 파트너 관계가 없습니다.
Michael

2
내 친구 인 당신은 혼자가 아닙니다. 나는 훌륭한 UI를 많이 보지 못하지만 완전히 기능을 갖춘 웹 응용 프로그램을 만들기 위해 다른 개발자가 필요하지 않도록 거칠어졌습니다.

8

본인은 "서버 측"개발자라고 생각합니다.

웹 개발의 "뒷면"에도 불구하고 HTML 및 CSS 기본 사항을 아는 것이 매우 도움이된다고 생각합니다. Drupal, Day CQ 및 Liferay와 같은 일반적인 "웹 콘텐츠 관리 시스템"(WCMS)을 작업하고 있으며 대부분의 비즈니스 요구 사항과 요청은 모양과 느낌을 바꾸는 데 중점을두고 있습니다.

HTML이나 CSS에서 "마스터"가 될 필요는 없지만 최소한 CSS를 사용하여 정적 웹 페이지를 만드는 방법을 알아야합니다. 폼의 기본 사항과 다양한 입력 메커니즘을 알아야합니다. CSS의 경우 ID와 CLASS 속성의 차이점과 선택기가 작동하는 방식을 이해하십시오. 이 중 많은 부분이 시간이 지남에 따라 선택됩니다.

마지막으로 일반적인 브라우저 차이점에 대한 지식을 쌓으십시오. 다시 말하지만, 이것은 시간이 지남에 따라 얻을 수있는 지식이지만 브라우저 차이가 있음을 인식하고 인식 할 준비를하십시오.


1
"HTML 또는 CSS에서 '마스터'가 될 필요는 없습니다"+1 저는 디자이너가 된 프로그래머이며 float를 사용하는 레이아웃에 대한 기본 CSS를 배우고 나면 CSS 지식에서 놀랍도록 급격한 희미 함이 있습니다. 프론트 엔드 대단원은 CSS3 / IE 지원 등에 대한 가장 열렬한 주장을 가지고 있으며, 그 중 많은 부분이 교리 나 종교로 귀결됩니다. "나쁜 테이블!" "나사 IE!" "마이크로 포맷은 암을 치료할 것입니다!" 이러한 주장 중 많은 부분이 실제 세계에 영향을 미치지 않으므로 CSS를 배우는 경우 교의주의를 피하고 화면에 물건을 배치하는 방법을 배우는 데 집중하십시오.
Graham

예, "테이블을 사용해야합니까?"와 같은 토론에 참여했습니다. "Google과 Twitter가 왜 테이블을 사용합니까?" 그러한 질문들을보고, 나는 이용 가능한 태그들 중에서 선택하기가 어려워 졌다고 생각합니다.

클라이언트 측에서 2011 년 또는 2014 년에 수평 위치 지정을 위해 단독으로 테이블을 배치하거나 플로트를 계속 사용하는 것은 교리를 거부하지 않습니다. 그들은 경력에 만료 날짜를두기로 결정한 누군가의 징조입니다. 디자이너 또는 독점적으로 광고 / 마케팅 / 대화 형 대행사 프런트 엔드 개발자가이를 해결할 수 있습니다. 누군가의 최근 작업에서 그것을 본다면, 최종 제품이 궁극적으로 일회용이 아닌 곳에서 일한 어느 곳에서나 고용에 반대하는 것이 좋습니다.
Erik Reppen

1

실제로 세 개의 세그먼트를 식별합니다.

  • 서버 측 개발자
  • 클라이언트 측 개발자 (JavaScript 프로그래머)
  • 디자이너

HTML과 CSS에 대한 철저한 지식이 필요합니다. 서버 측과 클라이언트 측 / 디자인 개발자 사이의 분업은 일반적으로 서버 측 개발자가 데이터베이스 및 프로그래밍 상호 작용에 의해 생성 된 HTML을 제공해야합니다. HTML에는 CSS 식별자도 포함되어 있으므로 클라이언트 측 개발자 나 디자이너가이를 조작 할 수 있습니다.

서버 측 개발자는 일반적으로 다른 두 곳에 HTML / CSS 마크 업을 제공해야합니다. HTML과 CSS를 완전히 익히십시오.


1
"서버 측 개발자가 HTML을 제공"HTML 생성은 3 가지 역할로 이루어져야합니다. 누구나 HTML에 참여해야합니다. 또한 서버 측 개발자는 CSS와 관련 이 없습니다 .
Raynos

@Raynos Server 측 개발자는 CSS 규칙을 정의하지 않습니다. 이것은 사실입니다. 그러나 의미 그룹화를 위해 마크 업에서 클래스를 지정하는 방법을 이해해야합니다.
Michael

1
@Micheal과 달리 HTML과 CSS는 실제로 관련이 있습니다. 이상적으로 서버 측 개발자는 XML / JSON REST API 만 공개하고 프론트 엔드 개발자 / 디자이너는 HTML / CSS를 작성합니다. 서버 측 개발자는 여전히 웹 개발자가 사용할 CSS를 작성해서는 안됩니다.
Raynos

1

HTML + CSS는 필수이며 배우기가 어렵지 않으므로 알아야합니다. 모든 브라우저에 대해 CSS를 설정하는 동안 함정에 직면하게되지만,이를 알아야합니다. 때때로 서버 측을 사용하여 HTML을 생성해야합니다.

자신의 블로그를 만들어서 학습을 시작할 수 있습니다. 블로그에 대한 정보가 없으면 수업에 대한 블로그를 작성할 수 있습니다.


1

사람들이 왜 이해하지 못하는지 모르겠어요 웹 사이트에는 프론트 엔드 코드가 없습니다. 모두 백엔드 코드입니다. 프론트 엔드 코드는 브라우저이므로 Mozilla 또는 IE 또는 Chromium / google 또는 사파리에서 작업하지 않는 한 서버 측 코드를 작성하는 것입니다. 작동 방식은 다음과 같습니다. 브라우저는 웹 서버에서 파일을 요청합니다. 웹 서버는 파일을 출력합니다. 브라우저는 해당 파일을 해석하고 모든 파일이 해석 될 때까지 추가 파일 (이미지, javascript, css 등)을 요청하고 해당 파일을 해석 할 수 있습니다.

이제 브라우저가 요청하는 첫 번째 파일은 html 파일입니다. html 파일이 구문 분석되고 브라우저가 컨텐츠 렌더링 방법을 결정합니다. 여기서 유지해야 할 중요한 개념 중 하나는 html 파일이 파서에 의해 소비된다는 것입니다.

웹 서버는 포트에서 수신 대기하고 파일 요청을 처리하는 소프트웨어입니다. 파일이 정적 파일 인 경우 (파일이 이미 작성되었다는 의미에서 정적을 의미 함) 요청하는 그대로 클라이언트로 복사됩니다. 파일이 동적 일 경우 파일이 요청 될 때마다 파일이 작성됨을 의미하면 웹 서버는 파일을 생성하는 소프트웨어 (실행중인 프로세스,로드 된 라이브러리 또는 프로세스 생성)에 의해 파일이 생성되도록 요청합니다. 해당 소프트웨어는 파일을 생성하여 웹 서버로 전송 한 다음 웹 서버로 전송하여 클라이언트로 전송합니다.

해당 파일이 클라이언트에 "제공"되고 파싱되면 클라이언트는 json 파일과 같은 다른 유형의 파일을 요청할 수 있습니다. 여기서 json 파일은 html 렌더러의 구문 분석을 무시하고 대신 파일을 javascript 인터프리터로 반환 할 수 있습니다. 클라이언트에 의해, 이것들은 javascript에 의해 구문 분석됩니다 (eval은 구문 분석의 형태입니다). 이것이 AJAX의 기반입니다.

자, 이것이 당신에게 어떤 영향을 미칩니 까? 서버의 파일이 동적으로 생성되면 서버에서 파일을 생성하는 방법을 알려주는 소프트웨어가 실행됩니다. 이 소프트웨어를 프로그래밍하는 사람들은 "서버 측"프로그래머로 간주됩니다.

서버에서 생성 된이 html 파일은 브라우저에 포함 할 다른 파일을 알려주므로 생성 된 html 파일로 자바 스크립트와 이미지 및 CSS를 가져오고 정렬하고 구성해야합니다.

순수한 "서버 측"작업과 "클라이언트 측"작업 사이의 경계를 만들기 위해 많은 웹 프레임 워크와 감히 방법론 (MVC 등)이 개발되었습니다.

나는 데이터 사람들을 언급하는 것을 잊었다. 데이터 스토리지 담당자는 서버 측 html 파일 생성 소프트웨어 작성자보다 훨씬 서버 측입니다. 관계형 데이터베이스, NoSQL 등의 데이터 스토리지는 완전히 다른 것입니다. Big-Vendor-touted 프레임 워크와 방법론 (MVC 등)이 단순히 "간단히 과감하게"표현하기 쉽기 때문에 이것을 언급합니다.

와, 정말 긴 답변입니다.

서버 측 개발자와 클라이언트 측 개발자가 있다는 귀하의 진술에 이의를 제기하는 것으로 보입니다. 웹 사이트를 통해 정보 시스템을 제공하는 경우 모든 것이 서버에 저장, 구성 및 관리되어야합니다. 그리고 그것은 큰 혼란이며, 모든 것이 어떻게 작동하는지 실제로 배우지 않으면 제대로 작동하는 데 시간이 걸릴 것입니다. 따라서 모든 서버 측입니다.


1
심각하다면 확실하지 않습니까? 이것은 바보입니다. "클라이언트 측"은 전달 플랫폼이 아니라 클라이언트 시스템에서 실행되는 소프트웨어를 나타냅니다. HTML, CSS 및 JavaScript는 서버 (duh)에 저장되지만 클라이언트에서는 실행됩니다. 따라서 그들의 개발은 "클라이언트 측"으로 간주됩니다.
Graham

클라이언트 시스템에서 실행되는 소프트웨어는 브라우저에서 렌더링 엔진에 의해 해석되며 이는 클라이언트에서 실행됩니다. 렌더링 엔진은 먼저 html을 렌더링 한 다음 렌더링 한 후 html 파일의 컨텍스트에서 관련 리소스를 렌더링합니다.
Christopher Mahan

@Graham, 예. 복잡하기 때문에 Silverlight와 AdobeAir의 매력입니다.
Christopher Mahan

0

질문에 +1 또한 항상 html + css + js + ajax + .. 및 수많은 작업을 수행하는 것보다 서버 측을 코딩하는 것이 더 흥미롭고 중요하다고 생각했습니다. 어쨌든, 혼자 있고 자신 만의 웹 애플리케이션을 만들고 싶다면 서버 측 프로그래머이자 디자이너 + (클라이언트 측 프로그래머) 여야합니다. 그래서 지금은 html5와 css3을 배우고 있습니다.


감사합니다 세르게이 HTML 4와 CSS를 사용하고 있는데 HTML5로 이동 한 다음 곧 PHP로 이동하려고합니다. :

어느 쪽이 더 흥미로운 지 응용 프로그램에 따라 다릅니다. 많은 웹 응용 프로그램은 약 90 %의 사용자 경험과 10 %의 데이터 디자인입니다.
케빈 클라인

데이터 디자인을 올바르게 수행하면 사용자 경험도 간단 해집니다!
Christopher Mahan

"데이터 디자인을 올바르게하면 사용자 경험도 간단 해집니다." 미안하지만, 그건 정말 잘못입니다. 아이팟은 시장에 출시 된 100 개 이상의 다른 MPG 플레이어와 동일한 기본 데이터 디자인을 가지고 있었지만 혁신적인 사용자 경험으로 인해 오늘날 우리 모두가 알고있는 회사가되었습니다.
Graham

0

실제로는 다릅니다. 대부분의 경우 HTML 및 CSS를 알아야합니다. 드문 경우지만 두 가지를 모두 무시할 수 있습니다.

사례 1

우리 회사에는 HTML과 CSS와 서버 측과 관련된 모든 것을 엄격하게 분리 한 프로젝트있습니다 . 이것은 한쪽에 최고의 C # 또는 PHP 개발자를, 반대쪽에 최고의 HTML, CSS 및 JavaScript 개발자를 가져올 수있게합니다. 구체적으로, 서버 측 개발자는 모든 페이지에 대해 페이지를 표시하는 데 필요한 모든 것을 포함하는 서버 측 오브젝트를 생성합니다. 그런 다음 해당 객체는 XML로 직렬화됩니다. 클라이언트 측 개발자는 해당 객체를 선택하고 XSLT를 사용하여 XHTML로 변환합니다.

이것은 다른 회사에서는이 접근법을 보지 못했습니다. 또한 많은 제한이 있으며 어떤 경우에는 완벽하더라도 다른 많은 경우에는 전혀 작동하지 않습니다.

사례 2

소규모 웹 사이트에서 개발자와 디자이너가 함께 작업 할 때 누가 HTML 및 CSS를 작성하는지에 대한 합의가 없습니다. 관련된 두 사람의 기술에 따라 모든 프로젝트를 결정해야합니다. 많은 경우에 HTML 및 CSS를 다루는 개발자 인 경우에도 HTML 및 CSS 를 잘 알고있는 일부 디자이너를 찾을 수도 있습니다 . 이 경우 소규모 프로젝트에서 이러한 디자이너와 만 작업하려는 경우 HTML / CSS를 배울 필요가 없습니다.

사례 3

대규모 프로젝트에서는 디자이너 및 서버 측 개발자의 작업을 기반으로 HTML 및 CSS 코드를 작성하기 위해 전담 인력고용하는 것은 드문 일이 아닙니다 . 숙련 된 C # 개발자가 실제로 HTML을 작성하는 데 시간당 100 달러를 지불하고 싶지 않기 때문에 일반적으로 그렇게하는 것이 좋습니다. 시간과 돈 낭비 일뿐입니다.


이 말이 가장 빈번하지는 않다. 따라서 서버 측 개발에 중점을 두지 만 HTML 및 CSS도 배우십시오. 추가 지식은 결코 아프지 않습니다.


0

때때로, 특히 처음에는 프로젝트를 직접 수행하면서 프런트 엔드 및 백엔드를 수행해야합니다. 이 경우 최소한 HTML과 CSS에 대한 기초 지식이 필요합니다. 훌륭한 디자이너 일 필요는 없습니다. 백엔드의 정보를 브라우저에 표시하면 테스트 할 수 있습니다.


0

실제로 모든 것이 달려 있습니다. 서버 소프트웨어 프로그래밍과 관련하여 문제가 발생하면 HTML (CSS) 웹 개발자가 응용 프로그램과 인터페이스 할 수있는 표준 방법을 알아야합니다. 그러나 HTML / CSS와 밀접하게 연결된 많은 작업을 수행하려는 경우 HTML과 CSS를 합리적으로 잘 알아야합니다. 어느 쪽이든, 항상 추가 기술을 아는 것이 좋습니다. 나는 네이티브 프로그래머이며 심지어 괜찮은 웹 사이트를 만들 정도로 HTML / CSS를 알고 있습니다. 즉, AJAX를 배우면 Chrome / Firefox 애드온을 작성할 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.