목록전체 글 (254)
요르딩딩
네이버는 웹도 앱도 뒤로가기 하면 검색했던거 다 나오는데, 쿠팡같은거는 뒤로가기 누르면 그냥 곧바로 홈으로 간다 했던거 있죠? function hashHandler() { var hash = (location.hash // '#cool-feature' var commands = hash.split("&"); if (commands["action"] == "search") $.ajax(~~); if (commands["action"] == "view") $.ajax(~~); } window.addEventListener('hashchange', hashHandler, false); 요런 식으로 개발해두고.. 검색할때 해시값만 변경하게 하면 ... 앞으로가기 뒤로가기 처리가 됨니다. 검색버튼 누르면 loca..
포괄 열 인덱스는 인덱스에 인덱스 키(정렬) 열과 함께 키가 아닌 열(비정렬)들을 포함할 수 있게 확장된 비 클러스터형 인덱스를 말한다. 포괄 열 인덱스는 인덱스 키 값에 포함하지 않아 정렬이 발생하지 않고, leaf level에 데이터가 같이 있어 Lookup 연산도 발생하지 않아 쿼리 성능에 도움을 준다. 또한 인덱스 키와 달리 데이터의 추가, 변경, 삭제 시 재정렬이 일어나지 않으므로 인덱스 관리 비용이 적다는 장점이 있다.
인덱스 :책의 목차와 비슷한 개념(색인) rowid :데이터를 삽입할 때 DB 내부에서 자동적으로 생성하는 값으로, 해당 row(행)의 고유한 주소 값을 가리킨다. (rowid를 통한 검색은 DB에서 가장 빠르게 데이터를 찾아낼 수 있는 검색 방법) [설명] 인덱스는 내부적으로 데이터를 B-tree구조로 저장하기때문에, 원하는 값을 찾은 후에는 더이상 조회를 하지 않는다. 즉, full-scan을 하지않는다는것이다 (효율적), 인덱스는 생성해 놓으면 내부적으로 알아서 동작한다. 그러므로, 인덱스를 통해 rowid를 찾은 후, 원하는 테이블에서 rowid를 통한 검색은 무척 효율적이게된다.
읽음카운트에 대해서 얘기하자. 예를들어서 500명이 있는 단톡방에 대화 400개 이상 안읽었던 사람이 오랜만에 들어간다! 라고 하면 i/o가 기하급수적으로 늘어납니다. Update문을 실행시킬때, DBMS내에서는 내부적으로 delete 후 insert 하는 방식으로 처리됩니다. update문 1회실행하는데 I/O는 2회 발생하는거죠. 순차탐색으로 특정일 이전의 데이터들을 전부 업데이트 치면 성능이 급격하게 떨어짐니다. 이는 업무 특성에 맞는 db설계만으로 i/o를 획기적으로 줄일수가 있습니다. 예를들어 설명해볼게요. 홍길동이 t_chat 테이블에 unread_users라는 필드를 두고.. chat 별로 unread_users 필드에 "1001,1002,1003" 으로 저장해두고 유저 1002가 해당 챗을..
catalina.out 파일에 쌓이는 로그의 포맷이 변경하려고 한다. 파일위치 : src > main > resource > conf > log4j2.xml 위 코드의 pattern을 아래와 같이 변경하면 된다.
아직 공부가 좀 더 필요한 부분이다. 1. git을 통해 새 브런치 생성. 2. resources-test생성 3. pom.xml에 설정 제거 및 추가 -제거 true +추가 test true test 4. Encoding UTF-8 설정 추가 방법 : 프로젝트 명을 '우클릭 > Properties > Text file encoding > other : UTF-8 체크 5. 로그 제거하는법? (잘 모른다.) 방법 : resources-test > log4j2.xml에서 아래의 코드를 지워준다. /usr/local/share/apache-tomcat

내가 사용한 로직은 DB에 파일,파일명을 저장하고, 그것을 첨부파일형태로 불러온다. 반환타입 : ResponseEntity : 스프링프레임워크에서 제공하는 클래스에 HttpEntity클래스가 존재한다. 이것은 요청이나 응답에 해당하는 HttpHeader, HttpBody를 를 가지고 있습니다. RequestEntity,ResponseEntity는 HttpEntity를 상속받은것들 입니다. ResponseEntity는 사용자의 응답데이터를 포함하고 있어 응답을 만들 수 있습니다. (예제코드) /* */ @GetMapping("down_load/file") public ResponseEntity down_loadWdAgreeFile(HttpServletRequest request) throws Excepti..
객체 - 데이터(신문, 물)와 기능(창문닦이)이 클래스로 캡슐화된것. - 컴퓨터 자원의 묶음. - 은닉성 (신문, 물의 양은 은닉가능) 내부 구조는 private으로 감춰놓고, 외부에서 조작할 수 있는 명령어만 public으로 공개해놓는거죠. 상속 : 물려받는것 ( 다형성 : 부모클레스에서 정의한 메소드를 자식클래스에서 Override해서 사용할 수 있다.) 인터페이스 : 장착하는것 (상속관계가 아닌 다양한 객체들을 하나의 카테고리로 묶을 수 있다.) 추상클래스 : 객체를 만들 수 없다. (객체를 만들필요가 없는 부모클래스를 만들떄 사용) 참고 : www.yalco.kr/