분류 전체보기 88

[JPA활용1 - 김영한] 세션 2 도메인 분석 설계 - 엔티티 클래스 개발1

엔티티 클래스 개발 예제에서는 Getter, Setter 모두 사용하지만 실무에서 Setter는 꼭 필요할 경우에만 사용 Getter 호출 막해도 ㄴ상관, Setter 호출 시 데이터 변화로 인해 변경 추척에 어려움 엔티티의 식별자와 PK컬럼명 : 테이블은 관례상 컬럼이름은 [테이블명 + id]을 사용하고, 엔티티 타입은 id로 쉽게 구분할 수 있도록 작성한다. 연관관계 Mapping 분석 코드 회원과 주문 domain>Order @ManyToOne @JoinColumn(name = "member_id") private Member member; Order - Member : 다대일 관계 @ManyToOne Member - Order : 일대다 관계 @OneToMany @JoinColumn(name=" ..

[모든 개발자를 위한 HTTP 웹 기본 지식 - 김영한] 세션8 HTTP 헤더2 - 캐시와 조건부 요청

캐시 기본 동작 요청하면 응답 http를 보면 헤더와 바디가 합쳐져서 1.1m 용량 보내짐. 같은 데이터라도 계속 네트워크로 데이터를 다운받아야 한다. 인터넷 네트워크는 매우 느리고 비싸다. 브라우저 로딩 속도가 느리다. 캐시 적용 - 첫 번째 요청 헤더에 캐시가 유효한 시간을 넣어주면 60초동안은 캐시가 유효한다. 이는 브라우저 캐시에 저장된다. 두 번째 요청 두 번째 요청 때 캐시에 저장되어 있고 60초가 유효하다면 캐시에서 바로 가져온다. 비싼 네트워크 사용X 비싼 네트워크 사용량 감소 빠른 브라우저 로딩 속도 세 번째 요청 - 캐시 시간 초과 캐시 유효 시간이 지나면 네트워크를 사용해 다시 조회하고 캐시를 갱신한다. 이때 다시 네트워크 다운로드가 발생한다. 검증 헤더와 조건부 요청1 캐시 시간 초..

[모든 개발자를 위한 HTTP 웹 기본 지식 - 김영한] 세션2 URI와 웹 브라우저 요청 흐름

URI(Uniform Resource Identifier)=리소스를 식별하는 통합된 방법, 로케이터(locator), 이름(name) 또는 둘 다 추가로 분류될 수 있다. Uniform : 리소스를 식별하는 통일된 방식 Resource : 자원, URI로 구분할 수 있는 리소스 전부 (ex. 교통 정보) Identifier : 다른 항목과 구분하는데 필요한 정보 URL (Uniform Resource Locator)= 리소스 위치, http URN (Uniform Resource Name)= 리소스 이름, 위치를 찾을 수 없다. URL 전체 문법scheme http,https(http에 보안 추가), ftp 프로토콜 사용 프로토콜 : 자원에 접근하는 방식 http = 80 / https = 443 > 포..

[스프링 입문 - 김영한] 세션 5 회원 관리 예제 - 웹 MVC 개발

회원 웹 기능 - 홈 화면 추가 @Controller public class HomeController { @GetMapping("/") public String home(){ return "home"; } } 단순한 회원 등록과 조회를 할 수 있는 사이트생성 > home.html 호출 home.html localhost 8080 기본 페이지 회원가입 /members/new 회원목록 > /members - 이전에 만들었던 static > index.html 보다 controller가 우선순위가 높다. - controller 여부 확인 후 없으면 static 파일 회원 웹 기능 - 등록 MemberController @GetMapping ("/members/new") public String createF..

chapter 03 산술과 논리연산

ALU(Arithmetic and Logical Unit) 산술 논리 연산 장치는 가산기를 중심으로 연산 결과 등을 기억하는 레지스터, 보수 값을 생성하는 보수기, 오버플로를 검출하는 오버플로 검출기 등으로 구성되어 있다. 사칙연산인 산술 연산과 두 수의 크기를 비교하고 판단하는 논리연산의 기능을 한다. 자료의 수가 하나일 경우에는 단항 연산을 두 개의 자료에 대해서는 2진(binary) 연산을 수행한다. 주기억장치에 있는 데이터를 레지스터에 입력한다. 비트들을 좌우로 이동시키는 시프트 레지스터(shift register)와 연산 결과의 상태를 나타내는 플래그를 저장하는 상태 레지스터(status register)가 있다. CPU 연산을 위해서는 Data 정보가 있어야 한다. 레지스터의 개수가 많을 수록..

04_회귀(Regression)

회귀(Regression) 회귀(Regression)는 입력과 출력 값 사이의 관계를 학습하여 주어진 입력에 대한 출력 값을 예측하는 데 사용되는 학습 방법이다. 회귀 모델은 주어진 데이터를 가장 잘 설명하고 근사하는 함수를 찾는 것이 목표이다. 주로 연속적인 값을 예측하고자 할 때 활용된다. 학습 데이터셋 {𝐱₁, 𝑦₁, 𝐱₂, 𝑦₂, … , 𝐱ₘ, 𝑦ₘ}에서 입력 데이터 𝐱와 이에 상응하는 출력 값 𝑦 사이의 관계를 설명하는 함수 ℎ(𝐱)를 찾는다. 예를 들어 자동차의 특성(차종, 제작년도, 주행거리 등)을 이용하여 중고 자동차의 판매 가격을 예측하는 등의 문제에 활용된다. 용어 및 표기법 i번째 샘플 및 레이블 x(i) : i번째 샘플의 특성 값(열) y(i): i번째 샘플에 대한 출력 값(=목표 ..

02_학습과 평가

학습 데이터의 구성 학습에 사용되는 개별 데이터를 샘플이라 한다. = 학습 인스턴스, 학습 예제 학습 데이터는 입력과 출력의 쌍으로 이루어져있고, 새로운 입력에 대한 출력으로 대응관계를 만족시키는 함수 h(x)를 찾는다. ex) 지역별 주택 가격 예측 문제 : 샘플 1 입력 : 각 지역 출력 : 그 지역의 주택 가격 (서울 강남구, 1,234,000 ) 강남과 강북은 비슷하니 부적적할 데이터이다. 입력과 출력의 관계는 명확해야 하며 인구수나 소득 등의 어떤 요소가 영향을 미치는지에 대한 표현이 명확해야 한다. 샘플은 여러 특성(feature, 특징, 자질)들로 구성한다. 즉, 특성들로 목표(target)값을 예측할 수 있도록 학습 데이터를 구성해야 한다. 목표값 = 레이블(label)=클래스(class)..

chapter 02 자료 표현

자료의 구성단위 파일은 개념적으로 자료의 집합이다. 파일 시스템은 파일 내용과 파일의 상태정보로 이루어져 있다. 파일의 상태 정보에는 파일을 수정, 저장, 삭제한 내역들이 담겨 있다. 저장 내용에 따라 프로그램 파일(원시 프로그램 파일, 목적 프로그램 파일, 실행 파일)과 데이터 파일로 나뉜다. 저장 정보의 형태에 따라서는 텍스트 파일과 이진 파일로 나뉜다. 필드(field)는 특정한 한 종류의 자료를 포함하는 기억 영역의 최소 단위이다. 예를 들어 재고 파일의 품명 번호나, 색코드 등이 필드이다. 레코드(record)는 실제로 읽고 쓰는 단위로서 사용되는 자료 단위이다. 고정 길이 레코드는 크기가 너무 작으면 남는 문자열이 잘리고 크기가 너무 크면 저장 공간이 낭비된다. 가변 길이 레코드는 레코드의 정..

chapter 1: Introduction (2)

프로세서 (=program in execution) 프로세서는 현재 실행 중인 프로그램이고 이외의 것은 다 프로그램이다. 프로그램은 하드디스크 안에 존재하고 실행 파일로 만들어서 컴파일하고 실행 파일로 만들어야 한다. 파일을 메모리에 올렸을 때 동작을 할 수 있는 동작 단계가 프로세스이다. - 프로그램 자체는 수동적이지만 프로세스는 능동적 개체 더보기 https://blogger.pe.kr/422/ 프로세서와 프로세스의 차이 (processor vs process) IT 업종에서 일하면서 가끔 프로세서(processor)와 프로세스(process)를 구별하지 못하는 개발자나 엔지니어들을 종종 보게 됩니다. blogger.pe.kr 운영체제의 프로세스 관리 - 순서정하고 없애고 재실행하고 중간에 싸우면 죽..

[스프링 입문 - 김영한] 세션 3 회원 관리 예제

섹션 3-4 : 회원 서비스 개발 회원 서비스 개발을 위한 service 패키지 안에 서비스 클래스를 생성한다. public class MemberService { private final MemberRepository memberRepository = new MemoryMemberRepository(); } 회원 서비스가 메모리 회원 리포지토리를 직접 생성한다. 회원 서비스를 위한 MemberRepository를 선언해 준다. 기획자와의 원활한 소통을 위해 서비스 클래스에 관련된 이름은 비즈니스 적인 이름을 사용하는 것을 권장한다. ex) join, findmember 회원 가입 public Long join(Member member){ // 같은 이름이 있는 중복 회원x memberRepository..