728x90

분류 전체보기 341

[Back-end] 스프링 입문 :: AOP

*AOP(Aspect Oriented Programming): 공통 관심 사항(cross-cutting concern)과 핵심 관심 사항(core concern)을 분리하는 것. 모든 메소드의 호출 시간을 측정하고 싶을 때회원 가입 시간, 회원 조회 시간을 측정하고 싶을 때1. 회원 가입, 회원 조회 시간 측정하기(일일이)import com.yoonsung.firstproject.domain.Member;import com.yoonsung.firstproject.repository.MemberRepository;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Service;i..

[Back-end] 스프링 입문 :: 스프링 DB 접근 기술

*JPA: Java Persistence API.          자바에서 객체를 데이터베이스에 저장하고 관리하기 위한 인터페이스와 기능을 제공하는 API.          Jdbc > JPA로 진화하며 쿼리 없이 객체를 DB에 저장할 수 있게 됨. *JPA 장점: 기존의 반복 코드는 물론이고 기본적인 SQL 도 JPA 가 직접 만들어서 실행해준다.                  SQL과 데이터 중심의 설계에서 객체 중심의 설계로 패러다임을 전환할 수 있다.                  개발 생산성 높이기 !  교육용으로 좋은 가벼운 DB를 설치해 보자. 1. H2 Database Engine 설치https://www.h2database.com/html/main.html H2 Database Engin..

[Back-end] 스프링 입문 :: 회원 관리 예제 - 웹 MVC 개발

//회원등록 기능 만들기 controller > HomeController.javaimport org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.GetMapping;@Controllerpublic class HomeController { @GetMapping("/") public String home(){ return "home"; }}localhost:8080/homeSpring 을 실행시키면 GetMapping 을 먼저 찾아서 화면을 보여준다. GetMapping 이 없으면 그 때 static 파일을 찾아서 보여준다.  templates > home.html ..

[컴퓨터 밑바닥의 비밀] 3장. 메모리 Memory

3.1 메모리의 본질, 포인터와 참조 1bit = 0, 1 딱 2가지 정보만 표현할 수 있는 단위.1byte = 8bit = 2^8 = 256가지 = 0 ~ 255 숫자 표현.4byte = 2^32 = 4,294,967,297개12byte = int형 변수 3개 표현. 구조체. 객체. 모든 바이트는 메모리 주소를 가지고 있다. memory address. addressing.4byte 정도는 되어야 숫자를 표현하기에 충분하기에 int 형 변수의 크기가 4byte로 고착화 되었다.(int 형 변수의 크기는 32bit, 64bit 시스템에 따라 다르다.) - 8byte 크기의 메모리.- 0~7이 메모리 주소.- 1+2 연산을 하고 싶을 때 숫자 1,2를 메모리에 할당해야 한다.- 메모리 주소와 값의 표현이 ..

[Back-End] 스프링 입문 :: 스피링 빈과 의존관계

* 의존관계 ?MemberService 가 MemberController 를 통해 데이터를 가져오고 보여주고 해야 한다. 이를 MemberService 가 MemberController 를 의존한다고 표현한다. [스프링 빈을 등록하고 의존관계 설정하기]회원 컨트롤러가 회원 서비스와 회원 레파지토리를 사용할 수 있게 의존관계를 준비하자.@Controllerpublic class MemberController{ private final MemberService memberService; @Autowired public MemberController(MemberService memberService){ this.memberService = memberService; }}@Serv..

[Back-End] 스프링 입문 :: Spring 웹 개발 기초

Spring Boot 로 웹을 개발하는 방법 3가지. 1. Static Content 정적 컨텐츠파일을 그대로 웹브라우저에 내리는 것.Spring Boot 는 정적 컨텐츠를 자동으로 찾아서 내려주는 기능을 제공한다.즉, static 이라는 예약어로 폴더를 만들어서 안에 .html 파일을 넣으면 이를 스프링 부트가 찾아서 그대로 컨텐츠를 내려준다. 정적 컨텐츠에 따로 프로그래밍은 할 수 없다. controller 가 더 우선순위를 갖는다. Servlet Web Applications :: Spring BootIf you want to build servlet-based web applications, you can take advantage of Spring Boot’s auto-configuration ..

[Unity Error] FSBTool ERROR: Internal error from FMOD sub-system.

mp3 파일을 import 하던 중 FSBTool Error 가 났다.mp3 파일의 어떤 속성 값이 바뀌며 Unity 가 import 하지 못한 에러이다.파일 아이콘도 기존 mp3 파일과 다르다.Errors during import of AudioClip Assets/Project/Learning/Dictation/pass_004.mp3:FSBTool ERROR: Internal error from FMOD sub-system.FSBTool ERROR: Internal error from FMOD sub-system.  아래 사이트에서 mp3 파일을 한번 더 mp3 파일로 convert 해주면 해결 된다.https://online-audio-converter.com/ Online Audio Convert..

[Algorithm] 세그먼트 트리(Segment Tree)

구간합, 구간에 따른 경우의 수를 구하는 문제에서 많이 쓰이는 알고리즘인 세그먼트 트리에 대해 알아보자. * 세그먼트 트리의 등장 배경 및 필요성S[0] = A[0];for (int i=1; i 구간합을 단순 for 문을 이용해서 구하는 코드이다.0~n 까지의 합을 구할 때 O(n) 의 시간복잡도가 발생한다.0~n 뿐 아니라 2~5, 100~200 등 m 개의 구간합을 구한다면 O(nm) 의 시간복잡도가 발생한다. 여기서 만약 A[x] 의 값을 변경해야 하면 어떻게 될까.A[x] 값이 포함된 모든 S 배열 값을 변경해서 다시 구간합을 구해주어야 한다.0번 값이라고 하면 또 O(nm) 의 시간복잡도가 발생한다. 큰 수의 n, m 이 주어지면 시간초과로 풀 수 없다. 다른 방법을 찾아야 한다.* 세그먼트 트..

728x90