본문 바로가기

분류 전체보기

(80)
NoSQL NoSQL 이란 NoSQL은 기존의 RDBMS(관계형 데이터베이스)와 다르게 비관계형 데이터베이스를 말한다. 스키마가 없이 사용가능하거나 스키마에 제약을 덜 받는다. 데이터가 대용량화 된 현대 컴퓨터시스템에서 효과를 발휘한다. NoSQL의 특징 NoSQL 은 기존의 RDBMS보다 데이터의 저장및 검색을 위해 특화되어있다. RDBMS와 달리 데이터 간의 Relation을 정의하지 않는다. RDBMS에 비해 대용량의 데이터를 저장하는데 적합하다 스키마가 없거나 유동적인 스키마 구조를 가진다 NoSQL의 장점 유연한 스키마 구조로 인해 사양이 변경되었을 때 데이터베이스를 쉽게 수정할 수 있다. 여러 테이블을 join 하는 RDBMS 구조와 달리 쿼리에 최적화된 저장을 사용해 빠른 데이터 조회가 가능하고 빅데이..
웹 풀사이클 데브코스 회고록 2월 네번째 회고록 웹 풀사이클 데브코스의 세번째 회고록이다. 국비지원교육이 시작된지 4달이 지났다. 공부했던 것들 타입스크립트 타입스크립트가 생긴 이유와 타입스크립트를 사용하면 좋은 점에 대해서 학습하였다. 타입스크립트를 컴파일 하는 방법과 타입스크립트 코드를 실행하는 방법에 대해 배웠다. 타입스크립트에서 타입을 선언하는 방법과 타입의 종류, 타입 추론에 대해서 배웠다. 인터페이스를 선언하는 방법과 인터페이스를 실제로 어떻게 사용할 수 있는지 배웠다. 객체를 생성하고 객체 안에 메소드를 구현하는 방법에 대해 배웠다. 열거형을 사용하는 방법을 학습하였다. 리터럴 타입, any, 유니온 타입을 사용하는 방법에 대해 배웠다. 배열과 튜플 연산자의 사용에 대해 배웠다. 스프레드 연산자에 대해 학습하였다. 타입스크립..
타입스크립트 타입선언 키워드 타입 선언 타입스크립트는 자바스크립트와 다르게 타입을 선언하는 언어이다. 이 타입을 선언하는 방법에도 여러가지가 있어서 한번 알아보고자 한다. 기존의 타입 선언문 interface Person { name: string; } let person1 : Person = {name: 'Alice'}; 가장 기본적인 타입선언 방식이다. 변수명에 콜론(:)을 찍어서 타입을 명시해준다. 가장 많이 보편적으로 사용되는 방법이다. 만약 이런 타입표기가 없으면 자바스크릡트에서 묵시적으로 형을 결정해 준다. AS 키워드 타입단언이라고 하는 선언 방식이다. Type Assertion이라고 칭하는 키워드이다. let person2 = {name: 'Bob'} as Person; 위 코드에서 이어지..
웹 풀사이클 데브코스 TIL 59일차 깃허브 Discussions 토론 게시판. 디스코드나 슬랙 처럼 커뮤니티 역할을 해준다. 토론에서 의논후 이슈로 전환하기도 하고, 따로 토론 없이 바로 이슈를 만들기도 한다. 깃허브 토론은 꼭 프로젝트에 기여한 사람만이 사용할 수 있는 공간은 아니고, 마치 스택 오버플로우 처럼 누구나 질문 답변을 할 수 있다. 토론 창을 보면 사람 마다 개개인의 역할이 있는것을 알 수 있다. Maintainer는 유지하는 사람. 아무 라벨이 없으면 일반 기여자이다. 오픈소스 구성원의 역할 저작자 : 오픈 소스 프로젝트를 만든 사람 또는 조직 사용자 : 오픈 소스 프로젝트를 사용하는 사람 메인테이너 : 프로젝트의 방향을 알고 있는/직접 설정한 프로젝트를 관리하는 컨트리뷰터 커미터 : 컨트리뷰터가 기여를 하면 리뷰를 하는 ..
웹 풀사이클 데브코스 TIL 57일차 참여형 지식 공유 플랫폼 스택 오버플로우 등등. 개발자들은 서로 도와주면서 성장한다. 깃허브도 마찬가지다. 깃허브에서 다른 사람의 코드를 보는것도 가능하다. 이 깃허브를 사용해서 오픈소스에 참여할 수 있다. 오픈소스 누구나 특별한 제한 없이 공개되어 있는 소스 코드. 리뷰어 입장에서 코드를 검사(리뷰), 코드 수정 등 개선사항을 마음껏 펼칠 수 있는 코드. != 무료 대부분의 오픈소스는 무료지만 유료도 존재한다. 그렇다면 왜 오픈소스를 사용할까? 답은 개발자 문화와 연결된다. 코드로 서로의 지식을 공유하는 것이다. 다른 사람의 코드에 도움을 받고 다시 도움을 주는 것이 개발자 문화에는 익숙하다. 다른 개발자의 시선으로 코드를 보면 새로운 아이디어가 생길 수도 있고 생각지 못한 버그를 찾아낼 수 있다. 선..
Material UI Material UI Material UI는 리액트 개발에서 쉽게 사용할수 있는 UI 프레임워크이다. 부트 스트랩과 마찬가지로 자주 사용되는 기능 디자인들을 Component 형식으로 제공해주어서 다양한 UI를 쉽게 만들 수 있다. 설치법 npm install @mui/material @emotion/react @emotion/styled icon 설치법 npm install @mui/icons-material @mui/material @emotion/styled @emotion/react 사용법 기본적으로 사용방식은 비슷하다 공식 문서를 보고 컴포넌트들을 import 해주고 이를 가져가 사용해 주면 된다. import Button from '@mui/material/Button'; Hel..
웹 풀사이클 데브코스 TIL 56일차 리덕스 수정함수 매개변수 전달하기 리덕스에서도 수정함수에 매개변수를 전달할 수 있다. //store.tsx increaseAge(state, action){ state.age += action.payload; } //Cart.tsx { dispatch(increaseAge(10)); }}>이름변경 {cartState.user.age} 이제 매개변수를 입력할 수 있는 형식으로 함수가 바뀌었다. 이때 매개변수 위치의 변수명은 관례적으로 action 이라고 한다. 장바구니 페이지 완성하기 장바구니의 수량을 변경할 수 있도록 기능을 추가하였다. increaseCount(state, action){ state.cart[action.payload].count += 1; } 인덱스를 매개변수로 받아 그에 해당하는 객..
인프콘 개발자가 알아두면 좋은 사이드 프로젝트 제작 팁 - 이동훈 사이드 프로젝트 사이드 프로젝트는 개발 실력을 다른 강의엥서는 다루지 앟는 개발 외적인 것 위주 좋은 문제를 찾고, 이해하고, 해결하자 작품은 작가의 생각으로 만들어지고, 상품은 시장의 니즈로 만들어진다. 개발자의 사이드 프로젝트에서 많이 실수하는 부분은 솔루션을 먼저 정의하고 고객을 끼워맞추는 경우이다. 실제 고객이 사용하는 서비스를 만들때는 주의해야한다. 예를 들어 탈모 진행도를 알려주는 앱 프로젝트를 얘시로 들자면, 먼저 이 서비스는 사진을 찍으면 탈모 진행도를 알려주는 서비스이다. 하지만 간과한 부분이 있었다. 매일 기록하는 행위를 고객들이 귀찮아 한다. 또한 개선하기 위해 필요한 기간이 너무 길다는 것이다. 주요 타겟은 20,30대 남성이었고 이 고객층에 맞지 않는다는 문제점때문에 실패하였다. ..