動くコード図鑑技術記事現場の渡り方キャリア論すべての記事About

動くコード図鑑

$ ls -1 /library | wc -l → 619

触って動く、検証済みの正解集。

公開記事から抽出した全コードブロックを 1 つずつページ化。 ▶ ボタンで 実行ログを再生し、 さも今動いてるかのように出力を流す。

この図鑑の使い方

言語で絞る

C# / SQL / TypeScript / PowerShell / Bash でフィルタ。

▶ で実行

事前収録の出力を 1 行ずつ再生。 ぱっと結果が見える。

記事と接続

各 snippet は出典記事へのリンク付き。 文脈ごと読める。

絞り込み

snippet 一覧

71
SQL
-- ✅定石5-a: datetimeとdatetime2の精度差
DECLARE @dt1 datetime  = '2026-05-08 14:30:00.123';
DECLARE @dt2 datetime2 = '2026-05-08 14:30:00.123';

SELECT @dt1 AS dt_value, @dt2 AS dt2_value;
▶ 実行可

定石5: SQL Server datetime vs datetime2 —業務系JOIN事故の温床

C# DateTime と DateTimeOffset の違い・タイムゾーン処理の正解(業務SE本番事故編)#b343acd30a08
SQL
from rest_framework import generics
from .serializers import TodoSeriarizer

class CreateTodoViewSet(generics.CreateAPIView):
    serializer_class = TodoSeriarizer

CreateApiViewの超絶ミニマムな使い方

DjangoでCreateApiViewのミニマムな使い方と効かない場合に試してみること未収録#13aa00d89635
SQL
from django.db import models
from django.contrib.auth.models import User

# Todoは保持しているユーザー、タイトル、created,updatedを持っている。
class Todo(models.Model):

DjangoRestFrameWorkのCreateApiViewの使い方

DjangoでCreateApiViewのミニマムな使い方と効かない場合に試してみること未収録#08aa96828022
SQL
from rest_framework import serializers
from core.models import Todo


class TodoSeriarizer(serializers.ModelSerializer):

DjangoRestFrameWorkのCreateApiViewの使い方

DjangoでCreateApiViewのミニマムな使い方と効かない場合に試してみること未収録#047a48499eda
SQL
from django.shortcuts import render
from core.models import Todo
from rest_framework import viewsets,generics
from .serializers import TodoSeriarizer

DjangoRestFrameWorkのCreateApiViewの使い方

DjangoでCreateApiViewのミニマムな使い方と効かない場合に試してみること未収録#bd64c9e090d7
SQL
from django.urls import include, path
from rest_framework.routers import DefaultRouter
from .views import TodoViewSet,CreateTodoViewSet

app_name = 'todo'

DjangoRestFrameworkのgenericsはrouterが使えない

DjangoでCreateApiViewのミニマムな使い方と効かない場合に試してみること未収録#b36e79797695
SQL
from django.urls import include, path
from rest_framework.routers import DefaultRouter
from .views import TodoViewSet,CreateTodoViewSet

app_name = 'todo'

DjangoRestFrameworkのgenericsはrouterが使えない

DjangoでCreateApiViewのミニマムな使い方と効かない場合に試してみること未収録#6953355c619f
SQL
from django.db import models

class User(models..Model):
    name = models.CharField(max_kength = 1)

from django.db import models

DjangoでMigrateが通らない時に確認すること未収録#5cc34ac3dddb
SQL
#!/usr/bin/env python
"""Django's command-line utility for administrative tasks."""
import os
import sys
import pymysql

manage.pyにMysqlを入れる

DjangoでMigrateが通らない時に確認すること未収録#4e04a555ca62
SQL
from django.db import models

class Student(models.Model):
    name = models.CharField(max_length=20)
    age = models.IntegerField()

Modelの定義

DjangoでModelからTemplatesにデータを渡す方法と考え方未収録#45b66af486e9
SQL
from django.shortcuts import render

// ここでモデルのインポートをする。
from .model import student

View.pyの編集

DjangoでModelからTemplatesにデータを渡す方法と考え方未収録#4dd482ebbc53
SQL
from django.contrib import admin
from django.urls import path, include

