/////
Search
1️⃣

회고 스프린트3 2022.10.24

1. 두번째 스프린트 이후로 1달간 일어난 일에 대한 회고 ~9:20

두번째 스프린트 이후로 나에게 의미 있었던 지점 2~3가지를 작성해볼게요. 이 때 좋았던 부분, 성장한 부분뿐만 아니라, 고민할 지점을 줘서 의미있다고 생각한 부분도 좋아요. 더 그레이트 클 대 빛날 엽
이름
1달간 일어난 일 중에 나에게 의미 있었던 지점 2~3가지
김대엽
1. 날이 갈수록 상승하는 js수업난이도 ⇒ 프로그래밍에 대한 겸손함을 가지게 해준 JS 2. 소풍 & 선배와의 대화 ⇒ 사람을 만나지 못하고 컴퓨터와 고립되어있었는데 주변환기도 시키고 마인드를 다잡을 수 있는 계기가 됨
김미경
1. 모닝 자바스크립트 예습 스터디 - 아침시간에 뇌를 깨우는 시간을 가지고 수업 전 예방주사를 맡는게 생각보다 큰 도움이 되었다! 본 수업에 집중도 더 잘 되어서 좋았다. 2. 프로그래머스 0단계 - 대엽님의 주도로 시작하게된 프로그래머스 0단계 -> 해야지 생각만 하고 하는둥 마는둥 했을텐데 덕분에 꾸준하게 몇문제씩이라도 풀어보게 되었고, 문제를 푸는 과정에서 구글링하며 학습하고 복습하는 부분이 많아 너무 좋았습니다. 앞으로 100문제 완주 화이팅 3. 시간 활용에 대한 고민 - 첫 주때부터 고민하던 부분인데 아직 시간을 운용하는 것이 어렵다. 깨어있는 시간을 최대한 잘 활용하는 것이 목표
박선영
1. 겉으로 돌기만 하는 회고조가 아닌 서로를 더 생각할 수 있게 된 회고조가 된 것 같다고 생각하게 됨 2. 다시 의지를 다지게 만든 자스 .. 3. 프로그래머스 입문 -> 이거 진짜 완전 나의 머리를 깨우고 이마를 깨버렸습니다 이야 ! 4. 상처나지 않을 정도의 채찍질을 위해 버려야 할 것을 고민. -> 아직... 그냥 나 스스로한테만 채찍질 중 … (이게 상처가 되고 있는 상황)
이지형
1. 페이스 조절의 어려움 ⇒ 아직 해결을 못하고 있음 (욕심이 과함) 2. 회고 조원들과의 만남 및 오전 스터디 등을 통해 스스럼 없는 친밀감을 가지게 되었음 3. 프로그래머스 0단계 ⇒ 처음에는 다양한 방법을 고민하였지만, 갈수록 어려워져서 일단 풀고 넘어가는 일이 반복되고 있음 ㅠㅠ
양지성
1. 회고조원과 아침스터디를 시작하고나서 - 본 수업의 집중도가 향상 됐습니다. - 하루 시작을 부지런히 할 수 있게 됐습니다. - 알고리즘을 접하고 적용하는 연습을 하면서 부족한 부분을 알 수 있었습니다. 2. 회고조원과 와 스쿨(멋사, 제코베, 동기)과의 대면만남 - 0과 1로(feat.미경님) 이루어진 사이버휴먼이 아님을 확인했고, 더욱 친해질 수 있는 계기가 됐습니다. - 가까워진 계기로 더 많은 이야기는 물론, 생산성(?)있는 이야기들을 나눌 수 있게 됐습니다. 3. 지역 오프라인 스터디 시작 후 - 공부를 좀 더 깊게 할 수 있는 계기가 되었습니다. 새로운 것들을 배우게 되면 더 나아가기 보단 안주하는 일들이 많았는데, 스터디원 분들의 열정이 저를 더 집중하게 하고 깊게 공부하게 되는 계기가 됐습니다.
추민희
1. JS를 어떤 식으로 공부해야 할지 방향성을 알게 됨 2. 프로그래머스를 통해 코딩테스트에 다소 흥미를 갖게 됨

2. 가장 작은 단위의 협업부터 잘해 나가는 방법

페어 프로그래밍/페어 워크

두 명이 같이 하나의 프로그래밍이나 하나의 일을 같이 해나가는 것
페어 프로그래밍은 최소 '2명'이서 짝이 되어 같이 프로그래밍을 하는 과정이에요.
1개의 컴퓨터, 1개의 키보드를 가지고 시작

2명의 역할

