반응형 전체 글580 [팀 프로젝트] SQL 교육 사이트 - 20220917 안내 사항 1. 통보 사항 - 전반적으로 과제물은 다들 잘 작성했음 - 팀원 모두 각자 만든 엔티티에 대한 레포지토리 인터페이스를 잘 생성해줬기 때문에, 레포지토리의 save() 메소드를 통해 일관되게 데이터를 DB에 저장할 수 있었고 DB 저장 로직에서 EntityManager를 직접 사용할 필요가 사라졌음 2. 블로그 강의 내용★ 1) @Primary 어노테이션 - EntityManagerFactoryBean, DataSource, TransactionManager bean은 각각 2개이기 때문에, 다음과 같이 자바 코드에서 bean의 이름을 통해 구분해야 했다. @Transactional("transactionManager") public void saveAllSampleData() { ... } - @Pri.. 2022. 9. 17. [Spring] 프로퍼티 바인딩 방식(1) - PropertyEditor 프로퍼티 바인딩은 텍스트 형식의 값을 적절한 타입으로 변환해서 객체의 프로퍼티에 넣어주는 것으로, 대표적으로 XML 설정이나 HTTP 요청 파라미터 처리에 필요하다. 여러 개의 포스팅에 걸쳐 Spring에서 프로퍼티 바인딩을 위해 사용할 수 있는 API들을 살펴볼 것이다. 먼저, PropertyEditor을 살펴보자. PropertyEditor - Spring이 기본적으로 사용하는 바인딩용 타인 변환 API로, 자바빈 표준에 정의된 인터페이스다. - XML의 에서 정의된 프로퍼티 값을 실제 프로퍼티에 저장할 때 활용된다. 1) 기본 프로퍼티 에디터 - Spring이 기본적으로 제공하는 프로퍼티 에디터들은 아래 문서에서 확인하자. https://docs.spring.io/spring-framework/do.. 2022. 9. 17. [n진수] k진수에서 소수 개수 구하기 - 2022 KAKAO BLIND RECRUITMENT 해결 방법 문제에서 원하는 소수에 대한 조건은 다음과 같다. 0P0처럼 소수 양쪽에 0이 있는 경우 P0처럼 소수 오른쪽에만 0이 있고 왼쪽에는 아무것도 없는 경우 0P처럼 소수 왼쪽에만 0이 있고 오른쪽에는 아무것도 없는 경우 P처럼 소수 양쪽에 아무것도 없는 경우 단, P는 각 자릿수에 0을 포함하지 않는 소수입니다. 겉보기에는 복잡한 조건을 가지고 있는 것처럼 보이지만, 0을 기준으로 split해서 나온 숫자들 중에서 소수는 몇 개인지만 계산하면 된다. 테스트케이스 1, 11번에서 틀리는 경우에는 소수를 추출해서 판별할 때 long 자료형을 사용해보자. 진수 변환을 하면 숫자가 매우 길어지기 때문에 int보다는 long을 선택하는 것이 좋다. 그리고 테스트케이스 12번에서 틀리는 경우에는 소수 판별.. 2022. 9. 16. [Spring] @SessionAttributes와 SessionStatus 세션은 로그인 정보와 같이 애플리케이션 내에서 유지되어야 하는 정보를 저장하는 데 쓰인다. 1. 세션 도입의 필요성 수정 폼에서는 일부 정보만 수정할 수 있도록 일부 정보만 보여지기 때문에, 수정 데이터를 서버로 전송했을 때 역시 일부 정보만 전송될 것이다. 그렇게 되면, 수정한 내용이 들어있는 오브젝트를 서비스 계층이나 DAO에 전달하는 경우에 일부 프로퍼티 값은 null이거나 0인 상태로 전달될 것이고, 이러한 문제를 해결하기 위해 도메인 오브젝트 중심 방법이 아닌 계층 간의 결합도가 높은 데이터 중심 방식을 선택하게 되기 쉬워진다. 물론 다음과 같은 방법들을 생각해볼 수는 있겠지만 각각 작지 않은 단점이 존재한다. 태그로 정보를 유지하는 방법 : 보안에 매우 취약함 DB를 재조회해서 수정된 부분만 .. 2022. 9. 14. [시뮬레이션] 자물쇠와 열쇠 - 2020 KAKAO BLIND RECRUITMENT 해결 방법 아래 이미지와 같이 x, y 좌표의 범위가 모두 [m-1, m+n-1)인 Lock 구간을 정하고, 모든 경우에 대하여 Key를 맞춰보면 된다. key를 회전하는 경우도 반드시 반영하도록 하자. 먼저, board에 lock 구간을 미리 반영해둔다. 입출력 예의 경우에는 다음과 같은 결과가 나올 것이다. 0000000 0000000 0011100 0011000 0010100 0000000 0000000 그리고 key를 board에 배치할 수 있는 모든 경우를 따져보면 된다. 각 경우마다 board에 key를 더하고, board의 lock 구간만 탐색해서 1이 아닌 칸이 존재하면 자물쇠를 풀 수 없다고 판단하면 된다. lock + key = 0인 경우 : 자물쇠의 홈을 채울 수 없다. lock + .. 2022. 9. 13. [Spring] @Controller의 리턴 방식 저번 포스팅에서 다뤘던 @Controller의 메소드 파라미터의 종류에 이어서 이번 포스팅에서는 @Controller의 리턴 타입의 종류도 알아보자. https://kimcoder.tistory.com/515 [Spring] @Controller의 메소드 파라미터의 종류 이번 포스팅에서는 Spring의 AnnotationMethodHandlerAdapter가 호출하는 컨트롤러 메소드의 파라미터의 종류를 알아보자. 1. HttpServletRequest, HttpServletResponse - 컨트롤러와 DispatcherServlet 사이에서.. kimcoder.tistory.com 컨트롤러가 최종적으로 DispatcherServlet에 반환해야 하는 정보는 모델과 뷰다. 만약, 반환할 뷰 정보가 지정되.. 2022. 9. 13. [팀 프로젝트] SQL 교육 사이트 - 20220912 안내 사항 1. 프로젝트 코드 변경 사항 - 애플리케이션을 실행시키면 샘플 데이터들을 모두 DB에 반영하도록 Listener을 추가했다. 애플리케이션이 실행되고 애플리케이션 컨텍스트가 생성된 직후에 onApplicationEvent()가 호출된다. @Component public class AppStartedListener implements ApplicationListener { @Autowired SaveDBService saveDBService; // 애플리케이션이 시작되고 ApplicationContext가 생성되고 난 후에 실행되는 리스너 메소드 @Override public void onApplicationEvent(ApplicationStartedEvent event) { saveDBService.sa.. 2022. 9. 12. [Spring] @Controller의 메소드 파라미터의 종류 이번 포스팅에서는 Spring의 AnnotationMethodHandlerAdapter가 호출하는 컨트롤러 메소드의 파라미터의 종류를 알아보자. 1. HttpServletRequest, HttpServletResponse - 컨트롤러와 DispatcherServlet 사이에서 핸들러 어댑터가 전달하는 인터페이스다. - HttpServletRequest는 클라이언트 요청, 쿠키, 세션 등이 해당하는 HTTP 요청 정보를 제공하는 인터페이스다. - HttpServletResponse는 content-type, 응답 코드, 응답 메시지 등이 해당하는 HTTP 응답 정보를 제공하는 인터페이스다. 2. HttpSession - HttpServletRequest를 통해 가져올 수도 있다. - 서버에 따라서 멀티스레.. 2022. 9. 11. [시뮬레이션] 기둥과 보 해결 방법 먼저, 각 좌표마다 상하로 기둥이 있는지, 좌우로 보가 있는지를 판별할 수 있게 했다. 따라서, 아래와 같은 구조체를 생성해서 좌표마다 배치해줬다. struct State{ bool up_column; // 기둥이 존재하는가? bool down_column; // 기둥이 받치고 있는가? bool left_beam; // 왼쪽으로 보가 연결되어 있는가? bool right_beam; // 오른쪽으로 보가 연결되어 있는가? }; State state[101][101]; ▣ 기둥을 설치할 수 있는 경우 기둥 또는 보가 받치고 있다. 바닥이다. ▣ 보를 설치할 수 있는 경우 왼쪽 또는 오른쪽 기둥이 받치고 있다. 양쪽 보를 연결할 수 있다. ▣ 기둥을 삭제할 수 없는 경우 위 좌표에 기둥이 있을 때,.. 2022. 9. 9. 이전 1 ··· 7 8 9 10 11 12 13 ··· 65 다음