본문 바로가기

전체 글

(108)
[4일차] 10개 프로젝트로 완성하는 백엔드 웹개발(Java/Spring) 객체 지향의 특징과 개념에 대해 알아봤다면, 이를 적용한 실습을 통해 객체 지향에 한발 더 다가가는 시간을 가졌다. 사칙연산 계산기 요구사항 • 간단한 사칙 연산을 할 수 있다. • 양수로만 계산할 수 있다. • 나눗셈에서 0을 나누는 경우 IllegalArgument 예외를 발생시킨다. • MVC패턴(Model-View-Controller) 기반으로 구현한다. 프로젝트 구성 패스워드 검증기 코드(password)와 사칙 연산 계산기(calcurator)의 코드를 개별 관리하기 위해 새 패키지를 생성한다. 항상 프로덕션 코드의 패키지(main)와 테스트 코드의 패키지(test)의 경로를 일치시켜야 한다. 테스트 코드를 작성하다가 새로운 객체를 생성하기 위해 단축키를 입력하면 해당 객체를 저장할 위치를 지..
[3일차] 10개 프로젝트로 완성하는 백엔드 웹개발(Java/Spring) 테스트 코드를 작성해야하는 이유와 작성 방법, 객체지향 패러다임에 대한 개념을 배웠다. 테스트 코드 테스트 코드를 작성하는 이유? 작성한 코드가 올바르게 동작하는지 확인하려면 테스트 과정을 거쳐야 하는데, 이 때 작성하는 코드가 테스트 코드이다. 테스트 코드가 필요한 건 알겠는데, 작성해야 하는 이유는 뭘까? 1. 문서화 역할 2. 코드의 결함을 발견하기 위함. 3. 리팩토링 시 안정성 확보 4. 낮은 결합도를 갖는 설계를 얻게 된다. 테스트 코드 개발 방법 테스트 코드를 개발하는 방법은 크게 TDD(테스트 주도 개발)와 BDD(행위 주도 개발)가 있다. 주로 TDD와 BDD를 혼용하여 사용하는 경우가 많다. TDD(Test Driven Development) : 테스트 주도 개발 프로덕션 코드(main..
[2일차] 10개 프로젝트로 완성하는 백엔드 웹개발(Java/Spring) 개발 환경 구축을 완료 했다면, 이번에는 웹 프로젝트 환경을 구축할 차례이다. 오늘은 몇 가지 IntelliJ 설정과 웹 서버(tomcat)를 실행하는 애플리케이션 실습, 도커를 이용한 개발 환경을 구성하는 방법에 대해 배웠다. 1. 웹 프로젝트 환경을 구축하는데 필요한 IntelliJ 설정 2. IntelliJ에서 웹 서버(tomcat)를 실행하는 애플리케이션 실습 3. 도커란? 도커를 이용한 개발 환경 구성 프로젝트 생성 IntelliJ를 실행한 후 New Project를 선택하면 새로운 프로젝트가 생성된다. 이전에 프로젝트를 생성한 적이 있다면 해당 프로젝트의 화면이 보여지게 된다. Name : 프로젝트명 Location : 프로젝트를 저장할 위치 Language : 프로젝트를 개발하는데 사용하는 ..
[1일차] 10개 프로젝트로 완성하는 백엔드 웹개발(Java/Spring) 챌린지의 첫날은 가볍게 교육 과정을 훑어본 후 개발 환경을 구축하며 마무리하였다. 강의는 크게 12개의 부분으로 나뉘어 있으며, 그 안에서 다시 세부적으로 나뉜다. 여러 강사분이 파트별로 강의를 진행하시는데, 자신만의 스타일과 문제 해결 방법을 보여주실 거 같아 기대된다. 교육 과정 강의의 목차는 다음과 같다. 목차를 볼 때 아무래도 제일 먼저 눈길이 가는 건 실습 프로젝트에 대한 부분이 아닐까? 제목만 훑어봐도 이른 시일 내에 만들어 배포해보고 싶다. Part 1. 나만의 MVC 프레임워크 만들기 Part 2. 게시판 서비스 Part 3. 게시판 서비스 고도화 Part 4. 어드민 서비스 Part 5. PT 이용권 관리 서비스 Part 6. IT 서비스 회사에서 사용하는 진짜 프로젝트 맛보기 Part ..
[서론] 10개 프로젝트로 완성하는 백엔드 웹개발(Java/Spring) 자바의 정석을 완독한 후 현재는 Head First Java 책을 읽는 중이다. 스프링의 정석, 스프링 부트의 정석을 수강하려고 주마다 패스트캠퍼스 홈페이지를 방문하고 있었다. 금액적인 부담으로 인해 1+1 할인 이벤트 또는 50% 할인 이벤트를 기다리고 있었는데, 50일간 포트폴리오 챌린지라는 이벤트가 진행중이어서 고민 끝에(게을러서..) 챌린지에 참여하게 되었다. 이유는 1. 환급을 받기 때문에 금액적인 부담을 덜 수 있다. 2. 36개의 기술 스택을 배운다는 점에서 Spring의 큰 틀을 배울 수 있는 느낌을 받았다. 3. 포트폴리오와 면접의 팁을 제공하는 강의이다. 4. 평소에 관심있던 대용량 데이터 처리 방법을 다루는 강의이다. 강의를 이해하고 소화하는 건 온전히 내 몫이다. 얻고 느끼는 게 많..
[Java의 정석 - 연습문제] Chapter16. 네트워킹(Networking) Java의 정석 : 3rd Edition, 2016을 개인 학습용으로 정리한 내용입니다. "ppt 파일 자료, 연습문제"를 학습 용도로 배포할 수 있음을 고지하셨습니다. 저자님께 감사드립니다. [16-1] ip주소가 192.168.10.100이고 서브넷 마스크(subnet mask)가 255.255.255.0일 때, 네트워크 주소와 호스트 주소를 계산하여 화면에 출력하는 프로그램을 작성하시오. 단, 비트 연산자를 사용해서 계산해야 한다. [실행 결과] 네트워크 주소 : 192.168.10.0. 호스트 주소 : 0.0.0.100. 답 : class Exercise16_1 { public static void main(String[] args) { byte[] ip = {(byte)192, (byte)168..
[Java의 정석 - 연습문제] Chapter15. 입출력(I/O) Java의 정석 : 3rd Edition, 2016을 개인 학습용으로 정리한 내용입니다. "ppt 파일 자료, 연습문제"를 학습 용도로 배포할 수 있음을 고지하셨습니다. 저자님께 감사드립니다. [15-1] 커맨드라인으로부터 파일명과 숫자를 입력받아서, 입력받은 파일의 내용을 처음부터 입력받은 숫자만큼의 라인을 출력하는 프로그램(FileHead.java)을 작성하라. [Hint] BufferedReader의 readLine()을 사용하라. C:\jdk1.8\work\ch15>java FileHead 10 USAGE: java FileHead 10 FILENAME C:\jdk1.8\work\ch15>java FileHead 10 aaa aaa은/는 디렉토리이거나, 존재하지 않는 파일입니다. C:\jdk1.8..
[Java의 정석 - 연습문제] Chapter14. 람다와 스트림(Lambda & Stream) Java의 정석 : 3rd Edition, 2016을 개인 학습용으로 정리한 내용입니다. "ppt 파일 자료, 연습문제"를 학습 용도로 배포할 수 있음을 고지하셨습니다. 저자님께 감사드립니다. [14-1] 메서드를 람다식으로 변환하여 아래의 표를 완성하시오. 메서드 람다식 int max(int a, int b) { return a > b ? a : b; } (int a, int b) -> a > b ? a : b int printVar(String name, int i) { System.out.println(name + "=" + i); } (a) int square(int x) { return x * x; } (b) int roll() { return (int)(Math.random() * 6); } ..