원지의 개발
728x90
보호되어 있는 글입니다. 내용을 보시려면 비밀번호를 입력해주세요.
보호되어 있는 글입니다. 내용을 보시려면 비밀번호를 입력해주세요.
article thumbnail
[인프런] 스프링 핵심원리 - 이론 및 실습 요구사항 & 1. 회원 도메인
Server/Spring 2023. 11. 11. 12:41

생성 JPA EJB 엔티티빈(사용 어려움)이 등장 후 하이버네이트가 나왔고, 표준으로 JPA가 됨 JPA는 표준 인터페이스이고 구현체로 하이버네이트, EclipseLink 등이 있음 스프링 로드 존슨 EJB의 문제점 지적 후 생긴 기술 스프링 프레임워크 핵심 기술: 스프링 DI 컨테이너, AOP, 이벤트, 기타 좋은 객체 지향 애플리케이션을 개발할 수 있게 도와주는 프레임워크 웹기술: 스프링 MVC, 스프링 WebFlux 데이터 접근 기술: 트랜잭션, JDBC, ORM 지원, XML 지원 기술 통합: 캐시, 이메일, 원격접근, 스케줄링 테스트: 스프링 기반 테스트 지원 언어: 코틀린, 그루비 스프링 부트 스프링을 편하게 사용할 수 있도록 지원 단독으로 실행할 수 있는 스프링 애플리케이션을 쉽게 생성 (톰..

article thumbnail
[네트워크] HTTPS & SSL TLS, 혼합 콘텐츠
Study/Network 2023. 11. 1. 16:22

HTTPS HTTP 프로토콜 상위에서 TLS 암호화를 구현한 것으로 HTTPS를 사용하는 웹사이트는 TLS 암호화를 이용 혼합 콘텐츠 경우에 따라 HTTPS 사이트에는 일반 텍스트 HTTP 프로토콜을 사용하여 로드되는 일부 요소도 포함될 수 있음 = 혼합 콘텐츠 조건 생 HTTPS를 통한 HTTP 콘텐츠가 혼합된 경우 HTTPS로 보호되는 사이트에 있으므로 안전하게 암호화된 채로 연결되어 있다고 생각하지만, 페이지의 암호회되지 않은 요소로 인해 취약점이 발생할 수 있음 심각도는 혼합 콘텐츠가 패시브(이미지, 동영상)인지 액티브(JavaScript 파일, API 요청)인지에 따라 달라짐 혼합 콘텐츠를 모두 차단하는 웹 브라우저는 사용자에게 매우 좁은 버전의 웹을 제공하는 것이므로 브라우저는 덜 심각한 형태..

article thumbnail
[네트워크] socket, 웹소켓
Study/Network 2023. 9. 14. 14:10

socket컴퓨터 사이에 네트워킹을 위한 통신 채널클라이언트 프로세스는 소켓을 통해 서버 프로세스와 데이터를 주고받을 수 있음전화와 같이 신뢰할 수 있는 양방향 통신을 제공프로세스 간의 통신에 사용되는 양쪽 끝단(endpoint)을 의미소켓은 TCP/IP 레이어(4계층)에서 작동하고, 웹 소켓은 HTTP 레이어(7계층)에서 작동함인터넷 프로토콜에 기반, 대부분의 네트워크 소켓은 인터넷 소켓임과정시스템을 구축할 때는 서버 프로세스를 위한 server socket 객체를 만듦서버 서비스가 원활하게 진행되면 클라이언트 프로세스를 만듦시스템 구축을 완료하면 고유한 IP 주소와 포트 번호를 가진 서버와여기에 접속한 클라이언트는 소켓을 통한 양방향 통신이 가능해짐2022.10.31 - [프로그래밍 언어/Java] ..

article thumbnail
[Java] Date, LocalDateTime..., Calendar, DecimalFormat
프로그래밍 언어/Java 2023. 9. 1. 11:42

2022.10.25 - [프로그래밍 언어/Java] - [Java] API_ java.util (arrays - search, date, calendar, random) → 이어서 추가적인 설명과 연습과제 진행해보았다. Date Calendar가 새로 추가되면서 Date의 메서드가 'deprecated' 되었으므로 잘 사용하지 않음 그럼에도 Date를 필요로 하는 메서드가 있으므로 변환 방법 알기 Date ↔ Calendar package dateAndCalendarTest; import java.util.Calendar; import java.util.Date; public class DateCalendarChange { public static void main(String[] args) { //1...

article thumbnail
[네트워크] 로드 밸런싱, 공인 IP & 사설 IP
Study/Network 2023. 9. 1. 03:20

로드 밸런싱 load balancing 쏟아지는 트래픽을 여러 대의 서버로 분산시켜주는 기술 네트워크 또는 서버에 가해지는 부하(Load)를 분산시켜 처리해주는 기법 가용성, 확장성, 보안 및 성능 향상 목적 또 다른 보안 계층을 추가할 수 있는 보안 기능이 내장 정적 라운드 로빈 방식 클라이언트로부터 받은 요청을 순서대로 할당하는 방식 로드 밸런싱 대상 서버의 성능이 동일하고 처리 시간이 짧은 애플리케이션의 경우 균등 분산 가중 기반 라운드 로빈 방식 우선 순위 또는 용량에 따라 각 서버에 서로 다른 가중치 할당 가중치가 높으면 더 많은 트래픽 수신 IP 해시 방식 클라이언트 IP 주소에 해싱을 수행하여 숫자로 변환한 다음 개별 서버에 매핑 사용자가 항상 동일한 서버로 연결되는 것을 보장 동적 최소 연..

article thumbnail
[Spring] 스프링 입문을 위한 자바 객체 지향의 원리와 이해
Study 2023. 7. 19. 13:39

배경 Assembly - 0과 1로 이루어진 기계어를 일상 용어로 만들기 위해 일대일로 매칭하는 코드표 기존에는 기계의 종류에 맞는 프로그램 소스 파일이 필요했는데, C언어의 등장으로 하나의 소스 파일(싱글 소스)만 가지면 알아서 컴파일러로 소스를 생성 인간 언어 체계와 기계어의 매칭이 1:1 → m:n 변환 CBD SOA 클래스 vs 객체 나이의 유무에 따라 구분 클래스 - 분류에 대한 개념 (실체x), 같은 속성과 기능을 가진 객체를 총칭하는 개념 객체(속성 + 기능) - 실체 = 클래스의 인스턴스 추상화: 모델링 구체적인 것을 분해해서 관찰자가 관심 있는 특성만 가지고 재조합 하는 것 클래스 설계에서 추상화가 사용됨 Spring IoC/DI AOP PSA - 일관서 있는 서비스 추상화 자바와 절차적..

article thumbnail
[Java] java.io 패키지 - 로그 파일에서 ip 접속 횟수 출력
프로그래밍 언어/Java 2023. 7. 5. 14:18

- 로그 파일은 문자열이 기록된 파일이므로 Character Stream 사용 - 읽을 때 네이티브 메소드 호출 횟수를 줄이기 위해 버퍼 사용하는 것이 좋음 - BufferedReader 이용 '-' 는 0임 split 사용해서 공백 뒤의 자리 더하기 각각이 몇번 접속했는지 확인 똑같은 아이피가 나오면 count Map은 똑같은게 있으면 덮는게 아님 있으면 1, 또 있으면 1에 추가 마지막으로 sort (내림차순) 조건 로그 파일 읽기 하나의 ip가 몇 번 접속했는지 확인 가장 많이 접속한 ip부터 순차 출력 과정 1. BufferedReader 객체 생성 package logTest; import java.io.BufferedReader; import java.io.FileReader; import j..

article thumbnail
[자료구조&알고리즘] 해시, 해시법(체인법, 오픈주소법)

해시데이터의 추가와 삭제를 효율적으로 수행할 수 있는 방법String 기반으로 정보를 기록하고 관리할 때 사용1. 전화번호부와 같음2. key가 String인 경우가 대부분3. put / get / getOrDefault해시법 (hashing)데이터를 저장할 위치(인덱스)를 간단한 연산으로 구현하는 것표에 정리한 값을 해시 값(hash value)이라고하며, 데이터에 접근할 때 사용해시 테이블의 요소 = 버킷인덱스012345678키 값56142029343751-해시 값56522716-해시값 = 각 요소의 값을 배열의 사이즈로 나눈 나머지 변경인덱스012345678키 값1-3729--145134-키 값2--20--56--더보기기존의 배열에 값을 추가하는 방법1. 이진검색법으로 삽입할 위치 조사2. 그 위치..

article thumbnail
[자료구조&알고리즘] 트리, 이진 트리, 이진 검색 트리

트리 비선형구조 그래프는 사이클이 있고, 트리는 사이클이 존재하지 않음 계층 관계를 나타내는 자료구조 트리는 저장위치를 찾아서 저장해야 하고, 삭제시 트리의 일부를 재구성해야하므로 링크드 리스트보다 추가/삭제 시간이 더 걸리는 대신 배열이나 링크드 리스트에 비해 검색과 정렬 기능이 더 뛰어남 용어 노드(node) 마디 A, B, C, D, E, F, G 간선(edge) 가지, 링크 루트(root) 트리의 가장 윗부분에 위치하는 노드 A 리프(leaf) 단말 노드(terminal node) 바깥 노드(external node) 트리의 가장 아랫부분(가장 마지막)에 위치하는 노드 D, E, F, G 간 노드(non-terminal node) 안쪽 노드 루트 포함, 리프가 아닌 노드 A, B, C 자식(chi..

article thumbnail
[SQL] DATE_FORMAT, Null 처리

DATE_FORMAT date 타입을 원하는 형식의 문자열로 변환할 수 있는 함수 SELECT DATE_FORMAT(NOW(),'%Y-%m-%d') AS DATE FROM DUAL; Date and Time Format Specifiers 문서 https://dev.mysql.com/doc/refman/8.0/en/date-and-time-functions.html#function_date-format Specifier Description %a Abbreviated weekday name (Sun..Sat) %b Abbreviated month name (Jan..Dec) %c Month, numeric (0..12) %D Day of the month with English suffix (0th, 1..

728x90
250x250