일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |
- 마이크로 서비스
- JPA
- ksql
- 원격 브랜 삭제
- Spring Cloud Netflix
- aws
- CompletableFuture
- IntelliJ
- #docker compose
- findTopBy
- 리눅스
- 자바 ORM 표준 JPA 프로그래밍 정리
- 리팩토링 2판
- git
- HandlerMethodArgumentResolver
- intellij favorites
- intellij 즐겨찾기
- intellij 핵심 단축키
- @Transactional Propagation
- Stream
- multipart테스트
- javascript case
- 백명석님
- @TransactionalEventListener
- Linux
- java
- 친절한 SQL 튜닝
- 자바 ORM 표준 JPA 프로그래밍
- ksqldb
- vue.js
- Today
- Total
목록전체 글 (128)
시그마 삽질==six 시그마
1. 덮어씌움 당하고자하는 브랜치로(A브랜치) checkout 2. git fetch --all (인텔리제이는 fetch 버튼 클릭) 3. git reset --hard
spring webflux? 리액티브 스택 웹 프레임워크.( 스프링5부터 적용) Asynchronous Non-blocking I/O 방식 back pressure 지원 Netty, UnderTow, Servlet 3.1+ 컨테이너에서 구동됨 Non Blocking 기반으로 코드를 작성하고 DB도 Non Blocking 기반을 써야 효과가 있다. webflux 탄생 배경? 적은 수의 쓰레드로 동시 처리를 제어하고 적은 하드웨어 리소스를 확장하기 위해 논블로킹 웹 스택이 필요했기 때문(비동기/논블록을 이용해서 더 적은 자원으로 더 많은 트래픽을 처리하기 위함) 이벤트 루핑 기법을 활용하여 쓰레드 당 많은 요청을 처리할 수 있어서 한 연결당 소요 비용이 더 경제적임( 비용 과다는 콜백으로 등록하고 다른 요청..
본 글은 백명석님의 [LIVE] 지속가능한 SW 개발을 위한 코드리뷰 :: 4월 우아한테크세미나를 보고 정리한 것입니다. 1. 코드리뷰의 중요성 Software is eating the world 시장 :VUCA Volatility 변동성 Uncertainty 불확실성 Complexity 복잡성 Ambiguity 모호성 불확실하고 복잡하고 모호하며 변화가 많은 세상 개발 조직의 성능(생성성)이 중요해짐 -출시별 개발 리소스 증가 기존코드(레거씨) 파악에 따른 생산성 저하 좋은 코드는 생산성이 45도. 나쁜 코드는 초기에는 생산성이 좋으나 점점 낮아짐. 두개 만나는 지점 지나면 좋은 설계가 더 생산성이 좋음. SW의 진정한 비용 = 유지보수(전체의 80% 이상) The only way to go fast ..
터미널에서 1. 도메인 조회 dig [@server] [domain] [ query type] server : 네임 서버를 넣어주면 되는데 안 넣으면 etc/resolv.conf 에 있는 걸 바라본다 The name or IP address of the name server to query. If no server argument is provided, the dig command consults the /etc/resolv.conf file and queries the name servers listed there. () domain: 찾고자하는 리소스 네임 The name of the resource record that is to be looked up. type: 조회할 레코드 타입을 넣어준다. ..
2015년 단일 서비스 하루 주문수 5만이하 MS SQL+PHP,ASP 대부분 루비유(MS SQL) 스터어드 프로시저 방식 사용 루비 DB 장애시 전체 서비스 장애 프런트 서버, 회원/인증, 리뷰, 쿠폰, 포인트, 정산, 주문, 결제, 주문중계, 가게/업주,광고,메뉴 MS_SQL 데이터 베이스 사용중 리뷰가 장애나서 DB 과부하 시스템 다운,. 주문이 안됨. 리뷰가 장애나도 고객 주문 영향없어야함 2016년 하루 주문수 10만 돌파 php ->자바 언어 마이크로서비스 도전 시작 결제,주문중계 독립 IDC-> AWS 클라우드 인프라로 이전 시작 자바 변환 이유?? 대용량트래픽 안정적 제공 대용량 트래틱 처리한 자바 개발자 많음 마이크로서비스 기술적 문제가 아니라 생존의 문제였다.(7년걸림) -넷플릭스- 레..
/* supplyAsync() 반환값 있는 비동기 작업, runAsync() : 반환값 없는 비동기 작업 get(): 블로킹 get join(): 블로킹 get+ 예외발생시 throw exception thenApply() 리턴 있는 동기 콜백, thenApplyAsync() 리턴 있는 비동기 콜백 thenAccept() 리턴 없는 동기 콜백, thenAcceptAsync()리턴 없는 비동기 콜백 thenCompose() : 여러개의 작업들을 순차 실행 thenCombine() : 여러개의 작업들을 병렬 실행 anyOf() :작업들중 가장 빠른거 1개 결과 가져옴 allOf(): 작업들(3개이상도 가능) 병렬실행하고 결과 조합 */ ExecutorService executor = Executors.new..
List이 있는데 동일 나이(age)로 그룹핑한 후 각 그룹마다 키가 제일 큰(작은) 한 사람을 추출하고 싶을때 List 가 있는데 동일 board_id로 그루핑한후 각 그룹마다 최신(or예전) reply 한개씩만 뽑아내고 싶을때== 각 board_id 마다 최신 댓글 한개씩 추출 ex) List list = Arrays.asList( new Person.Builder().name("김지혜").age(20).height(185).build() , new Person.Builder().name("이정").age(20).height(181).build() , new Person.Builder().name("원빈").age(30).height(170).build() ,new Person.Builder().na..
하단의 글은 배달의 민족 이동욱님의 블로그 Spring batch 시리즈를 보고 제 나름대로 정리한겁니다 one Job == sigma step one step== tasklet & Reader+Processor+Writer BATCH_JOB_INSTANCE:Job Parameter에 따라 생성 BATCH_JOB_EXECUTION:JOB_INSTACNE의 success/fail Spring Batch Job 흐름: next ,on(ExitStatus),to,from,end,JobExecutionDecider Chunk: chunk덩어리 생성후 chunk 단위 tx.chunk 단위 롤백 Reader(1건)->processor->writer(chunk단위) Chunk Size: 한번에 처리될 tx 단위 Pa..