본문 바로가기

전체 글227

자바 웹개발 워크북 4장 서블릿과 JDBC java에서 db를 사용하려면 필요한 두가지. 1. 데이터베이스에 요청을 전달하고 결과를 받을 때 사용할 도구 - JDBC 2. 데이터베이스에 명령을 내릴 때 사용할 언어 - SQL ODBC JDBC 클래스 파일들 확인하고싶은데 자꾸 이딴식으로 떠서 짜증. 맥이라서 뭐가 다른가ㅡㅡ 집컴터로 다시 해봐야겠다. 어쨋던간에 자바에서 JDBC인터페이스를 제공하고 그거에 맞게 각 DB사마다 구현한게 있음. MySql-connecter-java가 MySql JDBC구현체. servlet은 톰캣안에 있음 절대경로 상대경로 / 붙이면 절대경로 없으면 상대경로 난 지금까지 절대경로만 쓴듯..? member/list 였던 상태에서 상대경로 절대경로 현재 웹앱의 경로인 web04도 사라짐. 절대경로일때는 현재 컨텍스트 루트.. 2023. 3. 9.
자바 웹개발 워크북 3장 서블릿 프로그래밍 서블릿? 자바에서 웹 브라우저와 웹 서버를 활용하여 쉽게 서버 어플리케이션을 개발 할 수 있도록 제공하는 기술. 자바로 만든 CGI프로그램 CGI 프로그래밍? Common Gateway Interface 웹서버와 프로그램 사이의 데이터를 주고받는 규칙. CGI프로그래밍에는 컴파일 방식과 인터프리터 방식이 있음. 컴파일 - C, Java - 기계어로 번역된 코드를 실행 => 속도빠름 - 변경사항 있을때마다 컴파일 재배포 해야함 인터프리터 - Perl, PHP, Python - 실행할 때마다 소스코드 문법 검증 해석 => 속도느림 - 변경사항 발생해도 수정 저장만 하면 됨. --- 서블릿 - 서블릿은 웹서버와 직접 데이터를 주고받지 않고 사이에 서블릿 컨테이너라는 것이 있음. - 개발자들은 더이상 CGI규칙.. 2023. 3. 8.
자바 웹 개발 워크북 2장 Http 프로토콜 HTTP - 웹 브라우저와 웹 서버 사이의 데이터 통신규칙 HTTP Proxy proxy? - 클라이언트와 서버 사이에서 통신을 중계해 주는 컴퓨터 프로그램 - 빠른전송 => 서버의 응답결과 캐싱을 통한 빠른 전송 - 보안 => 외부로부터 들어오는 데이터를 먼저 받아서 검사가능 캐시 - 외부 서버로부터 받은 데이터를 임시로 보관해두는 장소. http 구성요소 Request - Request-Line요청라인 - Request header - 공백라인 or message-body Response - Status-Line - Response Header - 공백라인 & message body 헤더종류 - 요청헤더 - 응답헤더 - 본문헤더 * 요청헤더의 User-Agent 클라이언트의 정보를 서버에게 알려주는 .. 2023. 3. 7.
자바 웹개발 워크북 1장 데스크톱 어플리케이션 -> 클라이언트-서버 어플리케이션 서버소켓 클래스 - 네트워크를 통해 들어오는 요청을 기다림. 요청에맞게 일을 수행하고 결과 리턴. 데스크톱 어플리케이션 설치해서 쓰는. 배포가 번거롭다 보안에 취약 해결방안으로 나온 게 클라이언트 서버 어플리케이션 - 어플리케이션 기능을 클라이언트-서버로 분리 - 수정용이 - 서버쪽에서 디비접속 -> 보안강화. 다중접속 문제 해결방안 멀티 프로세스 - 원본 프로세스의 메모리 모두 복제 -> 메모리 낭비 멀티 스레드 - 클라이언트 요청을 처리하는 코드만 별도로 분리 실행 -> 메모리 들 낭비 문제점 DB연결관리나 트랜잭션 보안 등 다양한 어플리케이션 자원 관리위한 프로그래밍도 필요. -> 자동화할수있으면 프로그래밍이 훨씬 간결해질것. ---- 클라이언.. 2023. 3. 6.
kafka leader_not_available , INVALID_REPLICATION_FACTOR error kafka 내부 config/server.properties 1. INVALID_REPLICATION_FACTOR 해결 2. leader_not_available 해결 2023. 3. 2.
spring & spring boot spring 자바기반 웹 어플리케이션을 만들 수 있느 프레임워크 POJO, IoC(Invertion of Control), DI(Dependency Injection), AOP(Aspect-Oriented Programming) POJO(Plain Old Java Object) JAVA및 JAVA의 스펙에 정의된 기술만 사용. POJO 장점 - 순수 java만을 사용하여 특정 기술이나 한겨에 종속되지않음 -> 수정 확장 용이 - 코드가 단순해짐 -> 테스트, 디버깅이 쉬워짐. DI(Dependency Injection) AOP(Aspect-Oriented Programming) Spring boot 기존 spring보다 실행환경 등 설정하는 부분이 많이 자동화 되어있음 Auto Configuration,.. 2023. 2. 22.
728x90