찾다
웹 프론트엔드CSS 튜토리얼Twitter의 첫 10 줄을 설명하십시오.

트위터 소스 코드의 처음 10 줄을 설명하십시오.

지난 몇 주 동안 저는 임대 가구 회사 인 Pabio에서 선임 풀 스택 JavaScript 엔지니어를 고용했습니다. 우리는 원격 팀이기 때문에 Zoom에 대한 인터뷰를 수행하고 있으며, 일부 개발자는 직장에 능숙하더라도 라이브 코딩 또는 화이트 보드 인터뷰에 능숙하지 않다는 것을 관찰했습니다. 대신, 우리는 웹 생명, 접근성, 브라우저 전쟁 및 웹에 대한 기타 유사한 주제에 대한 질문을하는 한 시간 동안의 기술 토론이 있습니다. 내가 항상 묻고 싶은 질문 중 하나는 다음과 같습니다. “트위터 소스 코드의 첫 10 개 줄을 설명하십시오.”

나는 그것이 기본적인 프론트 엔드 지식의 깊이에 대해 많은 것을 알려주는 간단한 테스트라고 생각하며,이 기사는 최고의 답변을 나열합니다.

컨텍스트를 위해 화면을 공유하고 Twitter.com을 열고 소스보기를 클릭합니다. 그런 다음 나는 그들에게 HTML을 이해하는 데 도움이되도록 라인을 가리라고 요청하며, 그들이 원하는만큼 말할 수 있습니다. 나는 또한 텍스트를보다 읽기 쉽게 만들기 위해 확대하기 때문에 전체 줄을 볼 수 없지만 아이디어를 얻습니다. 다음은 다음과 같습니다.

기술 토론은 대화이기 때문에 주목하십시오. 나는 누구의 완벽한 대답을 기대하지 않습니다. 올바른 키워드를 들으면 후보자가 개념을 알고 있다는 것을 알고 있으며 올바른 방향으로 밀어 붙이려고 노력합니다.

1 행 :

모든 문서의 소스 코드의 첫 번째 줄은이 인터뷰에 적합합니다. 후보자가 DocType 선언에 대해 얼마나 많은 시간을 알고 있는지에 대해 얼마나 많은 경험을 가지고 있었는지와 매우 유사하기 때문입니다. 나는 2009 년부터 그의 기사“The Common Doctypes”에 나열된 Chris와 같이 Long XHTML DocType 라인으로 DreamWeaver 시절을 여전히 기억합니다.

완벽한 답변 : 이것은 우리가 항상 HTML 파일의 첫 번째 줄로 넣은 문서 유형 (doc-type) 선언입니다. 브라우저는 응답의 마임 유형이 텍스트/html이라는 것을 이미 알고 있기 때문에이 정보는 중복되었다고 생각할 수 있습니다. 그러나 Netscape/Internet Explorer Days에서 브라우저는 여러 경쟁 버전에서 페이지를 렌더링하는 데 사용하는 HTML 표준을 파악하는 데 어려움을 겪었습니다.

각 표준이 다른 레이아웃을 생성했기 때문에이 태그가 쉽게 브라우저를 쉽게 사용할 수 있도록이 태그가 채택 되었기 때문에 특히 성가신 일이었습니다. 이전에는 DocType 태그가 길었고 심지어 사양 링크 (오늘 SVGS와 같은 것들)가 포함되었지만 운 좋게도 간단하게 은 html5에서 표준화되었으며 여전히 계속되었습니다.

또한 허용 : 이것은 브라우저에 HTML5 페이지임을 알리는 DocType 태그입니다.

2 행 :

소스 코드 의이 줄은 응시자가 접근성 및 현지화에 대해 알고 있는지 알려줍니다. 놀랍게도, 소수의 사람들만이 내 인터뷰에서 DIR 속성에 대해 알고 있었지만 스크린 리더에 대한 토론에 큰 도움이됩니다. 거의 모든 사람들이 이전에 사용하지 않았더라도 lang = "en"속성을 알아낼 수있었습니다.

