전체 글 69

[개발일지] 자바 첫 프로젝트를 마무리하며

첫번째 주에는 HTML/CSS로 만드는 프로젝트였다.HTML/CSS는 배운 적이 있기도 하고 어떤 코드를 짜면 바로바로 확인이 가능하기 때문에사실 코드를 짜는 것보다는 디자인을 어떻게 할 지 고민하는 것이 더 힘들었다. 자바는 언어 자체가 HTML/CSS보다 어렵다.객체지향이라는 개념 자체가 어려워서 코드를 짜는 것에 애를 많이 먹었다.모르는 개념을 찾아보고 구글링하며 공부하고 그래도 모르겠으면 팀원들에게 힌트를 얻었다. 깃허브 사용도 어려웠다.브랜치를 따로 파고 풀 리퀘스트로 머지하는 과정에서 내가 잘못된 코드를 입력해서 다같이 초기화가 되었다.그 뒤로는 항상 함께 화면공유하며 해결해 나가서 이제는 이 과정을 실수없이 할 수 있고, 다른 누군가에게 알려줄 수 있다. 팀원들과 협업에서 나의 부족함을 느끼..

개발일지 2024.08.12

[개발일지] KPT 회고 작성 | 개발 돌아보기

Keep 팀원1) 협업이나 문제점이 생겼을때 같이 화면공유를 및 소통이 잘되는것이 좋았습니다.  팀원2) 프로젝트를 기간 내에 끝낸 부분에 만족하고 있다.팀원들이 함께 화면을 공유하며 conflict merge한 것을 이어가면 좋겠다. 그리고 코드를 완성하는 것에서 멈추지 않고 완성도를 높이려는 시도를 하는 것도 이어가면 좋겠다. 팀원3) 소통하실 때 의견을 잘 내주시는 부분이 좋았다.다들 열심히해서 추가기능까지 구현하신 것  팀원4) 저희 팀의 분위기가 처음부터 끝까지 좋았던 것이 좋았습니다.보고할 것이 있으면 바로 보고하는 것이 좋았습니다.      Problem 팀원1) 개발할때 문서화 하는 부분이 필요하다고 느꼇습니다Git Merge를 할때 conflict가 발생할때 해결하는 부분이 조금 어려웠..

개발일지 2024.08.08

[개발일지] 엣지 케이스 작성 | 테스트 케이스 작성 | 예외 처리

프로젝트가 완성되고 나면 무엇을 해야 할까요?엣지 케이스를 작성해야 합니다.프로젝트에 대해 발표할 때, 같은 프로젝트를 발표하더라도제대로 엣지 케이스를 알고 발표하는 것과 시연할 때 바로 실행해보는 것은 느낌 차이가 있습니다.준비가 된 것과 안 된 것은 확실히 차이가 있을 것 같아저희 조는 발표를 맡은 팀원의 원활한 발표를 위해 꼼꼼하게 엣지케이스를 작성해보았습니다.기능이 많아서인지 테스트 케이스만 거의 30개 정도 나왔습니다.. ㅋㅋㅋㅋ 작성법은 매우 간단한 편입니다.   테스트 케이스 1: 수강생 등록에서 필수 과목 목록에서 3개 미만, 선택 과목을 2개 미만으로 선택했을 때예상결과: 수강생 등록에 실패했다는 오류 메시지 출력   테스트 케이스 2: 수강생 등록에서 이름과 필수 과목 3개 이상, 선택..

개발일지 2024.08.08

[개발일지] GitHub merge 해결 | git branch 만들기 | GitHub Pull Requests

이번 개발에서 가장 힘들었던 점이 바로깃허브에서 생기는 오류였습니다 ㅋㅋㅋ 깃허브로 작업해신 분들은 아시겠지만,제대로 처리해두지 않으면 충돌과 오류 모두 경험할 수 있습니다... 저는 처음에 제대로 깃허브에 대해 배우지 못한 채로 깃허브 사용을 했었는데하다보니 너무 충돌과 오류가 많아서 팀원들에게 민폐를 끼치더라구요 ㅠㅠ그래서 이번에 완전히 브랜치를 파서 풀 리퀘스트하는 방법을 배웠습니다! 깃허브를 처음 사용해시는 분들도 이거 보시면 어떻게 깃허브를 사용하면 되는지 알기 쉽도록자세히 알려드리도록 할게요!         일단 쉬운 이해를 도와드리기 위해 계산기 클래스를 만들어서 깃허브에 올려놓았습니다.  Calculator.java를 만들기만 하고 안에 구현은 하지 않은 상태입니다.그 상태에서 github..

개발일지 2024.08.07

[개발일지] GitHub 사용하기 | conflict 해결 | branch 생성

개발하면서 GitHub 사용을 많이 하는데요.깃허브를 잘 사용하면 팀원들과의 코드 공유가 쉬워지기 때문에 잘 사용하는 것은 중요합니다.오늘은 깃허브 사용법에 대해 알려드리도록 하겠습니다.       1. 팀원 1명이 초기 프로젝트 생성하기  2. git init-> git init으로 깃허브 사용을 시작  3. git add & git commit(master)$ git add .(master)$ git commit -m "메세지"add . 은 파일에 있는 모든 것을 추가한다는 의미입니다. 특정 파일만 추가하고 싶다면(master)$ git add 이렇게 작성해주시면 됩니다. commit은 어떤 내용을 추가하는지 알려주는 메세지를 적는 것입니다.어떤 부분을 수정하였는지 정확히 적어주면 팀원들이 수정사항을..

