금일 배운 것

1. Java 문법 종합반 1주차 영상강의 시청 / 총 9개 강의 시청, 1개 문제 풀기

1-1 자바 역사와 특징 소개
1-2 JVM
1-3 첫 번째 프로젝트 생성
1-4 주석 및 println 메서드 소개 및 실습
1-5 변수 개념 및 기본형변수 타입 소개
1-6 참조형변수타입 및 래퍼클래스타입 실습
1-7 숫자와문자(ascii)
1-8 변수타입(심화)
1-9 형변환
1주차 숙제
 
2. 시청한 영상강의에서 외워야하는 단어들을 따로 Excel로 정리

문제점

1. 처음 접하는 단어들 과 개념 들의 숙지 와 이해

- 문제해결 : 시청한 영상강의에서 외워야하는 단어들을 따로 Excel로 정리

 

2. 1주차 숙제 에서의 답 해결에서 오류 발견

- 오류 내용 : 시행한 코드대로 출력이 안됨

숙제내용 ( 입력값과 출력값 코드를 작성하여 예시작성시 예시답변과 동일하게 나오게하기 )

  • 입력값
    • 내가 좋아하는 요리 제목을 먼저 입력합니다.
    • 요리 별점을 1~5 사이의 소수점이 있는 실수로 입력해주세요. (ex. 3.5)
    • 이어서 내가 좋아하는 요리 레시피를 한 문장씩 10문장을 입력합니다.
  • 출력값
    • 입력이 종료되면 요리 제목을 괄호로 감싸서 먼저 출력 해줍니다.
    • 이어서, 요리 별점을 소수점을 제외한 정수로만 출력해줍니다. (ex. 3)
    • 바로 뒤에 정수별점을 5점만점 퍼센트로 표현했을 때 값을 실수로 출력해줍니다. (ex. 60.0%)
    • 이어서, 입력한 모든 문장 앞에 번호를 붙여서 모두 출력 해줍니다.

ex) 입력 예시

백종원 돼지고기 김치찌개 만들기
4.5
돼지고기는 핏물을 빼주세요.
잘익은 김치 한포기를 꺼내서 잘라주세요.
냄비에 들기름 적당히 두르고 김치를 넣고 볶아주세요.
다진마늘 한스푼, 설탕 한스푼 넣어주세요.
종이컵으로 물 8컵 부어서 센불에 끓여주세요.
핏물 뺀 돼지고기를 넣어주세요.
된장 반스푼, 양파 반개, 청양고추 한개를 썰어서 넣어주세요.
간장 두스푼반, 새우젓 두스푼, 고춧가루 두스푼반 넣어주세요.
중불로 줄여서 오래 끓여주세요~!!	
마지막에 파 쏭쏭 썰어서 마무리하면 돼요^^

예시 출력

[ 백종원 돼지고기 김치찌개 만들기 ]
별점 : 4 (80.0%)
1. 돼지고기는 핏물을 빼주세요.
2. 잘익은 김치 한포기를 꺼내서 잘라주세요.
3. 냄비에 들기름 적당히 두르고 김치를 넣고 볶아주세요.
4. 다진마늘 한스푼, 설탕 한스푼 넣어주세요.
5. 종이컵으로 물 8컵 부어서 센불에 끓여주세요.
6. 핏물 뺀 돼지고기를 넣어주세요.
7. 된장 반스푼, 양파 반개, 청양고추 한개를 썰어서 넣어주세요.
8. 간장 두스푼반, 새우젓 두스푼, 고춧가루 두스푼반 넣어주세요.
9. 중불로 줄여서 오래 끓여주세요~!!	
10. 마지막에 파 쏭쏭 썰어서 마무리하면 돼요^^

이에 대해 내가 작성한 코드답

import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
    	Scanner sc = new Scanner(System.in);
        String title = sc.nextLine();
        float rate = sc.nextFloat();
        String title = sc.nextLine();
        String input1 = sc.nextLine();
        String input2 = sc.nextLine();
        String input3 = sc.nextLine();
        String input4 = sc.nextLine();
        String input5 = sc.nextLine();
        String input6 = sc.nextLine();
        String input7 = sc.nextLine();
        String input8 = sc.nextLine();
        String input9 = sc.nextLine();
        String input10 = sc.nextLine();

        System.out.println("[ " + title + " ]");
        int intRate = (int)rate;
        System.out.print("별점 : " + intRate);
        double percentageRate = intRate * 100 / 5.0;
        System.out.println(" (" + percentageRate + "%" + ")");
        System.out.println("1. " + input1);
        System.out.println("2. " + input2);
        System.out.println("3. " + input3);
        System.out.println("4. " + input4);
        System.out.println("5. " + input5);
        System.out.println("6. " + input6);
        System.out.println("7. " + input7);
        System.out.println("8. " + input8);
        System.out.println("9. " + input9);
        System.out.println("10. " + input10);
    }
}

