전체 글

우아한테크코스/회고

[레벨2] 레벨 인터뷰 회고

레벨2 레벨인터뷰는 레벨1때와는 조금 다른 준비 과정을 거쳐서 진행했다. 레벨1 레벨인터뷰는 각자 레벨동안 학습한 내용을 간단히 정리한 레벨로그를 공유하고, 이를 기반으로 인터뷰를 진행했다. 이번에는 레벨로그를 공유하지 않고, 각자 학습한 내용을 기반으로 질문지를 작성하여 이를 다른 인터뷰이에게 묻는 방식이었다. 때문에 준비한 내용만 대답하는 대신, 레벨2에서 알아야 할 내용들을 폭넓게 다루면서 메타인지를 기를 수 있었다. 또 인터뷰어로서는, 내가 자신 있는(?) 내용을 기반으로 좋은 질문을 미리 고민해볼 수 있었다. 이 과정에서도 내가 무엇을 아는지 정리할 수 있었다. 나의 레벨2 학습키워드 & 질문 목록 내가 받은 피드백 학습 측면 좋은 점 - 전체적으로 준비된 느낌이 들었다. - 질문에 막힘 없이 ..

공부/Java

[문제 해결] JDBC ResultSet이 null을 0으로 읽는다?

전제 우아한테크코스 장바구니 협업 미션에서 우리 팀은 주문에 1개의 쿠폰을 적용할 수 있도록 정책을 정하였다. 사용자는 주문 시 쿠폰을 쓸 수도, 안쓸 수도 있기 때문에 ORDERS 테이블의 coupon_id 컬럼은 null을 허용하도록 했다. CREATE TABLE IF NOT EXISTS orders ( id BIGINT UNSIGNED PRIMARY KEY AUTO_INCREMENT, member_id BIGINT NOT NULL, coupon_id BIGINT, delivery_fee BIGINT NOT NULL, status VARCHAR(10) NOT NULL, created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, updated_at TIMEST..

공부/CS

[네트워크] 서브네팅 이해하기 (2) 서브넷, 서브네팅, CIDR

잘못된 내용이 있다면 덧글로 알려주시면 감사하겠습니다! 아래 글과 이어지는 내용입니다. [네트워크] 서브네팅 이해하기 (1) IPv4와 클래스, 주소의 고갈 이전 글의 결론으로, 효율적인 IPv4 주소 할당을 위하여 서브넷 마스크를 클래스가 지정해주는 대신, 필요에 따라 원하는 값의 서브넷 마스크를 적용할 수 있도록 바뀌었다는 것을 알았다. 이를 다시 정리하자면, 클래스 주소 지정 방식 대신, 클래스 없는 주소 지정 방식에 CIDR를 사용한 서브네팅을 도입하게 된 것이다. CIDR은 뭐고 서브네팅은 뭔데..? 좀 더 정확히 알아보도록 하자. 서브네팅 : 클래스 단위보다 더 효율적으로 나누기 서브넷(Subnet) 서브넷은 하나의 네트워크를 분할하여 나눈, 부분 네트워크를 일컫는 말이다. 하나의 네트워크가 ..

공부/CS

[네트워크] 서브네팅 이해하기 (1) IPv4와 클래스, 주소의 고갈

잘못된 내용이 있다면 덧글로 알려주시면 감사하겠습니다! 간단한 것 같은데 자꾸만 헷갈려서, 스스로 한 번 정리해볼 필요성을 느꼈다. 이 글에서는 IP 주소 체계에 대한 이해와 함께 서브넷, 서브넷팅이 무엇인지 정리해보려고 한다. 먼저 전체를 이해하기 위한 전제를 먼저 설명한 뒤 클래스의 분배 방식과 이에 대한 한계, 서브넷과 서브넷팅에 대해 설명할 것이다. 전제 1. IP 주소는 한정적 자원 인터넷에 연결되는 모든 컴퓨터는 고유한 번호인 IP 주소를 가진다. 현재 네트워크에서 일반적으로 사용되는 IP 주소 체계는 IPv4이다. IPv4의 주소는 32bit 길이를 가지고, 이를 8bit씩 4개의 구간(옥텟)으로 나타낸다. 따라서 각 자릿수는 0부터 2^8의 범위로 표현할 수 있다. 그렇다면 사용 할 수 있..

공부/Web

[웹] SOP, CORS 정의와 대응 방법

[10분 테코톡] 🌳 나봄의 CORS의 내용을 정리하고, 추가 학습 내용을 덧붙여 작성했습니다! SOP (Same Origin Policy) 다른 출처의 리소스를 사용하는 것을 제한하는 보안 정책 Origin(출처)란? url의 protocol, host, port를 통해 같은 출처인지, 다른 출처인지 판단한다. 세 가지가 모두 같아야지만 같은 출처라고 판단한다. 하지만 브라우저마다 다르다. IE는 port를 판단 기준에 넣지 않는다. port가 달라도 동일 출처라고 보는 것이다. 또, 브라우저에서는 String value로 값을 비교하기 때문에 http://localhost:80과 http://127.0.0.1은 같지만 다른 출처라고 판단한다. 왜 보안을 위해 이런 방식을 사용해야 할까? 다른 출처의 ..

공부/Spring

Spring Boot의 로깅, 로깅을 왜 할까?

레벨2 미션에서 예외 처리를 할 때, 예측하지 못한 서버 오류가 발생할 경우에는 로그를 남겨주는 방식으로 처리하고 있었다. 하지만 '로그를 남긴다'는 게 어떤 행위인지, 또 어떤 도구를 사용해 할 수 있는지 잘 알지 못하고 있다는 것을 깨달았다. 그래서 이번 기회에 간단히라도 정리해보려고 한다. Log와 Logging 로그(log)는 컴퓨터의 처리 내용이나, 이용 상황을 시간의 흐름에 따라 기록한 것을 말한다. 어플리케이션에서의 로그는 실행 중 발생하는 다양한 이벤트에 대한 기록이라고 할 수 있다. Logging은 위와 같이 로그를 남기는 행위를 말한다. System.out.println()과 Logger의 차이 System.out.println()은 성능이 떨어진다. System.out.println(..

우아한테크코스/미션 기록

[레벨2] 장바구니 미션

1단계 저장소: https://github.com/yoondgu/jwp-shopping-cart/tree/step1 2단계 저장소:https://github.com/yoondgu/jwp-shopping-cart/tree/step2 1단계 코드리뷰 진행 PR: https://github.com/woowacourse/jwp-shopping-cart/pull/175 2단계 코드리뷰 진행 PR: https://github.com/woowacourse/jwp-shopping-cart/pull/337 기능 요구사항 Spring Web MVC를 이용하여 쇼핑몰의 상품 관리 기능을 구현하는 미션 1단계 - 상품 목록 페이지 연동 - 상품 관리 CRUD API 작성 - 관리자 도구 페이지 연동 2단계 - 사용자 기능 ..

공부/CS

[네트워크] Unicast, Broadcast, Multicast - 네트워크 전송 방식

Unicast, Broadcast, Multicast 이 세 가지는 네트워크에서 송신 호스트가 데이터를 전송하는 서로 다른 방식이다. 그렇다면 어떻게 이렇게 다른 방식으로 데이터를 전송하는 것일까? Unicast 고유 주소로 식별된 하나의 네트워크 목적지에 1:1로 트래픽 또는 메시지를 전송하는 방식. 목적지의 MAC 주소를 프레임에 포함시켜 보내는 방식을 사용한다. 특정 PC가 유니캐스트 프레임을 보내면, 로컬 네트워크 상의 모든 PC들은 일단 이 프레임을 받아들여 LAN 카드에서 자신의 MAC 주소와 비교한다. 일치하지 않으면 이를 버린다. ⇒ CPU까지 접근할 필요가 없다. 만약 목적지의 MAC 주소를 모르는 프레임이 스위치를 통해 들어왔다면, 해당 패킷은 스위치에 연결되어있는 모든 포트로 브로드캐..

d02
개발 기록