드라이버
운전하는 사람
키보드를 잡고 입력하는 사람
드라이버가 주도적으로 키보드를 잡고 실제 입력을 다 함
내비게이터
자동차 운전할 때, 드라이버가 프로그래밍할 때 내비게이션 자체가 운전을 해주는건 아니지만 운전을 ‘잘’ 할 수 있게 옆에서 도움을 주는 역할. 내 위치가 지금 어디에 있는지, 혹시 내가 잘못된 방향으로 가고 있는건 아닌지 조언을 해주는 역할.
옆에서 한발자국 떨어져서 같이 보고, 조언과 피드백을 주는 역할

페어프로그래밍의 장점

소프트스킬과 코딩 실력을 같이 키울 수 있다.
쉬는 텀이 있다.
아이디어가 다양해질것 같다
다른 사람의 코드 작성 흐름과 그 이유를 알 수 있다. ⇒ 코드를 쓰는 의도가 명확해지는 효과
팀으로서 동반 성장할 수 있다
혼자 코드를 짤 때보다 더 좋은 코드를 짤 수 있다.
최소한 버그가 50%이상 감소하는 효과 ⇒ 실제 우리가 현업에서는 내가 작성한 코드, 우리가 작성한 코드를
2명이서 나 || 짝
실제로는 하나의 애플리케이션을 만들고 통합하는데 걸리는 시간이 30%이상 감소하는 효과
작고 즉각적인 피드백을 바로 받을 수 있다
상대의 사고 과정을 생생하게 들을 수 있다
실시간 코드 리뷰 가능
코딩하다가 딴짓을 덜할 것 같다
같이 하기 때문에 각자 코드 짜고 합치는 것보다, ‘통합’이라는 관점에서 빨라지는 장점
전문가의 암묵지를 효과적으로 배울 수 있는 엄청난 장점
그림 잘그리는 친구한테 그림 어떻게 잘그려?
수학 잘하는 친구한테 수학 어떻게 잘해?
김연아 짤
스트레칭하는데 스트레칭 할때 무슨 생각하세요?
생각하긴 뭘 해 그냥 하는거지
페어프로그래밍을 하게 되면 전문가의 암묵지가 어떤 과정을 통해서 드러나는지 알 수 있게 되는거거든요
디버깅 하는 방법, 구글링에서 문제를 해결해 나가는 과정이라든가, 코드를 쓸 때 단축키를 사용하는 방법이라던가, 네이밍을 잘하는 방버이라던가
HTML 마크업
가장 적은 수의 마크업으로 유동적인 레이아웃을 만들 수 있게끔 노력하는게 습관으로 스며들어있더라고요.
같이 하기 때문에 혼자서 해결 하기 어려운 문제를 접근하는데 있어서 좀 더 쉽게 다가갈 수 있는 ‘짝용기’가 생기는게 있어요.
팀워크를 향상하는데 굉장히 도움이 되요. 갈등이 더 빨리 드러나기 떄문이거든요. 갈등이 쌓이고 쌓여서 마지막에 드러나서 터지는게 가장 안좋은 케이스임. 페어 프로그래밍을 하면 서로 다름을 작은 단위로 발견하게 됨. 작은단위일때 갈등이 생기면 작기 떄문에 빠르게 우리가 해소를 할 수가 있음, 서로 간의 신뢰 관계 향상

(바보같은) 질문

페어프로그래밍 단점은 어떤게 있나요?
초반에는 시간이 걸릴 수 밖에 없음
페어 프로그래밍을 처음 알게 된 사람은 어떻게 시작하면 좋을까요?
페어는 친한 사람끼리 맺으면 될까여...?
같은 목적을 가진 사람과 할 때 가장 효과가 좋은 것 같음
페어 프로밍하기에 가장 좋은 각자의 레벨이 어느 정도 일까요?
입문자, 중급자, 현업에서
회사에서도 실제 쓰이는 방법인지 궁금합니다!
버그와 결함이 50%이 감소
페어 프로그래밍/워크, 문서 작성 슬라이드, 글을 쓴다거나, 기획
제가 있는 팀에서도 많이하고
주니어분이 새로 입사, 기존에 있던 분들이랑 페어 프로그래밍
협업을 잘하는데 페어 프로그래밍을 안하는 회사는 거의 못봄
중급자와 중급자 동등한 레벨에서 진행하는 것이 효과적인지 초급자와 중급자 다른 레벨에서 진행하는 것이 효과적인지 궁금합니다!
중급자, 중급자 ⇒ 속도가 빠르게 진행이 되고, 버그나 결함을 감소하는 측면에서 서로 큰 효과를 많이 보게 되고요
초급자, 중급자 ⇒ 초급자는 중급자한테 엄청 많이 배울 수 있음, 중급자의 경우에는 초급자랑 함께 하기 때문에 본인이 알고 있는게 내가 잘 알고 있는건지 이걸 메타인지할 수 있음
내가 알고 있는게 알고서 쓰는건지, 그냥 쓰는건지 메타인지
본인의 코드 자체에 대한 메타인지
중급자인경우에는 리더쉽 향상에 도움이 많이 되요
원격으로 진행시 주의할 점
드라이버와 내비게이터의 역할을 자주 바꿔줘야 한다는 것
갈등 상황에서 원만하게 합의하려면 어떻게 해야할까요?

