2025년 1월 28일
[PostgreSQL] 제1부. 튜토리얼 - 1장. 시작하기
## 1.1. 설치하기
PostgreSQL을 사용하기 위해서는 먼저 설치 과정이 필요하다. 운영체제에 이미 포함되어 있거나 시스템 관리자가 설치했을 수 있다. 이런 경우에는 운영체제 문서나 시스템 관리자에게 Po...
2025년 1월 28일
[PostgreSQL] 제1부. 튜토리얼
PostgreSQL 튜토리얼에 온 것을 환영한다. 이 튜토리얼은 PostgreSQL 데이터베이스 시스템과 관계형 데이터베이스의 핵심 개념, 그리고 SQL 언어의 기초를 소개한다. 기본적인 컴퓨터 사용법만 알고 있다...
2025년 1월 28일
[PostgresSQL] 서문
> 알림: [PostgreSQL 17 공식 문서](https://www.postgresql.org/docs/17/index.html)를 한글로 번역한 글입니다.
이 책은 PostgreSQL의 공식 문서다. Pos...
2024년 12월 6일
React v19 안정화 버전 출시
# React v19
2024년 12월 5일, React 팀
___
### 주목할 점
### React 19 안정화 버전 출시!
2024년 4월에 공개된 React 19 RC 이후 추가된...
2024년 11월 23일
String.prototype.trimStart와 String.prototype.trimEnd 메서드
ES2019에서는 [`String.prototype.trimStart()`와 `String.prototype.trimEnd()` 메서드](https://github.com/tc39/proposal-string-le...
2024년 11월 23일
Function.prototype.toString 메서드의 개선
[`Function.prototype.toString()`](https://tc39.es/Function-prototype-toString-revision/) 메서드가 개선되어 이제 공백과 주석을 포함한 정확한 소...
2024년 11월 23일
동적 임포트(dynamic import)
[동적(dynamic) `import()`](https://github.com/tc39/proposal-dynamic-import)는 기존의 정적(static) `import`를 보완하는 새로운 기능이다. 함수...
2024년 10월 21일
Promise.prototype.finally
`Promise.prototype.finally`는 Promise가 *처리됐을 때*(즉, resolve되거나 reject됐을 때) 실행할 콜백을 등록할 수 있게 한다.
웹 페이지에 표시할 데이터를 가져오는 상...
2024년 10월 21일
Intl.PluralRules
국제화는 쉽지 않다. 복수형 처리는 언뜻 간단해 보이지만, 실제로 모든 언어마다 고유한 복수형 규칙이 있어 복잡하다.
영어의 복수형은 두 가지 경우만 있다. "cat"이라는 단어를 예로 들어보자:
- 1...
2024년 10월 20일
객체의 rest와 spread 속성
객체의 rest와 spread 속성에 대해 설명하기 전에, 비슷한 기능을 먼저 살펴보자.
## ES2015의 배열 rest와 spread 요소
ECMAScript 2015에서는 배열 구조 분해 할당을 위...
2024년 10월 20일
렌더 트리 구성, 레이아웃, 페인트
CSSOM과 DOM 트리는 렌더 트리로 합쳐진다. 이 렌더 트리는 모든 가시적 엘리먼트의 레이아웃을 계산하고, 화면에 픽셀을 그리는 페인트 과정의 입력으로 사용된다. 최적의 렌더링 성능을 달성하려면 이 모든 단계를...
2024년 10월 20일
DOM 과 CSSOM 객체 모델 구축
브라우저가 페이지를 렌더링하기 전에 DOM과 CSSOM 트리를 구축해야 한다. 따라서 HTML과 CSS를 최대한 빠르게 브라우저에 전달해야 한다.
## 요약
- 바이트 → 문자 → 토큰 → 노드 → 객체...
2024년 9월 14일
React 19의 새로운 기능
React 19가 곧 출시됩니다. React 코어 팀이 지난 4월에 [React 19 릴리즈 후보(RC)를 공개했습니다](https://react.dev/blog/2024/04/25/react-19#new-feat...
2022년 5월 6일
VSCode에서 HTML API 자동완성을 쉽게 사용하는 방법은?
Visual Studio Code에서 HTML API를 쓸 때, 타입스크립트를 적용하지 않고 자동완성 기능을 사용할 수 있다. VSCode는 JSDoc을 지원하기 때문에 [JSDoc](https://jsdoc.ap...
2022년 5월 2일
Firebase Functions 환경 변수 정의 및 사용하기
Node 에서 `process.env.some_secret_key` 와 같이 환경 변수를 사용하는 경우가 많다. Firebase fuctions를 사용할 때, 이런 부류의 환경 변수가 필요한 경우가 있다. 그럴...
2022년 3월 1일
타입스크립트로 Optional<T> 표현하기
타입스크립트는 enum 타입을 지원하지만 아쉽게도 Swift나 Rust 처럼 enum에 associated type(이하 연관타입) 을 지원하지 않는다. 연관 타입을 가진 enum을 지원하는 언어는 Optional...
2022년 2월 13일
Swift 스크립트에서 로컬 파일 읽기
sync 방식으로 파일을 읽는 방법은 많다. 제일 간단한 방법은 `String(contentOfFile:)` 을 사용하는 것이다. Swift 5.5 에 추가된 async/await 를 적용하면 비동기로 파일을 읽을...
2022년 2월 13일
가장 빠르게 Swift 코드 실행하기
이 글은 최적화에 관한 내용이 아니다. 간단한 Swift 코드를 작성하고 실행할 때, Xcode Playground 말고 다른 방법으로 Swift 코드를 빠르게 실행하는 방법에 관한 이야기다.
## Xcode...
2022년 1월 29일
Swift Type Eraser Wrapper 패턴 이해하기
Swift 언어를 잘 활용하기 위해서는 Protocol을 잘 다뤄야 한다. 특히 라이브러리를 제작하고 배포할 때 더 그러하다. Protocol을 사용하면 자주 마주치는 컴파일 오류가 있다.
```swift
...
2022년 1월 13일
Google Sheet API 인증
https://developers.google.com/sheets/api 를 사용하여 비공개(private) Google Sheet 에 접근해야할 때, 인증부분에서 겪은 삽질을 공유한다.
## API KEY
...