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

動くコード図鑑

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

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

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

この図鑑の使い方

言語で絞る

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

▶ で実行

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

記事と接続

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

絞り込み

snippet 一覧

619
C#
// EF6 (.NET Fx 4.7.2)・Select で必要な列だけ射影
using var db = new MyDbContext();
var summary = db.Customers
    .Select(c => new {
        c.Name,
▶ 実行可

パターン3: Select 射影で1クエリ集計 (画面に出す列だけ)

EF6 + LINQ で N+1 問題を踏まない3つの書き方#ea190218fcb0
C#
Console.WriteLine("[SQL #1] SELECT c.Name, (SELECT COUNT(*) FROM Orders o WHERE o.CustomerId = c.Id) AS OrderCount, (SELECT ISNULL(SUM(o.Amount),0) FROM Orders o WHERE o.CustomerId = c.Id) AS TotalAmount FROM Customers c");
var summary = customers
    .Select(c => new {
        c.Name,
        OrderCount = orders.Count(o => o.CustomerId == c.Id),
▶ 実行可

パターン3: Select 射影で1クエリ集計 (画面に出す列だけ)

EF6 + LINQ で N+1 問題を踏まない3つの書き方#9ac91d59371f
C#
// これが地雷
IQueryable<Order> recentOrders = db.Orders.Where(o => o.OrderDate > DateTime.Now.AddDays(-7));

var count = recentOrders.Count();          // SQL #1: SELECT COUNT(*) ...
var first = recentOrders.FirstOrDefault(); // SQL #2: SELECT TOP(1) ...
▶ 実行可

ハマりポイント: LINQ 遅延実行と「複数列挙」の罠

EF6 + LINQ で N+1 問題を踏まない3つの書き方#a1cd6d0618df
C#
for(int i = 0 ; i < 50; i++)
{

  if(i % 5 == 0 && i % 3 == 0)
    Console.WriteLine("FizzBuzz")

コードをブログに張り付ける

エンジニアが技術ブログの書き方と書く目的を振り返る未収録#4f2dcaf56d42
C#
namespace Linq
{
    internal class Program
    {
        public static void Main(string[] args)
▶ 実行可

FizzBuzz1行のコード

FizzBuzz問題が1行で書けたのでその解説#93309a6c8c59
JavaScript
var hoge = [1,2,3,4,5,6,7,8,9,10];
var result = hoge.map((item) => {
var square = item * item;
return square;
})

JavaScriptならこんな書き方ができる

Flutter(Dart)のラムダ式(無名関数)の書き方でハマった話。未収録#1afb5743db70
JavaScript
class View1 extends StatelessWidget {
  const View1({Key key}) : super(key: key);

  @override
  Widget build(BuildContext context) {

戻るボタンが表示されなかったコードは下記

Flutterでページ遷移をしたのに戻るボタンが表示されない場合のチェック項目!未収録#3998d78aefb5
JavaScript
class View1 extends StatelessWidget {
  const View1({Key key}) : super(key: key);

  @override
  Widget build(BuildContext context) {

原因:MaterialAppはルートに一つだけしか存在してはいけないというルールがあった

Flutterでページ遷移をしたのに戻るボタンが表示されない場合のチェック項目!未収録#9d46e68f422a
Bash
Tried to call Provider.of<dynamic>. This is likely a mistake and is therefore
unsupported.

If you want to expose a variable that can be anything, consider changing
`dynamic` to `Object` instead.

Tried to call Provider.of<dynamic>. This is likely a mistake and is therefore

FlutterでConsumerを使うときに型指定をせずに怒られた話未収録#a6a8c66186a7
C#
namespace IncludeStudy.Models
{
    public class Company
    {
        public int Id { get; set; }

発端はModel参照がNullになっていたこと

Asp.Net Core ApiのIncludeの使い方で盛大な勘違いをしていた件未収録#b6a2ab2a378c
C#
        // GET: api/Companies/5
        [HttpGet("{id}/emp")]
        public async Task<ActionResult<ICollection<Employee>>> GetCompanyEmp(int id)
        {
            var company = await _context.Company.FindAsync(id);

発端はModel参照がNullになっていたこと

Asp.Net Core ApiのIncludeの使い方で盛大な勘違いをしていた件未収録#64b70b0853f0
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
JavaScript
class human {
    constructor(コンストラクタでの引数){
        コンストラクタ内での処理
    }
    インスタンスメソッド(){

JavaScriptでのクラス定義方法

JavaScriptでのクラス定義方法とコンストラクタ定義まで!ミニマム実践してみる!未収録#6dffc51c6042
JavaScript
class human {
    constructor(){
        console.log('Hello World')
    }
}
▶ 実行可

コンストラクタとは?

JavaScriptでのクラス定義方法とコンストラクタ定義まで!ミニマム実践してみる!#92eab64d49da
JavaScript
class human {
    constructor(name,height,weight){
        this.name = name;
        this.height = height;
        this.weight = weight;

ミニマム実践!HumanクラスをつくってBMIを計算してみる

JavaScriptでのクラス定義方法とコンストラクタ定義まで!ミニマム実践してみる!未収録#c1325fffc440
JavaScript
class human {
    constructor(name,height,weight){
        this.name = name;
        this.height = height;
        this.weight = weight;
▶ 実行可

ミニマム実践!HumanクラスをつくってBMIを計算してみる

JavaScriptでのクラス定義方法とコンストラクタ定義まで!ミニマム実践してみる!#f37a77a8c6bb
JavaScript
class human {
    constructor(name,height,weight){
        this.name = name;
        this.height = height;
        this.weight = weight;
▶ 実行可

ミニマム実践!HumanクラスをつくってBMIを計算してみる

JavaScriptでのクラス定義方法とコンストラクタ定義まで!ミニマム実践してみる!#6268bb7340a3
JavaScript
'use struct';
class A君{
    constructor(魔力){
        this.魔力 = 魔力
    }

プログラミングの継承はパワーアップ

JavaScriptのクラスの継承を超絶ミニマムで解説してみる!未収録#407922890891
JavaScript
class A君{
    constructor(魔力){
        this.魔力 = 魔力
    }
}

ベースクラスの定義

JavaScriptのクラスの継承を超絶ミニマムで解説してみる!未収録#49dc6fb48bdf
JavaScript
class A君{
    constructor(魔力){
        this.魔力 = 魔力
    }

▶ 実行可

ベースクラスの定義

JavaScriptのクラスの継承を超絶ミニマムで解説してみる!#f41e7e63f710
JavaScript
class Bextends A君{

}

継承先クラスの定義

JavaScriptのクラスの継承を超絶ミニマムで解説してみる!未収録#4d9777c156e9
JavaScript
class Bextends A君{
    constructor(魔力,回復力){
        super(魔力)
        this.回復力 = 回復力
    }

継承先クラスの定義

JavaScriptのクラスの継承を超絶ミニマムで解説してみる!未収録#367c0a0b1be4
JavaScript
class Bextends A君{
    constructor(魔力,回復力){
        super(魔力)
        this.回復力 = 回復力
    }
▶ 実行可

継承先クラスの定義

JavaScriptのクラスの継承を超絶ミニマムで解説してみる!#06cb023a4b31
JavaScript
let A君 = new A(50);
let B君 = new B(100,150);

A君.Ionazun();

▶ 実行可

継承先クラスの定義

JavaScriptのクラスの継承を超絶ミニマムで解説してみる!#eb36af52e8bb
JavaScript
const num = 3;
console.log(num);

num = 4;
console.log(num);
▶ 実行可

Constは定数

JavaScriptでConstとletとvarの違いをミニマムで説明してみる#88dfd898a79f
JavaScript
const num;
num = 4;
console.log(num);
▶ 実行可

Constは定数

JavaScriptでConstとletとvarの違いをミニマムで説明してみる#0857c5ddd8e8
JavaScript
const num = 4;
console.log(num);

num = 5;
console.log(num);
▶ 実行可

letは再宣言不可能な変数

JavaScriptでConstとletとvarの違いをミニマムで説明してみる#83f22948715a
JavaScript
let num = 4;
console.log(num);

num = 5;
console.log(num);
▶ 実行可

letは再宣言不可能な変数

JavaScriptでConstとletとvarの違いをミニマムで説明してみる#816127acd7c9
JavaScript
let num = 4;
console.log(num);

let num = 5;
console.log(num);
▶ 実行可

letは再宣言不可能な変数

JavaScriptでConstとletとvarの違いをミニマムで説明してみる#18d699cdb144
JavaScript
var num = 4;
console.log(num);

var num = 5;
console.log(num);
▶ 実行可

varは再宣言可能な変数

JavaScriptでConstとletとvarの違いをミニマムで説明してみる#26703e102675