728x90
반응형

Study 66

애자일 방법론이란?

애자일 애자일이란 절차보다는 사람이 중요시되는 의미입니다. 고객이 중심이 되어서 다양한 변화에 대해서 신속하고 유연하게 맞춰나가며 효율적으로 시스템 개발을 하는 방법입니다. 특징 1. 고객의 요구사항이 많거나 기획이 자주 변경되는 경우 애자일 방법론에 적합합니다. 2. 고객이 참여하기 때문에 고객과의 신속한 피드백이 가능합니다. 3. 프로젝트를 여러 부분으로 나누어서 개발하며 신속하고 반복된 주기로 수행 가능합니다. 4. 기획이 명확하지 않은 경우 혹은 규모가 작은 개발인 경우 애자일 방법론에 적합합니다. 선언문 1. 공정과 도구보다 개인과 상호작용 2. 포괄적인 문서보다 작동하는 소프트웨어 3. 계약 협상보다 고객과의 협력 4. 계획을 따르기보다 변화에 대응하기 원칙 1. 우선 순위는, 가치 있는 소프..

Study/용어 2021.12.21

얕은 복사(shallow copy) vs 깊은 복사(deep copy)

얕은 복사(shallow copy) 얕은 복사는 주소값을 복사하는 것을 의미합니다. const obj1 = { a: 10, b: 20}; const obj2 = obj1; obj2.a = 30; console.log(obj1 === obj2); // true console.log(obj1.a); // 30 obj1 객체를 obj2라는 새로운 객체에 할당했습니다. 이를 참조 할당이라고 합니다. 두 객체를 비교하면 true가 출력됩니다. 결국 데이터가 해당하는 데이터의 주소(참조)값을 전달해주어 데이터를 공유하는 것을 의미합니다. 깊은 복사(deep copy) 깊은 복사는 값 자체를 복사하는 것을 의미합니다. let a = 10; let b = a; b = 20; console.log(a); // 10 co..

Study/JavaScript 2021.12.19

RDB vs NoSQL

RDB RDB는 Relational Database 약자이며 관계형 데이터 모델에 기초를 둔 데이터베이스입니다. 관계형 데이터 모델이란 데이터 간의 상관관계에서 데이터 간의 관계를 표현한 것이라고 생각하면 될 것 같습니다. RDB 장점 정해진 스키마에 따라서 데이터를 저장하므로 명확한 데이터 구조를 보장합니다. 데이터를 중복없이 저장할 수 있습니다. join문을 활용하여 복잡한 쿼리를 만들 수 있습니다. RDB 단점 성능 향상을 위한 scale-up만 지원합니다.(scale-out 지원x) 유연하지 못한 데이터 구조를 가지고 있습니다. NoSQL NoSQL은 Not Only SQL의 약자이며 관계형 데이터베이스가 아닌 비관계형 데이터베이스입니다. NoSQL 장점 데이터 모델이 유연합니다. scale-ou..

Study/DB 2021.12.15

CI / CD란?

CI CI란 Continuous Intergration의 약자이며, 지속적인 통합이라는 의미입니다. CI는 빌드 및 테스트 자동화라고 생각하면 될 거 같습니다. CI 사용 장점 소스코드 통합 혹은 검증하는 시간을 단축할 수 있습니다. 코드가 변경될 시 즉각적인 피드백이 가능합니다. 개발 편의성이 증가합니다. CD CD란 Continuous Delivery 또는 Continuous Deployment의 약자입니다. 지속적인 서비스 제공, 지속적인 배포를 의미합니다. CD는 배포 자동화라고 생각하면 될 거 같습니다. CD 사용 장점 개발자가 개발에만 몰두할 수 있습니다. 빌드->테스트->배포 자동화를 클릭만으로 진행합니다. 리소스 낭비를 줄일 수 있습니다. 배포할 작업물이 여러 개 존재할 경우 수작업으로 배..

Study/Infra 2021.12.14

stateful, stateless란?

stateful stateful은 client와 server관계에서 server가 client의 상태를 보존하고 있는 것을 의미합니다. ex) 예를들면 사용자가 온라인게임에서 1단계 퀘스트를 완료한 후 게임을 종료하고 다음날 게임에 재접속했을 때 2단계 퀘스트부터 시작하는 것 입니다. stateless stateless는 client와 server관계에서 server가 client의 상태를 보존하지 않는 것을 의미합니다. 차이점 접속의 상태를 유지하느냐 유지하지 않냐에 차이라고 생각하면 될 거 같습니다. 항상 부족한 부분이나 피드백할 부분을 댓글로 남겨주시면 적극적으로 수용하여 수정하겠습니다.