내가 작성한 코드답으로 시행했을시 java 답변

[ 백종원 돼지고기 김치찌개 만들기 ]
별점 : 4 (80.0%)
1.
2. 돼지고기는 핏물을 빼주세요.
3. 잘익은 김치 한포기를 꺼내서 잘라주세요.
4. 냄비에 들기름 적당히 두르고 김치를 넣고 볶아주세요.
5. 다진마늘 한스푼, 설탕 한스푼 넣어주세요.
6. 종이컵으로 물 8컵 부어서 센불에 끓여주세요.
7. 핏물 뺀 돼지고기를 넣어주세요.
8. 된장 반스푼, 양파 반개, 청양고추 한개를 썰어서 넣어주세요.
9. 간장 두스푼반, 새우젓 두스푼, 고춧가루 두스푼반 넣어주세요.
10. 중불로 줄여서 오래 끓여주세요~!!

문제점 발견

원했던 예시출력에서 System.out.println("1. " + input1); 답변이 1. 돼지고기는 핏물을 빼주세요로 나와하나

전부 한줄씩 밑으로 밀려서 내용이 나옴

 

강의 해결 답변

import java.util.Scanner;

public class Main01 {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		String title = sc.nextLine();
		float rate = sc.nextFloat();
		String input1 = sc.nextLine();
		String input2 = sc.nextLine();
		String input3 = sc.nextLine();
		String input4 = sc.nextLine();
		String input5 = sc.nextLine();
		String input6 = sc.nextLine();
		String input7 = sc.nextLine();
		String input8 = sc.nextLine();
		String input9 = sc.nextLine();
		String input10 = sc.nextLine();

		title = "[ " + title + " ]";  // [ 제목 ]
		System.out.println(title);
		int intRate = (int)rate; // 강제 형변환
		System.out.println(intRate);
		double percentageRate = intRate * 100 / 5.0; // 자동 형변환
		System.out.println(percentageRate);
		System.out.println("1." + input1);
		System.out.println("2." + input2);
		System.out.println("3." + input3);
		System.out.println("4." + input4);
		System.out.println("5." + input5);
		System.out.println("6." + input6);
		System.out.println("7." + input7);
		System.out.println("8." + input8);
		System.out.println("9." + input9);
		System.out.println("10." + input10);
	}
}

강의 해결 답변은 내 답변과 크게 차이 나지않으며 이 해결답변으로도 동일한 문제점 발생

 

- 오류 해결 : 입력 값에서 float rate = sc.nextFloat(); 밑에 sc.nextLine(); 추가

오작동 이유는 숫자 입력후 개행을 위한 문자가 제거되지 않았기 때문, 

개행문자는 \n 이며 이것이 숫자다음오는 개행문자로 이게 input1으로 들어가 출력되어

1. 자리에 빈칸으로 출력이됨

다시말해서 작동후

'4.5'
'돼지고기는 핏물을 빼주세요.'

라고 입력해줫지만 실제로는

'4.5'

'\n' = 빈칸으로 나옴

'돼지고기는 핏물을 빼주세요.'

형태로 입력이되어서 문제가 됨.

이를 해결위해 입력값하단에 숫자입력후 개행문자를 제거하는 코드를 입력함

 

느낀점

Java 기초에 대해 알게 되었음.

학습하면서 용어 및 개념에 대해서 개인적으로 정리하면 좀더 습득이 잘됨.

금일 오류에 대해 튜더님과 대화 하면서 강의가 만능은 아니라는 것을 확인함.

이후 튜더님 조언으로 다른 사람과 비교했을때 배움속도가 느리더라도

기본개념을 정확하게 이해해야 지금처럼 문제점을 바로바로 찾을수 있으며

실력향상에 도움을 준다는 것을 말해 주시면서 현재 내가 배우는 방법이 틀리지 않았다고 느낌.

 

프로젝트

1. KEEP

협업

  • 기능별로 개발 역할 분담
  • Git으로 협업이 익숙하지 않은 상황에서 Live share로 바로 적용하고 확인할 수 있었음

기술

  • Bootstrap과 Jquery의 레퍼런스를 공부해서 잘 적용했음
  • Rest API를 설계한대로 파이어베이스의 실시간 데이터베이스를 활용하여 개발함

