영. 나
프론트엔드를 접한 지 약 2 년, 올해 6 월에 졸업했으며 마음을 다해 블로그를 쓰는 프론트엔드 신인입니다.
최근 CSS 2.1 사양 번역을 완료했고, 뻔뻔하게도 웨이보로 잘 알지 못하는 많은 선배들에게 @ 했습니다. 그 후의 일은 완전히 제 예상을 벗어났습니다: 선배들이 열정적으로 확산시켜 주고, 지지와 격려를 보내주었으며, 프론트엔드 동료들의 인사……
당시 단순히 운을 시험해 본 것뿐이었습니다. 선배들의 영향력을 통해 "중국어 교과서가 생겼어요"라고 모두에게 알리고 싶었을 뿐입니다. 개인의 실력이 부족해 몇 가지 점을 정확하게 깊이 이해하지 못했습니다 (예를 들어 당시 이해하기 어려웠던 clearance 등). 더 많은 사람들이 이 문서를 자세히 읽고 반복적으로 수정해야만 더 좋아질 수 있습니다.
문서가 완비되면 우리 신인들이 업계에 들어가기 더 쉬워지고 더 합격에 가까워질 것입니다.
일. 이유
보고 싶었지만 중국어 버전이 없고, 영어는 여러 번 읽어도 이해할 수 없어서 먼저 번역하고 여러 번 읽었습니다.
목표가 생기면 모든 것이 자연스럽게 이루어집니다:
평균적으로 하루 500 행의 HTML 소스 코드를 번역하며 8 시간이 필요합니다. 주당 3-4 개의 500 행을 번역하고, 나머지 2-3 일은 옛것을 파고 새로운 것을 시도하며 블로그를 씁니다. 이렇게 하면 2 개월 만에 완료됩니다.
많은 에너지를 투입해 재사용 가능한 스니펫을 완성했습니다. 여러분도 모든 사람이 이를 알게 해 시간을 절약하기를 원할 것입니다.
이. 프론트엔드의 곤경
CSS 를 배우려면 사양서를 숙독하는 것부터 시작해야 합니다. 그러나 저와 같은 대부분의 신인들은 사양서부터 프론트엔드를 시작한 것이 아닙니다. 그 결과:
면접에서 CSS 의 position 속성을 묻으면 절반의 사람을 떨어뜨릴 수 있다는 건 무슨 상황인가……
사실 이 문제는 본래 normal flow, containing block, bfc, margin collapse, base line, writing mode, bidi 로一路묻고 내려갈 생각이었는데, 아쉽게도 첫 번째 질문 (정말 저는 position 에 어떤 값과 행동이 있는지만 물었습니다) 에서 비극이……
(이상 winter 선배의 면접과 면접 문제에 대해 에서 인용)
1 년 전, 처음 이 문장을 봤을 때 자신이 불합격이라고 생각했습니다. 당시 저는 position: static|aboslute|relative|fixed(사실 inherit도 있습니다) 만 알았고, 사용법은 조금 알았지만 이미 입문급 프론트엔드를 자처하며 대우 팀에 가입해 학습 진보하려고 망상하고 있었습니다.
만약 입문할 때 선배가 먼저 사양서를 숙독하고 착실히 진보하라고 알려줬다면 얼마나 좋았을까요? 적어도 지금 막 졸업하고 소위 "프론트엔드 엔지니어"가 될 때 자세히 생각하면 아직 마음이 허한 생각을 하지 않아도 됐을 것입니다.
삼. 기본기
BFC, margin collapse 등 이러한 이론적인 것들이 유용할까요?无用할까요? 처음에는 저도 "허한" 것은 无用하다고 생각했습니다. BFC 를 아는 사람이 저보다 강한가요? 이것을 몰라도 페이지 레이아웃을搞定할 수 없나요?
점차 실력이 깊은 선배들이 "항상 사양서를 입에 올린다"(물론 농담입니다) 는 것을 발견했습니다. BFC 를 모른다고 해서 경멸받는 것은 아니지만, 더 멀리 가고 싶다면 빌린 것은迟早 갚아야 합니다. 하물며 프론트엔드로서 교과서조차 읽은 적이 없고, 기초를 말하면 마음이 허한데 어떻게 말이 되겠습니까?
사양서를 숙독하는 장점은 레이아웃의 근원을 알고, 몇 가지 이상한 표현 뒤의 이유를 알며, 기억하거나 해법을 찾을 수 있는 것이 아니라 이해할 수 있다는 것입니다. CSS 사양서를 활용해 다양한 문제를搞定하는 데 능숙한 선배가 한 분 계십니다. 누구신지 말하지 않아도 아실 것입니다. 그러한 사람에 대해 우리는 대부분 경외할 뿐이고 왜 그렇게厉害한지 진지하게 생각해 본 적은 없습니다. 사실 사양서를 자세히 읽으면 몇 가지 錦囊 같은 신기한 해법이 사양서에 분명히 쓰여 있다는 것을 알 수 있습니다. 그분은숙독하고 많이 생각했을 뿐입니다.
술업유전공, 프론트엔드로서 사양서를 숙독하는 것은 절대적으로 가장 기본적인 요구사항입니다.
사. 우리가 부족한 것
먼저 W3C 일본어 문서를 보세요:
https://www.w3.org/2005/11/Translations/Lists/ListLang-ja.html
그 완전함은 정말 놀라울 정도이며, CSS3 의 몇몇 모듈은 이미 오래전에 번역되었습니다. 다음은 공개 메일:
You may know this already, there is already a Japanese translation (CR) exists:
https://triple-underscore.github.io/css-writing-modes-ja.html
Yes, I know.
...It leads that the translation refers recent spec, but sentences are a bit hard to read. The latter tries to translate in fluent sentences. The maintainance cost becomes high, but it would be easy to read.
...So I decide to translate.
(이상 2016-5-2Re: Japanese intention of translation 에서 인용)
대요는 "이미 일본어 버전이 있는 것은 알지만 번역이 좋지 않아 다시 하기로 결정했다"입니다. 우리의 겨우 31 편 중국어 문서와 비교하면 정말 송구스럽습니다.
완비한 문서는 업계 발전의 기초입니다. 우리는 바로 이러한 것들의 지지를 부족하게 여겨 현재의 프론트엔드 곤경을 초래했습니다. 문서 번역은 모든 프론트엔드 개발자의 책임이지 중국어 그룹의 의무가 아닙니다. W3C 의 모든 문서 번역자는 Volunteer 이며, 번역 참여에 문턱이 없고 W3C 직원과의 교류도 당신이 상상하는 것처럼 그렇게 어렵지 않습니다:
Dear translator,
Thanks for your translation...
...And would you also please let me know your Full name both in Chinese and English to allow us add your info into the Database?
Please feel free to contact me if you have any questions.
상대는 매우 친절하고 조금도 무섭지 않습니다, 정말로.
만약 프론트엔드 업무 축적 경험이 있고 마침 영어도 조금 한다면 Please feel free to volunteer:
https://www.w3.org/Consortium/Translation/#volunteer
만약 정말로 무언가 하고 싶다면 먼저 함부로 하지 않도록 주의하세요:
-
문서 상태 확인. Working Draft, Proposed, Recommendation, Candidate Recommendation 아니면 Recommendation 인가? Recommendation(추천 표준) 만 번역하는 것을 권장합니다
-
중국어 버전이 존재하지 않음을 확인. W3C 데이터베이스에서 다양한 관련 키워드로 목표 문서를 검색하고 공개 편지를 검색하여 Intention(누군가 번역 예정) 또는 Completed(누군가 번역 완료) 가 없음을 확인
-
번역 의향 (Intention) 전송. 모두에게 내가 이것을 번역하겠다고 했으니 중복하지 말라고 알립니다
-
Just do it.
말한 것은 최선을 다해 성취해야 하며, Intention 만 있고 후속이 없는 것은 좋지 않습니다. 따라서 번역은 신중하게, 분량이 짧은 것부터 시작하는 것을 권장합니다. 하지만 어떻든 업계에게 한 편의 매우 짧은 문서라도 매우 좋은 것입니다.
오.FEers 에게
1. 선배에게
당신도 업계의 신인들은 실력이 낮고, 자질이 낮고, 눈이 높다고 느낄 수 있으며, 진지하게 이유를 생각해 봤을지도 모릅니다. 하지만 결국에는 이것들이 nonsense 라고 느낄지도 모릅니다 (증결은 알지만 마음이有余하고 힘이 부족합니다).
물론 당신에게는 많은 시간이 없고, 젊은이들의 육체노동 을 할 그精力도 없습니다. 하지만 각도를 바꿔, 젊은이들이 번역 과정에서 다양한 어려움에 부딪혀 몇 가지 개념을 이해하지 못해 경험이 풍부한 선배가 설명해주기를 매우 원합니다.而你에게 이것은 기본 상식이며 한두 마디면 분명히 할 수 있습니다.
하지만문제는 그가 당신을 모르고, 당신이 그를 도울愿意가 있는지도 모른다는 것입니다. 이 문제를 해결하는 것은其实 어렵지 않습니다. 서로 한 걸음씩 나아가면, 당신이 문서 작업에 관심과 지지를 보이고 (중국어 그룹? 또는 다른 더 신뢰할 수 있는 방식), 동시에 우리가 몇 가지 방식으로 당신을 찾을 수 있으면 이 매듭이 풀립니다.
다른 한편, 면접에서 상대의 실력이 참을 수 없을 정도로 낮다는 것을 발견하면 차라리 직설적으로 말하는 것이 그에게도 업계에도 좋습니다. (만약 일찍 선배가 이렇게 나를 꾸짖어줬다면 지금 얼마나 감사했을까요. 아쉽게도 깨달음이 늦었습니다).
이 말들은 미숙한 프론트엔드 신인이 할 말은 아니지만, 老大가 "맨발이 신발을 신은 자를 두렵게 하지 않는다"고 했고, @情封 선배가 용기를 주셔서 감사합니다.
2. 나 같은 신인에게
만약 프론트엔드를 접한 지 얼마 안 되어 아직 학습 축적 단계에 있다면 강력히사양서부터 학습을 시작할 것을 권장합니다. 만약 번역이 좋은 중국어 문서가 없다면 직접 번역해 보는 것은 어떨까요. 이것은原汁原味의 첫 자료로 절대 손해가 아닙니다.
번역 과정에서 어려움에 부딪치면 대담하게 선배에게 물어보세요. 최악이라도 답장이 없을 뿐이고, 안 되면 몇 명 더 물어보면 됩니다. 묻는지는 내 일이고, 도와주는지는 그의 일입니다. 먼저 자신의 일을 잘하세요. (P.S.도움 요청 시措辭에 주의해 중점을 부각시키세요. 어쨌든 제가 선배들에게 보낸 도움 요청 메일의 답장률은 100% 입니다)
다른 한편, 프론트엔드 것은 정말 많고, 우리의 精力은 제한적입니다:
想必 많은 小伙伴들은 본 적이 없을 것입니다. 여러분에게 저와 같은 느낌이 있는지 모르겠지만, 화장실에서大号를 보고 사무실로 돌아오면 이전에 본 적 없는 프론트엔드 신특성을 마주치게 됩니다.
저처럼 HTML 과 CSS 만 배우는 것도 버거운데, CSS3, HTML5, ES6/ES7, React, Angular, bootstrap, postcss, node 를 모두 아는 小伙伴들은 매일 3-4 시간만 잘 것 같습니다. 정말厉害합니다!
선배가 농담할 때도 이것이 nonsense 라고 느낄 수 있습니다 (그는 말穿지 않고,用心하는 사람이 스스로 깨닫게 합니다). @余果 선배가 말穿했습니다: "먼저 精後廣, 一專多長"이 풀스택 엔지니어가 되는 錦囊입니다.
작년 인턴离职 시 부서의 각 선배들에게一堆의 스킬서를索要해 bash 부터 PHP|node 부터 backbone 부터 ionic 부터 수학부터 제품까지 (胃口가 다소 큼), 현재 겨우一两冊을吃透했습니다. 스킬을点하기 전에@余果 선배의 책을 보고 잠시 三代目 (忍術之神) 이 되는 환상을 포기했습니다. 당시 선택을 매우庆幸합니다.
마지막으로, 만약 곤경에 부딪치면대담하게 선배에게 도움을 요청하세요. 네트워크 중에서 우리 사이는 0 거리이며, 프론트엔드계의 선배들은 매우 친절하고 모두 기꺼이 손을 내밀어 줍니다 (방식 방법에 주의하면搞定할 수 없는 사람이 없습니다). 친亲身经历:
@张鑫旭 그의 많은 블로그 글을 봤습니다
@寒冬 winter 그의 블로그 글이 나에게 착실히 진보해야 한다고 알려줬습니다
@前端开发博客 많은 블로그 글을 봤습니다
@情封 친구가 클릭 透過 문제에 대한 글이 그에게 수납되었다고 알려줬습니다
@愚人码头 많은 블로그 글을 봤습니다
@Barret 李靖 博客園에서 小胡子哥主页까지 쫓아갔습니다
@朴灵 최근에야 node 책을 기본적으로吃透했습니다
@CSS 魔法 몇몇 블로그 글을 봤습니다
@司徒正美 먼저 나는 것을 배우려고 했습니다 (프레임 설계 스킬을 点할 예정), 나중에 실패했습니다
冒頭에 서술한 대로, 저는 이러한저와 친하지 않은선배들에게 @ 했습니다. 저는 그를 알지만 그는 저를 모릅니다.万万没想到 선배들이 매우 열심 으로 저를 도와주실 줄은. 그러니 대담하게 하세요. 선배들은 우리를 도와주는 것을 매우 기꺼이 해주십니다.
아직 댓글이 없습니다