개인 공부😊 21

[네트워크] TCP/IP 4계층? 5계층?

OSI 7계층은 네트워크 통신을 표준화한 모델로, 통신 시스템을 7단계로 나누어 설명한 것입니다. 하지만 OSI 모델이 실무적으로 이용하기에 복잡한 탓에 실제 인터넷에서는 이를 단순화한 TCP/IP 4계층이 사용되고 있습니다. TCP/IP는 인터넷에서 사용하는 프로토콜 그룹을 칭합니다. TCP/IP는 Application layer(응용계층), Transport layer(전송계층), Network layer, Data link layer, Physical layer로 5개의 계층으로 나뉩니다. 아래와 같이 OSI의 7계층을 간소화해서 4계층으로 표현했다. Application + Presentation + Session → Application Network → Internet Data-Link + P..

개인 공부😊 2022.11.30

[Spring] h2 DB연결 (순수 JDBC)

H2 데이터베이스 설치 순수 Jdbc 스프링 통합 테스트 스프링 JdbcTemplate JPA 스프링 데이터 JPA 이건 그냥 고대의 선배님들이 이렇게 했다.. 편안하게 공부하는 마음으로 했다! 이제는 잘 안씀!!! 1. H2 데이터베이스 설치 →개발이나 테스트 용도로 가볍고 편리한 DB, 웹 화면 제공 https://www.h2database.com/html/download-archive.html 1.4.200버전으로 설치하기!!! 안그러면 오류 최초에는 데이터베이스 파일 만들어야함 연결누르면 Unsupported database file version or invalid file header in file " 오엥? 지원되지 않는 헤더라길래 test말고 testDB로 치니까 연결됨 데이터베이스 파일 ..

[데이터베이스] 4.5 인덱스

1. 인덱스의 필요성 데이터를 빠르게 찾을 수 있는 하나의 장치! 인덱스 생성의 장단점 장점 검색 속도가 빨라 질수 있다. 시스템의 부하를 줄여 전체 시스템의 성능을 향상 시킨다. 단점 인덱스는 Database 공간을 차지 한다 .- 인덱스 생성 시 많은 시간이 소요 될 수 있다. 데이터 변경 작업 시(Insert, Update, Delete) 성능이 나빠질 수 있다(빈번할 경우) 2. B-트리 B트리는 이진트리에서 발전되어 모든 리프 노드들이 같은 레벨을 가질 수 있도록 자동으로 밸런스를 맞추는 트리. 정렬된 순서를 보장하고, 멀티레벨 인덱싱을 통한 빠른 검색을 할 수 있어 DB에서 사용하는 자료구조 중 한 종류 자식 node의 개수가 2개 이상이며, node 내의 key가 1개 이상일 수 있다. 루트..

[데이터베이스] 4.4 데이터베이스의 종류

1. 관계형 데이터베이스 → 관계형 데이터베이스란 행과 열을 가지는 표 형식 데이터를 저장하는 형태의 데이터베이스를 가리키며 SQL이라는 언어를 써서 조작! 참고! 관계형 데이터베이스의 경우 표준 SQL은 지키기는 하지만, 각각의 제품에 특화시킨 SQL을 사용 예를 들어 오라클의 경우 PL/SQL 이라고 하며, SQL Server 에서는 T-SQL. MySQL 은 SQL 사용 1) MySQL 대부분 운영체제와 호환되며 현재 가장 많이 사용하는 데이터베이스 C, C++ 로 만들어졌으며 매우 빠른 조인, 스레드 기반의 메모리 할당 시스템, 최대 64개의 인덱스를 제공 - 롤백 , 커밋, 이중 암호 지원 보안 등의 기능 제공 2) PsetgreSQL 디스크 조각이 차지하는 영역을 회수할 수 있는 장치인 VAC..

[데이터베이스] 4.3 트랜잭션과 무결성

1. 트랜잭션이란? 데이터베이스에서 하나의 논리적 기능을 수행하기 위한 작업의 단위 즉 여러개의 쿼리들을 하나로 묶는 단위! _트랜잭션이 보장해야 하는 ACID 원자성, 일관성, 격리성, 지속성 Atomicity(원자성) - all or nothing → 트랜잭션과 관련된 일이 모두 수행되었거나 되지 않았거나를 보장하는 특징 한 트랜잭션 내에서 실행한 작업들은 하나의 작업으로 간주. 모두 성공 또는 실패되어야 한다. Consistency(일관성) → ‘허용된 방식’으로만 데이터를 변경해야 하는 것(통장에 500원있는데 500만원 출금 X) Isolation(격리성) : →동시에 실행되는 트랜잭션들이 서로 영향을 미치지 않도록 격리 트랜잭션 수행 시 서로 끼어들지 못함! _격리성 관련 문제점 1**) No..

