블로그
전체 32024. 02. 22.
0
인프런 워밍업 스터디 BE 4일
문제 1@PostMapping("/api/v1/fruit") public void saveFruit(@RequestBody FruitCreateRequest fruitCreateRequest) { String sql = "INSERT INTO fruit (name, price, stocked_date, sold) values (?, ?, ?, ?)"; jdbcTemplate.update(sql, fruitCreateRequest.getName(), fruitCreateRequest.getPrice(), fruitCreateRequest.getWarehousingDate(), false); } 문제2@PutMapping("/api/v1/fruit") public void updateFruit(@RequestBody FruitUpdateRequest fruitUpdateRequest){ String readSql = "SELECT * FROM fruit WHERE id = ?"; boolean isUserNotExist = jdbcTemplate.query(readSql, (rs, rowNum) -> 0, fruitUpdateRequest.getId()).isEmpty(); if (isUserNotExist) { throw new IllegalArgumentException(); } String sql = "UPDATE fruit SET sold = ? WHERE id = ?"; jdbcTemplate.update(sql, true, fruitUpdateRequest.getId()); } 문제3@GetMapping("/api/v1/fruit/stat") public FruitSaleResponse howManySale(@RequestParam String name) { String readSql = "SELECT * FROM fruit WHERE name = ?"; boolean isUserNotExist = jdbcTemplate.query(readSql, (rs, rowNum) -> 0, name).isEmpty(); if (isUserNotExist) { throw new IllegalArgumentException(); } String sqlSold = "SELECT * FROM fruit WHERE name = ? AND sold = 1"; String sqlNotSold = "SELECT * FROM fruit WHERE name = ? AND sold = 0"; List sqlSoldList = jdbcTemplate.query(sqlSold, new RowMapper() { @Override public Integer mapRow(ResultSet rs, int rowNum) throws SQLException { return rs.getInt("price"); } }, name); List sqlNotSoldList = jdbcTemplate.query(sqlNotSold, new RowMapper() { @Override public Integer mapRow(ResultSet rs, int rowNum) throws SQLException { return rs.getInt("price"); } }, name); Integer salePrice = 0; for (int i = 0; i
2024. 02. 21.
0
인프런 워밍업 스터디 BE 3일
자바 람다식 등장 이유 함수형 프로그래밍 지원 함수형 프로그래밍 즉 절차지향 프로그래밍의 장점을 활용하기 위해 람다식을 도입 람다식을 사용하면 함수를 값으로 취급할 수 있어 코드를 더 간결하게 작성 가능익명 함수 지원람다식은 익명 함수를 정의할 수 있는 기능을 제공이로써 코드를 간결하게 만들고 익명 함수를 인터페이스의 구현체로 쉽게 전달할 수 있음병렬 프로그래밍 지원람다식은 자바 8에서 도입된 스트림 API와 함께 사용되어 병렬 프로그래밍을 지원이를 통해 코드를 병렬로 실행하고 병렬성을 활용하여 성능을 향상코드 가독성 향상람다식을 사용하면 코드가 더 읽기 쉬워지고 가독성이 향상됨 람다식의 문법( 함수 파라미터 ) -> { 람다식 본문 } ex. 두 개의 정수를 더하는 간단한 람다식(int x, int y) -> { return x + y; }
2024. 02. 19.
0
인프런 워밍업 스터디 BE 1일
어노테이션 어노테이션이란 ?클래스나 메서드 또는 변수에 @ 를 사용하는 것을 말함사전적으로는 주석이라는 의미지만 우리가 흔히 아는, 컴파일 되지 않는 주석과는 다름클래스, 메서드, 변수 위에 달아 특별한 의미를 부여하고 주입할 수 있음 built-in 어노테이션 자바 내에 내장되어 있는 어노테이션meta 어노테이션 다른 어노테이션에 적용되기 위한 어노테이션 즉, 커스텀 어노테이션을 만들 시 해당 어노테이션이 가지고 있는 특징 들을 잡아줄 수 있음 어노테이션의 기능코드 가독성 상승추후 유지보수가 편리해짐컴파일러를 통한 경고 체크 및 에러 수정이 보다 쉽게 가능 커스텀 어노테이션 사용자가 직접 커스텀 어노테이션을 만들 수 있음 인터페이스 앞에 @를 붙여 커스텀 어노테이션을 만들 수 있음public @interface MyAnnotation { String name(); String value(); }메타 어노테이션을 사용하여 커스텀 어노테이션을 보다 세밀하게 만들 수 있음Target을 통해 type. 즉 class, interface, enum에 적용될 수 있도록 설정Retention을 통해 어노테이션이 어느 레벨까지 적용될 수 있는지 설정@Retention(RetentionPolicy.RUNTIME) @Target(ElementType.TYPE) public @interface MyAnnotation { String name(); String value(); } @MyAnnotation(name = "someName", value = "Hello World") public class TheClass { }