개발일지 2024.08.05

[Java] 정보 등록 코드 | 수강생 정보 등록 코드 | 자바 객체지향 프로그래밍 예시 코드

안녕하세요!자바로 수강생 정보를 등록하는 코드를 짜보았습니다.수강생의 이름, 필수과목 3가지, 선택과목 2가지를 선택할 수 있도록 했습니다.그리고 수강생이 입력되면 자동으로 인덱스가 1개 올라가도록 했는데요! 객체지향에 익숙하지 않아서 어떻게 코드를 짜야할까 고민이 묻어난 코드입니다 ㅋㅋㅋ 코드 같이 보겠습니다!       package camp.model;import java.sql.PseudoColumnUsage;import java.util.ArrayList;import java.util.List;import java.util.Scanner;public class StudentManager { private static List studentStore = new ArrayList(); p..

Java 2024.08.02

[개발일지] Java 관리 프로그램 개발 | 개발 전 정리 | 개발이 어려울 때

안녕하세요.이번에는 캠프 관리 프로그램을 개발하는 프로젝트를 받았습니다.수강생들을 관리하는 역할을 하는 프로그램을 개발하는 프로젝트입니다. 저는 개발이 익숙치 않기도 하고,자바로는 첫 개발이었습니다.혼자 하는 프로젝트가 아니라 협업으로 해야 하는 프로젝트라서더욱 그 시작을 어떻게 해야하는지 많은 어려움이 있었는데요! 그 어려움을 해쳐나가기 위해서 필수 요구사항을 어떤 메서드로 구현하면 좋을지구상하는 작업을 했습니다.무작정 시작하는 것보다는 이렇게 개발 전에 구상단계를 거치는 것이훨씬 편하더라구요!! 그럼 개발 전에 조금 정리한 결과를 알려드리겠습니다!       필수 요구 사항수강생 관리  수강생의 고유번호는 중복될 수 없습니다. 수강생 정보를 등록할 수 있습니다.등록 필수 정보고유 번호이름과목 목록 수..

개발일지 2024.08.01

[Java] 객체 생성 | 참조형 변수 | 객체 배열

안녕하세요!저번 포스팅에는 클래스를 설계하는 4단계를 알려드렸습니다.오늘은 객체를 생성하는 방법과 참조형 변수를 선언하는 방법을 알려드리려 합니다.     ✔️ 객체 생성 new Car(); // Car클래스 객체 생성 객체 생성 연산자인 'new'를 사용하면 클래스(여기서는 Car())로부터 객체를 생성할 수 있습니다.new 연산자 뒤에는 해당 클래스의 생성자 호출 코드를 작성합니다.여기서는 형태가 Car(); 입니다. 괄호 안에 아무것도 없는 것은 기본 생성자의 형태인데요!new  연산자에 의해 객체가 생성되면서 기본 생성자가 호출되는 것입니다~    ✔️ 참조형 변수 Car car1 = new Car(); // Car클래스의 객체인 car1 인스턴스 생성Car car2 = new Car(); // ..

Java 2024.07.31

[Java] 클래스 설계 | 객체 생성의 기초

안녕하세요!오늘은 클래스를 설계하는 방법을 알아보도록 하겠습니다. 클래스는 객체를 생성하기 위한 설계도라고 생각하시면 됩니다.이때, 클래스는 필드, 생성자 메서드를 구성 멤버로 가지고 있습니다.  클래스를 만들기 위해서는 4가지 단계가 필요합니다. 1. 클래스 선언 2. 객체가 가지고 있어야 할 속성(필드) 정의 3. 객체를 생성하는 방식 정의(생성자 정의) 4. 객체가 가지고 있어야 할 행위(메서드) 정의  순서대로 예를 들어 따라가보겠습니다!!      1) 클래스 선언 public class Car {} 공개된 자동차 클래스를 선언했다는 의미가 됩니다.   2) 클래스의 필드 정의 public class Car { String company; // 자동차 회사 String model; // ..

Java 2024.07.31

[Java] 객체지향 프로그래밍 이해하기

안녕하세요!오늘은 자바에서 가장 중요한객체지향 프로그래밍 개념에 대해 설명드리려고 합니다.  간단한 예로 들어볼까요? 우리가 하는 현실 세계에서는 어떠한 제품을 만들기 위해부품을 하나씩 조립해서 완성시킵니다. 자동차, 컴퓨터, 냉장고 등 큰 제품 혹은 볼펜처럼 작은 제품들도여러 가지 부품들을 조립하여 완성시킵니다. 소프트웨어도 마찬가지입니다!필요한 부품들을 조립해서 하나의 프로그램을 만들 수 있습니다.이 기법을 바로 객체지향 프로그래밍이라고 하는 것입니다! 소프트웨어에서의 부품을 '객체'라고 표현하는 것입니다. 이 객체가 무엇인지 살펴보겠습니다!   1. 객체란? 객체란, 세상에 존재하는 물체를 뜻하며 식별이 가능한 것을 의미합니다.물리적으로 존재하는 객체와 개념적인 것 또한 식별이 가능하므로 객체라고 ..

Java 2024.07.29