전체 글430 3.4.1 실습 전 사전 학습 및 친구 찾기 HTTP 웹 서버를 직접 구현하기 위해 사전 준비를 한다. 실습 시작 전, 자바의 스레드(Thread), 입출력 스트림(Input/Output Stream)에 대한 지식이 부족하다고 생각한다면 다시 한 번 자바 책을 참고해 학습한 후 실습을 진행할 것을 추천한다.현재 자신의 수준과 역량에 따라 명확히 구분하기 힘들겠지만 대략적으로 구분해 어떤 방식으로 실습하는 것이 좋은지 추천해본다. · 자바 문법이 익숙하지 않고, 자바 기반 웹 애플리케이션 개발 경험은 책을 따라하면서 구현한 수준이라면 이 실습은 혼자 진행하기 힘들 가능성이 높다. 이 경우 경험 많은 선배 개발자나 수준이 비슷한 친구와 같이 짝 프로그래밍으로 실습을 진행한다. · 웹 개발 경험이 없더라도 자바 문법이 친숙하다고 생각하는 개발자는 혼자 .. 2025. 1. 28. 3.3.4 리눅스, 터미널과 친해지기 리눅스 환경과 친해지려면 먼저 터미널 환경에서 작업하는 것에 대한 두려움을 없애야 한다. 두려움을 없애는 가장 좋은 방법은 리눅스 환경에 자주 접속해서 무엇이라도 해보는 경험을 하는 것이다. 로컬 개발 PC를 맥 운영체제로 하는 것도 리눅스 환경에 익숙해질 수 있는 한 가지 방법이다. 반드시 맥 운영체제가 아니더라도 최근 클라우드 서비스가 많아지면서 무료로 사용할 수 있는 리눅스 서버도 있기 때문에 의지만 있다면 얼마든지 무료로 학습 가능하다. 클라우드 서비스의 경우 서버에 무슨 짓을 해도 다른 사용자에게 영향을 미치지 않기 때문에 마음껏 가지고 놀면 된다. 가지고 놀다 뭔가 문제가 있으면 서버를 삭제하고 새로운 서버를 생성해 처음부터 다시 시작하면 된다.리눅스 환경이 막막한 이유 중의 하나는 마우스를 .. 2025. 1. 27. 3.3.3 동영상을 활용한 배포 실습 리눅스 서버에 소스코드를 배포한 경험이 없다면 위에서 작업한 힌트만으로 서버 설정을 하는 데 어려움이 있을 것이다. 위 힌트만으로 성공하지 못했다면 다음 동영상을 참고해 소스코드를 배포한다. - 한글 인코딩 설정, 자바 8 설치 및 설정, 메이븐 설치 및 설정 과정 참고 동영상 : https://youtu.be/dWGzApCuF9M - Git 설치, GitHub 저장소 클론, 메이븐을 활용한 빌드, HTTP 웹 서버 시작, 소스코드 수정 시 재배포 과정을 설명참고 동영상 : https://youtu.be/N8iLAuAo-Qw 3장의 실습을 끝내면 GitHub 저장소에 자신이 구현한 소스코드를 push한 후 위 동영상을 참고해 원격 서버에 직접 배포해본다. 자신의 개발 PC에서 테스트할 때와는 다른 느낌.. 2025. 1. 26. 3.3.2.6 소스코드 재배포 지금까지 단계를 성공하면 웹 서버는 "Hello World" 메시지를 출력하게 된다. "Hello World"가 아닌 자신이 원하는 다른 메시지를 출력하도록 수정한 후 자신의 GitHub 저장소에 push하고 다시 배포한다. · 다시 재배포를 하려면 먼저 현재 실행되고 있는 웹 서버를 종료해야 한다. ○ ps -ef | grep webserver로 자신이 실행한 웹 서버의 프로세스 아이디(PID)를 찾는다. ○ kill -9 $PID로 웹 서버를 종료한다. 앞의 실습 과정을 참고해 Git pull(clone한 저장소에 변경사항을 업데이트할 때 사용하는 명령어), 컴파일, 서버를 실행하면 수정한 소스코드를 반영할 수 있다.참고도서 : https://roadbook.co.kr/169 [신간안내] .. 2025. 1. 25. 3.3.2.5 방화벽 설정 Git 설치, clone 및 빌드를 통해 HTTP 웹 서버 실행 및 로컬 서버에서 접근이 가능한지 확인했다. 다음 단계는 외부에서 접근 가능하도록 설정해야 한다.현재까지 설정한 단계에서 외부에서 접근하면 접근이 되지 않을 수 있다. 접근되지 않는 대부분의 이유는 방화벽에서 해당 포트로 접근할 수 없도록 막고 있기 때문이다. 따라서 해당 포트로 접근이 가능하도록 방화벽을 해제해야 한다.AWS를 사용하지 않고 우분투 서버를 사용하고 있다면 ufw 명령을 사용해 방화벽 설정을 할 수 있다. · http://webdir.tistory.com/206 문서의 ufw 명령을 사용해 해제한다. · 현재 방화벽 상태는 sudo ufw status verbose로 확인해 볼 수 있다. 만약 AWS EC2 인스턴스를 사용하.. 2025. 1. 24. 3.3.2.4 Git 설치, clone 및 빌드 Git 설치 및 저장소를 clone 한다. · 구글에서 "ubuntu git install"로 검색 후 해결 방법을 찾는다. · 계정 Home 디렉토리에 배포할 HTTP 웹 서버의 GitHub 저장소를 clone 한다. · git clone 명령어를 활용한다. 메이븐 빌드 및 서버를 실행한다. · clone한 디렉토리로 이동한 후 mvn clean package 명령을 실행해 프로젝트를 빌드한다. · 빌드가 끝난 후 java -cp target/classes:target/dependency/* webserver.WebServer $PORT &를 실행한다. $PORT는 1024보다 큰 숫자 중 자신이 원하는 숫자로 지정 · $PORT를 7070으로 실행했다면 curl http://localhost:707.. 2025. 1. 23. 3.3.2.3 JDK, 메이븐 설치 먼저 JDK 최신 버전을 설치한다. · 구글에서 "jdk download"로 검색해 JDK 다운로드 서비스에 접속한다. · JDK 다운로드 라이센스에 동의하면 각 운영체제 별로 다운로드할 수 있는 링크 주소를 복사한다. · 구글에서 "ubuntu wget jdk 1.8 install"로 검색해 다운로드 방법을 찾은 후 JDK 최신 버전을 설치한다. wget 명령을 실행할 때 라이선스에 승인하는 부분을 HTTP 헤더에 추가하는 구문이 포함되어 있어야 한다. · 압축만 풀면 설치는 완료된다. gunzip과 tar 명령어를 활용한다. · 계정 Home 디렉토리의 .bash_profile 파일에 JAVA_HOME/bin 디렉토리를 PATH로 설정한다. ○ 구글에서 "ubuntu java path 설정"으로.. 2025. 1. 22. 3.3.2.2 각 계정별 UTF-8 인코딩 설정해 한글 이슈 해결 다음 명령을 실행해 시스템 전체 계정에서 한글과 관련한 인코딩을 사용할 수 있도록 설정한다. · sudo locale-gen ko_KR.EUC-KR ko_KR.UTF-8 · sudo dpkg-reconfigure locales 각 계정별 인코딩을 설정한다. · 각 계정 디렉토리의 .bash_profile에 다음 설정을 추가한다. 처음 접근시 .bash_profile이 존재하지 않을 수 있다. vi .bash_profile 명령으로 파일 생성 후 다음 설정을 추가한다. LANG="ko_KR.UTF-8"LANGUAGE="ko_KR:ko:en_US:en" · source .bash_profile 명령을 실행해 설정한 내용을 시스템에 바로 반영한다. · env 명령을 실행해 설정을 확인한다. 참고도서 : ht.. 2025. 1. 21. 3.3.2.1 계정 추가 및 sudo 권한 할당 AWS EC2로 실습을 진행하는 경우 이미 계정이 추가되어 있기 때문에 이 단계는 진행하지 않아도 된다. ssh로 접속할 때 root 계정으로 접근할 경우 다음 단계를 진행한다. · ssh로 서버에 접속해 개인별 계정을 추가한다. adduser 명령어를 활용한다. · 추가한 계정에 sudo 권한을 실행할 수 있도록 권한을 추가한다. 다른 계정에서 root 권한으로 명령을 실행할 때 필요하다.-> 구글에서 "ubuntu sudoer 추가"로 검색해서 문제 해결-> vi /etc/sudoers참고도서 : https://roadbook.co.kr/169 [신간안내] 자바 웹 프로그래밍 Next Step● 저자: 박재성 ● 페이지: 480 ● 판형: 사륙배변형(172*225) ● 도수: 1도 ● 정가: 30,0.. 2025. 1. 20. 이전 1 ··· 4 5 6 7 8 9 10 ··· 48 다음