오늘 공부한 내용

  • Spring 입문주차 1주차 시청 
  • 개인과제 작성

어려웠던 내용

1. Path Variable, Requset Param

2. Create, Read, Update, Delete 구현

 

 

새로 알게된점

1.  Datebase, SQL에 대해 정확히 알게 되었다.

-  정보를 저장하는 장소인 Datebase에 원하는 정보의 구조로 조작,관리 하기 위해 사용되는 언어가 SQL이다.

 

 

오늘의 느낀점

금일 영상을 보면서 Create, Read, Update, Delete 구현을 최대한 이해하는데 중점을 공부했다.

영상에서 메모장을 만들면서 실습했는데 웹페이지에서 필요한 기능을 Spring은 간단한 명령어로 적용하는 것을 보면서 확실히 JavaScript보다는 높은 편의성을 가지고 있다는걸 느꼈다.
아직 제대로 적용못하고 이해가 안되지만 이를 Java언어로 작성시 얼마나 손이 많이가고 오류가 일어날지  감이 안올정도 이다.

문제는 공부를 해도 적용을 못하니 개인과제는 이번에도 완성은커녕 반도 제대로 못하고 시간에 쫓겨 제출하게되었다.

주말에 개인적으로 공부하고 만들어보면서 연습해야 할거 같다.

스프링 진짜 어렵구나....

 

 

오늘 공부한 내용

  • Spring 입문주차 1주차 시청 
  •  

어려웠던 내용

1. 전체적인 구조를 이해하려해도 낯선 구조와 단어로 이해가 어렵다.

 

새로 알게된점

1.  Controller를 이용하여 API를 처리하는데 필요한 클래스 갯수를 줄여 보다 코드를 간편하게 만듬

 

 

오늘의 느낀점

Spring 구조가 참 어렵다.

Java로 작성히 중복되는 코드를 줄이고 보다 효율성 높게 처리하기 위해 만든거라지만 하나하나 활용하기에는 아직 이해가 안가는 부분이 너무 많다.

또 기초 강의에서 언급되던 부분이 여기서도 적용되다보니 자바 오버라이딩 부분을 좀 다시 공부해야 겠다.

오늘 공부한 내용

  • Spring 입문주차 1주차 시청 
  • Spring 베이직반 강의 / Collection & Exception

어려웠던 내용

1. Exception에 대해서는 아직 제대로 알지 못함

 

새로 알게된점

1.  Java 의 배열 , 컬렉션에 대한 종류( List, Queue, Set, Map )와 정확한 개념에 대해 알게 되었다.

 

 

오늘의 느낀점

금일 Spring 1주차 초기부분 영상 시청에서 주로 Spring이 왜 필요하며 어떻게 이루어지는 지에 대해 보다보니 지금까지 우리가 편하게 썼던 인터넷이 내가 생각했던것보다 훨씬더 복잡한 존재 였다는것을 느끼게됬다.

베이직반 강의에서는 Spring강의에 앞서 먼저 가장많이 사용되는 Collection, Exception에 대해 강의 해주었는데 세부적으로 예시를 드니 Collection은 이제 확실히 개념이 잡힌거 같은데 Exception은 아직 두루뭉실하게 잡혀서 추후 따로공부해야 겠다.

오늘 공부한 내용

  • 프로그래밍 기초 / 심화반 특강
  • Java의 정석 책 / 객체지향 복습

 

어려웠던 내용

1. Object에 대한 이해, 상속 에대한 이해

 

 

새로 알게된점

1. Object는 객체를 말하며 객체는 의미적으로 뭉쳐있는 역할을 가지는 존재 라는 추상적 개념이라는 것에대해 이해했다.

 

 

오늘의 느낀점

이전에 심화반에서 한 특강을 따로 시청하며 객체지향에 대한 전체적인 개념을 공부했다.

