{"version":1,"pages":[{"id":"-M5HOaEb81xMAhzs_8v0","title":"Intro","pathname":"/docs","siteSpaceId":"sitesp_r3obU","description":"nothing happens if you do nothing ⏰"},{"id":"-MG39CLWPvW70Qt33EEZ","title":"JAVA","pathname":"/docs/q-and-a/java","siteSpaceId":"sitesp_r3obU","description":"JAVA 관련 정리한 내용 입니다.","breadcrumbs":[{"label":"Question & Answer"}]},{"id":"-MG3AxTG9yhwZPaZVuhe","title":"JVM","pathname":"/docs/q-and-a/java/jvm","siteSpaceId":"sitesp_r3obU","description":"JVM에 대해 알아보자","breadcrumbs":[{"label":"Question & Answer"},{"label":"JAVA"}]},{"id":"-MH65PZrsZn7IwqxHvn5","title":"String, StringBuffer, StringBuilder","pathname":"/docs/q-and-a/java/string-stringbuffer-stringbuilder","siteSpaceId":"sitesp_r3obU","description":"String, StringBuffer, StringBuilder 차이를 알아보자","breadcrumbs":[{"label":"Question & Answer"},{"label":"JAVA"}]},{"id":"NILqIzi82FTo1PwstXEM","title":"JDK 17일 사용한 이유(feat. JDK 8 이후 훑어보기)","pathname":"/docs/q-and-a/java/jdk-17-feat.-jdk-8","siteSpaceId":"sitesp_r3obU","description":"","breadcrumbs":[{"label":"Question & Answer"},{"label":"JAVA"}]},{"id":"-MHzns77IlzHyOTZmO7F","title":"스택 오버 플로우(SOF)","pathname":"/docs/q-and-a/java/stw","siteSpaceId":"sitesp_r3obU","description":"Stack Overflow가 발생하는 상황을 살펴보고 해결방법을 알아보자","breadcrumbs":[{"label":"Question & Answer"},{"label":"JAVA"}]},{"id":"-MI4830gvrobc0Q5B2JN","title":"블럭킹 | 논블럭킹 | 동기 | 비동기","pathname":"/docs/q-and-a/java/or-or-or","siteSpaceId":"sitesp_r3obU","description":"Blocking | Non Blocking | Sync | Async 에 대해 알아보자","breadcrumbs":[{"label":"Question & Answer"},{"label":"JAVA"}]},{"id":"LWQuoGEexoEUFiZ95qBo","title":"병렬처리를 이용한 이미지 리사이즈 개선","pathname":"/docs/q-and-a/java/undefined","siteSpaceId":"sitesp_r3obU","description":"","breadcrumbs":[{"label":"Question & Answer"},{"label":"JAVA"}]},{"id":"LzbYi8nhgCXite32Flx7","title":"heap dump 분석하기 (feat. OOM)","pathname":"/docs/q-and-a/java/heap-dump-feat.-oom","siteSpaceId":"sitesp_r3obU","breadcrumbs":[{"label":"Question & Answer"},{"label":"JAVA"}]},{"id":"1gObZaOrAAtNrAptJULO","title":"G1 GC vs Z GC","pathname":"/docs/q-and-a/java/g1-gc-vs-z-gc","siteSpaceId":"sitesp_r3obU","breadcrumbs":[{"label":"Question & Answer"},{"label":"JAVA"}]},{"id":"nEaPPMnNIl3TlmizCYLU","title":"JIT COMPILER","pathname":"/docs/q-and-a/java/jit-compiler","siteSpaceId":"sitesp_r3obU","breadcrumbs":[{"label":"Question & Answer"},{"label":"JAVA"}]},{"id":"-MJWr88HEYTtCBRlXDvO","title":"ENUM","pathname":"/docs/q-and-a/java/enum","siteSpaceId":"sitesp_r3obU","description":"ENUM에 대해서 알아보자","breadcrumbs":[{"label":"Question & Answer"},{"label":"JAVA"}]},{"id":"-MJu5vjTnNG7jce1zynd","title":"STATIC","pathname":"/docs/q-and-a/java/static","siteSpaceId":"sitesp_r3obU","description":"static에 대해서 알아보자","breadcrumbs":[{"label":"Question & Answer"},{"label":"JAVA"}]},{"id":"-MG3CDeFXEYydGnyIZ-I","title":"Thread(쓰레드)","pathname":"/docs/q-and-a/java/thread","siteSpaceId":"sitesp_r3obU","description":"Thread를 생성할 수 있는 방법에 대해 알아보고 동기화 할수 있는 전략에 대해 알아보자","breadcrumbs":[{"label":"Question & Answer"},{"label":"JAVA"}]},{"id":"-MG38zRkL0zhaN3uAhRD","title":"hashCode()와 equals()","pathname":"/docs/q-and-a/java/hashcode-equals","siteSpaceId":"sitesp_r3obU","description":"hashCode와 equals를 알아보고 override 해야 하는 이유에 대해 알아보자","breadcrumbs":[{"label":"Question & Answer"},{"label":"JAVA"}]},{"id":"-MG3CmTIvor19QkZflmh","title":"JDK 8 특징","pathname":"/docs/q-and-a/java/jdk-8","siteSpaceId":"sitesp_r3obU","description":"JDK 8 특징을 알아보자","breadcrumbs":[{"label":"Question & Answer"},{"label":"JAVA"}]},{"id":"t11a4Qqc8NI7KnlKMhMd","title":"break 와 continue 사용","pathname":"/docs/q-and-a/java/break-continue","siteSpaceId":"sitesp_r3obU","description":"","breadcrumbs":[{"label":"Question & Answer"},{"label":"JAVA"}]},{"id":"-MKF1sNgBB8BBvfaJBE3","title":"STREAM","pathname":"/docs/q-and-a/java/stream","siteSpaceId":"sitesp_r3obU","description":"STREAM에 대해서 알아보자","breadcrumbs":[{"label":"Question & Answer"},{"label":"JAVA"}]},{"id":"-MICrh7mol0shn5FvDho","title":"Optional","pathname":"/docs/q-and-a/java/optional","siteSpaceId":"sitesp_r3obU","description":"Optional에 대한 기능 설명과 예시를 설명해보자","breadcrumbs":[{"label":"Question & Answer"},{"label":"JAVA"}]},{"id":"-MIDVGToZ47dEbQ4UrrV","title":"람다와 클로저","pathname":"/docs/q-and-a/java/undefined-1","siteSpaceId":"sitesp_r3obU","description":"lambda와 closure에 대해서 알아보자","breadcrumbs":[{"label":"Question & Answer"},{"label":"JAVA"}]},{"id":"-MG3CrYfHDvPWS63Bqtc","title":"Exception(예외)","pathname":"/docs/q-and-a/java/exception","siteSpaceId":"sitesp_r3obU","description":"Java 에서 발생하는 예외에 대해서 알아보고 해결 방법에 대해 알아보자","breadcrumbs":[{"label":"Question & Answer"},{"label":"JAVA"}]},{"id":"-MG3BYiZ_aV4XyNf-iUb","title":"Garbage Collector","pathname":"/docs/q-and-a/java/garbage-collecter","siteSpaceId":"sitesp_r3obU","description":"가비지 컬렉터의 종류를 알아보고 특징을 살펴보자","breadcrumbs":[{"label":"Question & Answer"},{"label":"JAVA"}]},{"id":"-MGJhsm_-EcORxcItQqO","title":"Collection","pathname":"/docs/q-and-a/java/collection","siteSpaceId":"sitesp_r3obU","description":"Collection의 하위 타입의 각각의 특성에 대해 살펴보자","breadcrumbs":[{"label":"Question & Answer"},{"label":"JAVA"}]},{"id":"-MGJhmdAy2q_UV_9hvI6","title":"Call by Value & Call by Reference","pathname":"/docs/q-and-a/java/call-by-value-and-call-by-reference","siteSpaceId":"sitesp_r3obU","description":"Call by Value 와 Call by Reference에 대해서 알아보자","breadcrumbs":[{"label":"Question & Answer"},{"label":"JAVA"}]},{"id":"-MJLU3gQENFlTQiiqPvp","title":"제네릭(Generic)","pathname":"/docs/q-and-a/java/generic","siteSpaceId":"sitesp_r3obU","description":"제네릭(Generic)에 대해서 살펴보자","breadcrumbs":[{"label":"Question & Answer"},{"label":"JAVA"}]},{"id":"-MG39ktEtAcorkPsBIRK","title":"SPRING","pathname":"/docs/q-and-a/spring","siteSpaceId":"sitesp_r3obU","description":"SPRING Framework 관련 정리한 내용 입니다.","breadcrumbs":[{"label":"Question & Answer"}]},{"id":"-MG3AVYEomILUBSzGyfJ","title":"Spring 특징","pathname":"/docs/q-and-a/spring/spring-1","siteSpaceId":"sitesp_r3obU","description":"Spring Framework의 특징을 살펴보자","breadcrumbs":[{"label":"Question & Answer"},{"label":"SPRING"}]},{"id":"-MHbEUt10GOuWpcSi0U2","title":"N+1 문제","pathname":"/docs/q-and-a/spring/n+1","siteSpaceId":"sitesp_r3obU","description":"JPA N+1 문제에 대해 알아보자","breadcrumbs":[{"label":"Question & Answer"},{"label":"SPRING"}]},{"id":"CrtTHbQexjFTpCSq9XtE","title":"테스트 코드 어디까지  알아보고 오셨어요?","pathname":"/docs/q-and-a/spring/undefined","siteSpaceId":"sitesp_r3obU","description":"","breadcrumbs":[{"label":"Question & Answer"},{"label":"SPRING"}]},{"id":"kw3KNxA5T79t65yZaUsp","title":"테스트 코드 성능 개선기","pathname":"/docs/q-and-a/spring/undefined-1","siteSpaceId":"sitesp_r3obU","description":"","breadcrumbs":[{"label":"Question & Answer"},{"label":"SPRING"}]},{"id":"3mXk3VgXODFXk8OrhVHw","title":"RestTemplate 사용시 주의사항","pathname":"/docs/q-and-a/spring/resttemplate","siteSpaceId":"sitesp_r3obU","breadcrumbs":[{"label":"Question & Answer"},{"label":"SPRING"}]},{"id":"AYZKC2CLcVBp6HJX6m8W","title":"동시성 해결하기(feat. TMI 주의)","pathname":"/docs/q-and-a/spring/feat.-tmi","siteSpaceId":"sitesp_r3obU","breadcrumbs":[{"label":"Question & Answer"},{"label":"SPRING"}]},{"id":"eu4Iy7eX7A9FJNX1otU9","title":"redisson trylock 내부로직 살펴보기","pathname":"/docs/q-and-a/spring/redisson-trylock","siteSpaceId":"sitesp_r3obU","description":"","breadcrumbs":[{"label":"Question & Answer"},{"label":"SPRING"}]},{"id":"dn8Xlx3whyajiIKglz2g","title":"DB 트래픽 분산시키기(feat. Routing Datasource)","pathname":"/docs/q-and-a/spring/db-feat.-routing-datasource","siteSpaceId":"sitesp_r3obU","breadcrumbs":[{"label":"Question & Answer"},{"label":"SPRING"}]},{"id":"-MJSZ8PI7cMq-Ow6lA1c","title":"OSIV","pathname":"/docs/q-and-a/spring/osiv","siteSpaceId":"sitesp_r3obU","description":"OSIV에 대해서 알아보자","breadcrumbs":[{"label":"Question & Answer"},{"label":"SPRING"}]},{"id":"T48eBDTzL6viRNrEjfX9","title":"@Valid 동작 원리","pathname":"/docs/q-and-a/spring/valid","siteSpaceId":"sitesp_r3obU","description":"@Valid 동작 원리를 알아보자","breadcrumbs":[{"label":"Question & Answer"},{"label":"SPRING"}]},{"id":"Tb34M17OxgvgPUDQ9WFi","title":"mybatis @Builder 주의사항","pathname":"/docs/q-and-a/spring/mybatis-builder","siteSpaceId":"sitesp_r3obU","description":"","breadcrumbs":[{"label":"Question & Answer"},{"label":"SPRING"}]},{"id":"zJA9JFcS2WYQ6HDeZgEl","title":"스프링 클라우드 컨피그 갱신 되지 않는 이슈(feat. 서비스 디스커버리)","pathname":"/docs/q-and-a/spring/feat.","siteSpaceId":"sitesp_r3obU","description":"","breadcrumbs":[{"label":"Question & Answer"},{"label":"SPRING"}]},{"id":"xtLH1qY3PpeDlCARYeEg","title":"ImageIO.read 동작하지 않는 경우","pathname":"/docs/q-and-a/spring/imageio.read","siteSpaceId":"sitesp_r3obU","description":"","breadcrumbs":[{"label":"Question & Answer"},{"label":"SPRING"}]},{"id":"A7jYVsyc9C2ydTHQc0WS","title":"카프카 transaction 처리는 어떻게 해야할까?","pathname":"/docs/q-and-a/spring/transaction","siteSpaceId":"sitesp_r3obU","description":"","breadcrumbs":[{"label":"Question & Answer"},{"label":"SPRING"}]},{"id":"-MG3Bfvi0-w5WLlU0FQy","title":"Spring Boot 특징","pathname":"/docs/q-and-a/spring/spring-boot","siteSpaceId":"sitesp_r3obU","description":"Spring 과 비교하여 Spring Boot의 특징을 살펴보자","breadcrumbs":[{"label":"Question & Answer"},{"label":"SPRING"}]},{"id":"-MH5prsaaTtn5fjRx26S","title":"Spring 5 특징","pathname":"/docs/q-and-a/spring/spring-5","siteSpaceId":"sitesp_r3obU","description":"Spring Framework 5 특징에 대해서 살펴보자","breadcrumbs":[{"label":"Question & Answer"},{"label":"SPRING"}]},{"id":"-MI-wNDnf4N3JUXlMaWa","title":"JPA vs MyBatis","pathname":"/docs/q-and-a/spring/jpa-vs-mybatis","siteSpaceId":"sitesp_r3obU","description":"JPA와 MyBatis의 차이를 알아보자","breadcrumbs":[{"label":"Question & Answer"},{"label":"SPRING"}]},{"id":"-MG3DTanqzr-AVG0nBPJ","title":"Filter와 Interceptor","pathname":"/docs/q-and-a/spring/filter-interceptor","siteSpaceId":"sitesp_r3obU","description":"Filter와 Interceptor의 차이에 대해 알아보자","breadcrumbs":[{"label":"Question & Answer"},{"label":"SPRING"}]},{"id":"-MHbAAOLFkGtVKbMm3nT","title":"영속성 컨텍스트(Persistence Context)","pathname":"/docs/q-and-a/spring/persistence-context","siteSpaceId":"sitesp_r3obU","description":"영속성 컨텍스트에 대해 알아보자","breadcrumbs":[{"label":"Question & Answer"},{"label":"SPRING"}]},{"id":"-MG3BkqSbhmmQtxpKGZQ","title":"@Transactional","pathname":"/docs/q-and-a/spring/transactional","siteSpaceId":"sitesp_r3obU","description":"@Transactional 에 대해서 알아보자","breadcrumbs":[{"label":"Question & Answer"},{"label":"SPRING"}]},{"id":"-MHg_CpCGmWHf_NwGG1I","title":"@Controlleradvice, @ExceptionHandler","pathname":"/docs/q-and-a/spring/controlleradvice-exceptionhandler","siteSpaceId":"sitesp_r3obU","description":"@Controlleradvice, @ExceptionHandler에 대해 알아보자","breadcrumbs":[{"label":"Question & Answer"},{"label":"SPRING"}]},{"id":"-MG3DKp8qbcrHhhZmPEh","title":"Spring Security","pathname":"/docs/q-and-a/spring/spring-security","siteSpaceId":"sitesp_r3obU","description":"Spring Security 동작 과정을 살펴보자","breadcrumbs":[{"label":"Question & Answer"},{"label":"SPRING"}]},{"id":"-MG3D3zqBbv4hEcIG480","title":"Dispatcher Servlet","pathname":"/docs/q-and-a/spring/spring-web-mvc","siteSpaceId":"sitesp_r3obU","description":"Dispatcher Servlet를 확인하여Spring Web MVC 과정을 살펴보자","breadcrumbs":[{"label":"Question & Answer"},{"label":"SPRING"}]},{"id":"-MG3D8HALGXXZWNGRfjA","title":"@EnableWebMvc","pathname":"/docs/q-and-a/spring/enablewebmvc","siteSpaceId":"sitesp_r3obU","description":"@EnableWebMvc 사용법을 알아보자","breadcrumbs":[{"label":"Question & Answer"},{"label":"SPRING"}]},{"id":"-MG3CxHtj86eC4N2NMDG","title":"Stereo Type(스테레오 타입)","pathname":"/docs/q-and-a/spring/stereo-type","siteSpaceId":"sitesp_r3obU","description":"Stereo Type에 대해서 알아보자","breadcrumbs":[{"label":"Question & Answer"},{"label":"SPRING"}]},{"id":"-MG3CLwPGqP-a_REmexo","title":"AOP","pathname":"/docs/q-and-a/spring/aop","siteSpaceId":"sitesp_r3obU","description":"AOP 전략에 대해 알아보자","breadcrumbs":[{"label":"Question & Answer"},{"label":"SPRING"}]},{"id":"-MN4ROrKxBf9A1nS5Dzs","title":"JPA Repository 규칙","pathname":"/docs/q-and-a/spring/jpa-repository","siteSpaceId":"sitesp_r3obU","description":"JPA Repository 에서 제공하는 인터페이스 메소드를 알아보자","breadcrumbs":[{"label":"Question & Answer"},{"label":"SPRING"}]},{"id":"-MG39nsTOiwhkiB8HpMN","title":"DATABASE","pathname":"/docs/q-and-a/db","siteSpaceId":"sitesp_r3obU","description":"","breadcrumbs":[{"label":"Question & Answer"}]},{"id":"-MG3AaZuvMbduvHWOcJU","title":"Database Index","pathname":"/docs/q-and-a/db/index","siteSpaceId":"sitesp_r3obU","description":"데이터베이스의 Index에 대해서 알아보자","breadcrumbs":[{"label":"Question & Answer"},{"label":"DATABASE"}]},{"id":"-MH2YVU_xtqO_MRLMGYE","title":"SQL vs NoSQL","pathname":"/docs/q-and-a/db/sql-vs-nosql","siteSpaceId":"sitesp_r3obU","description":"SQL과 NoSQL을 비교해보자","breadcrumbs":[{"label":"Question & Answer"},{"label":"DATABASE"}]},{"id":"-MG3DXceKNFNU6_dXtEx","title":"DB 교착상태","pathname":"/docs/q-and-a/db/rdb","siteSpaceId":"sitesp_r3obU","description":"데이터베이스에서 발생할 수 있는 Lock 에 대해서 알아보자","breadcrumbs":[{"label":"Question & Answer"},{"label":"DATABASE"}]},{"id":"-MG3CcYiW6n7VQo6A_ZG","title":"Isolation level","pathname":"/docs/q-and-a/db/isolation-level","siteSpaceId":"sitesp_r3obU","description":"트랜잭션 격리 수준 (Isolation Level) 에 대해서 알아보자","breadcrumbs":[{"label":"Question & Answer"},{"label":"DATABASE"}]},{"id":"o8w7SpuaUkal9nq0Uioi","title":"[MySQL] 이모지 저장은 어떻게 하면 좋을까?","pathname":"/docs/q-and-a/db/mysql","siteSpaceId":"sitesp_r3obU","description":"","breadcrumbs":[{"label":"Question & Answer"},{"label":"DATABASE"}]},{"id":"-MG3CT-hMsPUcfZb7hV1","title":"SQL Hint","pathname":"/docs/q-and-a/db/sql-hint","siteSpaceId":"sitesp_r3obU","description":"SQL의 HINT에 대해서 알아보자","breadcrumbs":[{"label":"Question & Answer"},{"label":"DATABASE"}]},{"id":"-MKVH9c0yboknWPPaqbw","title":"JOIN","pathname":"/docs/q-and-a/db/join","siteSpaceId":"sitesp_r3obU","description":"JOIN의 종류와 각각의 특징에 대해서 살펴보자","breadcrumbs":[{"label":"Question & Answer"},{"label":"DATABASE"}]},{"id":"-MG39htcwc04FyTksT2l","title":"INFRA","pathname":"/docs/q-and-a/infra","siteSpaceId":"sitesp_r3obU","description":"인프라 환경 관련 정리한 내용 입니다.","breadcrumbs":[{"label":"Question & Answer"}]},{"id":"-MGmtKvGPsZQuC6mMjs5","title":"CLOUD COMPUTING","pathname":"/docs/q-and-a/infra/cloud-computing","siteSpaceId":"sitesp_r3obU","description":"클라우드 컴퓨팅에 대해서 알아보자","breadcrumbs":[{"label":"Question & Answer"},{"label":"INFRA"}]},{"id":"-M5HPN9sXMxxej3PMvOf","title":"GIT","pathname":"/docs/q-and-a/infra/2018-01-07-github","siteSpaceId":"sitesp_r3obU","description":"Git과 Github에 대해서 알아보자","breadcrumbs":[{"label":"Question & Answer"},{"label":"INFRA"}]},{"id":"-M5HPNBb49JHv-XrlXfL","title":"DOCKER","pathname":"/docs/q-and-a/infra/2018-01-16-nodejs-14st","siteSpaceId":"sitesp_r3obU","description":"도커 컨테이너에 대해 알아보자","breadcrumbs":[{"label":"Question & Answer"},{"label":"INFRA"}]},{"id":"fVkGdIAfW7c1z0LvkcAc","title":"카프카 찍먹하기 1부","pathname":"/docs/q-and-a/infra/1","siteSpaceId":"sitesp_r3obU","breadcrumbs":[{"label":"Question & Answer"},{"label":"INFRA"}]},{"id":"wBOXCZWZPxfY3W8G3dWq","title":"카프카 찍먹하기 2부 (feat. 프로듀서)","pathname":"/docs/q-and-a/infra/2-feat.","siteSpaceId":"sitesp_r3obU","breadcrumbs":[{"label":"Question & Answer"},{"label":"INFRA"}]},{"id":"4x5LxtTLWmRhLqh80bDp","title":"카프카 찍먹하기 3부 (feat. 컨슈머)","pathname":"/docs/q-and-a/infra/3-feat.","siteSpaceId":"sitesp_r3obU","breadcrumbs":[{"label":"Question & Answer"},{"label":"INFRA"}]},{"id":"-M5ICTSBIJhhUaZ3Smmb","title":"JENKINS","pathname":"/docs/q-and-a/infra/jenkins","siteSpaceId":"sitesp_r3obU","description":"Jenkins에 대해 알아보자","breadcrumbs":[{"label":"Question & Answer"},{"label":"INFRA"}]},{"id":"-M5HPN9lxcXS0XMmSMHN","title":"POSTMAN","pathname":"/docs/q-and-a/infra/2018-01-03-how-to-use-postman","siteSpaceId":"sitesp_r3obU","description":"","breadcrumbs":[{"label":"Question & Answer"},{"label":"INFRA"}]},{"id":"-MGmukwKBd1K5DuafcH9","title":"DNS 동작 원리","pathname":"/docs/q-and-a/infra/dns","siteSpaceId":"sitesp_r3obU","description":"DNS 동작원리에 대해 알아보자","breadcrumbs":[{"label":"Question & Answer"},{"label":"INFRA"}]},{"id":"uTuLb0sRbFcNkQtZHb1d","title":"ALB, NLB,ELB 차이는?","pathname":"/docs/q-and-a/infra/alb-nlb-elb","siteSpaceId":"sitesp_r3obU","description":"","breadcrumbs":[{"label":"Question & Answer"},{"label":"INFRA"}]},{"id":"Gd67mgoOxIEYhDN779Wq","title":"카프카 파티션 주의해서 사용하자","pathname":"/docs/q-and-a/infra/undefined","siteSpaceId":"sitesp_r3obU","description":"","breadcrumbs":[{"label":"Question & Answer"},{"label":"INFRA"}]},{"id":"-M5IBzilwQGI-FNn6KAJ","title":"DEVOPS","pathname":"/docs/q-and-a/infra/devops","siteSpaceId":"sitesp_r3obU","description":"DEVOPS에 대해 알아보자","breadcrumbs":[{"label":"Question & Answer"},{"label":"INFRA"}]},{"id":"-MHqxs9bAOffrTVyl7sO","title":"JWT","pathname":"/docs/q-and-a/infra/jwt","siteSpaceId":"sitesp_r3obU","description":"JWT에 대해 알아보자","breadcrumbs":[{"label":"Question & Answer"},{"label":"INFRA"}]},{"id":"-MH8bMVENJmEfbA77kTG","title":"OSI 7 Layer","pathname":"/docs/q-and-a/infra/osi-7-layer-todo","siteSpaceId":"sitesp_r3obU","description":"OSI 7 Layer에 대해 알아보자","breadcrumbs":[{"label":"Question & Answer"},{"label":"INFRA"}]},{"id":"-M5ICJ8NyByilUUmp_kN","title":"MSA","pathname":"/docs/q-and-a/infra/msa","siteSpaceId":"sitesp_r3obU","description":"MSA에 대해 알아보자","breadcrumbs":[{"label":"Question & Answer"},{"label":"INFRA"}]},{"id":"A020x8iC0QKFTuTgo2Sl","title":"서비스 디스커버리는 어떻게 서비스 등록/해제 하는걸까?","pathname":"/docs/q-and-a/infra/undefined-1","siteSpaceId":"sitesp_r3obU","breadcrumbs":[{"label":"Question & Answer"},{"label":"INFRA"}]},{"id":"Td9qSJakCwRmJBQ7aMPj","title":"핀포인트 사용시 주의사항!! (feat 로그 파일 사이즈)","pathname":"/docs/q-and-a/infra/feat","siteSpaceId":"sitesp_r3obU","description":"","breadcrumbs":[{"label":"Question & Answer"},{"label":"INFRA"}]},{"id":"5SFZHWR9o5V3DaBqX7PH","title":"AWS EC2 도메인 설정 (with ALB)","pathname":"/docs/q-and-a/infra/aws-ec2-with-alb","siteSpaceId":"sitesp_r3obU","description":"","breadcrumbs":[{"label":"Question & Answer"},{"label":"INFRA"}]},{"id":"ZvAwrU6i81anb54VRt8r","title":"ALB에 SSL 설정하기(feat. ACM)","pathname":"/docs/q-and-a/infra/alb-ssl-feat.-acm","siteSpaceId":"sitesp_r3obU","description":"","breadcrumbs":[{"label":"Question & Answer"},{"label":"INFRA"}]},{"id":"g2upLqCs2Rmg0MN6YTCU","title":"람다를 활용한 클라우드 와치 알림 받기","pathname":"/docs/q-and-a/infra/undefined-2","siteSpaceId":"sitesp_r3obU","description":"","breadcrumbs":[{"label":"Question & Answer"},{"label":"INFRA"}]},{"id":"DlGCw33S2G8k9bmYvrZD","title":"AWS Personalize 적용 후기… 😰","pathname":"/docs/q-and-a/infra/aws-personalize-...","siteSpaceId":"sitesp_r3obU","description":"","breadcrumbs":[{"label":"Question & Answer"},{"label":"INFRA"}]},{"id":"6BNWwOEO16mLTCCKdFhA","title":"CloudFront를 활용한 S3 성능 및 비용 개선","pathname":"/docs/q-and-a/infra/cloudfront-s3","siteSpaceId":"sitesp_r3obU","description":"","breadcrumbs":[{"label":"Question & Answer"},{"label":"INFRA"}]},{"id":"-MG3BtSiT-EjL2MQPk6Z","title":"ARCHITECTURE","pathname":"/docs/q-and-a/architecture","siteSpaceId":"sitesp_r3obU","description":"아티텍처 관련 정리한 내용 입니다.","breadcrumbs":[{"label":"Question & Answer"}]},{"id":"-MG3C0m0ZLvEY4yCAl0z","title":"객체지향과 절차지향","pathname":"/docs/q-and-a/architecture/undefined","siteSpaceId":"sitesp_r3obU","description":"객체지향과 절차지향의 차이에 대해 알아보자","breadcrumbs":[{"label":"Question & Answer"},{"label":"ARCHITECTURE"}]},{"id":"-MHHWSYga-XeJyKX7ADB","title":"상속보단 합성","pathname":"/docs/q-and-a/architecture/undefined-2","siteSpaceId":"sitesp_r3obU","description":"상속과 합성에 대해 알아보자","breadcrumbs":[{"label":"Question & Answer"},{"label":"ARCHITECTURE"}]},{"id":"-MG3C4wIEIlNt8kMLfMW","title":"SOLID 원칙","pathname":"/docs/q-and-a/architecture/solid","siteSpaceId":"sitesp_r3obU","description":"SOLID 원칙에 대해 설명하시오","breadcrumbs":[{"label":"Question & Answer"},{"label":"ARCHITECTURE"}]},{"id":"-MG3C8FzAaumDWPt5Lt3","title":"캡슐화","pathname":"/docs/q-and-a/architecture/undefined-1","siteSpaceId":"sitesp_r3obU","description":"캡슐화에 대해 알아보자","breadcrumbs":[{"label":"Question & Answer"},{"label":"ARCHITECTURE"}]},{"id":"-M5ICLNkhPU9qzk2H7uK","title":"DDD(Domain Driven Design)","pathname":"/docs/q-and-a/architecture/ddd","siteSpaceId":"sitesp_r3obU","description":"Domain Driven Design에 대해 알아보자","breadcrumbs":[{"label":"Question & Answer"},{"label":"ARCHITECTURE"}]},{"id":"-MG3Bo5lMT02ERWAfWFq","title":"COMPUTER SCIENCE","pathname":"/docs/q-and-a/computer-science","siteSpaceId":"sitesp_r3obU","description":"CS 관련 정리한 내용 입니다.","breadcrumbs":[{"label":"Question & Answer"}]},{"id":"-MH2-571n2EDlN4ol8-d","title":"뮤텍스와 세마포어","pathname":"/docs/q-and-a/computer-science/undefined-1","siteSpaceId":"sitesp_r3obU","description":"뮤텍스와 세마포어에 대해 알아보자","breadcrumbs":[{"label":"Question & Answer"},{"label":"COMPUTER SCIENCE"}]},{"id":"-MGi4DnqC0lOZrfOoP__","title":"Context Switch","pathname":"/docs/q-and-a/computer-science/context-switch","siteSpaceId":"sitesp_r3obU","description":"문맥교환에 대해 알아보자","breadcrumbs":[{"label":"Question & Answer"},{"label":"COMPUTER SCIENCE"}]},{"id":"-MGi4HOyjdY6yDFPntCb","title":"REST API","pathname":"/docs/q-and-a/computer-science/rest-api","siteSpaceId":"sitesp_r3obU","description":"REST API에 대해서 알아보자","breadcrumbs":[{"label":"Question & Answer"},{"label":"COMPUTER SCIENCE"}]},{"id":"-MHRow6inTvV2msElwUX","title":"HTTP HEADER","pathname":"/docs/q-and-a/computer-science/http-header","siteSpaceId":"sitesp_r3obU","description":"HTTP 헤더에 대해 알아보자","breadcrumbs":[{"label":"Question & Answer"},{"label":"COMPUTER SCIENCE"}]},{"id":"-MHQw2-H36ZxXJGrsfex","title":"HTTP METHOD","pathname":"/docs/q-and-a/computer-science/http-method","siteSpaceId":"sitesp_r3obU","description":"HTTP METHOD에 대해서 알아보자","breadcrumbs":[{"label":"Question & Answer"},{"label":"COMPUTER SCIENCE"}]},{"id":"-MHQw5mSgIu9OTTnLad-","title":"HTTP STATUS","pathname":"/docs/q-and-a/computer-science/http-status-todo","siteSpaceId":"sitesp_r3obU","description":"HTTP 상태값에 대해 알아보자","breadcrumbs":[{"label":"Question & Answer"},{"label":"COMPUTER SCIENCE"}]},{"id":"UM2pV0pMEJqaluZFa8YO","title":"CULTURE","pathname":"/docs/q-and-a/culture","siteSpaceId":"sitesp_r3obU","description":"문화 관련 정리한 내용 입니다.","breadcrumbs":[{"label":"Question & Answer"}]},{"id":"-M5HPN9wKW7oL3cH0vfY","title":"AGILE(Feat. 스크럼)","pathname":"/docs/q-and-a/culture/2018-01-12-introduce-agile","siteSpaceId":"sitesp_r3obU","description":"","breadcrumbs":[{"label":"Question & Answer"},{"label":"CULTURE"}]},{"id":"8T3akAmfCKUjVmDJAqd7","title":"우리는 성장 할수 있을까? (w. 함께 자라기)","pathname":"/docs/q-and-a/culture/w.","siteSpaceId":"sitesp_r3obU","description":"","breadcrumbs":[{"label":"Question & Answer"},{"label":"CULTURE"}]},{"id":"NekrSjWbLbMSlZS5hRhh","title":"Expert Beginner","pathname":"/docs/q-and-a/culture/expert-beginner","siteSpaceId":"sitesp_r3obU","description":"","breadcrumbs":[{"label":"Question & Answer"},{"label":"CULTURE"}]},{"id":"SpSmeVX9Z6GAdm0ZFATi","title":"SEMINAR","pathname":"/docs/q-and-a/seminar","siteSpaceId":"sitesp_r3obU","description":"세미나 후기 관련 정리한 내용 입니다.","breadcrumbs":[{"label":"Question & Answer"}]},{"id":"qSIvKOHS6fO7rwcjRcRl","title":"2022 INFCON 후기","pathname":"/docs/q-and-a/seminar/2022-infcon","siteSpaceId":"sitesp_r3obU","description":"2022 INFCON 후기","breadcrumbs":[{"label":"Question & Answer"},{"label":"SEMINAR"}]},{"id":"eK9TvqQJWi05sZCLBcYL","title":"[104호] 사이드 프로젝트 만세! - 기술만큼 중요했던 제품과 팀 성장기","pathname":"/docs/q-and-a/seminar/2022-infcon/104","siteSpaceId":"sitesp_r3obU","description":"","breadcrumbs":[{"label":"Question & Answer"},{"label":"SEMINAR"},{"label":"2022 INFCON 후기"}]},{"id":"Rrz4owcSnXpMAcWpPWIO","title":"[102호] 팀을 넘어서 전사적 협업 환경 구축하기","pathname":"/docs/q-and-a/seminar/2022-infcon/102","siteSpaceId":"sitesp_r3obU","description":"","breadcrumbs":[{"label":"Question & Answer"},{"label":"SEMINAR"},{"label":"2022 INFCON 후기"}]},{"id":"XYckA0pB5zFvLxbRN9ZJ","title":"[103호] 코드 리뷰의 또 다른 접근 방법: Pull Requests vs. Stacked Changes","pathname":"/docs/q-and-a/seminar/2022-infcon/103-pull-requests-vs.-stacked-changes","siteSpaceId":"sitesp_r3obU","description":"","breadcrumbs":[{"label":"Question & Answer"},{"label":"SEMINAR"},{"label":"2022 INFCON 후기"}]},{"id":"DrcS5wTdk5iimLu0WXxL","title":"[105호] 실전! 멀티 모듈 프로젝트 구조와 설계","pathname":"/docs/q-and-a/seminar/2022-infcon/105","siteSpaceId":"sitesp_r3obU","description":"","breadcrumbs":[{"label":"Question & Answer"},{"label":"SEMINAR"},{"label":"2022 INFCON 후기"}]},{"id":"5TZuhhaS2LputdEU10Cf","title":"[105호] 지금 당장 DevOps를 해야 하는 이유","pathname":"/docs/q-and-a/seminar/2022-infcon/105-devops","siteSpaceId":"sitesp_r3obU","description":"","breadcrumbs":[{"label":"Question & Answer"},{"label":"SEMINAR"},{"label":"2022 INFCON 후기"}]},{"id":"vD7jA3ckbTPQ7zMs6JML","title":"[102호] (레거시 시스템) 개편의 기술 - 배달 플랫폼에서 겪은 N번의 개편 경험기","pathname":"/docs/q-and-a/seminar/2022-infcon/102-n","siteSpaceId":"sitesp_r3obU","description":"","breadcrumbs":[{"label":"Question & Answer"},{"label":"SEMINAR"},{"label":"2022 INFCON 후기"}]},{"id":"PEnAoTXoKNQJlc11a73q","title":"[102호] 서버비 0원, 클라우드 큐 도입으로 해냈습니다!","pathname":"/docs/q-and-a/seminar/2022-infcon/102-0","siteSpaceId":"sitesp_r3obU","description":"","breadcrumbs":[{"label":"Question & Answer"},{"label":"SEMINAR"},{"label":"2022 INFCON 후기"}]},{"id":"-M5HPN9gulpyfQp3g8ts","title":"오브젝트","pathname":"/docs/study/object","siteSpaceId":"sitesp_r3obU","description":"오브젝트를 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"}]},{"id":"-M5HPNAcWg3da2NfkfKI","title":"1장 객체, 설계","pathname":"/docs/study/object/2020-03-10-object-chap1","siteSpaceId":"sitesp_r3obU","description":"오브젝트의 1장을 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"오브젝트"}]},{"id":"-M5HPNAOUZCN6dmUSHpW","title":"2장 객체지향 프로그래밍","pathname":"/docs/study/object/2020-03-10-object-chap2","siteSpaceId":"sitesp_r3obU","description":"오브젝트의 2장을 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"오브젝트"}]},{"id":"-M5HPNAG1vbvQymBq8f4","title":"3장 역할, 책임, 협력","pathname":"/docs/study/object/2020-03-10-object-chap3","siteSpaceId":"sitesp_r3obU","description":"오브젝트의 3장을 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"오브젝트"}]},{"id":"-M5HPNAB2tRozjNgi8Gh","title":"4장 설계 품질과 트레이드 오프","pathname":"/docs/study/object/2020-03-10-object-chap4","siteSpaceId":"sitesp_r3obU","description":"오브젝트의 4장을 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"오브젝트"}]},{"id":"-M5HPNA54yYs8LylrKpb","title":"5장 책임 할당하기","pathname":"/docs/study/object/2020-03-10-object-chap5","siteSpaceId":"sitesp_r3obU","description":"오브젝트의 5장을 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"오브젝트"}]},{"id":"-M5HPN9ul63D9Za80An5","title":"6장 메시지와 인터페이스","pathname":"/docs/study/object/2020-03-10-object-chap6","siteSpaceId":"sitesp_r3obU","description":"오브젝트의 6장을 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"오브젝트"}]},{"id":"-M5HPN9nWFyXjD9jA3tm","title":"7징 객체 분해","pathname":"/docs/study/object/2020-03-10-object-chap7","siteSpaceId":"sitesp_r3obU","description":"오브젝트의 7장을 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"오브젝트"}]},{"id":"-M5HPN9h2KVQynq3vm46","title":"8장 의존성 관리하기","pathname":"/docs/study/object/2020-03-10-object-chap8","siteSpaceId":"sitesp_r3obU","description":"오브젝트의 8장을 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"오브젝트"}]},{"id":"-M5HPN9fZ9fqBn2fRaRf","title":"9장 유연한 설계","pathname":"/docs/study/object/2020-03-10-object-chap9","siteSpaceId":"sitesp_r3obU","description":"오브젝트의 9장을 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"오브젝트"}]},{"id":"-M5HPNCvJYQKbkp_5WIv","title":"10장 상속과 코드 재사용","pathname":"/docs/study/object/2020-03-10-object-chap10","siteSpaceId":"sitesp_r3obU","description":"오브젝트의 10장을 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"오브젝트"}]},{"id":"-M5HPNCjpXoyS5yVd0f7","title":"11장 합성과 유연한 설계","pathname":"/docs/study/object/2020-03-10-object-chap11","siteSpaceId":"sitesp_r3obU","description":"오브젝트의 11장을 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"오브젝트"}]},{"id":"-M5HPNCftsw_VKaJYARR","title":"12장 다형성","pathname":"/docs/study/object/2020-03-10-object-chap12","siteSpaceId":"sitesp_r3obU","description":"오브젝트의 12장을 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"오브젝트"}]},{"id":"-M5HPNCbXrUZjbii6OPA","title":"13장 서브클래싱과 서브타이핑","pathname":"/docs/study/object/2020-03-10-object-chap13","siteSpaceId":"sitesp_r3obU","description":"오브젝트의 13장을 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"오브젝트"}]},{"id":"-M5HPNCZHsEiTMaCVHhp","title":"14장 일관성 있는 협력","pathname":"/docs/study/object/2020-03-10-object-chap14","siteSpaceId":"sitesp_r3obU","description":"오브젝트의 14장을 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"오브젝트"}]},{"id":"-M5HPNCS-YNBTAQmuL34","title":"15장 디자인 패턴과 프레임워크","pathname":"/docs/study/object/2020-03-10-object-chap15","siteSpaceId":"sitesp_r3obU","description":"오브젝트의 15장을 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"오브젝트"}]},{"id":"-M5HPNAPhCsgEKQrdBzF","title":"마무리","pathname":"/docs/study/object/2020-03-10-object-chap-end","siteSpaceId":"sitesp_r3obU","description":"오브젝트 마지막장 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"오브젝트"}]},{"id":"GeVbiUpM6FaUZFspG1gq","title":"객체지향의 사실과 오해","pathname":"/docs/study/readme-1","siteSpaceId":"sitesp_r3obU","description":"","breadcrumbs":[{"label":"STUDY"}]},{"id":"MjI7xJZ7JLGHyjgoee2W","title":"1장 협력하는 객체들의 공동체","pathname":"/docs/study/readme-1/1","siteSpaceId":"sitesp_r3obU","description":"객체지향의 사실과 오해 1장","breadcrumbs":[{"label":"STUDY"},{"label":"객체지향의 사실과 오해"}]},{"id":"acf4cidA1LPttntvebUs","title":"2장 이상한 나라의 객체","pathname":"/docs/study/readme-1/2","siteSpaceId":"sitesp_r3obU","description":"객체지향의 사실과 오해 2장","breadcrumbs":[{"label":"STUDY"},{"label":"객체지향의 사실과 오해"}]},{"id":"vE8fTZAx0EQ9rbGzlagB","title":"3장 타입과 추상화","pathname":"/docs/study/readme-1/3","siteSpaceId":"sitesp_r3obU","description":"객체지향의 사실과 오해 3장","breadcrumbs":[{"label":"STUDY"},{"label":"객체지향의 사실과 오해"}]},{"id":"seNXuTySLFLk3eL0DgHy","title":"4장 역할, 책임, 협력","pathname":"/docs/study/readme-1/4","siteSpaceId":"sitesp_r3obU","description":"객체지향의 사실과 오해 4장","breadcrumbs":[{"label":"STUDY"},{"label":"객체지향의 사실과 오해"}]},{"id":"-M5HPNBCaYzqlXE2C9Ls","title":"JAVA ORM JPA","pathname":"/docs/study/jpa","siteSpaceId":"sitesp_r3obU","description":"자바 ORM 표준 JPA 프로그래밍을 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"}]},{"id":"-M5HPNBBJE5toI-GuqN0","title":"1장 JPA 소개","pathname":"/docs/study/jpa/2020-04-07-jpa-chap1","siteSpaceId":"sitesp_r3obU","description":"자바 ORM 표준 JPA 프로그래밍 1장을 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"JAVA ORM JPA"}]},{"id":"-M5HnJZVJWBmpNtQQB2U","title":"2장 JPA 시작","pathname":"/docs/study/jpa/2-jpa","siteSpaceId":"sitesp_r3obU","description":"자바 ORM 표준 JPA 프로그래밍 2장을 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"JAVA ORM JPA"}]},{"id":"-M5HnvZJtOOm2fGX0iSF","title":"3장 영속성 관리","pathname":"/docs/study/jpa/3","siteSpaceId":"sitesp_r3obU","description":"자바 ORM 표준 JPA 프로그래밍 3장을 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"JAVA ORM JPA"}]},{"id":"-M5mKgWrGbiH_uGwFrmV","title":"4장 엔티티 매핑","pathname":"/docs/study/jpa/4","siteSpaceId":"sitesp_r3obU","description":"자바 ORM 표준 JPA 프로그래밍 4장을 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"JAVA ORM JPA"}]},{"id":"-M5mKsEYgiCFff2PTQgQ","title":"5장 연관관계 매핑 기초","pathname":"/docs/study/jpa/5","siteSpaceId":"sitesp_r3obU","description":"자바 ORM 표준 JPA 프로그래밍 5장을 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"JAVA ORM JPA"}]},{"id":"-M6JQv6lUeSGIpydmlrW","title":"6장 다양한 연관관계 매핑","pathname":"/docs/study/jpa/6","siteSpaceId":"sitesp_r3obU","description":"자바 ORM 표준 JPA 프로그래밍 6장을 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"JAVA ORM JPA"}]},{"id":"-M6xO9M_U2e9O3IX2rRL","title":"7장 고급 매핑","pathname":"/docs/study/jpa/7","siteSpaceId":"sitesp_r3obU","description":"자바 ORM 표준 JPA 프로그래밍 7장을 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"JAVA ORM JPA"}]},{"id":"-M8cuRcRBcQGuQ3laCMJ","title":"8장 프록시와 연관관계 관리","pathname":"/docs/study/jpa/8","siteSpaceId":"sitesp_r3obU","description":"자바 ORM 표준 JPA 프로그래밍 8장을 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"JAVA ORM JPA"}]},{"id":"-M8cuRvrjPbXZXevhJeQ","title":"9장 값 타입","pathname":"/docs/study/jpa/9","siteSpaceId":"sitesp_r3obU","description":"자바 ORM 표준 JPA 프로그래밍 9장을 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"JAVA ORM JPA"}]},{"id":"-M8cwKVpe4iRwn7yWgiZ","title":"10장 객체지향 쿼리 언어","pathname":"/docs/study/jpa/10","siteSpaceId":"sitesp_r3obU","description":"자바 ORM 표준 JPA 프로그래밍 10장을 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"JAVA ORM JPA"}]},{"id":"-M8cwJxqdTTjazVjD4G7","title":"11장 웹 애플리케이션 제작","pathname":"/docs/study/jpa/11","siteSpaceId":"sitesp_r3obU","description":"자바 ORM 표준 JPA 프로그래밍 11장을 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"JAVA ORM JPA"}]},{"id":"-M8cwJdzq7cfJzejxchD","title":"12장 스프링 데이터 JPA","pathname":"/docs/study/jpa/12","siteSpaceId":"sitesp_r3obU","description":"자바 ORM 표준 JPA 프로그래밍 12장을 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"JAVA ORM JPA"}]},{"id":"-M8cwVZA-ZCO--32g2L-","title":"13장 웹 애플리케이션과 영속성 관리","pathname":"/docs/study/jpa/13","siteSpaceId":"sitesp_r3obU","description":"자바 ORM 표준 JPA 프로그래밍 13장을 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"JAVA ORM JPA"}]},{"id":"-M8cwW2I-NNfKbuvI0kd","title":"14장 컬렉션과 부가 기능","pathname":"/docs/study/jpa/14","siteSpaceId":"sitesp_r3obU","description":"자바 ORM 표준 JPA 프로그래밍 14장을 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"JAVA ORM JPA"}]},{"id":"-M8cwWXwuPTgyZUiwDcR","title":"15장 고급 주제와 성능 최적화","pathname":"/docs/study/jpa/15","siteSpaceId":"sitesp_r3obU","description":"자바 ORM 표준 JPA 프로그래밍 15장을 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"JAVA ORM JPA"}]},{"id":"-M8cwX30b3D5Q00H38Ny","title":"16장 트랜잭션과 락, 2차 캐시","pathname":"/docs/study/jpa/16","siteSpaceId":"sitesp_r3obU","description":"자바 ORM 표준 JPA 프로그래밍 16장을 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"JAVA ORM JPA"}]},{"id":"-M5HPN9z9CySN9ZktlsU","title":"토비의 스프링 (3.1)","pathname":"/docs/study/tobys-spring","siteSpaceId":"sitesp_r3obU","description":"토비의 스프링(3.1) 을 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"}]},{"id":"-MD5zjK-ZFzy5Uithyj4","title":"스프링의 이해와 원리","pathname":"/docs/study/tobys-spring/undefined","siteSpaceId":"sitesp_r3obU","description":"토비의 스프링(3.1) 1권을 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"토비의 스프링 (3.1)"}]},{"id":"-MC-sW8LYL64MEQKajob","title":"1장 오브젝트와 의존관계","pathname":"/docs/study/tobys-spring/undefined/1","siteSpaceId":"sitesp_r3obU","description":"토비의 스프링 1권 1장을 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"토비의 스프링 (3.1)"},{"label":"스프링의 이해와 원리"}]},{"id":"-MC-s_1NP1zzKot7ymSH","title":"2장 테스트","pathname":"/docs/study/tobys-spring/undefined/2","siteSpaceId":"sitesp_r3obU","description":"토비의 스프링 1권 2장을 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"토비의 스프링 (3.1)"},{"label":"스프링의 이해와 원리"}]},{"id":"-MD5yx4_7Ip2sLwBDvcG","title":"3장 템플릿","pathname":"/docs/study/tobys-spring/undefined/3","siteSpaceId":"sitesp_r3obU","description":"토비의 스프링 1권 3장을 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"토비의 스프링 (3.1)"},{"label":"스프링의 이해와 원리"}]},{"id":"-MD5ytcSMJEyhRq-vIFG","title":"4장 예외","pathname":"/docs/study/tobys-spring/undefined/4","siteSpaceId":"sitesp_r3obU","description":"토비의 스프링 1권 4장을 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"토비의 스프링 (3.1)"},{"label":"스프링의 이해와 원리"}]},{"id":"-MEGT4JXGCrrOC_JLMM7","title":"5장 서비스 추상화","pathname":"/docs/study/tobys-spring/undefined/5","siteSpaceId":"sitesp_r3obU","description":"토비의 스프링 1권 5장을 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"토비의 스프링 (3.1)"},{"label":"스프링의 이해와 원리"}]},{"id":"-MEGT4ZAFzIo2fzWY6kC","title":"6장 AOP","pathname":"/docs/study/tobys-spring/undefined/6-aop","siteSpaceId":"sitesp_r3obU","description":"토비의 스프링 1권 6장을 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"토비의 스프링 (3.1)"},{"label":"스프링의 이해와 원리"}]},{"id":"-MEnShz5YURjKJ6GO3s9","title":"8장 스프링이란 무엇인가?","pathname":"/docs/study/tobys-spring/undefined/8","siteSpaceId":"sitesp_r3obU","description":"토비의 스프링 1권 8장을 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"토비의 스프링 (3.1)"},{"label":"스프링의 이해와 원리"}]},{"id":"-MD5znRo6rCMSeZ-b9eS","title":"스프링의 기술과 선택","pathname":"/docs/study/tobys-spring/undefined-1","siteSpaceId":"sitesp_r3obU","description":"토비의 스프링(3.1) 2권을 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"토비의 스프링 (3.1)"}]},{"id":"-M5HPNBRfSF-zU7DZuy_","title":"5장 AOP와 LTW","pathname":"/docs/study/tobys-spring/undefined-1/2020-03-10-spring2-chap5","siteSpaceId":"sitesp_r3obU","description":"토비의 스프링 2권 5장을 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"토비의 스프링 (3.1)"},{"label":"스프링의 기술과 선택"}]},{"id":"-M5HPNB4LbcqHKg4D_-W","title":"6장 테스트 컨텍스트 프레임워크","pathname":"/docs/study/tobys-spring/undefined-1/2020-03-10-spring2-chap6","siteSpaceId":"sitesp_r3obU","description":"토비의 스프링 2권 6장을 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"토비의 스프링 (3.1)"},{"label":"스프링의 기술과 선택"}]},{"id":"-MWG3I7Q2Wh5BoEBiwnv","title":"클린코드","pathname":"/docs/study/undefined-5","siteSpaceId":"sitesp_r3obU","description":"클린 코드를 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"}]},{"id":"-MWG3XM5RksIJFJ9q_sl","title":"1장 깨끗한 코드","pathname":"/docs/study/undefined-5/1","siteSpaceId":"sitesp_r3obU","description":"클린 코드 1장을 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"클린코드"}]},{"id":"-MWwEHkqJ78200hanBL5","title":"2장 의미 있는 이름","pathname":"/docs/study/undefined-5/2","siteSpaceId":"sitesp_r3obU","description":"클린 코드 2장을 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"클린코드"}]},{"id":"-MgB_G2HAKr3t2K21w1S","title":"3장 함수","pathname":"/docs/study/undefined-5/3","siteSpaceId":"sitesp_r3obU","description":"클린 코드 3장을 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"클린코드"}]},{"id":"-MgB_uWefbSS-bHBzU2i","title":"4장 주석","pathname":"/docs/study/undefined-5/4","siteSpaceId":"sitesp_r3obU","description":"클린 코드 4장을 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"클린코드"}]},{"id":"-MgBarHEM-wHTyiizinb","title":"5장 형식 맞추기","pathname":"/docs/study/undefined-5/5","siteSpaceId":"sitesp_r3obU","description":"클린 코드 5장을 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"클린코드"}]},{"id":"-MgBb1UXQC_4DprtSEFr","title":"6장 객체와 자료 구조","pathname":"/docs/study/undefined-5/6","siteSpaceId":"sitesp_r3obU","description":"클린 코드 6장을 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"클린코드"}]},{"id":"-MgBcD-T6VXoPW-p7K-5","title":"9장 단위 테스트","pathname":"/docs/study/undefined-5/9","siteSpaceId":"sitesp_r3obU","description":"클린 코드 9장을 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"클린코드"}]},{"id":"-MIN6PsjNQ3sfjP4BB-Y","title":"자바 트러블슈팅(with scouter)","pathname":"/docs/study/with-scouter","siteSpaceId":"sitesp_r3obU","description":"자바 트러블슈팅(scouter를 활용한 시스템 장애 진단 및 해결 노하우)를 요약한 내용입니다.","breadcrumbs":[{"label":"STUDY"}]},{"id":"-MIN7JyYztCJL83vTpfE","title":"CHAP 01. 자바 기반의 시스템에서 발생할 수 있는 문제들","pathname":"/docs/study/with-scouter/chap-01.","siteSpaceId":"sitesp_r3obU","description":"자바 트러블슈팅(scouter를 활용한 시스템 장애 진단 및 해결 노하우)를 챕터 1을 요약한 내용입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"자바 트러블슈팅(with scouter)"}]},{"id":"-MINT7FC_sWKTiEwTcG0","title":"CHAP 02. scouter 살펴보기","pathname":"/docs/study/with-scouter/chap-02.-scouter-1","siteSpaceId":"sitesp_r3obU","description":"자바 트러블슈팅: scouter를 활용한 시스템 장애 진단 및 해결 노하우를 챕터 2을 요약한 내용입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"자바 트러블슈팅(with scouter)"}]},{"id":"-MINjgjOd9615UVoHOO8","title":"CHAP 03. scouter 설정하기(서버 및 에이전트)","pathname":"/docs/study/with-scouter/chap-03.-scouter","siteSpaceId":"sitesp_r3obU","description":"자바 트러블슈팅: scouter를 활용한 시스템 장애 진단 및 해결 노하우를 챕터 3을 요약한 내용입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"자바 트러블슈팅(with scouter)"}]},{"id":"-MINkdWPK8f-lAVb21D8","title":"CHAP 04. scouter 클라이언트에서 제공하는 기능들","pathname":"/docs/study/with-scouter/chap-04.-scouter","siteSpaceId":"sitesp_r3obU","description":"자바 트러블슈팅: scouter를 활용한 시스템 장애 진단 및 해결 노하우를 챕터 4을 요약한 내용입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"자바 트러블슈팅(with scouter)"}]},{"id":"-MISRZuwIL-1PJdvUvhZ","title":"CHAP 05. scouter XLog","pathname":"/docs/study/with-scouter/chap-05.-scouter-xlog","siteSpaceId":"sitesp_r3obU","description":"자바 트러블슈팅: scouter를 활용한 시스템 장애 진단 및 해결 노하우를 챕터 5을 요약한 내용입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"자바 트러블슈팅(with scouter)"}]},{"id":"-MISTH3VljJiZ0Z7is_a","title":"CHAP 06. scouter 서버/에이전트 플러그인","pathname":"/docs/study/with-scouter/chap-06.-scouter","siteSpaceId":"sitesp_r3obU","description":"자바 트러블슈팅: scouter를 활용한 시스템 장애 진단 및 해결 노하우를 챕터 6을 요약한 내용입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"자바 트러블슈팅(with scouter)"}]},{"id":"-MIW5A-HIIJGb1WLxtcE","title":"CHAP 07. scouter 사용 시 유용한 팁","pathname":"/docs/study/with-scouter/chap-07.-scouter","siteSpaceId":"sitesp_r3obU","description":"자바 트러블슈팅: scouter를 활용한 시스템 장애 진단 및 해결 노하우를 챕터 7을 요약한 내용입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"자바 트러블슈팅(with scouter)"}]},{"id":"-MIZGqyIm8-TL7w0BIeH","title":"CHAP 08. 스레드 때문에(스레드에서) 발생하는 문제들","pathname":"/docs/study/with-scouter/chap-08.","siteSpaceId":"sitesp_r3obU","description":"자바 트러블슈팅: scouter를 활용한 시스템 장애 진단 및 해결 노하우를 챕터 8을 요약한 내용입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"자바 트러블슈팅(with scouter)"}]},{"id":"-MIZH1Vwdewso3SN18OS","title":"CHAP 09. 스레드 단면 잘라 놓기","pathname":"/docs/study/with-scouter/chap-09.","siteSpaceId":"sitesp_r3obU","description":"자바 트러블슈팅: scouter를 활용한 시스템 장애 진단 및 해결 노하우를 챕터 9을 요약한 내용입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"자바 트러블슈팅(with scouter)"}]},{"id":"-MIZH8TuGcoJYfT_pLD5","title":"CHAP 10. 잘라 놓은 스레드 단면 분석하기","pathname":"/docs/study/with-scouter/chap-10.","siteSpaceId":"sitesp_r3obU","description":"자바 트러블슈팅: scouter를 활용한 시스템 장애 진단 및 해결 노하우를 챕터 10을 요약한 내용입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"자바 트러블슈팅(with scouter)"}]},{"id":"-MIZHWCpsW6SOka9q-YM","title":"CHAP 11. 스레드 문제","pathname":"/docs/study/with-scouter/chap-11.","siteSpaceId":"sitesp_r3obU","description":"자바 트러블슈팅: scouter를 활용한 시스템 장애 진단 및 해결 노하우를 챕터 11을 요약한 내용입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"자바 트러블슈팅(with scouter)"}]},{"id":"-MIZJ-WkoIPO9HUXM1Q2","title":"CHAP 12. 메모리 때문에 발생할 수 있는 문제들","pathname":"/docs/study/with-scouter/chap-12.","siteSpaceId":"sitesp_r3obU","description":"자바 트러블슈팅: scouter를 활용한 시스템 장애 진단 및 해결 노하우를 챕터 12을 요약한 내용입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"자바 트러블슈팅(with scouter)"}]},{"id":"-MIZJ4uTMFb17ir5B8IK","title":"CHAP 13. 메모리 단면 잘라 놓기","pathname":"/docs/study/with-scouter/chap-13.","siteSpaceId":"sitesp_r3obU","description":"자바 트러블슈팅: scouter를 활용한 시스템 장애 진단 및 해결 노하우를 챕터 13을 요약한 내용입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"자바 트러블슈팅(with scouter)"}]},{"id":"-MIZJcleRfP8x8wouEnF","title":"CHAP 14. 잘라 놓은 메모리 단면 분석하기","pathname":"/docs/study/with-scouter/chap-14.","siteSpaceId":"sitesp_r3obU","description":"자바 트러블슈팅: scouter를 활용한 시스템 장애 진단 및 해결 노하우를 챕터 14을 요약한 내용입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"자바 트러블슈팅(with scouter)"}]},{"id":"-MIZJm8EJQt34yQ9OIuo","title":"CHAP 15. 메모리 문제(Case Study)","pathname":"/docs/study/with-scouter/chap-15.-case-study","siteSpaceId":"sitesp_r3obU","description":"자바 트러블슈팅: scouter를 활용한 시스템 장애 진단 및 해결 노하우를 챕터 15을 요약한 내용입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"자바 트러블슈팅(with scouter)"}]},{"id":"-MIZKV4hSaKi2uG36tMr","title":"CHAP 24. scouter로 리소스 모니터링하기","pathname":"/docs/study/with-scouter/chap-24.-scouter","siteSpaceId":"sitesp_r3obU","description":"자바 트러블슈팅: scouter를 활용한 시스템 장애 진단 및 해결 노하우를 챕터 24을 요약한 내용입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"자바 트러블슈팅(with scouter)"}]},{"id":"-MIZKsUVBEiuNUdexDiP","title":"CHAP 25. 장애 진단은 이렇게 한다","pathname":"/docs/study/with-scouter/chap-25.","siteSpaceId":"sitesp_r3obU","description":"자바 트러블슈팅: scouter를 활용한 시스템 장애 진단 및 해결 노하우를 챕터 25을 요약한 내용입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"자바 트러블슈팅(with scouter)"}]},{"id":"-MI_0fKDtDjWDVwpF3ov","title":"부록 A. Fatal error log 분석","pathname":"/docs/study/with-scouter/a.-fatal-error-log","siteSpaceId":"sitesp_r3obU","description":"자바 트러블슈팅: scouter를 활용한 시스템 장애 진단 및 해결 노하우를 부록 A을 요약한 내용입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"자바 트러블슈팅(with scouter)"}]},{"id":"-MI_1UldsqY1NBSwneAO","title":"부록 B. 자바 인스트럭션","pathname":"/docs/study/with-scouter/b.","siteSpaceId":"sitesp_r3obU","description":"자바 트러블슈팅: scouter를 활용한 시스템 장애 진단 및 해결 노하우를 부록 B을 요약한 내용입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"자바 트러블슈팅(with scouter)"}]},{"id":"-MIbLvesv8rNfXXYaCwE","title":"테스트 주도 개발 시작하기","pathname":"/docs/study/undefined-3","siteSpaceId":"sitesp_r3obU","description":"테스트 주도 개발 시작하기를 요약한 내용입니다.","breadcrumbs":[{"label":"STUDY"}]},{"id":"-MIbMQ531kPJXBO5B7J2","title":"CHAP 02. TDD 시작","pathname":"/docs/study/undefined-3/chap-02.-tdd","siteSpaceId":"sitesp_r3obU","description":"테스트 주도 개발 시작하기 2장을 요약한 내용입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"테스트 주도 개발 시작하기"}]},{"id":"-MIc0D5FndvHMlvSMpPB","title":"CHAP 03. 테스트 코드 작성 순서","pathname":"/docs/study/undefined-3/chap-03.","siteSpaceId":"sitesp_r3obU","description":"테스트 주도 개발 시작하기 3장을 요약한 내용입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"테스트 주도 개발 시작하기"}]},{"id":"-MIcdEwS1kEINF4L03kN","title":"CHAP 04. TDD/기능 명세/설계","pathname":"/docs/study/undefined-3/chap-04.-tdd","siteSpaceId":"sitesp_r3obU","description":"테스트 주도 개발 시작하기 4장을 요약한 내용입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"테스트 주도 개발 시작하기"}]},{"id":"-MIcmr0HlYa0cVdLEw7d","title":"CHAP 05. JUnit 5 기초","pathname":"/docs/study/undefined-3/chap-05.-junit-5","siteSpaceId":"sitesp_r3obU","description":"테스트 주도 개발 시작하기 5장을 요약한 내용입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"테스트 주도 개발 시작하기"}]},{"id":"-MId2cf9QBdIaJ95n89V","title":"CHAP 06. 테스트 코드의 구성","pathname":"/docs/study/undefined-3/chap-06.","siteSpaceId":"sitesp_r3obU","description":"테스트 주도 개발 시작하기 6장을 요약한 내용입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"테스트 주도 개발 시작하기"}]},{"id":"-MIeG_qq1GP1G65zembn","title":"CHAP 07. 대역","pathname":"/docs/study/undefined-3/chap-07.","siteSpaceId":"sitesp_r3obU","description":"테스트 주도 개발 시작하기 7장을 요약한 내용입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"테스트 주도 개발 시작하기"}]},{"id":"-MIiW3jZ9NDh83JIdJ6z","title":"CHAP 08. 테스트 가능한 설계","pathname":"/docs/study/undefined-3/chap-08.","siteSpaceId":"sitesp_r3obU","description":"테스트 주도 개발 시작하기 8장을 요약한 내용입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"테스트 주도 개발 시작하기"}]},{"id":"-MIiWCFIiRSn4MYyogUy","title":"CHAP 09. 테스트 범위와 종류","pathname":"/docs/study/undefined-3/chap-09.","siteSpaceId":"sitesp_r3obU","description":"테스트 주도 개발 시작하기 9장을 요약한 내용입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"테스트 주도 개발 시작하기"}]},{"id":"-MIjglW9SXwfieP_Xmw1","title":"CHAP 10. 테스트 코드와 유지보수","pathname":"/docs/study/undefined-3/chap-10.","siteSpaceId":"sitesp_r3obU","description":"테스트 주도 개발 시작하기 10장을 요약한 내용입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"테스트 주도 개발 시작하기"}]},{"id":"-MIySYr4oAZxz0UK6zXn","title":"부록 A. Junit 5 추가 내용","pathname":"/docs/study/undefined-3/a.-junit-5","siteSpaceId":"sitesp_r3obU","description":"테스트 주도 개발 시작하기 부록 A를 요약한 내용입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"테스트 주도 개발 시작하기"}]},{"id":"-MIySgAcEikNJ615x2OY","title":"부록 C. Mockito 기초 사용법","pathname":"/docs/study/undefined-3/c.-mockito","siteSpaceId":"sitesp_r3obU","description":"테스트 주도 개발 시작하기 부록 C를 요약한 내용입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"테스트 주도 개발 시작하기"}]},{"id":"-MIySnYk0s8wjTl1IgEl","title":"부록 D. AssertJ 소개","pathname":"/docs/study/undefined-3/d.-assertj","siteSpaceId":"sitesp_r3obU","description":"테스트 주도 개발 시작하기 부록 D를 요약한 내용입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"테스트 주도 개발 시작하기"}]},{"id":"-MM0j2M5OBQchLX51OOj","title":"KOTLIN IN ACTION","pathname":"/docs/study/kotlin-in-action","siteSpaceId":"sitesp_r3obU","description":"KOTLIN IN ACTION을 요약한 내용입니다.","breadcrumbs":[{"label":"STUDY"}]},{"id":"-MM0j8UoNegaFJNeh0cZ","title":"1장 코틀린이란 무엇이며, 왜 필요한가?","pathname":"/docs/study/kotlin-in-action/1","siteSpaceId":"sitesp_r3obU","description":"KOTLIN IN ACTION 1장을 요약한 내용입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"KOTLIN IN ACTION"}]},{"id":"-MM0jUeZx38lRQUBaXDI","title":"2장 코틀린 기초","pathname":"/docs/study/kotlin-in-action/untitled","siteSpaceId":"sitesp_r3obU","description":"KOTLIN IN ACTION 2장을 요약한 내용입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"KOTLIN IN ACTION"}]},{"id":"-MMGcrp1Fw9eaYZ53xt8","title":"3장 함수 정의와 호출","pathname":"/docs/study/kotlin-in-action/3","siteSpaceId":"sitesp_r3obU","description":"KOTLIN IN ACTION 3장을 요약한 내용입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"KOTLIN IN ACTION"}]},{"id":"-MNYY6Za0RekibuG3lTT","title":"4장 클래스, 객체, 인터페이스","pathname":"/docs/study/kotlin-in-action/4","siteSpaceId":"sitesp_r3obU","description":"KOTLIN IN ACTION 4장을 요약한 내용입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"KOTLIN IN ACTION"}]},{"id":"-MO1z_i5w4ANRUtip4f7","title":"5장 람다로 프로그래밍","pathname":"/docs/study/kotlin-in-action/5","siteSpaceId":"sitesp_r3obU","description":"KOTLIN IN ACTION 5장을 요약한 내용입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"KOTLIN IN ACTION"}]},{"id":"-MOWsL9_eO5a6iEJuHj3","title":"6장 코틀린 타입 시스템","pathname":"/docs/study/kotlin-in-action/6","siteSpaceId":"sitesp_r3obU","description":"KOTLIN IN ACTION 6장을 요약한 내용입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"KOTLIN IN ACTION"}]},{"id":"-MPFgVnZtKOZsl0ht6Ee","title":"7장 연산자 오버로딩과 기타 관례","pathname":"/docs/study/kotlin-in-action/7","siteSpaceId":"sitesp_r3obU","description":"KOTLIN IN ACTION 7장을 요약한 내용입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"KOTLIN IN ACTION"}]},{"id":"-MPZjgn_mTN3faiAdIPH","title":"8장 고차 함수: 파라미터와 반환 값으로 람다 사용","pathname":"/docs/study/kotlin-in-action/8","siteSpaceId":"sitesp_r3obU","description":"KOTLIN IN ACTION 8장을 요약한 내용입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"KOTLIN IN ACTION"}]},{"id":"-MPoELqSy-WdrEjHwk4a","title":"9장 제네릭스","pathname":"/docs/study/kotlin-in-action/9","siteSpaceId":"sitesp_r3obU","description":"KOTLIN IN ACTION 9장을 요약한 내용입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"KOTLIN IN ACTION"}]},{"id":"-MQ8OtGURU1ZwtORQkAr","title":"10장 애노테이션과 리플렉션","pathname":"/docs/study/kotlin-in-action/10","siteSpaceId":"sitesp_r3obU","description":"KOTLIN IN ACTION 10장을 요약한 내용입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"KOTLIN IN ACTION"}]},{"id":"-MQDUCD_9MrI83CAES3G","title":"부록 A. 코틀린 프로젝트 빌드","pathname":"/docs/study/kotlin-in-action/a.","siteSpaceId":"sitesp_r3obU","description":"KOTLIN IN ACTION 부록 A를 요약한 내용입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"KOTLIN IN ACTION"}]},{"id":"-MQIUgA-SlHamaL_WaHn","title":"부록 B. 코틀린 코드 문서화","pathname":"/docs/study/kotlin-in-action/b.","siteSpaceId":"sitesp_r3obU","description":"KOTLIN IN ACTION 부록 B를 요약한 내용입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"KOTLIN IN ACTION"}]},{"id":"-MQgjFalVN9SgUitqfpF","title":"부록 D. 코틀린 1.1과 1.2, 1.3 소개","pathname":"/docs/study/kotlin-in-action/d.-1.1-1.2-1.3","siteSpaceId":"sitesp_r3obU","description":"KOTLIN IN ACTION 부록 D를 요약한 내용입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"KOTLIN IN ACTION"}]},{"id":"-ML_lnYwIV0Up0vH66FY","title":"KOTLIN 공식 레퍼런스","pathname":"/docs/study/kotlin","siteSpaceId":"sitesp_r3obU","description":"https://kotlinlang.org/docs/reference 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"}]},{"id":"-ML_qeynpfqoycAX_0GS","title":"BASIC","pathname":"/docs/study/kotlin/basic","siteSpaceId":"sitesp_r3obU","description":"KOTLIN 공식 레퍼런스 BASIC 챕터를 번역한 내용입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"KOTLIN 공식 레퍼런스"}]},{"id":"-MLcVzKcz5VbBcEVIntr","title":"Classes and Objects","pathname":"/docs/study/kotlin/classes-and-objects","siteSpaceId":"sitesp_r3obU","description":"KOTLIN 공식 레퍼런스 Classes and Objects 챕터를 번역한 내용입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"KOTLIN 공식 레퍼런스"}]},{"id":"-MLcWIBi-dgrIcWuiTtQ","title":"Classes and Inheritance","pathname":"/docs/study/kotlin/classes-and-objects/classes-and-inheritance","siteSpaceId":"sitesp_r3obU","description":"KOTLIN 공식 레퍼런스 Classes and Inheritance 챕터를 번역한 내용입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"KOTLIN 공식 레퍼런스"},{"label":"Classes and Objects"}]},{"id":"-MLcWM9uJbvo57Q3W5oP","title":"Properties and Fields","pathname":"/docs/study/kotlin/classes-and-objects/properties-and-fields","siteSpaceId":"sitesp_r3obU","description":"KOTLIN 공식 레퍼런스 Properties and Fields 챕터를 번역한 내용입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"KOTLIN 공식 레퍼런스"},{"label":"Classes and Objects"}]},{"id":"-MPoGFDbpuOc6BrICIYw","title":"코틀린 동시성 프로그래밍","pathname":"/docs/study/undefined-4","siteSpaceId":"sitesp_r3obU","description":"코틀린 동시성 프로그래밍을 요약한 내용입니다.","breadcrumbs":[{"label":"STUDY"}]},{"id":"-MPoGX7C5amIEebW2tmA","title":"1장 Hello, Concurrent World!","pathname":"/docs/study/undefined-4/1","siteSpaceId":"sitesp_r3obU","description":"코틀린 동시성 프로그래밍 1장을 요약한 내용입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"코틀린 동시성 프로그래밍"}]},{"id":"-MRG5w0sVxAmC12X42s5","title":"2장 코루틴 인 액션","pathname":"/docs/study/undefined-4/2","siteSpaceId":"sitesp_r3obU","description":"코틀린 동시성 프로그래밍 2장을 요약한 내용입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"코틀린 동시성 프로그래밍"}]},{"id":"-MRjs_wv7fp-r0VIk4Ls","title":"3장 라이프 사이클과 에러 핸들링","pathname":"/docs/study/undefined-4/3","siteSpaceId":"sitesp_r3obU","description":"코틀린 동시성 프로그래밍 3장을 요약한 내용입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"코틀린 동시성 프로그래밍"}]},{"id":"-MS2lavabRT_U7vX5pWd","title":"4장 일시 중단 함수와 코루틴 컨텍스트","pathname":"/docs/study/undefined-4/4","siteSpaceId":"sitesp_r3obU","description":"코틀린 동시성 프로그래밍 4장을 요약한 내용입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"코틀린 동시성 프로그래밍"}]},{"id":"-MST-l7lk9CbNCN5mVel","title":"5장 이터레이터, 시퀀스 그리고 프로듀서","pathname":"/docs/study/undefined-4/5","siteSpaceId":"sitesp_r3obU","description":"코틀린 동시성 프로그래밍 5장을 요약한 내용입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"코틀린 동시성 프로그래밍"}]},{"id":"-MTkffMmAGuDj8YDVrqO","title":"7장 스레드 한정, 액터 그리고 뮤텍스","pathname":"/docs/study/undefined-4/7","siteSpaceId":"sitesp_r3obU","description":"코틀린 동시성 프로그래밍 7장을 요약한 내용입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"코틀린 동시성 프로그래밍"}]},{"id":"-M5HPN9r35-suHbUxhRd","title":"EFFECTIVE JAVA 3/e","pathname":"/docs/study/effective-java","siteSpaceId":"sitesp_r3obU","description":"Effective Java 3e을 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"}]},{"id":"-M5HfSNZV0GXLm_q1Yf0","title":"객체 생성과 파괴","pathname":"/docs/study/effective-java/undefined","siteSpaceId":"sitesp_r3obU","description":"","breadcrumbs":[{"label":"STUDY"},{"label":"EFFECTIVE JAVA 3/e"}]},{"id":"-M5HPNBEjQVH2wYxB4Zl","title":"아이템1 생성자 대신 정적 팩터리 메서드를 고려하라","pathname":"/docs/study/effective-java/undefined/2020-03-20-effective-1item","siteSpaceId":"sitesp_r3obU","description":"Effective Java 3e 아이템 1을 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"EFFECTIVE JAVA 3/e"},{"label":"객체 생성과 파괴"}]},{"id":"-M5HPNB6dFbitchwt4o_","title":"아이템2 생성자에 매개변수가 많다면 빌더를 고려하라","pathname":"/docs/study/effective-java/undefined/2020-03-20-effective-2item","siteSpaceId":"sitesp_r3obU","description":"Effective Java 3e 아이템 2를 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"EFFECTIVE JAVA 3/e"},{"label":"객체 생성과 파괴"}]},{"id":"-M5HPNB277nFhyDWyscJ","title":"아이템3 private 생성자나 열거 타입으로 싱글턴임을 보증하라","pathname":"/docs/study/effective-java/undefined/2020-03-20-effective-3item","siteSpaceId":"sitesp_r3obU","description":"Effective Java 3e 아이템 3를 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"EFFECTIVE JAVA 3/e"},{"label":"객체 생성과 파괴"}]},{"id":"-M5HPNAnxYuxOpKF9T85","title":"아이템4 인스턴스화를 막으려거든 private 생성자를 사용하라","pathname":"/docs/study/effective-java/undefined/2020-03-20-effective-4item","siteSpaceId":"sitesp_r3obU","description":"Effective Java 3e 아이템 4를 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"EFFECTIVE JAVA 3/e"},{"label":"객체 생성과 파괴"}]},{"id":"-M5HPNAbd9JuGz0cUaBk","title":"아이템5 자원을 직접 명시하지 말고 의존 객체 주입을 사용하라","pathname":"/docs/study/effective-java/undefined/2020-03-20-effective-5item","siteSpaceId":"sitesp_r3obU","description":"Effective Java 3e 아이템 5를 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"EFFECTIVE JAVA 3/e"},{"label":"객체 생성과 파괴"}]},{"id":"-M5HPNAKO4X8PfmfIn7C","title":"아이템6 불필요한 객체 생성을 피하라","pathname":"/docs/study/effective-java/undefined/2020-03-20-effective-6item","siteSpaceId":"sitesp_r3obU","description":"Effective Java 3e 아이템 6를 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"EFFECTIVE JAVA 3/e"},{"label":"객체 생성과 파괴"}]},{"id":"-M5HPNAHlLnLQBrAwcyW","title":"아이템7 다 쓴 객체 참조를 해제하라","pathname":"/docs/study/effective-java/undefined/2020-03-20-effective-7item","siteSpaceId":"sitesp_r3obU","description":"Effective Java 3e 아이템 7를 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"EFFECTIVE JAVA 3/e"},{"label":"객체 생성과 파괴"}]},{"id":"-M5HPNADaEmvfHNjW4uR","title":"아이템8 finalizer와 cleaner 사용을 피하라","pathname":"/docs/study/effective-java/undefined/2020-03-20-effective-8item","siteSpaceId":"sitesp_r3obU","description":"Effective Java 3e 아이템 8를 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"EFFECTIVE JAVA 3/e"},{"label":"객체 생성과 파괴"}]},{"id":"-M5HPNA0tOzod_k2Mavq","title":"아이템9 try-finally보다는 try-with-resources를 사용하라","pathname":"/docs/study/effective-java/undefined/2020-03-20-effective-9item","siteSpaceId":"sitesp_r3obU","description":"Effective Java 3e 아이템 9를 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"EFFECTIVE JAVA 3/e"},{"label":"객체 생성과 파괴"}]},{"id":"-M5Hfpapb0I8297Oz7Jh","title":"모든 객체의 공통 메서드","pathname":"/docs/study/effective-java/undefined-1","siteSpaceId":"sitesp_r3obU","description":"","breadcrumbs":[{"label":"STUDY"},{"label":"EFFECTIVE JAVA 3/e"}]},{"id":"-M5HPNBZ38l_3NoZQ3Bq","title":"아이템10 equals는 일반 규약을 지켜 재정의하라","pathname":"/docs/study/effective-java/undefined-1/2020-03-20-effective-10item","siteSpaceId":"sitesp_r3obU","description":"Effective Java 3e 아이템 10를 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"EFFECTIVE JAVA 3/e"},{"label":"모든 객체의 공통 메서드"}]},{"id":"-M5HPNBDiH5ThdPOWYFk","title":"아이템11 equals를 재정의 하려거든 hashCode도 재정의 하라","pathname":"/docs/study/effective-java/undefined-1/2020-03-20-effective-11item","siteSpaceId":"sitesp_r3obU","description":"Effective Java 3e 아이템 11을 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"EFFECTIVE JAVA 3/e"},{"label":"모든 객체의 공통 메서드"}]},{"id":"-M5HPNAw8uMOS5cKKYP_","title":"아이템12 toString을 항상 재정의하라","pathname":"/docs/study/effective-java/undefined-1/2020-03-20-effective-12item","siteSpaceId":"sitesp_r3obU","description":"Effective Java 3e 아이템 12을 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"EFFECTIVE JAVA 3/e"},{"label":"모든 객체의 공통 메서드"}]},{"id":"-M5HPNAu3eVdovaYHAgT","title":"아이템13 clone 재정의는 주의해서 진행해라","pathname":"/docs/study/effective-java/undefined-1/2020-03-20-effective-13item","siteSpaceId":"sitesp_r3obU","description":"Effective Java 3e 아이템 13을 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"EFFECTIVE JAVA 3/e"},{"label":"모든 객체의 공통 메서드"}]},{"id":"-M5HPNAlueyHQiToEB6y","title":"아이템14 Comparable을 구현할지 고려하라","pathname":"/docs/study/effective-java/undefined-1/2020-03-20-effective-14item","siteSpaceId":"sitesp_r3obU","description":"Effective Java 3e 아이템 14를 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"EFFECTIVE JAVA 3/e"},{"label":"모든 객체의 공통 메서드"}]},{"id":"-M5Hg65llTu8yGnXnPTA","title":"클래스와 인터페이스","pathname":"/docs/study/effective-java/undefined-2","siteSpaceId":"sitesp_r3obU","description":"","breadcrumbs":[{"label":"STUDY"},{"label":"EFFECTIVE JAVA 3/e"}]},{"id":"-M5HPNAScHfVfRraJaiL","title":"아이템15 클래스와 멤버의 접근 권한을 최소화하라","pathname":"/docs/study/effective-java/undefined-2/2020-03-20-effective-15item","siteSpaceId":"sitesp_r3obU","description":"Effective Java 3e 아이템 15를 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"EFFECTIVE JAVA 3/e"},{"label":"클래스와 인터페이스"}]},{"id":"-M5HPNAJFEUNQesa3aZE","title":"아이템16 public 클래스에서는 public 필드가 아닌 접근자 메서드를 사용하라","pathname":"/docs/study/effective-java/undefined-2/2020-03-20-effective-16item","siteSpaceId":"sitesp_r3obU","description":"Effective Java 3e 아이템 16를 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"EFFECTIVE JAVA 3/e"},{"label":"클래스와 인터페이스"}]},{"id":"-M5HPNA9EtYT8PdWQgvE","title":"아이템17 변경 가능성을 최소화하라","pathname":"/docs/study/effective-java/undefined-2/2020-03-20-effective-17item","siteSpaceId":"sitesp_r3obU","description":"Effective Java 3e 아이템 17를 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"EFFECTIVE JAVA 3/e"},{"label":"클래스와 인터페이스"}]},{"id":"-M5HPNA22uRJkyF6Sc9J","title":"아이템18 상속보다는 컴포지션을 사용하라","pathname":"/docs/study/effective-java/undefined-2/2020-03-20-effective-18item","siteSpaceId":"sitesp_r3obU","description":"Effective Java 3e 아이템 18를 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"EFFECTIVE JAVA 3/e"},{"label":"클래스와 인터페이스"}]},{"id":"-M5HPN9qeBAV7cAAW0Id","title":"아이템19 상속을 고려해 설계하고 문서화하라. 그러지 않았다면 상속을 금지하라","pathname":"/docs/study/effective-java/undefined-2/2020-03-20-effective-19item","siteSpaceId":"sitesp_r3obU","description":"Effective Java 3e 아이템 19를 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"EFFECTIVE JAVA 3/e"},{"label":"클래스와 인터페이스"}]},{"id":"-M5HPNBrEWdNPNr5iYEq","title":"아이템20 추상 클래스보다는 인터페이스를 우선하라","pathname":"/docs/study/effective-java/undefined-2/2020-03-20-effective-20item","siteSpaceId":"sitesp_r3obU","description":"Effective Java 3e 아이템 20를 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"EFFECTIVE JAVA 3/e"},{"label":"클래스와 인터페이스"}]},{"id":"-M5HPNBWMuNj5SxjKPnR","title":"아이템21 인터페이스는 구현하는 쪽을 생각해 설계하라","pathname":"/docs/study/effective-java/undefined-2/2020-03-20-effective-21item","siteSpaceId":"sitesp_r3obU","description":"Effective Java 3e 아이템 21를 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"EFFECTIVE JAVA 3/e"},{"label":"클래스와 인터페이스"}]},{"id":"-M5HPNBAZ8y3OSJ-CmS3","title":"아이템22 인터페이스 타입을 정의하는 용도로만 사용하라","pathname":"/docs/study/effective-java/undefined-2/2020-03-20-effective-22item","siteSpaceId":"sitesp_r3obU","description":"Effective Java 3e 아이템 22를 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"EFFECTIVE JAVA 3/e"},{"label":"클래스와 인터페이스"}]},{"id":"-M5HPNAvr8cB7Km0rh60","title":"아이템23 태그 달린 클래스보다는 클래스 계층구조를 활용하라","pathname":"/docs/study/effective-java/undefined-2/2020-03-20-effective-23item","siteSpaceId":"sitesp_r3obU","description":"Effective Java 3e 아이템 23를 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"EFFECTIVE JAVA 3/e"},{"label":"클래스와 인터페이스"}]},{"id":"-M5HPNAtsXN3xEdyD1SG","title":"아이템24 멤버 클래스는 되도록 static으로 만들라","pathname":"/docs/study/effective-java/undefined-2/2020-03-20-effective-24item","siteSpaceId":"sitesp_r3obU","description":"Effective Java 3e 아이템 24를 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"EFFECTIVE JAVA 3/e"},{"label":"클래스와 인터페이스"}]},{"id":"-M5HPNAd4exbfuiVXXtC","title":"아이템25 톱레벨 클래스는 한 파일에 하나만 담으라","pathname":"/docs/study/effective-java/undefined-2/2020-03-20-effective-25item","siteSpaceId":"sitesp_r3obU","description":"Effective Java 3e 아이템 25를 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"EFFECTIVE JAVA 3/e"},{"label":"클래스와 인터페이스"}]},{"id":"-M5HgTgExAfoNN8oy0i6","title":"제네릭","pathname":"/docs/study/effective-java/undefined-3","siteSpaceId":"sitesp_r3obU","description":"","breadcrumbs":[{"label":"STUDY"},{"label":"EFFECTIVE JAVA 3/e"}]},{"id":"-M5HPNARNDZ8twJQwCB5","title":"아이템26 로 타입은 사용하지 말라","pathname":"/docs/study/effective-java/undefined-3/2020-03-20-effective-26item","siteSpaceId":"sitesp_r3obU","description":"Effective Java 3e 아이템 26를 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"EFFECTIVE JAVA 3/e"},{"label":"제네릭"}]},{"id":"-M5HPNAIsgm66iN3FoN7","title":"아이템27 비검사 경고를 제거하라","pathname":"/docs/study/effective-java/undefined-3/2020-03-20-effective-27item","siteSpaceId":"sitesp_r3obU","description":"Effective Java 3e 아이템 27를 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"EFFECTIVE JAVA 3/e"},{"label":"제네릭"}]},{"id":"-M5HPNA84JeCWJdWmAJW","title":"아이템28 배열보다는 리스트를 사용하라","pathname":"/docs/study/effective-java/undefined-3/2020-03-20-effective-28item","siteSpaceId":"sitesp_r3obU","description":"Effective Java 3e 아이템 28를 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"EFFECTIVE JAVA 3/e"},{"label":"제네릭"}]},{"id":"-M5HPNA1BZHQrmfFLjRz","title":"아이템29 이왕이면 제네릭 타입으로 만들라","pathname":"/docs/study/effective-java/undefined-3/2020-03-20-effective-29item","siteSpaceId":"sitesp_r3obU","description":"Effective Java 3e 아이템 29를 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"EFFECTIVE JAVA 3/e"},{"label":"제네릭"}]},{"id":"-M5HPNC0d9Di-OxW2uwR","title":"아이템30 이왕이면 제네릭 메서드로 만들라","pathname":"/docs/study/effective-java/undefined-3/2020-03-20-effective-30item","siteSpaceId":"sitesp_r3obU","description":"Effective Java 3e 아이템 30를 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"EFFECTIVE JAVA 3/e"},{"label":"제네릭"}]},{"id":"-M5HPNBpOhtGxVsgPsS3","title":"아이템31 한정적 와일드카드를 사용해 API 유연성을 높이라","pathname":"/docs/study/effective-java/undefined-3/2020-03-20-effective-31item","siteSpaceId":"sitesp_r3obU","description":"Effective Java 3e 아이템 31를 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"EFFECTIVE JAVA 3/e"},{"label":"제네릭"}]},{"id":"-M5HPNBUQlZRcXsuEers","title":"아이템32 제네릭과 가변인수를 함께 쓸 때는 신중하라","pathname":"/docs/study/effective-java/undefined-3/2020-03-20-effective-32item","siteSpaceId":"sitesp_r3obU","description":"Effective Java 3e 아이템 32를 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"EFFECTIVE JAVA 3/e"},{"label":"제네릭"}]},{"id":"-MFozxIRLLxIvSAyxr-e","title":"아이템33 타입 안전 이종 컨테이너를 고려하라","pathname":"/docs/study/effective-java/undefined-3/33","siteSpaceId":"sitesp_r3obU","description":"Effective Java 3e 아이템 33를 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"EFFECTIVE JAVA 3/e"},{"label":"제네릭"}]},{"id":"-MFp-EExbNfEMS0n5Hrk","title":"열거 타입과 애너테이션","pathname":"/docs/study/effective-java/undefined-4","siteSpaceId":"sitesp_r3obU","description":"","breadcrumbs":[{"label":"STUDY"},{"label":"EFFECTIVE JAVA 3/e"}]},{"id":"-MFp6cFLKTo8WHl_J2FB","title":"아이템34 int 상수 대신 열거 타입을 사용하라","pathname":"/docs/study/effective-java/undefined-4/34-int","siteSpaceId":"sitesp_r3obU","description":"Effective Java 3e 아이템 34를 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"EFFECTIVE JAVA 3/e"},{"label":"열거 타입과 애너테이션"}]},{"id":"-MFp6bkY0Knqnze4BDFR","title":"아이템35 ordinal 메서드 대신 인스턴스 필드를 사용하라","pathname":"/docs/study/effective-java/undefined-4/35-ordinal","siteSpaceId":"sitesp_r3obU","description":"Effective Java 3e 아이템 35를 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"EFFECTIVE JAVA 3/e"},{"label":"열거 타입과 애너테이션"}]},{"id":"-MFp0dj_TDhUgOCaWm3a","title":"아이템36 비트 필드 대신 EnumSet을 사용하라","pathname":"/docs/study/effective-java/undefined-4/undefined-11","siteSpaceId":"sitesp_r3obU","description":"Effective Java 3e 아이템 36를 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"EFFECTIVE JAVA 3/e"},{"label":"열거 타입과 애너테이션"}]},{"id":"-MFpFndf4IGu7M_dMHCv","title":"아이템37 ordinal 인덱싱 대신 EnumMap을 사용하라","pathname":"/docs/study/effective-java/undefined-4/37-ordinal-enummap","siteSpaceId":"sitesp_r3obU","description":"Effective Java 3e 아이템 37를 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"EFFECTIVE JAVA 3/e"},{"label":"열거 타입과 애너테이션"}]},{"id":"-MFpFy-ims-r8FNGJAuW","title":"아이템38 확장할 수 있는 열거 타입이 필요하면 인터페이스를 사용하라","pathname":"/docs/study/effective-java/undefined-4/38","siteSpaceId":"sitesp_r3obU","description":"Effective Java 3e 아이템 38를 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"EFFECTIVE JAVA 3/e"},{"label":"열거 타입과 애너테이션"}]},{"id":"-MFpG2bKjLq-sYYSDpBe","title":"아이템 39 명명 패턴보다 애너테이션을 사용하라","pathname":"/docs/study/effective-java/undefined-4/39","siteSpaceId":"sitesp_r3obU","description":"Effective Java 3e 아이템 39를 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"EFFECTIVE JAVA 3/e"},{"label":"열거 타입과 애너테이션"}]},{"id":"-MFpG74rMXGytXvl0M5n","title":"아이템40 @Override 애너테이션을 일관되게 사용하라","pathname":"/docs/study/effective-java/undefined-4/40-override","siteSpaceId":"sitesp_r3obU","description":"Effective Java 3e 아이템 40를 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"EFFECTIVE JAVA 3/e"},{"label":"열거 타입과 애너테이션"}]},{"id":"-MFpcUm-AYkYFvfc_x04","title":"아이템41 정의하려는 것이 타입이라면 마커 인터페이스를 사용하라","pathname":"/docs/study/effective-java/undefined-4/41","siteSpaceId":"sitesp_r3obU","description":"Effective Java 3e 아이템 41를 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"EFFECTIVE JAVA 3/e"},{"label":"열거 타입과 애너테이션"}]},{"id":"-MFp-Iiq3ZfjZA1ZOazI","title":"람다와 스트림","pathname":"/docs/study/effective-java/undefined-5","siteSpaceId":"sitesp_r3obU","description":"","breadcrumbs":[{"label":"STUDY"},{"label":"EFFECTIVE JAVA 3/e"}]},{"id":"-MFp0qDLynPB8Vtn1di1","title":"아이템46 스트림에는 부작용 없는 함수를 사용하라","pathname":"/docs/study/effective-java/undefined-5/undefined","siteSpaceId":"sitesp_r3obU","description":"Effective Java 3e 아이템 46를 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"EFFECTIVE JAVA 3/e"},{"label":"람다와 스트림"}]},{"id":"-MHpEnBgzkIMxuCrB1iE","title":"아이템47 반환 타입으로는 스트림보다 컬렉션이 낫다","pathname":"/docs/study/effective-java/undefined-5/47","siteSpaceId":"sitesp_r3obU","description":"Effective Java 3e 아이템 47를 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"EFFECTIVE JAVA 3/e"},{"label":"람다와 스트림"}]},{"id":"-MHpEwIaIeFnxehafpOT","title":"아이템48 스트림 병렬화는 주의해서 적용하라","pathname":"/docs/study/effective-java/undefined-5/48","siteSpaceId":"sitesp_r3obU","description":"Effective Java 3e 아이템 48를 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"EFFECTIVE JAVA 3/e"},{"label":"람다와 스트림"}]},{"id":"-MFp-L_8g_7En-izsg14","title":"메서드","pathname":"/docs/study/effective-java/undefined-6","siteSpaceId":"sitesp_r3obU","description":"","breadcrumbs":[{"label":"STUDY"},{"label":"EFFECTIVE JAVA 3/e"}]},{"id":"-MHpF2lCGn34QTALLyj2","title":"아이템49 매개변수가 유효한지 검사하라","pathname":"/docs/study/effective-java/undefined-6/49","siteSpaceId":"sitesp_r3obU","description":"Effective Java 3e 아이템 49를 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"EFFECTIVE JAVA 3/e"},{"label":"메서드"}]},{"id":"-MLNh4AqW59MClVjgUzg","title":"아이템50 적시에 방어적 본사본을 만들라","pathname":"/docs/study/effective-java/undefined-6/50","siteSpaceId":"sitesp_r3obU","description":"Effective Java 3e 아이템 50를 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"EFFECTIVE JAVA 3/e"},{"label":"메서드"}]},{"id":"-MFp0sXdE6P9Lt-_kas5","title":"아이템53 가변인수는 신중히 사용하라","pathname":"/docs/study/effective-java/undefined-6/53","siteSpaceId":"sitesp_r3obU","description":"Effective Java 3e 아이템 53를 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"EFFECTIVE JAVA 3/e"},{"label":"메서드"}]},{"id":"-MLNgUAVuw84n82IClYG","title":"아이템 54 null이 아닌, 빈 컬렉션이나 배열을 반환하라","pathname":"/docs/study/effective-java/undefined-6/54-null","siteSpaceId":"sitesp_r3obU","description":"Effective Java 3e 아이템 54를 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"EFFECTIVE JAVA 3/e"},{"label":"메서드"}]},{"id":"-MHzaxtk3H4pZf5v7cQe","title":"아이템56 공개된 API 요소에는 항상 문서화 주석을 작성하라","pathname":"/docs/study/effective-java/undefined-6/56-api","siteSpaceId":"sitesp_r3obU","description":"Effective Java 3e 아이템 56를 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"EFFECTIVE JAVA 3/e"},{"label":"메서드"}]},{"id":"-MFp-MtVEIMZobd2EAqq","title":"일반적인 프로그래밍 원칙","pathname":"/docs/study/effective-java/undefined-7","siteSpaceId":"sitesp_r3obU","description":"","breadcrumbs":[{"label":"STUDY"},{"label":"EFFECTIVE JAVA 3/e"}]},{"id":"-MKVYe8l8EXIE9arBlKT","title":"아이템56 공개된 API 요소에는 항상 문서화 주석을 작성하라","pathname":"/docs/study/effective-java/undefined-7/56-api","siteSpaceId":"sitesp_r3obU","description":"Effective Java 3e 아이템 56를 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"EFFECTIVE JAVA 3/e"},{"label":"일반적인 프로그래밍 원칙"}]},{"id":"-MFp0ul0a0fhCVp5Le6x","title":"아이템57 지역변수의 범위를 최소화하라","pathname":"/docs/study/effective-java/undefined-7/undefined","siteSpaceId":"sitesp_r3obU","description":"Effective Java 3e 아이템 57를 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"EFFECTIVE JAVA 3/e"},{"label":"일반적인 프로그래밍 원칙"}]},{"id":"-MK_r9pYM3iOshcA0BhK","title":"아이템 60 정확한 답이 필요하다면 float와 double은 피하라","pathname":"/docs/study/effective-java/undefined-7/60-float-double","siteSpaceId":"sitesp_r3obU","description":"Effective Java 3e 아이템 60를 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"EFFECTIVE JAVA 3/e"},{"label":"일반적인 프로그래밍 원칙"}]},{"id":"-MFp-PgTn44tTrrs0y5L","title":"예외","pathname":"/docs/study/effective-java/undefined-8","siteSpaceId":"sitesp_r3obU","description":"","breadcrumbs":[{"label":"STUDY"},{"label":"EFFECTIVE JAVA 3/e"}]},{"id":"-MFp0wQ0i82xGOynJJbz","title":"아이템 73 추상화 수준에 맞는 예외를 던지라","pathname":"/docs/study/effective-java/undefined-8/undefined-1","siteSpaceId":"sitesp_r3obU","description":"Effective Java 3e 아이템 73를 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"EFFECTIVE JAVA 3/e"},{"label":"예외"}]},{"id":"-MK0cYCt6aLvSx-yN8zm","title":"아이템 74 메서드가 던지는 모든 예외를 문서화하라","pathname":"/docs/study/effective-java/undefined-8/74","siteSpaceId":"sitesp_r3obU","description":"Effective Java 3e 아이템 74를 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"EFFECTIVE JAVA 3/e"},{"label":"예외"}]},{"id":"-MFp-RIsfhT7-9qqzPtc","title":"동시성","pathname":"/docs/study/effective-java/undefined-9","siteSpaceId":"sitesp_r3obU","description":"","breadcrumbs":[{"label":"STUDY"},{"label":"EFFECTIVE JAVA 3/e"}]},{"id":"-MJZogTUTzk_wDhNV68q","title":"아이템78 공유 중인 가변 데이터는 동기화해 사용하라","pathname":"/docs/study/effective-java/undefined-9/undefined","siteSpaceId":"sitesp_r3obU","description":"Effective Java 3e 아이템 78를 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"EFFECTIVE JAVA 3/e"},{"label":"동시성"}]},{"id":"-MK0c2LPjyxwpW998ng7","title":"아이템79 과도한 동기화는 피하라","pathname":"/docs/study/effective-java/undefined-9/79","siteSpaceId":"sitesp_r3obU","description":"Effective Java 3e 아이템 79를 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"EFFECTIVE JAVA 3/e"},{"label":"동시성"}]},{"id":"-MJk099melXwZ8W6CqiE","title":"아이템 80 스레드보다는 실행자, 태스크, 스트림을 애용하라","pathname":"/docs/study/effective-java/undefined-9/80","siteSpaceId":"sitesp_r3obU","description":"Effective Java 3e 아이템 80를 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"EFFECTIVE JAVA 3/e"},{"label":"동시성"}]},{"id":"-MFp-WGT2AXlA6M4cJHu","title":"직렬화","pathname":"/docs/study/effective-java/undefined-10","siteSpaceId":"sitesp_r3obU","description":"","breadcrumbs":[{"label":"STUDY"},{"label":"EFFECTIVE JAVA 3/e"}]},{"id":"-MIW5rsxxtK3BuYqLrQA","title":"아이템 87 커스텀 직렬화 형태를 고려해보라","pathname":"/docs/study/effective-java/undefined-10/undefined-1","siteSpaceId":"sitesp_r3obU","description":"Effective Java 3e 아이템 87를 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"EFFECTIVE JAVA 3/e"},{"label":"직렬화"}]},{"id":"-MI8KxMDNVXlQo_mzV3_","title":"Functional Programming in Java","pathname":"/docs/study/functional-programming-in-java-8","siteSpaceId":"sitesp_r3obU","description":"Functional Programming in Java 8 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"}]},{"id":"-MI8LLoPgINMVOzqIFrS","title":"Chap 01. 헬로, 람다 표현식","pathname":"/docs/study/functional-programming-in-java-8/untitled","siteSpaceId":"sitesp_r3obU","description":"Functional Programming in Java 8의 Chapter 1을 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"Functional Programming in Java"}]},{"id":"-MI8LNRvhRTuOAP4_D2q","title":"Chap 02. 컬렉션의 사용","pathname":"/docs/study/functional-programming-in-java-8/untitled-2","siteSpaceId":"sitesp_r3obU","description":"Functional Programming in Java 8의 Chapter 2을 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"Functional Programming in Java"}]},{"id":"-MI8LMtQD8I0ypCQD-5L","title":"Chap 03. String, Comparator, 그리고 filter","pathname":"/docs/study/functional-programming-in-java-8/untitled-1","siteSpaceId":"sitesp_r3obU","description":"Functional Programming in Java 8의 Chapter 3을 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"Functional Programming in Java"}]},{"id":"-MIA9kdBZjjjcQ7dOrgw","title":"Chap 04. 람다 표현식을 이용한 설계","pathname":"/docs/study/functional-programming-in-java-8/chap-04.","siteSpaceId":"sitesp_r3obU","description":"Functional Programming in Java 8의 Chapter 4을 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"Functional Programming in Java"}]},{"id":"-MImHlPQjUM90WlIA4It","title":"CHAP 05. 리소스를 사용한 작업","pathname":"/docs/study/functional-programming-in-java-8/chap-05.","siteSpaceId":"sitesp_r3obU","description":"Functional Programming in Java 8의 Chapter 5을 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"Functional Programming in Java"}]},{"id":"-MImcv81PnR_pnrdeJey","title":"CHAP 06. 레이지","pathname":"/docs/study/functional-programming-in-java-8/chap-06","siteSpaceId":"sitesp_r3obU","description":"Functional Programming in Java 8의 Chapter 6을 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"Functional Programming in Java"}]},{"id":"-MIoDFbeUpjN24vwoigC","title":"CHAP 07. 재귀 호출 최적화","pathname":"/docs/study/functional-programming-in-java-8/chap-07.","siteSpaceId":"sitesp_r3obU","description":"Functional Programming in Java 8의 Chapter 7을 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"Functional Programming in Java"}]},{"id":"-MIoTEfPPPaDdew8HjxE","title":"CHAP 08. 람다 표현식의 조합","pathname":"/docs/study/functional-programming-in-java-8/chap-08.","siteSpaceId":"sitesp_r3obU","description":"Functional Programming in Java 8의 Chapter 8을 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"Functional Programming in Java"}]},{"id":"-MIo_dauOcrdRhu_Ac3X","title":"CHAP 09. 모든 것을 함께 사용해보자","pathname":"/docs/study/functional-programming-in-java-8/chap-09.","siteSpaceId":"sitesp_r3obU","description":"Functional Programming in Java 8의 Chapter 9을 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"Functional Programming in Java"}]},{"id":"-MIxTsoezQ_QHeMHLSQh","title":"부록 1. 함수형 인터페이스의 집합","pathname":"/docs/study/functional-programming-in-java-8/1.","siteSpaceId":"sitesp_r3obU","description":"Functional Programming in Java 8의 부록 1을 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"Functional Programming in Java"}]},{"id":"-MIxTxOffhcXFZm-CbUr","title":"부록 2. 신택스 오버뷰","pathname":"/docs/study/functional-programming-in-java-8/2.","siteSpaceId":"sitesp_r3obU","description":"Functional Programming in Java 8의 부록 2를 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"Functional Programming in Java"}]},{"id":"-MDiM-SlGd_kodVJe6ae","title":"코틀린 쿡북","pathname":"/docs/study/undefined-2","siteSpaceId":"sitesp_r3obU","description":"코틀린 쿡북을 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"}]},{"id":"-MDiM2lZNZ6_EngHammk","title":"2장 코틀린 기초","pathname":"/docs/study/undefined-2/2","siteSpaceId":"sitesp_r3obU","description":"코틀린 쿡북 2장을 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"코틀린 쿡북"}]},{"id":"-MFG3zHbWbF971gxHh2E","title":"3장 코틀린 객체지향 프로그래밍","pathname":"/docs/study/undefined-2/3","siteSpaceId":"sitesp_r3obU","description":"코틀린 쿡북 3장을 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"코틀린 쿡북"}]},{"id":"-MFG4T3n6HCJy1bX16fd","title":"4장 함수형 프로그래밍","pathname":"/docs/study/undefined-2/4","siteSpaceId":"sitesp_r3obU","description":"코틀린 쿡북 4장을 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"코틀린 쿡북"}]},{"id":"-MDkDlXZIxKoTCnOjQRE","title":"5장 컬렉션","pathname":"/docs/study/undefined-2/5","siteSpaceId":"sitesp_r3obU","description":"코틀린 쿡북 5장을 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"코틀린 쿡북"}]},{"id":"-MFG9wn1NoxXwFlszx7i","title":"6장 시퀀스","pathname":"/docs/study/undefined-2/6","siteSpaceId":"sitesp_r3obU","description":"코틀린 쿡북 6장을 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"코틀린 쿡북"}]},{"id":"-MFG9z6QmUjrAAarnzbO","title":"7장 영역 함수","pathname":"/docs/study/undefined-2/7","siteSpaceId":"sitesp_r3obU","description":"코틀린 쿡북 7장을 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"코틀린 쿡북"}]},{"id":"-MFG4BLmYhiWnM_5uIlA","title":"9장 테스트","pathname":"/docs/study/undefined-2/9","siteSpaceId":"sitesp_r3obU","description":"코틀린 쿡북 9장을 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"코틀린 쿡북"}]},{"id":"-MEGS5UB1WxKU1v-Cmgo","title":"10장 입력/출력","pathname":"/docs/study/undefined-2/10","siteSpaceId":"sitesp_r3obU","description":"코틀린 쿡북 10장을 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"코틀린 쿡북"}]},{"id":"-MEGS8NygSfnkYGOA1Wk","title":"11장 그 밖의 코틀린 기능","pathname":"/docs/study/undefined-2/11","siteSpaceId":"sitesp_r3obU","description":"코틀린 쿡북 11장을 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"코틀린 쿡북"}]},{"id":"-M98FU9iXXELHHG-bdDk","title":"DDD START!","pathname":"/docs/study/ddd-start","siteSpaceId":"sitesp_r3obU","description":"","breadcrumbs":[{"label":"STUDY"}]},{"id":"-M98Fy5uw2b0qf5iOo2S","title":"1장 도메인 모델 시작","pathname":"/docs/study/ddd-start/1","siteSpaceId":"sitesp_r3obU","description":"최범균의 DDD START! 1장을 요약한 내용입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"DDD START!"}]},{"id":"-M98HVgzd73UMf8aDMrs","title":"2장 아키텍처 개요","pathname":"/docs/study/ddd-start/2","siteSpaceId":"sitesp_r3obU","description":"최범균의 DDD START! 2장을 요약한 내용입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"DDD START!"}]},{"id":"-M98HYnyZEOhi0Hh5szV","title":"3장 애그리거트","pathname":"/docs/study/ddd-start/3","siteSpaceId":"sitesp_r3obU","description":"최범균의 DDD START! 3장을 요약한 내용입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"DDD START!"}]},{"id":"-M98H_tna98nXFUVvx_Q","title":"4장 리포지터리와 모델구현(JPA 중심)","pathname":"/docs/study/ddd-start/4-jpa","siteSpaceId":"sitesp_r3obU","description":"최범균의 DDD START! 4장을 요약한 내용입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"DDD START!"}]},{"id":"-M98HheA7yYXXk0i-RaB","title":"5장 리포지터리의 조회 기능(JPA 중심)","pathname":"/docs/study/ddd-start/5-jpa","siteSpaceId":"sitesp_r3obU","description":"최범균의 DDD START! 5장을 요약한 내용입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"DDD START!"}]},{"id":"-M98HmSp0wkoVqO1gjEZ","title":"6장 응용 서비스와 표현 영역","pathname":"/docs/study/ddd-start/6","siteSpaceId":"sitesp_r3obU","description":"최범균의 DDD START! 6장을 요약한 내용입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"DDD START!"}]},{"id":"-M98Hos6svMs1wlW7a05","title":"7장 도메인 서비스","pathname":"/docs/study/ddd-start/7","siteSpaceId":"sitesp_r3obU","description":"최범균의 DDD START! 7장을 요약한 내용입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"DDD START!"}]},{"id":"-M98HrGOgSNzq-m-Qh58","title":"8장 애그리거트 트랜잭션 관리","pathname":"/docs/study/ddd-start/8","siteSpaceId":"sitesp_r3obU","description":"최범균의 DDD START! 8장을 요약한 내용입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"DDD START!"}]},{"id":"-M98Huitunui0nR9yB6v","title":"9장 도메인 모델과 BOUNDED CONTEXT","pathname":"/docs/study/ddd-start/9-bounded-context","siteSpaceId":"sitesp_r3obU","description":"최범균의 DDD START! 9장을 요약한 내용입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"DDD START!"}]},{"id":"-M98HxlPM1xf_2XwYwZ5","title":"10장 이벤트","pathname":"/docs/study/ddd-start/10","siteSpaceId":"sitesp_r3obU","description":"최범균의 DDD START! 10장을 요약한 내용입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"DDD START!"}]},{"id":"-M98HzpdMl2uakQ4-QdN","title":"11장 CQRS","pathname":"/docs/study/ddd-start/11-cqrs","siteSpaceId":"sitesp_r3obU","description":"최범균의 DDD START! 11장을 요약한 내용입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"DDD START!"}]},{"id":"-M5HPN9j0qKz6TkQNQNV","title":"JAVA 8 IN ACTION","pathname":"/docs/study/java-8-in-action","siteSpaceId":"sitesp_r3obU","description":"자바 8 인 액션을 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"}]},{"id":"-M5HPNDFNPWG96pi-cBi","title":"2장 동작 파라미터화 코드 전달하기","pathname":"/docs/study/java-8-in-action/2020-03-10-java8inaction-chap2","siteSpaceId":"sitesp_r3obU","description":"자바 8 인 액션 2장을 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"JAVA 8 IN ACTION"}]},{"id":"-M5HPND6fsIZqT48spmz","title":"3장 람다 표현식","pathname":"/docs/study/java-8-in-action/2020-03-10-java8inaction-chap3","siteSpaceId":"sitesp_r3obU","description":"자바 8 인 액션 3장을 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"JAVA 8 IN ACTION"}]},{"id":"-M5HPNCnsoPGXfsQen-0","title":"4장 스트림 소개","pathname":"/docs/study/java-8-in-action/2020-03-10-java8inaction-chap4","siteSpaceId":"sitesp_r3obU","description":"자바 8 인 액션 4장을 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"JAVA 8 IN ACTION"}]},{"id":"-M5HPNCiaSKVbKZUJpm1","title":"5장 스트림 활용","pathname":"/docs/study/java-8-in-action/2020-03-10-java8inaction-chap5","siteSpaceId":"sitesp_r3obU","description":"자바 8 인 액션 5장을 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"JAVA 8 IN ACTION"}]},{"id":"-M5HPNChH-gRKtkUSpST","title":"6장 스트림으로 데이터 수집","pathname":"/docs/study/java-8-in-action/2020-03-10-java8inaction-chap6","siteSpaceId":"sitesp_r3obU","description":"자바 8 인 액션 6장을 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"JAVA 8 IN ACTION"}]},{"id":"-M5HPNCaA7-2OLjX0_8L","title":"7장 병렬 데이터 처리와 성능","pathname":"/docs/study/java-8-in-action/2020-03-10-java8inaction-chap7","siteSpaceId":"sitesp_r3obU","description":"자바 8 인 액션 7장을 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"JAVA 8 IN ACTION"}]},{"id":"-M5HPNCYma1N846r9-wj","title":"8장 리팩토링, 테스팅, 디버깅","pathname":"/docs/study/java-8-in-action/2020-03-10-java8inaction-chap8","siteSpaceId":"sitesp_r3obU","description":"자바 8 인 액션 8장을 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"JAVA 8 IN ACTION"}]},{"id":"-M5HPNCXzV2urhkpo8YN","title":"9장 디폴트 메서드","pathname":"/docs/study/java-8-in-action/2020-03-10-java8inaction-chap9","siteSpaceId":"sitesp_r3obU","description":"자바 8 인 액션 9장을 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"JAVA 8 IN ACTION"}]},{"id":"-M5HPNACkwl8suZ8MH8g","title":"10장 null 대신 Optional","pathname":"/docs/study/java-8-in-action/2020-03-10-java8inaction-chap10","siteSpaceId":"sitesp_r3obU","description":"자바 8 인 액션 10장을 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"JAVA 8 IN ACTION"}]},{"id":"-M5HPNA63lL4T1IvKRwZ","title":"11장 CompletableFuture: 조합할 수 있는 비동기 프로그래밍","pathname":"/docs/study/java-8-in-action/2020-03-10-java8inaction-chap11","siteSpaceId":"sitesp_r3obU","description":"자바 8 인 액션 11장을 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"JAVA 8 IN ACTION"}]},{"id":"-M5HPN9vqxvqRQIuVQDN","title":"12장 새로운 날짜와 시간 API","pathname":"/docs/study/java-8-in-action/2020-03-10-java8inaction-chap12","siteSpaceId":"sitesp_r3obU","description":"자바 8 인 액션 12장을 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"JAVA 8 IN ACTION"}]},{"id":"-M5HPN9o327JotEpPy9M","title":"13장 함수형 관점으로 생각하기","pathname":"/docs/study/java-8-in-action/2020-03-10-java8inaction-chap13","siteSpaceId":"sitesp_r3obU","description":"자바 8 인 액션 13장을 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"JAVA 8 IN ACTION"}]},{"id":"-M5HPN9iYdMNCKoj92re","title":"14장 함수형 프로그래밍 기법","pathname":"/docs/study/java-8-in-action/2020-03-10-java8inaction-chap14","siteSpaceId":"sitesp_r3obU","description":"자바 8 인 액션 14장을 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"JAVA 8 IN ACTION"}]},{"id":"-M5HpV4l-djIEQ7f6zON","title":"객체지향과 디자인패턴","pathname":"/docs/study/undefined","siteSpaceId":"sitesp_r3obU","description":"객체지향과 디자인 패턴(최범균 저) 정리한 내용입니다.","breadcrumbs":[{"label":"STUDY"}]},{"id":"-M5HpsNS8XFBhkycWxW4","title":"객체 지향","pathname":"/docs/study/undefined/undefined","siteSpaceId":"sitesp_r3obU","description":"객체지향과 디자인 패턴(최범균 저) 객체지향 파트 정리한 내용입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"객체지향과 디자인패턴"}]},{"id":"-MJ2kdmkzEOuM-ttpd8f","title":"다형성과 추상 타입","pathname":"/docs/study/undefined/undefined-3","siteSpaceId":"sitesp_r3obU","description":"객체지향과 디자인 패턴(최범균 저) 다형성과 추상 타입 파트 정리한 내용입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"객체지향과 디자인패턴"}]},{"id":"-MJ2kupVk5RvX5nS7lNW","title":"재사용: 상속보단 조립","pathname":"/docs/study/undefined/undefined-4","siteSpaceId":"sitesp_r3obU","description":"객체지향과 디자인 패턴(최범균 저) 재사용: 상속보단 조립 파트 정리한 내용입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"객체지향과 디자인패턴"}]},{"id":"-M5Hq0AHJRTSsbA9yXYP","title":"설계 원칙: SOLID","pathname":"/docs/study/undefined/undefined-1","siteSpaceId":"sitesp_r3obU","description":"객체지향과 디자인 패턴(최범균 저) 설계 원칙 파트 정리한 내용입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"객체지향과 디자인패턴"}]},{"id":"-M5Hq-FZ91Bx_P4LUrpD","title":"DI와 서비스 로케이터","pathname":"/docs/study/undefined/di","siteSpaceId":"sitesp_r3obU","description":"객체지향과 디자인 패턴(최범균 저) DI와 서비스 로케이터 파트 정리한 내용입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"객체지향과 디자인패턴"}]},{"id":"-M5Hq7w4OtTJXW9kzKiO","title":"주요 디자인 패턴","pathname":"/docs/study/undefined/undefined-2","siteSpaceId":"sitesp_r3obU","description":"객체지향과 디자인 패턴(최범균 저) 주요 디자인 패턴 파트 정리한 내용입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"객체지향과 디자인패턴"}]},{"id":"-MJ83mYtLbXzXuHaH0VQ","title":"전략패턴","pathname":"/docs/study/undefined/undefined-2/undefined","siteSpaceId":"sitesp_r3obU","description":"객체지향과 디자인 패턴(최범균 저) 전략 패턴 정리한 내용입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"객체지향과 디자인패턴"},{"label":"주요 디자인 패턴"}]},{"id":"-MJ844ryk59iohdcFdgH","title":"템플릿 메서드 패턴","pathname":"/docs/study/undefined/undefined-2/undefined-1","siteSpaceId":"sitesp_r3obU","description":"객체지향과 디자인 패턴(최범균 저) 템플릿 메서드 패턴 정리한 내용입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"객체지향과 디자인패턴"},{"label":"주요 디자인 패턴"}]},{"id":"-MJ84Grzup2Ct4cNluJP","title":"상태 패턴","pathname":"/docs/study/undefined/undefined-2/undefined-2","siteSpaceId":"sitesp_r3obU","description":"객체지향과 디자인 패턴(최범균 저) 상태 패턴 정리한 내용입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"객체지향과 디자인패턴"},{"label":"주요 디자인 패턴"}]},{"id":"-MJ85C0tDI1HUDGqUnWM","title":"데코레이터 패턴","pathname":"/docs/study/undefined/undefined-2/undefined-3","siteSpaceId":"sitesp_r3obU","description":"객체지향과 디자인 패턴(최범균 저) 데코레이터 패턴 정리한 내용입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"객체지향과 디자인패턴"},{"label":"주요 디자인 패턴"}]},{"id":"-MJ8FUIG8zYiTtH4ula3","title":"프록시 패턴","pathname":"/docs/study/undefined/undefined-2/undefined-4","siteSpaceId":"sitesp_r3obU","description":"객체지향과 디자인 패턴(최범균 저) 프록시 패턴 정리한 내용입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"객체지향과 디자인패턴"},{"label":"주요 디자인 패턴"}]},{"id":"-MJ8LWA-1ZstK7Wxq1uX","title":"어댑터 패턴","pathname":"/docs/study/undefined/undefined-2/undefined-5","siteSpaceId":"sitesp_r3obU","description":"객체지향과 디자인 패턴(최범균 저) 어댑터 패턴 정리한 내용입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"객체지향과 디자인패턴"},{"label":"주요 디자인 패턴"}]},{"id":"-MJD0M3pD8w17Ei6c7DS","title":"옵저버 패턴","pathname":"/docs/study/undefined/undefined-2/undefined-6","siteSpaceId":"sitesp_r3obU","description":"객체지향과 디자인 패턴(최범균 저) 옵저버 패턴 정리한 내용입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"객체지향과 디자인패턴"},{"label":"주요 디자인 패턴"}]},{"id":"-MJD0ZaXcmlvigiWlV8M","title":"파사드 패턴","pathname":"/docs/study/undefined/undefined-2/undefined-7","siteSpaceId":"sitesp_r3obU","description":"객체지향과 디자인 패턴(최범균 저) 파사드 패턴 정리한 내용입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"객체지향과 디자인패턴"},{"label":"주요 디자인 패턴"}]},{"id":"-MJD0spCTZrX54Ch8Ice","title":"추상 팩토리 패턴","pathname":"/docs/study/undefined/undefined-2/undefined-8","siteSpaceId":"sitesp_r3obU","description":"객체지향과 디자인 패턴(최범균 저) 추상 팩토리 패턴 정리한 내용입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"객체지향과 디자인패턴"},{"label":"주요 디자인 패턴"}]},{"id":"-MJD1-y_ICTvd5R_-E7K","title":"컴포지트 패턴","pathname":"/docs/study/undefined/undefined-2/undefined-9","siteSpaceId":"sitesp_r3obU","description":"객체지향과 디자인 패턴(최범균 저) 컴포지트 패턴 정리한 내용입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"객체지향과 디자인패턴"},{"label":"주요 디자인 패턴"}]},{"id":"-M5HPNA4Mfv1EddmQU-r","title":"NODE.JS","pathname":"/docs/study/nodejs","siteSpaceId":"sitesp_r3obU","description":"Node.js로 구현하는 쇼핑몰 프로젝트 수업 내용을 정리한 페이지입니다.","breadcrumbs":[{"label":"STUDY"}]},{"id":"-M5HPNBPQyWBZ4-tY0pv","title":"1회차","pathname":"/docs/study/nodejs/2018-01-16-nodejs-1st","siteSpaceId":"sitesp_r3obU","description":"Node.js로 구현하는 쇼핑몰 프로젝트 1회차 수업 요약 내용입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"NODE.JS"}]},{"id":"-M5HPNB5DojoOb0cJh2u","title":"2회차","pathname":"/docs/study/nodejs/2018-01-16-nodejs-2st","siteSpaceId":"sitesp_r3obU","description":"Node.js로 구현하는 쇼핑몰 프로젝트 2회차 수업 요약 내용입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"NODE.JS"}]},{"id":"-M5HPNB0_nyn1Rkp2sSE","title":"3회차","pathname":"/docs/study/nodejs/2018-01-16-nodejs-3st","siteSpaceId":"sitesp_r3obU","description":"Node.js로 구현하는 쇼핑몰 프로젝트 3회차 수업 요약 내용입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"NODE.JS"}]},{"id":"-M5HPNAmVnwAv5ZfYB5N","title":"4회차","pathname":"/docs/study/nodejs/2018-01-16-nodejs-4st","siteSpaceId":"sitesp_r3obU","description":"Node.js로 구현하는 쇼핑몰 프로젝트 4회차 수업 요약 내용입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"NODE.JS"}]},{"id":"-M5HPNAUMIgU_Bz78dkH","title":"6회차","pathname":"/docs/study/nodejs/2018-01-16-nodejs-6st","siteSpaceId":"sitesp_r3obU","description":"Node.js로 구현하는 쇼핑몰 프로젝트 6회차 수업 요약 내용입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"NODE.JS"}]},{"id":"-M5HPNAEqOmae6J-FhU9","title":"7회차","pathname":"/docs/study/nodejs/2018-01-16-nodejs-7st","siteSpaceId":"sitesp_r3obU","description":"Node.js로 구현하는 쇼핑몰 프로젝트 7회차 수업 요약 내용입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"NODE.JS"}]},{"id":"-M5HPNAAFzmGDyDTtS40","title":"8회차","pathname":"/docs/study/nodejs/2018-01-16-nodejs-8st","siteSpaceId":"sitesp_r3obU","description":"Node.js로 구현하는 쇼핑몰 프로젝트 8회차 수업 요약 내용입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"NODE.JS"}]},{"id":"-M5HPNA3TgoCRsvwcqGF","title":"9회차","pathname":"/docs/study/nodejs/2018-01-16-nodejs-9st","siteSpaceId":"sitesp_r3obU","description":"Node.js로 구현하는 쇼핑몰 프로젝트 9회차 수업 요약 내용입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"NODE.JS"}]},{"id":"-M5HPNCP8nVj31v_pkQl","title":"10회차","pathname":"/docs/study/nodejs/2018-01-16-nodejs-10st","siteSpaceId":"sitesp_r3obU","description":"Node.js로 구현하는 쇼핑몰 프로젝트 10회차 수업 요약 내용입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"NODE.JS"}]},{"id":"-M5HPNCNKfFETuSEnDuK","title":"11회차","pathname":"/docs/study/nodejs/2018-01-16-nodejs-11st","siteSpaceId":"sitesp_r3obU","description":"Node.js로 구현하는 쇼핑몰 프로젝트 11회차 수업 요약 내용입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"NODE.JS"}]},{"id":"-M5HPNC2JUPbcfcqU7O5","title":"12회차","pathname":"/docs/study/nodejs/2018-01-16-nodejs-12st","siteSpaceId":"sitesp_r3obU","description":"Node.js로 구현하는 쇼핑몰 프로젝트 12회차 수업 요약 내용입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"NODE.JS"}]},{"id":"-M5HPNA_Ls5ahUhLzrOY","title":"mongoose","pathname":"/docs/study/nodejs/2018-01-16-nodejs-5st","siteSpaceId":"sitesp_r3obU","description":"","breadcrumbs":[{"label":"STUDY"},{"label":"NODE.JS"}]},{"id":"-M5HPNBnmIVUKcz5sRGd","title":"AWS란?","pathname":"/docs/study/nodejs/2018-01-16-nodejs-13st","siteSpaceId":"sitesp_r3obU","description":"","breadcrumbs":[{"label":"STUDY"},{"label":"NODE.JS"}]},{"id":"-MAb2ZifN9rntMWG_Ykj","title":"SRPING IN ACTION (5th)","pathname":"/docs/study/srping-in-action-5th","siteSpaceId":"sitesp_r3obU","description":"스프링 인 액션(5판)을 요약한 내용입니다.","breadcrumbs":[{"label":"STUDY"}]},{"id":"-MAb2f5V4sSiMFRO44zC","title":"Chap1. 스프링 시작하기","pathname":"/docs/study/srping-in-action-5th/chap1.","siteSpaceId":"sitesp_r3obU","description":"스프링 인 액션(5판) 챕터 1장을 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"SRPING IN ACTION (5th)"}]},{"id":"-MAb2m5_PSbmnQPgHa89","title":"Chap 2. 웹 애플리케이션 개발하기","pathname":"/docs/study/srping-in-action-5th/chap-2.","siteSpaceId":"sitesp_r3obU","description":"스프링 인 액션(5판) 챕터 2장을 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"SRPING IN ACTION (5th)"}]},{"id":"-MAb2y2k5GhKX8NCICvp","title":"Chap 3. 데이터로 작업하기","pathname":"/docs/study/srping-in-action-5th/chap-3.","siteSpaceId":"sitesp_r3obU","description":"스프링 인 액션(5판) 챕터 3장을 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"SRPING IN ACTION (5th)"}]},{"id":"-MAb2xnOAXJ72T--bLrO","title":"Chap 4. 스프링 시큐리티","pathname":"/docs/study/srping-in-action-5th/chap-4.","siteSpaceId":"sitesp_r3obU","description":"스프링 인 액션(5판) 챕터 4장을 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"SRPING IN ACTION (5th)"}]},{"id":"-MAb2xXuJkoiIdq0MpcF","title":"Chap 5. 구성 속성 사용하기","pathname":"/docs/study/srping-in-action-5th/chap-5.","siteSpaceId":"sitesp_r3obU","description":"스프링 인 액션(5판) 챕터 5장을 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"SRPING IN ACTION (5th)"}]},{"id":"-MAb2xFarYExz3XlLxrr","title":"Chap 6. REST 서비스 생성하기","pathname":"/docs/study/srping-in-action-5th/chap-6.-rest","siteSpaceId":"sitesp_r3obU","description":"","breadcrumbs":[{"label":"STUDY"},{"label":"SRPING IN ACTION (5th)"}]},{"id":"-MAb2wwCUl5KlCqh8ji8","title":"Chap 7. REST 서비스 사용하기","pathname":"/docs/study/srping-in-action-5th/chap-7.-rest","siteSpaceId":"sitesp_r3obU","description":"스프링 인 액션(5판) 챕터 7장을 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"SRPING IN ACTION (5th)"}]},{"id":"-MKQHxNY9BOMAPlc_KTx","title":"CHAP 8 비동기 메시지 전송하기","pathname":"/docs/study/srping-in-action-5th/chap-8","siteSpaceId":"sitesp_r3obU","description":"스프링 인 액션(5판) 챕터 8장을 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"SRPING IN ACTION (5th)"}]},{"id":"-MGy7Tu9oOtAIkpBw7O2","title":"Chap 9. 스프링 통합하기","pathname":"/docs/study/srping-in-action-5th/chap-9.","siteSpaceId":"sitesp_r3obU","description":"스프링 인 액션(5판) 챕터 9장을 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"SRPING IN ACTION (5th)"}]},{"id":"-MK5gyAo8G7XAsiil_Bz","title":"CHAP 10. 리액터 개요","pathname":"/docs/study/srping-in-action-5th/chap-10.","siteSpaceId":"sitesp_r3obU","description":"스프링 인 액션(5판) 챕터 10장을 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"SRPING IN ACTION (5th)"}]},{"id":"-MJmetdrmA7foSX7HLQA","title":"CHAP 13. 서비스 탐구하기","pathname":"/docs/study/srping-in-action-5th/chap-13.","siteSpaceId":"sitesp_r3obU","description":"스프링 인 액션(5판) 챕터 13장을 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"SRPING IN ACTION (5th)"}]},{"id":"-MJw_6vCCf23ewrfPSoF","title":"CHAP 15. 실패와 지연 처리하기","pathname":"/docs/study/srping-in-action-5th/chap-15.","siteSpaceId":"sitesp_r3obU","description":"스프링 인 액션(5판) 챕터 15장을 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"SRPING IN ACTION (5th)"}]},{"id":"-MJrAZ3-3MZ_MR5YdH-0","title":"CHAP 16. 스프링 부트 액추에이터 사용하기","pathname":"/docs/study/srping-in-action-5th/chap-16.","siteSpaceId":"sitesp_r3obU","description":"스프링 인 액션(5판) 챕터 16장을 요약한 내용 입니다.","breadcrumbs":[{"label":"STUDY"},{"label":"SRPING IN ACTION (5th)"}]},{"id":"-M5IC4f-UellppTof9Bw","title":"스프링부트 코딩 공작소","pathname":"/docs/study/undefined-1","siteSpaceId":"sitesp_r3obU","description":"스프링부트 코딩 공작소를 요약한 내용입니다.","breadcrumbs":[{"label":"STUDY"}]},{"id":"-MH79PRH4ABamM438D88","title":"스프링 부트를 왜 사용 해야 할까?","pathname":"/docs/study/undefined-1/undefined","siteSpaceId":"sitesp_r3obU","description":"","breadcrumbs":[{"label":"STUDY"},{"label":"스프링부트 코딩 공작소"}]},{"id":"-MH79_PYsrFXp6hSF96H","title":"첫 번째 스프링 부트 애플리케이션 개발하기","pathname":"/docs/study/undefined-1/undefined-1","siteSpaceId":"sitesp_r3obU","description":"","breadcrumbs":[{"label":"STUDY"},{"label":"스프링부트 코딩 공작소"}]},{"id":"-MH79eT_wvDahcXJe6Pa","title":"구성을 사용자화 하기","pathname":"/docs/study/undefined-1/undefined-2","siteSpaceId":"sitesp_r3obU","description":"","breadcrumbs":[{"label":"STUDY"},{"label":"스프링부트 코딩 공작소"}]},{"id":"-MH7KcEj0RIwVi0zQRHB","title":"스프링부트 테스트하기","pathname":"/docs/study/undefined-1/undefined-4","siteSpaceId":"sitesp_r3obU","description":"","breadcrumbs":[{"label":"STUDY"},{"label":"스프링부트 코딩 공작소"}]},{"id":"-MH7KjM3Agvlrg-twdjb","title":"액추에이터로 내부 들여다보기","pathname":"/docs/study/undefined-1/undefined-3","siteSpaceId":"sitesp_r3obU","description":"","breadcrumbs":[{"label":"STUDY"},{"label":"스프링부트 코딩 공작소"}]},{"id":"-M5HPN9eVpMdFJVQ65ai","title":"ANGULAR 4","pathname":"/docs/study/reference","siteSpaceId":"sitesp_r3obU","description":"","breadcrumbs":[{"label":"STUDY"}]},{"id":"-M5HPNDPJXWt1O88t2X8","title":"CHAPTER 1. A gentle introduction to ECMASCRIPT 6","pathname":"/docs/study/reference/2017-01-22-a-gentle-introduction-to-ecmascript-6","siteSpaceId":"sitesp_r3obU","description":"","breadcrumbs":[{"label":"STUDY"},{"label":"ANGULAR 4"}]},{"id":"-M5HPNClnpprJn5a5UpK","title":"CHAPTER 2. Diving into TypeScript","pathname":"/docs/study/reference/2017-01-22-diving-into-typescript","siteSpaceId":"sitesp_r3obU","description":"","breadcrumbs":[{"label":"STUDY"},{"label":"ANGULAR 4"}]},{"id":"-M5HPN9kUMLu4hskiNHD","title":"CHAPTER 3. The wonderful land of Web Components","pathname":"/docs/study/reference/2017-01-22-the-wonderful-land-of-web-components","siteSpaceId":"sitesp_r3obU","description":"","breadcrumbs":[{"label":"STUDY"},{"label":"ANGULAR 4"}]},{"id":"-M5HPN9pG81bneQj3mx_","title":"CHAPTER 4. From zero to something","pathname":"/docs/study/reference/2017-01-22-from-zero-to-something","siteSpaceId":"sitesp_r3obU","description":"","breadcrumbs":[{"label":"STUDY"},{"label":"ANGULAR 4"}]},{"id":"-M5HPNA7mKKWrVQ3tijM","title":"CHAPTER 5. The templating syntax","pathname":"/docs/study/reference/2017-01-22-the-templating-syntax","siteSpaceId":"sitesp_r3obU","description":"","breadcrumbs":[{"label":"STUDY"},{"label":"ANGULAR 4"}]},{"id":"-M5HPNCzwzI87PkWvu0l","title":"CHAPTER 6. Dependency injection","pathname":"/docs/study/reference/2017-01-22-dependency-injection","siteSpaceId":"sitesp_r3obU","description":"","breadcrumbs":[{"label":"STUDY"},{"label":"ANGULAR 4"}]},{"id":"-M5HPN9dMDY-lY_q-bSB","title":"CHAPTER 7. Pipes","pathname":"/docs/study/reference/2017-01-22-pipes","siteSpaceId":"sitesp_r3obU","description":"","breadcrumbs":[{"label":"STUDY"},{"label":"ANGULAR 4"}]},{"id":"-M5HPNAQKV_4VqT8jEcQ","title":"CHAPTER 8. Reactive Programming","pathname":"/docs/study/reference/2017-01-22-reactive-programming","siteSpaceId":"sitesp_r3obU","description":"","breadcrumbs":[{"label":"STUDY"},{"label":"ANGULAR 4"}]},{"id":"-M5HPNCcnPZ1rn9rUx9m","title":"CHAPTER 9. Building components and directives","pathname":"/docs/study/reference/2017-01-22-building-components-and-directives","siteSpaceId":"sitesp_r3obU","description":"","breadcrumbs":[{"label":"STUDY"},{"label":"ANGULAR 4"}]},{"id":"-M5HPNAFhvAXPB3G6H47","title":"CHAPTER 10. Styling components and encapsulation","pathname":"/docs/study/reference/2017-01-22-styling-components-and-encapsulation","siteSpaceId":"sitesp_r3obU","description":"","breadcrumbs":[{"label":"STUDY"},{"label":"ANGULAR 4"}]},{"id":"-M5HPNBzHCKZhc72yNhg","title":"CHAPTER 11. Services","pathname":"/docs/study/reference/2017-01-22-services","siteSpaceId":"sitesp_r3obU","description":"","breadcrumbs":[{"label":"STUDY"},{"label":"ANGULAR 4"}]},{"id":"-M5HPNAXJJg0oe_0yUKj","title":"CHAPTER 12. Testing your app","pathname":"/docs/study/reference/2017-01-22-testing-your-app","siteSpaceId":"sitesp_r3obU","description":"","breadcrumbs":[{"label":"STUDY"},{"label":"ANGULAR 4"}]},{"id":"-M5HPNC_2iVy4K8ev6LB","title":"CHAPTER 13. Forms","pathname":"/docs/study/reference/2017-01-22-forms","siteSpaceId":"sitesp_r3obU","description":"","breadcrumbs":[{"label":"STUDY"},{"label":"ANGULAR 4"}]},{"id":"-M5HPNCTbZf2vBn9Xd1c","title":"CHAPTER 14. Send and receive data with Http","pathname":"/docs/study/reference/2017-01-22-send-and-receive-data-with-http","siteSpaceId":"sitesp_r3obU","description":"","breadcrumbs":[{"label":"STUDY"},{"label":"ANGULAR 4"}]},{"id":"-M5HPNA-NQQQv9fQXKsa","title":"CHAPTER 15. Router","pathname":"/docs/study/reference/2017-01-22-router","siteSpaceId":"sitesp_r3obU","description":"","breadcrumbs":[{"label":"STUDY"},{"label":"ANGULAR 4"}]},{"id":"-M5HPND9x35tuMfyI_XG","title":"CHAPTER 16. Zones and the Angular magic","pathname":"/docs/study/reference/2017-01-22-zones-and-the-angular-magic","siteSpaceId":"sitesp_r3obU","description":"","breadcrumbs":[{"label":"STUDY"},{"label":"ANGULAR 4"}]},{"id":"-M5HPND2FuNOC2atvI04","title":"CHAPTER 17. This is the end","pathname":"/docs/study/reference/2017-01-22-this-is-the-end","siteSpaceId":"sitesp_r3obU","description":"","breadcrumbs":[{"label":"STUDY"},{"label":"ANGULAR 4"}]},{"id":"-M6L3Qrzl8LX6OgolI5C","title":"HTTP 완벽 가이드","pathname":"/docs/study/http","siteSpaceId":"sitesp_r3obU","description":"","breadcrumbs":[{"label":"STUDY"}]},{"id":"-M6L53DbzGBEsCy5QMG9","title":"게이트웨이 vs 프록시","pathname":"/docs/study/http/vs","siteSpaceId":"sitesp_r3obU","description":"","breadcrumbs":[{"label":"STUDY"},{"label":"HTTP 완벽 가이드"}]},{"id":"-M6L4bIGbWDNRdztOCnQ","title":"HTTP Header","pathname":"/docs/study/http/http-header","siteSpaceId":"sitesp_r3obU","description":"HTTP Header 값의 의미를 알아보자","breadcrumbs":[{"label":"STUDY"},{"label":"HTTP 완벽 가이드"}]},{"id":"-M6L4iYIMaU0Iw5EZQia","title":"REST API","pathname":"/docs/study/http/rest-api","siteSpaceId":"sitesp_r3obU","description":"REST API에 대해서 알아보자","breadcrumbs":[{"label":"STUDY"},{"label":"HTTP 완벽 가이드"}]},{"id":"-M6L4uM-GHLwnfhrPzyh","title":"HTTP Method 종류","pathname":"/docs/study/http/http-method","siteSpaceId":"sitesp_r3obU","description":"","breadcrumbs":[{"label":"STUDY"},{"label":"HTTP 완벽 가이드"}]},{"id":"-M6L4ySyXoiCEqBT7MSc","title":"HTTP Status Code","pathname":"/docs/study/http/http-method/http-status-code","siteSpaceId":"sitesp_r3obU","description":"","breadcrumbs":[{"label":"STUDY"},{"label":"HTTP 완벽 가이드"},{"label":"HTTP Method 종류"}]},{"id":"-M6L50djItIJ0e0_4ICB","title":"HTTP 2.x","pathname":"/docs/study/http/http-2.x","siteSpaceId":"sitesp_r3obU","description":"","breadcrumbs":[{"label":"STUDY"},{"label":"HTTP 완벽 가이드"}]},{"id":"-MKLEthvjlJUve0nA9JS","title":"TECH BLOGS","pathname":"/docs/reference/tech-blogs","siteSpaceId":"sitesp_r3obU","description":"","breadcrumbs":[{"label":"REFERENCE"}]},{"id":"-MJmemcMNUrFjhUTnsUb","title":"ALGORITHM","pathname":"/docs/reference/algorithm","siteSpaceId":"sitesp_r3obU","description":"","breadcrumbs":[{"label":"REFERENCE"}]}]}