전체 글137 데이터 중심 어플리케이션 설계 - 2장. 데이터 모델과 질의 언어 2장 학습 목표 : 다양한 범용 데이터 모델을 살펴 본다. 특히 관계형 모델, 문서 모델, 그래프 기반 모델을 비교하고 다양한 질의 언어를 살펴 보고 사용 사례도 비교한다. 데이터 모델은 소프트웨어가 어떻게 작성되었는지, 해결하려는 문제를 어떻게 생각해야 하는지를 반영해야 한다. 대부분의 어플리케이션은 하나의 데이터 모델을 다른 데이터 모델 위에 계층을 둬서 만든다. 각 계층의 핵심적인 문제는 하위 계층 관점에서 데이터 모델을 표현하는 방법이다. 이 때 명확한 데이터 모델을 제공해서 추상화를 통해 하위 계층의 복잡성을 숨긴다. 관계형 모델과 문서 모델 관계형 모델 관계형 모델은 컴퓨터에 의한 비즈니스 데이터 처리(트랜잭션 처리, 일괄 처리)를 하면서 등장했다. 정리된 인터페이스 뒤로 구현 세부 사항을 숨.. 2023. 5. 3. 2023 스프링 캠프 0년차 개발자가 느낀 후기 스프링을 사용하는 개발자들을 대상으로 스프링 캠프가 매년 열린다. 올해는 4년만에 오프라인으로 행사가 개최되어서 운좋게 참여할 수 있었다. Spring Camp 2023 '스프링 캠프'는 애플리케이션 서버 개발자들과 함께 가치있는 기술에 관한 지식과 정보를 '공유'하고 참가한 사람들이 서로 '인연'을 만들고 시끌벅적하게 즐길 수 있는 '개발자들을 위한 축제' springcamp.ksug.org 몰라서 신청 못한 친구들도 있었는데, 나도 인프런 둘러보다가 알게 되었고 신청은 선착순 마감이었는데 정말 1분 만에 마감되었다고 한다. 체감상 30초 나는 네이버 페이 결제하려고 미리 네이버 로그인까지 다 해뒀었다. (같은 팀 분은 준비 안 하고 있다가 선착순 탈.. 하셨으니 내년에도 꼭 준비해둬야 할 것 같다) .. 2023. 4. 24. 데이터 중심 어플리케이션 설계 - 1장. 신뢰성, 확장성, 유지보수성 데이터 중심 어플리케이션 설계라는 아마존 1위의 개발 서적 북리뷰 스터디를 시작하게 되었다. 쓰고 기록하지 않으면 휘발성 공부가 되어 버리니 매주 한 장씩 꼭 블로그를 작성해야 겠다는 다짐으로 시작해본다.. 1장의 학습 목표 : 신뢰성, 확장성, 유지보수성의 의미를 정확히 이해하고 이를 고려하는 몇 가지 방법을 개략적으로 설명한다. 각각의 개념을 간략하게 설명하면 다음과 같다. 신뢰성 (Reliability) 하드웨어나 소프트웨어의 결함, 심지어 인적 오류 같은 문제를 직면하더라도 시스템은 지속적으로 원하는 성능 수준과 정확한 기능 수행을 해야 한다. 소프트웨어에 대한 일반적인 기대치는 다음과 같다. 어플리케이션은 사용자가 기대한 기능을 수행한다. 시스템은 사용자가 범한 실수나 예상치 못한 사용법도 허용.. 2023. 4. 23. [Spring] 데이터 접근 기술 - 2. 트랜잭션 트랜잭션 추상화 서비스 계층이 트랜잭션을 사용하기 위해서 (트랜잭션의 범위를 결정하는 것은 서비스 단에서 하고 싶기 때문에) JDBC 기술에 의존하게 된다. 그러면 JDBC에서 JPA같은 다른 데이터 접근 기술로 변경하면 서비스 계층의 트랜잭션 관련 코드도 모두 함께 수정해야 한다. (단일 책임 원칙 위반 -> 하나를 변경했는데, 여러 곳에서 문제가 발생함) 이 문제를 해결하려면 트랜잭션 기능을 추상화하면 된다. JDBC에서 트랜잭션을 시작하는 방법은 con.setAutoCommit(false) 이다. JPA가 시작하는 방법은 또 다르다. 그러니 하나의 인터페이스를 만들어서 begin()이라는 메서드를 만들고 각각의 구현체에서 DB 접근 기술에 맞는 구현을 하면 된다. + 서비스는 이 인터페이스에만 의존.. 2023. 1. 24. [Spring] 데이터 접근 기술 - 1. JDBC, Connection Pool과 DataSource 1. JDBC 이해 JDBC는 대표적으로 다음 3가지를 표준 인터페이스로 정의한다. java.sql.Connection : 연결 java.sql.Statement : SQL을 담은 내용 java.sql.ResultSet : SQL 요청 응답 위의 내용들은 각각의 DB 벤더에서 구현하여 라이브러리(JDBC 드라이버)로 제공한다. 이를 이용하면 개발자는 DB를 바꿔도 추상화된 인터페이스만을 의존하고 있기 때문에 사용처에서 코드를 수정할 필요가 없다. 개발자가 새로운 사용법을 학습할 필요가 없게 되는 것이다. 하지만 이런 표준화에도 한계는 있다. 데이터베이스마다 다른 것들이 있다. 보통 ANSI SQL을 통해서 규격화된 모양을 가지고 있지만 페이징 처리하는 방법은 SQL마다 다르다. DB를 변경하면 JDBC를.. 2022. 12. 27. 미리디 백엔드 개발 인턴 후기! 블로그에 참 많은 후기들을.. 적었다가 지웠는데, 그래도 인턴 생활을 하면서 얻은 것들은 꼭 기록하고 싶었다. 다음 후기는 언제 돌아올지 모르지만.. 써본다.. 프로그래머스 썸머 코딩을 통해서 미리디에 지원할 수 있었다. 미리디 외에도 괜찮은 스타트업들(로 보이는 기업들)이 많으니까 다들 비슷한 공고 올라오면 많이들 지원하시길.. 2022 Summer Coding - 여름방학 스타트업 인턴 프로그램 career.programmers.co.kr 느낀 점 0. 인턴에게도 실무 경험을! 미리디의 인턴 경험에서 가장 큰 장점은 인턴에게도 실제 업무를 준다는 것이다. 인턴에게 프로젝트나 과제를 부여하는 기업들도 많다는데(특히 회사 규모가 클 수록 더 그런 것 같다) 미리디는 근무 첫 주동안 개발 환경 세팅 및 여.. 2022. 9. 14. 이전 1 2 3 4 5 6 7 8 ··· 23 다음