체크인
오늘 컨디션 상태를 아래 테이블에 작성해주세요
Default view
Search
짝프로그래밍이란
짝프로그래밍은 최소 '2명'이서 '1개'의 컴퓨터 '페이지'에서 하나의 앱을 같이 만들어 나가는 과정이에요.
2명의 역할
•
드라이버
◦
운전하는 사람
◦
키보드를 잡고 입력하는 사람
◦
드라이버가 주도적으로 키보드를 잡고 실제 입력을 다 하는 사람이에요.
•
내비게이터
◦
자동차 운전할 때 핸드폰 네비게이션을 보면서 가잖아요. 네비게이션 자체가 운전을 해주는건 아니지만, 운전을 '잘'할 수 있게 옆에서 도움을 주는 역할이잖아요. 그리고 내 위치가 지금 어디에 있는지, 어느 방향으로 가야하는지 조언을 해주는 역할이에요.
◦
내비게이터는 옆에서 그 입력하는거를 한 발자국 떨어져서 같이 보고, 조언과 피드백을 주는 역할이거든요.
짝 프로그래밍의 장점
•
최소 버그가 50%이상 감소하고, 실제 하나의 앱을 만들고 통합하는 시간이 30%이상 감소한다고 해요.
•
전문가의 암묵지를 효과적으로 배울 수 있는 장점이 있다.
◦
나보다 잘하는 사람, 실력이 비슷할순 있지만 내 동료가 나는 자바를 잘하는데, 동료는 자바스크립트를 잘할수도 있고, 사수가 있어서 사수가 나보다 프로그래밍 실력이 뛰어날 수가 있잖아요.
◦
짝 프로그래밍을 하면 그 결과를 도출해내는 과정을 함께하기 때문에 '암묵지' 말로 설명하기 어려운
◦
김연아가 스트레칭하는데 김연아한테 지금 스트레칭 무슨 생각하냐고 물어보니까
▪
그냥 하는거지 뭐 무슨 생각을 해
▪
짝 프로그래밍을 하면 그 말로 설명할 수 있는 짧은 과정 까지도 그 프로세스를 같이 공유할 수 있기 때문에 전문성을 굉장히 효과적으로 배울 수 있습니다.
▪
저희 회사에 프론트엔드 마크업을 정말 잘하시는 분이 있는데. 그런데 이분한테 마크업을 어떻게 잘하는지 물어봤을 때는 설명하기 어려워 했는데, 실제로 마크업 하는 과정을 같이 보니까 무의식적으로 노력을 많이 하는데 '최소한의 마크업'을 사용하려고 함.
•
당연히 같이 하기 때문에 A, B라는 사람이 각자 코드 짜고 합치는 것보다, 처음부터 같이 짜기 때문에 통합이 빨라지는 장점이 있고요.
•
같이 하기 때문에 혼자서 해결 하기 어려운 문제를 접근하는데 있어서 좀 더 쉽게 다가갈 수 있는 '짝용기'가 생겨요.
•
팀워크를 향상시키는건데, 짝 프로그래밍을 하면 사람과 사람이 하는거기 때문에 안맞아요 갈등이 생길수도 있거든요. 당연한거에요 협업을 잘하는 방법을 배워본적이, 협업을 잘하는 사람이 잘 없음
◦
짝프로그래밍을 하면 서로의 커뮤니케이션 방식이나, 코딩 스타일을 계속 이야기하면서 작은 갈등들이 많이 일어나게 되는데, 이 갈등이 작은 단위로 일어나고, 작은 단위일때 자주 해소하는게 팀원간의 관계에서 굉장히 중요.
•
짝 프로그래밍을 하면 사람과 사람이 하는거기 때문에 갈등이 작게 빨리 일어나고, 빠르게 해소할 수 있다,
•
바로 같이 짝으로 진행하면 그 중간 중간 비는 시간들이 다 줄어드는게 저는 큰 장점임!
◦
그리고 나의 기억력은 좋지 않기 때문에, 다른 사람과 처음부터 같이만들면 나의 부족한 기억력을 보완할수도 있다!!!!
짝 프로그래밍의 단점
•
시간이 초반에는 오래걸릴 수 있다.
◦
전문가 혼자서, 좀더 잘하는 혼자서는 1시간 걸릴수 있는 일이, 둘이서 같이 하면 1.5시간이 걸릴수도 있고 2시간이상이 걸릴 수도 있는데
◦
혼자 하고 나면, 피드백 요청하고, 받는 시간이 걸리는데
기술 면접
면접관: 무슨 문제 해결해보세요.
•
코딩인터뷰도 그렇고 기술면접도 그렇고 결국에는 같이 일할 팀원을 뽑는거기 때문에 내가 정답을 말한다기 보다는 옆에 팀 동료가 나한테 질문해서 같이 해결해 나가는 느낌으로 풀어나가는게 중요한데 요거는 한번 글로 공유드릴 수 있도록 할게요
아이스브레이킹 (~8:35)
•
팀 이름
•
팀 이름에 알맞는 배경 사진
•
오늘 짝프로그래밍 함께할 언어
•
화면공유와 마이크 체크
Gallery view
Search
문제 (~21:15)
피보나치 수는 F(0) = 0, F(1) = 1일 때, 2 이상의 n에 대하여 F(n) = F(n-1) + F(n-2) 가 적용되는 점화식입니다. 2 이상의 n이 입력되었을 때, fibonacci 함수를 제작하여 n번째 피보나치 수를 반환해 주세요. 예를 들어 n = 3이라면 2를 반환해주면 됩니다.
ex_ F(4)인 경우 0 1 1 2 '3' 이므로 F(4) = 3 입니다.
Plain Text
복사
function fibonacci() {
// 이 부분을 구현해주세요.
}
JavaScript
복사
짝프로그래밍할때 주의사항
•
타이머를 이용해서 빈번하게 교환해주세요
◦
한 사람이 오래 키보드를 오래 붙잡고 있으면 안됩니다.
◦
시간텀을 최대 2분까지만 잡고 번갈아가면서 타이핑을 진행해주세요.
◦
서로 왔다 갔다 하는 과정에서의 '발견'이 짝 프로그래밍에서 중요한 부분입니다.
•
한 사람이 다른 사람에게 '강의'를 하지 마세요.
◦
짝 프로그래밍은 수평적인 관계로 진행하는게 중요합니다.
◦
드라이버가 어떻게 리드해야할지 모르겠다면, 네비게이터가 쳐야할 코드를 불러주세요.
중간 회고 (~21:25)
Default view
Search
문제2 (~21:40)
waterMelon함수는 정수 n을 매개변수로 입력받습니다.
길이가 n이고, 수박수박수…와 같은 패턴을 유지하는 문자열을 리턴하도록 함수를 완성하세요.
ex_ waterMelon(4)이 4이면 ‘수박수박’을 리턴하고 waterMelon(3)이라면 ‘수박수’를 리턴하면 됩니다.
Plain Text
복사
function waterMelon(n){
}
JavaScript
복사
체크아웃과 마무리 회고
Default view
Search