[Spring] 어노테이션 정리
·
Backend/Spring Boot
1. @Transactional메소드나 클래스 단위로 트랜잭션을 적용하는 어노테이션해당 메소드가 정상적으로 완료되면 커밋되고,예외(Exception)가 발생하면 자동으로 롤백(Rollback)주로 DB를 다루는 서비스 계층에 붙여 사용기본적으로 RuntimeException 또는 Error가 발생할 때만 롤백(SQLException 같은 체크 예외는 별도로 설정해야 롤백)테스트 케이스에 이 어노테이션이 있으면 테스트 시작 전에 트랜잭션을 시작하고, 테스트 완료 후에 항상 롤백한다. 이렇게 하면 DB에 데이터가 남지 않으므로 다음 테스트에 영향을 주지 않는다.import org.springframework.transaction.annotation.Transactional;import org.springfr..
[Spring] 6. 스프링 DB 접근기술 - 순수 JDBC
·
Backend/Spring 입문
애플리케이션에서 DB에 연동하여 메모리가 아닌 DB에 쿼리를 날리는 것(JDBC) → 20년 전 방식package hello.hello_spring;import hello.hello_spring.repository.JdbcMemberRepository;import hello.hello_spring.repository.MemberRepository;import hello.hello_spring.repository.MemoryMemberRepository;import hello.hello_spring.service.MemberService;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.contex..
[Spring] 5. 회원관리 예제(웹 MVC 개발)
·
Backend/Spring 입문
회원 웹 기능 - 홈 화면 추가홈 컨트롤러 추가@Controllerpublic class HomeController { // localhost 8080으로 들어오면 home()이 호출된다. @GetMapping("/") public String home(){ return "home"; }}회원관리용 홈 Hello Spring 회원 기능 회원 가입 회원 목록 실행하고 localhost:8080에 들어가면 이전에 만들어둔 index.html이 아닌 home.html이 뜬다. 왜일까?index.html 은 컨트롤러 매핑이 아예 없을 때 자동으로 뜨는 화면Spring Boot는 reso..
[Spring] 4. 스프링 빈과 의존관계
·
Backend/Spring 입문
컴포넌트 스캔과 자동 의존관계 설정회원 컨트롤러에 의존관계 추가package hello.hello_spring.controller;import hello.hello_spring.service.MemberService;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Controller;@Controllerpublic class MemberController { private final MemberService memberService; @Autowired public MemberController(MemberService memberService) { ..
[Spring] 3. 회원 관리 예제 - 회원 레포지토리 테스트 케이스 작성 / 서비스 개발 / 서비스 테스트
·
Backend/Spring 입문
회원 레포지토리 테스트 케이스 작성개발한 기능을 실행해서 테스트 할 때 자바의 main 메서드를 통해서 실행하거나, 웹 애플리케이션의 컨트롤러를 통해서 해당 기능을 실행한다. 이러한 방법은 준비하고 실행하는데 오래 걸리고, 반복 실행하기 어렵고 여러 테스트를 한번에 실행하기 어렵다는 단점이 있다. 자바는 JUnit이라는 프레임워크로 테스트를 실행해서 이러한 문제를 해결한다.package hello.hello_spring.repository;import hello.hello_spring.domain.Member;import static org.assertj.core.api.Assertions.assertThat;import org.junit.jupiter.api.Test;public class Memory..
[PHP] POST/GET/쿠키
·
Backend/PHP
폼과 PHPHTTPHTTP(HyperText Transfer Protocol)는 웹 브라우저와 웹 서버가 서로 소통하기 위한 프로토콜, 즉 통신 규약웹 페이지에서 폼(form) 양식 처리를 이해하려면 HTTP의 동작 원리 이해가 필요웹 브라우저가 HTTP 통신 규약에 의해 웹 서버에 데이터를 요청하면 웹 서버는 이를 처리하여 결과를 웹 브라우저에 돌려줌폼 양식의 생성… 태그의 name 속성은 폼의 이름을 명시하며, 주며, 이 이름은서버로 제출된 폼 데이터 (form data)를 참조하기 위해 사용되거나, 자바스크립트에서 요소를 참조하기 위해 사용 태그의 action 속성은 폼에 입력한 데이터를 전달할 파일을 지정할 때 사용 태그의 method 속성은 통신을 통해 데이터를 전달하는 방법을 지정할 때 사용 ..
[PHP] 배열/함수
·
Backend/PHP
배열배열의 기본 형식변수명 = array (값1, 값2, .... 값):사용: 변수명[index]대괄호 안의 숫자는 배열의 첨자값(index)이며, 배열에서 저장되는 위치를 나타냄배열에서 각각의 데이터는 해당 인덱스가 지시하는 위치에 저장배열의 첨자값은 1이 아니라 0부터 시작한다는 것 주의배열을 이용한 버블 정렬버블 정렬(bubble sort)은 인접한 2개의 원소를 비교하면서 값을 정렬하는 방식배열의 원소 값을 서로 바꿔가면서 거품이 위로 올라가듯 정렬되어 버블 정렬이라고 함28, 15, 10, 25, 32, 17을 오름차순으로 정렬하는 버블 정렬의 예=0; $i--){ for($j=0; $j $arr[$j+1]){ $tmp = $arr[$j]; ..
[PHP] 조건문/반복문
·
Backend/PHP
조건문 이해하기if문// 출력 결과// 27 : 홀수= 95){ $grade = "A+"; }elseif($score >= 90){ $grade = "A"; }elseif($score >= 85){ $grade = "B+"; } echo "입력된 점수 : $score 점".""; echo "등급 : $grade";?>// 출력 결과// 입력된 점수 : 90 점// 등급 : Aswitch문// 출력 결과// 3 학년 급식비: 4만원// 출력 결과// 2 학년 급식비: 3만원 5천원// 3 학년 급식비: 4만원// 학년이 잘못 입력되었어요!break 문이 없으면 , 해당 case의 문장을 다 수행하고 바로 아래의 case의 문장도 계속 ..
[PHP] PHP 프로그래밍 기초
·
Backend/PHP
[PHP] MAC M2에서 XAMPP 설치 + VScode에 PHP 세팅하기XAMPP 설치 XAMPP Installers and Downloads for Apache FriendsWhat is XAMPP? XAMPP is the most popular PHP development environment XAMPP is a completely free, easy to install Apache distribution containing MariaDB, PHP, and Perl. The XAMPP open source packdropdew.tistory.comXAMPP 프로그램을 C:Wxampp 폴더에 설치했으므로, 여기서 만드는 PHP 프로그램은 /Applications/XAMPP/htdocs 폴더에 저장해..
[PHP] MAC M2에서 XAMPP 설치 + VScode에 PHP 세팅하기
·
Backend/PHP
XAMPP 설치 XAMPP Installers and Downloads for Apache FriendsWhat is XAMPP? XAMPP is the most popular PHP development environment XAMPP is a completely free, easy to install Apache distribution containing MariaDB, PHP, and Perl. The XAMPP open source package has been set up to be incredibly easy to install and to uswww.apachefriends.orgXAMPP for OS X를 누르고 XAMPP를 설치해준다. (신뢰가능한 어쩌고 그것까지 설정해야함)Manage ..