Web server의 개념 하드웨어 Web 서버가 설치되어 있는 컴퓨터 소프트웨어 클라이언트로부터 HTTP 요청을 받아 정적 컨텐츠(.html, jpg, .css 파일등)를 즉 각종 리소스를 제공하는 컴퓨터 프로그램 Web server의 기능 정적 컨텐츠 제공 WAS를 거치지 않고 바로 자원을 제공 동적 컨텐츠 제공 클라이언트의 request를 WAS에 보내기 정적, 동적 컨텐츠란? 정적 컨텐츠(static) 변화가 없는 컨텐츠를 뜻함 HTML, CSS, JS와 같이 미리 서버에 저장해두고 서버가 요청을 받으면 ㅋ그저 응답만 해주면 되는 것들로 구성 어느 사용자에게나 동일한 결과값을 보여줌 동적 컨텐츠(dynamic) 누가, 언제, 어떻게 서버에 요청했는지에 따라 결과값을 다르게 보여주는 형식 유튜브 추..
1. NoSql의 등장배경 2000년 후반으로 넘어오면서 소셜네트워크 서비스 등이 등장하면서 대규모 데이터를 생산하였다. 데이터 패러다임이 변화하면서 기존 시스템에 한계가 나타났으며 새로운 형태의 데이터 저장 기술이 필요하게 되었다. 대용량 데이터를 보유한 구글과 아마존에 의해 빅테이블(Bigtable)과 Dynamo라는 논문이 발표되었고 이로인해 새로운 데이터 저장 기술을 만들어지기 시작하였다. 2. NoSql의 특징 NoSql은 RDBMS(관계형 데이터베이스)와는 달리 데이터 간의 관계를 정의하지 않는다. RDBMS의 Foreign key와 join 이 존재하지 않는다. RDBMS에 비해 비교적 훨씬 대용량의 데이터를 저장할 수 있다. 분산형 구조 데이터를 여러 대의 서버에 분산해 저장한다. 분산 시..
jsp의 처리 과정 클라이언트의 요청 jsp에 해당하는 서블릿이 존재하지 않는 경우 jsp로부터 자바코드를 생성한다. 자바 코드를 컴파일해서 서블릿 클래스를 생성한다. 서블릿에 클라이언트 요청을 전달한다. 출력 버퍼와 응답 jsp는 바로 응답 결과를 웹 브라우저에 전송하지 않음 출력 버퍼라고 불리는 곳에 임시로 응답 결과를 저장했다가 한번에 웹브라우저에 전송한다. 버퍼를 사용할 때의 장점 데이터 전송 성능 향상 jsp실행 도중 버퍼를 비우고 새로운 내용을 전송하는 것이 가능 버퍼가 다 차기 전까지 헤더 변경 가능 웹 어플리케이션 폴더와 url과의 관계 톰캣에서 웹 어플리케이션은 톰캣/webapp 폴더에 위치한다. 따라서 [톰캣]\webapps\[웹경로] -> http://localhost:[port]/[..
디스크 고정디스크 시스템에 장착되어 이동할 수 없는 형식의 디스크를 말함 고정디스크의 예 메인보드에 직접 연결되어 있는 HDD 유사 방식 드라이브(SDD, CF to IDE) 주기억 장치인 RAM에 생성된 램디스크 이동식 디스크 시스템에 언제든지 탈부착하여 이동할 수 있는 형식의 디스크를 의미 이동식 디스크의 예 USB, 외장 하드 디스크 등 가상 디스크 가상 하드디스크를 의미 다른 저장매체에 파일의 형태로 존재하며 언제든지 시스템에 연결하거나 분리할 수 있음 파티션 디스크에서 파티션이란? 디스크이 공간을 논리적으로 별도의 데이터 영역으로 분할한 공간 하나의 디스크를 분리된 여러개의 디스크처럼 사용할 수 있도록 해주며 바이러스에 대한 피해를 최소화 할 수 있고 서로 다른 운영체제를 쓰는 것이 가능함 윈도..
React에서의 class component와 function component의 차이를 정리하고 Hook의 개념이 생겨난 배경을 알아보고자 한다. 함수형 컴포넌트(function style) 순수 자바스크립트 함수를 사용해서 컴포넌트를 정의한 것 특징 코드를 간결하게 작성할 수 있음 state를 갖지 못하여 setState를 사용하는 것이 불가 life-cycle함수 사용이 불가 선언과 리턴방법 function FuncComp(props){ return( ... ); } 클래스 컴포넌트(class style) React.Component 를 상속받은 클래스를 이용해서 컴포넌트를 정의한 것 특징 setState를 사용할 수 있음 선언과 리턴방법 class ClassComp extends React.Com..
store 정보가 저장되는 곳 state 실제 정보가 저장되는 곳 state에 직접 접속할 수 없음 reducer state를 입력값으로 받고 action을 참조해서 새로운 state값으로 리턴해주는 가공자의 역할 function reducer(state, action){ var newState; if(action.type === 'CREATE'){ var newMaxId = state.max_id + 1; var newContents = state.contents.concat(); newContents.push({id:newMaxId, title: action.title, desc: action.desc}) newState = Object.assign({}, state, { max_id:newMaxId..
컴포넌트 제작하기 구조 App.js Subject.js TOC.js Control.js Content CreateContent.js UpdateContent.js 컴포넌트 사용하는 법 아래와 같이 사용하는 쪽의 component에 import를 해주고 사용될 이름을 함께 입력 import Subject from "./components/Subject"; render 함수의 return 부분에 설정해 준 이름으로 사용할 위치에 태그를 생성한다. state 사용하기 state는 언제 사용? React에서 동적인 데이터를 사용할 때 state를 사용함 특징 아래와 같은 형식으로 constructor안에 초기값을 설정해 주어야 한다. this.state = {} state값 변경은 직접 조작할 수 없다. sta..
java를 통해 크롤링 할 땐 일반적으로 jsoup이 사용된다. 이 포스팅에서는 jsoup의 select 메소드를 사용해서 parsing 하는 과정을 정규식을 사용한 방법으로 고쳐보았다. 크롤링 해오는 컨텐츠는 네이버 블로그이다. jsoup을 사용한 코드 특징 간결하고 간편하다. 실행시간: 3.077초 대략 3~5초 사이로 나타났다. long start = System.currentTimeMillis(); String str = ""; ArrayList list = new ArrayList(); for(int j = 0 ; j < 10 ; j++) {// 10 페이지까지 크롤링 String url = "https://search.naver.com/search.naver?date_from=&date_opt..
- Total
- Today
- Yesterday
- server side rendering
- BFS
- 인접리스트
- 자료구조
- C
- 동적프로그래밍
- 입출력장치
- dfs
- 세마포어
- 최단경로
- javascript
- 클래스
- 배열
- 교착상태
- 병행프로세스
- 인접행렬
- react
- 스텍
- Java
- 재귀함수
- C++
- Stack
- 알고리즘
- 퀵정렬
- 운영체제
- stackframe
- 소프트웨어
- client side rendering
- 이진탐색
- 구조체
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |