분류 전체보기(313)
-
[백준] 11279 - 최대 힙
백준 바로가기 11279번: 최대 힙 첫째 줄에 연산의 개수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 자연수라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 www.acmicpc.net 오랜만에 알고리즘 문제를 업로드 합니다. 정처기 시험이 끝나고 처음이네요. 우선순위 큐라는 알고리즘인데, 문제에선 힙(Heap) 자료구조를 구현하도록 되어있습니다. 힙을 간략하게 알아보자면 완전 이진트리의 일종 반정렬 상태(완전히 정렬된 상태가 아님)이며, 완전 이진트리와는 다르게 중복값이 허용 힙의 삽입과 삭제의 시간 복잡도는 최악의 경우 최하단 노드로부터 최상단 노드까지 스왑이 필요하게 됩니다. 따라서 O(log N)의 시간 ..
2020.12.07 -
[Salle] 1-1. 회원가입 검증(Validation)
한 주를 마무리하며 간략한 회고로 시작하겠습니다. 오늘은 금요일이니까요. 프로젝트를 시작하고 나서 처음으로 혼자 프로젝트 해보길 '잘했다'고 느껴봤습니다. 에러가 발생하면 몇시간 동안 참고서와 구글링을 동반해도 해결되지 않는 경우가 많은데 그런 좌절감들이 뭉쳐 단절감이 되고 하기 싫단 심적 파동을 일으켰습니다. 그러나 적지만 하나 둘씩 혼자 힘으로 해결하는 경험이 생기니 조금씩 자신감이 생겼습니다. 물론 진행은 더디고 제 수준을 넘어섰다고 판단되는 기능은 건드려본 다음 깔끔하게 내려놓는 방식도 도움됐습니다. 모르는 게 아는 것보다 많다보니 어디까지 알고 지나가야 할지 많이 고민됐습니다. 처음엔 최대한 알고 지나가려 했습니다. 프로젝트에 투자한 시간 중 혼자 끙끙대면서 삽질한 시간이 절반인 것 같으니까요...
2020.12.04 -
[Salle] 2. 로그인 페이지
요약 어설프지만 완성된 기능이 하나 둘 늘어가니 좋다. TODO: 회원가입과 로그인 추가기능 구현 Validation, 비밀번호 확인 등 진행사항 로그인 기능 구현 DB에 접근해 매칭되는 email의 password 가져오는 Mapper 메서드 추가 어떤 데이터 형태로 로그인 이메일, 패스워드 받을 지 선택 email로 회원정보 얻어오는 memberInfo 메서드 생성 → 객체로 Member 반환 SELECT문으로 데이터 얻어오는 SQL문 추가 입력된 데이터는 SqlSession selectOne로 받음 email, password 매칭되는 코드 작성하고 try catch로 예외처리 해주는 Service 추가 DB 안에 테이블 여러개로 나눠 관리하기 위해서 schema.sql 파일을 지우고, dataso..
2020.12.04 -
[Salle] 1. 회원가입 페이지 - INSERT문 성공!
요약 드디어 INSERT문 DB 동작까지 구현완료! 수많은 에러들을 맞닥뜨렸지만 생각보다 단순했다. 어노테이션 수정 또는 클래스명 오류. 테스트는 시도해보되 안되는 걸 끝까지 붙잡지 않았다. carry on 했다. 생산성이 나아졌다. TODO: 로그인 부분 구현하기 진행사항 INSERT문 MockMvc를 이용한 Controller 테스트 진행 INSERT문 POST로 Binding에 계속 실패하는중(14:54) GetMapping - 클라이언트로부터 요청받은 URI. Controller에서 return하는 파일명은 URI와 일치 PostMapping - GetMapping이 완료된 후 사용자가 입력한 값을 받고 다른 곳으로 처리해주는 메서드 이슈 RegisterController POST 테스트 실행 시..
2020.12.02 -
[토비의 스프링 3.1] - 1장 오브젝트와 의존관계
프로젝트를 진행하면서 '설계'가 중요하다는 것을 느꼈습니다. 스프링 프레임워크로 웹서비스를 만드는 건 뼈대를 가진 목재 구조의 집을 짓는 것과 비슷합니다. 시멘트를 깔기전에 보일러 열선도 깔아야 되고 차단제라던가 여러 설계들을 신경써야 되듯이 웹사이트 구현에 필요한 객체들 의존관계를 어떻게 형성하고 코드로 구현하는지 사전 설계가 50%는 차지 한다고 생각합니다. 그래서 참고할만한 책들을 찾았고 그 중에 우아한 형제 개발자로 알고 있는 저자 토비의 스프링이란 책을 도서관에서 빌려왔습니다. 오늘 너무 피곤해서 많이 읽지는 못했지만 디자인 패턴도 몇가지 알게 되었고 스프링 원리를 이해할 수 있었습니다. 프로젝트를 진행하는 과정에선 이론까지 정리하기엔 무리라서 이렇게 책으로 보완해나가니 도움이 돼줄것 같습니다...
2020.12.02 -
[JAVA로 배우는 자료구조] 분할 상환 분석과 LinkedList
1. 분할 상환 분석(Amortized Analysis) 정체되었던 자료구조 공부를 O'REILLY에서 출판한 [JAVA로 배우는 자료구조]를 보며 다시 이어나가려 합니다. Bio-O시간 복잡도 기법 중 분할 상환 분석(Amortized Analysis)는 극단의 값을 평균으로 절충해 시간 복잡도를 도출하는 분석 기법입니다. 책에서 영문 위키를 링크로 주석 첨부해 봤더니 The amortized analysis considers both the costly and less costly operations... 라는 문장이 나옵니다. 호출 시간이 짧게 반환되거나 길게 반환될 때를 평균치로 계산해야 효율적이기 때문에 나온 기법이 분할 상환 분석인 것입니다. 2. LinkdedList LinkdedList는 ..
2020.12.01