일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 싱글톤패턴
- Spring Web MVC
- 클라우드에서 도커 실행하기
- 프로그래머스
- 투포인터알고리즘
- 코드스테이츠
- 스택
- 성능테스트툴
- OOP
- Spring MVC 동작원리
- GCP
- 구간합구하기
- 코딩테스트
- 재귀와반복문
- String.valueOf()
- 백준 11659
- List.of
- Array.asList
- 버블정렬
- 11659
- 알고리즘
- 백준
- 인텔리제이
- 재귀함수
- java
- MySQL
- 자바
- Spring MVC 구성요소
- vm인스턴스생성
- 코드스테이츠 백엔드
- Today
- Total
목록코드스테이츠 백엔드 부트캠프 (8)
순간을 기록으로
회고 섹션 1에서 가장 기초적인 내용을 배웠다. 지금까지 배운 개념을 키워드로 나열하면 다음과 같다. html css linux git java 기초 OOP 기초 클래스 객체 필드 메서드 생성자 OOP 심화 상속 캡슐화 다형성 추상화 컬렉션 제네릭 컬렉션 프레임워크 내부 클래스 Java 심화 Enum Annotation Lambda Stream JVM 4주라는 짧은 시간 동안 정말 많은 개념을 배웠다. 아직 추가로 풀 수 있는 연습 프로젝트를 풀지 못해서 주말에 남는 시간을 활용하여 프로젝트를 개발해봐야겠다. 잘한 점 완벽하게 모든 학습 내용을 습득하지는 못했지만 어느 정도 내용을 놓치지 않고 잘 따라갔다. 그리고 학습하면서 의식적인 학습을 하려고 노력했다. 단순히 코드를 따라 치기보다는 왜 이것을 사용..
[회고] 오늘은 git을 배웠다. git이란 버전 관리시스템 중 가장 유명한 프로그램이다. 버전 관리시스템이란 파일의 버전을 관리해주는 프로그램이다. 이것을 안 쓰면 파일이 수정될 때마다 아래 짓을 해야 한다..(돔황챠~~) 이렇게 부트캠프 초기에 git을 배우는 이유는 버전 관리도 있지만 다른 사람들과 코드로 협업할 때 유용하게 쓸 수도 있기 때문이다. github라는 원격 저장소에 서로의 파일을 올려놓고 협업을 할 수 있다. 깃과 깃허브는 협업의 기초가 되는 부분이다. 반드시 이해하고 넘어가자. [Git 설치 후 환경설정하기] git config --global user.name "Choongseop Kim" git config --global user.email "kchs94@gmail.com" -..
[회고] 오늘은 리눅스와 CLI 사용법에 대해 배웠다. 일반적으로 대부분의 사용자는 GUI가 있는 personal 컴퓨터를 사용한다. 하지만 서버로 사용되는 컴퓨터의 경우 24시간 작동해야 하기 때문에 성능을 잡아먹는 GUI(그래픽 요소를 처리하면 램을 많이 사용한다)보단 CLI 방식을 많이 사용한다. 그래서 아마존 데이터 센터를 보면 GUI를 조작하는 IO장치가 없다. 백엔드 개발자는 서버를 자주 접하고 다루기 때문에 CLI에 익숙하면 좋다. CLI는 GUI보다 생산성과 자동화에 있어 좋다. mkdir을 이용하면 폴더 1000개 만드는데 10초도 안 걸린다..! CLI를 배운 후에는 패키지와 패키지 매니저에 대해 배웠다. 패키지는 프로그램이 정상 설치되고 동작하기 위해 필요한 모든 파일을 압축한 파일이..
[회고] 오늘은 첫 페어프로그래밍을 하는 날이다. 다행히 친절하고 착하신 페어분을 만나게 되어 기분 좋게 페어프로그래밍을 끝낼 수 있었다. 단순히 지식은 알고 있었지만 확실히 남에게 지식을 설명해 주는 것은 어렵다. 또한 직접 만나서 알려주는 게 아닌 온라인으로 소통까지 해야 하므로 더 난이도가 있었던 거 같다. 그래도 좋은 분과 열심히 협력하면서 첫 과제를 해결했다. 오늘 잘한 점은 작은 목표를 포기하지 않고 끝까지 파고들었던 것이다. 페어 분이 버튼을 짱구가 움직이는 버튼으로 바꾸고 싶어하셨는데 button 태그를 gif로 만드는 방법을 찾는 게 생각보다 쉽지 않았다. 이미 설계된 html, css 파일에서 시도하는 것보다는 새 파일에 따로 버튼만 구현하는 게 더 도움이 될 것 같아 따로 만들었다. ..
[회고] 오늘은 css flexbox를 실습해서 페이지 레이아웃을 잡아봤다. 사실 예전에 백엔드 개발자는 html, css를 잘 몰라도 되는 줄만 알았는데, 입력으로 데이터를 어디서 받아야 되고, form 태그의 경우 페이지 이동 액션이 들어가기 때문에 동작원리를 알아야 백엔드 작업을 제대로 할 수 있다. 레이아웃을 연습한 다음에는 와이어프레임 만드는 방법과 목업에 대한 정의를 배웠다. [페이지 레이아웃] HTML만으로도 레이아웃을 잡을 수 있지만 html 요소에는 기본적으로 스타일이 들어가 있기 때문에 정확한 레이아웃을 작성하기 힘들다. 따라서 html 기본 스타일을 제거하는 아래의 코드와 flexbox를 이용한 css 파일에서 레이아웃을 작성할 수 있다. * { box-sizing: border-bo..
[회고] 오늘은 HTML과 CSS의 전반적인 내용을 학습했다. 생각보다 배운 내용이 많아서 1,2일 차보다는 힘들었다. 구체적인 지식을 암기하기보다는 왜 이것을 사용하고 언제 이것을 사용해야 하는지를 의식하면서 학습했다. HTML과 CSS 속성만 하더라도 수백 개가 넘는다고 하니 나열식 공부보다는 필요할 때마다 그때그때 공식문서를 참조하는 게 낫다. 기본적인 진도를 빼고 나서는 html과 css를 이용한 클론코딩을 했다. 아직 상단부분만 만들었지만 생각보다 괜찮은 것 같다..! 내일 또 다시 클론 해야지 [HTML과 CSS란 무엇일까?] HTML: 웹페이지의 뼈대를 만드는 언어 HyperTextMarkupLanguage(하이퍼텍스트 마크업 랭귀지) HpyerText: 문서 간 연결이 되어있다. MarkU..
2일차 2일차에는 본격적인 실습을 진행하기에 앞서 컴퓨터에 대한 정의와 구성요소 그리고 학습 툴 설치 방법에 대해 배웠다. 컴퓨터란? 컴퓨터(compute)를 사전에 검사하면 '계산하다'라는 의미가 나온다. 즉 입력이 들어오면 규칙에 맞게 처리해서 처리결과를 저장한 후, 결과를 출력하는 기계라고 생가하면 된다. 이때 각 임무를 처리하기 위해 컴퓨터는 여러 구성요소로 구성된다. 입력이 들어오면 --> 입력장치(키보드, 마우스 등) 규칙에 맞게 --> 프로그램(프로세스, 앱, 애플리케이션) 처리해서 --> CPU(중앙처리장치, 프로세서) 처리결과를 저장한 후 --> 기억장치(주기억장치, 보조기억장치) 결과를 출력한다 --> 출력장치(모니터, 스피커 등) 소프트웨어란? 소프트웨어는 하드웨어를 제어하는 명령어의..
어떻게 학습할 것인가? 부트캠프에 본격적으로 들어가기에 앞 서 학습하는 방법에 대해 배웠다. 많은 시간을 학습에 쏟아야 하기 때문에 무작정 학습하기보다는 한 걸음 뒤로가 숲을 보면서 학습방법을 수립했다. 1.메타인지하기 메타인지란 '생각에 관한 생각'이다. 즉 내가 어떤 생각을 하는지에 대해 파악하는 능력을 말한다. 내가 계획한 플랜이 올바른지 스스로 객관적으로 평가할 수 있어야 한다. 그럼 어떻게 하면 내가 객관적으로 올바른 방향으로 나아가는지 아닌지 알 수 있을까? 정답은 글쓰기(회고)다. 글을 쓰면서 머릿속에 있던 모호한 나의 생각을 명확히 할 수 있다. 또한 회고를 작성하면서 기억하고 싶은 지식들도 더 오랫동안 기억할 수 있다. 부트캠프를 진행하면서 배울 수많은 지식들을 머리에 저장하지 말고 글로..