본문 바로가기
300x250

개발 공부143

NoSQL, MongoDB,MongoDB Document, JSON vs. BSON 개념 정리 NoSQL이란? 접근방식이 SQL과는 상반되는 데이터베이스 형식을 얘기하거나 또는 관계형데이터베이스 뿐만아니라 다른 특성 까지도 갖는 (Not only SQL) 으로 정의할 수 있다. NoSQL은 매우 넓은 범위에서 사용하는 용어로, 관계형 테이블의 레거시한 방법을 사용하지 않는 데이터 저장소를 말한다. 다음과 같은 특징을 같는다. nosql 특징 1) RDBMS 처럼 고정된 스키마 및 JOIN이 존재하지 않는다. 자유로운 형태로 데이터를 저장할 수 있으므로 필요에 따라서 새로운 데이터 유형을 추가할 수 있다. 소프트웨어 개발에 정형화되지 않은 많은 양의 데이터가 필요한 경우, NoSQL이 효율적이다. 2) 스키마 변경(ALTER)가 필요없다. -스키마를 미리 준비할 필요가 없어서, 개발을 빠르게 해야하.. 2021. 8. 5.
ORM 개념 + im-sprint-shortly-mvc 리뷰 ORM이란? Object-Relational Mapping의 약자 ORM은 객체 지향 프로그래밍 언어(여기서는 자바스크립트)와 관계형 데이터베이스 간의 연결을 위한 프로그래밍 기법이다. 사실 Node.js MySQL 모듈 등을 사용하여 데이터베이스와 서버 간에 통신이 가능하다. node.js와 mysql을 연결하는 방식에는 몇가지 문제점들이 있다. 1)쿼리문이 길어지게 되면 이와 더불어 전체적인 코드 길이도 같이 길어지게 된다. 2)스키마가 변경되면 관련된 쿼리문들을 다 찾아서 변경해야한다. 유지보수가 쉽지 않다. 3) 관계형 데이터 베이스마다 쿼리문의 문법이 조금씩 달라지는데, 이는 필드에 정의되는 자료형도 마찬가지이다. 이러한 문제점들을 보완하고 효율성과 호환성을 높이기 위해 ORM을 사용하게 되었다.. 2021. 8. 5.
MVC모델 개념 MVC란? model view controller의 약자 일련의 소프트웨어가 돌아가는 하나의 패턴, 하나의 아이디어라고 생각하면 된다. 이것의 장점은 유지보수가 편해지는 코드 구성을 만들 수 있다. 역할에 따라 확실하게 분리하여 유지보수를 용이하게 하고 프로그램의 확장성과 유연성을 높이기 위한 기법이다. 데이터가 추가되면 Model 부분만 수정하고, UI가 수정되면 View 부분만 수정한다. 물론 Controller는 두 부분을 관장하기 때문에 일부 수정이 필요하다. 하지만 기존처럼 메인 다이얼로그/폼에서의 무분별한 하드 코딩이 필요 없다. MVC에는 model과 view, controller 라는 개념이 있다. 1. Model 데이터의 정보를 가지고 있다. 데이터베이스와 연결이 되있어서 데이터베이스랑 .. 2021. 8. 5.
[CSS] Flex 아이템에 적용하는 속성들(1) Flex 아이템에 적용하는 속성들 flex - basis - 유연한 박스의 기본 영역 flex-basis는 Flex 아이템의 기본 크기를 설정합니다(flex-direction이 row일 때는 너비, column일 때는 높이). .item { flex-basis: auto; /* 기본값 */ /* flex-basis: 0; */ /* flex-basis: 50%; */ /* flex-basis: 300px; */ /* flex-basis: 10rem; */ /* flex-basis: content; */ } flex-grow 숫자값이 들어가는데, 몇이든 일단 0보다 큰 값이 세팅이 되면 해당 아이템이 유연한(Flexible) 박스로 변하고 원래의 크기보다 커지며 빈 공간을 메우게 된다. -여백의 비율이다... 2021. 8. 3.
[CSS] FLEX -컨테이너에 적용하는 속성 컨테이너에 적용하는 속성 1) flex vs inline-flex .container { display: flex; //한줄을 차지 /* display: inline-flex; */ //인라인 속성처럼 플렉스아이템의 너비의 합까지만 차지 } 2)) flex-direction - 배치방향설정 .container { flex-direction: row; 가로(행 방향) 왼->오 // flex-direction: column; 세로(열 방향) 위->아래 // flex-direction: row-reverse; 반대 가로 왼 위 } 3) flex-wrap -줄넘김 처리 .container { flex-wrap: nowrap; //기본값 줄넘김x // flex-wrap: wrap; // flex-wrap: wra.. 2021. 8. 2.
스프린트 cmarket_datadase 분석/리뷰 1. 먼저 스키마를 확인하기 2. 스프린트 진행 테스트 항목은 3가지 였다. 해당 유저가 작성한 모든 주문을 가져오는 함수를 작성 해당 유저의 주문 요청을 데이터베이스에 생성하는 함수를 작성 Cmarket의 모든 상품을 가져오는 함수를 작성 문제를 풀기전에 흐름을 알아보려고 한다. 1) 클라이언트에서 서버로 요청을 보내면 서버의 app.js로 들어간다. 2)이 밑에 두문장을 보면, 우리가 가진 주소뒤에 /users로 왔을때랑 /items로 왔을때 어디로 가야하는지 두번째 인자로 나와 있다. app.use('/users', router); app.get('/items', controller.items.get); 2-1) users로 갔을 때를 보게 되면, server/routes.js로 가게되면, 또 다시.. 2021. 7. 27.
[CSS] grid 개념정리(1) grid란? css는 레이아웃과 스타일을 정의할 때 사용되는 언어입니다. 그 중 grid(그리드) 레이아웃의 끝판 왕이라고 할 수 있다. Flex는 한 방향 레이아웃 시스템이고 (1차원) Grid는 두 방향(가로-세로) 레이아웃 시스템 (2차원) Grid 용어정리 그리드 컨테이너 (Grid Container) => display: grid를 적용하는, Grid의 전체 영역 그리드 아이템 (Grid Item) => Grid 컨테이너의 자식 요소 그리드 트랙 (Grid Track) => Grid의 행(Row) 또는 열(Column) 그리드 셀 (Grid Cell) => Grid의 한 칸을 가리키는 말 그리드 라인(Grid Line) => Grid 셀을 구분하는 선 그리드 번호(Grid Number) => G.. 2021. 7. 27.
im_sprint_learn_sql 스프린트 분석 learnmysql part-3 목표 : 데이터베이스를 연결하고 주어진 스키마를 구현할 수 있도록 SQL문 작성하기 1) .env.example 파일 확인 후 .env 생성하기 2) lib/common/mysql.js 에서 변수들이 어떻게 사용되나 확인하기 스키마 작성 (다음과 같이 만들어져야한다.) 파트3의 sql문은 비교적 쉬웠다. 테이블의 구조를 보기위한 sql문을 작성하는 건데 금방 찾으니까 패스~ part-4 파트 4에서는 데이터베이스에 데이터를 추가하는 명령어 INSERT INTO 와 JOIN 을 활용하는 문제들로 구성되어 있다. join은 outer(외부) join과 inner(내부) join으로 나뉜다. part 4-9 참조 아우터 조인은 OUTER(외부) JOIN 이란 조인 조건에서 동일한 값이 없는 행도 .. 2021. 7. 27.
데이터베이스 개념정리 + mysql 설치 방법 코드스테이츠의 섹션 쓰리의 시작은 자료구조-알고리즘과 데이터베이스이다. 데이터베이스에 대해 정리해보려고한다. 3-Tier Architecture client-server-database로 구성된 구조이다. 작동 방식은 클라이언트가 서버에 데이터를 요청(requset)하고, 서버는 그 요청에 맞는 데이터를 데이터베이스에 요청(requset)한다. 데이터베이스가 요청에 알맞는 데이터를 서버에 응답(response)하고, 서버는 응답된 데이터를 클라이언트에게 데이터를 보내주어 응답(response)한다. DATABASE 데이터베이스란? 데이터는 어떤 것들을 기록한 정보이고, 데이터를 모아 둔 것을 데이터베이스라고 한다. 예전에는 일일이 손으로 정보를 기록하였지만 현대에 와서는 컴퓨터의 발달로 컴퓨터를 이용해 .. 2021. 7. 26.
반응형