3. 페어 프로그래밍 라이브

피보나치 수는 F(0) = 0, F(1) = 1일 때, 2 이상의 n에 대하여 F(n) = F(n-1) + F(n-2) 가 적용되는 점화식입니다. 2 이상의 n이 입력되었을 때, fibonacci 함수를 제작하여 n번째 피보나치 수를 반환해 주세요. 예를 들어 n = 3이라면 2를 반환해주면 됩니다. 최종 결과는 F(10)의 결과값을 print로 출력해주세요. ex_ F(4)인 경우 0 1 1 2 '3' 이므로 F(4) = 3 입니다
/* 1. 인자로 값을 받아오는데, 인자로 0 이상의 정수를 받아온다. 2. 피보나치 함수에 인자를 넣으면, 피보나치 점화식에 따른 결과값을 리턴해준다. */ const checkValid = (number) => { if (number !== 0 && !number) { throw new Error("값을 넣어주세요") } if (!Number.isInteger(number)) { throw new Error("0 이상의 정수를 입력해주세요") } if (number < 0) { throw new Error("0 이상의 정수를 입력해주세요") } } function getFibo(number) { checkValid(number) if (number < 2) { return number } return getFibo(number - 1) + getFibo(number - 2) } console.log("getFibo(0)", getFibo(0)) // 0 console.log("getFibo(1)", getFibo(1)) // 1 console.log("getFibo(2)", getFibo(2)) // 1 console.log("getFibo(3)", getFibo(3)) // 2 console.log("getFibo(4)", getFibo(4)) // 3 /* F(n) = F(n-1) + F(n-2) F(0) = 0 F(1) = 1 F(2) = f(0) + f(1) = 1 F(3) = f(2) + f(1) = 2 f(4) = 현재 인덱스의 값 = (index - 1) + (index - 2)
JavaScript
복사

(바보같은) 질문

갈등 상황에서 원만하게 합의하려면 어떻게 해야할까요?
같은 상황에서 갈등이 일어나지 않을지 서로 간의 규칙이나 약속을 만들어 나가는 연습
큰 갈등이 아닌 작은 갈등부터 약속이나 규칙을 만들어 나가는 연습
2분은 너무 짧지만 굉장히 스피디하다는 느낌을 받았는데 일반적으로 몇분씩 진행하나요?
처음에는 짧게 가져가다가 3~4분으로
지금 같은 방법으로 셋 이상도 협업 가능할까요?
드라이버 1명, 네비게이터 2명
드라이버 2명, 네비게이터 1명
준근님은 협엽하실수 있는 실력을 보유하고 계서서 지금 이렇게 드라이버 네비게이터가 완만하게 이루어 진거 같은데 이렇게 어려운 알고리즘을 초보자와 중급자가 같이 해야한다면 어떤 방식으로 진행을 해야할까요?
페어프로그래밍 컨벤션은 페어프로그래밍를 하면서 정하는 편인가요? 아니면 시작 전에 다 정하고 하는 것이 좋나요?
숙련될 수록 초반에 정하고 진행하는 경우도 많은데
페어 프로그래밍을 하다가 드라이버도 모르고 내비게이터도 모르는 상황에서, 구글링을 해도 이해가 안 된다면 어떻게 해야할까요?
도움을 요청해주세요!
초급자 - 초급자
초급자일수록 결함이나 버그를 만들 확률이 높음
실력차이가 너무 많이 나는경우는 잘하는 쪽에서 많이 답답하고 혼자하는게 빠를 수도 있는데 이런경우는 잘하는사람에게 도움이 안되지않을까 걱정이에요!
회사 ⇒ 주니어분이 앞으로 회사에서 성장해서 더 많이 기여해주는 걸 기대하기 때문에 실력차이가 많이 나시는 분이라도, 리더십 성격으로 같이 끌고 가는게 많은데
교육생 입장에서는 이런 고민이 들수 있는데
실력 차이가 많이 나서 잘하는 사람 같은 경우에는, 내가 다른 사람과 함께 협업하는 역량 자체에 대해서 한번 되돌아 보는
개발 자체는 잘하는 사람이 잘할 수 있는데, 다른게 부족할 수 있음. 기획, 디자인, 회의 역량 ~
내가 개발을 남들보다 좀 더 진도가 더 잘한다고 해서, 이걸 잘 숙련하지 못한 사람이랑 하는거에 대해서 답답해 한다면, 다른 역량 들을 배워 나가는건 쉽지
잘하는 사람이 다른 사람을 잘할 수 있게 도와주면서 본인의 역량이 성장하는 경우를 더 많이 보게 됨.

