Skip to content

Instantly share code, notes, and snippets.

View yukikim's full-sized avatar
😵
It is busy

takayuki_kimura yukikim

😵
It is busy
View GitHub Profile
@yukikim
yukikim / sample.tsx
Last active November 10, 2024 23:53
[tsx]コンポーネント間のデータ共有
//### 1. プロパティ(Props)を使う
//親コンポーネントから子コンポーネントにデータを渡す最も基本的な方法です。
// ParentComponent.tsx
import React from 'react';
import ChildComponent from './ChildComponent';
@yukikim
yukikim / Sample.tsx
Created November 13, 2024 05:05
アコーディオン
TypeScript と React を使ってアコーディオンを作成する方法をご紹介します。以下は、シンプルなアコーディオンコンポーネントの例です。
### 1. 必要な環境をセットアップ
まずはプロジェクトをセットアップし、必要なパッケージをインストールします。
```bash
npx create-react-app my-accordion-app --template typescript
cd my-accordion-app
npm start
@yukikim
yukikim / sample.ts
Created November 14, 2024 06:50
Node[typescript]APIからデータを
// axios を使う方法
import axios from 'axios';
async function fetchData() {
try {
const response = await axios.get('https://api.example.com/data');
console.log('データ取得成功:', response.data);
} catch (error) {
console.error('データ取得エラー:', error);
@yukikim
yukikim / sample.md
Created November 14, 2024 07:29
Node jsonToCsv

TypeScript と Node.js を使って JSON データを CSV に変換する方法について解説します。

以下では、json2csv ライブラリを使って簡単に JSON を CSV に変換する方法を紹介します。

1. json2csv ライブラリのインストール

json2csv は、Node.js の環境で JSON を CSV に変換するための人気のライブラリです。

@yukikim
yukikim / sample.md
Created November 14, 2024 07:46
React非同期コンポーネント

TypeScript と React を使って非同期 (async) コンポーネントを作成する方法について説明します。非同期処理が必要な場合、通常は API リクエストやデータフェッチを行うことが多いです。このため、非同期コンポーネントを作成するには、React の useEffectuseState フックを利用して、非同期処理をコンポーネント内で管理することが一般的です。

以下に、非同期コンポーネントの作成手順を示します。

1. 基本的な非同期コンポーネント

非同期データを取得する最も一般的な方法は、useEffect フックを使用してデータを取得し、useState フックでそのデータを保持することです。

import React, { useEffect, useState } from 'react';
@yukikim
yukikim / log.md
Created November 14, 2024 11:57
node ログ管理

Node.js でログ管理をするためのおすすめのモジュールとしては、winstonpinoがよく使われます。それぞれの特徴と基本的な使い方について解説します。

1. winston の概要と使い方

winston は、柔軟で多機能なロガーライブラリで、以下の特徴があります。

  • ログレベル: デフォルトで6つのログレベル(error, warn, info, http, verbose, debug)が用意されており、目的に応じたログの詳細度を設定できます。
  • トランスポート: ログをファイル、コンソール、データベースなど、複数の場所に出力できます。
  • フォーマット: JSON形式や独自フォーマットなどでログを出力できます。
@yukikim
yukikim / sample.md
Created November 14, 2024 15:35
express.js 非同期データを返す

fetch を使って非同期でデータを取得する場合も、同様に async/await を使います。fetch はブラウザでは直接使えますが、Node.js で使用する場合は node-fetch のようなパッケージが必要です。以下に例を示します。

1. 必要なパッケージをインストール

Node.js 環境で fetch を使用するために node-fetch をインストールします。

npm install node-fetch
@yukikim
yukikim / note.md
Created November 15, 2024 03:36
pino使い方

pinoexpress.jsアプリケーションに組み込むことで、リクエストごとのログやエラーログなどを効率よく管理できます。以下では、express.jspinoを使った詳細なログ管理の方法を紹介します。

1. pinopino-httpのインストール

pinoに加えて、express.jsに特化したpino-httpというミドルウェアを利用します。これにより、HTTPリクエストやレスポンスに関するログを簡単に記録できます。

npm install pino pino-http
@yukikim
yukikim / note.md
Created November 15, 2024 04:03
fetchでpino

fetchで行うリクエストの前後にpinoを利用して、リクエスト内容やレスポンス、エラーのログを記録する方法を紹介します。fetchは通常クライアントサイドで使用されますが、Node.js環境でもnode-fetchなどを使えば同様に使用可能です。

以下に、pinoを使ってfetchリクエストをラップする方法を解説します。

1. 必要なライブラリをインストール

Node.js環境でfetchを使用する場合は、node-fetchをインストールします。また、pinoをインストールして、ロギング機能を追加します。

npm install pino node-fetch
@yukikim
yukikim / info.md
Last active November 15, 2024 07:58
log設定log4js

log.ts

import log4js from "log4js";
import path from "path";
import util from "util";

const logDirectory = path.join(process.cwd(), "logs");
const logLayout = {
  type: "pattern",