2. PROBLEM

협업

  • git 사용의 미숙함과 git 사용 규칙 미지정
    • git 기능 사용에 대한 소극적인 태도
  • 구체적이지 않은 프로젝트 기획
    • DB & API의 구체적인 설계 필요
    • 작업 진척도 체크리스트 및 작업별 일정 미흡

기술

  • 낮은 수준의 코드, 언어, 문법 개념 및 지식
    • ex. HTML의 레이아웃 속성 inline, block, flex 개념 미흡
  • 리팩토링 시도를 안 한 점
    • 시간이 부족하긴 했지만.. 아쉬움

3. TRY

협업

  • 각 담당 기능 별 코드 리뷰
  • 각 담당 기능 별 체크리스트 작성
  • 팀원 개인의 역량을 파악하는 시간을 갖기
    • 할 수 있는 것과 없는 것의 명확한 구분 필요
  • 정기 소통 시간 계획
    • 저녁 정기 미팅: 진행 현황 공유
  • 코딩 컨벤션 정하고 개발
  • Git, Github 적극적인 사용

기술

  • 리팩토링 시도
    • 코드 리뷰를 통한 더 나은 코드 모색
    • 기능별 함수 모듈화 적극 시도

느낀 점

김민주

css 작업에 익숙하지 않아 제 화면을 꾸미는데 어려움을 겪었고 다음 프로젝트에서 제 화면에 css 작업을 해야한다면 css에 대한 숙련도를 향상시켜서 이러한 부분을 개선하고자 합니다.

김대영

좋은 팀원들을 만나 코드에 대해 많이 배울 수 있었습니다. 아직 전반적인 지식이 부족하여 참여에 어려움을 느꼈지만 팀원들의 코드를 보면서 심화된 부분에 대해서 알아갈 기회를 가졌다는게 정말 감사한 부분이었습니다.

김민중

이번에 미니프로젝트를 진행하며 팀원들과 역할 분담도 하고 소통하며 함께 문제를 해결하면서, 협업의 장점과 중요성을 알아가는 시간이어서 정말 좋았습니다. 다음에는 다양한 협업 툴 사용과 코드 컨벤션을 지키면서 좀 더 좋은 코드로 개발하는 것을 목표로 하겠습니다!

박지환

미니 프로젝트를 진행하면서 웹 디자인부분과 깃 협업 관련한 미숙함 문제에 아쉬움을 느꼈습니다. 다음 프로젝트를 할때는 이를 신경써서 만들고 싶습니다!

김진훈

팀 프로젝트로 짧게나마 협업을 하면서 협업에 필요한 것들을 생각하는 계기가 되어서 많이 배웠습니다!

깃과 깃허브를 더 능숙하게 사용해서 코드 버전을 관리하고 협업하는 방법을 배우고 싶다고 생각했습니다. branch를 단순히 사용하는 것은 쉬워도 협업하며 버전 관리를 능숙하게 하는 것은 어려운 일이었습니다.

처음에 코딩 컨벤션을 정하지 않고 시작한게 아쉬웠습니다. 다양한 스타일의 코드가 합쳐지다 보니 가독성이 좋지 않았습니다.

 

 

후일담

오늘 다른 팀들의 발표를 보며 여기서 공부하는 과정은 백엔드 이지만 그에 못지않게 프론트에 관해서도 정말 많은 경험을 가지고 있다는것을 알게 되었다.

다른팀 발표시 프로젝트 시 누가 어떤 부위를 바탕으로 작업을 했고 어떤 문제점이 생겼으며 이를 해결하기위해 어떤 노력을 햇는지 까지 언급하며 설명했는데 정말 많은 것을 보고 배울수 있었다.

앞으로도 다음 프로젝트시 이를 경험삼아 좀더 세부적으로 작업을 할수 있을거 같다.

오늘 공부한 내용

  • 팀원소개 페이지 조별 과제 제작
  • 와이어프레임 및 HTML 기본 뼈대 제작
  • Figma 사용방법
  • 페이지 디자인 

 

어려웠던 내용

  • 팀원들의 기능재현을 위해 작성하는 javascript 이해
  • Github의 사용 방법 미흡으로 VS code의 teamshare live기능을 이용한 작업
  •  

 

오늘의 느낀점

