[우아한테크] 글로벌 개발자로 성장하는 소프트웨어 실무 영어

    2월 우아한 테크 세미나 

    : "글로벌 개발자로 성장하는 소프트웨어 실무 영어"

    https://www.youtube.com/live/fBlf_vml5w4?si=_HOzBnxQm2gl36ai


    내용 정리 

    Opening 내용

    더보기

    함수에 데이터를 전달하다 : Pass data To the function

    { }  중괄호 : Curly brackets 

    ~ 물결 : Tilde

    등, 코드를 쓸 때 정말 자주 사용하는 것들 조차 코드 리뷰 시에는 막히는 부분이 많다.

    또한, 우리가 알고 있는 영어 단어임에도, 코딩 및 실무 시 다른 의미로 사용되는 경우가 많다. 

     

    따라서, 코드를 영어로 설명하는 법 은 굉장히 중요한 스킬이다.!!


    1부 : < 개발자에게 코딩 실력 만큼 영어 실력이 중요한 이유> 

        왜 영어가 필요할까?     

     

    소프트웨어의 모든 신 산업들은 'Silicon Valley' 에서 공개되며, 모두 영어로 공개된다.

    따라서 영어를 못하는 것은 그만큼 정보를 늦게 습득하게 되고, 비즈니스 기회를 놓치게 될 것이다. 

    또한, 영어로 검색했을 때 검색되는 정보의 규모와 정확성에서 차이가 크다.

    따라서 영어는 커리어 개발 및 개발 역량 강화의 핵심 요소이다!

     

    But!

    [ 비즈니스 영어, 시험 영어와 IT 영어는 정말 다르다 ]

    예를 들어, Render  라는 언어는 

    일상에서는 "어떠한 상태가 되다" 라는 뜻으로 사용되는 반면, 

    IT 쪽에서는 "페이지를 만들다, 그래픽 요소를 그리다" 의 의미로 사용된다. 

     

    또한, 전문용어와 약어 사용을 많이 한다.

    예를 들어,

    1. Headless : GUI(구이 - 프론트엔드) 없이 작동 가능한 소프트웨어 및 애플리케이션

    2. WYSIWYC (위짓) : What You See Is What You Get의 약어로, 편집 화면에 입력한 글자, 이미지, 영상 등의 콘텐츠가 출력물에 동일하게 표시되는 방식

     

    마지막으로, 슬랭(Slang, 은어) 및 인터넷 용어를 많이 사용한다.

    ex . PR (Pull Request) : 개발한 내용을 다른 사람들에게 알리고, 프로젝트 코드에 반영 요청 하는 것

    LGTM (Look Good To Me) : merge 해도 좋다

    등,,

     

     

           간단한 SW 실무 영어 테스트     

    * 모르는 상태에서 적어본 후 밑에 답과 맞춰보기 *

     

    1. 해당 확장 프로그램은 MacOS의 사파리 브라우저에서 작동하지 않습니다.

     

    2. 이 매개변수는 Null 또는 Boolean 자료형을 받습니다. 

     

    3. 해당 For 반복문은 문자열 배열을 돌며 반복합니다. 

     

    4. ~ 을 누르고, 홈 디렉토리로 이동하세요. 

     

     

     

     


     

    답> 

    1. The extension does not work in Safari on MacOS.

    2. This parameter accepts Null or Boolean type.

    3. The For loop iterates over a string array.

    4. Press the tilde to move to the home directory.


    2부 : <인생은 실전, 소프트웨어 실무 영어 Overview>

    프로그래밍 언어

    반복문  Loop Statement 중첩된  Nested (Double Nested for loop)
    조건문 Conditional Statement 들여쓰기 Indentation
    상속 Inheritance 재귀 함수 Recursive function
    객체지향 Object-oriented (hyphenate) 보안 취약점 Security vulnerability
    매개변수 Parameter 비동기적인 Asynchronous
    인자 Argument 정규식 Regular Expression (Regex)

     

    실무 영어 

    Saas Software as a Service 온프레미스 On-premises
    (hyphenate)
    GuI Graphic User Interface JSON JavaScript Object Notation
    WYSIWYG What You See Is What You Get Deprecated
    (발음주의: “데” 프러케이티드)
    특정 기능, 클래스, 메소드 또는 속성이 더 이상 사용되지 않고 중단될 것임을 나타내는 상태
    풀 리퀘스트 Pull Request(PR) Height
    (발음주의 : “하”이트)
    높이

     

    기호

    괄호 : ( ) 단괄호 : Parenthesis
    양괄호 : Parentheses
    캐럿 : ^ Caret
    대괄호 : [ ] Brackets 또는 Square Brackets 달러 기호 : $ Dollar Sign
    중괄호 : { } Braces 또는 Curly Brackets 물음표 : ? Question Mark
    화살(꺾쇠) 괄호 : < > Angle Brackets 또는 Chevrons : Colon
    해시 기호 : # Number Sign 또는 Hash ; Semicolon
    골뱅이표 : @ At Sign 붙임표 : - Hyphen 또는 Dash
    느낌표 : ! Exclamation Mark 밑줄문자 : _ Underscore
    퍼센트 기호 : % Percent Sign 덧셈 기호 : + Plus sign
    별표 : * Asterisk 또는 Star 등호 : = Equal Sign
    역슬래시 : \ Backslash 슬래시 or 빗금 : / ForwardSlash
    백틱 : ‘ Backtick 또는 Grave Accent 쌍따옴표 : “ ” Double Quotation Marks
    작은 따옴표 : ‘ ’ Single Quotation Marks 마침표 : . Dot, Period
    수직선 : | Pipe, Vertical Bar 앰퍼센트 : & And Sign 또는 Ampersand
    물결표 : ~ Tilde    

     

     

        Git 으로 세련되게 협업하는 방법      

    : 실무에서 Git 은 필수적으로 사용하는 SW이다.

     

    How to Write Commit Message? = Conventional Commits 를 사용한다. 

    Conventional Commits 란? 

    : 커밋 메시지를 일관되고 읽기 쉽게 작성하는 방법론

    → 프로젝트 이력을 쉽게 읽고 이해할 수 있다.

    → 자동화된 도구를 활용하여 버전 관리 및 배포 프로세스를 효율적으로 관리 가능

    //기본적인 커밋 메시지 구조 
    <type>[optional scope] : <description>
    [optional body]
    [optional footer]
    
    • 커밋 메시지의 카테고리화
    feat : 코드에 새로운 기능(Feature) 추가
    fix : 버그 수정
    BREAKING CHANGE : 이전 버전과 호환되지 않는 변경 내역으로, ! 로 표시할 수 있다.
    docs : 개발 문서 변경
    style : 들여쓰기, 따옴표, 세미콜론 등 코드 형식 및 스타일 변경
    ci : CI/CD (Continuous Integration and Deployment) 관련 코드 변경
    refactor : 중복된 코드 제거, 변수명 변경, 코드 단순화 등 리팩터링 관련
    test : 테스트 관련 코드 변경
    build : 빌드 시스템 관련 코드 변경
    perf : 성능 개선 관련 코드 변경
    chore : 기타 코드 변경

     

    작성방법 

    1. 전부 다 소문자로 작성 또는 첫 글자만 대문자로 작성

    2. 동사 원형으로 시작한다

    → 명령적 어조를 위해 동사 원형을 사용한다.

    → 3인칭 단수 또는 과거형을 사용하는 경우도 있다. 

    더보기

         알아두면 좋을 Commit message에 자주 사용하는 동사   

     

    fix : 수정하다

    improve : 개선하다

    handle : 처리하다

    optimize : 최적화하다

    update : 업데이트하다

    implement : 구현하다, 적용하다

    Refactor : 리팩터링하다

    Add : 추가하다

    revert : 되돌리다

    Change : 변경하다

    replace : 대체하다

    merge : 병합하다

    Document : 문서를 작성하다

    Bump : 버전을 올리다

    simplify : 단순화하다

    enable : 가능하게 하다

    run : 실행하다

    clean : 제거하다, 정리하다

    wrap : 감싸다, 그룹화하다

    deploy : 배포하다

    modify : 변경하다

    remove : 제거하다

    rename : 이름을 바꾸다

    move : 이동하다, 이동시키다

    3. a , an, the 와 같은 관사(article)의 사용을 최소화 시킨다, 생략 시킨다!

    4. 변경한 이유, 상세 설명은 본문(body)에 작성한다.

    5. Git 관련 동사/전치사에 유의한다.

     

          Git 관련 문장 테스트         

    * 모르는 상태에서 적어본 후 밑에 답과 맞춰보기 *

    1. 최근 3개의 커밋을 하나로 합치다.

     

    2. 원격 리포지터리(코드 저장소)로 커밋을 업로드하다.

     

    3. 기능 브랜치를 기본 브랜치에 병합하다.

     

    4. 풀 리퀘스트를 되돌리다 (이전 상태로 되돌리다.)

     

    5. 검토를 요청하다.

     

    6. 풀 리퀘스트에 댓글을 남기다.

     

    7. 병합 충돌을 해결하다.

     

    8. 다른 브랜치로 리베이스 (base를 재설정하여 커밋 재적용) 하다.

     

    9. 리포지터리를 복제하다.

     

    10. 풀 리퀘스트를 병합하지 않고 종료하다.

     

     

     

     

     

     


    답 >

    1. Squash the last 3 commits

    2. Push commits to a remote repository 

    3. Merge a feature branch into the base branch

    4. Revert a pull request

    5. Request a review

    6. Comment on a pull request

    7. Resolve a merge conflict

    8. Rebase onto another branch

    9. Clone a repository

    10. Close a pull request without merging it into the branch.


    코드 설명법

     

        코드 설명법 QUIZ      

    * 모르는 상태에서 적어본 후 밑에 답과 맞춰보기 *

    1. 변수에 값을 할당하다.

     

    2. 반복을 한 번 건너 뛰다.

     

    3. 조건문이 참으로 평가되다.

     

    4. 배열을 반복하며 돌다.

     

     


    답 > 

    1. Assign a value to a variable
    2. Skip (Jump over) an iteration
    3. The conditional statement evaluates to true
    4. Iterate over (through) an array

          Git 코드 설명 예시     

    function add(a,b) {
    	 return a + b;
    }
    add(2 , 3);
    

    ✔️ Pass arguments to a recursive function : 재귀 함수에 인자들을 전달하다.

    ✔️ The function accepts 2 positive integers : 해당 함수는 2개의 양수 정수를 받는다.

     

    class student extends Person {...}
    

    ✔️ A child class ~~~ its parent class : 부모 클래스로부터 상속받은 자식 클래스이다.

    ✔️ The class ~~ the functionality ~~~ another class : 클래스는 다른 클래스의 기능을 상속합니다.

     

    for (i=0; i<5; i++) {
    	a + i;
    	print(a);
    }
    

    ✔️ ~~ a block of code for a certain number of times : 일정 횟수 동안 코드 블록을 실행하다.

    ✔️ An iteration means a single ~~~ of the loop body : 반복(iteration)은 반복문의 코드 블록(body)이 한번 실행되는 것을 의미한다.

     

    var myArray = [1,2,3];
    for (i=0; i<2; i++) {
    	print (myArray[i]);
    }
    

    ✔️  ~~a for - loop for sequential traversal : 순차적 순회를 위해 for 루프를 실행하다

    ✔️  ~~~ a string array : 문자열로 구성된 배열을 돌며 반복하다

     

    for (i=0; i<10; i++) {
    	a -= i;
    	if (i == 5) break; 
    }
    

    ✔️ Terminate(End) the execution of the loop through the break statement : break 문으로 반복문 실행을 종료하다

    ✔️ Exit out of a while loop with a break : break 로 while 문을 빠져나오다

     

    for (i=0; i<10; i++) {
    	if (i == 5) continue;
    	print(i);
    }
    

    ✔️ The continue statement can only skip one loop iteration : continue 문은 루프 반복을 한 번만 건너뛸 수 있습니다.

    ✔️ In a while loop, the continue statement jumps back to the condition : While 반복문에서, continue 문은 조건으로 되돌립니다.

     

    a = 1;
    if (a > 0) {
    	print("a is positive");
    } else {
    	print("a is negative");
    }
    

    ✔️ The 1 + 1 == expression evaluates to false : 1 + 1 ==3 표현식은 거짓으로 평가된다

    ✔️ If the condition becomes(is) true, the code in the loop will be executed : 조건이 참이면, 반복문의 코드가 실행될 것이다.

     


    우아한 테크 세미나를 통해 더 자세한 정보를 얻을 수 있다.

     

    https://techblog.woowahan.com/15983/

     

    [다시 보기] 2월 우아한테크세미나: 글로벌 개발자로 성장하는 소프트웨어 실무 영어 | 우아한형

    {{item.name}} 2월 우아한테크세미나 : 글로벌 개발자로 성장하는 소프트웨어 실무 영어 📅 일정 📝 주요 내용 ㅤ "반복문을 빠져나오다", "인자의 제곱을 반환하다"를 영어로 어떻게 표현할까요?

    techblog.woowahan.com

     

    댓글