메가테라
-
14주차 개념노트메가테라 2022. 11. 20. 22:40
Static file 이미지, 자바스크립트, CSS 파일, 동영상 등 이미 만들어진 상태 그대로 제공되는 파일을 의미한다. 서버에 올린 파일을 수정하지 않는 이상 바뀌지 않고, 따라서 캐싱을 하기 쉽다. 인수테스트 사용자 시나리오에 따라 수행하는 테스트이다. 인수 테스트를 통해 프로그램이 요구사항대로 잘 작동하는지 검증하게된다. BDD 행위 주도 개발은 애자일 소프트웨어 개발 방법의 일종인데, 요구사항을 domain-specific-language를 이용해서 사용자의 행위와 기대하는 결과를 표현하고 구현을 한다. 비즈니스 팀과 개발 팀이 동일한 언어를 이용하기 때문에 팀 간의 소통을 통일성있게 할 수 있게 된다. 어떤 기능을 추가하고자하면 유저스토리를 먼저 작성하고, 유저 스토리를 바탕으로 여러 팀이 함..
-
13주차 개념노트메가테라 2022. 11. 13. 23:30
useEffect 렌더링할 때 side effect를 발생시키기 위해 사용하는 리액트 훅이다. useEffect(() => { // effect return () => {//cleanup}; }, dependencies); 와 같이 사용하고, dependencies로 effect를 발생시킬 시점을 조절할 수 있다. useEffect(() => { }); 위와 같이 사용하면 렌더링이 될 때마다 useEffect 내부가 실행되고, useEffect(() => { }, []); 위와 같이 사용하면 컴포넌트가 나타났을 때 한 번 useEffect 내부가 실행되고, useEffect(() => { }, [value1, value2 ..]); 위와 같이 사용하면 컴포넌트가 나타났을 때, 그리고 value1, val..
-
12주차 개념 노트메가테라 2022. 11. 6. 18:14
React 사용자와 상호작용이 많은 웹페이지에서 UI를 쉽게 표현하기 위한 자바스크립트 라이브러리이다. UI의 특정 부분을 컴포넌트로 만들어서 여러 곳에서 재사용하거나, 컴포넌트를 조합하여 또 다른 컴포넌트를 만드는 방식으로 레고 블럭을 조립하듯이 UI를 구성하게 되고, Single Page Application, 모바일 어플리케이션, 가상현실 어플리케이션 등 다양한 어플리케이션을 만드는데 활용할 수 있다. 상태가 바뀌면 리액트는 가상 DOM을 활용해서 변경되는 부분만 효과적으로 렌더링한다. SPA(Single Page Application) 웹 페이지가 새로고침되지 않아서 사용자에게 부드러운 UI를 보여줄 수 있는 방식이다. 웹 페이지에서 보여줄 내용이 수정되면 웹 페이지를 통째로 받아와서 다시 그리는..
-
11주차 개념노트메가테라 2022. 10. 30. 22:25
Spring Security 자바 어플리케이션에 인증 인가를 모두 제공하는 쉽게 다룰 수 있는 프레임워크이다. 대부분의 시스템에서는 인증과 인가 처리를 해야하기 때문에 매우 유용한 프레임워크이다. session fixation, clickjacking 등의 공격을 막아주는 기본적인 보안을 갖추고 있다. Spring Security는 Servlet filter 체인을 자동으로 구성해서 요청이 filter를 거치게 한다. 사용자가 로그인 요청을 보내면 AuthenticationFilter로 사용자가 보낸 정보가 오고, 아이디와 비밀번호로 UserPasswordAuthenticationToken을 발급하게 되고, 이 토큰을 인증을 담당하는 AuthenticationManager에게 전달하게 된다. Authen..
-
10주차 개념노트메가테라 2022. 10. 23. 18:49
IP address 배달을 받을 때 집마다 다른 주소가 있어서 우리 집에 배달올 것이 다른 집으로 가지 않듯이 장치에서 요청한 응답이 해당 장치로 올 수 있도록 네트워크에 연결된 장치들에 부여된 주소이다. 네트워크에 연결된 장치는 모두 IP주소를 갖고 있게 된다. application.properties Spring Boot Application을 생성했을 때 src/main/resources 폴더에 생기는 파일이다. 이 파일은 어플리케이션과 관련된 속성값들을 작성할 때 사용한다. 포트 변경, 어플리케이션 명명, DB연결 등을 이 파일을 통해 할 수 있다. Web content's Origin URL의 scheme, host, port로 정의된다. scheme과 host와 port가 모두 같을 때 같은 ..
-
9주차 개념노트메가테라 2022. 10. 18. 08:40
fnm Fast Node Manager 의 약자이다. Node.js 버전을 관리할 수 있는 도구이다. fnm use 버전으로 사용할 Node.js버전을 쉽게 전환할 수 있게 해준다. npm 이란 Node Package Manager의 약자이다. Node Package들을 관리해주는 도구이다. 패키지를 쉽게 설치, 업데이트, 삭제할 수 있게 해준다. package.json 프로젝트가 의존하는 패키지들의 목록을 확인할 수 있다. scripts부분에 커스텀 스크립트도 등록할 수 있다. npm scripts 자주 사용하는 명령어를 등록해서 간편하게 사용할 수 있게 해준다. 등록한 명령어는 npm run 명령어 로 실행할 수 있다. 아래 명령어들은 npm start와 npm test처럼 run 없이도 실행할 수 ..
-
8주차 개념노트메가테라 2022. 10. 9. 23:54
Spring Java기반의 웹 애플리케이션 프레임워크이다. 동적인 웹사이트를 개발하기 위한 서비스들이 제공된다. 레포지토리, 서비스, 컨트롤러의 계층의 의존성을 스프링 프레임워크가 연결해준다. 스프링 프레임워크가 필요에 따라 사용자의 코드를 호출하는, 제어 역전이 나타난다. 동적 웹 정적 웹과 대조되는 개념이다. 옛날 옛적에는 정적인 웹이 주로 제공되었었다. 정적인 웹은 말 그대로 바뀌지 않는, 이미 완성품이 제작된 상태에서 서버가 제공만 하는 형태였다. 예를 들면 회사 소개 웹사이트의 경우에는 이미 소개 내용이 작성된 상태에서 서버가 제공만 하기 때문에 정적 웹에 해당한다. 동적 웹은 사용자가 방문할 때 다른 내용이 제공될 수 있는 웹이다. 예를 들면 게시판의 경우 게시판에 글을 쓸 때마다 목록이 바뀌..
-
7주차 개념노트메가테라 2022. 10. 2. 23:10
Server와 Client client는 서버에게 리소스를 요청하고, server는 요청받은 리소스를 client에게 전달한다. 서버는 요청을 받은 경우에만 클라이언트에게 리소스를 제공한다. Web application server 웹 애플리케이션 서버는 프로그램의 실행환경을 제공하거나 데이터베이스에 대한 연결 기능을 제공하는 역할 등을 한다. 즉, 동적 사이트를 전문적으로 처리해주는 역할을 한다. 웹 시스템은 보통 웹 서버, 웹 애플리케이션 서버, 데이터베이스 서버로 구성되어 있는데, 웹 애플리케이션 서버는 웹브라우저에서 받은 요청을 처리하는 웹 서버와 데이터를 저장하는 데이터베이스 사이를 이어주는 역할을 한다. 웹 애플리케이션 서버는 Java애플리케이션 서버와 .NET애플리케이션 서버로 크게 나뉜다...