일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- hyperledger
- jsp
- gradle
- MongoDB
- 파이썬
- 운영체제
- 학점
- 리눅스
- 자바 프로젝트
- 파이썬 소스
- 알고리즘
- 오라클 디비
- K6
- c#
- dynamic query
- auto configure
- SQL
- spring
- resilience4j
- 문법 정리
- 오라클
- 자바
- 유사코드
- JVM
- 백준 알고리즘
- 초대장
- 티스토리
- smart cast
- 프로젝트
- oracle
- Today
- Total
목록목차 (231)
모종닷컴
21년 하반기에 대한 PDR 리뷰 올해 초 PDR(Performance Development Review)을 진행했었다. PDR이 뭔지 간단하게 설명드리자면 작년 하반기 동안 설정했던 계획(프로젝트)이나 목표 등을 달성하기 위해 노력했던 점이나 과정, 회고 등을 써놓고 이를 통해 팀과 함께 리뷰하는 자리를 가지는 것이다. 나는 이 PDR을 통해 여러 가지 좋았던 점, 아쉬웠던 점을 들을 수 있었다. 사람이 너무 신기한 게 좋았던 점도 분명히 많이 들었지만 잘 기억이 나지 않고 ㅋㅋㅋ 아쉬웠던 점은 너무 기억이 잘 난다 ㅋㅋ 그중 스스로 회고하면서도 아쉽다고 생각했던 부분이 있었는데 그 부분이 팀원들이 말해준 아쉬운 점에도 포함이 되어있는 부분이 있었다. 설계에 대한 아쉬움 스스로도 느끼고 있었던 부분인데..
3계층 구조 Presentation Layer : 사용자 중점 계층 (front-end) Business Layer : 비즈니스 로직 계층, presentation layer의 요구를 받아 처리하는 곳 (back-end) Data Layer : 데이터베이스에 접근하여 데이터를 읽거나 쓰는 작업등의 역할 Mock Layer란? Mock Layer라는 개념이 존재하는 것은 아니고 제가 임의로 편하게 부르기 위해서 지어봤습니다. 위의 3계층 구조에서 Business Layer에 속하게 됩니다. 테스트 코드를 짜다보면 mockito 라는 테스트 프레임워크에 대하여 한번쯤은 들어보셨을 겁니다. 어떤 특정 요청에 대하여 개발자가 지정한 결과를 내려주는 방식인데 이러한 것을 실행 환경에서도 사용하기를 원했습니다. 한..
유한 상태 기계 컴퓨터 프로그램을 설계할 때 쓰이는 모델이라고 설명되어 있습니다. 간단하게 '상태 기계'라고 부르기도 한다고 하네요. 저는 주로 상태 기계라는 용어로 많이 들었던 것 같아요. 이름으로 짐작할 수 있는데 유한 상태 기계는 유한한 개수의 상태를 가질 수 있음을 말합니다. 또한 몇 가지 조건이 붙는데 이 유한 상태 기계는 오로지 하나의 상태만 가질 수 있으며 특정 Event에 의해서만 다른 상태로 변화할 수 있다고 합니다. 그리고 이렇게 Event에 의해 상태가 변화하는 것을 전이(Transition)이라고 합니다. 일상생활에서 유한 상태 기계를 찾아보자. 가장 대표적으로 언급되는 일중 하나는 스위치입니다. 스위치는 ON, OFF 두 개의 상태만 가질 수 있습니다. 그러면 생각해볼게요. 각각의..
아주 예전부터 Quartz에 대한 글을 써야지 생각만 하고 어느새 잊어버렸는데요. 이번 회사 동료가 Quartz 적용을 한 발표를 하는데 너무 오래전에 본 내용이라 기억이 하나도 안나네요.. 그래서 기억좀 되살릴겸 Quartz 정리를 좀 해보았습니다. Quartz Job Scheduling 란? Quartz는 작은 독립형 애플리케이션부터 거대한 e-commerce 시스템에 이르기까지 거의 모든 Java 애플리케이션 내에 통합될 수 있는 풍부한 기능을 갖춘 오픈 소스 작업 스케줄링 라이브러리입니다. Quartz는 수십, 수백, 심지어 수만 개의 작업을 실행하기 위한 단순하거나 복잡한 일정을 만드는 데 사용될 수 있습니다. Quartz Scheduler에는 JTA 트랜잭션 및 클러스터링 지원과 같은 많은 엔..
데이터 레이크 데이터 레이크란 조직에서 수집한 정형화, 반정형화, 비 정형화된 데이터를 저장하는 장소입니다. 다양한 원천으로부터 가져온 다양한 데이터를 원시 데이터로서 저장하고 있습니다. 원시 데이터로서 저장한다는 말은 즉 특정한 목적을 위해 변형되지 않은 상태의 데이터를 저장한다는 것입니다. 데이터 레이크를 검색하니 데이터 웨어하우스와 비교를 하는 글이 많이 보이는데 이 둘의 차이점을 알아보도록 하겠습니다. 데이터 레이크 vs 데이터 웨어하우스 데이터 레이크와 데이터 웨어하우스는 유사하지만 동일하지 않으며 목적 또한 다릅니다. 빅데이터를 위한 데이터 스토리지 저장소라는 것만이 유일한 유사점이라고 볼 수 있습니다. 적재 과정 데이터 레이크는 데이터를 빠르게 수집하여 사람들이 더 빠르게 데이터에 액세스 해..
무수아취 지난주 주말에 친구들과 함께 무수아취에 다녀왔습니다. 서울에 캠핑장이라 가까워서 좋았어요. 물 좋고 풍광 좋은 이곳은 아무런 근심이 없는 곳 - 세종대왕 공식 홈페이지 예약 방법 무수아취 예약을 하기 위해서는 성실함과 존버! 예약이 항상 가득 찬 곳인데 친구 놈이 취소된 예약 자리를 잘 예약해주었습니다. (땡큐..!) 예약은 네이버 예약만 가능한 듯하네요. 예약금 5만원이 필요합니다. 설명란에는 나중에 계산시 최종 비용에서 5만원을 차감한다고 되어있어요. 이용 시간 무수아취는 총 3부로 운영됩니다. 1부 11:00~14:00 2부 15:00~18:00 3부 19:00~22:00 2회 차 연속해서 예약이 불가능하다고 되어있습니다. 이용 주의 사항 외부 음식 반입 불가하다고 되어있어요 매점에서 고기..
이전 글 : https://monny.tistory.com/223 VIEW 알고리즘 이해하기 - MERGE 편 뷰 테이블이 있는데 되게 느려져서 좀 찾아보다가 알게된 부분들이 있어 글로 정리하려고 합니다. 알고리즘 MySQL에서 뷰를 처리할 때 알고리즘의 종류는 아래와 같다. MERGE : MERGE를 사용하면 뷰 monny.tistory.com 이전 글에서 MERGE에 대해서 알아보았습니다. 오늘은 TEMPTABLE 전략에 대해 알아보려고 하는데 TEMPTABLE 전략은 아래 글의 Materialize와 같습니다. 옵티마이저의 파생 테이블 관련 전략 옵티마이저는 파생 테이블 참조를 두 가지 전략을 이용하여 다룹니다. Merge (병합) : 외부 쿼리에 파생 테이블을 병합. Materialize (구체화..
온프레미스? 온프레미스란 소프트웨어 등 솔루션을 클라우드와 같은 원격 환경이 아니라 자체적으로 보유한 전산실 서버에 직접 설치해 운영하는 방식을 말합니다. 즉 데이터센터나 서버룸과 같은 특정 공간에 인프라를 구축하여 소프트웨어를 사용하는 방식입니다. 클라우드와 비교해보자면 인프라를 구축하기 위한 시간이 오래 걸리고, 운영 및 관리를 위한 유지보수 비용이 많이 들며, 초기 도입 비용도 비싸다는 특징이 있습니다. 대개 보안 적인 이유로 비즈니스적으로 중요하고 보안이 필요한 서비스와 데이터는 온프레미스 환경에서, 덜 중요한 것은 클라우드 환경을 사용하는 하이브리드 IT 인프라를 구축하고 있습니다. 온프레미스 vs 클라우드 온프레미스와 클라우드 차이점 몇 가지를 좀 더 알아보겠습니다. 온프레미스 클라우드 설치 ..
뷰 테이블이 있는데 되게 느려져서 좀 찾아보다가 알게된 부분들이 있어 글로 정리하려고 합니다. 알고리즘 MySQL에서 뷰를 처리할 때 알고리즘의 종류는 아래와 같다. MERGE : MERGE를 사용하면 뷰 정의와 뷰를 참조하는 명령문의 관련 부분이 병합됩니다 TEMPTABLE : TEMPTABLE을 선택하면 뷰 결과가 임시 테이블에 저장됩니다. UNDEFINED : MySQL이 사용할 알고리즘을 정합니다. 기본 알고리즘은 optimizer_switch 시스템 변수의 derived_merge 플래그 값에 결정됩니다. UNDEFINED 뷰 알고리즘은 아래와 같은 상황에 지정됩니다. CREATE VIEW 에 알고리즘을 지정하지 않았을 때 CREATE VIEW 문에 명시적으로 ALGORGERM = UNDEFI..
mongodb에 특정 기간 안에 생성된 데이터를 검색해야 할 일이 있었습니다. mongodb를 자주 다뤄보지는 않아 between 관련 쿼리를 구글에 검색해봤는데 어떤 글은 new Date를 사용하고 어떤 글에서는 ISODate를 이용해서 쿼리를 날린다고 합니다.. 이 두 개의 차이가 뭘까 하고 알아보았는데 일단 mongodb에는 항상 UTC를 기준으로 시간 데이터가 입력된다고 합니다. 따라서 한국 20시 00분의 시간을 mongo에 저장하면 11시 00분이 들어가게 되는 것이죠. 이게 사실인지 확인해보기 위해 실습을 조금 해봤습니다. Spring Boot + Mongodb 의존성 추가 implementation 'org.springframework.boot:spring-boot-starter-data-..