Computer Science6 Mysql 풀텍스트인덱스(Full-Text Index) LIKE 문을 통한 검색 기능의 문제점// Index 스캔 가능SELECT * FROM table WHERE name LIKE 'something%';// 풀 스캔 때려 버림SELECT * FROM table WHERE name LIKE '%something%';SELECT * FROM table WHERE name LIKE '%something';%something% 연산은 DB 인덱스의 B+ Tree의 장점을 활용할 수 없고 Full Scan할 수 있는 문제가 있습니다. B+Tree 인덱스 LIKE 연산시 Full Scan 하는 이유B+ 트리 특성상 리프 노드의 데이터는 사전첨 순차적으로 저장됩니다. 그렇기 때문 %연산이 좌측에 있을 경우 결국 처음 리프노드부터 순차적으로 찾아봐야 되기 때문에 결국 .. 2024. 5. 8. 클로저(Closure) MDN 클로저클로저는 주변 상태(어휘적 환경,렉시컬 환경(Lexical Enivronment))에 대한 참조와 함께 묶인(포함된) 함수의 조합클로저는 내부 함수에서 외부 함수의 범위에 대한 접근을 제공합니다클로저는 자신이 생성될 때의 환경(Lexical environment)을 기억하는 함수 스코프 범위스코프는 해당 함수를 실행시키는 환경을 의미하며, 스코프는 함수를 호출할 때가 아니라 함수를 어디에 선언하였는지에 따라 결정됩니다. 이를 결정하는 것을 렉시컬 스코핑(Lexical Scoping)이라고합니다. function outerFunction () { var x = 10; var innerFunc = function () { console.log(x); }; innerFunc();}outerF.. 2024. 4. 24. 코루틴(Coroutine) 코루틴- Co-Routine :동시 실행 루틴- Routine: 하나의 태스크로 함수 실행 단위이며, 경량 스레드라고 부름- 정리하면 코루틴은 스레드안에서 실행되는 일시 중단 가능한 작업의 단위 스레드(Thread)를 사용하는 이유위의 작업 화면 그리기, 네트워크 작업, 터치하기를 하나의 작업(스레드, 함수에서) 이루어지면 각 프로세스가 처리된 다음에 처리 되기 때문에 사용자 입장에서는 서비스가 멈추어 있는 거 처럼 보인다. 그래서 2개 이상의 작업을 사용해 동시에 실행시켜 실시간으로 동시에 처리되겠끔 보이도록 한다. 스레드의 문제점- Thread1 처리에 대해서 Thread2의 처리 결과를 필요할 시, Thread1의 작업은 그 즉시 실행이 멈추고 Thread2의 실행이 완료될 때 까지 기달린다. 이때.. 2024. 4. 24. 순수함수(Pure Function) 순수함수란?순수함수는 부수효과(side Effects)가 발생하지 않는 함수 부수함수(Side Effects)란?함수가 만들어진 목적과는 다른 효과 또는 부작용으로 함수에 예상할 수 없는 일이 생길 가능성이 존재한다면 이 함수는 부수 효과를 가질 수 있는 함수함수 안팎에서 뭔가 예기치 않은 일이 생길 가능성이 있는 함수는 순수 함수가 될 수 없습니다.불순 함수 예)비동기 요청을 보내는 함수: 요청이 실패할 수 있기 때문에 순수함수가 안됨입력을 포함하는 함수: 입력에 따라 출력이 달라질 가능성이 있기 때문에 안됨매개변수로 들어온 값을 직접 변경하는 함수: 반환값이 달라지기 때문에 안됨 불순 함수(impure funct) 코드// http 요청을 보내는 함수 : 순수함수 될 수 없음const getData .. 2024. 4. 10. 코틀린(Kotlin) 코틀린이란?JetBrain 사(IntelliJ 개발사)가 만든 JVM 언어로, 만들 게 된 계기는 자바의 발전이 느려졌고 유용한 기능이 자바에 없기 때문에 개발 코틀린의 주목적코틀린의 주목적은 현재 자바가 사용되고 있는 몯느 용도에 적합하면서도 더 간결하고 생산적이며 안전한 대체 언어를 제공합니다. 함수형 프로그래밍함수형 프로그래밍 패러다임은 함수를 기존 다른 값(int, boolean, float, Object 등)과 마찬가지로 다룬다는 생각에서 비롯된 패러다임특징- 함수를 다른 하수의 인수로 넘길 수 있음- 지역적으로 함수를 선언할 수 있습니다.- 변수에 저장할 수 있습니다.- 함수가 함수를 반환할 수 있습니다.=> 부수 효과가 없는 순수함수를 의미하며, 순수함수를 1급 객체로 간주하여 파라미터나 반.. 2024. 4. 7. 병렬처리(Parallel Processing) 병렬처리(Parrelel Processing)란?병렬처리란 여러 개의 작업을 동시에 실행하여서 효율을 높이는 것을 의미.현재 멀티 코어로 인해 성능이 매우 좋아짐병렬처리는 여러 쓰레드를 활용하는 방법이 있고, 여러 개의 프로세스를 활용하는 방법이 있으며 각각 멀티 쓰레드, 멀티 프로세싱이라고 부름.순차 처리 와 병렬 처리순차처리문제가 일련(순차)의 개별 명령어로 나누어져 있음.명령어들은 순차적으로 단일 프로세서에서 실행.어떤 한 순간에는 한 명령어만 실행. 병렬처리문제는 동시에 해결할 수 있는 개별적인 부분 문제로 나누어 짐.각 부분 문제는 일련(순차)의 명령어들로 세분화각 부분 문제의 명령어는 서로 다른 프로세서(코어-쓰레드)에서 동시에 실행된다.동시에 작업하는 과정 항상 제어와 조저의 알고리즘이 필요.. 2023. 4. 6. 이전 1 다음