urlpatterns = [
    path('admin/', admin.site.urls),

DRFで単純なSimpleJWTの導入は簡単だが

DRFでsimpleJWTを導入!ハッシュ化しないと正常に動かない!?未収録#148229e2b4cf
SQL
from django.db import models

# Todoはタイトル、完了フラグ、created,updatedを持っている。
class Todo(models.Model):
    title = models.CharField(max_length=100)

TodoのModel、シリアライザー、View

DRFでsimpleJWTを導入!ハッシュ化しないと正常に動かない!?未収録#8e3888c6fa12
SQL
from rest_framework import serializers
from core.models import Todo


class TodoSeriarizer(serializers.ModelSerializer):

TodoのModel、シリアライザー、View

DRFでsimpleJWTを導入!ハッシュ化しないと正常に動かない!?未収録#d2a11ec1f097
SQL
from core.models import Todo
from rest_framework import viewsets,permissions,generics
from .serializers import TodoSeriarizer


TodoのModel、シリアライザー、View

DRFでsimpleJWTを導入!ハッシュ化しないと正常に動かない!?未収録#316cb27d1413
SQL
from django.contrib.auth.models import User
from rest_framework.authtoken.models import Token
from rest_framework import serializers
from django.contrib.auth import get_user_model

これで安心かと思いきや

DRFでsimpleJWTを導入!ハッシュ化しないと正常に動かない!?未収録#e9c2ebb640ee
SQL
from django.shortcuts import render
from django.contrib.auth.models import User
from rest_framework import viewsets, generics, authentication, permissions
from rest_framework.exceptions import NotFound
from .serializers import UserSerializer

これで安心かと思いきや

DRFでsimpleJWTを導入!ハッシュ化しないと正常に動かない!?未収録#8801215d054f
SQL
from django.contrib.auth.models import User
from rest_framework.authtoken.models import Token
from rest_framework import serializers
from django.contrib.auth import get_user_model
from django.contrib.auth.hashers import make_password

パスワードハッシュ化して登録するロジックはシリアライザーに書く

DRFでsimpleJWTを導入!ハッシュ化しないと正常に動かない!?未収録#5e80da212893
SQL
-- これ、 EF6 が rename のつもりで吐く SQL の典型 (★危険)
ALTER TABLE [dbo].[Users] DROP COLUMN [Name];
ALTER TABLE [dbo].[Users] ADD [FullName] [nvarchar](256) NULL;
-- ↑ Name カラムのデータは消える

規律 ②: 自動生成 SQL を Update-Database -Script で吐かせて DBA レビュー (⏱ 10 分)

EF6 Code First Migration で本番事故を防ぐ 3 つの規律 — 業務 SE が踏むスキーマ自動生成の落とし穴未収録#3b347d7e7858
SQL
select *
from Company as a
inner join Employees as b
on(a.EmployeeId = b.Id)
where a.Id = @id
▶ 実行可

IncludeはSqlでいうところのJoinをして返してくれる

Asp.Net Core ApiのIncludeの使い方で盛大な勘違いをしていた件#a97d06bbb82f
SQL
-- 既存行があるテーブルに NOT NULL + 定数デフォルトを足す
CREATE TABLE dbo.受注 (受注ID int PRIMARY KEY, 金額 int);
INSERT INTO dbo.受注 VALUES (1, 1000), (2, 2000);
GO

▶ 実行可

1. NOT NULL + デフォルト値の組み合わせで挙動が割れる

SQL Server で本番テーブルにカラムを追加する時、業務SEが気をつける3つのこと#d2eedd1ebe08
SQL
-- 可変長NULLは即時・既存行のサイズも据え置き(値が入るまで増えない)
ALTER TABLE dbo.受注 ADD 備考 varchar(200) NULL;

-- computed 列は実体を持たず、読むたびに計算される(PERSISTED 指定時を除く)
ALTER TABLE dbo.受注 ADD 税込 AS (金額 * 1.1);
▶ 実行可

3. 可変長・固定長・computed 列で挙動とサイズが変わる

SQL Server で本番テーブルにカラムを追加する時、業務SEが気をつける3つのこと#b63061dcf931
SQL
-- ステップ1: まず NULL 許可で追加(メタデータのみ・ロックは一瞬)
ALTER TABLE dbo.受注 ADD 区分 tinyint NULL;
GO

-- ステップ2: デフォルト相当をバッチで段階的に埋める(大テーブルは分割して)

安全な手順 — 本番を止めずにカラムを足す3ステップ

SQL Server で本番テーブルにカラムを追加する時、業務SEが気をつける3つのこと未収録#1a85261c6347
SQL
declare curデータ cursor local for
select CustomerName,age,address
from customer

カーソルの具体的な構文

SQLServerでのカーソルの使い方と書き方!未収録#0076250abee3
SQL
while(@@fetch_status = 0)
BEGIN

-- ここに特定の処理を書く

カーソルの具体的な構文

SQLServerでのカーソルの使い方と書き方!未収録#804711e32c65
SQL
begin try
    begin transaction

        declare
            @CurName nvarchar(20),

カーソルの具体的な構文

SQLServerでのカーソルの使い方と書き方!未収録#7a18a9b55c22
SQL
-- ❌アンチパターン:カーソルで1行ずつUPDATE
DECLARE @id INT, @flag CHAR(1);
DECLARE c CURSOR FOR SELECT id, flag FROM target_table WHERE status = 0;
OPEN c;
FETCH NEXT FROM c INTO @id, @flag;

1.一括UPDATE / INSERT

SQL Server のカーソルを使うべきタイミングと書き方(業務SE現場の判断軸)未収録#2a730dcef025
SQL
-- ❌カーソル+変数累積
DECLARE @total DECIMAL(18,2)= 0;
-- ...カーソル省略... SET @total = @total + @amount;

-- ✅ GROUP BY一発
▶ 実行可

2.集計(SUM / COUNT / AVG)

SQL Server のカーソルを使うべきタイミングと書き方(業務SE現場の判断軸)#003642727eff
SQL
-- ✅ウィンドウ関数で一発
SELECT
    customer_id,
    purchase_date,
    amount,
▶ 実行可

3.ランキング(ROW_NUMBER / RANK)

SQL Server のカーソルを使うべきタイミングと書き方(業務SE現場の判断軸)#26525d4eb78c
SQL
-- ✅ CASE WHEN一発
UPDATE customer_master
SET grade = CASE
    WHEN total_amount >= 1000000 THEN 'A'
    WHEN total_amount >= 500000  THEN 'B'

5.条件分岐UPDATE

SQL Server のカーソルを使うべきタイミングと書き方(業務SE現場の判断軸)未収録#dae92f20fbdd