반응형 개발공부102 자주 사용하는 자바스크립트 문법 let 선언자 재선언 되면 에러를 발생 재선언으로 코드 전체에 영향을 주는 것을 예방하기 위해 var 대신 let을 사용하는 것이 권장된다. const 선언자 이미 선언된 변수에 값을 재할당하거나 재선언 하려고 하면 에러가 발생한다. ex) 날짜 포맷 값 const dateFormat = 'yyyy.MM.dd'; 화살표 함수 Arrow function 일반 함수 선언식에 비해 구현해야하는 코드의 양이 줄어든다. sort() 배열 오름차순 정렬 실무에서는 object의 특정 키를 기준으로 sort let persons = [ { name: "aa", point: 78 }, { name: "bb", point: 50 }, { name: "cc", point: 99 } ] persons.sort(functio.. 2023. 5. 27. NodeJS 크롤링 만들어보기 (cheerio) 크롤링 웹페이지 안에 있는 필요한 데이터를 추출하는 것 크롤링에 필요한 모듈은 2가지가 있다. axios Promise API를 활용하는 HTTP 비동기 통신 라이브러리 크롤링 할 웹페이지를 가져오는데 사용한다. cheerio HTML 문서를 파싱하여 필요한 정보만을 가져올 수 있도록 도와주는 모듈이다. jQuery 문법과 유사하다. 1. 폴더 생성 2. npm 초기화 npm init -y 3. 필요한 패키지 설치 axios, cheerio, express npm i axios cheerio express nodemon npm i -g nodemon 4. index.js 코드작성 크롤링 할 사이트와 DOM 구조에 맞게 가져오도록 작성하기 나는 조만간 일본 여행을 갈 예정이라서 네이버에 “도쿄 여행” 이라.. 2023. 5. 27. [Node.js 프로젝트 투입 일주일 전] 클러스터 모드 Nodejs는 싱글 스레드로 동작하고 단일 CPU 코어에서 실행된다. Nodejs 클러스터 = Primary 프로세스 + Worker 프로세스 primary 프로세스는 CPU 수만큼 포크해서 worker 프로세스를 만든다. worker 프로세스는 처리해야 할 비즈니스 로직을 구현해서 CPU 자원을 모두 사용하여 병렬로 처리하도록 한다. PM2 Nodejs의 프로세스 관리 대표적인 도구이며, 더 쉽게 클러스터 모드 실행이 가능하다 2023. 5. 21. [Node.js 프로젝트 투입 일주일 전] 모듈 Module Require/Import 모듈 Module : 분리된 각각의 자바스크립트 파일, 각 파일은 특정한 목적을 가진 여러 개의 함수와 변수의 집합 사용하는 이유: 재사용을 위해! 함수와 변수를 객체에 담고 다른 자바스크립트 파일에서 사용하기 위해 module.exports에 대입하면 모듈로 적용된다. 모듈로 만들어진 자바스크립트 파일은 require()함수를 통해 가져올 수 있다. Require VS Import 둘 다 외부 모듈/라이브러리를 불러오는데 사용된다. Import라는 es6 모듈 시스템을 많이 사용하는 추세이지만, 태그를 사용하는 브라우저 환경에서나, NodeJS 환경 또는 Babel 사용이 불가할 때 Require 를 사용하므로 알아둬야한다. commonjs equire / exports es6 import / expo.. 2023. 5. 21. [Node.js 프로젝트 투입 일주일 전] Nodejs 란? 회사 동료와 함께 읽기로 구매하고, 1회 완독 하였다~ 그 후 포인트 정리하기! Nodejs란 ? Chrome V8 엔진으로 빌드된 Javascript 런타임이다. Nodejs 특징 특징1) 논블로킹 I/O 자바스크립트는 한번에 하나의 작업을 처리하지만 I/O 작업의 경우는 동시에 처리가 가능하다. ex) 파일 읽기/쓰기, 데이터베이스 데이터 전송/조회 * 논블로킹: 함수를 호출하면 해당 함수에 제어권을 넘겨줘 다른 작업을 바로 진행할 수 있도록 하는 방식 (= 비동기) * 블로킹: 함수를 호출하면 해당 함수가 작업을 마칠때까지 제어권을 주지 않고 대기하는 방식 (= 동기) 특징 2) 싱글 스레드 * 프로세스: 작업 처리를 위해 작업 단위를 두고 프로세스를 통해 작업을 처리한다. * 스레드: 프로세스 안.. 2023. 5. 17. [공유] Clean Code PHP 한글판 clean code PHP 버전으로 만든 문서를 한글로 번역한 Git Readme 문서를 봤는데 간단한 코드 예제와 함께 클린 코드 규칙을 잘 설명해주어서 공유하게되었습니다. GitHub - yujineeee/clean-code-php: Clean Code PHP 한글판 :bathtub: Clean Code PHP 한글판. Contribute to yujineeee/clean-code-php development by creating an account on GitHub. github.com Robert C. Martin의 책, 소프트웨어 엔지니어링의 교과서라고 불리는 Clean Code PHP 버전입니다. 이 문서는 스타일 가이드가 아닙니다. PHP로 읽기 쉽고 재사용 가능하며, 리팩토링이 쉬운 소프트.. 2023. 5. 16. [SpringBoot 통신] RestTemplate, WebClient 서버로 웹 요청을 보내고 응답을 받을 수 있게 도와주는 RestTemplate 과 WebClient RestTemplate 스프링에서 HTTP 통신 기능을 손쉽게 사용하도록 설계된 템플릿 RESTful 원칙을 따르는 서비스를 편리하게 만들 수 있다. 동기 방식으로 처리되며, AsyncRestTemplate를 사용하면 비동기 방식으로 사용할 수 있다. 현업에서 많이 쓰이지만 지원이 중단된 상태여서 최신 버전에서는 WebClient 사용을 권고한다. WebClient Reactor 기반으로 동작하는 API 스레드와 동시성 문제를 벗어나 비동기 형식으로 사용할 수 있다. 특징 Non-Blocking I/O 를 지원한다 Reactive Streams의 Back Pressure를 지원한다 적은 하드웨어 리소스로 .. 2023. 5. 9. 객체지향 패러다임 적절한 객체에게 적절한 책임을 할당하여 서로 메시지를 주고 받으며 협력하도록 하는 것 점점 증가하는 sw 복잡도를 낮추기 위해 객체지향 패러다임 대두 높은 응집도, 낮은 결합도 -> 유지보수가 용이하다. 영향도를 파악할 수 있어야 한다. 중요한 포인트! 1. 클래스가 아닌 객체에 초점을 맞추는 것 2. 객체들에게 얼마나 적절한 역할과 책임을 할당하는지 절차지향 프로그래밍 vs 객체지향 프로그래밍 절차 지향 - 책임이 한곳에 집중해 있는 방식 (getter) 객체지향 - 책임이 여러 객체로 적절히 분산돼 있는 방식 객체지향 설계 시 고려할 것 1. 도메인을 구성하는 객체에는 어떤 것들이 있는지 고민 2. 객체들간의 관계를 고민 3. 동적인 객체를 정적인 타입으로 추상화해서 도메인 모델링 하기 4. 협력을 .. 2023. 4. 12. [Spring Boot] 예외처리 Exeption 클래스 구분 Chekcked Exception Unchecked Exception 처리 여부 반드시 예외처리 필요 명시적 처리를 강제하지 않음 확인 시점 컴파일 단계 실행 중 단계 대표적인 예외 클래스 IOExceiption SQLException RuntimeException NullPointerException IllegalArgumentException IndexOutOfBoundException SystemException uncheked exception 은 문법상 문제는 없지만 예기치 않은 상황이 생겨 발생하는 예외이다. 예외처리 방법 1. 예외 복구 - try catch 2. 예외 처리 회피 - throw 예외가 발생한 메서드를 호출한 곳에서 에러 처리를 할 수 있게 전가하는.. 2023. 3. 28. 이전 1 2 3 4 5 6 7 8 ··· 12 다음 728x90 반응형