전체 글

혜+개발+아기 혹은 혜+발아기. 응애 웹 개발자
스키마의 정의 : 데이터베이스의 구조와 제약 조건에 관한 전반적인 명세를 기술한 메타데이터의 집합 더보기 메타 데이터(meta data): 데이터에 대한 데이터. 어떤 목적을 가지고 만든 데이터 데이터베이스를 구성하는 Entity 개체, Attribute 속성, Relationship 관계 및 데이터 조작 시 데이터 값들이 갖는 제약 조건 등에 관해 전반적으로 정의함 더보기 스키마와 ERD의 차이점 ERD는 설계도. 스키마는 구현 데이터베이스를 생성하기 전에, 설계를 미리 생각을 해야 하는데 그때 작성하는 것이 ERD 그것을 통해서 데이터베이스를 생성하면 DBMS에서 생성하는 게 스키마임 스키마의 특징 데이터 사전(=메타데이터)에 저장됨 시간에 따라 불변인 특성을 가짐 데이터의 구조적 특성을 의미하며, ..
프로젝트 중에 수입지출을 관리하는 클래스에 insertExpenses라는 메소드를 작성 중이었다. 수입과 지출 목록을 DB에 삽입할 수 있게 하는 메소드인데, Expenses 생성자 내에 date 타입을 넣기 위해 코드를 작성했다. 그런데 JSONObject인 msgObj에 getDate 메소드가 적용이 되지 않았다. (JSONObject 미숙 이슈) public class ExpensesServiceImpl implements ExpensesService { /** * @author 혜발아기 * insertExpenses : 수입 지출 내역을 DB에 저장하도록 하고 * check을 통해 내역이 DB에 성공적으로 저장됐는지 확인하는 기능 */ @Override public void insertExpens..
messageHandler.js은 서버에 보내는 요청을 처리하는 역할을 한다. 작성된 코드는 아래와 같다. messageHandler function에서 매개변수로 사용된 data는 WebSocket으로부터 수신된 메시지를 나타낸다. 일반적으로 data는 JSON 형식으로 전송되며, 문자열로 표현된다. 함수 내에서는 이 문자열을 JSON 객체로 변환하여 실제 데이터에 접근하고 처리한다. import { Chat_log, Message } from '../chat_log.js'; // 실시간 Socket event 처리 파일 function initialize() { const host = 'localhost'; const port = 8080; const chat_log = new Chat_log(hos..
html 파일 내에서 style 태그와 script 태그를 사용할 수 있다. 하지만 그렇게 되면 코드가 너무 길어지므로 스타일과 관련된 것은 css 파일로, 자바스크립트 코드를 js 파일로 분리해서 사용하는 경우가 많다. css, js 파일 html에 불러와 적용 별도의 css 파일에 있는 스타일을 html 파일에 적용하는 방법? html 파일의 head 태그 내에 위와 같이 작성해주면 된다. 경로라고 적어둔 부분에 css 파일이 있는 경로를 작성해주면 된다. 별도의 js 파일에 있는 스크립트를 html 파일에 적용하는 방법? html 파일의 head 태그 내에 위와 같이 작성해주면 된다. 경로라고 적어둔 부분에 js 파일이 있는 경로를 작성해주면 된다. 경로 경로에는 크게 절대경로와 상대경로가 있다. ..
RDBMS를 설명하기에 앞서, 데이터 모델의 종류에는 계층형, 네트워크형, 관계형(RDB)이 있다. 계층형, 네트워크형은 잘 사용하지 않고, 관계형 데이터 모델을 주로 사용한다. 우리가 사용하는 대표적인 데이터베이스 관리 시스템도 대부분이 관계형이라고 보면 된다. 계층형, 네트워크형은 잘 사용하지 않고 관계형 데이터 모델만을 사용하는 이유가 뭘까? 계층형, 네트워크형은 데이터가 저장되어 있는 구성을 변경하면 그에 맞춰 프로그램도 보완해야 하기 때문에 불편하다. 반면, 관계형은 그러한 영향이 적고 프로그램과 데이터를 독립적으로 관리하기 쉽다. 따라서 이번 게시물에서는 RDBMS에 대해서 다뤄보도록 하겠다. RDB란? 정의: 키와 값들의 간단한 관계를 테이블화 시킨 데이터베이스 장점 여러 가지 표를 조합하여..
트랜잭션의 Isolation이 제대로 유지되려면 복수의 트랜잭션을 동시에 실행할 경우, 이상 현상이 일어나지 않도록 한다. 이것을 보장하기 위한 중요한 속성이 Serializability와 Recoverable이다. 즉, 이 두 가지 속성이 보장될 수 있도록 해야 한다. 하지만 이때 동시에 처리할 수 있는 트랜잭션의 수가 줄어들어서 DBMS의 성능이 하락한다는 단점이 있다. 이를 해결하기 위해 DBMS의 concurrency control은 여러 종류의 Isolation level을 제공해서 개발자가 데이터 정합성과 성능 사이에서 어느 정도 트레이드 할 수 있도록 한다. Serializabiliy 👉 여러 트랜잭션을 병렬로 동시에 처리하면서도 순차적으로 수행한 것과 같은 결과를 내는 것 Recoverab..
DBMS는 여러 사용자가 DB에 동시에 접근할 수 있다. 여러 사용자가 동시에 접근하면 트랜잭션도 동시에 여러 개가 실행되는데 DBMS는 여러 트랜잭션을 동시에 실행하기 위해 병행 수행을 지원한다. 그리고 이 병행 수행이 잘 이루어지도록 하기 위해서 병행 제어를 실시한다. 트랜잭션의 속성 ACID중 I에 해당하는 Isolation을 보장하기 위한 것이 병행 제어 Concurrency Control이다. (자세한 것은 위 글씨에 달아둔 링크 참고) 1. 병행 수행이란? 정의 : 여러 사용자가 DB에 접근할 때 여러 트랜잭션이 수행되는데 이 여러 트랜잭션들을 병행 수행시키는 방식 운영체제가 멀티 프로세스를 지원하는 것과 비슷한 모양 여러 트랜잭션을 수행하는 순서가 중요하므로 트랜잭션 스케줄에 따라 트랜잭션을..
1. 정의 사전적 의미: 거래 CS 분야에서의 의미: 더이상 분할이 불가능한 업무처리의 단위 👉 한꺼번에 수행되어야 할 일련의 연산 모음 만약, 계좌이체 시 인출에는 성공했는데 입금에 실패하면? 👉 경제적 손실이라는 치명적인 결과 👉 이 두 과정은 동시에 성공하든지 동시에 실패해야 함 👉 이 과정을 동시에 묶는 방법이 바로 트랜잭션 START TRANSACTION -- 이 사이의 명령어들은 하나의 명령어처럼 처리됨 -- 성공 or 실패 둘 중 하나 A의 계좌로부터 인출; B의 계좌로 입금; COMMIT 👉 데이터 거래에 있어서 안전성을 확보하기 위한 방법. 오류가 발생 시 결과 재반영 X, 모든 작업을 원상태로 복구 처리 과정이 모두 성공했을 때만 그 결과를 반영함 2. 특징 (ACID) Atomicit..
자바는 IP 주소를 java.net 패키지의 InetAddress로 표현한다. 👉 로컬 컴퓨터의 IP 주소를 얻을 수 있다. 👉 도메인 이름으로 DNS에서 검색한 후 IP 주소를 가져올 수도 있다. 1. getLocalHost 사용 InetAddress ia = InetAddress.getLocalHost(); 👉 .getLocalHost() 메소드를 통해 로컬 컴퓨터의 InetAddress를 얻을 수 있다. getLocalHost를 사용하는 이유❓ InetAddress는 직접적으로 객체를 생성할 수 없다. 👉 정적 메소드인 getLocalHost를 이용해 간접적으로 객체를 얻을 수 있다. 👉 로컬 pc의 ip 주소를 갖고 있는 inetAddress를 얻을 수 있다. 2. getByName, getAll..
· Web
1. 네트워크란? 네트워크란? 👉 여러 컴퓨터들을 통신 회선으로 연결한 것 LAN(Local Area Network) : 가정, 회사, 건물, 특정 영역에 존재하는 컴퓨터를 연결한 것 WAN(Wide Area Network) : LAN을 연결한 것. 인터넷 2. 서버와 클라이언트 서버(Server)란? 👉 서비스를 제공하는 프로그램 처리 결과를 응답으로 제공함 더보기 사용자가 언제 서비스를 요청할지 모르기 때문에 항상 실행해야 함 클라이언트(Client)란? 👉 서비스를 요청하는 프로그램 더보기 크롬, 인터넷 익스플로러, 엣지 등 브라우저가 클라이언트가 될 수 있음 언제든지 사용자에 의해 종료될 수 있음 그렇다면 프로그램들은 어떻게 데이터를 주고 받을까 ❓ 👉 컴퓨터가 연결이 되어야 한다. 3. IP 주..
혜발아기
Hye's Dev