본문 바로가기
반응형

전체 글113

서버가 소통하는 방법 서버가 소통하는 방법을 사람이 소통하는 방법과 비유해보자 일단 상대방이 누군지 알아야 한다. 그리고 난 뒤 상대방이 대화하는 것을 허락해야 한다. 상대방이 허락을 했다면 상대방과 같은 언어를 사용해야 한다. 이는 각각 다음과 같이 나타낼 수 있다. 일단 상대방이 누군지 알아야 한다. -> IP 주소 그리고 난 뒤 상대방이 대화하는 것을 허락해야 한다. -> 방화벽 포트 상대방이 허락을 했다면 상대방과 같은 언어를 사용해야 한다. -> 프로토콜 하나씩 살펴보자 IP주소란? Internet Protocol address로 컴퓨터 네트워크에서 장치들이 서로를 인식하고 통신을 하기 위해서 사용하는 특수한 번호이다. 우리는 다른 네트워크와 소통하기 위해서 소통할 네트워크의 IP주소를 알아야 한다. 위에서는 이를 .. 2021. 9. 11.
쿠키와 세션 HTTP 프로토콜은 서버-클라이언트 통신 시 stateless 방식으로 통신을 한다. stateless 방식을 쉽게 말하면 브라우저에서 통신이 끝나면 상태를 유지하지 않으므로 새 웹 페이지를 열 때 기존 웹페이지나 서블릿에 관한 어떤 연결 정보도 알 수 없는 방식이다. 따라서 클라이언트 입장에서 웹 페이지 사이의 상태나 정보를 공유하려면 세션 트래킹이라는 웹 페이지 연결 기능을 구현해야한다. 세션 트래킹은 서블릿끼리 상태나 정보를 공유하는 웹 페이지 연결 기능이다. 세션 트래킹 기능에는 쿠키와 세션이 있다. 하나씩 살펴보자 쿠키 쿠키란 웹 페이지들 사이의 공유 정보를 클라이언트 PC에 저장해 놓고 필요할 때 여러 웹 페이지들이 공유해서 사용할 수 있도록 매개 역할을 하는 방법이다. 쿠키의 특징: 클라이언.. 2021. 9. 10.
커넥션 풀이란? JDBC 연동 순서 JDBC란? Java DataBase Connectivity의 줄임말이다. 말 그대로 java에서 데이터베이스에 접속할 수 있도록 하는 자바 API이다. JDBC를 이용하여 Java와 데이터베이스를 연동하기 JDBC 연결 순서 드라이버 로드 park-algorithm.tistory.com 앞서 JDBC를 이용하여 데이터베이스와 연동하는 방법을 알아보았다. 앞선 방법은 웹 애플리케이션이 필요할 때마다 데이터베이스에 연결하여 작업하는 방식이다. 이런 연동 방법을 사용한다면 데이터베이스 연결하는데에 시간이 많이 걸릴 것이다. 따라서 이를 해결하기위해 커넥션 풀이라는 기술을 사용해야한다. 커넥션 풀이란? 웹 애플리케이션 실행과 동시에 데이터베이스와 연결하고 필요 시 미리 연결해둔 상태를 이용.. 2021. 9. 10.
[JDBC] PreparedStatement 이용하기 JDBC 연동 순서 JDBC란? Java DataBase Connectivity의 줄임말이다. 말 그대로 java에서 데이터베이스에 접속할 수 있도록 하는 자바 API이다. JDBC를 이용하여 Java와 데이터베이스를 연동하기 JDBC 연결 순서 드라이버 로드 park-algorithm.tistory.com JDBC 연동 순서를 알아보면서 Statement 인터페이스를 사용해보았는데 Statement를 이용해서 데이터베이스와 연동할 경우 연동할 때마다 DBMS에서 SQL문을 컴파일해야하는 문제가 있다. 이로 인해 속도가 느려지는데 이를 해결하기위해서 PreparedStatement 인터페이스를 사용한다. PreparedStatement는 SQL문을 미리 컴파일한 후, 요청 시마다 재사용하므로 빠르게 데이.. 2021. 9. 10.
WAS와 웹 서버의 차이 WAS(Web Application Server)란? 웹 애플리케이션과 서버 환경을 만들어 동작시키는 기능을 제공하는 소프트웨어 프레임 워크이다. 웹 서버란? HTTP를 통해 웹 브라우저에서 요청하는 HTML 문서나 오브젝트(이미지 파일 등)을 전송해주는 서비스 프로그램을 말한다. WAS와 웹서버의 차이점 WAS의 주된 기능은 동적 서버 콘텐츠를 수행하는 것이고 웹 서버의 주된 기능은 정적 서버 콘텐츠를 수행하는 것이다. 즉 WAS는 클라이언트의 요청에 따라 데이터베이스에 접근하여 실시간 정보를 클라이언트에게 제공하는 역할을 하고, 웹 서버는 클라이언트의 요청에 따라 미리 저장된 HTML, CSS, 이미지, 스크립트 파일을 전달한다. WAS와 웹 서버를 나누는 가장 큰 기준은 동적이냐 정적이냐를 따지는 .. 2021. 9. 8.
[파이썬] Counter 클래스 사용법 collections 모듈의 Counter 클래스 사용법을 알아본다. Counter 클래스는 데이터의 개수를 셀 때 사용하면 편리하다. Counter 클래스를 알기 전에는 dictionary를 이용하여 카운팅을 하였다. 예를 들어 "collections"라는 문자열에 있는 각 알파벳의 수를 구해보자. def counter(word): word_count= {} for s in word: if s not in word_count: word_count[s] = 1 else: word_count[s] += 1 return word_count print(counter("collections")) #{'c': 2, 'o': 2, 'l': 2, 'e': 1, 't': 1, 'i': 1, 'n': 1, 's': 1}.. 2021. 9. 8.
클라우드 서비스의 종류(IaaS, SaaS, PaaS) 클라우드 서비스는 5단계로 구성된다. 1. Hardware (물리적인 컴퓨터) 2. 가상화(Virtualization) : Hypervisor를 통해 가상화 기술을 적용한 환경, 다양한 방법으로 구현 가능 3. 운영체제(OS) 4. Runtime : 프로그램을 실행하기 위한 환경 Runtime의 예 : JAVA는 JAVA Virtual Machine을 필요로 한다. JAVA를 실행할 수 있도록 만들어주는 JAVA Virtual Machine을 Runtime이라고 한다. 5. 어플리케이션(응용 애플리케이션) 클라우드 서비스의 종류 1. IaaS (Infrastructure as a Service) : 물리적 컴퓨터 또는 가상 머신을 빌려주는 서비스 기업에서 Hardware와 Virtualization을 제.. 2021. 9. 8.
클라우드 컴퓨팅의 기본 개념 클라우드 컴퓨팅: 손쉽게 사용하고 반납할 수 있는 각종 컴퓨터 자원 (서버, 스토리지, 서비스 등)의 공유 풀(shared pool)에 대해 어디서나 편리하게 접근할 수 있게 해주는 기술 가상화: 물리적으로 한 대인 컴퓨터 안에 여러 대의 컴퓨터가 작동하는 것처럼 만들어주는 기술 Hardware 위에 Hypervisor 라는 가상화를 적용하는 프로그램이 있고 그 위에 가상 머신 여러 대가 존재한다. - 가상화의 장점: 어떤 서비스를 제공하기 위해서 인프라를 준비할 때 여러 가지의 서버를 준비하게 되는데 예를 들어 웹 서버, 메일 서버, DB 서버, 파일 서버 등등.. 이 서버들을 구현하기 위해 서버 여러 대를 이용하면 서버 구축 및 관리가 편해진다.(관리의 용이성) 그러나 각 서버의 활용률은 줄어든다. .. 2021. 9. 8.
리눅스 환경에서 AMP소스설치(3) PHP 7.4.21 1. PHP 설치를 위한 패키지 설치 /usr/local $ sudo apt-get install libxml2-dev /usr/local $ apt-get install libjpeg-dev /usr/local $ apt-get install libpng-dev sudo apt-get install libsqlite3-dev 2. PHP 7.4.21.tar.gz 다운로드 /usr/local $ wget https://www.php.net/distributions/php-7.4.21.tar.gz /usr/local$ tar xvfz php-7.4.21.tar.gz 3. PHP 설치 /usr/local$/php-7.4.21 $ cd php-7.4.21 $ ./configure \ --with-apxs2=/.. 2021. 9. 7.
반응형