개발 93

본캠프 : Spring 기초_1주차

❓ 네트워크 지식이 왜 필요한가요?우리는 사용자가 요청을 했을 때 해당 요청에 대한 응답을 수행하는 프로그램 즉, 서버를 개발하게 됩니다.사용자의 요청에서 시작하여 우리가 만든 서버에 도착하고 다시 사용자에게 응답이 되돌아가는 흐름을 잘 파악하고 있다면 서버 개발에 큰 도움이 됩니다.인터넷 브라우저(클라이언트)와 서버가 데이터를 주고받는 통신 방법인 HTTP(HyperText Transfer Protocol)는 결국, Web 기반에서 동작하기 때문에 네트워크에 대한 지식은 필수입니다.▶ 프로토콜(Protocol)이란? 복잡한 인터넷 세상에서 컴퓨터와 컴퓨터끼리 데이터를 주고받기 위하여 정한 통신규약.-Java 백엔드 웹 개발자라면 대부분 IntelliJ 혹은 Eclipse를 사용합니다. IntelliJ는..

개발/부트캠프 2025.01.20

본캠프 : 개인 과제(키오스크 만들기) 트러블 슈팅

1. 개요키오스크 만들기 과제(Lv.4)를 진행하며, 겪은 이슈를 다뤄보겠습니다. 2. 트러블 슈팅● 배경 Kiosk 클래스의 start 함수에 예외 처리가 안된 부분을 발견했습니다. ● 발단 예외 처리가 되지 않아서 정해진 값 외의 숫자 또는 문자가 입력되었을 때 프로그램이 종료되었습니다. ● 전개 계산기 과제 때 구현하지 못한 try catch문을 시도했으나 아래 코드에서 오류가 발생했습니다. 원인은 finally 때문이었습니다. finally는 예외의 발생 여부와 상관없이 무조건 실행되는 코드가 들어가는 블럭이어서 정확한 값이 입력이 되어도 다시 continue가 되었습니다. ● 위기 finally를 삭제하였는데 catch에서 아래와 같이 위 내용이 멈추지 않고 계속 반복되었습니다. ● 절정 원인은..

개발/부트캠프 2025.01.20

본캠프 : Java 예외처리

1.논리 오류(Logic Error) / 실행은 되지만 의도와 다르게 동작하는것: 이른바 '버그' 라고 생각하면 된다. 프로그램이 실행하고 작동하는데는 아무런 문제가 없는 오류이지만, 결과가 예상과 달라 사용자가 의도한 작업을 수행하지 못하게 되어 서비스 이용에 지장이 생길 수 있다. 논리적 오류는 컴퓨터 입장에서는 프로그램이 멀쩡히 돌아가는 것이니 에러 메시지를 알려주지 않는다. 따라서 개발자는 프로그램의 전반적인 코드와 알고리즘을 체크 필요가 있다.예를 들어 재고량이 음수가 나오면 안되는데 음수가 나와버리는 경우, 게임 캐릭터가 피가 0이어도 죽지 않는 경우를 들 수 있다. 2.컴파일 오류(Compillation Error) / 컴파일 시에 발생하는 에러 : 컴파일 에러는 컴파일 단계에서 오류 발견하..

개발/부트캠프 2025.01.17

본캠프 : 개인 과제(계산기 만들기)_1:1 피드백

*계산기 과제 Github 링크: https://github.com/Park-EJ/sparta_calculator [좋은점] - 각 단계에 따라 출력되는 안내문들이 유저 친화적이여서 이해하기 쉬웠습니다. - 오버엔지니어링 없이 필요한 기능들을 요구사항에 맞게 잘 구현해 주셨습니다.  [아쉬운점] - 함수의 이름에 대해서 고민해보면 좋겠습니다. 예를 들어, Calculator의 getResultList는 getResults로 함축 할 수 있겠습니다. 이름에 이미 여러개의 결과들이 반환된다는것을 암시하여 List라는 이름이 들어가지 않아도 됩니다. List를 붙이는것도 풍부한 표현을 하기위해 좋기도 하지만, 줄일 수 있는 방법이 있다면 줄이도록 노력하는것도 좋겠습니다. 함수는 결국 코드 간에 대화를 하는 창..

개발/부트캠프 2025.01.16

본캠프 : 개인 과제(키오스크 만들기)_for문 복습

for문으로 컬렉션 순회MenuItem menuItem1 = new MenuItem("ShackBurger", 6.9, "토마토, 양상추, 쉑소스가 토핑된 치즈버거");MenuItem menuItem2 = new MenuItem("SmokeShack", 8.9, "베이컨, 체리 페퍼에 쉑소스가 토핑된 치즈버거");MenuItem menuItem3 = new MenuItem("Cheeseburger", 6.9, "포테이토 번과 비프패티, 치즈가 토핑된 치즈버거");MenuItem menuItem4 = new MenuItem("Hamburger", 5.4, "비프패티를 기반으로 야채가 들어간 기본버거");List menuItems = new ArrayList();menuItems.add(menuItem1);..

개발/부트캠프 2025.01.14

본캠프 : 개인 과제(계산기 만들기) Getter, Setter 코드

public class App {public static void main(String[] args) {// 연산 결과를 컬렉션에 저장하기calculator1.setResultList(result);// 연산 종료 후 저장된 전체 결과값 출력System.out.println("전체 결과값: " + calculator1.getResultList());  public class Calculator {private int result;private ArrayList resultList = new ArrayList();// 연산 결과를 컬렉션에 저장하기public void setResultList(int result) { this.resultList.add(result);}// 연산 전체 결과값 불러오기p..

개발/부트캠프 2025.01.13

본캠프 : 개인 과제(계산기 만들기) 해설 강의

-throw new에 대해 서칭 필요 : 프로그램 종료  switch (operator) {      case ...      ....      default:             throw new IllegalArgumentException("사칙연산 기호는 +, -, *, / 중 하나여야 합니다.");  } -스캐너로 입력 받은 문자열은 절대로 null이 될 수 없다. exit 문자열은 null이 아니다. 그래서 확실히 null이 아닌 exit를 앞에 적는 것이 NullPointException을 방지하기 위한 안전한 코드이다. System.out.println("더 계산하시겠습니까? (exit 입력 시 종료)"); String answer = sc.next(); if ("exit".equals(a..

개발/부트캠프 2025.01.10

본캠프 : 개인 과제(계산기 만들기) 완료 후기

나는 자바를 1도 몰랐던 비전공자....자바 기초 강의를 시작하며, 계산기를 구현하는 개인 과제를 진행했다.지난 번 팀 프로젝트 때와는 달리 혼자서 해야 하니, 더욱 막막했다.하지만 우여곡절 끝에 계산기 기능을 만들었다!강의 가운데 이해가 안 되는 부분은 반복해서 듣고 유튜브도 찾아보고고민 고민 고민 고민하다가 안되는 부분은 튜터님을 찾아가 자문을 구했다.그리곤 강의에서 배운 내용들을 하나씩 나의 것으로 만들어 갔다.그리 대단한 과제는 아니지만 처음으로 혼자서 자바 언어로 코딩을 해본 거라 너무 기쁜 마음이다.도통 이해가 안 되던 자바이지만 결국 반복하고 꾸준히 하다 보면 길이 보인다는 걸 느꼈다.

개발/부트캠프 2025.01.09