[데이터베이스] 4.2 ERD와 정규화 과정

ERD란? → 데이터베이스 구축할 때 가장 기초적인 뼈대 역할을 하며, 릴레이션 간 관계들을 정의한 것. 시스템의 요구 사항 기반으로 작성되며 ERD를 기반으로 데이터베이스를 구축한다. 서비스를 구축한다면 가장 먼저 신경써야할 부분이다!!!! ERD 단점 → 관계형 구조는 유용 BUT 비정형 데이터를 충분히 표현할 수 없다. 비정형 데이터 : 비구조화 데이터, 미리 정의된 데이터 모델이 없거나 미리 정의된 방식으로 정리되지 않은 정보 정규화 과정 정규형 원칙 자료의 중복성 감소 독립적인 관계는 별개의 릴레이션으로 표현 각가의 릴레이션은 독립적인 표현이 가능해야 함 데이터베이스 이상 현상 : 삭제할 때 필요한 데이터가 같이 삭제되고, 데이터 삽입을 해야하는데 하나의 필드가 NULL이되면서 삽입하기 어려운 ..

[데이터베이스] 4.1 데이터베이스의 기본

데이터베이스란? → 일정한 규칙 혹은 규약을 통해 구조화되어 저장되는 데이터의 모음. 데이터베이스 안에 있는 데이터들은 특정 DBMS마다 정의된 쿼리 언어를 통해 삽입, 삭제, 수정, 조회 등을 수행할 수 있다. 또한 데이터베이스는 실시간 접근과 동시 공유가 가능합니다. DBMS → 해당 데이터베이스를 제어, 관리하는 통합시스템을 DBMS라고 한다. 엔터티 → 엔터티는 사람, 장소, 물건, 사건, 개념 등 여러 개의 속성을 지닌 명사를 의미 언테터티는 약한 엔터티와 강한 엔터티로 나뉜다. 예를 들어 A가 혼자서 존재하지 못하고 B의 존재 여부에 따라 종속적이라면 A : 약한 엔터티 B : 강한 엔터티 예) 방은 건물 안에만 존재함 방 : 약한 엔터티 건물 : 강한 엔터티 릴레이션 → 릴레이션은 데이터베이..

[JSP] ["]을(를) 사용하여 인용부 처리되어 있는데, 이는 값 내에서 사용될 때에는 반드시 escape되어야 하는 것입니다.]을(를) 발생시켰습니다.

그래서 null값이 계쏙 되어있었구나….. 톰캣 web.xml 에 jsp org.apache.jasper.servlet.JspServlet 아래부분에 strictQuoteEscaping false 내용 추가 해결! 번외 이슈 어? 근데 자식창에서 부모창으로 값이 null로 넘어간다 인풋창 안에는 잘 나오지만 아이디: 를 넣어보니 null값이 찍힌다. 이것만 이제 해결해주면 될 것 같다. 시도1. 컨트롤러 포워드를 SignUp2로 해보자 null이 아니지만 아예 새로운 창이 뜬다 시도2. 1. window.open으로 새창을 띄운 경우라도 그 창이 다른 도메인으로 변경되었을 경우에는그 창의 opener가 null이 되므로 opener.document를 사용할 수 없다.이런 경우에는 새창을 frame으로 나..

[JQUERY][JSP] 제이쿼리 테이블 행 값 가져오기

제이쿼리 사용 제이쿼리 테이블 값 가져오기 //테이블의 Row 클릭시 값 가져오기 $("#memberTable tr").click( function() { var str = "" var tdArr = new Array(); // 배열 선언 var user_id1 = document.getElementById("user_id1").value; var user_id2 = document.getElementById("user_id2").value; var user_id3 = document.getElementById("user_id3").value; // 현재 클릭된 Row() var tr = $(this); var td = tr.children(); // tr.text()는 클릭된 Row 즉 tr에 있는 모..

[JSP] java.sql.SQLException: Cannot create PoolableConnectionFactory (Listener refused the connection with the following error:ORA-12505, TNS:listener does not currently know of SID given in connect descriptor(CONNECTION_ID=7AfZ/gocTC2kFF+Ws6MBLQ==))

아 리스너 잘못된줄 알고 대대적으로 만져야하나 걱정했는데 저걸 xe로 바꿔주니 되었다 (생각해보니 오라클 할때도 xe로 접속했었따. 아니 근데 왜 팀프로젝트만 들어가면 오류가 날까? java.sql.SQLException: Cannot create PoolableConnectionFactory (Listener refused the connection with the following error: ORA-12505, TNS:listener does not currently know of SID given in connect descriptor (CONNECTION_ID=0XVuyCJ1Sn2DzKEs3cklew==)) 계속 이 오류가 뜨는걸로 보아 SID가 진짜 뭐가 잘못된걸까… 아니 그러면 왜 다른 프로..