분류 전체보기

프로그래머스 데브코스

프로그래머스 데브코스 1일차!

드디어 고대하던 6월 1일 목요일이 찾아왔고, 프로그래머스 데브코스 백엔드 과정 1회차가 시작되었다. 간단하게 행정 관련된 설명이 먼저 이어지고, 이후에는 학습이 어떻게 이루어지는지 데브코스 기간동안 사용될 학습 도구 및 개발 도구들에 대한 설명이 이루어졌다. 간단하게 정리하자면, 문서 관리를 위한 노션, 소통을 위한 슬랙, 코드 리뷰 및 프로젝트 관리를 위한 깃허브, 세션 미팅을 위한 줌(Zoom) 을 사용한다고 한다! 이어진 학습 규칙과 아무래도 많은 기간이 리모트 형태로 이루어지다보니 커뮤니케이션 방식에 대한 설명은 굉장히 유익한 시간이었다. 프로그래머스 데브코스에서 권장하는 커뮤니케이션 방식은 다음과 같다! 리모트 환경에서 올바른 커뮤니케이션 방식 1. 슬랙에서의 메시지는 구어체로 할 것! - 그..

도서/오브젝트

3. 역할, 책임, 협력

개요 객체지향의 본질은 협력하는 객체들의 공동체를 참조하는 것이다. 객체지향의 설계의 핵심은 협력을 구성하기 위해 적절한 객체를 찾고 적절한 책임을 할당하는 과정에서 드러난다. 애플리케이션의 기능을 구현하기 위해서 어떤 협력이 필요하고 협력을 위해 어떤 역할과 책임이 필요한지를 고민하지 않은 채 너무 이른 시기에 구현체 초점을 맞추는 것은 변경하기 어렵고 유연하지 못한 코드를 낳는 원인이 된다. 객체지향 패러다임의 관점인 역할(role), 책임(responsibility), 협력(collaboration)에 대해서 알아보자. 협력 객체들이 애플리케이션의 기능을 구현하기 위해 수행하는 상호작용 협력은 객체지향 세계에서 기능을 구현할 수 있는 유일한 방법이다. 객체 자체는 자율적으로 동작하기 때문이다. 자율..

도서/오브젝트

2. 객체지향 프로그래밍

개요 온라인 영화 예매 시스템을 통해 올바르게 된 객체지향 설계가 무엇인지, 이 책을 읽으면서 이해하게 될 다양한 주제들을 먼저 간단하게 살펴보자. 요구사항 요구사항 1 사용자는 영화 예매 시스템을 이용해 보고 싶은 영화를 예매 할 수 있다. 이 예제에서는 '영화' 와 '상영'을 구분해야한다. 1. 영화 - 제목, 상영시간, 가격 정보와 같이 영화가 가지고 있는 기본 정보 2. 상영 - 실제로 관객들이 영화를 관람하는 사건, 상영 일자, 시간, 순번 등을 가지고 있다. 이렇게 나눈 이유는 클라이언트가 실제로 예매하는 건 영화 그 자체가 아닌 상영을 예매하는 것이기 때문이다. 이 부분이 이해가 안될 수 있는데 객체의 의인화를 통해 책임을 확실히 구분 한 것이다. 요구사항 2 영화 예매시 특정한 조건을 만족..

회고

5월 3주차 회고

5월 3주차 회고이다. 우선 지난 주에 가장 큰 이벤트는 프로그래머스 데브코스 면접이었다. 실제로 내가 CS 및 언어에 대한 공부를 얼마만큼 했고 나는 실전 면접을 어느정도 할 수 있는가에 대한 경험을 할 수 있는 자리였기 때문이다. 긴장을 많이 했지만 여자친구의 조언 및 열심히 준비한 성과인지 그래도 후회할만한 면접은 한 것 같지 않았다. 처음 경험하는 면접자리에서 생각보다 떨지 않고 말하고자 하는 바를 잘 얘기했다. 목표는 기술 면접에 대한 질문은 다 답변하자! 라는 생각도 있었는데, 기술 면접에서 한 개는 대답을 하지 못했다. HTTP 상태코드 관련이었는데 상태코드 발생에 대해서 러프하게 잡혀있던 것이 원인이었던 것 같다. 그래도 해당 면접으로 또 하나의 지식을 얻었다는 것은 정말 좋은 일이었던 것..

