본문 바로가기
2021 03 08 - ES6 둘러보기 차세대 UI 프로젝트에서 vue.js를 쓰게 되었다. 이제는 모른척 할 수 없게 되었다. Modern js를... + 하지만 아직 몇몇 브라우저에서는 es6를 지원하지 않는다. ES6문법을 지원하지않는 브라우저에서도 ES6를 사용하고 싶다면 바벨을 사용하자. babeljs.io/ + Try-out메뉴를 클릭후 FORCE ALL TRANSFORMS 설정을 체크하면 ES6문법을 ES5문법으로 변환하여 볼수있다.. 공부하기에 좋음...! 1) 객체 초기자 developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Operators/Object_initializer 객체 초기화시에, key와 변수의 이름이 같다면 생략이 가능하다. const object1 = { a: 'f.. 2021. 3. 8.
2021 03 02 - 1) 내림차순으로 하나, 오름차순으로 하나 정렬한 컬럼을 사용해서 가운데 값을 찾는다. 데이터 개수가 홀수일때는 hi = lo가 일치하는것이 중간값이지만, 짝수개 일때는 데이터 개수가 hi = lo + 1과 hi = lo -1두개가 존재한다. ROW_NUMBER()함수를 사용해야 레코드 집합에 자연수 집합을 할당해서 연속성과 유일성을 갖게 만들수 있다. 왜 student_id를 같이 입력했을까?--> 포함하지 않으면 결과가 NULL이 될수가 있다.. SELECT AVG(weight) AS median FROM (SELECT weight, ROW_NUMBER() OVER (ORDER BY weight ASC, student_id ASC) AS hi, ROW_NUMBER() OVER (ORDER BY wei.. 2021. 3. 2.
화면단에서 css Nocash로 가져오기. 경로와 파일명이 동일하면 브라우저가 자동으로 캐쉬된 데이터를 가져온다. 때문에 css를 수정후 테스트할때는 보통 css파일 뒤에 난수를 붙여서 결과를 확인한다. (브라우저로 하여금 동일한 파일이라고 판단하지 않고 매번 CDN에서 가져오도록-) 근데 동생이 매번 val뒤에 난수붙여주기 귀찮다고 징징대서 이렇게도 가능하지 않을까- 해서 만들어봤당. function getCssWithRandomValue(cssHref){ if(!cssHref) return; var now = new Date().getTime() var link = document.createElement('link') link.async = true link.href = cssHref + "?val=" + now link.rel = "sty.. 2021. 2. 25.
2021 02 25 - 순번과 갱신 -- 윈도우 함수로 이를 구현하려면 class 필드에 PARTITION BY로 적용해준다. -- 학급마다 순번을 붙이는 경우 SELECT class, student_id, ROW_NUMBER() OVER (PARTITION BY class ORDER BY student_id) AS seq FROM Weights2; -> class별로 묶어서, ROW_NUMBER()로 그룹내에서 순번을 먹여준다. -- 상관서브쿼리를 사용하는방법 SELECT class, student_id, (SELECT COUNT(*)--의 개수를 세는것이 포인트 FROM Weights2 W2 WHERE W2.class = W1.class AND W2.student_id = COUNT(*) / 2 -- S2(상위 집합)의 조건 AND S.. 2021. 2. 25.
2021 02 19 - SQL의 순서 레코드에 순번을 붙이는 방법을 알아보자 1) 기본키가 한개의 필드일 경우 - 윈도우 함수를 사용 SELECT student_id, ROW_NUMBER() OVER (ORDER BY student_id) AS seq FROM Weights; - 상관 서브쿼리를 사용 SELECT student_id, (SELECT COUNT(*) FROM Weights W2 WHERE W2.student_id 2021. 2. 19.
2021 02 19 - 서브쿼리 서브쿼리 단점 코드 가독성이 떨어진다 서브쿼리는 대부분 일시적인 영역(메모리 또는 디스크)에 확보되므로 오버헤드가 생긴다. 서브쿼리는 인덱스 또는 제약 정보를 가지지 않기 때문에 최적하되지 못한다. 이 쿼리는 결합을 필요로 하기 때문에 비용이 높고 실행 계획 변동 리스크가 발생한다. -- 서브쿼리를 이용하거나 상관 서브쿼리를 사용하면 테이블스캔이 두번 일어난다. -- 윈도우 함수를 사용하면 테이블 접근이 1회만 일어난다. SELECT cust_id, seq, price FROM (SELECT cust_id, seq, price, ROW_NUMBER() OVER (PARTITION BY cust_id ORDER BY seq) AS row_seq FROM Receipts ) WORK WHERE WORK.ro.. 2021. 2. 19.