프로젝트 소개 프로젝트명: TO-DO-IT 리액트와 스프링부트를 연동한 투두리스트 어플리케이션 기술 스택 주요 기능 투두리스트 CRUD 완료시 목록의 하단으로 이동, 완료 날짜 출력 목표 달성도 실시간 반영 히스토리 날짜별로 완료한 투두리스트 확인 데이터베이스 연동 주요 코드 내용 오늘의 투두리스트 const [todos, setTodos] = useState([]); const [complete, setComplete] = useState(true); // axios 호출 성공시 true const [attain, setAttain] = useState(0); // 달성한 todo 개수 const [checked, setChecked] = useState(false); const day = dayjs(..
JPA와 ORM JPA는 자바 언어를 DB가 이해할 수 있도록 하는 번역기라고 할 수 있다. 원래 DB는 SQL이라는 언어를 사용해서 객체를 저장하거나 불러올 수 있는데 매번 DB와 소통할 때 SQL을 작성하게 되면 객체지향적으로 프로그래밍을 할 수가 없다. 이러한 객체지향과 관계형 DB간 패러다임 불일치를 해결하기 위한 기술이 ORM 프레임워크이고 자바 진영의 ORM 기술 표준이 JPA이다. JPA는 개발자가 SQL을 작성하지 않아도 적절한 SQL을 생성해서 DB와 소통하고 객체를 Mapping해주기 때문에 생산성을 크게 높일 수 있고 DB를 바꾼다고 해도 매핑 정보가 class로 명시되어 있기 때문에 쿼리를 수정할 필요가 없어 유지보수에 유리하다. 그러나 쿼리가 자동으로 생성되는 만큼 개발자가 의도하..
keyword : CI/CD, Docker, Jenkins, Deploy class : Programming 1. 목적 application.properties 혹은 application.yml 파일에서 외부로 노출되어서는 안 되는 요소들을 효과적으로 감추면서 CI/CD를 완성하기 위함 2. 개발환경 Springboot 2.7.3 Java 11 Amazon EC2 t2.micro (프리티어) ubuntu 20.04 Jenkins 2.376 Docker 20.10.21 현재 프로젝트에서 관리하는 application.properties 내용 이대로 깃허브에 푸쉬하면 중요정보가 모두 노출이 된다. Github Actions를 사용하면 Github에서 Secret Actions 설정을 통해 노출이 되어서는 안..
What I Learned 💡 객체지향 프로그래밍을 나 나름대로 구상해보았다. RPG 게임 세계를 만든다고 가정하고, 순차적 프로그래밍을 통해 구현한다고 하면 player가 가야할 길을 일일이 프로그래밍 해주어야 한다. A라는 지역에 가서 "아무개" 라는 NPC에게 말을 걸고 1번 이벤트를 진행해야 한다고 하면 순서대로 프로그래밍을 하고, "아무개"에게 말을 걸기 전에는 1번 이벤트가 진행되지 않도록 막는다던가 1번 이벤트가 진행된 후에 "아무개"에게 말을 거는 프로그래밍을 추가로 해주어야 한다. 게임이 방대해지고 이벤트가 많아지면 경우의 수가 기하급수적으로 늘어나기 때문에 프로그래밍 하는 게 부담스러워지고 놓치는 부분도 많아질 것이다. 💡 또 같은 게임을 절차적 프로그래밍을 통해 구현해보자. playe..
- Total
- Today
- Yesterday
- Comparator
- Queue
- Spring
- 스프링부트
- CS
- 리액트
- 타입스크립트
- 알고리즘
- Nest
- dfs
- java
- 스프링
- 백준
- JPA
- 정렬
- 형변환
- 자바bfs
- 해시맵
- Algorithm
- BFS
- 프로그래머스
- 이분탐색
- JavaScript
- 자바
- SQL
- 자바dp
- 자바스크립트
- DP
- 자바트리
- SQLD
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |