1. 어제 회의 결과
- 주제는 SQL 교육 사이트로 선정
- DB 연동 방식은 JPA를 사용
- 프로젝트 초심자도 있음을 고려하여 스터디 그룹 위주로 진행하고, 학습의 결과물을 프로젝트 진행으로 나타내기로 결정
- 프로젝트에 대한 설문, 실력 테스트 진행
2. 설문 결과 취합
- 원하는 프로젝트 기간 : 가급적 올해 안에 했으면 하는 의견이 많아서 그렇게 하기로 함
- 원하는 프로젝트 요일 : 각자의 일정이 많이 다른 관계로, 요일을 따로 정해서 코딩하기보다는 일정 기간 내에 주어진 할당량을 완수하는 것을 목표로 하는 방식으로 진행하기로 함
- 회의 내용 외에 추가하고 싶은 기술 스택 : 회의 때 충분히 결정 했고, 그 외에는 프로젝트를 진행하면서 결정하기로 함
- 스프링 경험 : 진행이 불가능할 정도의 실력을 가지고 있는 팀원은 없어보임
- 선호하는 업무 강도 (0-10) : 평균 6
- 협업에 대한 자신의 생각 및 각오 : 모두 협업에 대한 좋은 마인드를 가지고 있음
3. 실력테스트 결과
1) 실력 테스트 문항
1. 스프링 프레임워크로 기본적인 html 화면까지 띄울 수 있다.
2. pom.xml에 라이브러리를 등록할 수 있다.
3. bean을 xml, @(annotation) 방식으로 등록하는 방법을 둘 중 하나 이상 알고 있다.
4. @Autowired가 무엇인지 알고 있다.
5. bean은 싱글톤으로 관리된다는 사실을 알고 있다.
6. DAO가 무엇인지 알고 있다.
7. 스프링 프레임워크와 DB를 연동해본 경험이 있다.
8. thymeleaf, mustache와 같은 템플릿 엔진을 사용해본 경험이 있다.
9. GITHUB의 기본적인 명령어를 알고 있다. clone, add, commit, fetch, push 모두 알고 있으면 아는 것으로 간주
10. 디자인 패턴을 적용하는 것의 장점이 코드의 중복을 줄이고 유지보수 및 협업에 유리하다는 사실을 알고 있었다.
11. RestAPI가 무엇인지 알고 있다.
12. JPA가 무엇인지 알고 있다.
13. MVC에서 M, V, C가 각각 의미하는 바를 알고 있다.
14. SQL의 SELECT, DELETE, INSERT, UPDATE문의 역할을 각각 알고 있다.
15. 별표시 *가 (애스터리스크, asterisk) 모든 글자를 허용한다는 의미라는 사실을 알고 있다.
16. GET 통신과 POST 통신의 차이를 알고 있다.
17. 다음 URI에서 파라미터와 파라미터 값을 식별할 수 있다. (답 4개)
https://translation.googleapis.com/language/translate/v2?key=AIzaSyAJpD7ogqW_dGJ2uhEM8F0Jr-aBdRRAzXw&q=내 이름은 김주역입니다.&source=ko&target=en
18. CSS를 공부해봤다.
19. 백준, 프로그래머즈에서 코딩문제를 1개 이상 풀어본 경험이 있다.
20. 자바에서 interface(인터페이스)를 사용하는 것이 왜 유지보수에 좋은지 이유를 알고 있다.
2) 실력테스트 결과 취합
- 본격적인 프로젝트 진행 전에 약간의 스터디 기간을 거칠 필요가 있어보임
- 디자인 패턴과 Git에 대한 학습이 추가로 필요해 보임
4. 팀 과제
1) 과제 내용
- 공공 데이터 포탈로부터 샘플 데이터를 불러와서 파싱하는 프로젝트를 실행해보고 분석해서 주어진 문제에 답할 것
- 프로젝트 열기 : 아래 이미지를 보면 프로젝트로 열 수 있는 폴더임을 나타내는 특별한 아이콘이 있는데, 이를 누르고 OK 하면 됨
2) 질문
- 프로젝트 실행만으로는 알기 어려운 답도 있는데 이 때는 구글링을 해서 파악할 것
(1) CovidVaccinationCenter 클래스에 있는 @Setter, @Getter은 pom.xml에 등록되어 있는 어떤 라이브러리에서 제공하는 어노테이션인가? 그리고 @Setter, @Getter의 역할은?
(2) MyRestTemplate 클래스의 역할은 무엇인가?
(3) SampleDataService 클래스의 역할은 무엇인가?
(4) SampleDataService 클래스에서는 어떤 목적으로 MyRestTemplate bean의 getDataGoKrJsonData() 메소드를 사용했는가?
(5) SampleDataService의 getCovidVaccinationCenters() 메소드의 일부 코드다. 2번째 줄에서 JSONObject가 아닌 JSONArray를 사용해야 하는 이유는?
JSONObject covidVaccinationCentersJsonObject = new JSONObject(jsonData); //JSON String -> JSON Object
JSONArray dataJsonArray = (JSONArray) covidVaccinationCentersJsonObject.get("data");
(6) json 데이터에서 배열(리스트)을 알리는 괄호는 중괄호({ })인가? 대괄호{[ ]}인가?
(7) 공공 데이터 포탈 사이트에 HTTP 요청을 GET 타입으로 해야 한다는 안내는 어디에서 확인할 수 있는가?
(8) SpringBoot 프로젝트에서 main() 메소드는 어디에 있는가?
(9) html 파일이 아닌 jsp, mustache, thymeleaf와 같은 웹 템플릿 엔진을 사용하는 장점은?
(10) 다음과 같이 결과를 띄우기 위한 URL은 다음과 같다. 빈칸에 들어갈 알맞은 내용은 무엇인가?
http://localhost:8080(빈칸)
3) 과제 제출 기한
- 7월 11일 월요일까지 (3일)
4) 과제에 도움이 될만한 정보
(1) SpringBoot MVC 그리고 mustache 웹 템플릿 사용 방법
https://kimcoder.tistory.com/322
(2) 공공 데이터 포털 Open API 사용 예제
https://kimcoder.tistory.com/category/OpenAPI/REST
(3) UriComponentsBuilder 사용법 및 한글 깨짐 방지 방법
https://kimcoder.tistory.com/463
(4) Lombok
https://kimcoder.tistory.com/323
'개발 프로젝트 > [팀] Web - SQL 교육 사이트' 카테고리의 다른 글
[팀 프로젝트] SQL 교육 사이트 - 20220806 작업 사항 (0) | 2022.08.06 |
---|---|
[팀 프로젝트] SQL 교육 사이트 - 20220801 강의 정리 (0) | 2022.08.02 |
[팀 프로젝트] SQL 교육 사이트 - 20220724 안내 사항 (0) | 2022.07.24 |
[팀 프로젝트] SQL 교육 사이트 - 20220718 안내 사항 (0) | 2022.07.18 |
[팀 프로젝트] SQL 교육 사이트 - 20220712 안내 사항 (0) | 2022.07.12 |
댓글