728x90

IT 50

[BE Study] Day 8 -트랜잭션

◈ 트랙잭션(Transaction) :쪼갤수없는 업무의 최소단위 =모든 SQL을 성공시키거나 하나라도 실패하면 모두 실패시키기. public class OrderService{ public void completePayment(){ orderRepository.save(new Order(..)); pointRepository.save(new Point(..)); billingHistoryRepository.save(new BillingHistory(..)); } //order,point만 성공하고 billing만 실패가 될수 없다. } ● 트랜잭션 시작하기 : start transaction; ● 정상 종료하기 : commit ● 실패처리하기 : rollback ▣ @Transactional // 아래있..

BE Study 2024.02.29

[네트워크] Chapter 2 - 애플리케이션 계층

▣ 네트워크 어플리케이션 ■ 애플리케이션 계층: - 애플리케이션 계층 프로토콜 - 클라이언트와 서버 - 프로세스 - 트랜스포트 계층 인터페이스 대부분의 애플리케이션은 두 프로세스가 메시지를 서로에게 보내는 통신 프로세스 쌍으로 구성된다. (Client - Server(Web), Peer - Peer(P2P)) ▣ 소켓(socket) : 프로세스는 소켓(socket)을 통해 네트워크로 메시지를 보내고 받는다. 소켓은 호스트의 애플리케이션 계층과 트랜스포트 계층간의 인터페이스(API)이다. ● 애플리케이션 개발자는 소켓의 애플리케이션 계층에 대한 모든 통제권을 갖지만 소켓의 트랜스포트 계층에 대한 통제권은 (1) 트랜스포트 프로토콜의 선택, (2) 트랜스포트 계층 매개변수 설정 만을 갖는다. ▣ 프로세스 주..

[24/02/27] Stream/ @AllArgsConstructor/ @NoArgsConstructor

▣ Stream : 컬렉션을 처리하기 위한 새로운 추상화.(Java8부터 도입) List myList = Arrays.asList("apple", "banana", "orange", "grape"); // 중간 연산: 문자열의 길이가 5 이상인 요소를 필터링 Stream filteredStream = myList.stream().filter(s -> s.length() >= 5); // 최종 연산: 각 요소를 출력 filteredStream.forEach(System.out::println); ▣ @AllArgsConstructor : 클래스의 모든 필드를 인자로 받는 생성자를 자동으로 생성해주는 기능 제공(Lombok) import lombok.AllArgsConstructor; @AllArgsCons..

Study Record 2024.02.27

[BE Study] Day 7 - JPA 사용하기

▣ SQL을 직접 작성한다면? 1. 오류 발생에 대하여 컴파일 시점에 발견되지 않고, 런타임 시점에 발견된다. 2. 특정 데이터베이스에 종속적이게 된다. (MySQL → MsSQL 변경시 다 코드를 바꿔주어야 한다.) 3. 반복작업이 많아진다. 테이블 하나 만들때마다 쿼리가 항상 필요하다. 4. 데이터베이스의 테이블 vs 객체 둘간의 패러다임이 다르다. ▣ JPA란? □ JPA(Java Persistence API) ○ Persistence - 영속성: 서버가 재시작되어도 데이터는 영구적으로 저장되는 속성 ○ API: 정해진 규칙 → 데이터를 영구적으로 보관하기 위해 Java진영에서 정해진 규칙 □ 자바진영의 ORM(object-Realtional Mapping) ○ Object: 객체 ○ Realtio..

BE Study 2024.02.27

[운영체제] 프로세스 & 스레드

▣ 운영체제(OS, Operating System) - 하드웨어를 관리하고, 컴퓨터 시스템의 자원들을 효율적으로 관리하여 사용자가 컴퓨터를 편리하고 효과적으로 사용 할 수 있는 환경을 제공하는 시스템 소프트웨어. 메모리 커널 영역 운영체제 사용자 영역 응용프로그램1 메이플스토리(2000번지) 응용프로그램2 메모장(1500번지) 응용프로그램3 인터넷(1000번지) 운영체제는 항상 메모리의 커널 영역에 적재되어 실행되며, 응용프로그램을 메모리 주소가 겹치지 않게 적당한 공간에 적재(+삭제)시켜준다. 또한, 응용 프로그램 실행시 사용되는 CPU의 자원을 공정하게 할당한다. ※ 운영체제는 커널 영역에 포함되지만 운영체제가 제공하는 서비스인 사용자 인터페이스(User Interface)와 같은 바탕화면은 커널에 ..

[BE Study] Day5,6 Controller 분리하기/ Spring Container, Bean

🍫 5일차 과제 public class Main { public static void main(String[] args) throws Exception { Scanner sc = new Scanner(System.in); System.out.print("숫자를 입력하세요 : "); int a = sc.nextInt(); // 주사위를 던진 횟수 System.out.print("주사위 면의 개수를 입력하게요 : "); int b = sc.nextInt(); int[] result = new int[b]; for (int i = 0; i < a; i++) { int c = (int) (Math.random() * b); result[c]++; } for (int i = 0; i < b; i++) { Syst..

BE Study 2024.02.26

[BE Study] Day 3 - 익명 클래스/ 람다/ 스트림 API

◈ BE스터디 3일차 과제 JdbcTemplate을 이용해 SQL을 MySQL로 날릴수 있다. 익명 클래스 - 프로그램에서 일시적으로 한번만 사용되고 버려지는 객체. → 재사용이 되지 않음(일회성) // 익명 클래스를 사용한 ActionListener의 구현 button.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { System.out.println("Button clicked"); } }); // 같은 ActionListener를 다시 사용하려고 하면 불가능 button2.addActionListener(new ActionListener() { @Override public vo..

BE Study 2024.02.23

[BE Study] Day2 - POST API/ LocalDate, LocalTime

더보기 POST API 개발 HTTP Body를 이용하여 데이터를 받는다 JSON - Javascript Object Notation @PostMapping("multiply") public int multiplyTwoNumbers(@RequestBody CalculartorMultiplyRequest request) { return request.getNumber1() * request.getNumber2(); } @RequestBody를 사용하면 클라이언트가 보내는 HTTP요청 본문(JSON or XML)을 Java오브젝트로 변환. 유저 생성 API개발 유저 조회 API controller에서 getter가 있는 객체를 반환하면 JSON형태로 반환 ※ 과제 2일차 ▣ 문제 1 ● 두 수를 입력하면, ..

BE Study 2024.02.21

24/02/19 백준(Greedy - 9/50)

◈ 백준(Greedy) - 1213*, 16435, 15903 ◈ SQL Lv2 - 자동차 평균 대여 기간 구하기** ● ROUND(AVG(DATEDIFF(END_DATE,START_DATE)+1),1) - ROUND( X, 1) : X를 소수 둘째자리에서 반올림( 소수 1자리 수로 표기한다.) - DATEDIFF(Y,Z) : 날짜 차이 계산( +1은 10.19~10.20 일때 2일이기 때문이다.) 고득점 KIT (JOIN - 오랜 기간 보호한 동물(1)*, 없어진 기록 찾기*,있었는데요 없었습니 주문량이 많은 아이스크림들 조회하기*, 5월 식품들의 총매출 조회하기, 그룹별 조건에 맞는 식당 목록 출력하기*) ● LEFT JOIN vs (INNER) JOIN - LEFT JOIN : 왼쪽 테이블의 모든 ..

Study Record 2024.02.20

[BE Study] Day 1 - HTTP 요청/ Server/ 어노테이션(@)

더보기 ◈ 강의 섹션 1: 1~5 Server : 어떠한 기능을 제공하는 프로그램, 그 프로그램을 실행하는 컴퓨터. 네트워크 : 택배 시스템 네트워크 집 컴퓨터 주소/서울시 00구 00동 00번지 IP/ 244.77.51.9 집주소 별칭/파란집 도메인 이름/spring.com 택배받는 사람 port / 3000 데이터를 주고 받는 표준 : HTTP HTTP 요청 POST/oak/leather 메소드 패스 쿼리 Host: spring.com:3000 헤더 한 줄 띄기 오크가죽정보 바디 API(Application Programming Interface) 정해진 약속을 하여, 특정기능(HTTP 주고받기)을 수행하는것. HTTP응답 요청에 대한 응답을 제공한 컴퓨터가 Server 요청을 한 컴퓨터 Client..

BE Study 2024.02.19
728x90