기록 (98) 썸네일형 리스트형 [MySQL2 모듈] execute vs query execute와 query의 차이점은? 💡execute execute 메서드는 MySQL2 모듈의 Prepared Statement를 사용하여 쿼리를 실행하는 방법 Prepared Statement ? 쿼리와 파라미터를 분리해서 전달하며, 이를 통해 쿼리의 재사용성을 높이고 SQL Injection과 같은 보안 문제를 방지할 수 있음 const mysql = require('mysql2'); const connection = mysql.createConnection({ host: 'localhost', user: 'your_user', password: 'your_password', database: 'your_database' }); const sql = 'SELECT * FROM users WHERE.. [Javascript] 모듈 (Module) 모듈화(Modularity) 프로그래밍의 목표 큰 프로그램을 코드 모듈로 분리해서 모듈 개발자가 예측하지 못한 상황에서도 코드 전체가 정확히 실행되도록 하기 위함 실용적인 관점에서 (Modularity)는 프로그램의 세부 사항을 캡슐화하고 전역 네임 스페이스를 깔끔하게유지해서 모듈이 다른 모듈의 변수, 함수, 클래스를 수정하는 사고를 막는 것을 말함 자바스크립트에서의 모듈 최근까지 자바스크립트는 모듈을 지원하지 않았고 큰 프로젝트 단위로 일하는 프로그래머는 클래스, 객체, 클로저에서 파생된 미약한 모듈성을 최대한 이용해야 했음 클로저 기반 모듈성이 코드 번들링도구의 지원에 힘입어 require( ) 함수라는 형태로 실용화 됐으며 노드에서 이 시스템을 도입 require( )에 기반한 모듈은 노드 프로그래.. [Javascript] 클라이언트 사이드 vs 서버 사이드 💡클라이언트 사이드 웹 브라우저에서 실행하도록 작성한 자바스크립트 💡서버 사이드 웹 서버에서 실행하도록 작성한 자바스크립트 두 '사이드'는 웹 서버와 웹 브라우저 사이에 있는 네트워크 연결의 양 극단 웹 소프트웨어를 개발할 때는 일반적으로 양쪽을 모두 개발해야 함 클라이언트 사이드와 서버 사이드를 각각 '프론트 엔트', '백엔드' 라고 부름 Buffer (버퍼) Buffer (버퍼) 란? Node.js에서 Buffer는 바이너리 데이터를 저장할 수 있는 특수한 유형의 객체 Why 왜 사용할까? 버퍼가 도입되기 이전에는 자바스크립트에서는 바이너리 데이터를 처리할 방법이 없었음 속도가 느리고, 바이너리를 처리할 전문적인 도구가 없기 때문에 기존에는 문자열과 같은 원시 값들을 이용해야 했음 그렇기 때문에 비트와 바이트를 조금 더 쉽게, 그리고 성능에도 유리한 방법으로 조작 할수있도록 제공 됨 How 어떻게 사용할까? 처리하는 방식이 자바스크립트의 배열과 유사함 slice, concat, length, 등을 사용할 수 있음 또한 이터러블하며, for-of에서도 사용 가능 Node.js는 버퍼클래스를 전역 스코프에 expose 하므로 import나 require를 할 필.. [데이터 모델과 성능] 정규화 성능 함수적 종속성 데이터들이 어떤 기준 값에 의해 종속되는 현상 정규화 반복적인 데이터를 분리하고 각 데이터가 종속된 테이블에 적절하게 배치되도록 하는 것 1차 정규화 : 같은 성격, 내용 컬럼이 연속될 때 컬럼 제거, 테이블 생성 2차 정규화 : PK 복합키 구성일 때 부분적 함수 종속 관계 테이블 분리 3차 정규화 : PK가 아닌 일반 컬럼에 의존하는 컬럼 분리 [데이터 모델과 성능] 성능 데이터 모델링의 개요 성능 데이터 모델링 이란? DB 성능향상을 목적으로 설계 단계의 데이터 모델링 때부터 정규화 반정규화 테이블 통합 테이블 분할 조인 구조 PK FK 등 여러 가지 성능과 관련된 사항이 데이터 모델링에 반영될 수 있도록 하는 것 분석 / 설계 단계에서 데이터 모델에 성능을 고려한 데이터 모델링을 수행할 경우, 성능저하에 따른 재업무 비용을 최소화 할 수 있음 데이터의 증가가 빠를수록 성능저하에 따른 성능 개선 비용은 기하 급수적으로 증가하게 됨 성능 데이터 모델링 고려사항 순서 데이터 모델링을 할 때 정규화를 정확하게 수행 DB 용량산정을 수행 DB에 발생되는 트랜잭션의 유형을 파악 함 용량과 트랜잭션의 유형에 따라 반정규화를 수행 이력모델의 조정, PK / FK 조정, 슈퍼 / 서브타입 조정 성능 관점에.. [데이터 모델링의 이해] Identifiers (식별자) 식별자란? 엔티티 내에서 인스턴스를 구분하는 구분자 식별자는 논리적, Key는 물리적 데이터 모델링 단계에서 사용 식별자의 특징 유일성 : 주식별자에 의해 모든 인스턴스들이 유일하게 구분 최소성 : 주식별자를 구성하는 속성의 수는 유일성을 만족하는 최소의 수가 되어야 함 불변성 : 지정된 주식별자의 값은 자주 변하지 않아야 함. 변하면 이전 기록 말소됨 존재성 : 주식별자가 지정되면 반드시 값이 들어와야 함 식별자 분류 대표성 여부 : 주식별자, 보조식별자 주 : 엔티티 내에서 각 어커런스를 구분할 수 있는 구분자, 타 엔티티와 참조관계를 연결 ⭕ 보조 : 구분자이나 대표성 ❌, 참조 관계 연결 ❌ 스스로 생성 여부 : 내부식별자, 외부식별자 내부 : 스스로 생성되는 식별자 외부 : 타 엔터티로부터 받아.. [데이터 모델링의 이해] Relationship (관계) Relationship (관계) 란? 엔티티의 인스턴스 사이의 논리적인 연관성, 존재의 형태, 행위로서 서로에게 연관성이 부여된 상태 관계 페어링의 집합 ex) 강사 - 가르친다(관계) - 수강생 페어링 엔티티 안에 인스턴스가 개별적으로 관계를 가지는 것 UML (Unified Modeling Language) 에서의 관계 연관 관계 (실선) : 항상 이용하는 관계 ex) 소속된다. 의존 관계 (점선) : 상대 행위에 의해 발생하는 관계 ex) 주문한다. 관계의 표기법 관계명 (Membership) : 관계의 이름 관계차수 ( Degree / Cardinality) : 1:1, 1:m, m:n 관계선택사양 (Optionality) : 필수 관계, 선택 관계 관계 체크사항 2개의 엔티티 사이에 관심있는 연.. 이전 1 2 3 4 5 6 ··· 13 다음