전체 글 35

[스트링부트] 게시판 첨부파일 기능 구현하기

✅ 구현 화면 폼 화면에서 - 이미지 첨부파일 하고 제출시 이후에 detail 에서 나오는 화면 ✅[1단계 : properties 수정] spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.datasource.url=jdbc:mysql://127.0.0.1:3306/mybo_db2?serverTimezone=UTC&useSSL=false spring.datasource.username=root spring.datasource.password=1234 spring.jpa.database=mysql spring.jpa.database-platform=org.hibernate.dialect.MySQLDialect spring.jpa.hibe..

[DB 이관하기] H2-console -> mysql로 변경하기

1. build.gradle 추가 및 변경하기 2. properties 추가 및 변경하기 -. id/계정 관련 확인해서 변경하기 -. 테이블명 확인하기 3. h2idiSQL로 DB 생성하고 테이블 생성하기 ex) build.gradel -> 변경후 새로고침 필수 dependencies { implementation 'org.springframework.boot:spring-boot-starter-web' testImplementation 'org.springframework.boot:spring-boot-starter-test' //추가 developmentOnly 'org.springframework.boot:spring-boot-devtools' compileOnly 'org.projectlombok..

4.Database 2024.01.30

[코멘토 실무PT 후기 챌린지_QA자동화 강의 5주차 강의]

드디어 마지막 5주차 강의를 학습했다. 지금껏 했던 실습과 QA의 역할 및 자동화에 대한 방향성에 대해서 최종 마무리 하는 단계였다. ✅ 자동화의 종류는 공장 , 사무, OA 등 여러개가 존재하고 테스트 자동화도 그 중 한가지의 챕터일 뿐이다.-. 테스트 자동화는 큰 범위의 자동화 범주에 속한다고 생각하자. ✅ 자동화를 하기 위해서는 별도의 기간과 절차가 필요하다. ** 자동화 테스트 코드 구현 하기 전에 수동/자동 테스트 시나리오의 기준을 정하고 분류 작업이 필요함** 1. 도구 선정 및 학습 2. TEST 설계 및 구현 3. 구현 된 TEST 코드 TEST 4. 실 운영 및 유지보수 : 큰단위의 프로젝트를 할 수록 자동화 달성이 어렵고, 작은 단위의 자동화가 적합 ▶ 간단한 TEST 코드를 만들어서 ..

[인스타그램] 자동 좋아요 프로그램 구현

✅ 인스타 자동 로그인-좋아요 구현 동영상 1. 파이썬 코드 [instagram_auto.py] -. 본인 계정과 패스워드는 별도로 입력하고 저장 해야함 from selenium import webdriver import time from selenium.webdriver.common.by import By #인스타 그램 태그 및 웹브라우저 자동으로 실행 hashtag = "앵무새" options = webdriver.ChromeOptions() options.add_experimental_option("detach", True) browser = webdriver.Chrome(options=options) browser.get("https://www.instagram.com/accounts/login/..

[Docker] 설치 및 방법 및 API 테스트

✅ 개발환경 구축하기 ✔️ 요약 1. Docker에 DB(MYSQL) IMAGE 및 Container 생성 -. 가상환경을 설치하여 다양한 Application 개발 환경을 구성하게 함 -. IMAGE를 생성하고 생성된 IMAGE로 Container를 인스턴스 해서 사용 2. HeidSQL과 연동 -. 생성된 DB와 연동하여 관리 가능 -. 스프링 부트 DB 및 table 생성 3. 스프링 부트 /boards 연동 -. 127.0.0.1:8080/boards 4. 포스트맨 연동 -. 127.0.0.1:8080/boards 주소에 접속해서 get/post/put/delete 데이터 확인 [준비] WSL 다운로드 Docker 설치 - id/ 비밀번호 설정 ( 컴퓨터 재부팅하고 나면 linux -Ubuntu ..

[스프링부트] 게시판 조회수 추가하기

✅ 구현 화면 ✅ 수정할 부분 요약 ➔ Question에 view 컬럼 추가하기 ➔ QuestionService에서 getQuestion 메서드 수정하기 ➔ question_list.html 조회수 텍스트 및 테이블 수정하기 ✅ [1단계 : Question에 view 컬럼 추가하기] @Column(columnDefinition = "integer default 0", nullable = false) private int view; /h2-console 에 접속해서 view 칼럼 생성됐는지 확인 필요 ✅ [2단계 : QuestionService에서 getQuestion 메서드 수정하기 ] public Question getQuestion(Integer id) { Optional question = this..

[스프링부트] 게시판 만들기 - 카테고리 추가하기

[구현 화면] [수정할 부분 요약] 1. Question에 category 추가하기 2. QuestionForm에서 category 추가하기 3. QuestionService에서 category 추가하기 4. QuestionController에서 create - category 및 modiefy-category 추가 5. question_form.html 카테고리 셀렉트 추가 6. question_list.html 카테고리 추가하기 [1단계 : Question에 category 추가하기 ] private String category; [2단계 : QuestionForm에 category 추가하기 ] @NotBlank(message="선택해주세요") private String category; [3단계 :..

[코멘토 실무PT 후기 챌린지_QA자동화 강의 4주차 강의]

1. 교육 내용 1) 예외 처리 -. 페이지 접속 실패 : WebDriverException - 네트워크 상태 확인 및 url 오타 및 경로 재 확인 -. 엘리먼트 로딩 / 인식 실패 : NoSuchElementException - 엘리먼트 지정자 재 확인 2) 에러 레벨 -. WARNING: 경고 -. SEVERE : 심각한 오류 -. INFO : 정보 3) request 모듈 -. 파이썬 코드에서 웹피이지 요청을 보내고 응답을 받아오는 모듈 -. GET 방식 : 서버에서 데이터를 읽어 올때 사용 -. POST 방식 : 서버로 데이터를 생성하거나 업데이트 할 때 사용 * 셀레니움은 프론트 단의 상태 확인 , requests는 서버 단의 상태 확인(네트워크 등) 4) pyautogui 모듈 -. 브라우저..

