분류 전체보기692 [백준][C++] 2661번: 좋은수열 <182> 직접 풀어보고 올리는 코드입니다. 지적이나 더 좋은 방향에 대한 댓글은 항상 환영합니다. 2661번: 좋은수열 첫 번째 줄에 1, 2, 3으로만 이루어져 있는 길이가 N인 좋은 수열들 중에서 가장 작은 수를 나타내는 수열만 출력한다. 수열을 이루는 1, 2, 3들 사이에는 빈칸을 두지 않는다. www.acmicpc.net 생각의 흐름 " data-ke-type="html"> HTML 삽입 미리보기할 수 없는 소스 이번 문제는 DFS 탐색을 진행하다가, 불가능한 경우가 나오면 더이상의 탐색 진행을 하지않고 바로 반환하는 백트래킹 문제이다. 어떠한 수열이 주어질때 "나쁜수열" 인지를 파악하는것 이 핵심이다. 다만 완전탐색 방식으로 길이가 N인 모든 수열의 경우를 만들고 "나쁜수열"인지 파악하는것은 시간초과 .. Algorithm/백준 2022. 2. 4. [오브젝트] 설계 품질과 트레이드오프 (4장) 조영호님의 오브젝트 라는 책을 읽으며, 공부 내용을 정리하는 용도로 간략하게 정리해 봅니다. 오브젝트: 코드로 이해하는 객체지향 설계 역할, 책임, 협력을 향해 객체지향적으로 프로그래밍하라! 객체지향으로 향하는 첫걸음은 클래스가 아니라 객체를 바라보는 것에서부터 시작한다. 객체지향으로 향하는 두 번째 걸음은 객체를 wikibook.co.kr 객체를 단순한 데이터의 집합으로 바라보는 시각은 객체의 내부 구현을 퍼블릭 인터페이스에 노출시키는 결과를 낳기 때문에 결과적으로 설계가 변경에 취약해 진다. 이러한 문제를 해결하는 가장 좋은 방법은 책임에 초점을 맞추는 것 이다. 이번 4장에서는 기존의 영화 예매 시스템을 데이터 중심의 설계로 살펴보고, 객체지향과 어떤 차이점이 있는지 살펴보자. 1. 데이터 중심의 .. BackEnd/OOP 2022. 2. 4. [Spring] 싱글톤 컨테이너 내돈내고 내가 공부한것을 올리며, 중요한 단원은 저 자신도 곱씹어 볼겸 상세히 기록하고 얕은부분들은 가겹게 포스팅 하겠습니다. 1. 싱글톤 컨테이너 " data-ke-type="html"> HTML 삽입 미리보기할 수 없는 소스 스프링 컨테이너는 싱글톤 패턴을 적용하지 않아도 객체 인스턴스를 싱글톤으로 관리한다. 이렇게 싱글톤 객체를 생성하고 관리하는 기능을 싱글톤 레지스트리 라고 한다. 이러한 기능 덕에 싱글톤을 위한 지저분한 코드가 들어갈 필요도 없으며, DIP, OCP, 테스트 등 의 제약사항이 없어진다 할 수 있다! 간단한 테스트 하나 해보자~ @Test @DisplayName("스프링 컨테이너와 싱글톤") void springContainer(){ ApplicationContext ac = ne.. BackEnd/Spring 2022. 2. 3. [오브젝트] 역할, 책임, 협력 (3장) 조영호님의 오브젝트 라는 책을 읽으며, 공부 내용을 정리하는 용도로 간략하게 정리해 봅니다. 오브젝트: 코드로 이해하는 객체지향 설계 역할, 책임, 협력을 향해 객체지향적으로 프로그래밍하라! 객체지향으로 향하는 첫걸음은 클래스가 아니라 객체를 바라보는 것에서부터 시작한다. 객체지향으로 향하는 두 번째 걸음은 객체를 wikibook.co.kr 1. 협력 " data-ke-type="html"> HTML 삽입 미리보기할 수 없는 소스 위 다이어그램 에서는 다양한 객체들이 영화 예매의 기능을 구현하기 위해 메시지를 주고 받으면서 상호작용 하고 있다. 객체들이 애플리케이션의 기능을 구현하기 위해 수행하는 상호작용을 협력이라고 부른다. 객체가 협력에 참여하기 위해 수행하는 로직은 책임이라고 부른다. 객체들이 협력.. BackEnd/OOP 2022. 2. 3. [백준][C++] 3980번: 선발 명단 <181> 직접 풀어보고 올리는 코드입니다. 지적이나 더 좋은 방향에 대한 댓글은 항상 환영합니다. 3980번: 선발 명단 각각의 테스트 케이스에 대해서, 모든 포지션의 선수를 채웠을 때, 능력치의 합의 최댓값을 한 줄에 하나씩 출력한다. 항상 하나 이상의 올바른 라인업을 만들 수 있다. www.acmicpc.net 생각의 흐름 " data-ke-type="html"> HTML 삽입 미리보기할 수 없는 소스 맨 처음 나는 next_permutation을 통해 11명의 순열을 구한후, 그 배열이 0값을 포함하고 있지 않다면 결과를 도출하는 풀이로 풀었다. 하지만 시간초과가 발생하여 버렸다. 아마 순열을 구하는 과정에서 아예 답을 구할 수 있는데, 순열을 구한후, 다시 한번 순회를 돌기 때문 아닐까 싶다? 따라서 직접.. Algorithm/백준 2022. 2. 3. [HTTP] HTTP 헤더 - 캐시와 조건부 요청 내가 공부한것을 올리며, 중요한 단원은 저 자신도 곱씹어 볼겸 상세히 기록하고 얕은부분들은 가겹게 포스팅 하겠습니다. 1. 캐시 기본 동작 " data-ke-type="html"> HTML 삽입 미리보기할 수 없는 소스 캐시가 없다면 Client가 요청할때마다 같은 데이터를 계속 새롭게 다운받게 된다는것 정도는 모두 아는내용이다. - 데이터가 변경되지 않아도 계속 네트워크를 통해서 데이터를 다운로드 받아야 한다. - 인터넷 네트워크는 매우 느리고 비싸다. - 브라우저 로딩 속도가 느리다. - 느린 사용자 경험 이번에는 캐시를 적용시켜 보자! 첫 요청은 다음과 같다. 그림을 살펴보자. GET메서드로 /star.jpg로 요청을 하면 서버에서 캐시의 유효 시간을 설정하고, star.jpg와 함께 보내주게 된다.. BackEnd/WEB 2022. 2. 3. [HTTP] HTTP 헤더 - 일반헤더 내가 공부한것을 올리며, 중요한 단원은 저 자신도 곱씹어 볼겸 상세히 기록하고 얕은부분들은 가겹게 포스팅 하겠습니다. 1. HTTP 헤더 개요 " data-ke-type="html"> HTML 삽입 미리보기할 수 없는 소스 HTTP 헤더의 header-field를 예전에 설명한적이 있다. 다시한번 확인하고 시작하자. ● header-field => field-name":" OWS field-value OWS (OWS:띄어쓰기 허용) - HTTP 전송에 필요한 모든 부가정보가 헤더에 포함되어있다. - 예를 들어 메시지 바디의 내용, 바디의 크기, 압축, 인증, 요청 클라이언트 등등... - 또한 표준 헤더가 너무 많다는 단점이 있다. 우선 과거의 분류 기준을 살펴보자. RFC2616은 1999년도 만들어진.. BackEnd/WEB 2022. 2. 2. [오브젝트] 객체지향 프로그래밍 (2장) 조영호님의 오브젝트 라는 책을 읽으며, 공부 내용을 정리하는 용도로 간략하게 정리해 봅니다. 오브젝트: 코드로 이해하는 객체지향 설계 역할, 책임, 협력을 향해 객체지향적으로 프로그래밍하라! 객체지향으로 향하는 첫걸음은 클래스가 아니라 객체를 바라보는 것에서부터 시작한다. 객체지향으로 향하는 두 번째 걸음은 객체를 wikibook.co.kr 1. 객체지향 프로그래밍을 향해 " data-ke-type="html"> HTML 삽입 미리보기할 수 없는 소스 진정한 객체지향 페러다임으로의 전환은 Class 가 아닌, Object에 초점을 맞출 때 에만 얻을 수 있다. 1. 어떤 클래스가 필요한지가 아니라, 어떤 객체가 필요한지 고민해야 한다. 클래스는 공통적인 객체들의 상태와 행동을 추상화 한 것 이다. 따라서.. BackEnd/OOP 2022. 2. 2. [서평] 스프링 부트 퀵스타트 저의 돈으로 직접 사서 직접 완독해 본 후 써보는 후기입니다. 따라서 장점은 장점대로 칭찬할 것이며, 단점은 단점대로 언급할 것입니다. 스프링 부트 퀵스타트 누구나 끝까지 따라 할 수 있는 스프링 부트이 책은 스프링 부트의 자동설정을 시작으로, 스프링 데이터 JPA를 이용한 데이터베이스 처리, 타임리프를 이용한 템플릿 기반의 화면구성, 그리고 스 book.naver.com 2021/10/24 ~ 2021/11/19 1) 책의 표지 2) 단원별 구성 3) 읽은 소감 우선 저의 글의 앞부분만 보는 분들을 위해 먼저 간단히 3가지에 대해 답해보겠습니다. Q 이 책을 읽기 전에 필요한 수준/ 지식은? => 일단 당연하게 JAVA는 알아야 한다. 그 외로 약간의 스프링 기본 내용을 알고 있어야 한다. .. Life/Book Record 2022. 2. 2. [Spring] 스프링 컨테이너와 스프링 빈 내돈내고 내가 공부한것을 올리며, 중요한 단원은 저 자신도 곱씹어 볼겸 상세히 기록하고 얕은부분들은 가겹게 포스팅 하겠습니다. 1. 스프링 컨테이너 생성 " data-ke-type="html"> HTML 삽입 미리보기할 수 없는 소스 스프링 컨테이너가 생성되는 과정과 코드를 살펴보자! 다음 코드를 먼저 살펴보자. ApplicationContext applicationContext = new AnnotationConfigApplicationContext(AppConfig.class); 애노테이션 기반의 구성 정보를 담고 있는 AppConfig.class가 있다. 이를 사용하여 스프링 컨테이너를 생성할 수 있다. 위의 ApplicationContext는 인터페이스에 해당한다. 따라서 이를 구현한 여러 구현체.. BackEnd/Spring 2022. 2. 1. [HTTP] HTTP 상태 코드 내가 공부한것을 올리며, 중요한 단원은 저 자신도 곱씹어 볼겸 상세히 기록하고 얕은부분들은 가겹게 포스팅 하겠습니다. 1. 2xx - 성공 " data-ke-type="html"> HTML 삽입 미리보기할 수 없는 소스 ● 200 OK 가장 단순한 상태코드이다. Client에서 어떤 처리를 서버에 요청했을때, 정상적으로 처리되었다면 보통 200을 상태코드로 보여준다. ● 201 Created 클라이언트의 요청이 성공하여 서버쪽에서 새로운 리소스가 생성되었을때 201로 응답해준다. POST로 신규 리소스 등록을 요청할때 서버 쪽에서 등록하여 URI를 정하고, 클라이언트에게 반환해 주는 컬렉션 방식에 사용된다. ● 202 Accepted 클라이언트의 요청이 접수되었으나, 아직 처리가 완료되지 않았을때 사용한.. BackEnd/WEB 2022. 2. 1. [Spring] 스프링 핵심 원리 이해2 - 객체 지향 원리 적용 내돈내고 내가 공부한것을 올리며, 중요한 단원은 저 자신도 곱씹어 볼겸 상세히 기록하고 얕은부분들은 가겹게 포스팅 하겠습니다. 1. 새로운 할인 정책 개발 " data-ke-type="html"> HTML 삽입 미리보기할 수 없는 소스 우리의 기획자님 께서 기존에 1000원 씩 할인해주던 정책에서 10%를 할인해주는 정책으로 갑자기 바꾸고 싶다고 한다... 이에 대응한 정률할인정책 을 추가해보자. 구현체를 하나 새로 만들었다! package hello.core.discount; import hello.core.member.Grade; import hello.core.member.Member; public class RateDiscountPolicy implements DiscountPolicy{ priv.. BackEnd/Spring 2022. 2. 1. 이전 1 ··· 38 39 40 41 42 43 44 ··· 58 다음