분류 전체보기 32

다시 시작하는 부트 캠프 하루 후기 5일차

JPA의 연관 관계 설정이 객체 지향 프로그래밍과 관계형 데이터베이스의 차이를 극복하기 위한 방법입니다.- @ONE TO ONE한 엔티티가 다른 엔티티와 1:1로 연결된 경우에 사용됩니다. - @ONE TO MANY한 엔티티가 여러 엔티티와 연결된 경우에 사용됩니다.// 양방향 맵핑에서는 실제 테이블에 List가 세팅되지 않습니다. // 엔터티 안에서만 사용하는 가상의 컬럼입니다. // 상대방 엔터티의 갱신에 관여할 수 없기 때문에 단순히 읽기 전용(조회)으로만 사용하는 것을 권장.@OneToMany(mappedBy = "department") // 연관관계 엔터티의 필드명을 작성.private List employees;- @MANY TO ONE여러 엔티티가 한 엔티티와 연결된 경우에 사용됩..

다시 시작하는 부트 캠프 하루 후기 4일차

일정변동으로 인해 원래는 팀플해야하는데 2일 밀렸다고 합니다. 뭐 대체 공휴일이나 이런것 때문에....  완전 럭키 비키 상황 더 배울수 있어 오히려 좋아 마인드로 해보겠습니다.   1. 초기설정  application.properties -> yml 파일로 바꿔서 사용한다.spring: datasource: url: jdbc:mysql://localhost:3306/jpa?serverTimezone=Asia/Seoul username: root password: mysql driver-class-name: com.mysql.cj.jdbc.Driver jpa: database: mysql database=database-platform: org.hibernate..

다시 시작하는 부트 캠프 하루 후기 3일차

1. 중앙집중형 워크플로우와 Feature Branch Workflow    가. 중앙 집중형 워크 플로우           모든 개발자가 마스터 브랜치에서 작업을 진행하기 때문에 코드 충돌이 발생할 확률이 높고, 마스터 브랜치가 항상            안정적인 상태를 유지하긴 어렵습니다.      나. Feature Branch Workflow           각 개발자가 각자의 브렌치를 만들어서 작업을 진행하므로 마스터 브렌치의 안정성을 확보 할 수 있습니다. 단, 합칠때 충돌이 더많이 발생할수있고 마지막 머지를 하는 사람에게 많은 충돌이 발생합니다. 그럼에도 불구하고 코드의 안정성과 품질을 유지하고 싶다면 Feature Branch Workflow 방식을 사용하는 것이 좋습니다. 2. GIT F..

다시 시작하는 부트 캠프 하루 후기 2일차

1. Gradle에 2가지 라이브러리를 추가한다.// spring-boot-starter-mailimplementation 'org.springframework.boot:spring-boot-starter-mail'// 자바 언어를 통해 smtp 통신을 할 수 있게 하는 라이브러리implementation 'jakarta.mail:jakarta.mail-api:2.1.2' 2.실습 아이디를 새로 만들어서 pop3/smtp 사용을 허용해야 한다.-> 네이버-> 다시 인텔리제이로 돌아와서# email settingspring.mail.host=smtp.naver.comspring.mail.port=587spring.mail.username=spring.mail.password=spring.mail.prope..

다시 시작하는 부트 캠프 하루 후기 1일차

