본문 바로가기

패스트캠퍼스49

[백준]1018번 체스판 다시 칠하기 by C++ https://www.acmicpc.net/problem/1018 1018번: 체스판 다시 칠하기 첫째 줄에 N과 M이 주어진다. N과 M은 8보다 크거나 같고, 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 보드의 각 행의 상태가 주어진다. B는 검은색이며, W는 흰색이다. www.acmicpc.net 브루트 포스를 사용하는 문제였다. 브루트 포스 알고리즘은 어렵지 않아서 이 것을 이용해야 하는 것을 알면 쉬운데, 그게 아닐 경우 높은 확률로 시간 초과에 걸리기 때문에 항상 BFS, DFS인지를 고민하는데 시간을 많이 쓰게 된다. 전형적인 문제의 형식이 있는 것 같다고도 느껴져서 한 번 몰아서 풀어보면 좋을 것 같다. 핵심 변수 char expectedColor : 시작점의 값('B' o.. 2022. 10. 31.
패스트캠퍼스 챌린지 36일차 Part 1. Spring Framework Ch 06. 리펙토링 05. 리팩토링 꼭 해야만 하나 - 사실 SI에서는 리팩토링이라는 개념이 거의 없었다. - 왜냐하면 SI(System Integration) -> SM(System Maintenance)로 넘기고 끝인 경우가 많았기 때문 - 일부 프레임워크를 만드는 팀은 제외 - IT서비스에서는 리팩톨이이 아주 중요 해진 이유는...? - 서비스 오픈 후 변화의 폭이 크다. -> python이나 php로 만들고 흥행시 java로 바꾸는 경우 -- 절대 바뀌지 않는다는 정책이 바뀜 --- 국내전용 -> 글로벌 --- PC전용 -> 모바일, 앱도 지원 -- 중간에 추가적인 레이어가 하나씩 더 들어가는 경우 흔함 -- 기존 구조를 뒤흔드는 기능 추가를 하는 경.. 2022. 2. 28.
패스트캠퍼스 챌린지 35일차 Part 1. Spring Framework Ch 05. 예외처리 04. Service 테스트 작성 package com.fastcampus.programmin.dmaker.service; import com.fastcampus.programmin.dmaker.Repository.DeveloperRepository; import com.fastcampus.programmin.dmaker.Repository.RetiredDeveloperRepository; import com.fastcampus.programmin.dmaker.code.StatusCode; import com.fastcampus.programmin.dmaker.dto.CreateDeveloper; import com.fastcampus.p.. 2022. 2. 27.
패스트캠퍼스 챌린지 34일차 Part 1. Spring Framework Ch 05. 예외처리 02. Controller 테스트 작성 package com.fastcampus.programmin.dmaker.controller; import com.fastcampus.programmin.dmaker.dto.DeveloperDto; import com.fastcampus.programmin.dmaker.entity.Developer; import com.fastcampus.programmin.dmaker.service.DMakerService; import com.fastcampus.programmin.dmaker.type.DeveloperLevel; import com.fastcampus.programmin.dmaker.type.D.. 2022. 2. 26.
패스트캠퍼스 챌린지 33일차 Part 1. Spring Framework Ch 05. 예외처리 02. Junit, Mockito 설명 - Junit -- 자바의 unit test를 위한 Framework package com.fastcampus.programmin.dmaker.service; import com.fastcampus.programmin.dmaker.dto.CreateDeveloper; import com.fastcampus.programmin.dmaker.dto.DeveloperDto; import com.fastcampus.programmin.dmaker.type.DeveloperLevel; import com.fastcampus.programmin.dmaker.type.DeveloperSkillType; impor.. 2022. 2. 25.
패스트캠퍼스 챌린지 32일차 Part 1. Spring Framework Ch 05. 예외처리 01. 테스트를 잘 하는 방법 - SI 때 혹은 과거의 경험 (강사님) -- 테스트는 모두 사람이 하는 것이었고, 한번의 테스트는 상당한 노동력을 필요로 했음 -- SI에서는 전용 테스트 팀이 따로 있었고, 인수인계 전에 인수테스트라는 것을 진행해서 기능적인 테스트를 꼼꼼히 했었음 - 그러다가 불어온 테스트의 바람 -- 하지만 로직이 대부분 쿼리에 있는 mybatis에서는 테스트하기가 상당히 까다로웠음 -- 그 후 시간이 지나 JPA를 하게 되고, 쿼리가 아닌 자바 코드에 로직이 많이 담기게 됨 --- 유지 보수성의 극적인 향상 (쿼리로는 다형성이나 디자인패턴 전략 등을 하기 어렵거나 불가능) --- 자바코드에 담긴 로직은 쿼리에 담긴 로.. 2022. 2. 24.