To create a TypeScript web application using Express.js that serves a simple REST API with endpoints for creating, reading, updating, and deleting records from an SQLite database, follow these steps:

1. Install Node.js and npm if you haven't already: https://nodejs.org/en/download/

2. Create a new directory for your project and navigate to it in the terminal.

3. Run `npm init -y` to create a package.json file with default settings.

4. Install necessary dependencies by running:
```
npm install express sqlite3 body-parser
```

5. Install TypeScript and other development dependencies by running:
```
npm install --save-dev typescript ts-node @types/node @types/express
```

6. Create a `tsconfig.json` file in the root of your project with the following content:
```json
{
  "compilerOptions": {
    "target": "es6",
    "module": "commonjs",
    "outDir": "./dist",
    "strict": true,
    "esModuleInterop": true
  },
  "include": ["src/**/*.ts"],
  "exclude": ["node_modules"]
}
```

7. Update the `scripts` section of your `package.json` file to include the following:
```json
"scripts": {
  "start": "ts-node src/index.ts",
  "build": "tsc",
  "serve": "node dist/index.js"
},
```

8. Create a `src` folder in the root of your project and add an `index.ts` file inside it with the following content:
```typescript
import express, { Request, Response } from 'express';
import bodyParser from 'body-parser';
import sqlite3 from 'sqlite3';

const app = express();
app.use(bodyParser.json());

const db = new sqlite3.Database(':memory:', (err) => {
  if (err) {
    console.error(err.message);
  }
  console.log('Connected to the in-memory SQLite database.');
});

db.serialize(() => {
  db.run(`CREATE TABLE records (
            id INTEGER PRIMARY KEY,
            name TEXT NOT NULL
          )`);
});

app.get('/records', (req: Request, res: Response) => {
  db.all('SELECT * FROM records', [], (err, rows) => {
    if (err) {
      throw err;
    }
    res.json(rows);
  });
});

app.post('/records', (req: Request, res: Response) => {
  const { name } = req.body;

  db.run('INSERT INTO records (name) VALUES (?)', [name], function (err) {
    if (err) {
      return console.error(err.message);
    }
    res.status(201).json({ id: this.lastID, name });
  });
});

app.put('/records/:id', (req: Request, res: Response) => {
  const { id } = req.params;
  const { name } = req.body;

  db.run('UPDATE records SET name = ? WHERE id = ?', [name, id], function (err) {
    if (err) {
      return console.error(err.message);
    }

    res.status(200).json({ id: Number(id), name });
  });
});

app.delete('/records/:id', (req: Request, res: Response) => {
  const { id } = req.params;

  db.run('DELETE FROM records WHERE id = ?', [id], function (err) {
    if (err) {
      return console.error(err.message);
    }

    res.sendStatus(204);
  });
});

const PORT = process.env.PORT || 3000;
app.listen(PORT, () => {
  console.log(`Server is running on port ${PORT}`);
});
```

9. Start your development server by running `npm start`. Your REST API should now be available at http://localhost:3000.

10. You can use a tool like Postman or curl to test your endpoints for creating, reading, updating, and deleting records from the SQLite database.

When you're ready to build your project for production, run `npm run build` followed by `npm run serve`.
SQLite 데이터베이스에서 레코드를 생성, 읽기, 업데이트 및 삭제하기 위한 엔드포인트가 있는 간단한 REST API를 제공하는 Express.js를 사용하여 TypeScript 웹 애플리케이션을 만들려면 다음 단계를 따르세요.

1. 아직 설치하지 않은 경우 Node.js 및 npm을 설치합니다(https://nodejs.org/en/download/

2). 프로젝트의 새 디렉터리를 생성하고 터미널에서 해당 디렉토리로 이동합니다.

3. `npm init -y`를 실행하여 기본 설정으로 package.json 파일을 생성합니다.

4. 실행하여 필요한 의존성을 설치합니다:
```
npm install express sqlite3 body-parser
```

5. 실행하여 TypeScript 및 기타 개발 종속성을 설치합니다:
```
npm install --save-dev typescript ts-node @types/node @types/express
```

6. 프로젝트 루트에 다음 내용으로 `tsconfig.json` 파일을 생성합니다:
```json
{
  "compilerOptions": {
    "target": "es6",
    "module": "commonjs",
    "outDir": "./dist",
    "strict": true,
    "esModuleInterop": true
  },
  "include": ["src/**/*.ts"],
  "exclude": ["node_modules"]
}
```

7. `package.json` 파일의 `scripts` 섹션에 다음을 포함하도록 업데이트합니다:
```json
"scripts": {
  "start": "ts-node src/index.ts",
  "build": "tsc",
  "serve": "node dist/index.js"
},
```

8. 프로젝트 루트에 `src` 폴더를 생성하고 그 안에 다음 내용을 담은 `index.ts` 파일을 추가합니다:
```typescript
import express, { Request, Response } from 'express';
import bodyParser from 'body-parser';
import sqlite3 from 'sqlite3';

const app = express();
app.use(bodyParser.json());

const db = new sqlite3.Database(':memory:', (err) => {
  if (err) {
    console.error(err.message);
  }
  console.log('Connected to the in-memory SQLite database.');
});

db.serialize(() => {
  db.run(`CREATE TABLE records (
            id INTEGER PRIMARY KEY,
            name TEXT NOT NULL
          )`);
});

app.get('/records', (req: Request, res: Response) => {
  db.all('SELECT * FROM records', [], (err, rows) => {
    if (err) {
      throw err;
    }
    res.json(rows);
  });
});

app.post('/records', (req: Request, res: Response) => {
  const { name } = req.body;

  db.run('INSERT INTO records (name) VALUES (?)', [name], function (err) {
    if (err) {
      return console.error(err.message);
    }
    res.status(201).json({ id: this.lastID, name });
  });
});

app.put('/records/:id', (req: Request, res: Response) => {
  const { id } = req.params;
  const { name } = req.body;

  db.run('UPDATE records SET name = ? WHERE id = ?', [name, id], function (err) {
    if (err) {
      return console.error(err.message);
    }

    res.status(200).json({ id: Number(id), name });
  });
});

app.delete('/records/:id', (req: Request, res: Response) => {
  const { id } = req.params;

  db.run('DELETE FROM records WHERE id = ?', [id], function (err) {
    if (err) {
      return console.error(err.message);
    }

    res.sendStatus(204);
  });
});

const PORT = process.env.PORT || 3000;
app.listen(PORT, () => {
  console.log(`Server is running on port ${PORT}`);
});
```

9. `npm start`를 실행하여 개발 서버를 시작합니다. 이제 http://localhost:3000.

10에서 REST API를 사용할 수 있어야 합니다. Postman 또는 curl과 같은 도구를 사용하여 SQLite 데이터베이스에서 레코드를 생성, 읽기, 업데이트 및 삭제하기 위한 엔드포인트를 테스트할 수 있습니다.

프로덕션용 프로젝트를 빌드할 준비가 되었으면 `npm run build`를 실행한 다음 `npm run serve`를 실행합니다.