전체 글 333

실전 프로젝트 - 11일차

무작정 Query Dsl 따라하기 (with. Test mode) 1. Repository 생성하기 public interface TestBookRepository extends JpaRepository{ } 2. CustomRepository 생성하기 (QueryDsl 메소드 추가 용도) public interface TestBookRepositoryCustom { // QueryDsl 용 메소드를 추가할 것임 } 3. CustomRepository 구현체 생성 public interface TestBookRepositoryCustom { // QueryDsl 용 메소드를 추가할 것임 } 4. CutomRepository 생성에 따른 BookRepository에 상속시켜줌 public interface..

23.03.13 - 03.19 -WIL

실전 프로젝트 1주차가 끝났다. 이번주를 진행하면서 가장 아쉬운 부분은 항상 그랬던 것 같은데, 나의 실력이 가장 아쉽다. 그냥 내 스스로에 대한 많은 부분이 아쉽게 느껴진다. 실력적으로는 코드를 어떻게 적용을 해야한다던지, 했던 것을 어떻게 발전 시킨다던지 등 응용에 대한 부분과 기억이 부족한 것 같다. 이번주 내가 맡은 부분은 메인페이지 구성으로 Thymeleaf를 사용해 spring boot로 연결해야했다. 어찌저찌 연결을 했고 구현했지만 스스로 아쉬움이 많이 남는다. 그 이유는 전반적인 코드를 이해하지 못했던 것 같고, 원래 구현하고자 했던 기획과는 조금 다른 방향으로 구현을 했기 때문. 물론 팀원들은 괜찮다고 이야기해주었지만, 스스로는 만족스럽지 못했기 때문에, 남은 프로젝트 기간동안 조금 더 ..

실전 프로젝트 - 9일차

메인 페이지에 책에 대한 정보를 표출해 주어야하는 과정에서 원했던 방식은 랜덤하게 몇 개만 DB에서 가지고 와서 프론트에 표출해주는 것이었는데, 머리로는 어떻게 하면 되겠다 라는 생각을 했지만 구현하지 못했다. 생각했던 방향은 컨트롤러에서 main 페이지를 호출해주고 service 에서 메소드를 실행하면, repository를 통해 책의 id 를 가지고 온 뒤 랜덤하게 반환해주고, 그 반환된 id 를 가지고 타임리프를 통해 원하는 값을 매칭해주면 되겠다! 였는데 막상 들어가서 해보려니 아무것도 하지못했다. (추후에 꼭 다시 해봐야겠다.) 결국 이것저것 찾아보면서 따라해본 방법은 타임리프를 통한 페이징 방법! 방법은 Pageable 인터페이스를 사용한 방법이라고한다. Thymeleaf를 사용해 구현해보자!..

실전 프로젝트 - 8일차

Elasticsearch 기본적으로 모든 데이터를 색인하여 저장하고 검색, 집계 등을 수행하며 결과를 클라이언트 또는 다른 프로그램으로 전달 기존 관계형 DB 시스템에서 다루기 어려운 전문검색(Full Text Search) 기능과 점수 기반의 다양한 정확도 알고리즘, 실시간 분석 등의 구현이 가능 오픈소스 Apche 2.0 라이센스로 배포중 실시간 분석 Elasticsearch 클러스터가 실행되고 있는 동안에는 계속해서 데이터가 입력되고(검색엔진에서는 indexing 이라 표현), 그와 동시에 실시간에 가까운(near real-time) 속도로 색인된 데이터의 검색, 집계가 가능 전문 (full text) 검색 엔진 루씬 = 역파일 색인(inverted file index) 구조로 데이터 저장 루씬을 ..

실전 프로젝트 - 7일차

thymeleaf 사용 Data 받아오기 에밀 가격 : 35000 원 작가 : 장 자크 루소 출판사 : 육문사 별점 : 8 / 발행년도 : 2012.3 thymeleaf 사용하여 받아온 Data를 이용해 page 이동 |location.href='@{/detail/{id}(id=${id})}'| 해당 부분을 이용하여 id 값의 변화 없이 정상적으로 html page 연결 /detail/7$@%# 이 아닌 /detail/01 이런 형식으로 온전하게 전달

실전 프로젝트 - 5일차

데이터 크롤링 코드(python) from selenium import webdriver from selenium.webdriver.common.by import By import time import csv url = 'http://www.yes24.com/Main/default.aspx' driver = webdriver.Chrome() driver.get(url) time.sleep(1) # 국내 도서 클릭 driver.find_element('xpath', '//*[@id="bigbanner_domestic_area"]/h3/a').click() #대분류 클릭(중고등) driver.find_element('xpath', '//*[@id="mCateLi"]/li[26]/a/em').click() #..

실전 프로젝트 - 4일차

네이버 도서목록 API & 포스트맨 사용 네이버 Developers 접속 (https://developers.naver.com/main/) NAVER Developers 네이버 오픈 API들을 활용해 개발자들이 다양한 애플리케이션을 개발할 수 있도록 API 가이드와 SDK를 제공합니다. 제공중인 오픈 API에는 네이버 로그인, 검색, 단축URL, 캡차를 비롯 기계번역, 음 developers.naver.com Application 클릭 우측 애플리케이션 등록 클릭 관련 정보 모두 입력 후 등록하기 클릭 발급된 ID, PW 확인 포스트맨 실행 후 GET 방식으로 Headers에 발급 받은 정보 입력 Params에 정보 입력 (query를 제외한 나머지 값은 입력하지 않아도 테스트 가능) 결과 값 확인!

23.03.06 - 03.12 -WIL

클론 코딩을 마무리하고 실전 프로젝트가 시작되는 주간 협업을 하면서 느낀건 팀원들의 의사 전달이 가장 중요한 것 같았다. 서로 이야기를 하면서 어느정도까지 프로젝트가 진행이 되었는지도 파악을 하고, 문제도 찾아보면서 같이 해결을 하고 도움 받고, 조금씩 성장 할 수 있다고 느꼈기 때문이다. 금주에 내가 아쉽고 보완하고 싶은 점은 아직까지 모르는게 너무 많은 것 같다. 다른 팀원들에 비해 경험해 본 것도 적고, 기능 또한 많은 기능을 다루고 적용해보지 않았다. 코드를 직면하면 어떻게 적용을 해야할 지 감이 안오고 두려움부터 앞서기에 아직 스스로 부족한 점이 많다고 생각이 든다. 팀원들에게 팀장으로써 피해를 입히고 싶지 않으니, 스스로 더 노력하고 움직이면서 작업을 진행해봐야겠다.

spring - 33일차

쿠키와 세션 쿠키와 세션을 사용하는 이유? - HTTP 프로토콜의 특징이자 약점을 보안하기 위해! HTTP의 특징은?~ 1. Connctionless 프로토콜 (비연결 지향) - 응답을 보낸 후 연결을 끊는 처리방식 2. Stateless 프로토콜 - 커넥션을 끊는 순간 클라이언트와 서버의 통신이 끝나고, 상태 정보는 유지하지 않는다 통신을 할 때 (서버클라이언트) 통신이 연속적으로 이어지지 않고 한 번 통신이 되면 끝! 따라서, 서버는 클라이언트가 누구인지 계속 인증을 해야되는데 상당히 귀찮다... 이걸 해결해 주는 것이 쿠키와 세션 쿠키(Cookie) HTTP의 일종으로 사용자가 어떠한 웹 사이트를 방문할 때, 그 사이트가 사용하고 있는 서버에서 사용자의 컴퓨터에! 저장하는 작은 기록 정보 파일이다...

728x90