페어 프로그래밍할때 주의사항

빈번하게 역할을 교환해주세요
만약 이게 어렵다면 타이머를 사용하는것도 좋습니다.
한 사람이 오래 키보드를 오래 붙잡고 있으면 안됩니다.
서로 왔다 갔다 하는 과정에서의 '발견'이 페어 프로그래밍에서 중요한 부분입니다.
한 사람이 다른 사람에게 '강의'를 하지 마세요.
페어 프로그래밍은 수평적인 관계로 진행하는게 중요합니다.
드라이버가 어떻게 리드해야할지 모르겠다면, 네비게이터가 쳐야할 코드를 불러주세요.
const aaa = () ⇒ {}
코드를 불러주는대로 치기만 해도 학습 효과

4. 그룹별로 나눌 이야기

오늘 서로의 지식과 경험이 녹아들 수 있는 페어 프로그래밍에 대해 이야기하고 라이브까지 진행해보았는데요. 나의 학습 과정에서 프로그래밍 뿐만 아니라 다른 영역도 얼마든지 시도해볼 수 있고 효과도 얻을 수 있어요. 그래서 내가 페어 워크를 해보고 싶은게 있다면 어떤게 있는지 나눠보고, 실제 페어도 구해보는 시간을 가져볼게요! 만약 빠르게 다 구해졌다면 남은 시간 동안 실제 페어 워크를 진행해보는것도 좋을 것 같아요 :) 페어 워크의 예) 슬라이드 만들기, 회의 기록 남기기, 글쓰기, 코드 리뷰하기 # 기준 - 지겹거나, 어렵거나, 막연한거 - 너무 큰 단위 말고 같이 해서 2~3시간 안에 끝낼 수 있는 단위 - 과제를 하는 것이라면 과제의 일부 기능 하나만을 일단 페어프로그래밍 하는 식으로, 작게 쪼개서 둘이서 2~3시간안에 끝낼 수 있는 단위로 시도해보기 # 페어프로그래밍 하고나서 2~3시간 해보고 나면 우리의 페어프로그래밍에 대해서 간단하게 회고까지 해보면 더 좋음 - 페어 프로그래밍 어땠는지 - 어떻게 하면 다음에 더 효과적으로 할 수 있을 것 같은지 - 우리만의 더 좋은 페어 프로그래밍 방법은 없을지
이름
이번주/다음주에 페어 워크/프로그래밍 시도해보고 싶은 것
페어
김대엽
로그인 화면 구현 천하제일 이력서 만들기 (tailwind)
b
김미경
지겹거나, 어렵거나, 막연한거
a
박선영
기존 과제를 코드리뷰 식으로 페어 프로그래밍 하기 ..? 전에 지형님께서 제시해주신 유투브 영상 접목 시키기 (https://www.youtube.com/watch?v=3PHXvlpOkf4&list=WL&index=4&t=19154s) 프로그래머스 활용하기
a
이지형
- 프로그래머스 코딩테스트 풀이를 각자 10분 정도 고민한 뒤, 페어로 개선시켜 보는 것도 좋을 것 같습니다.
a
양지성
- 스쿨에서 진행하는 과제 리팩토링 및 자스구현 (벤딩머신, 1만 시간 등등) - 프로그래머스(낮은 난이도, 높은 난이도 상관 x) 함께 풀기 -
b
추민희
b
→ 목요일 아침 8시 전체팀 페어 점검 (개별팀은 팀별로 일정을 정해서 점검요망)
→ 목요일 자습시간에는 회고조 회의 진행
→ 공통주제: 프로그래머스 (공통) 문제 풀기
→ 페어프로그래밍을 시작하기 전 주제에 대해 부족하게 느껴졌던 점
1.
함수를 잘 모르겠다
2.
메서드를 활용하려고 할 때 적용이 잘 안됨.
3.
최적화에 대한 고민이 됨
4.
한가지 방법을 알면 그 방법대로만 사용하고, 다양한 방법에 대한 시도가 부족 (익숙한 대로만 사용하려고 함.)
5.
문제를 보고나서 고민하는 과정이 길어짐
6.
사용자에게 어떻게 하면 더 좋은 결과물을 제시할 수 있을지에 대한 고민이 듦
→ 이번에는 가벼운 마음으로 임하고 좋은 점은 기억해뒀다가 다음에 또 써먹기
프로그래머스 레벨1 한문제 풀기
만약에 못푼다면 어떻게 접근을 하려고 했는지에 대한 이야기를 나눠보기