[스프링부트] 게시판 만들기 - 페이지 0이 아닌 1번 부터 출력 변경하기

▶점프투스프링 교재로 게시판 구현 저자는 0부터 시작하는 페이지 기능을 구현하였다. * 일반적으로 사람들은 0이 아닌 1부터 숫자를 인식 하기 때문에 변경이 필요하다.(해당 내용은 책에 없음) * 원본 페이지에서는 보이는 2가지의 트릭이 존재하고 1가지의 숨은 트릭이 존재한다. * 변경할 포인트는 3가지 1. UI 의 0번을 1로 변경해야하고 2. page=0 데이터를 1로 변경해야한다. [원본 페이지] [원본 코드] question_list.html 파일 UI 요소 - a th:text 코드는 0으로 출력 DATA 요소 - th:href는 실제 값을 0으로 넘겨주는 코드 [1단계 수정 : a th:text를 page +1로 변경하기] ▶ 서버를 실행하면 페이지가 1로 변경된 것을 확인 할 수 있다. 그..

[코멘토 실무PT 후기 챌린지_QA자동화 강의 3주차 강의]

1. 교육 내용 1) 웹 엘리먼트 찾기 -. By.ID(kakaoGnb), By.CLASS_NAME(gnb_tistory) -. By.CSS_SELECTOR(#kakaoGnb) , By.XPATH(//*[@id="kakaoGnb"]) -> 요소를 식별하는 데 있어서는 페이지의 구조와 특성을 고려하여 가장 적합한 방법을 선택하는 것이 중요 2) 유저 액션 자동화하기 -. 클릭하기 element = driver.find_element(By.ID, 'element_id') element.click() -> 엘리먼트를 자동으로 클릭 -. 텍스트 입력하기 element = driver.find_element(By.CLASS_NAME, 'element_name') element.send_keys("입력할 텍스트")..