완벽한 답변 : 이것은 HTML 문서의 루트 요소이며 다른 모든 요소는이 내부에 있습니다. 여기에는 두 가지 속성, 방향과 언어가 있습니다. 방향 속성은 사용자 에이전트에게 컨텐츠가 어떤 방향에 있는지 알려주는 값을 가지고 있습니다. 다른 값은 아랍어와 같은 언어의 경우 오른쪽에서 왼쪽으로 또는 자동으로 브라우저에 남겨 두어 파악합니다.

언어 속성은이 태그 내의 모든 컨텐츠가 영어로되어 있음을 알려줍니다. 예를 들어 EN-US 및 EN-GB를 구별하기 위해이 값을 모든 언어 태그로 설정할 수 있습니다. 이것은 또한 스크린 리더가 어떤 언어를 발표 해야하는지 아는 데 유용합니다.

3 행 :

완벽한 답변 : 소스 코드의 메타 태그는이 문서에 대한 메타 데이터를 제공하기위한 것입니다. 문자 세트 (char-set) 속성은 브라우저에 어떤 문자 인코딩을 사용하고, Twitter는 표준 UTF-8 인코딩을 사용합니다. UTF-8은 문자 포인트가 많기 때문에 훌륭하므로 소스 코드에서 모든 종류의 기호와 이모티콘을 사용할 수 있습니다. 브라우저 가이 줄을 가로 질러 텍스트를 너무 많이 구문 분석하기 시작하지 않으 므로이 태그를 코드의 시작 부분 근처에 놓는 것이 중요합니다. 나는이 규칙이 문서의 첫 번째 킬로바이트에 넣는 것이지만, 모범 사례는

상단에 바로 넣는 것입니다.

참고로, 트위터는 성능 이유 (로드 할 코드가 적음)에 대한

태그를 생략하는 것처럼 보이지만 모든 메타 데이터, 스타일 등의 명확한 집이기 때문에 여전히 명시 적으로 만들고 싶습니다.

4 행 4 :

완벽한 답변 : 소스 코드 의이 메타 태그는 스마트 폰과 같은 작은 화면에서 웹 페이지를 올바르게 크기를 조정하기위한 것입니다. 원래 iPhone 기조 연설을 기억한다면 Steve Jobs는 4.5 인치 화면에서 New York Times 전체 웹 사이트를 보여주었습니다. 당시에는 실제로 읽을 수 있도록 확대하기 위해 꼬집어 야하는 놀라운 기능이었습니다.

이제 웹 사이트는 디자인별로 반응합니다. 너비 = Device-width는 브라우저에 장치 너비의 100%를 뷰포트로 사용하므로 수평 스크롤이 없지만 너비에 대한 특정 픽셀 값을 지정할 수도 있습니다. 표준 모범 사례는 초기 스케일을 1로, 너비에서 장치 범위에서 사람들이 원하는 경우 여전히 확대 할 수 있도록하는 것입니다.

소스 코드의 스크린 샷에는 이러한 값이 표시되지 않지만 알아 두는 것이 좋습니다. 트위터는 또한 이름에서 알 수 있듯이 use-scalable = 0을 적용합니다. 이것은 접근성에 좋지 않지만 웹 페이지를 기본 앱처럼 느끼게합니다. 또한 동일한 이유로 최대 규모 = 1을 설정합니다 (최소 및 최대 스케일을 사용하여 이러한 값 사이의 줌 아일리티를 클램핑 할 수 있습니다). 일반적으로 전체 너비와 초기 스케일을 설정하는 것으로 충분합니다.

5 행 :

모든 후보자의 약 50%가 열린 그래프 태그에 대해 알고 있었고이 질문에 대한 좋은 답변은 그들이 SEO에 대해 알고 있음을 보여줍니다.

