= Clean Code w/ Pair Programming = 1. 강사 : 16기 [송지원] 1. 일시 : 2013년 06월 27일 20시~ 1. 기준 언어 : Java 1. 세미나 시간 : 3hr + α 1. 환경 * eclipse IDE * JDK 6 이상 * subclipse plugin * maven * Jenkins * Sonar == 세미나 순서 == || 시간 || 타이틀 || 내용 || || 00:00 ~ 00:10 || Opening || 간단한 소개 || || 00:10 ~ 00:20 || Pre PP || Pair Programming 조 편성, rule 설명 || || 00:20 ~ 01:30 || Pair Programming || 시키는 대로 하는 묻지마 프로그래밍 || || 01:30 ~ 02:00 || PP 마무리, 중간 회고, Clean Code 소개 || Pair Programming에 대한 소감 들어보기, Clean Code 오프닝 || || 02:00 ~ 02:30 || Clean Code 이론 맛보기 || 주입식 이론 수업이지만 시간이 부족해 || || 02:30 ~ 03:00 || 리팩토링 w/ Sonar || 자동화 도구를 이용한 리팩토링 해보기 || === PP 구성 (총 70분~90분) === || 모듈 || 시간 || || #1 || 20분 || || #2 || 15분 || || #3 || 15분 || || #4 || 30분 || === 이론 구성 (총 30분) === || chapter || 시간 || || 이해하기 쉬운 코드 작성하기 || 20분 || || 안정된 코드 작성하기 || 10분 || || 코드의 성능 높이기 || 5분 || === 주절주절 === * 지켜질 수 있을까 걱정됨... 시간이 너무 부족하다.... * 현재 Clean Code 스터디가 진행되고 있어서 더 부담된다..;; * Clean Code 누구누구 스터디 중인가요? 진경, 지혜, 영주, 민관 말고 또..?? - [지원] * 박희정, 안혁준, 고한종이 있습니다. 부담가지실 필요 없을 것 같아요. 스터디 하는데 음.. 뭐.. 합니다. - [서지혜] * Jenkins 빌드가 매우 느려서 리팩토링하면서 Sonar로 Violation 테스트하기 쉽지는 않을 듯;; (특히 마무리할 때) * maven, Jenkins, Sonar... 이름만 들어도 기대가 되네요 - [서민관] * 기대가 크면 실망도 큰 법입니다. 마음을 비워주세요 - [지원] == 중간 후기 == * 페어프로그래밍 - 박성현이 나에게 똥을 던져서 열심히 치웠습니다. - [정의정] * 유부남 김태진, 배우자 권순의 -[???] * 간단한 프로그램인데 다른팀 구조가 너무 많이 달라서 읽다보니 시간이 전부 흘러가버림 -.- - [장혁수] * 처음에 객체지향없이 대충 했다 나중에 돌아오는 엄청난 쓰레기 코드를 받고 뒤늦게 처리를 하느라 멘붕.......이네요- -[김태진] * 이번에 자바를 처음 접해서 형한테 많이 배웠습니다. -[김도형] * Pair Programming을 직접 경험해보니 참 재미있기도 하면서 손발을 맞추기가 힘듭니다. 그래도 호흡이 맞는다면 효율이 훨씬 높아질 것 같다는 생각이 들었고, 재미있는 경험이었습니다. - [권영기] * 하나의 작업을 둘이 한다는 점에서 당연히 어려운 점이 있을 수 밖에 없었지만, 막히는 부분이 생기면 바로 질문을 하거나 이야기를 통해서 문제를 해결 할 수 있는 점이 매력적이였습니다. - [조영준] * 잘 모르는 부분도 많았지만 박성현 선배의 도움으로 많은 것을 배울 수 있었습니다 - [송바위샘] * 코딩하는 스타일이 달라서 바뀔때마다 당황스럽네요. 짝을이뤄서 하니까 단점을 커버해줄 수 있어서 좋은 거 같습니다. - [박희정] * 전체적으로 시간이 좀 부족한 느낌이 있어서 좀 아쉬웠습니다. 아마 현업이 실제로 그렇기 때문이겠지만... 페어 프로그래밍은 확실히 바쁜 상황에서 더 도움이 되는 것 같습니다. 정신이 없을 때 놓치기 쉬운 부분을 옆에서 잘 잡아주네요 - [서민관] * Sonar와 Jenkins, maven... 실제로 이런 자동 빌드 시스템을 사용해본 적이 없었는데, 직접 보기 신기했습니다. 페어 프로그래밍도 재밌었습니다. 하지만 여전히 시간에 쫓기는 프로그래밍은 힘들더군요... - [박성현] === Sonar, Jenkins 등 세팅에 대한 몇가지 === * ZP 서버 재부팅해서 세팅이 초기화되면 해야할 것들 1. Tomcat 서비스 내리기 (포트 8080으로 겹쳐서..) : service tomcat stop 1. Jenkins 서비스 재시작 : service jenkins restart 1. mysql 시작 : /usr/bin/mysqld_safe --user=mysql& 1. sonar 재시작 : sonar restart * Trouble Shooting * 혹시 sonar가 잘 안된다면 : /opt/sonar/logs 에서 sonar.log 확인