영상을 보면서 객체니, 상속이니, Object이니 단어에 궁금한 의미를 가지는게 많았는데 영어로 따지면 동사, 명사 처럼 명칭을 나타나는 추상적인 개념을 의미하는게 많아서 헷갈렸던 것을 세부적으로 잘 풀어서 설명하다보니 이제야 각 단어가 무엇을 의미하는지 이해가 되었다.

특히 강의에서 객체를 잘 정의해서 정리하면 코드가 편해진다고 했는데 이 의미가 무슨의미인지 확실히 와닿았다.

객체에 익숙해지는게 주 관건이 될거 같다.

또한 스프링 주특기를 시작하는 날이기도 한데 아직 자바도 제대로 이해 하지 못했는데 스프링을 잘할수 있을지 모르겠다

매니저 님이 말씀해주시는 스프링 일정 계획표를 확인하니 먼저 1주동안은 강의시청에 집중하는 시간을 주로 하며 실력에따라 베이직, 스탠다드, 챌린저 형태로 나누었는데 나는 아직 기초가 안잡혔다고 생각해서 베이직 으로 들어갔다.

베이직 실질적 교육은 내일 부터 이다만 잘 할수 있을지 걱정이다.

오늘 공부한 내용

  1. 키오스크 과제 답변확인
  2. 코딩 도장 예제 풀기

 

코딩 도장 예제

  • 10미만의 자연수에서 3과 5의 배수를 구하면 3,5,6,9이다. 이들의 총합은 23이다. 1000미만의 자연수에서 3,5의 배수의 총합을 구하라.

답변

public class Multiplesof3and5 {
    public static void main(String[] args) {
        int sum = 0;
        for ( int i = 1 ; i < 1000 ; i++) {
            if ((i % 3 == 0 || i % 5 == 0))
                sum += i;
        }
        System.out.println(sum);
    }
}

오늘의 느낀점

항상 강의만 보면서 연습하다가 코딩 도장이라는 곳에서 직접 예제문제를 해결하는 방식으로 풀어보았는데 분명히 다 배웠던 것임에도 불구하고 제대로 풀기가 어려웠다.
풀면서 내가 생각했던구조가 오히려 점점 더 어려워지고 이상해지다보니 해결이 안되서 결국 답을 보았는데 답변을 보면서 분명히 이해는 하고 있지만 이 구조식을 머리속으로 만들기까지가 어렵다는 것을 느꼈다.
이거는 수학 문제 풀때처럼 공식만 외운다고 해결될것이 아니라 직접 문제를 풀고 해결하면서 응용방법을 올려야 진짜 실력이 늘거라는것을 확인해싿.
 

 

프로젝트

  • 팀명 : 코딩쿠킹스
  • 팀원 : 김대영(팀장), 임상훈, 송지헌
  • 개발 기간 : 2023.10.25 ~ 2023.10.30
  • 개발 내용 : 호텔 예약 프로그램 제작
  • 깃허브 : https://github.com/kdy9960/HotelProject

1. KEEP

협업

  • 초반 알고리즘 작성으로 과제실행에 앞서 전체적인 구조 설계 와 기능  구분
  • Git으로 수정된 파일을 바로 올려서 적용 

기술

  • 객체지향 위주로 코드를 작성
  • switch문 적극적으로 활용

2. PROBLEM

협업

  • Java 문법의 낮은 숙련도로 기능 구현하는데 여러움을 느낌
  • 서로간의 코드작성시 변수의 혼란으로 커밋할시 혼선이 옴

기술

  • github의 미숙한 활용도
  •  

3. TRY

협업

  • 각 담당 기능 별 코드 리뷰
  • 코드 작성시 사용하고 있는 변수 값에 대해서 공지글에 올리기
  • 팀원 개인의 역량을 파악하는 시간을 갖기
    • 할 수 있는 것과 없는 것의 명확한 구분 필요
  • 정기 소통 시간 계획
    • 저녁 정기 미팅: 진행 현황 공유
  • 강의에서 배움 Java 기초를 최대한 이용하여 제작
  • Github 적극적인 사용

기술

  • 리팩토링 시도
    • 코드 리뷰를 통한 더 나은 코드 모색
    • 코드 합칠시 구분이 잘되도록 변수이름 지정에 좀더 세분화할 필요확인
  •  

4. 느낀 점

 

김대영

처음 배우는 Java로 문법을 잘 활용하지 못하여 과제를 하면서 계속 버벅이다 보니 더더욱 힘들게 느껴졌던거 같습니다.

그래도 이전 개인과제시 개념이해에 많은 시간을 보내 과제를 수행하지 못했던때와 달리 이번에는 그동안 학습한 내용을 바탕으로 한가지의 기능을 맡아서 작성했고 이를 반영하여 프로젝트를 완료 할 수 있어서 보람을 느꼈습니다.

또한 내가 맡은 파트라서 혼자 작업하다 막히는부분을 해결하기위해 고민하는 것보다는 즉시즉시 팀원들에게 공유하면서 피드백을 받으면서 작업하는게 훨씬 정확하고 빠르다는 것을 크게 느끼게 되었습니다.

좀더 문법에 숙달하여 다음 프로젝트에는 도움받는 팀원이 아닌 주는 팀원이 되고 싶습니다.

임상훈

이번에 프로젝트를 진행하면서 협업의 중요성을 깨닫게 되었고 아직은 깃 관련 기능을 잘 다루지 못하고 코드 짜는법도 아직은 미숙하지만  앞으로 팀원들과 계속 프로젝트를 진행하면서 성장해나가겠습니다.

송지헌

캠프에 들어오고 처음으로 한 팀과제였는데, 깃을 통한 협업을 제대로 하지 못해서 아쉬웠고, 배운 것을 토대로 코딩을 활용하지 못해서 더더욱 아쉬움이 많이 느껴졌습니다.

다음번 프로젝트때는 도움이 되는 코드들을 만들어 팀에 기여를 하고 싶습니다.

 

 

후일담

Java를 활용했던 일전의 개인과제이후 두번째인 팀별과제를 완료했다.

이번 팀별 과제를 수행하며 java의 기초 문법에 대해 좀더 크게 이해할수있는 계기가 되었다.

다만 개념을 알아도 이를 실질적으로 문법에 적용하기위해서는 미흡한 부분이 많아 다양한 예제를 풀면서 좀더 구조숙달에 힘을써야 할거 같다.

오늘 공부한 내용

  • 보충반 특강 2번 / 클래스 와 객체
  • 팀별과제 고객등록기능 제작

 

어려웠던 내용

1. 클래스 구현시 구분

2. 고객등록기능 제작시 객체 구분이 어려움

 

 

새로 알게된점

1. 클래스 와 객체에 대한 정확한 개념 정립

2. 클래스 구현시 약속 ( 객체, 메소드로 의미를 파악하기 쉽도록 작성하기)

- 클래스, 객체의 이름은 명사 / 메소드 이름은 동사 로 처리하면 코드를 읽고 구분하는게 굉장히 쉬워진다.

- ex

Page myPage = new Page()
myPage.save();

Order lastOrder = new Order()
lastOrder.save();

 

 

 

오늘의 느낀점

오늘은 특강에서 클래스와 객체 를 작성히 정확하게 이것은 변수고 이것은 어디 클래스의 객체를 가져온다는 식으로 상세하게 알려주어서 그동안 부분적으로 잡혀있던 개념이 확실하게 익히게 되었다.

클래스와 객체 개념이 정확히 잡히니 과제를 수행하는데 있어서 어디가 문제고 이후 기능을 실행하기 위해 어디서 값을 끌어와야 하는지 알수 있어서 금일 팀별과제의 고객기능추가하는데 있어서 도움이 되었다.

좀더 숙련된후 나머지 개념도 정확하게 익히면 문법기초를 시행하는데있어서 어려움이 많이 줄거 같다.

오늘 공부한 내용

  • Java의 정석 : 클래스 정의 및 구조, 객체 생성 및 배열, 클래스 변수 와 인스턴스 변수,  메서드의 선언,구현,호출 , return문, static
  • 팀별과제 : 고객등록 기능 제작하기

 

어려웠던 내용

1. 입력된 고객 정보를 수정하는 방법

 

 

새로 알게된점

1. 클래스 라는 설계도를 작성시 공통적으로 적용되는 변수는 static을 붙여서 사용하면 편하다

2.  고객등록 기능 제작시 return문을 많이 활용하였다.

- return문의 개념과 용도를 알고 Java에서 많이 사용될 키워드라는것을 확인했다.

3. trim() 함수 : 앞뒤 공백을 없애고 문자열 반환 ( 단어 사이의 공백은 유지 )

-  String txt = "       안녕     친구    !  "

System.out.println(txt);            // "       안녕     친구    !  "

System.out.println(txt.trim());   // 안녕     친구    !

이와 같이 원본은 변하지 않고 공백만 정리됨

 

오늘의 느낀점

 

오늘 공부한 내용

  • 보충반 특강 / Github 사용 숙달 과 1,2주차 과정( if, for, while문 복습)
  • 팀별과제 알고리즘 작성

 

어려웠던 내용

1. github 사용의 미숙

 

 

새로 알게된점

1. 인텔리제이를 통해서 프로젝트를 실행할경우 OPEN한 폴더에 따라 작동이 되고 안되는 경우가 있음을 확인

- 작동이 안된는 이유는 폴더 내에 Main의 종류가 많아질시 자바가 엉켜서 제대로 구동이 이루어지지 않음

 

2.  Github의 유용함

- 다른사람의 프로젝트를 가져와서 바로바로 적용할 수 있게끔 수정하는게 굉장히 효율적으로 느낌

 

 

오늘의 느낀점

오늘은 보충반 특강으로 Git에 대해 좀더 친근해질수 있는 시간이 되었다.

github에 적혀있는 용어와 사용방법을 잘 알지 못해서 영상보면서 스스로 익힐때는 오히려 사용이 어렵게 느껴져서 불편하면서 굳이 이렇게 사용해야 하나 생각했는데 정확한 방법을 숙지후 인텔리제이에서 상대방과 나의 프로젝트를 바로바로 실행하다보니 편하다는것을 느꼈다

이후 팀별과제를 위해 회의를 했는데 이번 팀별과제의 2종류중 어떤걸 할지는 아직 몰라서 먼저 간단하게 알고리즘을 둘다 짜보고 좀더 잘할수있는걸로 하기로 했다

문제는 팀원들이 그닥 적극적이지 않은거 같다.

게더 중간에 안들어온 상태이거나 대답이 없는 경우가 종종 있고 주최적으로 회의에 나서는 사람이 없다....
1명은 기존에 다른 부트캠프를 하고 왔다보니 심화과정을 원해서 지금하는거는 관심이 없고 다른한명도 비슷한거 같다

공부를 해도 좀더 자바에 익숙해질수 있도록 단계별로 예제문제가 있으면하는데 스스로 영상을 보고 자기주도적으로 공부하는 방식이다보니 나처럼 아예 처음 공부하는경우에는 다른사람과 비교했을시 진도와 습득이 늦어서 더 문제인거 같다. 

 

오늘 공부한 내용

  • 개인과제제출
  • if문, switch문, for문, while문 복습, 예제풀기

어려웠던 내용

1. 개인과제 기능 미구현

키오스크에서 메뉴를 를 구성한후 제품에 들어가는 클래쓰를 만들었으나 이를 주문하는 형식으로 적용하기위한 코드 구성에 어려움을 겪음

 

 

 

오늘의 느낀점

오늘 개인 과제를 제출하는 날이다

약 10일간 공부하며 만든 과제의 완성도는 반도 안되는거 같다

과제를 하면서 진도가 안나가는데 문제는 내가 정확하게 어디부분을 어떻게 모른다는게 문제인거 같다.

일단 1,2주차를 10월까지 완벽하게 숙지를 목표로 공부해야 겠다

 

 

 

+ Recent posts