| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- 오라클
- 서버
- jsp
- java
- 자바스크립트
- 코드테스트
- BACK-END
- 데이터베이스
- spring
- 프론트엔드
- 알고리즘
- 백엔드
- 스프링부트
- node.js
- 정리
- 프로그래머스
- MySQL
- 자바
- 프런트엔드
- oracle
- JavaScript
- 쿼리
- SQL
- 미니정리
- Next.js
- jpa
- 디자인 패턴
- 코드 테스트
- 스프링
- web
- Today
- Total
목록분류 전체보기 (357)
참치코더의 꿈 메모장
라우트 핸들러는 리액트 프런트엔드인 Next.js를 API 서버처럼 사용하게 해주는 기능이다. 라우트 핸들러를 사용하기 위해서는 app 폴더 내에 만들고자 하는 백엔드 API 경로대로 폴더를 만들고그 안에 route.js 또는 route.ts라는 파일을 만들어서 API와 관련된 코드를 작성하면 된다. * page.js와 동일한 라우트 세그먼트 레벨에 route.js 파일이 존재하면 에러가 발생한다. ex1 ) app/page.js , app/route.js -> 충돌 오류 발생!!!ex2) app/api/route.js, app[user]/page.js -> 충돌 X - 만약에 [user]에 동적으로 api가 들어간다면 Next.js는 우선순위를 줘서 정적 경로(api)가 동적 세그먼트보다 우선시 된..
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364import jakarta.persistence.*; import java.util.List; public class JpaMain { public static void main(String[] args) { // 1. persistence.xml의 설정 정보를 이용하여 엔티티 매니저 팩토리를 생성 // 엔티티 매니저 팩토리는 애플리케이션 전체에서 딱 한 번만 생성하고 공유해서 사용해야 한다. EntityManage..
커맨드 패턴 - 요청을 객체로 만든다- 요청을 수행하는 기능(메서드 호출)을 command라는 객체로 감싼 후 , 실행/취소/저장/큐잉 등 다양한 조작을 가능하게 한다. 구조 1. Command 인터페이스- 실행할 명령을 추상화 - 취소가 필요한 경우 undo( ) 도 포함 2. Receiver (수신자)- 실제 작업을 수행하는 객체- Light (불 켜기/끄기 동작을 가짐) 3. ConcreteCommand (구체적인 명령 클래스)- 특정 요청을 리시버에 위임에서 실행- LighthOnCommand, LightOffCommand 4. Invoke (호출자)- 커맨드를 실행하는 역할- 리모컨 버튼 -> command.execute() 5. Client- 어떤 명령 객체를 어떤 리시버와 연결할지 결정 ..
123SELECT ROUND(AVG(DAILY_FEE)) AS AVERAGE_FEEFROM CAR_RENTAL_COMPANY_CARWHERE CAR_TYPE = 'SUV';cs - SUV 자동차의 평균 일일 대여 요금을 구하는 문제이다. - FROM 절에 참조하려고하는 데이터가 있는 테이블을 선택한 후 - WHERE절 조건으로 차 종류를 SUV를 선택해 준다. - SELECT문으로 평균을 구하기 위해 해당 요금의 평균을 구해준후 소수점 첫째자리에서 반올림 하라고 했으므로, 아무것도 쓰지 않는다면 정수 반올림을 해서 첫번째 자리에서 반올림 하게된다. (소수점을 남기고 싶다면, ROUND(AVG(DAILY_FEE), 1) 필요) - 이렇게 작성한다면 문제의 답을 구할 수 있다. ^^
@PersistenceContext + EntityManager 방식 장점 - JPA 내부 동작을 직접 학습이 가능하다. (요즘엔 잘 사용하지 않는다....)- 복잡한 커스텀 쿼리나 특수한 트랜잭션 제어 시 유연함 단점 - 반복 코드 많음(save, find 등)- 스프링 데이터가 제공하는 편리한 기능 활용 불가 1234567891011121314151617@Repository@Transactionalpublic class MemberRepository { @PersistenceContext // DB 선언 private EntityManager em; public Long save(Member member) { em.persist(member); ret..
메타 데이터를 사용하는 이유.... 1. SEO(검색 엔진 최적화) - 구글, 네이버 같은 검색 엔진은 페이지 내용을 크롤링할 때, 과 을 참고한다.- 적절한 메타데이터를 사용하면, 검색 결과에 표시되는 내용을 제어할 수 있다.- 적절한 조작을 가하면 검색 시 클릭률(CTR) 증가, 검색 랭킹 개선이 가능하다.12title>Next.js 배우기/title>meta name="description" content="Next.js 정적/동적 데이터 활용법"/>cs 2. SNS 공유 최적화 (Open Graph, Twitter Cards) - 페이스북, 트위터, 카카오톡 같은 SNS에서 페이지를 공유할 때 메타데이터를 참고한다.- 이미지, 제목, 설명을 동적으로 바꾸면 공유 카드 미리보기를 컨트롤 할 수 있..
123456-- 코드를 입력하세요SELECT CAR_ID, CAR_TYPE, DAILY_FEE, OPTIONSFROM CAR_RENTAL_COMPANY_CARWHERE OPTIONS LIKE '%네비게이션%'ORDER BY CAR_ID DESC; Colored by Color Scriptercs - 네비게이션 옵션이 포함된 대여 자동차 리스트를 뽑아내는 문제이다. - FROM절에 참조하려고 하는 테이블인 CAR_RENTAL_COMPANY_CAR를 선택한 후 - 문제에서 나와야 하는 컬럼 (CAR_ID, CAR_TYPE, DAILY_FEE, OPTIONS) 을 SELECT 절에 적어주었다. - 다음 WHERE 조건으로 LIKE 문을 사용하여 네비게이션이라는 글자를 포함하는 OPTION 컬럼을 선택하도록 ..
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869@RestControllerAdvice@Log4j2public class CustomRestAdvice { @ExceptionHandler(BindException.class) // BindException이 발생했을때 이 메서드를 호출시켜준다. @ResponseStatus(HttpStatus.EXPECTATION_FAILED) //417 실패 페이지를 반환해준다. public ResponseEntityMapString, String>> handleBin..