본문 바로가기

분류 전체보기

(403)
비동기 문법과 병렬처리, Node.js의 병렬처리 방식에 대해 Javascript의 비동기 문법 정리자바스크립트는 싱글 스레드 매커니즘을 사용하는 언어이기 때문에 모든 명령은 순차적으로 작동한다. 이것을 동기라고 부른다.동기 방식은 간단하고 직관적이지만 작업이 오래 걸리거나 응답이 늦어지는 경우엔 프로그램 실행 중간에 붕 뜨는 시간이 발생한다. 따라서 자바스크립트는 비동기(Asynchronous)라는 개념을 도입하여 다른 동작을 동시에 수행할 수 있도록 하였다.자바스크립트는 싱글 스레드인데 어떻게 작업을 동시에 처리하지?자바스크립트는 크게 힙, 콜스택, 이벤트루프, Web API, Callback Queue로 이뤄진다. 자바스크립트를 직접 실행하는 콜스택은 싱글스레드지만 서버에게 리소스를 요청하거나 파일 입출력 혹은 타이머 대기 작업을 실행하는 Web Apis는 멀..
네이버 부스트캠프 첼린지 2주차 회고 벌써....? 반을 했다고....?? 라는 생각이 먼저 든다. 베이직의 2배 되는 일정인데 오히려 짧다고 느껴진다. 과제 하나하나의 무게감이 달라서 일까? 아무튼, 1주차 회고를 쓴 지 7시간도 안된 것 같은데 7일만에 다시 작성한다. 나는 성장했는가.네이버 부스트캠프의 가장 중요한 것은 지속가능한 성장이다. 한번 확 성장하고 끝이 아니라 계속해서 지속적으로 성장하는 법을 배우는 곳이다. 하루하루 고난이도 과제를 수행하고 내것으로 만들며 성장하는 것이 첼린지 과정의 목표다. 난 지난 2주간 과제를 해결하고 해석하는 법을 배운 것이지 아직까지 성장을 위한 학습법을 배운 것 같지는 않아서 아쉬운 부분이다. 하지만 난이도가 어렵다보니 결국 과제를 끝내면 늦은 새벽이고 학습에 시간을 많이 사용하지 못하다보니 이..
프로세스와 스레드/멀티스레드 개념과 자바스크립트의 동작원리
함수형 프로그래밍의 정의와 사용해야하는 이유 1. 순수 함수 (Pure Functions)순수 함수는 동일한 입력값에 대해 항상 동일한 출력값을 반환하며, 외부 상태를 변경하지 않습니다.2. 불변성 (Immutability)자바스크립트에서 불변성을 유지하기 위해, 원본 데이터 구조를 변경하는 대신 새로운 데이터를 생성합니다.3. 고차 함수 (Higher-Order Functions)고차 함수는 다른 함수를 인자로 받거나 함수를 반환하는 함수입니다.4. 함수의 일급 객체 (First-Class Functions)자바스크립트에서는 함수가 변수에 저장되거나, 인자로 전달되거나, 반환값으로 사용될 수 있습니다.5. 함수 조합 (Function Composition)함수 조합은 여러 함수를 결합하여 새로운 함수를 만드는 방법입니다.요약자바스크립트에서 함수형..
URL에서 파일 경로를 다루는 방식과 왜 필요한가 파일을 다운받거나 요청할 때 개발자는 URL 을 통해 경로를 넘겨준다. scheme://host:port/path?query#fragmentscheme: 프로토콜 (예: http, https, ftp)host: 도메인 또는 IP 주소port: 서버 포트 (옵션, 기본 포트는 생략 가능)path: 자원의 경로 (파일 시스템에서의 위치와 유사)query: 쿼리 문자열 (옵션, 자원에 추가적인 정보를 전달)fragment: 문서의 특정 부분을 가리키는 조각 식별자 (옵션)서버 측 처리서버 측에서는 URL의 경로를 해석하여 해당 파일이나 자원을 찾는다. 웹 서버는 URL의 경로를 파일 시스템의 경로로 변환하여 요청된 자원을 제공한다. 예를 들어, Apache나 Nginx 서버는 URL을 파일 시스템의 경로와 매..
SoftWare TEST 4레벨 / Javascript 유닛 테스트 라이브러리 vs 모듈 vs 클래스 라이브러리 : 기능의 집합, 여러 모듈들이 이루어져 있다.모듈 : 함수와 클래스들의 집합으로 하나의 역하을 해낸다.클래스 : 하나의 책임을 위한 필드와 메소드들이 모인 집합 정규 표현식 정규표현식에서 사용되는 기호를 Meta문자라고 표현한다. 표현식에서 내부적으로 특정 의미를 가지는 문자를 말한다. 표현식의미^x문자열의 시작을 표현하며 x로 시작됨을 의미한다.x$문자열 종료를 의미하며 x문자로 종료됨을 의미한다..x임의의 한 문자의 자리수를 표현하며 x문자가 한 번 이상 반복됨을 의미한다.x?x문자가 존재할수도 안할수도 있다.x*반복 여부를 표현하며 x문자가 0번 또는 그 이상 반복된다.x|yor를 표현하며 x또는 y문자가 존재함을 의미한다.(x)그룹을 표현하며 x를 그..
객체지향 5원칙 SOLID 분석 1. S : Single Responsibility : 단일 책임 원칙클래스는 단 한개의 책임을 가져야 함클래스를 변경하는 이유는 단 하나여야 함이를 지키지 않으면, 한 책임의 변경에 의해 다른 책임과 관련된 코드에 영향을 미칠 수 있음→ 이렇게 되면 유지보수가 매우 비효율적-> 그러나, "책임" 이란 뭘까? 세상엔 많은 책임이 존재하지만 막상 뭐라고 정의하기 어렵다. SRP 에서 이야기하는 책임이란, '기능' 정도로 생각하면 된다. 만약 한 클래스가 수행할 수 있는 기능 (책임) 이 여러 개라면, 클래스 내부의 함수끼리 강한 결합을 발생할 가능성이 높아진다. 응집도는 높고 결합도는 낮은 프로그램을 설계하는 것이 비로소 객체지향 설계의 핵심인데, 이것이 위반되는 것이다. 새로운 요구사항이나 프로그램 변경..
네이버 부스트캠프 첼린지 1주차 회고 개인적으로 2차 테스트를 모두 풀긴했지만 2문제에서 실수를 하여 합격하지 못할 것 같다고 생각해서 베이직 과정을 수료한 것 만으로 좋은 경험이었다고 자기위로를 하고 있었는데, 운 좋게 첼린지 합격 메일을 받았다. 첼린지는 4주동안 하루하루 CS지식을 기반으로한 과제가 주어졌다. 이 과제는 대학 CS 과목의 주요과제와 유사했다. 개인적으로 컴퓨터공학과를 전공한 졸업생이기 때문에 문제에 적응할 수 있었던 것 같다. 만약 저학년이라거나 비전공자였다면 이게 무슨 말인지 이해조차 못했을 것 같다. 첼린지는 내 생각보다 곱절로 빡셌다. 첫날부터 어려운 구현과제가 주어졌고, 정해진 해답 없이 생각을 강요하는 부스트캠프 과정인데 순수 난이도가 올라가니 문제를 설계하고 구현하다보면 어느샌가 해가 떨어져 있었다. - 지속..