본문 바로가기
반응형

전체 글266

공학윤리 - 공학의 정의 및 역할, 자격 및 특징 공학의 정의 및 역할 공학 ◆ 공학교육분과위원회의 공학 정의 - 기업, 정부, 대학, 또는 개인의 노력에 의해 수학 및 자연과학을 이용하여 연구, 개발, 설계, 생산, 시스템공학, 또는 기술 활동을 통하여 우리가 편리하게 사용할 수 있는 기술적인 시스템, 제품, 공정, 또는 서비스를 창출하거나 공급하는 것 ◆ 공학: 분야 및 업무 분야 - 건축, 토목/도시, 교통/운송, 기계/ 금속, 전기/전자, 정밀/에너지, 소재/재료, 컴퓨터/통신, 산업, 화공, 기타 업무 - 설계 및 개발, 생산 및 관리, 설치 및 정비, 영업 및 사무, 군대, 교육, 기타 업종 등 공학자의 정의 및 역할 ◆ 공학자(engineer) 출현 배경 - 과학이 기술에 본격적으로 접목된 18C 이후 어원적 의미 - 엔진을 다루는 사람, .. 2021. 8. 4.
Selectshop - 스케쥴러 스케쥴러 요구사항 - 매일 새벽 1시에 관심 상품 목록 제목으로 검색해서, 최저가 정보를 업데이트하는 스케줄러. - src > main > java > week04 > utils > Scheduler.java 생성 Scheduler.java @RequiredArgsConstructor // final 멤버 변수를 자동으로 생성합니다. @Component // 스프링이 필요 시 자동으로 생성하는 클래스 목록에 추가합니다. public class Scheduler { private final ProductRepository productRepository; private final ProductService productService; private final NaverShopSearch naverShopS.. 2021. 8. 3.
Selectshop - 관심 상품 등록 및 보이기 자바스크립트의 특성 - 자바스크립트는 파라미터로 전달이 된 것을 자동으로 json 형태로 변경한다. - 따라서 json.stringify를 적절하게 다시 사용해야 한다. - 다른것을 보고싶다면 아래의 코드를 실행해 보면 좋다. console.log(itemDto); console.log(JSON.stringify(itemDto)); 관심상품 생성 요청 function addProduct(itemDto) { /** * modal 뜨게 하는 법: $('#container').addClass('active'); * data를 ajax로 전달할 때는 두 가지가 매우 중요 * 1. contentType: "application/json", * 2. data: JSON.stringify(itemDto), */ //.. 2021. 8. 3.
Selectshop - 상품검색기능 execSearch unction execSearch() { /** * 검색어 input id: query * 검색결과 목록: #search-result-box * 검색결과 HTML 만드는 함수: addHTML */ // 0. 기존의 정보를 지워준다. $('#search-result-box').empty(); // 1. 검색창의 입력값을 가져온다. let query = $('#query').val(); // 2. 검색창 입력값을 검사하고, 입력하지 않았을 경우 focus. if (query == '') { alert("검색어를 입력해주세요."); $('#query').focus(); return; } // 3. GET /api/search?query=${query} 요청 $.ajax({ type:'GET.. 2021. 8. 3.
SelectShop - HTML 구성 index.html Select Shop 모아보기 탐색하기 Apple 아이폰 11 128GB [자급제] 919,990원 최저가 Apple 아이맥 27형 2020년형 (MXWT2KH/A) 2,289,780 원 X ⏰최저가 설정하기 최저가를 설정해두면 선택하신 상품의 최저가가 떴을 때 표시해드려요! 원 설정하기 basic.js let targetId; $(document).ready(function () { // id 가 query 인 녀석 위에서 엔터를 누르면 execSearch() 함수를 실행하라는 뜻입니다. $('#query').on('keypress', function (e) { if (e.key == 'Enter') { execSearch(); } }); $('#close').on('click', .. 2021. 8. 3.
SelectShop - 키워드로 상품 검색하기2 네이버 API 서비스 연결 요구사항 사용자가 검색어를 입력하면, 컨트롤러가 그것을 전달받습니다. 전달받은 검색어로 네이버 API에 요청하고, 그 결과를 사용자에게 응답합니다. NaverShopSearch 컴포넌트 등록하기 - 검색을 main 메소드에서 진행하는게 아니라, Controller 에서 가져다 써야 한다. - 스프링이 자동으로 필요한 클래스를 필요한 곳에 생성하려면, 컴포넌트 등록을 해야한다. - 컴포넌트는 사용자가 요구하면 자동으로 생성할 클래스 목록 이라고 이해할 수 있다. @Component // @RequiredArgsConstructor 와 함께 사용될 경우 스프링이 자동으로 생성한다. public class NaverShopSearch { SearchRequestController 생.. 2021. 8. 3.
SelectShop - 키워드로 상품 검색하기 1 요구 사항 검색어를 요구에 따라 바꿀 수 있어야 한다. 검색 결과를 문자열에서 DTO로 바꿔야 한다. NaverShopSearch 메소드 바꾸기 public String search(String query) { RestTemplate rest = new RestTemplate(); HttpHeaders headers = new HttpHeaders(); headers.add("X-Naver-Client-Id", "OpslHqgdp1eP3XNONuRx"); headers.add("X-Naver-Client-Secret", "hcJSMxkk2y"); String body = ""; HttpEntity requestEntity = new HttpEntity(body, headers); ResponseEntit.. 2021. 8. 3.
SelectShop - 관심상품 등록하기 요구사항 - 상품을 검색한 후, 등록 버튼을 눌렀을 때 관심 상품이 생성. - 검색 결과에서 제목, 이미지, 링크, 최저가를 가져온다. Dto 클래스 생성 @Getter public class ProductMypriceRequestDto { private int myprice; } @Getter public class ProductRequestDto { // title, link, image, lprice private String title; private String link; private String image; private int lprice; } Product 클래스 수정 // 관심 상품 생성 시 이용 public Product(ProductRequestDto requestDto) { thi.. 2021. 8. 2.
SelectShop - 관심상품 조회하기 1. Timestamped 클래스 생성 - models 패키지를 만든다. Timestamped.java @Getter // get 함수를 자동 생성 @MappedSuperclass // 멤버 변수가 컬럼이 되도록 함 @EntityListeners(AuditingEntityListener.class) // 변경되었을 때 자동으로 기록 public abstract class Timestamped { @CreatedDate // 최초 생성 시점 private LocalDateTime createdAt; @LastModifiedDate // 마지막 변경 시점 private LocalDateTime modifiedAt; } Application @EnableJpaAuditing // 시간 자동 변경이 가능하도록 .. 2021. 8. 2.
반응형