본문 바로가기

생각해보기10

[boostcourse] 2. 웹 백엔드 프로그래밍 기초 생각해보기 #2 #2 웹 개발환경 설정 1-1) Apache Tomcat 외에 WAS는 어떤 것들이 있을까요? Apache Server, Nginx, IIS(Internet Information Server), WebToB 더보기 Apache Server :Apache 쓰레드와 프로세스 기반 구조 요청이 많을수록 CPU와 메모리 사용이 증가하므로 성능이 저하될 수 있음 대부분의 OS에서 사용이 가능 Multi-Processing-Modules(MPMs) MPM_prefork 하나의 자식프로세스가 하나의 쓰레드를 갖는 구조 프로세스가 생성되는 구조이므로 worker보다 많은 메모리를 사용 프로세스간 메모리를 직접 공유하지 않아 메모리 공간이 독립적이므로 안정적임 응답프로세스를 미리 띄워놓고 클라이언트 요청시 자식 프로세스.. 2021. 7. 20.
[boostcourse] 2. 웹 백엔드 프로그래밍 기초 생각해보기 #1 #1 Web개발의 이해 1-1) 프론트엔드부터 서버 개발까지 한 가지 프로그래밍 언어를 사용하여 개발한다면 어떤 언어를 사용하는 것이 좋을까? 프론트엔드는 물론 node.js 프레임워크를 사용해 백엔드 개발까지 할 수 있는 javascript라고 생각한다. 1-2) 다양한 라이브러리, 쉬운 개발, 읽기 쉽고 적은 코드를 장점으로 한다면 어떤 언어를 사용하는 것이 좋을까? 읽기 쉽고 적은 코드로 프로그래밍을 할 수 있는 Python이라고 생각한다. 1-3) 프로그래밍 언어에게 좋은 커뮤니티가 있다는 것은 어떤 장점을 가질까? 혼자 해결할 수 없는 오류와 궁금한 내용들을 질문하거나 자신이 알고있는 내용을 공유함으로써 더 쉽게 지식을 얻고 자신이 알고 있는 내용을 상기시킬 수 있다. 2) HTTP와 HTTPS.. 2021. 7. 20.
[boostcourse] 1. SQL & JDBC 프로그래밍 생각해보기 #3 ~ #5 #3 개발환경 설정 1) JDK가 운영체제별로 설치파일을 제공하는 이유는 무엇일까? Java 프로그램은 JVM위에서 돌아가며 이는 운영체제와 상관없이 독립적이다. 하지만 JVM 자체는 운영체제에 종속적이기 때문에 JVM을 포함하는 JDK는 운영체제마다 다르게 설치해주어야 한다. 2-1) 자바로 작성된 프로그램을 실행하려면 JRE만 설치하면 된다. 이때는 환경변수를 설정할 필요가 없다.그런데, JDK를 설치할 때는 환경변수를 설정해야 한다. 환경변수를 설정하는 이유가 무엇일까? 환경변수를 통해 shell은 java가 설치된 경로를 찾아 이를 실행한다. 만약 환경변수를 설정하지 않는다면 shell은 java가 어디있는지 알 수 없고, 사용자가 직접 /Library/Java/JavaVirtualMachines.. 2021. 7. 20.
[boostcourse] 1. SQL & JDBC 프로그래밍 생각해보기 #2 #2 SQL 1) 하나의 DBMS에는 여러 개의 데이터베이스를 생성하고, 각각의 데이터베이스를 사용할 수 있는 사용자를 추가할 수 있습니다. 데이터베이스를 생성하고, 생성한 데이터베이스를 사용한 사용자를 추가하고 로그인해보세요. ⓐ 데이터베이스 생성 ⓑ study_db를 사용하는 계정 생성, 권한 주기 더보기 Database 사용자 생성과 권한 주기 Database를 생성했다면, 해당 데이터베이스를 사용하는 계정을 생성해야 합니다. 또한, 해당 계정이 데이터베이스를 이용할 수 있는 권한을 줘야 합니다. 아래와 같은 명령을 이용해서 사용자 생성과 권한을 줄 수 있습니다. db이름 뒤의 * 는 모든 권한을 의미한다. @’%’는 어떤 클라이언트에서든 접근 가능하다는 의미이고, @’localhost’는 해당 컴.. 2021. 7. 19.
[boostcourse] 1. SQL & JDBC 프로그래밍 생각해보기 #1 #1 MySQL 1) Database와 DBMS를 개발자가 아닌 사람에게 설명해보세요. 도서관에 있는 책들 : Database 도서관의 사서 or 도서 정보를 찾아주는 컴퓨터 : DBMS 더보기 데이터베이스의 특성 실시간 접근성(Real-time Accessability) - 사용자의 요구를 즉시 처리할 수 있다. 계속적인 변화(Continuous Evolution) - 정확한 값을 유지하려고 삽입·삭제·수정 작업 등을 이용해 데이터를 지속적으로 갱신할 수 있다. 동시 공유성(Concurrent Sharing) - 사용자마다 서로 다른 목적으로 사용하므로 동시에 여러 사람이 동일한 데이터에 접근하고 이용할 수 있다. 내용 참조(Content Reference) - 저장한 데이터 레코드의 위치나 주소가 아.. 2021. 7. 19.