목록Java (14)
현재
이전까지 작업했던 결과물들은 이렇게 저렇게 유튜브나 블로그를 찾아보면 문제를 해결할 수 있었지만,이번에 내가 최종적으로 EC2 서버에 배포를 하는 과정에서는 정말 많은 삽질을 했기 때문에, 조금이라도 나와 같은 구성들을 가지고 배포하는 사람들에게 조금이라도 도움이 되기를 바라며 나 또한 까먹었을때 다시 찾아보기 위해서 작성하게 되었다. (이전에 작성한글이 있기 때문에 코드는 생략하고 필요한 부분만 게시) 일단 Docker-compose를 사용하였기 때문에 두개의 폴더를 나눠서 작업하였다. ・프론트엔드(React)나는 리액트로 진행하였고, 폴더의 이름을 간단히 하기 위하여 frontend라고 작성하였다.frontend폴더 안에는 react프로젝트의 그대로의 구성이 들어있다.docker-compose를 사용..
[Board.jsx] import axios from "axios"; import { useEffect, useState } from "react"; import { useParams } from "react-router-dom"; const Board = () =>{ const [writer, setWriter] = useState(''); const [content, setContent] = useState(''); const [commentData , setCommentData] = useState([]); const a = (e)=>{ console.log(e.target.value); setWriter(e.target.value); } const b = (e)=>{ console.log(e.ta..
[SaveForm.jsx] import axios from 'axios'; import { useState } from 'react'; const SaveForm = () => { const [writer, setWriter] = useState(''); const [pass, setPass] = useState(''); const [title, setTitle] = useState(''); const [content, setContent] = useState(''); const [file, setFile] = useState(null); // 현재 파일이 저장 되어있는지 알기 위해 const fileCheck = (e) =>{ setFile(e.target.files[0]); console.log(e...
import axios from "axios"; import { useEffect, useState } from "react"; const Home = () => { const [data , setData] = useState([]); --> 가져올 데이터 const [displayData , setDisplayData] = useState([]); --> 보여줄 데이터 const [itemsPerPage , setItemsPerPage] = useState(10); --> 한페이지에 몇개를 보여줄 것인가 const [currentPage , setCurrentPage ] = useState(1); -> 현재 페이지 넘버 useEffect(()=>{ axios.get("/board/") .then( re..
import axios from 'axios'; import { useState } from 'react'; const SaveForm = () => { const [writer, setWriter] = useState(''); const [pass, setPass] = useState(''); const [title, setTitle] = useState(''); const [content, setContent] = useState(''); const save = () => { if(writer === ''){ alert("작성자를 입력해주십시오.") return; } axios.post('/board/save',{ boardWriter : writer, boardPass : pass, boardTit..
@RequiredArgsConstructor =>Autowired대신에 사용, final keyword만 생성자 초기화 시킨다 @ ModelAttributes(BoardDto boardDto) =>Model에 추가해 view에서 사용가능하도록 한다. @NoArgsConstructor =>기본 생성자와 같음 @AllArgsConstructor =>모든 매개변수를 field로 하는생성자 @Table(name = "board_table") => Table생성 @Id @GeneratedValue(strategy = GenerationType.IDENTITY) // auto_increment와 같은 역할을 한다. private Long id; =>Id어노테이션 설정(필수), public static 설정으로 Dt..
접근 제어자 쓰는 이유? 의존하는게 많으면 결합도 올라감 캡슐화 결합도 private -> 해당 클래스 내부에서만 접근 가능 default -> 해당 패키지 안? protected -> 내 패키지안 + 외부에서 상속한 경우에만 접근이 가능 public -> 항상 접근이 가능하 iterator -> List - > index로 관리한다는게 가장 큰 특징 -Array 는 배열을 통해서 관리함 ( 기본 크기 10, 크기가 커지면 새로 데이터를 복사해서 옮겨야하기때문에 불리하다, 동적리사이징) -LinkedList 건너건너 연결되어있는게 링크드 리스트 -vector -Hashset -Tree -LinkedHash Map -key값은 set과 비슷한특징 -HashMap -hashTable + thr..