Study/Network 2021.12.13

SSL/TLS이란?

SSL SSL은 Secure Sockets Layer의 약자이며, 보안 소켓 계층 이라는 뜻 입니다. 인터넷 통신에서의 개인정보 보호, 인증, 데이터 무결성을 보장하기 위해 개발한 암호화 기반 인터넷 보안 프로토콜입니다. ISO표준 정식명칭은 TLS (Transport Layer Security)입니다. SSL/TLS 주요 역할 암호화 : 중간에 데이터를 가로채더라도 내용을 알 수 없도록 암호화합니다. 인증 : 해당 사이트에 대한 신뢰성을 인증합니다. 무결성 : 송/수신 메세지에 대한 변조를 방지합니다. SSL/TLS가 중요한 이유 SSL은 사용자의 개인 정보를 보호하기 위해 만들어졌습니다. SSL은 사용자와 웹 서버 사이 이동하는 모든 데이터를 암호화합니다. 만약 고객이 웹사이트를 방문하여 신용 카드 ..

Study/Network 2021.12.10

[DB]데이터베이스 정규화란?

정규화란? 정규화는 테이블 간에 중복된 데이터를 허용하지 않고 불필요한 데이터를 제거하기 위한 목적을 가지고 있습니다. 이것은 무결성을 유지할 수 있으며 DB의 저장 용량을 줄일 수 있습니다. 제1 정규화 (1NF) 제1 정규화는 테이블의 각 로우의 컬럼 원자값(Atomic Value, 하나의 값)을 1개만 존재하게끔 테이블을 분해하는 것 입니다. 제2 정규화 (2NF) 제2 정규화는 테이블의 모든 컬럼이 완전 함수적 종속을 만족하는 것 입니다. (부분 함수 종속을 제거 합니다.) 제3 정규화 (3NF) 제3 정규화는 이행 함수 종속을 제거하는 것 입니다. BCNF 정규화 모든 결정자 중 후보키가 아닌 것을 제거하는 것 입니다. 항상 부족한 부분이나 피드백할 부분을 댓글로 남겨주시면 적극적으로 수용하여 ..

Study/DB 2021.10.06

JavaScript란?

JavaScript란? JavaScript는 인터프리터 언어이자 객체기반의 스크립트 프로그래밍 언어입니다. HTML 웹 페이지를 동적이고 살아 있게 만들어주는 역할을 합니다 특징 객체 기반의 스크립트 언어입니다. 동적이고 타입 명시가 필요가 없는 인터프리터 언어입니다. 객체 지향형 프로그래밍과 함수형 프로그래밍을 모두 표현할 수 있습니다. 장점 컴파일 과정이 없어 다른 언어들과 비교했을 때 빠른 시간 안에 스크립트 코드를 작성할 수 있습니다. 단순한 구조와 원칙을 가지고 있어 다른 언어에 비해 쉽게 배우고 이해할 수 있습니다. 단점 HTML 소스코드와 함께 작성이 되면서 소스코드가 외부로 공개되는데, 보안적으로 취약점이 발생할 수 있습니다. 항상 부족한 부분이나 피드백할 부분을 댓글로 남겨주시면 적극적으..

Study/FrontEnd 2021.10.05

홈브류(Homebrew)란?

Homebrew란? Homebrew는 터미널에서 명령을 실행하여 패키지 설치 및 제거를 용이하게 하는 Mac OS용 패키저 매니저 기능을 담당합니다. Homebrew 설치 /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 저는 설치 이후에 brew --version을 입력했는데 brew가 없다고 나왔습니다.. Warning: /opt/homebrew/bin is not in your PATH 라는 에러코드가 있었는데 PATH에 등록되어 있지 않아서 뜨는 에러입니다. echo 'export PATH=/opt/homebrew/bin:$PATH' >> ~/.zshrc 명령어를 입력하여..

Study/BackEnd 2021.09.29

리액트 훅(React Hook)이란?

Hook이란? Hook은 react 버전 16.8부터 도입된 기능입니다. 함수형 컴포넌트에서 state와 Life cycle 기능을 연동할 수 있게 해줍니다. useState, useEffect등의 기능을 사용하여 함수형 컴포넌트에서 할 수 없는 다양한 작업을 할 수 있게 해줍니다. useState class Test extends React.Component { constructor(props) { super(props); this.state = { name: "Ujam" }; } render() { return this.setState({ name: e.target.value })} />; } } 기존 class의 state와 setState로 상태들을 관리했습니다. import { useState ..

Study/FrontEnd 2021.09.20
728x90
반응형