오늘은 팀원들과 회의를 통해 각자 하고자 하는 바를 찾다가 경험자 3명이 백엔드 쪽을 맞고 나와 비전공자 인 2명이 프론트 엔드 쪽을 맞아서 처리하기로 했다.
그중 나는 와이어 프레임와 HTML기본뼈대를 제작하게 됬는데 실은 회의하면서 와이어프레임이라는 단어도 처음 알게되었다.
프로젝트를 시행할경우 처음 뼈대를 잡을때 쓴다는걸 알게 됬고 이를 제작하기위해 ppt로 하려다가 인터넷에 Figma라는 와이어 프레임 제작시 많이쓰는 사이트도 알게 됬다.
이후 자기 PR이 더 잘될수 있도록 페이지 에 갖가지 이미지와 순서변경으로 디자인했으나 크게 멋있어진거 같지는 않다...
미적감각을 늘리도록 종종 다양한 디자인을 접해하는 연습도 해봐야 할거같다.
 

 

오늘 공부한 내용

  • HTML 구조, CSS 기초 복습
  • 1,2,3,4주차 영상강의에서 만들었던 페이지를 다시 만들어 보기

 

어려웠던 내용

  • 작업시 바로바로 나오지 못하는 키워드와 키워드에 대한 개념과 구조를 알고 있어도 적용하는데에 대한 미흡

 

 

오늘의 느낀점

오늘은 토요일 오전 잠시동안 처음 배웠던 CSS기초에 대해 재복습하며 다시한번 페이지를 작성해보았다.
구조는 어렵지 않지만 작성시 알파벳처럼 작성히 물흐르듯이 나오게끔 하려면 머리에 각인될정도가 되야하는데
앞으로도 반복적으로 하다보면 괜찮을거라 생각된다.
 

오늘 공부한 내용

  1. 코딩이 처음이어도 쉽게 배우는 웹개발 A to Z  5주차 영상시청
5-1 5주차 배울 것
5-2 [addDoc] 영화 데이터 넣기 
5-3 [getDocs] Firestore Database에서 데이터 가져오기
5-4 배포가 뭐예요? / 링크개념 확인
5-5 Github 시작하기
5-6 Github Pages로 배포하기
5-7 더 잘 만들고 싶다면? / 다양한 백서버 개념 확인
5-8 파이썬 맛보기(스크래핑)
 
  • Github 존재 와 활용 방법에 대해 배움
  • Firebase에서 데이터 입력, 출력, 페이지 적용에대해 배움

 

어려웠던 내용

  • Github의 사용 방법 
  • Javascript 활용을 좀더 연습

 

 

오늘의 느낀점

Github를 통해 개발자 세계에서는 서로간의 공유가 중요하다는것을 알게 됬다.

다만 생각보다 많은 기능을 가지고 있고 또 쓰이는 단어들이 낯설어서 익숙해지는데 시간이 걸릴거 같다

그리고 드디어 오늘 팀원들이 정해졌다.

나를 포함한 총 5명으로 이중 무려 3명은 it업계에서 1~3년까지 일하다가 자기 개발을 위해 온사람도 있다는거에 놀랐다.

다른 1명은 나랑 똑같이 비전공자로 처음 보는 용어들을 보며 숙지하는것에 비해 다른 3명은 서로간에 의사소통이 너무 활발하여 약간 기가 죽었다. ㅠㅠ

팀원소개페이지 제작 에대한 조별과제 회의를 하였는데 나이가 제일 많은 내가 팀장을 하게 되었다. ㅠㅠ (두번 우네)

기본적인 지식을 가지고 있음에도 혹시 모르니 일단 내일까지는 영상을 보기로 하고 월요일날 페이지 제작을 하기로 했다.

화요일이 발표인데 하루만에 만들수 있으려나?

오늘 공부한 내용

  1. 코딩이 처음이어도 쉽게 배우는 웹개발 A to Z  3, 4주차 영상시청 , 3,4주차 숙제 
3-1 3주차 오늘 배울것
3-2 [추억앨범] 제이쿼리 적용 1 / .toggle() 메서드
3-3 [추억앨범] 제이쿼리 적용 2 / append 메서드
3-4 [스파르타플릭스] 제이쿼리 적용 1 / .toggle() 메서드 활용
3-5 [스파르타플릭스] 제이쿼리 적용 2 / append 메서드 활용
3-6  클라이언트 - 서버 개념 이해하기
3-7  Fetch 시작하기
3-8  Fetch 연습하기 1
3-9  Fetch 연습하기 2
3-10 Fetch 연습하기 3
3-11  [추억앨범] Fetch 적용
3-12  [스파르타플릭스] Fetch 적용
3-13  3주차 끝 숙제 설명 / Fetch 수정
4-1 4주차 배울 것
4-2 Firebase 시작하기
4-3 데이터베이스 개념 이해하기
4-4 Firestore Database 시작하기
4-5 [addDoc] Firestore Database에 데이터 넣기
4-6 [addDoc] 데이터 넣고, 화면 새로고침 하기(location, alert)
4-7 [getDocs] Firestore Database에서 데이터 가져오기
4-8 앨범 데이터 카드 불러오기 기능 돌아보기
4-9 4주차 끝 숙제 설명 / 2주차 숙제 앨점 구조 수정하기
 
  • 제이쿼리 적용 / .toggle(),  append, 활용 숙지
  • 외부데이터 베이스 개념 숙지, Firebase 확인
 

 

