공부/자잘한 정보
-
2월 13일 - 클린코드(1)공부/자잘한 정보 2022. 2. 13. 16:47
함수는 최대한 작게 만들어라. 함수는 한 가지 행동을 해야 한다. 함수 당 추상화 수준은 하나여야한다.
-
2월 12일 - postgresql 인덱싱 자잘자잘공부/자잘한 정보 2022. 2. 12. 23:28
1. postgresql에서 인덱스를 추가할 때는 기본적으로 btree를 사용한다. 2. 아래 2개의 쿼리 실행계획을 보면 seasonID 기반은 왼쪽, season을 사용한 쿼리플랜은 오른쪽인데 seasonID에는 인덱싱이 적용되어 있다. explain analyze select * from "Club" where "seasonID" = '1909' explain analyze select * from "Club" where "seasonID" = '1909' 3. bitmap heap scan은 seq scan과 비슷하지만 seq scan은 모든 디스크 페이지를 접근하는 반면 bitmap heap scan은 인덱스를 통해 필요한 디스크 페이지에만 접근을 한다고 함. 4. 근데 또 아래 처럼 쿼리를 날..
-
2월 10일 - node.js 이미지 파일 다운로드 및 저장하기공부/자잘한 정보 2022. 2. 10. 22:46
import request from "request"; request.head(가져올 이미지의 URL, (err, res, body) => { request(가져올 이미지의 URL) .pipe(fs.createWriteStream(저장할 경로)) .on("error", (error) => { console.log(console.log(error)); }) .on("close", () => { console.log("끝"); }); });
-
2월 8일 - 중첩된 if else 문 해결하기공부/자잘한 정보 2022. 2. 8. 23:34
중첩 if 문은 코드의 제어 흐름을 흐리게 한다는 문제가 있다. 방법 1. Bubble Style 보다는, Gateway Style의 코드를 작성한다. Bubble은 성공 케이스를 리턴하는 것, Gateway Style은 실패 케이스를 먼저 떨궈내는? 그런 방식이라고 함 방법 2. if 문이 있는 코드를 따로 함수로 빼는 것 만으로도 가독성이 좋아진다. 방법 3. 병렬적으로? if else 문을 작성한다. 개인 취향이 있을 것 같지만, 위쪽 코드보다는 아래 쪽 코드가 제어흐름을 따라가기가 좋아보인다.
-
2월 7일 - cname, a record공부/자잘한 정보 2022. 2. 7. 21:02
캐노니컬 네임 레코드(Canonical Name record), 줄여서 CNAME 레코드(CNAME record)는 하나의 도메인 네임(에일리어스)을 다른 이름(표준 형식의 이름)으로 매핑시키는 도메인 네임 시스템(DNS)의 리소스 레코드의 일종이다. 커스텀 도메인을 사용하기 위해서는 cname과 a레코드 같은 정보를 DNS 서비스 홈페이지에 등록해야 한다. cname은 IP가 자주 변경되는 환경에서 유리하다, 단점은 여러번 DNS 정보를 요청해야 한다. a 레코드의 장점은 한번의 요청으로 찾아갈 수 있으나 IP가 자주 바뀌는 환경에서는 번거롭다. 참고글 https://ko.wikipedia.org/wiki/CNAME_%EB%A0%88%EC%BD%94%EB%93%9C CNAME 레코드 - 위키백과, 우리..