반응형 분류 전체보기119 TIL 0916 JavaScript Koans 과제 보호되어 있는 글 입니다. 2020. 9. 16. TIL 0915 스코프(Scope), 클로저(Closure), 객체지향 JavaScript, 전달인자(parameter, arguments) 보호되어 있는 글 입니다. 2020. 9. 15. TIL 0910 MDN 배열, 객체 메서드 Array.isArray(args) true false 배열인지 리턴 arr.shift() 0번 인덱스 제거 arr.unshift('element') 0번 인덱스에 추가 arr.push() 마지막 인덱스에 추가 arr.pop() 마지막 인덱스 제거 arr.indexOf('element') element 의 인덱스 리턴 없다면 -1 리턴 arr.includes('element') 배열에 element가 있는지 리턴 (브라우저 호환성 때문에 익스플로러에서는 사용불가) 객체 (키워드) delete object.key object에서 key 제거 key in object object에 key가 있는지 여부 리턴 2020. 9. 10. String 문자열에서 문자 찾기, 인덱스 찾기 2020. 9. 9. 리터럴(Literal), Math, String 패키지 메서드 리터럴(Literal) 백틱 ( ` 키보드 물결표시 버튼)(grave accent)을 사용해서 내장된 표현식을 사용할 수 있다. 출처(eblee-repo.tistory.com/38) Math Math.abs() 절댓값을 출력하는 함수 Math.floor() 소수점 버림을 하는 메서드 .toUpperCase() 문자열을 모두 대문자로 바꾸는 메서드 ( 문자열을 모두 소문자로 바꾸는 메서드는 toLowerCase() ) Number() String() 파라미터안의 값을 Number형이나 String 형태로 리턴해주는 메서드 .toString() String형태로 형변환해주는 메서드 2020. 9. 8. SQL - Index 인덱스 인덱스 - DB 조회 속도를 향상시키기 위해 컬럼에 적용하는 일종의 목차 인덱스를 사용해야 하는 경우 - 테이블에 데이터가 많을 때 - 컬럼 값의 범위가 넓을 경우 - Where 적 또는 Join 문에 사용되는 컬럼 - 검색결과가 전체 데이터의 2%~4% 이내를 검색하는 경우 - Null을 포함하는 컬럼이 많은 경우 (Null 값은 인덱스에 포함되지 않기에 인덱스의 크기가 줄어든다) 인덱스를 사용하지 않아야 하는 경우 - 테이블에 데이터가 적을 때 - Where 문에 해당 컬럼이 자주 사용되지 않을 때 - 검색 결과가 전체 데이터의 10%~15% 이상을 검색하는 경우 - 테이블에 DML(Data Manipulation Language) 작업이 많은 경우 (인덱스도 변경되어야 하기 때문) - 인덱스가 적용.. 2020. 6. 28. 해시(Hash) & 해시셋(HashSet) & 해시맵(HashMap) 해시(Hash) - 임의의 크기 데이터를 고정크기 데이터로 변환하는 것(해싱) HashTable - Key 값을 해시 함수로 계산(해싱)해서 배열의 인덱스를 저장 - 데이터가 저장되는 공간을 "버킷", "슬롯" 이라 함 - 키 전체 개수와 깉은 크기의 버킷을 가진 테이블을 Direct-adress table 이라 함 (충돌이 일어나지 않지만 공간 효율성 하락) HashTable과 HashMap 공통점 - 내부적으로 H ash 공법 사용 - Map 인터페이스 구현 - Key 와 Value 값 가짐 차이점 HashTable - 동기화 보장 O HashMap - 동기화 보장 X HashSet - 내부적으로 Hash 공법 사용하지만, Set인터페이스 구현(중복 X) 2020. 6. 28. AOP - 어드바이스(Advice) & 인터셉터(Intercepter) AOP(Aspect Oriented Programing) - 요청에 따른 처리를 하다보면 공통적인 처리부분이 있다. 예를들어 모든 트랜잭션이 종료된 후 로깅이란 과정을 반드시 수행한다고 했을 때 로깅 수행은 트랜잭션에 상관없이 공통적으로 수행되는 부분이다. 이와같이 프로그램을 횡단하는 곳에 나타나는 공통적인 코드를 횡단적 관심사(Crosscutting Concern)이라고 한다 공통된 부분을 모듈화(클래스로 생성)하고 호출코드만으로 사용한다. AOP는 호출코드까지 생략시켜 완전한 코드의 분리를 만든다. 필터(Servlet filter) - 스프링 프레임워크와 무관하게 지정된 자원에 대해 동작 - 스프링은 Dispatcher Servlet 으로부터 시작되므로 필터는 스프링 컨텍스트 밖에 존재(스프링과 관계.. 2020. 6. 28. ORM(Object-Relational Mapping), JPA(Java Persistence API) ORM - 객체는 객체대로, 관계형DB는 DB 대로 설계를 따로 함 - ORM은 객체와 RDB 두 기둥 위에 있는 기술 JPA - ORM 기술 표준 - 인터페이스의 모음 JPA의 유지보수 측면 - 기존 : 필드 변경시 모든 SQL을 수정해야 함 - JPA : 필드만 추가하면 JPA가 알아서 SQL을 수정함 특징 - 객체 그래프를 완전히 자유롭게 탐색 가능 - 지연로딩 전략(Lazy Loading) 사용 -> 객체를 사용하는 시점에 SELECT 쿼리로 객체를 가져오는 전략 - 트랜잭션을 커밋하기 전까지 메모리에 INSERT 쿼리를 쌓음 작동순서 개발자가 JAVA 어플리케이션에서 JPA 사용 - JPA 내부에서 JDBC API를 사용 - SQL 호출 - DB와 통신 2020. 6. 28. 이전 1 ··· 9 10 11 12 13 14 다음 반응형