Git & Github 사용법 다음은 "Coding Apple"의 Git & Github 관련 강의를 듣고 요약 정리한 내용들 입니다.(Mac OS 기준으로 작성되었음을 알려드립니다.) [ Lecture 1 : git 설치법 ] ■ Git파일 변경내역을 보존하고 관리하는 도구 ■ MacOS1. Homebrew 다운로드/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"(시키는거 잘 따라하면 됨) 2. Terminal(1) brew install git(2) git config --global init.defaultBranch main 3. Visual Studio Code(1) shift + cmd + p(2) In.. Day106 [230224 106일차] ✶ 최종 프로젝트 준비 *프로젝트 기간 230227(월) ~ 230322(수) *팀 결성 *프로젝트(기업) 선택 원하던 기업의 프로젝트가 있었지만, 하지 못하게 되어 개별 프로젝트를 진행하기로 결정 *주제 연예 기획사 홈페이지 및 관리자 페이지 *기획 의도 비회원 및 일반 회원들을 대상으로 하는 페이지 및 관리자 페이지 구성 *개발 환경 Language : Java, HTML, CSS, Javascript, ES6 Framework : STS4(Spring Boot), Express.js Platform : Node.js, AWS Lambda Database : AWS RDS(MySQL) View : Thymeleaf & React Storage : AWS S3 *개발 도구 E.. Day105 [230223 105일차] ✶ 세션, redirect(redirectAttributes) *Connectionless Protocol 웹 서비스는 HTTP 프로토콜을 기반으로 하는데, 요청에 대한 응답 후 관계를 끊는다. 즉, 인증되지 않은 사용자는 모든 페이지에서 인증과정을 거쳐야 한다. 이런 불편함 때문에 지속적인 인증 수단으로 세션과 쿠키를 사용한다. *Spring Session 스프링 MVC의 세션을 사용하는 방법 : HttpServletRequest, HttpSession HttpServletRequest : 파라미터로 HttpServletRequest를 받은 후, getSession() 으로 세션을 얻는다. HttpSession : 파라미터로 HttpSession을 받아 세션 사용 *스프링 세.. Day104 [230222 104일차] ✶ 이미지 파일 불러오기 1. service, serviceImpl, mapper.java, mapper.xml 에 getProductImg 메서드 생성 2. AjaxController에 이미지를 띄울 수 있는 url 맵핑 import java.io.File; import java.nio.file.Files; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.http.HttpHeaders; import org.springfr.. Day103 [230221 103일차] ✶ 파일 업로드 *스프링 부트에서는 내장 Tomcat 이 commons-fileupload 라이브러리 기능을 가지고 있기 때문에 따로 pom.xml 에 라이브러리를 다운하고 servlet-context에 설정해주지 않아도 된다. *파일 업로드 방식 : 일반 업로드 & 비동기 업로드 *파일 업로드 시 고려사항 첨부 파일의 유효성 검사(서버) 드래그 앤 드롭 기능(JS) 파일 전송의 진행률(JS) 예외처리 Etc. *파일 저장 위치 데이터베이스 하드디스크 클라우드 *설정 사항 1. application.properties 설정 # 파입업로드 가능 여부 설정 spring.servlet.multipart.enabled=true # 한 번에 최대 업로드 가능한 용량 .. Day102 [230220 102일차] ✶ 온라인 쇼핑몰 유형의 사이트 - 판매자 전용 페이지 구현 실습 카테고리 부분 *99일차(Day99)에서 했던 부분에 카테고리 부분의 기능을 활성화시켜 병합하는 실습을 진행하였다. 카테고리에서 꼬리 물기로 이어지는 n단계 세부 카테고리를 원하는 형태로 뽑아내기 위한 SQL문을 작성 검색과 리스트 셀렉트문에 병합시켰다. *데이터베이스를 학습할 때(Dayy33 ~ Day47) 했던 부분들이기 때문에 따로 정리를 하지는 않겠다. insert into PRODUCT(prod_endDate, prod_category, prod_writer, prod_name, prod_price, prod_count, prod_discount, prod_purchase_yn, pr.. Day101 [230217 101일차] ✶ jQuery jQuery는 HTML의 클라이언트 사이드 조작을 단순화 하도록 설계된 크로스 플랫폼의 자바스크립트 라이브러리다. 태그를 선택자로 선택하여 손쉽게 제어할 수 있는 기능 제공 *jQuery 사용 방법 1. 직접 사용하는 경우 (1) http://jquery.com/download/ 에서 제이쿼리 소스코드를 다운로드 (2) Download the compressed, production jquery x.x.x로 처리된 것을 우클릭 - 다른 이름으로 저장 (3) 다운로드 후 프로젝트 안에 파일 추가 2. 링크를 사용하는 방법 사용할 파일에 링크를 걸어 사용 → 또는 → 위 3가지를 추가해주고, examples 부분을 활용하면 부가적인 기능을 추가할 수 있다. ✶ 코딩.. Day100 [230216 100일차] ✶ REST API (REpresentational State Transfer API) REST API를 이용하면 서버 간 통신과 클라이언트 서버 통신이 가능하다. *스프링의 기존 데이터 처리 방식 : Handler Adapter 기존에 요청을 핸들링하는 단계에서 어노테이션 기반으로 데이터를 처리했다. 가능한 이유는 내부적으로 Argument Resolver가 동작하여 데이터를 맵핑하기 때문이다. Cf.) 스프링에서 값을 받는 방법 : HttpServletRequest, @RequestParam, @ModelAttribute, Model, VO 맵핑 등 *스프링 메시지 컨버터 HTTP 메시지 컨버터란, 요청본문에서 메시지를 읽어들이거나(@RequestBody), 응답 본문에 메.. Day99 ✶ Spring Boot *CKEditor CKEditor는 콘텐츠를 웹 페이지나 온라인 애플리케이션에 직접 작성할 수 있게 하는 위지위그 리치 텍스트 에디터이다. 핵심 코드는 자바스크립트로 작성되어 있으며 CKSource가 개발하였다. CKEditor는 오픈 소스와 상용 라이선스로 이용할 수 있다. *MyBatis 로 전달할 수 있는 매개변수는 무조건 1개여야한다. → 하지만 2개 이상 사용해야하는 경우가 발생한다면 @Param 을 이용하여 매개변수를 2개 이상 사용할 수 있다. → mapper 인터페이스에서만 설정해주면 된다. *타임리프 엔진에서 script 태그 안에 [[${}]] 를 이용하여 값을 가져올 경우 ✶ 온라인 쇼핑몰 유형의 사이트 - 판매자 전용 페이지 구현 실습 2023.02.08 -.. Day98 [230214 98일차] ✶ Spring Boot 서버 측 유효성 검사 *유효성 검사(Validation) validation 이란 어떤 데이터의 값이 유효한지, 타당한지 확인하는 것을 의미한다. UI에서 javascript로 "이메일 양식이 일치하지 않는다"는 것은 UX 측면에서 사용자에게 편의를 주기 위함이다. 보안적인 측면에서 유효성 검사는 UI, 서버에서 둘 다 수행되어야 한다. 스프링, 스프링 부트 모두 적용 가능하다. *Spring Boot Starter Validation 라이브러리 implementation 'org.springframework.boot:spring-boot-starter-validation' *VO(DTO) 클래스의 멤버변수에 적용해서 사용하는 어노테이션 어노테이션 설명 .. Day97 [230213 97일차] ✶ Spring Boot *Lombok에 sts4 경로 추가 (맥 OS) /Applications/SpringToolSuite4.app/Contents/Eclipse/SpringToolSuite4.ini → 완료 후, Refresh Gradle Project *Thymeleaf (타임리프) 1. 타임리프(thymeleaf)는 자바 라이브러리이며, 텍스트, HTML, XML, Javascript, CSS 그리고 텍스트를 생성할 수 있는 템플릿 엔진이다. 2. 스프링 MVC와의 통합 모듈을 제공하며, 애플리케이션에서 JSP로 만든 기능들을 완전히 대체할 수 있다. 3. Spring Boot에서는 JSP가 아닌 Thymeleaf 사용을 권장하고 있다. 4. 타임리프 파일은 상단에 아래.. Day96 [230210 96일차] ✶ Spring Boot *Spring Boot (STS4) download → https://spring.io/tools *다운로드 후 실행하여 preferences - encoding 검색 후, 전부 UTF-8 설정 *스프링부트는 뷰 화면이 따로 없고 다양한 종류의 뷰를 연결하여 사용할 수 있다. → 마켓플레이스(Help - Eclipse Marketplace)에서 Java and Web Developers Tools 플러그인을 다운받는다. *Spring VS Spring Boot 스프링 스프링부트 프로젝트의 구조 MVC2 MVC2 빌드 툴 메이븐 그레이들 빌드 설정 파일 Pom.xml Build.gradle 스프링 설정 파일 xml 파일 JAVA 파일 and Applicat.. Day95 [230209 95일차] ✶ 게시판 유형의 페이지 구현 실습 *EL 태그에서 ‘${ }’와 ‘#{ }’의 차이점 ‘${ }’ : 해석되는 즉시 표현식의 값이 반영되므로 즉시 적용(immediate expression)이라고 한다. ‘#{ }’ : 해당 값이 사용될 때 값이 적용되므로 지연 적용(deferred expression)이라고 한다. *xml에서 부등호와 같은 것들을 순전히 문자열로 인식시키기 위한 구문 에서 … 자리에 넣어주면 된다. 조회하고 있는 현재 페이지에 대한 정보(pageNum, searchType, searchValue, amount)를 계속 가지고 다녀야한다. 1. Criteria 클래스(페이징을 처리하는 기준) 생성 *멤버 변수 → Lombok .. Day94 [230208 94일차] ✶ 게시판 유형의 페이지 구현 실습 1. 페이지에 정적 파일(css, js, img) 적용 servlet-context.xml 에 resources mapping 을 해줬지만 일부 적용이 되지 않는 경우가 발생하여 ${pageContext.request.contextPath }/resources/ 를 붙여주어 절대경로로 설정해줬다. 2. 페이지간 연결 (1) a태그 이용 → ${info.title } (2) onclick="location.href=' '" 기능 이용 → onclick="location.href='notice_view?num=${fn:length(enquiryList) - num.count + 1 }&tno=${info.tno}'" *Layout.. Day93 [230207 93일차] *css 와 js는 절대경로를 넣는 것이 바람직하고 contextPath 를 직접 명시해주는 것은 바람직하지 않다.(바뀌는 경우가 발생하기 때문) → ${pageContext.request.contextPath }/resources/ 를 붙여준다. *프로젝트 Run 해줄 때, 서버에서 프로젝트가 하나만 구동되도록 해주는 것이 바람직하다. ✶ Lombok Library *lombok 라이브러리 설치 https://projectlombok.org/download → 다운로드 후 jar 파일 클릭(맥OS의 경우 접근이 안되면 ctrl 누르고 클릭) → IDE에 STS, Eclipse 추가 후 완료 → Maven - Update Project *Lombok 기능 멤버변수 선언과 클래스에.. 이전 1 2 3 4 ··· 9 다음