본문 바로가기

전체 글99

MVC ▶MVC 는 Model-View-Controller 의 줄임말로 웹 개발 및 프로그램 개발시에 사용하는 일종의 패턴이다. ▶ 원활한 협업 및 향후의 유지관리, 보수를 위해 MVC 패턴을 지키면서 개발을 하는 것이 중요하다. Model ​ Service ▶ Mapper (DAO, Data Access Object) ▶ View ▶View는 사용자에게 보여질 화면을 구현하는 부분이다. 주로 동적인 HTML 표시를 위해 많이 사용한다. ▶스프링 부트에서 View를 처리하기 위한 엔진의 종류가 많은데 대표적인 예는 아래와 같다. ▷JSP ▷Thymeleaf ▷Groovy ▷FreeMaker ​ Controller ▶ MVC 패턴에서 실질적으로 사용자의 요청을 받아 응답을 돌려주는 역할을 한다. ▶ 요청을 받을 .. 2023. 9. 22.
프로젝트 구조 프로젝트 구조 - `.idea`: IntelliJ IDE 관련 설정이 들어있는 디렉토리이다. **접근 엄금**. - `.mvn`: Maven 의존성 관리자 관련 파일이 들어있는 디렉토리이다. **접근 엄금**. - ⭐`src` - ⭐`main` - ⭐`java`: 프로젝트의 자바 코드를 담기위한 디렉토리이다. 해당 디렉토리 밑으로는 자바 코드로 인식한다. - ⭐`resources` - ⭐`static`: 프로젝트의 정적인 리소스를 담기위한 디렉토리이다. 해당 디렉토리는 루트(`/`)로 맵핑되어있다. - ⭐`templates`: 템플릿 엔진(Thymeleaf, FreeMaker, Groovy 등)을 위한 동적인 HTML 파일을 담기 위해 사용하는 디렉토리이다. - ⭐`application.propertie.. 2023. 9. 22.
주소확인 2023. 9. 22.
프로젝트 생성 프로젝트 생성 다음 누르고 ​ Spring Boot : 2.7.10 종속성 Developer Tools -> Spring Boot DevTools Web -> Spring Web Template Engines -> Thymeleaf 실행버튼 눌렀을때 오류뜨면 application.properties 가서 서버포트 입력해주기. 브라우저에 http://localhost:6795/hello.html 접속하면 hello 뜰거임 ​ 왼쪽파일의 static / (hello.html) 주소생성되는 경로 ​ 포트경로 적어주고 밑에 DBMS 연결해주기 spring.datasource.driver-class-name=org.mariadb.jdbc.Driver spring.datasource.url=jdbc:mariadb:.. 2023. 9. 22.
서브네팅 Subnetting IP (Internet Protocol Address) : 인터넷에 연결된 모든 컴퓨터 자원을 구분하기 위한 고유한 주소 8비트씩 4부분, 총 32비트로 구성되어 있다. Subnetting : 할당된 네트워크 주소를 다시 여러 개의 작은 네트워크로 나누어 사용하는 것 (ip 주소 계산) 4바이트 (32비트) 의 IP주소 중 네트워크 주소와 호스트 주소를 구분하기 위한 비트를 서브넷 마스크(Subnet Mask) 라고 하며, 이를 변경하여 네트워크 주소를 여러 개로 분할하여 사용한다. 네트워크별로 첫 번째 주소는 네트워크 주소이고, 마지막 주소는 브로드캐스트 주소이다. ex1) 192.168.1.0/24 네트워크를 FLSM방식을 이용하여 3개의 Subnet으로 나누었을 때, 두 번째 네트워크의 브로드캐스트.. 2023. 9. 22.
배포 vm인스턴스 만들기 이름 : instance-project 리전- 서울 영역 그대로 범용 시리즈 N1 머신유형 g1 small 부팅디스크 변경 운영체제 - 우분투 버전 우분투22.04 lts x86/64 이미지 별로없으면 10gb 방화벽 둘다체크 밑으로 내리면 네트워크 인터페이스 고정 외부 ip주소 예약 이름:div.project - 예약 그러면 34로 시작하는 ip 나옴 완료 가격확인하고 만들기 구글클라우드 vm sudo apt update sudo atp full- 아시아 코리아 등등 끝내면 sudo apt install openjdk-11-jdk tomcat9 -y 2023. 8. 22.
[JavaScript] 반복되는 모든 버튼에 이벤트 리스너를 등록하기 memo 저장 여러 개의 .textarea-box 클래스가 있는 경우, querySelector() 메서드는 문서 내에서 첫 번째 .textarea-box 요소만 선택하게 됩니다. 따라서 첫 번째 버튼에만 이벤트 리스너가 등록되는 것입니다. 모든 버튼에 이벤트 리스너를 등록하려면 .textarea-box 클래스를 가진 모든 요소를 선택한 후에 각각의 요소에 이벤트 리스너를 등록해야 합니다. 이를 위해서 querySelectorAll() 메서드를 사용하여 모든 .textarea-box 클래스를 가진 요소를 선택하고, 각 요소에 대해 반복문을 사용하여 이벤트 리스너를 등록해야 합니다. 아래는 모든 .textarea-box 클래스를 가진 요소에 대해 이벤트 리스너를 등록하는 코드입니다. const textar.. 2023. 7. 31.
[React] + express + mariadb /post insert 하기 inputComp.js 추가할 input 값 App.js 로 넘겨주기 import '../css/InputComp.css'; import { Component } from 'react'; class InputComp extends Component{ constructor(props){ super(props) this.state={ id:'', todo:'' } } addTodoList=()=>{ alert('추가(InputComp)') // const {id} = this.props+1 const {id} = this.props.id+1 // alert('추가할 id ' + this.props+1) alert('추가할 id ' + id) const{todo} = this.state this.props.a.. 2023. 7. 8.
[SpringBoot] Httpsession HttpSession 객체를 사용하여 "user"라는 이름으로 유저 정보를 세션에 저장하는 예시 @Controller public class MyController { @RequestMapping(value = "login", method = RequestMethod.POST) public String login(HttpSession session, UserEntity user) { // 로그인 로직 수행 // ... // 로그인이 성공한 경우 세션에 "user" 속성으로 유저 정보 저장 session.setAttribute("user", user); return "redirect:/home"; } } 위의 예시에서 /login 경로로 POST 요청이 들어오면 로그인 로직을 수행하고, 로그인이 성공한 경.. 2023. 7. 6.
728x90