완벽한 답변 : 이 태그는 사이트 이름 인 Twitter에 대한 열린 그래프 (OG) 메타 태그입니다. Open Graph 프로토콜은 Facebook에서 링크를 더 쉽게 풀고 멋진 카드 레이아웃으로 미리보기를 표시 할 수 있도록 만들었습니다. 개발자는 모든 종류의 저자 세부 사항을 추가하고 멋진 공유를 위해 이미지를 커버 할 수 있습니다. 실제로, 요즘에는 인형극과 같은 것을 사용하여 열린 그래프 이미지를 자동 생성하는 것이 일반적입니다. (CSS- 트릭은 워드 프레스 플러그인을 사용합니다.)

또 다른 흥미로운 참고 사항은 메타 태그에 일반적으로 이름 속성이 있지만 OG는 비표준 속성 속성을 사용한다는 것입니다. 페이스 북이 페이스 북 인 것 같아요? 제목, URL 및 설명 오픈 그래프 태그는 이미 정기적 인 메타 태그가 있기 때문에 중복됩니다. 그러나 사람들은 안전하기 위해 추가합니다. 요즘 대부분의 사이트는 열린 그래프와 기타 메타 태그와 페이지의 내용을 사용하여 풍부한 미리보기를 생성합니다.

6 행 :

대부분의 응시자는 이것에 대해 알지 못했지만 숙련 된 개발자는 Apple-Touch-Icons 및 Safari 고정 탭 SVG와 같은 Apple 장치 용 웹 사이트를 최적화하는 방법에 대해 이야기 할 수 있습니다.

완벽한 답변 : iPhone 홈 화면에서 웹 사이트를 고정하여 기본 앱처럼 느낄 수 있습니다. Safari는 프로그레시브 웹 앱을 지원하지 않으며 iOS에서 다른 브라우저 엔진을 실제로 사용할 수 없으므로 트위터가 좋아하는 기본 경험을 원할 경우 다른 옵션이 없습니다. 그래서 그들은 이것을 추가하여 Safari 에게이 앱의 제목이 트위터라고 말합니다. 다음 줄은 비슷하며 앱이 시작될 때 상태 표시 줄의 모양을 제어합니다.

8 행 :

완벽한 답변 : 이것은 Apple 상태 바 색상 메타 태그와 적절한 웹 표준과 같은 적절한 웹 표준입니다. 브라우저에 주변 UI를 테마로 알려줍니다. 안드로이드의 크롬과 데스크탑의 용감한 사람은 둘 다 꽤 잘합니다. 컨텐츠에 CSS 색상을 넣을 수 있으며 미디어 속성을 사용하여 예를 들어 어두운 테마를 지원하기 위해 특정 미디어 쿼리에 대해이 색상 만 표시 할 수도 있습니다. 웹 앱 에서이 특성과 추가 속성을 정의 할 수도 있습니다.

9 행 :

내가 인터뷰 한 사람은 아무도 이것에 대해 알지 못했습니다. 표준 트랙에서 일어나고있는 모든 새로운 일에 대한 심층적 인 지식이있는 경우에만 이것을 알고 있다고 가정합니다.

완벽한 답변 : Origin Trials는 당사 사이트에서 새롭고 실험적인 기능을 사용할 수 있으며 피드백은 사용자 에이전트가 추적하고 사용자가 기능 플래그를 선택하지 않고 웹 표준 커뮤니티에보고합니다. 예를 들어, Edge는 듀얼 스크린 및 접이식 장치 프리미티브에 대한 원점 시험을 가지고 있으며, 접이식 전화가 열리거나 닫혀 있는지 여부를 기반으로 흥미로운 레이아웃을 만들 수 있기 때문에 매우 멋지다.

또한 받아 들여졌다 : 나는 이것에 대해 모른다.

