본문 바로가기

분류 전체보기

(62)
용어 정리 * 인바운드 (inbound) 아웃바운드 (outbound) (5/30) HTTP는 인바운드와 아웃바운드라는 용어를 트랜잭션 방향을 표현하기 위해 사용한다. 메시지가 원 서버로 향하는 것은 인바운드로 이동하는 것 (클라이언트 -> 서버) 모든 처리가 끝난 뒤에 메시지가 사용자 에이전트로 돌아오는 것을 아웃바운드로 이동하는 것 (서버->클라이언트) * Lombok (5/31) @Data A shortcut for @ToString, @EqualsAndHashCode, @Getter on all fields, @Setter on all non-final fields, and @RequiredArgsConstructor. @NoArgsConstructor, @RequiredArgsConstructor, @Al..
웹 게임을 만들며 배우는 자바스크립트 예제3 반응속도 var 스크린 = document.querySelector("#screen"); var startTime ; var endTime; var result = []; var timeout; 스크린.addEventListener('click', function() { if(스크린.classList.contains('waiting')) { 스크린.classList.remove('waiting'); 스크린.classList.add('ready'); 스크린.textContent = '초록색이 되면 클릭하세요'; timeout = setTimeout(function() { startTime = new Date(); console.log(startTime); 스크린.click(); }, Math.floor(M..
[자바성능튜닝이야기] 02, 03 02. 내가 만든 프로그램의 속도를 알고 싶다. 시스템의 성능이 느릴 때 가장 먼저 해야 하는 작업은 병목 지점을 파악하는 것. 애플리케이션의 속도에 문제가 있을 때 분석하기 위한 툴로는 프로파일링 툴이나 APM 툴이 있다. 구분특징 프로파일링 툴 (개발자용 툴)* 소스 레벨의 분석을 위한 툴. * 애플리케이션의 세부 응답 시간까지 분석할 수 있다. * 메모리 사용량을 객체나 클래스, 소스의 라인 단위까지 분석할 수 있다. * 가격이 APM 툴에 비해 저렴하다. * 보통 사용자수 기반으로 가격이 정해진다. * 자바 기반의 클라이언트 프로그램 분석을 할 수 있다. APM (운영 환경용 툴)* 애플리케이션의 장애 상황에 대한 모니터링 및 문제점 진단이 주 목적. * 서버의 사용자 수나 리소스에 대한 모니터링..
[자바성능튜닝이야기] 01 디자인 패턴 꼭 써야 한다 [자바성능튜닝이야기] 01 디자인 패턴, 꼭 써야 한다 MVC 모델 Model, View, Controller View : 사용자가 결과를 보거나 입력할 수 있는 화면, 이벤트를 발생, 결과를 보여줌. Controller : 뷰와 모델의 연결자, 뷰에서 받은 이벤트를 모델로 연결하는 역할. Model : 뷰에서 입력된 내용을 저장, 관리, 수정하는 역할. 이벤트에 대한 실질적인 일을 하는 부분. J2EE 디자인 패턴 Pattern : a model, guide or set of instructions for making something 무엇인가를 만들기 위한 모델이나 가이드, 설명의 집합을 의미함. 즉, 시스템을 만들기 위해서 전체 중 일부 의미 있는 클래스들을 묶은 각각의 집합을 디자인 패턴이라고 생..
포로토타입과 프로토타입 상속 프로토타입 상속 [[Prototype]] 자바스크립트의 객체는 명세서에서 명명한 [[Prototype]] 이라는 숨김 프로퍼티를 갖습니다. 이 숨김 프로퍼티 값은 null이거나 다른 객체에 대한 참조가 되는데, 다른 객체를 참조하는 경우 참조 대상을 프로토타입이라 부릅니다. object에서 프로퍼티를 읽으려고 하는데 해당 프로퍼티가 없으면 자바 스크립트는 자동으로 프로토타입에서 프로퍼티를 찾음. -> 프로토타입 상속 let animal = { eats: 프로토타입 상속 [[Prototype]] 자바스크립트의 객체는 명세서에서 명명한 [[Prototype]] 이라는 숨김 프로퍼티를 갖습니다. 이 숨김 프로퍼티 값은 null이거나 다른 객체에 대한 참조가 되는데, 다른 객체를 참조하는 경우 참조 대상을 프로..
함수 심화학습, 객체 프로퍼티 설정 재귀와 스택 재귀의 베이스(base) 재귀 단계(recursive step) 재귀 깊이(recursion depth) : 가장 처음 하는 호출을 포함한 중첩 호출의 최대 개수 실행 중인 함수의 실행 절차에 대한 정보 : 실행 컨텍스트(execution context)에 저장. 실행 컨텍스트 : 함수에 대한 세부 정보를 담고 있는 내부 데이터 구조. 제어 흐름의 현재 위치, 변수의 현재 값, this의 값 등이 저장됨. 재귀(recursion) - 함수 내부에서 자기 자신을 호출하는 것을 나타내는 프로그래밍 용어, 함수가 자신을 호출하는 단계를 재귀단계(recursion step)라고 부릅니다. basis라고 불리는 재귀의 베이스(base)는 작업을 아주 간단하게 만들어서 함수가 더 이상은 서브 호출을 만..
DDD 10장 이벤트 이벤트 이벤트의 용도와 장점 핸들러 디스패치와 핸들러 구현 비동기 이벤트 처리 주문을 취소 후 환불 처리하는 과정은? 주문 취소 + 환불 처리 결제 시스템은 외부에 존재하므로 외부의 환불 시스템 서비스를 호출하는데 문제가 2가지 있음. 외부 서비스가 정상이 아닐 경우 트랜잭션 처리를 어떻게 할 것인가? Q. 환불 기능을 실행하는 과정에서 익셉션이 발생했다면, 트랜잭션 롤백을 해야 할까? 커밋을 해야 할까? 외부의 환불 서비스를 실행하는 과정에서 익셉션이 발생하면 환불에 실패했으므로 주문 취소 트랜잭션을 롤백 하는 것이 맞는 것으로 보인다. 하지만, 반드시 트랜잭션을 롤백해야 하는 것은 아니다. 주문은 취소 상태로 변경하고 환불만 나중에 다시 시도하는 방식으로 처리할 수도 있다. 성능에 대한 것. 환불을 ..
웹 게임을 만들며 배우는 자바스크립트 예제2 inf.run/TAmq 웹 게임을 만들며 배우는 자바스크립트 - 인프런 본 강의에서는 자바스크립트를 활용해 프로그래밍하는 연습을 할 것입니다. 웹 게임인 구구단을 시작으로 끝말잇기, 숫자 야구, 틱택토, 로또 추첨기, 가위바위보, 지뢰 찾기, 카드 짝맞추기 게� www.inflearn.com 틱택토 var body = document.body; var table = document.createElement('table'); table.style.border=1; var cells = []; var rows = []; var turn = 'X'; var result = document.createElement('div'); var clickEvent = funct..