어려웠던 내용

  • 제이쿼리 메서드 암기 후 추가적인 활용 필요
  • HTML에 Firebase로 데이터를 넣기위해 하는 기본설정 

 

 

느낀점

평소 웹페이지에서 보던 기능인 '페이지 접기' 를 직접 경험하고 만들어 보았다.

직접 코드를 작성하며 똑같이 따라 했지만 작동이 안되어 당황했는데 처음부터 다시 하나하나 맞춰가면서 수정하니 

올바르게 작동하는 모습을 확인할수 있었다.

또 Firebase라는 외부 데이터 저장소에대해 알게됬으며 이로인해 내가 평소 보던 인터넷에대해 원리를 생각하는 방식으로바라보는 시각이 생긴거 같다.

오늘 공부한 내용

  1. 코딩이 처음이어도 쉽게 배우는 웹개발 A to Z  1, 2주차 영상시청 , 1,2주차 숙제 
1-1 1주차 오늘 배울것
1-2 웹 브라우저 작동 원리
1-3 코딩 환경 세팅하기 / VS Code
1-4 HTML 기초 / 폴더, 파일 만들기, 코드정
1-5 로그인 페이지 만들기
1-6  CSS 기초
1-7  자주 쓰는 CSS 1 / 자주 쓰이는 CSS연습
1-8  자주 쓰는 CSS 2 / 로그인페이지 수정
1-9  [구글폰트]잘 가져다 쓰기
1-10 프로세스와 쓰레드
1-11  [부트스트랩]잘 가져다 쓰기
1-12  [추억앨범]프로젝트 1 / 상단 만들기, 카드추가
1-13  [추억앨범]프로젝트 2 / 포스팅 박스 만들기
1-14 1주차 숙제 / 버튼색깔 바꾸기
2-1 2주차 배울 것
2-2 [스파르타플릭스]프로젝트 1 / 상단 이미지만들기
2-3 [스파르타플릭스]프로젝트 2 / 카드 추가하기
2-4 [스파르타플릭스]프로젝트 3 / 포스팅 박스 만들기
2-5 Javascript에 대해
2-6 Javascript 기초문법 1 / 개발자도구사용, 변수 & 기본연산
2-7 Javascript 기초문법 2 / 리스트 & 딕셔너리
2-8 Javascript 기초문법 3 / 반복문, 조건문
2-9 Javascript 활용문법(DOM) / Alert 띄우기, HTML 조작하기
2-10 JQuery 시작하기
2-11 JQuery 연습하기 / append
2-12 Javascript 활용문법(DOM)
2-13 2주차 숙제 / 
 
  • HTML의 기본 구성 요소 및 CSS 기초 배움
 

 

어려웠던 내용

  • CSS 단어 암기 필요
  • Javascript 활용을 좀더 연습

 

 

느낀점

오늘 개발자로의 공부를 첫시작하는 부트캠프의 첫날이다.

그동안 많은 곳을 찾아 다녔지만 결국 지원과 여러가지 조건들을 따져서 스파르타 내일배움캠프에 참여하게 됬다.

첫날이라 그렇게 강의내용이 어렵지는 않았지만 강의시청도중 갑자기 다음주 화요일 까지 팀원소개 웹페이지를 만드는 조별과제를 던져 주어서 당황했다

알고보니 기존 사전반으로 1달 빨리 들어온사람들은 이미 조를 이루어 조별 과제를 하고 있었고 오늘뿐 아니라 내일 모레까지 시시각각으로 포함되는 인원들을 섞어서 조별로 바로 진행 시켰는데 이게 이렇게 하는게 맞는건가 하는 의심이 들긴 했다.

오늘 결국 나의 다른 조원도 정해지지 않았고 혼자 조배치되어 영상시청후 재복습 하는데에 초점을 두었다.

처음하는 부트캠프에서 얼마만큼 성과를 올릴지는 모르겠지만 최선을 다하자 !

 

 

+ Recent posts