본문 바로가기

분류 전체보기69

Javascript 메모리 관리 (가비지 컬렉션) 알고리즘 알아보기 자바스크립트의 메모리 관리 및 가비지 컬렉션과 관련해 공부한 내용에 대해서 포스팅을 작성해 보았습니다. 1. 가비지 컬렉션이란? (GC) 자바스크립트는 객체가 생성되었을 때 자동으로 메모리를 할당하고 쓸모 없어졌을 때 자동으로 해제한다. 그렇다면 메모리는 언제 생겨나고 없어질까? 메모리의 생존주기는 아래와 같다. 1-1. 메모리 생존주기 1) 필요할때 할당한다. 2) 사용한다. (읽기, 쓰기) 3) 필요없을 때 해제한다. 1)과 3)은 가비지 컬렉션을 사용하는 Javascript 에서는 암묵적으로 작동하며, C 언어와 같은 저수준 언어에서는 아래와 같이 명시를 해주어야 한다. #include int main() { int pNum = malloc(sizeof(int)); // 4 byte, int 형 데.. 2020. 10. 19.
2020 정보처리기사 실기 대비 내용 정리 21-30 2020 정보처리기사 실기를 대비하기 위해 보았던 관련 실기 책의 내용을 정리한 노트를 공유하는 포스팅입니다. 정보처리기사 실기를 공부하면서 개인적으로 중요하다고 생각되는 부분을 모아 정리하였습니다. 2020년 실기 3회 까지는 개념에 대한 설명 (서술형), 설명하는 개념에 대한 정답 서술 (단답형), SQL, 프로그래밍 (C++, Java, Python) 정도의 유형으로 출제되는 것 같습니다. - 키워드 : 테스트 케이스, 프로세스, 프레임워크, 테스트의 원칙, 시스템 명세서, UI 설계원칙, 테스트 분류, 통합 테스트, XML 21. 테스트 케이스 - 정의 : 요구 사항을 준수하는지 검증하기 위한 테스트 조건, 입력값, 결과 등 테스트 조건을 명시한 것 - 설계 기법 1) 명세기반 테스트 : 동등분할.. 2020. 10. 18.
2020 정보처리기사 실기 대비 내용 정리 11-20 2020 정보처리기사 실기를 대비하기 위해 보았던 관련 실기 책의 내용을 정리한 노트를 공유하는 포스팅입니다. - 키워드 : APM, SQL 성능개선 순서, 연계 메커니즘 및 시스템, 연계 데이터 식별 및 표준화 절차, 암호화 알고리즘, EAI, ESB 11. APM (Application Performance Management) - 정의 : 운영중인 시스템의 가용성 확보, 다운 타임 최소화 등을 통해 안정적인 시스템 운영을 위하여 부하량과 접속자 파악 및 장애진단을 하는 성능 모니터링 도구 - 유형 : 리소스 모니터링 (CPU, 메모리, 디스크), 엔드 투 엔드 모니터링 12. SQL 성능개선 순서 1) 문제 있는 SQL 식별 : APM, TKPROF, SQL-Trace 사용 2) 옵티마이저 통계 확.. 2020. 10. 15.
2020 정보처리기사 실기 대비 내용 정리 1-10 2020 정보처리기사 실기를 대비하기 위해 보았던 관련 실기 책의 내용을 정리한 노트를 공유하는 포스팅입니다. - 키워드 : 현행 시스템 파악, 요구사항 분석, UML, SRS, 데이터 모델링, 정규화, DML, DCL, TCL, PL/SQL 1. 현행 시스템 파악 절차 - 절차 : 구성/기능/인터페이스 파악 -> 아키텍처 및 소프트웨어 구성 파악 -> 하드웨어 및 네트워크 구성파악 2. 요구사항 개발 프로세스 상세 내용 - 절차 : 도출 -> 분석 -> 명세 -> 확인 - 필요성 : 범위 기준선 제공, 일정 및 원가 영향, 추적성 제공, Snowball Effect 현상 방지, Gold Plate 방지 - 분류 : 기능적(기능, 자료, 인터페이스, 사용자), 비기능적(자원, 성능, 보안, 품질) 3. .. 2020. 10. 14.
AbortController를 사용해 API 비동기요청 취소하기 최근 Javascript 웹 페이지 제작을 하면서 fetch를 통한 비동기요청이 진행되는 동안에 요청을 취소해야하는 기능구현이 필요하게 되었다. 페이지 이동, 취소 요청과 같은 이벤트가 발생하게 되면 이전 비동기요청을 취소하는 방법에 대해서 알아보다 이를 더 잘 이해하기 위해 포스팅을 작성하게 되었습니다. 1. AbortController 개요 Fetch 객체는 promise 객체를 리턴하는 비동기함수입니다. 원래 promise 객체는 자체 abort 기능이 없기 때문에 abortcontroller 를 통해서 비동기 동작 중단 기능을 구현 할 수 있습니다. - 사용해야 하는 이유 1) 필요하지 않은 API 호출을 취소하여 웹페이지 성능개선 2) API 호출로 인해 발생하는 비용 절감 2. 기본적인 사용방.. 2020. 10. 3.
백준 2357번 최솟값과 최댓값 - 문제 설명 N 개의 정수들이 있을 때, a번째 정수부터 b번째 정수까지 범위 중에서 제일 작은 정수 또는 제일 큰 정수를 찾아보자. - 입력 1) N (1 n; int i; for (i = 0; i > input[i]; } init(0, n - 1, 1); cout end || right < start) return INT_MAX; if (left = end) return tree[node].min; int mid = (start + end) / 2; return min(queryMin(start, mid, node * 2, left, right), queryMin(mid + 1, end, node * 2 + 1, left, right)); } int queryMax(i.. 2020. 10. 1.
백준 3109번 빵집 - 문제 설명 유명한 제빵자 김원웅은 빵집을 운영하고 있다. 원웅이는 지출을 줄이고자 근처 빵집의 가스관에 몰래 파이프를 설치하기로 하였고, 첫째 열은 근처 빵집의 가스관이고, 마지막 열은 원웅이의 빵집이다. (빵집이 있는 곳은 R*C 격자로 표현 가능) 원웅이가 설치할 수 있는 가스관과 빵집을 연결하는 파이프라인의 최대 개수를 구하는 프로그램을 작성해보자 - 입력 첫째 줄에 R과 C가 주어진다. (1 = c) continue; if (map[ny][nx] == 'x') continue; map[ny][nx] = 'x'; ret = max(ret, dfs_search(r, c, ny, nx)); if (ret) return ret; } return ret; } int install_pipe(int r, .. 2020. 9. 30.
백준 17420번 깊콘이 넘쳐흘러 - 문제 설명 기프티콘 N개 선물 받은 정우는 기한 연장을 최소 횟수로 연장을 하면서 기프티콘을 다 쓸 수 있도록 하고 싶다. - 조건 1) 한 기프티콘을 한 번 연장할 때마다 기한이 30일씩 늘어난다. 2) 남은 기프티콘 중 기한이 가장 적게 남은 기프티콘만 사용할 수 있다. 3) 하루에 여러 기프티콘을 사용하거나 연장하는 것 모두 가능하다. - 입력 첫 째 줄에 기프티콘의 수 N 이 주어진다. (1 N; int i; for (i = 0; i > A[i]; } for (i = 0; i > B[i]; } for (i = 0; i < N; i++) { arr.push_back({ A[i], B[i] }); } // 32 비트 정수 초과 경우 고려.. 2020. 9. 28.
웹 프론트엔드 개발자 면접 - Javascript (2) 웹 프론트엔드 개발자로서 면접을 볼 때 받게 될만한 기술 면접 질문리스트와 적절한 답변에 대해서 검색한 내용을 모두 취합하고 내용을 덧붙여서 포스팅을 작성해 보았습니다. * HTML, CSS, Javascript 카테고리로 나누어서 진행됩니다. (면접 질문과 그에 대한 답변을 얻은 곳의 출처는 하단에 표시하였습니다.) Javascript 15. Closure 함수 독립적인 (자유) 변수를 가리키는 함수, 클로저 안에 정의된 함수는 만들어진 환경을 기억한다. 함수 내에서 함수를 정의하고 사용한 형태, function closure() { let variable = 'hello';// 자유변수 return () => { return variable; } } - 외부에서 변수를 직접 접근하는 것을 제한할 수 .. 2020. 9. 26.