Language

[UML] 클래스 다이어그램

최근에 개발 관련 서적들을 읽으면서 복잡한 부분은 클래스 다이어그램을 보고 해당 클래스들의 구조를 이해 할 수 없다는 것이 가장 큰 문제였다. 코드를 보면서 어느정도 되돌아가면서 이해를 할 수는 있었지만 너무나도 번거로웠다. 또 그러다보니 책을 읽는데에 있어서 집중력도 크게 저하됐다. 앞으로는 좀 더 수월한 독서를 위해 클래스 다이어그램을 한 번 공부를 제대로 하고 넘어가는 것이 좋을 것 같아 이번 기회에 정리를 하게 되었다. 클래스 다이어그램에는 여러가지 요소들이 존재한다 하나 하나 살펴보자. 클래스(Class) 클래스는 크게 3개의 구역으로 나누어 표시한다. 클래스 이름 속성 (필드) 기능 (메서드) 여기서 클래스 이름은 필수이고, 나머지 구역은 필수가 아니다. 속성과 기능의 구조에 대해서 살펴보기 ..

Language

gradle build vs Intellij IDEA build

개발바닥 오픈채팅방에서 호돌님이 인프런에서 질문자의 문제를 해결하는 과정에 있어서 Build Tools를 Gradle로 설정해야만 오류가 발생하지 않고 Intellij로 설정하면 오류가 발생한다는 원인을 발견하였다. 평상시에도 빌드의 속도를 높이기 위해서 Intellij IDEA를 사용한다던가 혹은 TEST 코드에서 @Slf4j가 제대로 동작하지 않을 때, Intellij IDEA로 변경하면 해결이 된다는 해결책들도 더러 있었지만 도대체 둘의 차이가 무엇인지 궁금해하다가 이젠 더이상 참을 수가 없었다. 둘의 차이가 무엇인지 알아봤다. Intellij IDEA build를 사용하다가 발생한 에러에 대해서 정리해놓은 포스팅을 찾아 볼 수 있었다. 해당 포스팅의 오류 상황은 다음과 같다.기존의 프로젝트에서 D..

회고

프로그래머스 데브코스 백엔드 4기 면접 회고 및 합격

면접 전 자기소개서에 따른 인성 면접, 경험, 그리고 몇 가지 기술 면접 등 무엇인가가 제대로 된 프로세스에 따른 면접을 볼 수 있는 첫 기회였다. 그 만큼 긴장되기도 하고 기술 면접같은 부분은 스터디를 하는 팀원들과 열심히 준비를 하면서 피드백도 받았지만 인성 면접 및 경험에 대한 부분은 어떤 얘기를 해야 할 지 크게 준비한 부분은 없었다. 그저 내가 겪은 경험 혹은 내 자신에 대해서 솔직하게 말하자! 라는 마인드로 임했다. 솔직함이 가장 중요한 것 같다고 생각이 들었기 때문이다. 물론 이에 대한 대비는 평소에도 내 자신에 대해서 소개하는 것은 어려워 하지 않아서 가능했던 것 같기도 하다. 면접 시작 전 긴장을 안해야지 했지만 솔직하게 굉장히 긴장이 됐다. 여자친구에게 제대로 된 면접은 처음이여서 너무..

Language/Java

Logger에서 hibernate SQL 로그 출력이 안될 경우

yml 혹은 properties를 사용하면서 다음과 같이 로깅에 대한 범위를 설정한다. // properties logging.level.org.hibernate.sql : debug // yml logging: level: org.hibernate.sql : debug 실제로도 자동 완성이 위와 같은 포맷으로 유도를 해주는데, 패키지로 유도를 해주는 것이여서 위처럼 설정하면 제대로 된 로그 쿼리가 찍히지 않는다. 다음과 같이 수정하자. // properties logging.level.org.hibernate.SQL : debug // yml logging: level: org.hibernate.SQL : debug 마지막에 sql -> SQL로 바꿔주어야 한다. 이게 문제인지 몰라서 다른 부분을 손보..

Bombo_
'분류 전체보기' 카테고리의 글 목록 (6 Page)