JSON 구조를 그래프로 보자! JSON Crack
·
정보/유용한 사이트
구글을 돌아다니다 재미있고 JSON 사용에 좋아보이는 사이트 하나 발견해서 포스팅하게 되었습니다. JSON을 입력하면 그 구조를 트리 그래프로 한눈에 확인이 가능한 유용한 사이트입니다. https://jsoncrack.com/ JSON Crack - Crack your data into pieces Simple visualization tool for your JSON data. No forced structure, paste your JSON and view it instantly. jsoncrack.com 이렇게 json을 입력하면 그 구조를 트리로 확인할 수 있는 사이트입니다. 개발자는 json을 사용하기에 편하지만, 기확자나 IT 관련 다른 직업은 json으로 데이터를 보는게 익숙하지 않을 수 있..
브라우저 이미지 회전 현상 해결하기 (IE) - EXIF
·
개발 아카이브/HTML, CSS
이 문제는 회사에서 이미지 회전 현상이 일어난다는 QA를 받아서 수정하던 중 알게 되었습니다. 가끔 브라우저에서 사진을 업로드하거나 조회할 때 이미지가 본의 아니게 돌아가 있는 상태를 보실 수 있습니다. 요즘은 그런 현상이 거의 없지만, 2020년도에는 그런 현상이 있었습니다. 2022년 6월 15일부로 돌아가신 인터넷 익스플로러에도 아직까지 이러한 현상이 있습니다. 이 현상은 브라우저가 파일에 저장되어 있는 메타데이터를 읽고 대응해야 하는데, 그러지 못해서 생기는 일입니다. 일단 이미지 메타데이터는 어떤 것이 있는지 살펴보겠습니다. 메타데이터를 저장하게 해주는, 이미지 파일 포맷 : EXIF 디지털카메라, 스마트폰 카메라로 이미지를 찍으면 EXIF라는 이미지 파일 포맷입니다. EXIF는 JPEG, TI..
[친절한 SQL 튜닝 스터디] SQL 옵티마이저
·
스터디/친절한 SQL 튜닝 스터디
https://velog.io/@wooncloud/series/%EC%B9%9C%EC%A0%88%ED%95%9C-SQL-%ED%8A%9C%EB%8B%9D-%EC%8A%A4%ED%84%B0%EB%94%94 시리즈 | 친절한 SQL 튜닝 스터디 - wooncloud.log 인덱스 구조와 탐색 방법에 대해 알아보자! B*Tree와 인덱스 루트, 브랜치 블록, 리프 블록. 그리고 인덱스 수직적 탐색, 인덱스 수평적 탐색, 결합 인덱스 등 2022년 5월 8일 velog.io 통계정보와 비용 계산 원리 선택도와 카디널리티 선택도 선택도란, 전체 레코드 중에서 조건절에 의해 선택되는 레코드 비율을 말함. 가장 단순한 조건으로 검색할 때의 선택도만 살펴보면, 컬럼 값 종류 갯수를 이용해 아래와 같이 구한다. 💡 ND..
[친절한 SQL 튜닝 스터디] DML 튜닝
·
스터디/친절한 SQL 튜닝 스터디
https://velog.io/@wooncloud/series/%EC%B9%9C%EC%A0%88%ED%95%9C-SQL-%ED%8A%9C%EB%8B%9D-%EC%8A%A4%ED%84%B0%EB%94%94 시리즈 | 친절한 SQL 튜닝 스터디 - wooncloud.log 인덱스 구조와 탐색 방법에 대해 알아보자! B*Tree와 인덱스 루트, 브랜치 블록, 리프 블록. 그리고 인덱스 수직적 탐색, 인덱스 수평적 탐색, 결합 인덱스 등 2022년 5월 8일 velog.io 기본 DML 튜닝 DML 성능에 영향을 미치는 요소 인덱스 무결성 제약 조건절 서브쿼리 Redo 로깅 Undo 로깅 Lock 커밋 인덱스와 DML 성능 INSERT 테이블 레코드를 입력하면 인덱스에도 입력해야 한다. 테이블은 Freelist..
[친절한 SQL 튜닝 스터디] 소트 튜닝
·
스터디/친절한 SQL 튜닝 스터디
https://velog.io/@wooncloud/series/%EC%B9%9C%EC%A0%88%ED%95%9C-SQL-%ED%8A%9C%EB%8B%9D-%EC%8A%A4%ED%84%B0%EB%94%94 시리즈 | 친절한 SQL 튜닝 스터디 - wooncloud.log 인덱스 구조와 탐색 방법에 대해 알아보자! B*Tree와 인덱스 루트, 브랜치 블록, 리프 블록. 그리고 인덱스 수직적 탐색, 인덱스 수평적 탐색, 결합 인덱스 등 2022년 5월 8일 velog.io 소트 연산에 대한 이해 SQL 수행 도중 가공된 데이터 집합이 필요할때, 오라클은 PGA나 Temp Tablespace를 사용. 그 대표적인 예가 소트머지 조인, 해시조인, 데이터 소트와 그룹핑이다. 소트 수행 과정 소트는 기본적으로 PGA..
[친절한 SQL 튜닝 스터디] 조인 튜닝
·
스터디/친절한 SQL 튜닝 스터디
https://velog.io/@wooncloud/series/%EC%B9%9C%EC%A0%88%ED%95%9C-SQL-%ED%8A%9C%EB%8B%9D-%EC%8A%A4%ED%84%B0%EB%94%94 시리즈 | 친절한 SQL 튜닝 스터디 - wooncloud.log 인덱스 구조와 탐색 방법에 대해 알아보자! B*Tree와 인덱스 루트, 브랜치 블록, 리프 블록. 그리고 인덱스 수직적 탐색, 인덱스 수평적 탐색, 결합 인덱스 등 2022년 5월 8일 velog.io NL 조인 조인은 기본은 NL조인이다. NL조인은 인덱스를 이용한 조인이다. 소트 머지 조인, 해시 조인도 NL조인과 프로세싱 과정은 다르지 않다. 기본 메커니즘 아래 사원과 고객 테이블이있다. 이 두 테이블에서 1996년 1월 1일 이후 ..
[친절한 SQL 튜닝 스터디] 인덱스 튜닝
·
스터디/친절한 SQL 튜닝 스터디
https://velog.io/@wooncloud/series/%EC%B9%9C%EC%A0%88%ED%95%9C-SQL-%ED%8A%9C%EB%8B%9D-%EC%8A%A4%ED%84%B0%EB%94%94 시리즈 | 친절한 SQL 튜닝 스터디 - wooncloud.log 인덱스 구조와 탐색 방법에 대해 알아보자! B*Tree와 인덱스 루트, 브랜치 블록, 리프 블록. 그리고 인덱스 수직적 탐색, 인덱스 수평적 탐색, 결합 인덱스 등 2022년 5월 8일 velog.io 테이블 랜덤 액세스 💡 인덱스로 검색해도 빠른데, 왜 굳이 파티셔닝? 인덱스로 검색하는데 왜 느림? 대량의 데이터를 조회하면 테이블 전체 스캔하는것보다 인덱스 사용하는것이 더 느리다. 인덱스 ROWID는 물리적 주소? 논리적 주소? 인덱스를..
자바스크립트 객체 관리와 V8엔진 히든클래스
·
개발 아카이브/Javascript
이 글은 모던 자바스크립트 Deep Dive를 보고 공부한 내용입니다. 자바스크립트에서 객체는 복합적인 자료구조입니다. 객체 내부에 있는 property의 수는 개수가 정해지지 않아, 객체의 크기도 정해지지 않고 동적으로 property가 추가, 삭제가 될 수 있습니다. 그래서 객체는 리터럴처럼 메모리 공간에 크기를 사전에 정의할 수 없습니다. 객체의 구현 방식은 브라우저 제조사마다 다를 수 있습니다. 그리고 객체를 생성하고 프로퍼티에 접근하는 것도 리터럴을 이용하는 것보다 비용이 많이 들기 때문에, 괜히 깔끔하게 코딩하겠다고 적은 데이터를 객체를 이용하여 선언하고 사용하면 오히려 쓸데없이 비용을 많이 쓸 수 있습니다. (엄청 크게 차이나진 않지만..) 자바스크립트의 객체 특징 자바스크립트에서 객체는 프..
자바스크립트 맵 객체 (Javascript Map Object)
·
개발 아카이브/Javascript
Map이란? Map객체는 Key와 Value로 이루어진 자료구조입니다. Key는 고유한 값을 가져야 하는 특징을 가지고 있습니다. 자바스크립트에서의 Map객체는 Key와 Value을 서로 매핑시켜 저장하고, 저장된 순서대로 각 요소들을 반복적으로 접근할 수 있도록 해줍니다. ES6부터 도입된 문법이며 ES5에서는 사용할 수 없습니다. https://developer.mozilla.org/ko/docs/Web/JavaScript/Guide/Keyed_collections 키기반의 컬렉션 - JavaScript | MDN 이번 장에서는 입력된 키값을 기준으로 정렬되는 데이터의 집합(자료 구조)에 대해 소개 할 것이다. Map과 Set은 입력된 순서대로 반복적으로 접근 가능한 요소들을 포함하고 있다. deve..