지금껏 많이 진행되었으나 여러 취업, 면접 이슈때문이라는 변명으로 잠깐 쉬었는데 사실 귀찮았던 것 같습니다. 하지만 결측치가 발생했다 치고 한번 해볼까 합니다.1. 쿠키를 이용한 로그인 유지 설정 로직 (Controller)private void makeLoginCookie(LoginRequestDTO dto, HttpServletResponse response) { // 쿠키에 로그인 기록을 저장 // 쿠키 객체를 생성 -> 생성자의 매개값으로 쿠키의 이름과 저장할 값을 전달. (문자열만 가능, 4KB) Cookie cookie = new Cookie("login", dto.getAccount()); // 쿠키 세부 설정 cookie.setMaxAge(60); // 쿠키 수명..

PlayData 9월 30일 정리

1. 스프링 프레임 워크   가. Solid 객체지향 설계원칙          1) SRP 단일 책임 원칙              클래스를  작은 단위로 분리하여 단일 책임을 부여하는 원칙, 따라서 관련있는 기능끼리 분류할 필요가 있다.              예를 들어 클래스 별로 사용자 정보만 관리하는 클래스, 유효성 검사만 하는 클래스 등을 나누어서 설계한다.               이는 코드의 유지보수성이 증가하고 다른기능을 추가하거나 변경할때 영향을 최소화 할수있다.             2) OCP 개방-폐쇄 원칙              확장은 가능하지만 변경은 닫혀있어야 하는 원칙. 다시말해서 인터페이스를 이용하여 클래스를 제작하여               메서드의 통일을 할수있다. 인터페..

PlayData 백엔드 부트캠프 Start 31일차

리얼 백엔드 웹 프로그래밍 기초  자바 개발자의 거의 대부분의 사람들이 사용한다는 스프링스프링은 MVC 와 BOOT로 나눠져있다고 합니다. BOOT가 자동으로 할수있는 부분이 많아 난이도가 MVC에 비해 낮으나 자유도 측면에서 MVC가 더 좋다고 합니다.  따라서 제가 볼땐 BOOT가 중급, 초급자용 MVC가 고급자 용이라고 생각하는 부분입니다.  처음 스프링을 배우기 전 프론트엔드와 데이터베이스의 네트워크에 대해 정리를 선행하고 시작하겠습니다.1. 인터넷 통신방법   가. IP : 패킷을 통해 데이터를 전송하고 수신함. 이는 비연결성, 비신뢰성, 프로그램 구분 불가능 이라는 단점이 있습니다   나. TCP : IP프로토콜의 문제를 해결하기 위해서 3way-handShake로 서버와 클라이언트간 소통을 ..

PlayData 백엔드 부트캠프 Start 30일차

면접등 취업이슈로 저번주 2일을 빠졌습니다..... 그래서 그냥 넘어가보려고요 ㅎㅎ 이슈가 있었으니.. 오늘 수업은 투포인터와 스텍,큐에 대해서 수업을 진행했습니다.1.투포인터정렬된 배열에서 두 값의 합을 찾을 때특정 범위의 부분 합을 빠르게 계산해야 할 때 부분 배열의 곱, 차 등도 구간에 따라 효율적으로 계산등을 이용할때 사용합니다. 예제를 한번 제손으로풀어보겠습니다. EX1) 오름차순으로 정렬이 된 두 배열이 주어지면 두 배열을 오름차순으로 합쳐 출력하는 프로그램을 작성하세요. ▣ 입력설명 첫 번째 줄에 첫 번째 배열의 크기 N(1

PlayData 백엔드 부트캠프 Start 25일차

RE act 정말 지긋지긋해서 그냥 정리 한번 하고 가겠습니다.오늘 수업시간에 한 내용을 하나 하나 뜯고 맛보고 즐기면서 차근 차근 생각해보고 모르면 아쉬운걸로 하겠습니다.  내가 죽나 React가 죽나 해보죠 뭐 - main이 되는 부분입니다.import React, { useState } from 'react';import AddUsers from './components/Users/AddUsers';import UserList from './components/Users/UserList';import MainHeader from './components/SideEffect/MainHeader/MainHeader';import Login from './components/SideEffect/Login..

PlayData 백엔드 부트캠프 Start 24일차

사실어제부터 리액트를 하고있기는 한데 ....... 이거 xxxx같은 언어이더라구요... 그래서 시간이 있을때 총정리 한번 하고끝내려고 합니다. 잠깐 정리를 밀어두고 하겠습니다. 아직 추석이 있잖아요 ㅎㅎ 일단 백준만  하고 멘탈관리하러 돌아가보겠습니다 ㅠㅠ .package backjoon.bronze.B1;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.StringTokenizer;public class B_2869 { public static void main(String[] args) throws IOException { BufferedRe..