10 행 : HTML {-ms-text-size-adjust : 100%;-webkit-text ...

거의 아무도 이것에 대해 알지 못했습니다. CSS 에지 케이스 및 최적화에 대해 알고있는 경우에만이 라인을 파악할 수 있습니다.

완벽한 답변 : 모바일 반응 형 사이트가없고 작은 화면에서 열어서 브라우저가 텍스트를 크기로 조정하여 읽기 쉽도록 쉽게 읽을 수 있다고 상상해보십시오. CSS 텍스트 크기 조정 속성은 값이 없음 으로이 기능을 비활성화하거나 브라우저가 텍스트를 더 크게 만들 수있는 백분율을 지정할 수 있습니다.

이 경우 트위터는 최대 값이 100%이므로 텍스트는 실제 크기보다 더 크지 않아야한다고 말합니다. 그들은 사이트가 이미 반응이 좋고 글꼴 크기가 더 큰 브라우저를 손상시키는 위험을 감수하고 싶지 않기 때문에 그렇게합니다. 이것은 루트 HTML 태그에 적용되므로 내부의 모든 것에 적용됩니다. 이것은 실험적인 CSS 속성이므로 공급 업체 접두사가 필요합니다. 또한이 CS에는 누락 된

또한 받아 들여진다 : 나는이 속성에 대해 구체적으로 알지 못하지만 -MS와 -webKit-는 비표준 특성에 대해 인터넷 익스플로러와 웹 키트 기반 브라우저가 각각 필요한 공급 업체 접두사이다. 우리는 CSS3이 나왔을 때 이러한 접두사를 요구했지만, 속성이 실험에서 안정으로 이동하거나 표준 트랙으로 채택되면 이러한 접두사는 표준화 된 특성을 선호합니다.

보너스 - 11 행 : 바디 {마진 : 0;}

Twitter의 소스 코드 의이 줄은 웹 페이지를 재설정하고 정규화하는 것의 차이점에 대한 질문으로 후속 조치를 취할 수 있기 때문에 특히 재미 있습니다. 거의 모든 사람들이 정답의 버전을 알고있었습니다.

완벽한 답변 : 다른 브라우저마다 기본 스타일이 다르기 때문에 (사용자 에이전트 스타일 시트), 속성을 재설정하여 사이트를 덮어 쓰려고하여 사이트에서 사이트에서 동일하게 보이도록합니다. 이 경우 Twitter는 브라우저에 Body Tag의 기본 마진을 제거하도록 지시합니다. 이것은 단지 브라우저 불일치를 줄이기위한 것이지만, 스타일을 재설정하는 대신 정규화하는 것이 좋습니다. 즉, 브라우저에서 동일한 기본값을 완전히 제거하는 대신 적용합니다. 사람들은 심지어 * {margin : 0}을 사용했지만 완전히 과잉 성능이 좋지는 않지만 이제는 Normalize.css 또는 Reset.css (또는 더 새로운 것을 가져 오는 것과 같은 것을 가져 와서 시작하는 것이 일반적입니다.

더 많은 라인!

나는 항상 브라우저 검사관 도구를 사용하여 사이트가 어떻게 만들어 졌는지 확인하는 것을 좋아합니다. 이것이 제가이 아이디어를 생각해 낸 방법입니다. Semantic HTML에 대한 전문가라고 생각하지만이 연습을 할 때마다 새로운 것을 배웁니다.

트위터는 대부분 클라이언트 측 REAT 앱이므로 소스 코드에는 수십 줄만 있습니다. 그 조에도 배울 것이 너무 많습니다! 트위터 소스 코드에는 독자를 위해 운동으로 남겨 두는 몇 가지 흥미로운 줄이 있습니다. 인터뷰에서 몇 명을 설명 할 수 있습니까?

 <link rel="search" type="application/opensearchdescription xml" href="/opensearch.xml" title="twitter">

… 브라우저에 사용자가 검색 엔진으로 트위터를 추가 할 수 있다고합니다.

 <link rel="preload" as="script" crossorigin="익명" href="https://abs.twimg.com/responsive-web/client-web/polyfills.cad508b5.js" nonce="mguyztiyn2itmdmdm1zc00mze5lwe2mymmymmymmymmymmymmytutu5ntg

… 특히 논의 할 수있는 많은 흥미로운 속성이 있습니다.

 <link rel="대체" hreflang="x-default" href="https://twitter.com/">

… 국제 방문 페이지.

 : 초점 : NOT ([Data-PocusVisible-PolyFill]) {개요 : 없음;}

… 키보드 내비게이션을 사용할 때 초점 개요를 제거하기 위해 (CSS : 포커스 가시 가능한 선택기는 여기에서 폴리 채식).

위 내용은 Twitter의 첫 10 줄을 설명하십시오.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
CSS 그리드는 무엇입니까?CSS 그리드는 무엇입니까?Apr 30, 2025 pm 03:21 PM

CSS 그리드는 복잡하고 반응이 좋은 웹 레이아웃을 만드는 강력한 도구입니다. 디자인을 단순화하고 접근성을 향상 시키며 이전 방법보다 더 많은 제어를 제공합니다.

CSS Flexbox 란 무엇입니까?CSS Flexbox 란 무엇입니까?Apr 30, 2025 pm 03:20 PM

기사는 반응 형 설계에서 공간의 효율적인 정렬 및 분포를위한 레이아웃 방법 인 CSS Flexbox에 대해 설명합니다. Flexbox 사용을 설명하고 CSS 그리드와 비교하고 브라우저 지원 세부 사항을 설명합니다.

CSS를 사용하여 웹 사이트를 반응하게 만드는 방법은 무엇입니까?CSS를 사용하여 웹 사이트를 반응하게 만드는 방법은 무엇입니까?Apr 30, 2025 pm 03:19 PM

이 기사는 Viewport Meta 태그, 유연한 그리드, 유체 미디어, 미디어 쿼리 및 상대 장치를 포함하여 CSS를 사용하여 반응 형 웹 사이트를 만드는 기술에 대해 설명합니다. 또한 CSS 그리드 및 Flexbox를 함께 사용하여 CSS 프레임 워크를 권장합니다.

CSS 박스 크기 부동산은 무엇을합니까?CSS 박스 크기 부동산은 무엇을합니까?Apr 30, 2025 pm 03:18 PM

이 기사는 요소 치수 계산 방법을 제어하는 ​​CSS 박스 크기 속성에 대해 설명합니다. Content-Box, Border-Box 및 Padding-Box와 같은 값과 레이아웃 설계 및 형태 정렬에 미치는 영향을 설명합니다.

CSS를 사용하여 어떻게 애니메이션 할 수 있습니까?CSS를 사용하여 어떻게 애니메이션 할 수 있습니까?Apr 30, 2025 pm 03:17 PM

기사는 CSS, 주요 특성 및 JavaScript와 결합 된 애니메이션 작성에 대해 논의합니다. 주요 문제는 브라우저 호환성입니다.

CSS를 사용하여 프로젝트에 3D 변환을 추가 할 수 있습니까?CSS를 사용하여 프로젝트에 3D 변환을 추가 할 수 있습니까?Apr 30, 2025 pm 03:16 PM

기사는 3D 변환, 주요 속성, 브라우저 호환성 및 웹 프로젝트에 대한 성능 고려 사항에 대한 CSS 사용에 대해 논의합니다. (문자 수 : 159)

CSS에 기울기를 추가 할 수있는 방법은 무엇입니까?CSS에 기울기를 추가 할 수있는 방법은 무엇입니까?Apr 30, 2025 pm 03:15 PM

이 기사는 CSS 그라디언트 (선형, 방사형, 반복)를 사용하여 웹 사이트 비주얼을 향상시키고 깊이, 초점 및 현대적인 미학을 추가합니다.

CSS의 의사 요소는 무엇입니까?CSS의 의사 요소는 무엇입니까?Apr 30, 2025 pm 03:14 PM

기사는 CSS의 의사 요소, HTML 스타일을 향상시키는 데 사용 및 의사 급의 차이점에 대해 설명합니다. 실제 사례를 제공합니다.

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

SublimeText3 영어 버전

SublimeText3 영어 버전

권장 사항: Win 버전, 코드 프롬프트 지원!

안전한 시험 브라우저

안전한 시험 브라우저

안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

Atom Editor Mac 버전 다운로드

Atom Editor Mac 버전 다운로드

가장 인기 있는 오픈 소스 편집기

VSCode Windows 64비트 다운로드

VSCode Windows 64비트 다운로드

Microsoft에서 출시한 강력한 무료 IDE 편집기