네이버클라우드/JAVA 웹 프로그래밍138 JAVA 37일차 (2023-07-13) 자바 프로그래밍_스레드와 멀티태스킹 - 자바 프로그래밍 - 스레드 프로그래밍(com.eomcs.concurrent.ex1 ~ ex4) - 멀티태스킹의 메커니즘 이해 - 프로세스 스케쥴링: Round Robin 방식, Priority + Aging 방식 - 컨텍스트 스위칭 개념 - 프로세스 복제(fork)방식과 스레드 방식 비교 - 스레드의 구동원리와 사용법 - 스레드의 라이프사이클 이해 - Thread 클래스와 Runnable 인터페이스 사용법 - 프로젝트 실습 리눅스 서버 접속 및 C 파일 테스트 해보기 # 리눅스 운영체제 설치 - 가상 머신 구축 시스템 설치: Virtualbox - CLI 기반 가상 머신 관리 도구 설치: Vagrant - 가상 머신 생성 및 설정 ## 도구 준비 ### Virtualbox 설치 - [Virtualbo.. 2023. 7. 13. JAVA 36일차 (2023-07-12) 자바 프로그래밍_여러 클라이언트 요청을 동시에 처리하기: Thread 적용_개인프로젝트 - 마트 관리 시스템 ## 43. 여러 클라이언트 요청을 동시에 처리하기: Thread 적용 - 멀티태스킹의 메커니즘 이해 - 프로세스 스케쥴링: Round Robin 방식, Priority + Aging 방식 - 컨텍스트 스위칭 개념 - 프로세스 복제(fork)방식과 스레드 방식 비교 - 임계영역(Critical Region, Critical Section): 세마포어(Semaphore)와 뮤텍스(Mutex) - 스레드의 구동원리와 사용법 - 스레드의 라이프사이클 이해 - Thread 클래스와 Runnable 인터페이스 사용법 ServerApp.java ㄴ RequestAgentThread 클래스는 클라이언트의 요청을 처리하기 위한 스레드를 나타냄 ㄴ 이 클래스는 Thread 클래스를 상속하고 socket 멤버 변수를 가지.. 2023. 7. 12. JAVA 36일차 (2023-07-12) 자바 프로그래밍_여러 클라이언트 요청을 동시에 처리하기: Thread 적용_Calculator - 멀티태스킹의 메커니즘 이해 - 프로세스 스케줄링: Round Robin 방식, Priority + Aging 방식 - 컨텍스트 스위칭 개념 - 프로세스 복제(fork)방식과 스레드 방식 비교 - 임계영역(Critical Region, Critical Section): 세마포어(Semaphore)와 뮤텍스(Mutex) - 스레드의 구동원리와 사용법 - 스레드의 라이프사이클 이해 - Thread 클래스와 Runnable 인터페이스 사용법 Stateful 방식으로 통신하기 ㄴ bitcamp.test 패키지 생성 ㄴ bitcamp.test 패키지에 CalcClient1, CalcServer1 생성 CalcClient1.java ㄴ 클라이언트에서 로컬 호스트(127.0.0.1)의 8888 포트로 소켓 연결을 .. 2023. 7. 12. JAVA 35일차 (2023-07-11) 자바 프로그래밍_여러 클라이언트의 요청을 순차적으로 처리하기: Stateless 방식_개인프로젝트 - 마트 관리 시스템 ## 42. 여러 클라이언트의 요청을 순차적으로 처리하기: Stateless 방식 - Stateless 방식으로 통신하는 방법 - 구동 원리와 Stateful 방식 대비 이점 - Stateless 방식의 문제점 ServerApp.java ㄴ while 문 껍데기를 제거 => ServerApp.java ㄴ 이제 while 문이 아니므로 quit, break 는 필요 없음 ㄴ continue 는 모두 return 으로 변경 ㄴ 클라이언트 요청을 반복해서 처리하지 않음 => 접속 -> 요청 -> 실행 -> 응답 -> 연결 끊기 DaoBuilder.java ㄴ DaoBuilder 의 생성자에 serverAdddress, port 를 넘겨줌 DaoBuilder.java ㄴ Socket socket = new So.. 2023. 7. 11. JAVA 35일차 (2023-07-11) 자바 프로그래밍_여러 클라이언트의 요청을 순차적으로 처리하기: Stateful 방식_개인프로젝트 - 마트 관리 시스템 ## 41. 여러 클라이언트의 요청을 순차적으로 처리하기: Stateful 방식 - 클라이언트 요청을 순차적으로 처리하는 방법 - 구동 원리와 문제점 ServerApp.java => ㄴ while 문으로 감싸주기 ServerApp.java ㄴ procesRequest 메서드 생성 => ServerApp.java ㄴ while 문 안에 있는 while 문 잘라내기 => ServerApp.java ㄴ 생성한 processRequest 메서드 안에 잘라낸 코드 삽입하기 ServerApp.java => ServerApp.java ㄴ 예외 처리하기 => in, out 은 밖으로 빼줘야 함 ServerApp.java ㄴ 자원해제 문제 => ServerApp.java ㄴ하나씩 처리해줘야 함 => ServerApp.j.. 2023. 7. 11. JAVA 35일차 (2023-07-11) 자바 프로그래밍_예외 처리하기_개인프로젝트 - 마트 관리 시스템 ## 40. 예외 처리하기 - 예외가 발생했을 때 시스템을 멈추기 않게 하는 방법 - try ~ catch ~ finally 사용법 ServerApp.java => ServerApp.java ㄴ ERROR 일 경우 에러 메시지를 출력하도록 함 MenuGroup.java => MenuGroup.java ㄴ 입력한 메뉴 번호가 옳지 않은 경우 실행 오류: [오류 메시지] 를 출력하도록 함 => 실행 테스트 2023. 7. 11. 이전 1 ··· 10 11 12 13 14 15 16 ··· 23 다음