1
   2
   3
   4
   5
   6
   7
   8
   9
  10
  11
  12
  13
  14
  15
  16
  17
  18
  19
  20
  21
  22
  23
  24
  25
  26
  27
  28
  29
  30
  31
  32
  33
  34
  35
  36
  37
  38
  39
  40
  41
  42
  43
  44
  45
  46
  47
  48
  49
  50
  51
  52
  53
  54
  55
  56
  57
  58
  59
  60
  61
  62
  63
  64
  65
  66
  67
  68
  69
  70
  71
  72
  73
  74
  75
  76
  77
  78
  79
  80
  81
  82
  83
  84
  85
  86
  87
  88
  89
  90
  91
  92
  93
  94
  95
  96
  97
  98
  99
 100
 101
 102
 103
 104
 105
 106
 107
 108
 109
 110
 111
 112
 113
 114
 115
 116
 117
 118
 119
 120
 121
 122
 123
 124
 125
 126
 127
 128
 129
 130
 131
 132
 133
 134
 135
 136
 137
 138
 139
 140
 141
 142
 143
 144
 145
 146
 147
 148
 149
 150
 151
 152
 153
 154
 155
 156
 157
 158
 159
 160
 161
 162
 163
 164
 165
 166
 167
 168
 169
 170
 171
 172
 173
 174
 175
 176
 177
 178
 179
 180
 181
 182
 183
 184
 185
 186
 187
 188
 189
 190
 191
 192
 193
 194
 195
 196
 197
 198
 199
 200
 201
 202
 203
 204
 205
 206
 207
 208
 209
 210
 211
 212
 213
 214
 215
 216
 217
 218
 219
 220
 221
 222
 223
 224
 225
 226
 227
 228
 229
 230
 231
 232
 233
 234
 235
 236
 237
 238
 239
 240
 241
 242
 243
 244
 245
 246
 247
 248
 249
 250
 251
 252
 253
 254
 255
 256
 257
 258
 259
 260
 261
 262
 263
 264
 265
 266
 267
 268
 269
 270
 271
 272
 273
 274
 275
 276
 277
 278
 279
 280
 281
 282
 283
 284
 285
 286
 287
 288
 289
 290
 291
 292
 293
 294
 295
 296
 297
 298
 299
 300
 301
 302
 303
 304
 305
 306
 307
 308
 309
 310
 311
 312
 313
 314
 315
 316
 317
 318
 319
 320
 321
 322
 323
 324
 325
 326
 327
 328
 329
 330
 331
 332
 333
 334
 335
 336
 337
 338
 339
 340
 341
 342
 343
 344
 345
 346
 347
 348
 349
 350
 351
 352
 353
 354
 355
 356
 357
 358
 359
 360
 361
 362
 363
 364
 365
 366
 367
 368
 369
 370
 371
 372
 373
 374
 375
 376
 377
 378
 379
 380
 381
 382
 383
 384
 385
 386
 387
 388
 389
 390
 391
 392
 393
 394
 395
 396
 397
 398
 399
 400
 401
 402
 403
 404
 405
 406
 407
 408
 409
 410
 411
 412
 413
 414
 415
 416
 417
 418
 419
 420
 421
 422
 423
 424
 425
 426
 427
 428
 429
 430
 431
 432
 433
 434
 435
 436
 437
 438
 439
 440
 441
 442
 443
 444
 445
 446
 447
 448
 449
 450
 451
 452
 453
 454
 455
 456
 457
 458
 459
 460
 461
 462
 463
 464
 465
 466
 467
 468
 469
 470
 471
 472
 473
 474
 475
 476
 477
 478
 479
 480
 481
 482
 483
 484
 485
 486
 487
 488
 489
 490
 491
 492
 493
 494
 495
 496
 497
 498
 499
 500
 501
 502
 503
 504
 505
 506
 507
 508
 509
 510
 511
 512
 513
 514
 515
 516
 517
 518
 519
 520
 521
 522
 523
 524
 525
 526
 527
 528
 529
 530
 531
 532
 533
 534
 535
 536
 537
 538
 539
 540
 541
 542
 543
 544
 545
 546
 547
 548
 549
 550
 551
 552
 553
 554
 555
 556
 557
 558
 559
 560
 561
 562
 563
 564
 565
 566
 567
 568
 569
 570
 571
 572
 573
 574
 575
 576
 577
 578
 579
 580
 581
 582
 583
 584
 585
 586
 587
 588
 589
 590
 591
 592
 593
 594
 595
 596
 597
 598
 599
 600
 601
 602
 603
 604
 605
 606
 607
 608
 609
 610
 611
 612
 613
 614
 615
 616
 617
 618
 619
 620
 621
 622
 623
 624
 625
 626
 627
 628
 629
 630
 631
 632
 633
 634
 635
 636
 637
 638
 639
 640
 641
 642
 643
 644
 645
 646
 647
 648
 649
 650
 651
 652
 653
 654
 655
 656
 657
 658
 659
 660
 661
 662
 663
 664
 665
 666
 667
 668
 669
 670
 671
 672
 673
 674
 675
 676
 677
 678
 679
 680
 681
 682
 683
 684
 685
 686
 687
 688
 689
 690
 691
 692
 693
 694
 695
 696
 697
 698
 699
 700
 701
 702
 703
 704
 705
 706
 707
 708
 709
 710
 711
 712
 713
 714
 715
 716
 717
 718
 719
 720
 721
 722
 723
 724
 725
 726
 727
 728
 729
 730
 731
 732
 733
 734
 735
 736
 737
 738
 739
 740
 741
 742
 743
 744
 745
 746
 747
 748
 749
 750
 751
 752
 753
 754
 755
 756
 757
 758
 759
 760
 761
 762
 763
 764
 765
 766
 767
 768
 769
 770
 771
 772
 773
 774
 775
 776
 777
 778
 779
 780
 781
 782
 783
 784
 785
 786
 787
 788
 789
 790
 791
 792
 793
 794
 795
 796
 797
 798
 799
 800
 801
 802
 803
 804
 805
 806
 807
 808
 809
 810
 811
 812
 813
 814
 815
 816
 817
 818
 819
 820
 821
 822
 823
 824
 825
 826
 827
 828
 829
 830
 831
 832
 833
 834
 835
 836
 837
 838
 839
 840
 841
 842
 843
 844
 845
 846
 847
 848
 849
 850
 851
 852
 853
 854
 855
 856
 857
 858
 859
 860
 861
 862
 863
 864
 865
 866
 867
 868
 869
 870
 871
 872
 873
 874
 875
 876
 877
 878
 879
 880
 881
 882
 883
 884
 885
 886
 887
 888
 889
 890
 891
 892
 893
 894
 895
 896
 897
 898
 899
 900
 901
 902
 903
 904
 905
 906
 907
 908
 909
 910
 911
 912
 913
 914
 915
 916
 917
 918
 919
 920
 921
 922
 923
 924
 925
 926
 927
 928
 929
 930
 931
 932
 933
 934
 935
 936
 937
 938
 939
 940
 941
 942
 943
 944
 945
 946
 947
 948
 949
 950
 951
 952
 953
 954
 955
 956
 957
 958
 959
 960
 961
 962
 963
 964
 965
 966
 967
 968
 969
 970
 971
 972
 973
 974
 975
 976
 977
 978
 979
 980
 981
 982
 983
 984
 985
 986
 987
 988
 989
 990
 991
 992
 993
 994
 995
 996
 997
 998
 999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2584
2585
2586
2587
2588
2589
2590
2591
2592
2593
2594
2595
2596
2597
2598
2599
2600
2601
2602
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
2617
2618
2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
2632
2633
2634
2635
2636
2637
2638
2639
2640
2641
2642
2643
2644
2645
2646
2647
2648
2649
2650
2651
2652
2653
2654
2655
2656
2657
2658
2659
2660
2661
2662
2663
2664
2665
2666
2667
2668
2669
2670
2671
2672
2673
2674
2675
2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
2687
2688
2689
2690
2691
2692
2693
2694
2695
2696
2697
2698
2699
2700
2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
2712
2713
2714
2715
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
2727
2728
2729
2730
2731
2732
2733
2734
2735
2736
2737
2738
2739
2740
2741
2742
2743
2744
2745
2746
2747
2748
2749
2750
2751
2752
2753
2754
2755
2756
2757
2758
2759
2760
2761
2762
2763
2764
2765
2766
2767
2768
2769
2770
2771
2772
2773
2774
2775
2776
2777
2778
2779
2780
2781
2782
2783
2784
2785
2786
2787
2788
2789
2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971
2972
2973
2974
2975
2976
2977
2978
2979
2980
2981
2982
2983
2984
2985
2986
2987
2988
2989
2990
2991
2992
2993
2994
2995
2996
2997
2998
2999
3000
3001
3002
3003
3004
3005
3006
3007
3008
3009
3010
3011
3012
3013
3014
3015
3016
3017
3018
3019
3020
3021
3022
3023
3024
3025
3026
3027
3028
3029
3030
3031
3032
3033
3034
3035
3036
3037
3038
3039
3040
3041
3042
3043
3044
3045
3046
3047
3048
3049
3050
3051
3052
3053
3054
3055
3056
3057
3058
3059
3060
3061
3062
3063
3064
3065
3066
3067
3068
3069
3070
3071
3072
3073
3074
3075
3076
3077
3078
3079
3080
3081
3082
3083
3084
3085
3086
3087
3088
3089
3090
3091
3092
3093
3094
3095
3096
3097
3098
3099
3100
3101
3102
3103
3104
3105
3106
3107
3108
3109
3110
3111
3112
3113
3114
3115
3116
3117
3118
3119
3120
3121
3122
3123
3124
3125
3126
3127
3128
3129
3130
3131
3132
3133
3134
3135
3136
3137
3138
3139
3140
3141
3142
3143
3144
3145
3146
3147
3148
3149
3150
3151
3152
3153
3154
3155
3156
3157
3158
3159
3160
3161
3162
3163
3164
3165
3166
3167
3168
3169
3170
3171
3172
3173
3174
3175
3176
3177
3178
3179
3180
3181
3182
3183
3184
3185
3186
3187
3188
3189
3190
3191
3192
3193
3194
3195
3196
3197
3198
3199
3200
3201
3202
3203
3204
3205
3206
3207
3208
3209
3210
3211
3212
3213
3214
3215
3216
3217
3218
3219
3220
3221
3222
3223
3224
3225
3226
3227
3228
3229
3230
3231
3232
3233
3234
3235
3236
3237
3238
3239
3240
3241
3242
3243
3244
3245
3246
3247
3248
3249
3250
3251
3252
3253
3254
3255
3256
3257
3258
3259
3260
3261
3262
3263
3264
3265
3266
3267
3268
3269
3270
3271
3272
3273
3274
3275
3276
3277
3278
3279
3280
3281
3282
3283
3284
3285
3286
3287
3288
3289
3290
3291
3292
3293
3294
3295
3296
3297
3298
3299
3300
3301
3302
3303
3304
3305
3306
3307
3308
3309
3310
3311
3312
3313
3314
3315
3316
3317
3318
3319
3320
3321
3322
3323
3324
3325
3326
3327
3328
3329
3330
3331
3332
3333
3334
3335
3336
3337
3338
3339
3340
3341
3342
3343
3344
3345
3346
3347
3348
3349
3350
3351
3352
3353
3354
3355
3356
3357
3358
3359
3360
3361
3362
3363
3364
3365
3366
3367
3368
3369
3370
3371
3372
3373
3374
3375
3376
3377
3378
3379
3380
3381
3382
3383
3384
3385
3386
3387
3388
3389
3390
3391
3392
3393
3394
3395
3396
3397
3398
3399
3400
3401
3402
3403
3404
3405
3406
3407
3408
3409
3410
3411
3412
3413
3414
3415
3416
3417
3418
3419
3420
3421
3422
3423
3424
3425
3426
3427
3428
3429
3430
3431
3432
3433
3434
3435
3436
3437
3438
3439
3440
3441
3442
3443
3444
3445
3446
3447
3448
3449
3450
3451
3452
3453
3454
3455
3456
3457
3458
3459
3460
3461
3462
3463
3464
3465
3466
3467
3468
3469
3470
3471
3472
3473
3474
3475
3476
3477
3478
3479
3480
3481
3482
3483
3484
3485
3486
3487
3488
3489
3490
3491
3492
3493
3494
3495
3496
3497
3498
3499
3500
3501
3502
3503
3504
3505
3506
3507
3508
3509
3510
3511
3512
3513
3514
3515
3516
3517
3518
3519
3520
3521
3522
3523
3524
3525
3526
3527
3528
3529
3530
3531
3532
3533
3534
3535
3536
3537
3538
3539
3540
3541
3542
3543
3544
3545
3546
3547
3548
3549
3550
3551
3552
3553
3554
3555
3556
3557
3558
3559
3560
3561
3562
3563
3564
3565
3566
3567
3568
3569
3570
3571
3572
3573
3574
3575
3576
3577
3578
3579
3580
3581
3582
3583
3584
3585
3586
3587
3588
3589
3590
3591
3592
3593
3594
3595
3596
3597
3598
3599
3600
3601
3602
3603
3604
3605
3606
3607
3608
3609
3610
3611
3612
3613
3614
3615
3616
3617
3618
3619
3620
3621
3622
3623
3624
3625
3626
3627
3628
3629
3630
3631
3632
3633
3634
3635
3636
3637
3638
3639
3640
3641
3642
3643
3644
3645
3646
3647
3648
3649
3650
3651
3652
3653
3654
3655
3656
3657
3658
3659
3660
3661
3662
3663
3664
3665
3666
3667
3668
3669
3670
3671
3672
3673
3674
3675
3676
3677
3678
3679
3680
3681
3682
3683
3684
3685
3686
3687
3688
3689
3690
3691
3692
3693
3694
3695
3696
3697
3698
3699
3700
3701
3702
3703
3704
3705
3706
3707
3708
3709
3710
3711
3712
3713
3714
3715
3716
3717
3718
3719
3720
3721
3722
3723
3724
3725
3726
3727
3728
3729
3730
3731
3732
3733
3734
3735
3736
3737
3738
3739
3740
3741
3742
3743
3744
3745
3746
3747
3748
3749
3750
3751
3752
3753
3754
3755
3756
3757
3758
3759
3760
3761
3762
3763
3764
3765
3766
3767
3768
3769
3770
3771
3772
3773
3774
3775
3776
3777
3778
3779
3780
3781
3782
3783
3784
3785
3786
3787
3788
3789
3790
3791
3792
3793
3794
3795
3796
3797
3798
3799
3800
3801
3802
3803
3804
3805
3806
3807
3808
3809
3810
3811
3812
3813
3814
3815
3816
3817
3818
3819
3820
3821
3822
3823
3824
3825
3826
3827
3828
3829
3830
3831
3832
3833
3834
3835
3836
3837
3838
3839
3840
3841
3842
3843
3844
3845
3846
3847
3848
3849
3850
3851
3852
3853
3854
3855
3856
3857
3858
3859
3860
3861
3862
3863
3864
3865
3866
3867
3868
3869
3870
3871
3872
3873
3874
3875
3876
3877
3878
3879
3880
3881
3882
3883
3884
3885
3886
3887
3888
3889
3890
3891
3892
3893
3894
3895
3896
3897
3898
3899
3900
3901
3902
3903
3904
3905
3906
3907
3908
3909
3910
3911
3912
3913
3914
3915
3916
3917
3918
3919
3920
3921
3922
3923
3924
3925
3926
3927
3928
3929
3930
3931
3932
3933
3934
3935
3936
3937
3938
3939
3940
3941
3942
3943
3944
3945
3946
3947
3948
3949
3950
3951
3952
3953
3954
3955
3956
3957
3958
3959
3960
3961
3962
3963
3964
3965
3966
3967
3968
3969
3970
3971
3972
3973
3974
3975
3976
3977
3978
3979
3980
3981
3982
3983
3984
3985
3986
3987
3988
3989
3990
3991
3992
3993
3994
3995
3996
3997
3998
3999
4000
4001
4002
4003
4004
4005
4006
4007
4008
4009
4010
4011
4012
4013
4014
4015
4016
4017
4018
4019
4020
4021
4022
4023
4024
4025
4026
4027
4028
4029
4030
4031
4032
4033
4034
4035
4036
4037
4038
4039
4040
4041
4042
4043
4044
4045
4046
4047
4048
4049
4050
4051
4052
4053
4054
4055
4056
4057
4058
4059
4060
4061
4062
4063
4064
4065
4066
4067
4068
4069
4070
4071
4072
4073
4074
4075
4076
4077
4078
4079
4080
4081
4082
4083
4084
4085
4086
4087
4088
4089
4090
4091
4092
4093
4094
4095
4096
4097
4098
4099
4100
4101
4102
4103
4104
4105
4106
4107
4108
4109
4110
4111
4112
4113
4114
4115
4116
4117
4118
4119
4120
4121
4122
4123
4124
4125
4126
4127
4128
4129
4130
4131
4132
4133
4134
4135
4136
4137
4138
4139
4140
4141
4142
4143
4144
4145
4146
4147
4148
4149
4150
4151
4152
4153
4154
4155
4156
4157
4158
4159
4160
4161
4162
4163
4164
4165
4166
4167
4168
4169
4170
4171
4172
4173
4174
4175
4176
4177
4178
4179
4180
4181
4182
4183
4184
4185
4186
4187
4188
4189
4190
4191
4192
4193
4194
4195
4196
4197
4198
4199
4200
4201
4202
4203
4204
4205
4206
4207
4208
4209
4210
4211
4212
4213
4214
4215
4216
4217
4218
4219
4220
4221
4222
4223
4224
4225
4226
4227
4228
4229
4230
4231
4232
4233
4234
4235
4236
4237
4238
4239
4240
4241
4242
4243
4244
4245
4246
4247
4248
4249
4250
4251
4252
4253
4254
4255
4256
4257
4258
4259
4260
4261
4262
4263
4264
4265
4266
4267
4268
4269
4270
4271
4272
4273
4274
4275
4276
4277
4278
4279
4280
4281
4282
4283
4284
4285
4286
4287
4288
4289
4290
4291
4292
4293
4294
4295
4296
4297
4298
4299
4300
4301
4302
4303
4304
4305
4306
4307
4308
4309
4310
4311
4312
4313
4314
4315
4316
4317
4318
4319
4320
4321
4322
4323
4324
4325
4326
4327
4328
4329
4330
4331
4332
4333
4334
4335
4336
4337
4338
4339
4340
4341
4342
4343
4344
4345
4346
4347
4348
4349
4350
4351
4352
4353
4354
4355
4356
4357
4358
4359
4360
4361
4362
4363
4364
4365
4366
4367
4368
4369
4370
4371
4372
4373
4374
4375
4376
4377
4378
4379
4380
4381
4382
4383
4384
4385
4386
4387
4388
4389
4390
4391
4392
4393
4394
4395
4396
4397
4398
4399
4400
4401
4402
4403
4404
4405
4406
4407
4408
4409
4410
4411
4412
4413
4414
4415
4416
4417
4418
4419
4420
4421
4422
4423
4424
4425
4426
4427
4428
4429
4430
4431
4432
4433
4434
4435
4436
4437
4438
4439
4440
4441
4442
4443
4444
4445
4446
4447
4448
4449
4450
4451
4452
4453
4454
4455
4456
4457
4458
4459
4460
4461
4462
4463
4464
4465
4466
4467
4468
4469
4470
4471
4472
4473
4474
4475
4476
4477
4478
4479
4480
4481
4482
4483
4484
4485
4486
4487
4488
4489
4490
4491
4492
4493
4494
4495
4496
4497
4498
4499
4500
4501
4502
4503
4504
4505
4506
4507
4508
4509
4510
4511
4512
4513
4514
4515
4516
4517
4518
4519
4520
4521
4522
4523
4524
4525
4526
4527
4528
4529
4530
4531
4532
4533
4534
4535
4536
4537
4538
4539
4540
4541
4542
4543
4544
4545
4546
4547
4548
4549
4550
4551
4552
4553
4554
4555
4556
4557
4558
4559
4560
4561
4562
4563
4564
4565
4566
4567
4568
4569
4570
4571
4572
4573
4574
4575
4576
4577
4578
4579
4580
4581
4582
4583
4584
4585
4586
4587
4588
4589
4590
4591
4592
4593
4594
4595
4596
4597
4598
4599
4600
4601
4602
4603
4604
4605
4606
4607
4608
4609
4610
4611
4612
4613
4614
4615
4616
4617
4618
4619
4620
4621
4622
4623
4624
4625
4626
4627
4628
4629
4630
4631
4632
4633
4634
4635
4636
4637
4638
4639
4640
4641
4642
4643
4644
4645
4646
4647
4648
4649
4650
4651
4652
4653
4654
4655
4656
4657
4658
4659
4660
4661
4662
4663
4664
4665
4666
4667
4668
4669
4670
4671
4672
4673
4674
4675
4676
4677
4678
4679
4680
4681
4682
4683
4684
4685
4686
4687
4688
4689
4690
4691
4692
4693
4694
4695
4696
4697
4698
4699
4700
4701
4702
4703
4704
4705
4706
4707
4708
4709
4710
4711
4712
4713
4714
4715
4716
4717
4718
4719
4720
4721
4722
4723
4724
4725
4726
4727
4728
4729
4730
4731
4732
4733
4734
4735
4736
4737
4738
4739
4740
4741
4742
4743
4744
4745
4746
4747
4748
4749
4750
4751
4752
4753
4754
4755
4756
4757
4758
4759
4760
4761
4762
4763
4764
4765
4766
4767
4768
4769
4770
4771
4772
4773
4774
4775
4776
4777
4778
4779
4780
4781
4782
4783
4784
4785
4786
4787
4788
4789
4790
4791
4792
4793
4794
4795
4796
4797
4798
4799
4800
4801
4802
4803
4804
4805
4806
4807
4808
4809
4810
4811
4812
4813
4814
4815
4816
4817
4818
4819
4820
4821
4822
4823
4824
4825
4826
4827
4828
4829
4830
4831
4832
4833
4834
4835
4836
4837
4838
4839
4840
4841
4842
4843
4844
4845
4846
4847
4848
4849
4850
4851
4852
4853
4854
4855
4856
4857
4858
4859
4860
4861
4862
4863
4864
4865
4866
4867
4868
4869
4870
4871
4872
4873
4874
4875
4876
4877
4878
4879
4880
4881
4882
4883
4884
4885
4886
4887
4888
4889
4890
4891
4892
4893
4894
4895
4896
4897
4898
4899
4900
4901
4902
4903
4904
4905
4906
4907
4908
4909
4910
4911
4912
4913
4914
4915
4916
4917
4918
4919
4920
4921
4922
4923
4924
4925
4926
4927
4928
4929
4930
4931
4932
4933
4934
4935
4936
4937
4938
4939
4940
4941
4942
4943
4944
4945
4946
4947
4948
4949
4950
4951
4952
4953
4954
4955
4956
4957
4958
4959
4960
4961
4962
4963
4964
4965
4966
4967
4968
4969
4970
4971
4972
4973
4974
4975
4976
4977
4978
4979
4980
4981
4982
4983
4984
4985
4986
4987
4988
4989
4990
4991
4992
4993
4994
4995
1
00:00:00,000 --> 00:00:10,393
>> [音楽再生]

2
00:00:10,393 --> 00:00:11,037

3
00:00:11,037 --> 00:00:12,120
デイビット·J·マラン:すべての権利。

4
00:00:12,120 --> 00:00:12,830
お帰りなさい。

5
00:00:12,830 --> 00:00:13,890
これはCS50です。

6
00:00:13,890 --> 00:00:15,570
これは8週目の終わりです。

7
00:00:15,570 --> 00:00:18,360
そして、あなたが知っているように、私たちはかなり持っている
いくつかの通常営業時間

8
00:00:18,360 --> 00:00:21,090
食堂の、
アネンバーグ含む。

9
00:00:21,090 --> 00:00:23,860
そしてチームのいくつかの親切
最近いくつかの写真を撮りました。

10
00:00:23,860 --> 00:00:26,230
とに敬意を表して
ハロウィーン、我々はしようと思いました

11
00:00:26,230 --> 00:00:30,160
むしろによって私達を捕まえたものを共有する
ここアネンバーグホールで驚きばかり

12
00:00:30,160 --> 00:00:31,490
他の夜。

13
00:00:31,490 --> 00:00:36,300
あなたの同級生ヤコブはのためにポーズ
この写真が、より面白かった

14
00:00:36,300 --> 00:00:39,760
Facebook上だった、その後の
その後起こった会話。

15
00:00:39,760 --> 00:00:43,020
>> 応答での彼の最初のポス​​ト
彼の写真にこれがあった。

16
00:00:43,020 --> 00:00:46,740
数分後、彼が決めた
これで自身最大1。

17
00:00:46,740 --> 00:00:53,800
それは、これに行き、その後を続いた
その後、さらにおかしく

18
00:00:53,800 --> 00:00:55,320
彼のお母さんがで相づちを打ったときである。

19
00:00:55,320 --> 00:00:59,240

20
00:00:59,240 --> 00:01:01,800
その後、最終的には、
これはちょうどだったようだ

21
00:01:01,800 --> 00:01:04,860
のための素晴らしい策略
それが起こっているのプレー。

22
00:01:04,860 --> 00:01:07,080
>> ですから、ご希望の場合は
ジェイコブと他人を見るために、

23
00:01:07,080 --> 00:01:10,880
だその中でシンシア·メング、
CS50ゾーンスタッフの舞台裏、

24
00:01:10,880 --> 00:01:13,970
このURLと、ここでこの劇に向かう。

25
00:01:13,970 --> 00:01:18,810
だから、前置きなしに、今日の私たち
Webプログラミングでこの外観を続ける、

26
00:01:18,810 --> 00:01:21,810
プログラムの実際の作成
それは、あなたのコマンドラインで実行されません

27
00:01:21,810 --> 00:01:24,080
その代わりにブラウザ内で実行。

28
00:01:24,080 --> 00:01:26,320
>> おそらく今、または非常に
まもなく、あなたが行っている

29
00:01:26,320 --> 00:01:30,200
実装の真っ只中にあると
ユーザー独自のWebサーバー、どの

30
00:01:30,200 --> 00:01:31,700
Webプログラミングとは異なる。

31
00:01:31,700 --> 00:01:36,210
pset6におけるWebサーバはすべてに約ある
取る方法を知っているソフトウェアを書く

32
00:01:36,210 --> 00:01:39,300
ブラウザからのHTTPリクエスト、
あるいはあなたから、ヒト、

33
00:01:39,300 --> 00:01:42,340
Telnetを呼ばれるプログラムであり、
その後どちらかそれらの要求に応える

34
00:01:42,340 --> 00:01:48,600
HTMLファイルを吐き出すことによって、またはA
JPEG、またはGIF、あるいは.phpのファイル。

35
00:01:48,600 --> 00:01:52,490
>> しかし、Webサーバーと、そうではありません
単にPHPファイルを開くことになって、

36
00:01:52,490 --> 00:01:55,260
.phpので終わるもの、および
その後中身を吐き出す。

37
00:01:55,260 --> 00:01:58,440
それが行うことになっています
まずそのファイルに何?

38
00:01:58,440 --> 00:01:59,390
いわば。

39
00:01:59,390 --> 00:02:04,060
それをコンパイルしない、我々は月曜日に言った、
しかしrather--だから、それを解釈する。

40
00:02:04,060 --> 00:02:08,070
>> PHPはインタープリタ言語だし、そう
あなたのWeb​​の主な機能の1

41
00:02:08,070 --> 00:02:11,550
サーバー、私達によって実装さにもかかわらず、
Webサーバーのためのこの能力である

42
00:02:11,550 --> 00:02:12,490
ああ、気づくために。

43
00:02:12,490 --> 00:02:14,580
これが.phpので終わるファイルです。

44
00:02:14,580 --> 00:02:17,970
私はちょうどに送っないようにしましょう
それのようなユーザーは、静的なコンテンツだ

45
00:02:17,970 --> 00:02:20,970
むしろ私は行ずつそれを読んでみましょう
行は、左から右に、それを解釈する。

46
00:02:20,970 --> 00:02:23,030
>> そして実行するには、その
人は本質的になります

47
00:02:23,030 --> 00:02:26,520
アプライアンス内のプログラムにパント、
コンピュータシステムの多くに、

48
00:02:26,520 --> 00:02:27,500
ちょうどPHPを呼んだ。

49
00:02:27,500 --> 00:02:30,579
それは、PHPの名前です
言語自身のインタプリタ。

50
00:02:30,579 --> 00:02:33,120
だから、その部分私達はのために実装する
あなた、そして何のために残っている、

51
00:02:33,120 --> 00:02:35,240
最終的に、数である
作品の、その中で

52
00:02:35,240 --> 00:02:37,960
支援を実施しています
静的コンテンツの。

53
00:02:37,960 --> 00:02:40,180
>> しかし、今、そして付き
問題は、あなたがしている、7を設定

54
00:02:40,180 --> 00:02:43,660
への移行を開始するつもり
実際にPHPコードを書く

55
00:02:43,660 --> 00:02:45,970
それが解釈されます
バックエンドに話す

56
00:02:45,970 --> 00:02:47,960
情報を格納するデータベース。

57
00:02:47,960 --> 00:02:51,020
それでは、より良い最初に理解してみましょう
これらのスーパーグローバルのカップル

58
00:02:51,020 --> 00:02:53,720
そして、どれだけ電力使用
自由のための箱から抜け出す

59
00:02:53,720 --> 00:02:55,250
PHPのような言語を持つ。

60
00:02:55,250 --> 00:02:57,350
あなたが持っていないもの
自分で実装する。

61
00:02:57,350 --> 00:03:01,700
>> そこで、我々は、月曜日$ _GETで見た
スーパーグローバルこれは、

62
00:03:01,700 --> 00:03:05,496
これだけグローバルのためのPHP話すさ
あなたはどこにでもアクセスできる変数。

63
00:03:05,496 --> 00:03:06,620
と$ _GETの内側に何ですか?

64
00:03:06,620 --> 00:03:09,930

65
00:03:09,930 --> 00:03:12,110
これの内側に何
私たちが見るスーパーグローバル?

66
00:03:12,110 --> 00:03:15,900

67
00:03:15,900 --> 00:03:19,020
確かに統計的にで
少なくとも1人は知っている。

68
00:03:19,020 --> 00:03:21,590
$ _GETの内側に何ですか?

69
00:03:21,590 --> 00:03:22,426
うん?

70
00:03:22,426 --> 00:03:24,130
>> 聴衆:それは変数だ
あなたは、クエリ文字列に置く。

71
00:03:24,130 --> 00:03:24,530
>> デイビット·J·マラン:パーフェクト。

72
00:03:24,530 --> 00:03:26,488
それは、変数あなたです
クエリ文字列に入れて。

73
00:03:26,488 --> 00:03:29,910
だから、私たちの古い例では、
我々が持っていた時にGoogleに再実装

74
00:03:29,910 --> 00:03:34,130
URL、およびその後疑問符、
これは、HTTPの開始を画定

75
00:03:34,130 --> 00:03:37,950
パラメータは、我々は同等のQを持っていた
Qのようなものは、猫に等しく、

76
00:03:37,950 --> 00:03:41,500
自動的に内部の何を行くだろう
あなたのためのスーパーグローバル$ _GETことの、

77
00:03:41,500 --> 00:03:47,430
PHPのため、Qの鍵となります
や猫のその値の。

78
00:03:47,430 --> 00:03:51,250
>> 言い換えると、$ _GETのとの全てにおいて
これらの事は連想配列であり、

79
00:03:51,250 --> 00:03:54,530
一種のハッシュテーブル、その
キーと値を格納します。

80
00:03:54,530 --> 00:03:57,980
さて、バックpset5で、ハッシュ
表あなたが実装しているかもしれないが、

81
00:03:57,980 --> 00:04:00,220
またはあなたかもしれない試し
本当に、実装しました

82
00:04:00,220 --> 00:04:04,010
効果的に連想た
アレイは、データ構造

83
00:04:04,010 --> 00:04:07,220
それによってあなたが関連付けることができます
値を持つキー。

84
00:04:07,220 --> 00:04:09,690
>> しかしpset5で、値が些細であった。

85
00:04:09,690 --> 00:04:12,430
値は、本質的にtrueまたはfalseだった。

86
00:04:12,430 --> 00:04:13,900
辞書内の単語はありますか?

87
00:04:13,900 --> 00:04:18,279
それで、あなたはリンゴのような単語をハッシュ化されたとき
リンゴが辞書にあるかどうかを確認するために、

88
00:04:18,279 --> 00:04:21,820
あなたのチェック機能恐らく
trueまたはfalseを返しました。

89
00:04:21,820 --> 00:04:24,120
だから、それが効果的だ
我々は戻って取得している値。

90
00:04:24,120 --> 00:04:26,456
>> しかし、我々は月曜日に見た
簡単に言えば、あなたは確かにすることができ

91
00:04:26,456 --> 00:04:28,830
もっと面白い関連付ける
ちょうどtrueまたはfalse以外の値

92
00:04:28,830 --> 00:04:30,790
リンゴのようなキーを持つ。

93
00:04:30,790 --> 00:04:33,909
あなたが実際に返すことができます
任意の文字列、そして実際に、

94
00:04:33,909 --> 00:04:36,200
それは何$ _GETだと、これらの
他の変数はあなたがやらせる。

95
00:04:36,200 --> 00:04:40,595
>> だから、$ _POSTは、精神において似ている
しかし、あなたがポストを経由してフォームを送信した場合、

96
00:04:40,595 --> 00:04:44,490
の異なるHTTPメソッド
クレジットカードのようなもののために使用、

97
00:04:44,490 --> 00:04:48,410
さらには個人情報、および
写真のようなバイナリ情報、

98
00:04:48,410 --> 00:04:51,840
それらのものは、$ _POSTの内側に終わる。

99
00:04:51,840 --> 00:04:53,770
実際にファイルの
JPEG画像やその他もろもろのように、

100
00:04:53,770 --> 00:04:58,290
さえないという別のあります
ここまでだけでなく、$ _FILESと呼ばれる。

101
00:04:58,290 --> 00:05:01,280
>> だから、サーバー我々はあまりにも上に住むことはありません
多くが、それはあなたのアクセスを提供します

102
00:05:01,280 --> 00:05:04,860
約下位レベルの詳細をソートする
あなたが使用しているサーバ自体。

103
00:05:04,860 --> 00:05:07,430
クッキーとセッション、しかし、
我々は効果的になりました表示されます。

104
00:05:07,430 --> 00:05:10,940
最後は、私たちが実装するために使用するものです
ショッピングカートの概念。

105
00:05:10,940 --> 00:05:14,480
超簡単1、しかしリコール
私たちがここでこの例を持っていた、

106
00:05:14,480 --> 00:05:17,640
あなたは何回を数える
前にこのページを訪問した。

107
00:05:17,640 --> 00:05:20,850
>> しかし、今日、ちょうど見てではなく、
この効果は、のアップ開いてみましょう

108
00:05:20,850 --> 00:05:22,640
Chromeのインスペクタ、
その普段でき

109
00:05:22,640 --> 00:05:25,740
右クリックまたはControlでやる
Webページ上の任意の場所をクリックすると、

110
00:05:25,740 --> 00:05:27,250
その後要素を検査します。

111
00:05:27,250 --> 00:05:31,600
それとも、メニューを行くことができます
我々はpset6の仕様で記述していること。

112
00:05:31,600 --> 00:05:35,020
と私は、[ネットワーク]タブに行くよ
ここで、との一瞬のために見てみましょう

113
00:05:35,020 --> 00:05:37,590
のHTTPトラフィック
行き来。

114
00:05:37,590 --> 00:05:40,929
>> 私が最初に先に行こう
とChromeのキャッシュをクリアします。

115
00:05:40,929 --> 00:05:43,470
だから、あなたのいくつかは見覚えがあるかもしれません
すでにこの技術では、

116
00:05:43,470 --> 00:05:45,790
そして我々はそれを使用するつもりだ
ここで、デバッグのために。

117
00:05:45,790 --> 00:05:48,890

118
00:05:48,890 --> 00:05:50,890
今、私たちは、コンピュータとしての
科学者は、開始しようとしている

119
00:05:50,890 --> 00:05:53,920
デバッグのためにこれをやって
目的、それによって

120
00:05:53,920 --> 00:05:55,910
我々は、キャッシュがクリアされ、
一般的に、その私たち

121
00:05:55,910 --> 00:05:57,670
クッキーと呼ばれるものを取り除くことができます。

122
00:05:57,670 --> 00:06:01,700
だから、あなたはおそらく、一般的に慣れている
クッキーが何であるかと、あるいは少なくとも

123
00:06:01,700 --> 00:06:04,370
彼らは存在しますが、何だということ
それらのご理解、

124
00:06:04,370 --> 00:06:06,920
ちょうどユーザーとして
コンピュータ、クッキーとは何でしょうか?

125
00:06:06,920 --> 00:06:09,490

126
00:06:09,490 --> 00:06:09,990
うん。

127
00:06:09,990 --> 00:06:14,391
>> 聴衆:それは、うまく少しof--ではありません
コンピュータサイエンスの任期内のビット。

128
00:06:14,391 --> 00:06:18,303
これは、データの一部のこと
ウェブサイトは、順番にあなたに送る

129
00:06:18,303 --> 00:06:20,209
あなたに統計を記録することができるように。

130
00:06:20,209 --> 00:06:21,250
デイビット·J·マラン:OK、良い。

131
00:06:21,250 --> 00:06:24,980
だから、データの一部ですその
サーバは、お使いのコンピュータ上に置き、

132
00:06:24,980 --> 00:06:28,840
とのも、それを一般化しましょう
より多くの、それはvalue--うまくキーですが、

133
00:06:28,840 --> 00:06:30,064
それは、より正確ななってきた。

134
00:06:30,064 --> 00:06:31,980
それはの作品です
情報、データの一部、

135
00:06:31,980 --> 00:06:34,430
サーバができること
お使いのコンピュータを置くために

136
00:06:34,430 --> 00:06:38,592
と非常に多くの場合、サーバが行います
これは、あなたが誰であるかを覚えておくようにする。

137
00:06:38,592 --> 00:06:40,300
だから、例えば、オッズ
あなたはおそらくしているされている

138
00:06:40,300 --> 00:06:42,982
Facebookのようなサイトにログインし、
やGmail、または他のものの前に

139
00:06:42,982 --> 00:06:44,940
そして、あなたの使ってログイン
ユーザー名とパスワード、

140
00:06:44,940 --> 00:06:49,000
その後その後、いくつかの数の
分または時間あるいは数日の、

141
00:06:49,000 --> 00:06:52,970
サーバがあることを覚えている
あなたは、実際には、ログインした。

142
00:06:52,970 --> 00:06:54,600
さて、どのように実際に起こっている?

143
00:06:54,600 --> 00:06:58,630
あなたは確かに再入力していないので
あなたのユーザー名とパスワード毎回

144
00:06:58,630 --> 00:07:00,760
あなたがに移動
Facebook上の別のページ。

145
00:07:00,760 --> 00:07:02,570
だから、判明
クッキーは答えです。

146
00:07:02,570 --> 00:07:05,360
>> あなたのように考えることができ、クッキー、
のような一種の、デジタルハンド

147
00:07:05,360 --> 00:07:09,200
あなたがアミューズメントで得るかもしれないスタンプ
公園や本質クラブ

148
00:07:09,200 --> 00:07:11,740
あなたがここにいたことを示し
前、あなたはすでにしました

149
00:07:11,740 --> 00:07:16,070
のために、用心棒にあなたのIDを示す
インスタンス、およびそのクラブや公園

150
00:07:16,070 --> 00:07:19,050
今あなたと仮定するべき
すでに認証している。

151
00:07:19,050 --> 00:07:21,270
あなたはすでにそれによって同定されている。

152
00:07:21,270 --> 00:07:24,740
>> このことを念頭に置いて持つので、
それでは、ここでカウンターを開いてみましょう。

153
00:07:24,740 --> 00:07:27,220
私はちょうどでしたが、私は先に行ってみよう、
そして、私のクッキーをすべてオフにします。

154
00:07:27,220 --> 00:07:29,970
そして今、私がやろうとしているものさ
ちょうど良い対策のため、Shiftキーを押し、

155
00:07:29,970 --> 00:07:31,740
と強制的にページをリロードしてください。

156
00:07:31,740 --> 00:07:34,170
念のシフト
その何もキャッシュされませんされます。

157
00:07:34,170 --> 00:07:36,850
そして、ここで要求だ
それは前後に行きました。

158
00:07:36,850 --> 00:07:41,560
だからここの上に、私たちは要求を持っている、としましょう
私はここまでズームインし、このたくさんの

159
00:07:41,560 --> 00:07:44,710
のための面白くない細部の一種である
今、ブラウザが自動的に持っていること

160
00:07:44,710 --> 00:07:47,800
送ったが、それでは表示]をクリックしてみましょう
生のヘッダを参照するには、ソース。

161
00:07:47,800 --> 00:07:51,700
>> そして、あなたはすでにpset6に飛び込んだ場合には、
あなたは確かに物事を認識します

162
00:07:51,700 --> 00:07:54,990
このような、そしておそらくいくつかの
ここにこれらの他のライン、

163
00:07:54,990 --> 00:07:59,040
しかし、今日のためにもっと面白いものだ
私は下にスクロールした場合、しない要求へ

164
00:07:59,040 --> 00:08:02,870
しかし、いわゆる応答、
この行はおそらくお馴染みに見えます。

165
00:08:02,870 --> 00:08:04,977
それは良いことだ
あなたは、200 OKを見たとき。

166
00:08:04,977 --> 00:08:07,060
どうやらこれは
サーバー上の日付と時刻

167
00:08:07,060 --> 00:08:08,268
そして原料の束があります。

168
00:08:08,268 --> 00:08:09,290
ああ、これは面白いです。

169
00:08:09,290 --> 00:08:13,430
>> あなたが使用するたびに判明
少なくともこのサーバーでは、PHP、

170
00:08:13,430 --> 00:08:16,360
サーバーは何を出してくれる
あなたが使っているPHPのバージョン。

171
00:08:16,360 --> 00:08:18,962
セキュリティのために実際にいる、
目的は、良いことではありません。

172
00:08:18,962 --> 00:08:21,170
しかし、我々はそれに戻ってくる
おそらくいくつかの他の時間。

173
00:08:21,170 --> 00:08:25,740
しかし、今、これは今日のジューシー線であり、
そして我々は、簡単にこれらのいくつかを見ました

174
00:08:25,740 --> 00:08:29,240
私たちが突いたとき、私はFacebookと思う
当時のインスペクタの周りに、

175
00:08:29,240 --> 00:08:33,380
設定されたCookieを植えているものです
情報の小さな作品

176
00:08:33,380 --> 00:08:34,890
お使いのコンピュータ上に。

177
00:08:34,890 --> 00:08:37,490
>> これはHTTPヘッダである
それが効果的だ

178
00:08:37,490 --> 00:08:39,970
お使いのブラウザを伝える、
Chromeは、IE、何でも、

179
00:08:39,970 --> 00:08:44,480
ユーザーの上でちょっとブラウザ店
ハードドライブ、またはユーザーのRAMに、

180
00:08:44,480 --> 00:08:49,680
あるPHPSESSIDと呼ばれるキー、
セッションIDのための簡単​​な表記法、

181
00:08:49,680 --> 00:08:53,670
それに値を与える
0vlk8t、ドット、ドット、ドット。

182
00:08:53,670 --> 00:08:56,480
本当に長い擬似
ランダム英数字の文字列。

183
00:08:56,480 --> 00:08:59,480
それはちょうど本当に大きな数ですが、
それは、文字と数字でエンコードされただ

184
00:08:59,480 --> 00:09:03,550
そのサイズができるように
単独の数字よりもさらに大きくなる。

185
00:09:03,550 --> 00:09:06,947
そして、ところで、PATH = /、その
ちょうどこのクッキーがなければならないことを意味

186
00:09:06,947 --> 00:09:08,780
に関連付けられている
ウェブサイトの全体、

187
00:09:08,780 --> 00:09:11,150
だけではなく、特定の
ページ全体のこと。

188
00:09:11,150 --> 00:09:12,930
だから、これはその仮想手のスタンプです。

189
00:09:12,930 --> 00:09:16,330
これは、サーバーかのようにFacebookの、
あるいは我々の場合アプライアンスでは、

190
00:09:16,330 --> 00:09:21,140
文字通り0vlk8tを書きました
など、あなたの手に。

191
00:09:21,140 --> 00:09:24,360
、どのようなサーバのことに注意してください
やっていないそうではありませんです

192
00:09:24,360 --> 00:09:27,730
確かに、自分のユーザー名を保存する
私のパスワードを格納していない。

193
00:09:27,730 --> 00:09:31,710
>> 代わりに、であるように思われる
擬似ランダム情報を格納する

194
00:09:31,710 --> 00:09:35,010
誰も推測できないように
私の手スタンプは何ですか。

195
00:09:35,010 --> 00:09:37,590
サーバー側では、
一方、サーバ

196
00:09:37,590 --> 00:09:40,370
おそらく、覚えてしようとしている
データベースか何かで、

197
00:09:40,370 --> 00:09:46,490
ユーザー、将来的にその
0vlk8tのハンドスタンプ、ドットを提示し、

198
00:09:46,490 --> 00:09:51,440
ドット、ドットは、これに関連付けられている必要が
特定のショッピングカート、いわば。

199
00:09:51,440 --> 00:09:55,060
言い換えれば、私は今行けば
ここに戻って、このページをリロードし、

200
00:09:55,060 --> 00:09:58,020
サーバーは、どのように知っているん
私は1時間を訪れたこと?

201
00:09:58,020 --> 00:10:01,730
>> 私は再びそれを行うかどうか、どのようにサーバーを行います
私はそれを2回訪問したことを知っていますか?

202
00:10:01,730 --> 00:10:04,680
さて、私はこれにダウンした場合
最新のリクエスト、どの

203
00:10:04,680 --> 00:10:09,150
私が送信したことを、今第三である
合計で、今私の要求に気づく。

204
00:10:09,150 --> 00:10:11,300
これはまだある
ここで、同じアップ要求

205
00:10:11,300 --> 00:10:15,040
以前のように、全体の束はまだあります
我々は以前のように無視してきたものの、

206
00:10:15,040 --> 00:10:19,350
しかし非常に最後のヘッダ、この
時間、私は前にここにいたので、

207
00:10:19,350 --> 00:10:21,980
のプレゼンテーションです
この仮想ハンドスタンプ。

208
00:10:21,980 --> 00:10:28,957
>> ここでこの行は、Cookieを設定しないことにより、
しかし、クッキーコロンPHPSESSI = 0vlk8t、

209
00:10:28,957 --> 00:10:32,040
それはちょうど私のブラウザの自動です
この手のスタンプを提示するように

210
00:10:32,040 --> 00:10:37,910
これで、サーバー、それが実現するとすぐとして、
ああ、これは、ユーザ0vlk8tドット、ドット、ドットである

211
00:10:37,910 --> 00:10:42,010
私は今、彼または彼女が誰であるかを覚えています
そして、そのユーザーに再会合何でも

212
00:10:42,010 --> 00:10:46,450
情報は私はしたい、とのすべて
その情報は、必要によって保存することができる

213
00:10:46,450 --> 00:10:50,130
$ _SESSIONでプログラマー、。

214
00:10:50,130 --> 00:10:57,170
>> 私は実際に素早く開くのであれば、明確にする
geditの中で、その実際のファイル、counter.php、

215
00:10:57,170 --> 00:11:02,340
私の地元のホスト公開ディレクトリ内
以前のように、確かに、ことに気付く、

216
00:11:02,340 --> 00:11:06,860
私は最終的に内に格納してい
$ _SESSION引用引用終わり "カウンター"

217
00:11:06,860 --> 00:11:10,110
以前のカウンタの値いる
私はここで我々、これらのラインから取得

218
00:11:10,110 --> 00:11:13,010
前回プラスワンを見た。

219
00:11:13,010 --> 00:11:14,980
だから、ボンネットの下に、
それは、すべてのクッキーがあるのです。

220
00:11:14,980 --> 00:11:17,563
それはデジタルのちょうど一種だ
ハンドスタンプは、行き来

221
00:11:17,563 --> 00:11:20,450
と率直に言ってあなたがChromeのを開いた場合
任意のウェブサイト上のインスペクタ

222
00:11:20,450 --> 00:11:22,580
あなたは、今日訪問
超高確率で、

223
00:11:22,580 --> 00:11:25,450
あなたは、おそらくいずれかを参照するつもりだ
多分半ダースのクッキー

224
00:11:25,450 --> 00:11:26,650
あなたが覚えてされている。

225
00:11:26,650 --> 00:11:29,500
>> そしてさらに悪いことに、それらの場合
ウェブサイトあなたが訪問している

226
00:11:29,500 --> 00:11:32,640
そのすべてが、広告を持っている
確かに今日は非常に一般的です、

227
00:11:32,640 --> 00:11:36,100
それらの広告は来ている場合は、
いくつかの中央党、誰かから

228
00:11:36,100 --> 00:11:39,000
Googleやアドワーズ広告など、彼ら
自社製品のいずれかを呼び出す

229
00:11:39,000 --> 00:11:42,880
または他のそのようなベンダーはその
、面白いもの、広告を売る

230
00:11:42,880 --> 00:11:46,510
と率直にちょっと何
気になる、HTTPがどのように機能するかについての、

231
00:11:46,510 --> 00:11:50,855
あなたが持っている場合、広告が埋め込まれたということです
Facebook.com、およびGoogle.comで、

232
00:11:50,855 --> 00:11:54,240
そしてHarvard.edu、任意の数
ウェブサイトのため、そのようだ

233
00:11:54,240 --> 00:11:58,130
提供している真ん中の男があること
それらのウェブサイトのすべての3つの広告まで、

234
00:11:58,130 --> 00:12:02,110
それがあることが判明
クッキーは、ドメインあたりの金額です。

235
00:12:02,110 --> 00:12:05,910
>> だから、あなたがから来る広告を持っている場合
別のウェブサイト上で同じ会社、

236
00:12:05,910 --> 00:12:11,140
その会社は、効果的に誰を追跡することができます
あなたはそれらのウェブサイトのすべてにわたっている。

237
00:12:11,140 --> 00:12:13,140
ハーバード大学は知らないかもしれない
あなたは、Facebookを訪問している。

238
00:12:13,140 --> 00:12:15,306
Facebookは知らないかもしれないと
あなたはハーバードを訪問している。

239
00:12:15,306 --> 00:12:18,160
しかし、どのような広告サービス
そのドメインがある場合、それらは使用している

240
00:12:18,160 --> 00:12:21,710
Harvard.eduウェブの両方に存在する
ページやFacebook.comのWebページ、

241
00:12:21,710 --> 00:12:26,850
この真ん中の男は確かにあなたが誰であるかを知っている
なぜならこれらのクッキーが共有されているの

242
00:12:26,850 --> 00:12:30,910
全体で、というより、へ
その仲介いわゆる。

243
00:12:30,910 --> 00:12:33,820
>> だから我々は、このに戻ってくるだろう
そのセキュリティへの影響、

244
00:12:33,820 --> 00:12:37,170
しかし、多くの情報があります
いつでもあなたについて保存されます

245
00:12:37,170 --> 00:12:40,120
上のほとんどの任意のWebページにアクセスしてください
本当にインターネットとそれ

246
00:12:40,120 --> 00:12:42,877
この非常に簡単な仕組みに帰着する。

247
00:12:42,877 --> 00:12:44,710
何があれば、その後、どうなる
あなたはスーパー妄想だ

248
00:12:44,710 --> 00:12:48,190
そしてあなたはクロームまたはIEに行くことに決める
または何とクッキーをオフにする?

249
00:12:48,190 --> 00:12:49,365
何が起こるか?

250
00:12:49,365 --> 00:12:50,790
うん?

251
00:12:50,790 --> 00:12:53,170
あなたはこの権利をやったreally--?

252
00:12:53,170 --> 00:12:54,350
[OK]をクリックします。

253
00:12:54,350 --> 00:12:55,994
いいえ、先に行く。

254
00:12:55,994 --> 00:12:59,645
>> 読者:特定のウェブサイトが持っていない
Facebookのようなことのない関数。

255
00:12:59,645 --> 00:13:00,520
デイビット·J·マラン:うん!

256
00:13:00,520 --> 00:13:02,311
だから、特定のウェブサイト
ただ動作を停止します。

257
00:13:02,311 --> 00:13:05,520
そしてほとんどのウェブサイトでは、これらの日
それは基本的に、クッキーに依存している

258
00:13:05,520 --> 00:13:08,360
彼らはあなたがログインしている場合は特に
で、彼らはちょうど破るつもりだ。

259
00:13:08,360 --> 00:13:10,360
検討するため、
代替、もしウェブサイト

260
00:13:10,360 --> 00:13:14,480
あなたが誰であるか覚えの方法がありません、
したがって、Webブラウザではありません

261
00:13:14,480 --> 00:13:16,949
すべてのHTTPで表す
この手のスタンプの要求、

262
00:13:16,949 --> 00:13:18,740
効果的にウェブサイト
Facebookの行くようなもの

263
00:13:18,740 --> 00:13:22,050
にプロンプ​​トを表示する必要があるとし
すべてのくそ時間にログイン

264
00:13:22,050 --> 00:13:26,200
あなたがページを変更したり、リンクをクリックして、その
確かに特に良いユーザーではありません

265
00:13:26,200 --> 00:13:26,920
経験。

266
00:13:26,920 --> 00:13:30,020
>> だからそこには、あまりにも、である
トレードオフの中で。

267
00:13:30,020 --> 00:13:34,140
だから、前置きなしに、それではいきましょう
Webプログラミングであることを付与されたため、

268
00:13:34,140 --> 00:13:37,630
PHPのような言語で、あなたは覚えています
問題のあるセット内のそのような情報

269
00:13:37,630 --> 00:13:41,550
あなたがあなた自身を実装7
購入するとイー·トレードのようなウェブサイト

270
00:13:41,550 --> 00:13:45,710
そしてあなたは正確に覚えているだろう、株式を売る
何、ユーザが購入し、販売している

271
00:13:45,710 --> 00:13:49,110
そして彼または彼女が誰であるか
このセッションを経由して。

272
00:13:49,110 --> 00:13:51,110
しかし、我々は必要になるだろう
電子メールよりも手の込んだやり方

273
00:13:51,110 --> 00:13:52,640
周りの情報を保持開始します。

274
00:13:52,640 --> 00:13:53,140
右?

275
00:13:53,140 --> 00:13:56,780
>> 月曜日に、私たちは1年生のIMについて話しました
とどのようにバージョンそのウェブサイトのいずれかで、

276
00:13:56,780 --> 00:14:00,250
数年前、我々が行ったすべてだった
だプロクターを電子メールで送信

277
00:14:00,250 --> 00:14:04,250
学内のスポーツ担当
プログラム、名前、性別、

278
00:14:04,250 --> 00:14:07,330
彼らはキャプテンだか否かにかかわらず、
そして誰かの寮

279
00:14:07,330 --> 00:14:10,136
学内スポーツのために登録する。

280
00:14:10,136 --> 00:14:13,010
だから、悪くはないが、その後、彼または彼女
彼らの電子メールを介してトロールしなければならなかった、

281
00:14:13,010 --> 00:14:16,010
スプレッドシートか何かなどを作る
それは、組織化のすべてを維持する。

282
00:14:16,010 --> 00:14:19,750
だから、きっと私たちのプログラマーとして
その試験監督のためにこれを行うことができます。

283
00:14:19,750 --> 00:14:22,970
だからSQLで入力し、
構造化照会言語、

284
00:14:22,970 --> 00:14:26,050
かなり見に行くされている
CとPHPの両方に異なる、

285
00:14:26,050 --> 00:14:30,990
あなたが上でずっと手を潜るよ
PHPと問題が、また7が、SQLを設定

286
00:14:30,990 --> 00:14:35,310
またはSQL、これはその言語で
あなたがデータベースに話をするために使用する。

287
00:14:35,310 --> 00:14:36,480
>> しかし、データベースは何ですか?

288
00:14:36,480 --> 00:14:38,440
さてあなたは考える
データベースは、少なくとも今のところ、

289
00:14:38,440 --> 00:14:41,750
ただ、Excelファイルのようなものと、または
あなたは、Macユーザa番号ファイルなら、

290
00:14:41,750 --> 00:14:44,400
またはあなたがGoogle Appsのなら
ユーザーはGoogleスプレッドシート、

291
00:14:44,400 --> 00:14:49,120
それは本当に効果的にデータベースの、または
特にリレーショナルデータベース。

292
00:14:49,120 --> 00:14:53,070
リレーショナルデータベースはちょうどです
行と列を持っているもの、

293
00:14:53,070 --> 00:14:56,440
、あなたは、任意の種類を格納することができ
これらの行または列内の情報。

294
00:14:56,440 --> 00:15:00,480
>> しかし、SQLのいいものだと
約実際のデータベースだけではなく、

295
00:15:00,480 --> 00:15:04,910
スプレッドシートやGoogleスプレッドシート、
あなたが言語を使用できることです

296
00:15:04,910 --> 00:15:09,000
実際にクエリを実行する
データを削除し、データを挿入、

297
00:15:09,000 --> 00:15:11,620
でも、データを探すために
最も重要なこと、そしてあなた

298
00:15:11,620 --> 00:15:16,110
かなり手動でそれを使用する必要はありません
あなたはGoogleの一般的かもしれませんが

299
00:15:16,110 --> 00:15:17,690
このようなスプレッドシート。

300
00:15:17,690 --> 00:15:22,217
>> だから、SQLで、の束があります
基本的な文や作品

301
00:15:22,217 --> 00:15:23,300
機能性に建てられた。

302
00:15:23,300 --> 00:15:26,450
これらよりも多くのがあります、
しかし、あなたは、巨大な距離を移動することができます

303
00:15:26,450 --> 00:15:28,620
ちょうどそれを知ることにより
と呼ばれるこの言語

304
00:15:28,620 --> 00:15:30,840
SQLは、少なくとも4つを有する
あなたが活用することができますステートメント。

305
00:15:30,840 --> 00:15:34,420
>> データを削除するために、削除、
行を追加するため、挿入し、

306
00:15:34,420 --> 00:15:37,340
変更するためのアップデート、
行、および選択、

307
00:15:37,340 --> 00:15:39,860
行を取り戻すためにと
それは確かに、SQLが何をするかだ。

308
00:15:39,860 --> 00:15:43,810
それはとても行に完全に動作します
ときに、挿入、または削除、その

309
00:15:43,810 --> 00:15:47,470
または更新、またはあなたがしているものを選択
いわゆる結果セットとして戻ってき、

310
00:15:47,470 --> 00:15:49,690
行の配列などがある。

311
00:15:49,690 --> 00:15:51,700
表からの行の束。

312
00:15:51,700 --> 00:15:54,050
>> だから、戻って一日で、
でもこの日に、

313
00:15:54,050 --> 00:15:56,560
あなたがと対話することができます
コマンドラインを使用して、データベース、

314
00:15:56,560 --> 00:15:59,691
それは使用することが特に楽しいではありません
この黒と白のスタイルウィンドウ

315
00:15:59,691 --> 00:16:02,190
そして、実際にコマンドを実行
そして、データベース周り突く。

316
00:16:02,190 --> 00:16:06,054
グラフィカル·ユーザー·インターフェース、またはGUI、
、間違いなく、はるか望ましい

317
00:16:06,054 --> 00:16:08,970
そして私たちはお勧めのツールと
アプライアンスにあなたのためにプリインストールされている

318
00:16:08,970 --> 00:16:10,580
phpMyAdminに呼ばれています。

319
00:16:10,580 --> 00:16:14,060
それは、その合計偶然だ
この事の名前は、その中にPHPを持つ

320
00:16:14,060 --> 00:16:17,430
それだけで人々を意味し
誰が彼ら自身をこのプログラムを書いた

321
00:16:17,430 --> 00:16:18,670
PHPでそれを書いた。

322
00:16:18,670 --> 00:16:23,740
>> しかし、それは治療について、最終的です
MySQLサーバのようなデータベースサーバ、

323
00:16:23,740 --> 00:16:26,589
あなたが持つかもしれないことを、あなたと
CS50アプライアンスで、やる。

324
00:16:26,589 --> 00:16:29,130
だから、詳細はここよりもあります
今日は気にする必要があります、

325
00:16:29,130 --> 00:16:33,280
しかし何の鍵なのは左のそれである
手側はデータベースのリストです

326
00:16:33,280 --> 00:16:36,040
あなたがお使いのコンピュータ上に持っ​​ている、
あなたのCS50アプライアンス上で、

327
00:16:36,040 --> 00:16:40,090
またはあなたがかもしれない、最終的なプロジェクトを来る
第三者、同社に与える

328
00:16:40,090 --> 00:16:43,415
そのWebサイトまたはWebサーバー、
あなたは宇宙のために払っている可能性があります。

329
00:16:43,415 --> 00:16:45,290
だから、左側にあり
データベースの一

330
00:16:45,290 --> 00:16:48,750
私は次のから借りpset7です
週のpset、次に上

331
00:16:48,750 --> 00:16:51,570
そこだそこに気づく
タブ、一つの束

332
00:16:51,570 --> 00:16:55,150
データベース、SQL、ステータスがあり、
などのユーザー、エクスポートと。

333
00:16:55,150 --> 00:16:56,900
だから、長いを行くことができます
やり方だけで実現することにより

334
00:16:56,900 --> 00:16:59,770
そのユーザインタフェースの最も
左上の欄にある

335
00:16:59,770 --> 00:17:02,650
そして上部のすぐそこまで。

336
00:17:02,650 --> 00:17:04,980
だから我々は実際にこれで何ができるのでしょうか?

337
00:17:04,980 --> 00:17:08,609
さて、作成を開始してみましょう
情報のビットは次のように。

338
00:17:08,609 --> 00:17:11,760
>> 以下のような場合であると仮定し、
わずか数日になりますように、

339
00:17:11,760 --> 00:17:14,440
あなたが実装したい
CS50 Financeというウェブサイト、

340
00:17:14,440 --> 00:17:17,328
このウェブサイトはあなたが買うことができます
引用終わり引用や株式を売却。

341
00:17:17,328 --> 00:17:19,619
そして、それは把握するだろう
これらの株式の価格は、

342
00:17:19,619 --> 00:17:22,380
最終的にあなたが表示されますよう、
ヤフーファイナンスに話すことによって。

343
00:17:22,380 --> 00:17:26,250
これ、素晴らしく、無料のサービスを提供しています
あなたは株式相場に渡すことができる

344
00:17:26,250 --> 00:17:29,830
GoogleにとってGOOG、それ好きになるでしょう
Googleの現在の株価をあなたにお返し

345
00:17:29,830 --> 00:17:32,250
過去の中価格
数分少なくとも。

346
00:17:32,250 --> 00:17:35,080
>> だから、最終的には、それを使用します
ユーザのためにふりをする

347
00:17:35,080 --> 00:17:37,750
実際に購入し、販売する
仮想マネーを使って株式、

348
00:17:37,750 --> 00:17:39,750
しかし、非常に最初の事
ユーザーが見ることになるだろう

349
00:17:39,750 --> 00:17:43,850
それらを尋ねる、このログイン画面がある
ユーザー名とパスワードのため。

350
00:17:43,850 --> 00:17:46,540
だから、最初の1
pset7でのあなたのための課題

351
00:17:46,540 --> 00:17:50,460
バックエンドを実装することになるだろう
データベース、スプレッドシートあなたがする場合は、

352
00:17:50,460 --> 00:17:53,369
それは保存するために起こっている
ユーザー名とパスワード

353
00:17:53,369 --> 00:17:56,660
そして最終的に彼らが所有する株式、および
どのように多くの、そしてどのくらいの現金彼らが持っている、

354
00:17:56,660 --> 00:18:00,110
ので、他の物事の束で
他のテーブル、またはスプレッドシート。

355
00:18:00,110 --> 00:18:05,020
>> それでは、どのようにこれを見てみましょう
一見表示されることがあります。

356
00:18:05,020 --> 00:18:06,980
私は戻って行くつもりです
私は、アプライアンス

357
00:18:06,980 --> 00:18:14,102
ここで次のURLを参照してくださいつもり
phpMyAdminにはlocalhost / phpmyadminの

358
00:18:14,102 --> 00:18:16,060
そしてあなたはそのことが表示されます
インターフェイスに私を取る

359
00:18:16,060 --> 00:18:18,520
私たちは上を見ているとおりに
スクリーンショット、ここで私

360
00:18:18,520 --> 00:18:21,560
追加のデータベースを持っている
今日の講演会と呼ばれる

361
00:18:21,560 --> 00:18:24,280
と私は先に行きましょう
第一及びpset7をクリックしてください。

362
00:18:24,280 --> 00:18:27,940
>> 私はオプションのカップルを持っているようだ、
新しいテーブルを作成するための新しいのための1、

363
00:18:27,940 --> 00:18:30,770
ユーザーへとリンク、どの
私はすでに作成されたテーブルです。

364
00:18:30,770 --> 00:18:31,790
だから、テーブルは何ですか?

365
00:18:31,790 --> 00:18:33,740
ですから、Excelを使用した場合
前、あなたがしている場合

366
00:18:33,740 --> 00:18:37,110
使用した数値やGoogle
スプレッドシートは、ウィンドウを開く

367
00:18:37,110 --> 00:18:39,350
あなたが全体の束を取得
行と列の、

368
00:18:39,350 --> 00:18:43,120
しかし、あなたは、通常のワークシートを持っている
一番下、または個別のタブに沿って。

369
00:18:43,120 --> 00:18:46,140
あなたはそれぞれの考えることができます
テーブルとしてワークシート

370
00:18:46,140 --> 00:18:51,150
その結果、データベースは、最終的には、aは
一つ以上のテーブルを組み合わせ、ある

371
00:18:51,150 --> 00:18:54,064
以上のワークシート、中
通常のスプレッドシートの世界。

372
00:18:54,064 --> 00:18:55,980
だから私は先に行くとしましょう
このワークシートをクリックしてください

373
00:18:55,980 --> 00:18:59,420
私は既成のことを、と呼ばれるユーザーは、別名、

374
00:18:59,420 --> 00:19:00,700
データベーステーブル。

375
00:19:00,700 --> 00:19:04,130
そして、私はここに下にスクロールした場合、
私は少しズームアウトしましょう​​、

376
00:19:04,130 --> 00:19:08,479
これはphpMyAdminは語っているものです
私たちは今、この表の中にある。

377
00:19:08,479 --> 00:19:11,020
それは、最初は少し混乱だ
一目UIはありませんので、

378
00:19:11,020 --> 00:19:15,140
世界で最も美しい物ですが
興味深いのは、ここではこの部分である。

379
00:19:15,140 --> 00:19:17,970
ID、ユーザー名、ハッシュ。

380
00:19:17,970 --> 00:19:20,510
>> 事前に、あなたは左利きだろう
これは問題では7を設定し、

381
00:19:20,510 --> 00:19:25,050
私たちはあなたにスーパーを含むファイルを与える
実際に借りた小さなデータベーステーブル、

382
00:19:25,050 --> 00:19:27,070
ハッカー版から
の問題は、2つのセット

383
00:19:27,070 --> 00:19:29,480
その内部に6行があります。

384
00:19:29,480 --> 00:19:32,720
すべてのベリンダの一つ
ウェイダウンZamylaためのものと、

385
00:19:32,720 --> 00:19:35,980
それらの左側に気付く
ユーザー名は、1のようなユニークなIDである

386
00:19:35,980 --> 00:19:39,410
二つ、三つ、四つ、五つ、六つ、整数、
その後右にハッシュがある。

387
00:19:39,410 --> 00:19:42,780
>> オッズである、場合、あなたはしませんでした
ハッカー版の問題は、二つセット

388
00:19:42,780 --> 00:19:46,560
しかし、ハッシュは暗号化されただけのようです
いくつかの注意点とパスワードを入力します。

389
00:19:46,560 --> 00:19:49,470
だから、あなたはここで何を参照してください。
すべての6つの暗号化されたバージョン

390
00:19:49,470 --> 00:19:52,950
問題から私たちのパスワードを
2のハッカーエディションを設定してください。

391
00:19:52,950 --> 00:19:56,500
今すぐ左にはいくつかのGUIのものである、
、この行を編集し、この行をコピーし、

392
00:19:56,500 --> 00:19:57,630
この行を削除する。

393
00:19:57,630 --> 00:19:59,840
>> しかし、何が面白い
今以下の通りである。

394
00:19:59,840 --> 00:20:03,810
私は実際に開始することができます
このテーブルを使って実験。

395
00:20:03,810 --> 00:20:07,330
だから私は行くとSQLをクリックした場合
タブは、私がこの大きなテキストボックスを取得します。

396
00:20:07,330 --> 00:20:10,190
そして、これは私たちがしようとしている方法ではありません
実際にコードを書くときにそれを行う。

397
00:20:10,190 --> 00:20:12,700
明確にする、phpMyAdminの
だだけのツールです

398
00:20:12,700 --> 00:20:16,450
私たちはデータベース周り突くようにするつもり
そして私たちは、クエリを試してみましょう。

399
00:20:16,450 --> 00:20:19,430
>> だから、例えば、仮定し
私は正確にこれを実行します。

400
00:20:19,430 --> 00:20:22,820
それらの一つである、選択
私は前述したキーワード、スター、

401
00:20:22,820 --> 00:20:25,900
すべて表している
テーブル内の列。

402
00:20:25,900 --> 00:20:26,820
何テーブルから?

403
00:20:26,820 --> 00:20:27,990
さて、ユーザーは。

404
00:20:27,990 --> 00:20:29,950
そして、これがあると気づく
SQLでの奇妙な慣習

405
00:20:29,950 --> 00:20:32,140
どこにあなたが実際に使用
バックは、典型的には、マダニ

406
00:20:32,140 --> 00:20:35,940
ていない単一引用符ではなく二重引用符
あなたは、テーブル名について話すとき、

407
00:20:35,940 --> 00:20:38,990
そう、バッククォートは上のものです
最もキーボードの左上

408
00:20:38,990 --> 00:20:39,720
そう。

409
00:20:39,720 --> 00:20:41,850
>> だから私は今先に行きましょう
そしてちょうどその一人で残す

410
00:20:41,850 --> 00:20:46,020
そして下にスクロールし、[Go]をクリックし、我々はしている
実際に同じものを見に行く。

411
00:20:46,020 --> 00:20:52,410
私達はちょうどSQLクエリを実行した
選択すべてのスターを言って

412
00:20:52,410 --> 00:20:55,610
からテーブルは、ユーザと呼ばれ、
何を取り戻すことはこれです。

413
00:20:55,610 --> 00:20:58,400
最終的に、私たちのことができるようになります
コー​​ド内で同じことを行う、

414
00:20:58,400 --> 00:21:02,109
しかし、今、すべてのために私はしたかった
私のブラウザでそれを見ることだったん。

415
00:21:02,109 --> 00:21:03,900
さて者が何かをやらせる
少し違う。

416
00:21:03,900 --> 00:21:08,330
私はSQL]タブに戻りましょう、
そしてちょうど何としましょう​​?

417
00:21:08,330 --> 00:21:11,520
Zamylaは彼女のすべてを失ってしまった
お金、したがって、それはだ

418
00:21:11,520 --> 00:21:13,190
私たちはユーザーとして彼女を削除するための時間。

419
00:21:13,190 --> 00:21:14,630
彼女はもはや、ログインんだ。

420
00:21:14,630 --> 00:21:18,870
>> だから私はfrom--削除と言うつもりです
よく、大文字を維持

421
00:21:18,870 --> 00:21:23,080
一貫性を保つために、削除
ここでユーザーから。

422
00:21:23,080 --> 00:21:25,430
だから、我々はこれらを持つことができます
述語、またはこれら

423
00:21:25,430 --> 00:21:31,180
私の文の末尾に修飾子、
どこで、どのように私はZamylaを削除できますか?

424
00:21:31,180 --> 00:21:34,190
彼女の名前Zamylaことで、そう
列、列の1

425
00:21:34,190 --> 00:21:37,950
名前なので、ここで名前= "Zamyla"した。

426
00:21:37,950 --> 00:21:40,000
そして、ここで私は、二重使用
引用符または一重引用符、

427
00:21:40,000 --> 00:21:42,958
あなただけのバック時にチックに使用
たとえば、名前の話、

428
00:21:42,958 --> 00:21:45,130
テーブルやフィールドの。

429
00:21:45,130 --> 00:21:47,440
そして、私はここに移動]をクリックしてみましょう。

430
00:21:47,440 --> 00:21:50,400
そして今、ウェブページがある
少し緊張している。

431
00:21:50,400 --> 00:21:53,620
>> または、あなたは本当に、削除、実行したいです
名前はZamylaに等しいユーザーから?

432
00:21:53,620 --> 00:21:54,680
はい。

433
00:21:54,680 --> 00:22:01,900
だから今、私たちは私のテーブルに戻る場合は、
クリックするユーザーが、フムことに気づく。

434
00:22:01,900 --> 00:22:02,530
私はgoofed。

435
00:22:02,530 --> 00:22:04,070
そして実際に、私は一種の
とても速く離れてクリックする

436
00:22:04,070 --> 00:22:06,195
あなたも見ていない
おそらく赤いエラーメッセージ、。

437
00:22:06,195 --> 00:22:07,649
私は間違って何をした?

438
00:22:07,649 --> 00:22:09,690
読者:あなたが必要としなかった
彼女の名前を大文字にする。

439
00:22:09,690 --> 00:22:11,260
デイビット·J·マラン:うん、私
彼女の名前を大文字に、

440
00:22:11,260 --> 00:22:13,770
しかし、彼女は私が実際にusername--
右、カップルミスを作ったのですか?

441
00:22:13,770 --> 00:22:16,720
一つは、彼女のユーザ名です
zamyla、小文字のZ、

442
00:22:16,720 --> 00:22:20,140
列名は、ユーザ名であり、
名前ではなく、それでは、再びこれをやらせる。

443
00:22:20,140 --> 00:22:25,750
私は先に行こうと
ユーザーがどこから削除

444
00:22:25,750 --> 00:22:28,990
ユーザー名は、引用引用終わり "Zamyla」に等しい。

445
00:22:28,990 --> 00:22:29,490
すべての権利?

446
00:22:29,490 --> 00:22:32,600
だから、これは少し良く見えます、しましょう
私は下にスクロール行くし、Goをクリックします。

447
00:22:32,600 --> 00:22:34,730
それはまだに起こっている
確かに私に叫ぶ。

448
00:22:34,730 --> 00:22:37,500
私は[はい]をクリックし、そして今、我々はを参照してください、
率直に言って、これは本当に起こった

449
00:22:37,500 --> 00:22:39,870
1未満、高速
第二確かに、この

450
00:22:39,870 --> 00:22:41,720
正確に実行されてしまったクエリです。

451
00:22:41,720 --> 00:22:45,617
確認するために、私は、ユーザーをクリックしてみましょう
そして実際に、今Zamylaがなくなっています。

452
00:22:45,617 --> 00:22:46,700
今度は、反対のことをやらせる。

453
00:22:46,700 --> 00:22:49,320
ゲイブがしたいと仮定し
ウェブサイトに登録する。

454
00:22:49,320 --> 00:22:52,825
何、SQLクエリの周辺情報
私はゲイブを追加するために入力することができますコマンド?

455
00:22:52,825 --> 00:22:54,200
まあそれはかなり簡単です。

456
00:22:54,200 --> 00:22:58,260
今のユーザーに挿入し、
それは少し不可解な取得します。

457
00:22:58,260 --> 00:23:03,190
私は、サーバーに、指定する必要があり、
私が割り当てたいフィールド。

458
00:23:03,190 --> 00:23:06,630
私は本当に何ゲイブのIDを気にしない
数があるので、私はそれをスキップするつもりです。

459
00:23:06,630 --> 00:23:11,360
私が代わりに言うつもりです
ユーザー名、ハッシュ、およびその後

460
00:23:11,360 --> 00:23:14,960
値は、私が入れたい
ゲイブがあるように起こっている。

461
00:23:14,960 --> 00:23:16,800
その後、彼のハッシュが、私は知らない。

462
00:23:16,800 --> 00:23:19,900
だから今、私はするつもりだ
行うことが大きなとしてそのままにしておきます。

463
00:23:19,900 --> 00:23:21,650
我々は戻って来る
問題セット内のその

464
00:23:21,650 --> 00:23:23,390
あなたが実際にそれを行う方法として、スペック。

465
00:23:23,390 --> 00:23:24,630
>> だから、もう一度、構文に気づく。

466
00:23:24,630 --> 00:23:28,430
テーブル名に、[挿入]
フィールドの括弧でリスト、

467
00:23:28,430 --> 00:23:30,980
あなたが追加したい列
ちょうどその値に、そして

468
00:23:30,980 --> 00:23:34,495
左からまったく同じ順序
あなたが追加したい値の右側に、

469
00:23:34,495 --> 00:23:36,870
そしてそれは理由だけで包んだ
テキストは少し長いです。

470
00:23:36,870 --> 00:23:38,520
だから今私は、[移動]をクリックしてみましょう。

471
00:23:38,520 --> 00:23:39,830
一つの行が挿入される。

472
00:23:39,830 --> 00:23:43,020
そして今、私は戻っへ行けば
ユーザーは、何が面白い

473
00:23:43,020 --> 00:23:48,960
唯一のゲイブは、今ではないということです
データベースには、明らかに彼のIDが何ですか?

474
00:23:48,960 --> 00:23:49,820
>> まあそれは7です。

475
00:23:49,820 --> 00:23:51,479
なぜそれが私はそれを追加しなかった7されたとき?

476
00:23:51,479 --> 00:23:54,020
このように、あまりにも、の一つである
あなたは、データベースの取得機能を備えています。

477
00:23:54,020 --> 00:23:55,750
の多くは、機能が組み込まれています。

478
00:23:55,750 --> 00:23:57,950
それは時と判明
この表を作成し、

479
00:23:57,950 --> 00:24:01,390
私はそれが自動的に事前設定だ
このようにIDを割り当てる

480
00:24:01,390 --> 00:24:02,480
それがインクリメントこと。

481
00:24:02,480 --> 00:24:05,470
だから、あなたは今までの周りつついてしまった場合、
そしてどのような自分のFacebookのIDを見て

482
00:24:05,470 --> 00:24:09,292
番号は、それは本当にありませんこれらの日です
行うための物ですが、APIとしてのFacebook、

483
00:24:09,292 --> 00:24:11,750
アプリケーション·プログラミング·インタフェース、
あなたが取り戻すことができる

484
00:24:11,750 --> 00:24:14,430
に関するデータの全体の束
あなた自身、あなたの友人約、

485
00:24:14,430 --> 00:24:15,347
そして、あなたの接続。

486
00:24:15,347 --> 00:24:17,430
そして、何が親切にするために使用
クールの、背中日に、

487
00:24:17,430 --> 00:24:19,510
ルックアップするために何であったか、あなたを
FacebookのID番号があった。

488
00:24:19,510 --> 00:24:22,390
Mark Zuckerbergはの、
例えば、3個である

489
00:24:22,390 --> 00:24:23,890
彼はサイトの作者だったので。

490
00:24:23,890 --> 00:24:27,610
物語が進むにつれて、彼が作成
2テストアカウント、ユーザーは1と2、

491
00:24:27,610 --> 00:24:28,690
その彼はその後、削除された。

492
00:24:28,690 --> 00:24:32,780
そしてそう、などのザックは、彼のユーザー名です
Facebook上で、ID番号3である、

493
00:24:32,780 --> 00:24:36,110
そして私たちのすべては、はるかに数字を持っている
3これらの日よりも大きい。

494
00:24:36,110 --> 00:24:37,980
実際には、いくつかの点で
Facebookは遠ざけ

495
00:24:37,980 --> 00:24:42,410
偶数整数を使用するから、その
32ビットの値が使用することに、ある

496
00:24:42,410 --> 00:24:44,480
次のステップアップ、
本質的に長い長いので、

497
00:24:44,480 --> 00:24:47,150
彼らは収容できること
さらに多くのユーザーが登録する。

498
00:24:47,150 --> 00:24:49,420
だから、楽しい小さな歴史的な事実。

499
00:24:49,420 --> 00:24:51,660
>> だから、それはただだ
との基本的な構文

500
00:24:51,660 --> 00:24:54,470
私達はのカップルを実行するかもしれません
クエリが、我々は実際にできます

501
00:24:54,470 --> 00:24:56,744
SQLでたくさんより多くのことを行う。

502
00:24:56,744 --> 00:24:58,910
そして、あなたは、最終的には、表示されます
問題に7を設定

503
00:24:58,910 --> 00:25:01,034
あなたが作るために持っていること
設計上の決定の数、

504
00:25:01,034 --> 00:25:03,290
それらの間になるだろう
どのようなデータ型を使用します。

505
00:25:03,290 --> 00:25:08,240
だから、Cのように、データが存在する
データベース内の型、MySQLのような、

506
00:25:08,240 --> 00:25:12,640
あなたが選択する必要がとデータ型
からは、ここで、これらのフィールドが含まれています。

507
00:25:12,640 --> 00:25:17,287
CHAR、VARCHAR、INT、大きなint型、小数
日付、時間、および多くの他。

508
00:25:17,287 --> 00:25:18,370
それでは、実際にこれを実行してみましょう。

509
00:25:18,370 --> 00:25:21,060
のは、我々はしなかったことをふりをしましょう
手あなたこのユーザーの表

510
00:25:21,060 --> 00:25:25,080
とのために、私が先に行くと、作成してみましょう
私自身、講義中database--

511
00:25:25,080 --> 00:25:31,000
実際に私が先に行くと、削除させて
私はすでにここに持っているテーブル

512
00:25:31,000 --> 00:25:32,940
ように、我々は実際にこれを作成することができます。

513
00:25:32,940 --> 00:25:33,550
おっと。

514
00:25:33,550 --> 00:25:35,970
私はこれをドロップするつもりです
テーブル、そして今私は

515
00:25:35,970 --> 00:25:38,337
再び行くつもり
こっち講義データベース、

516
00:25:38,337 --> 00:25:40,420
私はテーブルを作成するつもりです
ユーザーは呼ばれてみましょう

517
00:25:40,420 --> 00:25:43,010
ちょうど3つの列を行う
最初に、[Go]をクリックします。

518
00:25:43,010 --> 00:25:44,990
>> さて、ほとんどの部分は、
再び、これはただである

519
00:25:44,990 --> 00:25:48,570
と呼ばれるこのグラフィカルツールを使用して
phpMyAdminは、私たちは今何をやっている

520
00:25:48,570 --> 00:25:49,600
テーブルを作成しています。

521
00:25:49,600 --> 00:25:53,170
だから、これはファイル、新規を行くようなものである、
そして新しいExcelファイルを作成する。

522
00:25:53,170 --> 00:25:55,440
だから、それは私にいくつかを尋ねるだ
質問は、よりは、左から右へ

523
00:25:55,440 --> 00:25:58,620
最初の列の名前は何ですか、
第2列の、名前、

524
00:25:58,620 --> 00:25:59,560
そして第三の名前。

525
00:25:59,560 --> 00:26:00,518
それでは、これを再作成してみましょう。

526
00:26:00,518 --> 00:26:05,460
ID、その後、ユーザー名は、一つであった
その後ハッシュは別だった。

527
00:26:05,460 --> 00:26:08,970
だから、どのようなデータ型はすべき
IDのようフィールドのために今も?

528
00:26:08,970 --> 00:26:14,470
>> ここではデータタイプのリスト全体は
データベースで使用できる、

529
00:26:14,470 --> 00:26:16,070
そして今のところちょうどint型で行きましょう。

530
00:26:16,070 --> 00:26:18,160
32ビット値、私はしないでください
私は現実的に考える

531
00:26:18,160 --> 00:26:21,484
40億以上のものを持っているつもり
アカウント内のユーザー、私のサービスで、

532
00:26:21,484 --> 00:26:23,650
私は動かし続けるつもりだ
次の質問に上。

533
00:26:23,650 --> 00:26:25,490
私が指定するつもりはない
長さや値、

534
00:26:25,490 --> 00:26:28,540
それが適用されないだ
ここではint型のため、それ自体が。

535
00:26:28,540 --> 00:26:30,740
そして今、私が指定することができ、
どうやら、デフォルト

536
00:26:30,740 --> 00:26:33,970
私が指定するつもりはない値。

537
00:26:33,970 --> 00:26:36,050
照合は、私はそれが何であるかを知らない。

538
00:26:36,050 --> 00:26:37,290
属性。

539
00:26:37,290 --> 00:26:39,455
今、私たちは実際に行う
設計上の決定を持っている。

540
00:26:39,455 --> 00:26:42,580
だからここにいくつかのフィールドではなく、すべてがあります
そのうちの該当するが、符号なしである

541
00:26:42,580 --> 00:26:43,380
ただ何を意味?

542
00:26:43,380 --> 00:26:45,400
intはしなければならない?

543
00:26:45,400 --> 00:26:46,210
ちょうど非負。

544
00:26:46,210 --> 00:26:48,090
だから、アップ時に0にする必要があります。

545
00:26:48,090 --> 00:26:51,120
いいえ、私は理由をチェックするつもりはない
私は、すべてのユーザーがIDを持っているしたい、

546
00:26:51,120 --> 00:26:52,470
それがnullにすることはできません。

547
00:26:52,470 --> 00:26:55,949
その後、私たちはいくつかのより多くを取得
このような興味深い設計上の決定。

548
00:26:55,949 --> 00:26:58,990
私たちは、その瞬間にこれに戻ってくるだろう
しかし、どのようなデータベースの別の特徴

549
00:26:58,990 --> 00:27:04,200
、であるあなたが言うことができるということです
データベースサーバは、先に行く

550
00:27:04,200 --> 00:27:07,100
そしてあなたの、あなた自身を最適化
RAMとハードディスクの容量、

551
00:27:07,100 --> 00:27:11,770
つまり、選択し、挿入など
削除、更新は本当に速いです。

552
00:27:11,770 --> 00:27:13,250
pset5とは対照的。

553
00:27:13,250 --> 00:27:16,259
>> あなたが何かを見ていた場合
あなたのハッシュテーブル内の、どの

554
00:27:16,259 --> 00:27:18,300
あなたは、データベースとして考える
すべてしなければならなかった人

555
00:27:18,300 --> 00:27:21,500
あなたのハッシュテーブルは、高速作るために働く。

556
00:27:21,500 --> 00:27:22,840
それは、明らかに、好きだ。

557
00:27:22,840 --> 00:27:23,060
右?

558
00:27:23,060 --> 00:27:26,080
あなたはすべての時間の罰金に入れていた
ハッシュ関数を得ること、物事を調整する

559
00:27:26,080 --> 00:27:27,820
右、方法を考え出す
持っているために多くのバケット。

560
00:27:27,820 --> 00:27:29,611
>> しかし、再び、素敵なものだ、
データベースについてです

561
00:27:29,611 --> 00:27:31,762
あなただけのすべてをパント
この他の人に

562
00:27:31,762 --> 00:27:33,720
誰がこれを考えている
何のための貫通し、

563
00:27:33,720 --> 00:27:37,170
私は下にここに言うつもりです
インデックスは、その私のIDフィールドです

564
00:27:37,170 --> 00:27:41,149
の主な方法になるだろう
このデータベース内のユーザーを識別する。

565
00:27:41,149 --> 00:27:42,940
私が考えるつもりはない
ZamylaとしてZamylaの、

566
00:27:42,940 --> 00:27:45,800
私が考えるつもりだ
6番としての彼女。

567
00:27:45,800 --> 00:27:49,814
>> なぜそれが、おそらく、より良いです
直感的に考えることとモデル

568
00:27:49,814 --> 00:27:52,480
使用して、個々の行のそれぞれ
代わりに何かの数

569
00:27:52,480 --> 00:27:56,480
Zamylaのような文字列のような
ゲイブまたはまだ長い文字列や?

570
00:27:56,480 --> 00:27:57,444
うん?

571
00:27:57,444 --> 00:28:00,117
>> 読者:IDはユニークです?

572
00:28:00,117 --> 00:28:01,200
デイビット·J·マランは:もう一度言う?

573
00:28:01,200 --> 00:28:02,283
読者:IDはユニークです?

574
00:28:02,283 --> 00:28:04,400
デイビット·J·マラン:ID
ユニークですが、suppose--

575
00:28:04,400 --> 00:28:06,320
一般的にはケースとして
ユーザ名と、仮定し

576
00:28:06,320 --> 00:28:10,110
私も一つだけが存在し得ると述べ
世界でZamyla、そして唯一のゲイブ。

577
00:28:10,110 --> 00:28:13,730
私は、一意性を課すことができ
私がしたい場合も、文字列の制約。

578
00:28:13,730 --> 00:28:15,550
だから、悪くない考え。

579
00:28:15,550 --> 00:28:16,500
>> 読者:より安全。

580
00:28:16,500 --> 00:28:17,874
>> デイビット·J·マラン:より安全な、なぜですか?

581
00:28:17,874 --> 00:28:20,705
読者:あなたが言うことができない
ユーザのように、これは。

582
00:28:20,705 --> 00:28:22,580
デイビット·J·マラン:OK、あなた
これをユーザーに伝えることはできません

583
00:28:22,580 --> 00:28:24,380
これはとてもあります
それへのプライバシーの側面、

584
00:28:24,380 --> 00:28:27,810
特に多分IDがあれば
URLの中に現れる。

585
00:28:27,810 --> 00:28:29,960
だから、必ず、それはあまりにも仕事の種類、可能性があります。

586
00:28:29,960 --> 00:28:30,640
他の考え?

587
00:28:30,640 --> 00:28:31,383
うん?

588
00:28:31,383 --> 00:28:34,316
>> 聴衆:それはに簡単です
int型の操作を実行します。

589
00:28:34,316 --> 00:28:35,940
デイビット·J·マラン:それは本当のキッカーだ。

590
00:28:35,940 --> 00:28:38,850
それはちょうど、より効率的ですが、
またはコンピュータのためのより容易に、

591
00:28:38,850 --> 00:28:40,431
整数に対する操作を実行します。

592
00:28:40,431 --> 00:28:40,930
右?

593
00:28:40,930 --> 00:28:43,905
int型が保証され
Zamylaのに対し、32ビットであること

594
00:28:43,905 --> 00:28:47,660
、ガブリエル数文字の長さである
さらにいくつかの文字は、長さで

595
00:28:47,660 --> 00:28:51,930
ダベンポートは本当に長いです、ので、それはだ
使用することが特に効率的ではない

596
00:28:51,930 --> 00:28:55,860
値を比較して見て、文字列
フィールドは、更新フィールドについて、

597
00:28:55,860 --> 00:28:57,790
あなたは離れて得ることができるかどうか
ただひとつの整数である。

598
00:28:57,790 --> 00:28:59,090
ちょうど32ビット。

599
00:28:59,090 --> 00:29:02,570
ユーザー名そのため、あまりにも、このように、
一意である必要はありませんが、

600
00:29:02,570 --> 00:29:05,040
彼らはおそらく必要がありますが
あまりにも、さらにこのようにしてあること

601
00:29:05,040 --> 00:29:07,520
ユーザーがに許可することができた
彼または彼女のユーザ名を変更してください。

602
00:29:07,520 --> 00:29:10,810
>> それでは、今のように、このままましょう
ユーザを識別するための主な手段。

603
00:29:10,810 --> 00:29:13,510
これは、データベースを語っている
先に行くと、自分自身を最適化する

604
00:29:13,510 --> 00:29:17,065
そう、ID上のルックアップは、超高速です。

605
00:29:17,065 --> 00:29:19,620
AI、恐ろしくだけ、という
自動インクリメントは意味、

606
00:29:19,620 --> 00:29:21,500
これはチェックです
我々はチェックする必要があるボックス

607
00:29:21,500 --> 00:29:24,614
へのIDフィールドことを指定する
自動的に私のために更新され、

608
00:29:24,614 --> 00:29:26,530
その後、私はするつもりだ
ここで右にスクロール

609
00:29:26,530 --> 00:29:29,279
と率直に言って私は本当に興味がない
これらのフィールドのいずれかよりで。

610
00:29:29,279 --> 00:29:30,630
確かに今日は。

611
00:29:30,630 --> 00:29:33,770
>> だから私はここに戻って行くつもりです、
最初の列に

612
00:29:33,770 --> 00:29:35,830
私は、ユーザー名を指定する必要があります
ハッシュ、およびしてみましょう

613
00:29:35,830 --> 00:29:38,080
上の少なくとも焦点
今のところ第1。

614
00:29:38,080 --> 00:29:41,498
int型は、おそらく右のコールではない、
だから何がおそらくより理にかなっている?

615
00:29:41,498 --> 00:29:42,741
>> 聴衆:テキスト。

616
00:29:42,741 --> 00:29:43,824
デイビット·J·マランは:もう一度言う?

617
00:29:43,824 --> 00:29:44,710
聴衆:テキスト。

618
00:29:44,710 --> 00:29:44,980
デイビット·J·マラン:テキスト?

619
00:29:44,980 --> 00:29:45,590
[OK]を、私は、テキストを聞いた。

620
00:29:45,590 --> 00:29:46,090
他には?

621
00:29:46,090 --> 00:29:50,520

622
00:29:50,520 --> 00:29:53,860
私たちは、種類の選択肢の束を持っている
自然の中でテキスト形式であること。

623
00:29:53,860 --> 00:29:55,990
だから、いつ、なぜ、やる
あなたはこれらのいくつかを使うのか?

624
00:29:55,990 --> 00:29:59,560
あなたがかもしれないとは逆に、char型だけでなく
と思い、単一の文字ではありません。

625
00:29:59,560 --> 00:30:01,550
それは、特定の文字数です。

626
00:30:01,550 --> 00:30:04,600
だから我々はすべてのユーザー名がわかっている場合
8文字のようにする必要があり、

627
00:30:04,600 --> 00:30:08,490
古いに共通して使用される
コンピュータシステムは、私は、charを言うことができる

628
00:30:08,490 --> 00:30:09,830
その後私はここ8を言うことができます。

629
00:30:09,830 --> 00:30:12,930
3列目になったときです
表の作成時に該当する。

630
00:30:12,930 --> 00:30:15,450
>> しかし、それは迷惑なのようなものだ
一部の人々は可能性があるため、

631
00:30:15,450 --> 00:30:17,660
長いユーザー名を持ちたい
8文字より、

632
00:30:17,660 --> 00:30:19,743
一部の人々はしたいかもしれません
短いユーザー名を持っている、

633
00:30:19,743 --> 00:30:22,210
なぜ自分自身をコミット
特定の数に?

634
00:30:22,210 --> 00:30:24,710
変数を持っていないのはなぜ
文字の数だけ

635
00:30:24,710 --> 00:30:28,580
名前の最大の長さと言う
ですが、私は64文字のように、知らない。

636
00:30:28,580 --> 00:30:31,780
私は友人を考えることができない人
64文字より長い名前を持って、

637
00:30:31,780 --> 00:30:34,810
それは短すぎるだ場合でも、あなたは可能性
確かに任意にそれをバンプ。

638
00:30:34,810 --> 00:30:37,330
>> だから、varchar型は可変である
文字の数。

639
00:30:37,330 --> 00:30:41,010
テキストが悪い本能ではなく、
率直にその種のそれが言うん、

640
00:30:41,010 --> 00:30:45,460
しかし、テキストフ​​ィールドとすることができる
少なくとも65000バイトなどである。

641
00:30:45,460 --> 00:30:50,790
それはのためにおそらく行き過ぎだ
フィールド、および実際には、うん、65535。

642
00:30:50,790 --> 00:30:53,740
それはのためにおそらく行き過ぎだ
名前を付けて、私たちは一般的に、固執するだろう、

643
00:30:53,740 --> 00:30:56,910
テキスト形式のためのVARCHARと
あまりにもフィールドとハッシュ、。

644
00:30:56,910 --> 00:30:59,990
ハッシュ、結局のところ、私たちは何ができる
varchar型だけでなく、またはそのような何か、

645
00:30:59,990 --> 00:31:03,080
しかし、我々は今日の焦点を合わせることはありません
そこに暗号や数字

646
00:31:03,080 --> 00:31:05,210
私たちは実際に可能性があること
その長さのために使いたい。

647
00:31:05,210 --> 00:31:07,430
>> しかし、私は、右にスクロールダウンしてみましょう。

648
00:31:07,430 --> 00:31:11,280
あなたは一つだけを持つことができます
テーブルのプライマリインデックス、

649
00:31:11,280 --> 00:31:16,380
しかし、私はこれらのいずれかを適用したいか、
今、ユーザ名に、あなたは言うでしょうか?

650
00:31:16,380 --> 00:31:21,980
何が曖昧に基づいてユーザー名必要があります
これらの4つのオプションの理解?

651
00:31:21,980 --> 00:31:23,340
ちょうど彼らの名前で?

652
00:31:23,340 --> 00:31:24,140
>> 聴衆:ユニーク。

653
00:31:24,140 --> 00:31:25,100
>> デイビット·J·マラン:だからユニークな、右?

654
00:31:25,100 --> 00:31:28,190
だから、可能性だけでなく、ことが判明
あなたは、事前に、データベースに伝える

655
00:31:28,190 --> 00:31:30,380
これが主な方法である
フィールドを識別する。

656
00:31:30,380 --> 00:31:32,990
また、これは言うことができます
一意のフィールドになるだろう。

657
00:31:32,990 --> 00:31:34,700
それがあることを行っていない
私は頼るもの、

658
00:31:34,700 --> 00:31:38,490
私は、データベースを希望
本質的にそのように、その場合の条件を持っている

659
00:31:38,490 --> 00:31:42,340
私が今までに登録しようとした場合に
同じ名前を持つ2人のユーザー、

660
00:31:42,340 --> 00:31:44,360
データベース平らに
私をさせるつもりはありません。

661
00:31:44,360 --> 00:31:47,490
私はいくつかの追加のコードを持っているかもしれません
限り防ぎPHPで、

662
00:31:47,490 --> 00:31:50,640
ただし、データベースは、あまりにも、確保することができます
それが起こるだろうことはないでしょうことを。

663
00:31:50,640 --> 00:31:53,370
>> さて、余談ですが、特にできるだけ
あなたは、最終的なプロジェクトを考え、

664
00:31:53,370 --> 00:31:57,030
心のそれインデックスとフルに保つ
テキストは、実際には非常に便利です。

665
00:31:57,030 --> 00:32:01,080
あなたが大規模なデータベースを持っている場合は、しないと
何十、しかし、数百または数千を持つ

666
00:32:01,080 --> 00:32:05,270
フィールドのまたは百万も、することができます
また、事前にデータベースを伝える

667
00:32:05,270 --> 00:32:07,980
これは私が行くよフィールドです
ロットで検索する。

668
00:32:07,980 --> 00:32:10,520
たぶん、そのユーザー名、
あなたはなら多分それは、バイオの

669
00:32:10,520 --> 00:32:13,750
Facebookのようなウェブサイトを作ること
ユーザーの許可が段落を持って

670
00:32:13,750 --> 00:32:16,799
あなたがしたい場合は、保存、およびする
事前にデータベースを伝える

671
00:32:16,799 --> 00:32:20,090
私は、このフィールドで検索するつもりだ
多くが、それは必ずしも一意ではないですが、

672
00:32:20,090 --> 00:32:22,800
あなたは私のインデックスを作成指定することができます。

673
00:32:22,800 --> 00:32:27,990
または、あなたも言う頂きできるようにすることができます
コマンドのように、任意の検索のソート

674
00:32:27,990 --> 00:32:30,420
あなたのような、またはコントロールF、
ワードプロセッサでかもしれない、

675
00:32:30,420 --> 00:32:34,184
だから、任意の文字列を見ることができる
あるいはこの分野での列。

676
00:32:34,184 --> 00:32:36,600
言い換えれば、我々は取得している
学期中でポイントに

677
00:32:36,600 --> 00:32:40,720
あなたが心配する必要はありませんどこに
効率的に物事を実装する方法。

678
00:32:40,720 --> 00:32:44,540
あなただけのについて知っておくべきこと
あなたがしているように、設計上の決定は作る

679
00:32:44,540 --> 00:32:48,470
のための適切なツールを使用して
機能を利用するためには貿易

680
00:32:48,470 --> 00:32:50,380
他の人があなたのために構築したもの。

681
00:32:50,380 --> 00:32:54,240
だから要約するには、プライマリのみべき
、1を持って、あなただけの1を持つことができます

682
00:32:54,240 --> 00:32:59,630
そしてそれはあなたがコミットしていることだ
一意のフィールドを識別するために使用して。

683
00:32:59,630 --> 00:33:02,710
ユニークな精神でちょうど似ていますが、
あなたがたまにしかそれを使用する場合があり、

684
00:33:02,710 --> 00:33:04,530
しかし、あなたは、データベースがそれを課すことをしたい。

685
00:33:04,530 --> 00:33:08,050
インデックスはちょうど先制意味
将来的に物事をスピードアップ

686
00:33:08,050 --> 00:33:10,230
私は、を検索できるように
この分野での事。

687
00:33:10,230 --> 00:33:13,700
その後全文はのために、一般的である
段落、またはエッセイ、または大規模な団体

688
00:33:13,700 --> 00:33:16,270
テキストのどこに
また、持っているしたい場合があります

689
00:33:16,270 --> 00:33:19,420
星の同等のようなワイルドカード。

690
00:33:19,420 --> 00:33:19,920
右。

691
00:33:19,920 --> 00:33:22,580
>> だから、この種のだった
一度にすべてのことがたくさん。

692
00:33:22,580 --> 00:33:25,220
我々は蒸留できない場合を見てみましょう
これらの機能のカップル

693
00:33:25,220 --> 00:33:29,540
その後、何かを構築
かなり単純な、しかしパワフル。

694
00:33:29,540 --> 00:33:31,380
他の中でそう
設計上の決定君がいる

695
00:33:31,380 --> 00:33:34,005
最終的に一緒に持っているされているだろう
ストレージエンジンのライン。

696
00:33:34,005 --> 00:33:37,370
そして、私はちょうどこのの言及を作ってみよう
最終的なプロジェクトを見越して、

697
00:33:37,370 --> 00:33:42,020
レッツのと期待
say--なしはこのやろう。

698
00:33:42,020 --> 00:33:43,820
それでは、この小さなを構築しましょう
最初のアプリケーション。

699
00:33:43,820 --> 00:33:48,070
私は自分の端子に行くつもりです
窓、ここではではありません

700
00:33:48,070 --> 00:33:52,500
私たちは今つもりcounter.phpのみ
としてもはやゲルマンを取り除くために、

701
00:33:52,500 --> 00:33:54,570
しかし、我々は全体の束を持っている
ディレクトリとその

702
00:33:54,570 --> 00:33:58,080
心の中で非常によく似たことになるだろう
あなたは問題が表示されますものに7を設定します。

703
00:33:58,080 --> 00:34:00,980
>> だから我々は3つのディレクトリを持っている
、公共およびテンプレートが含まれている

704
00:34:00,980 --> 00:34:05,040
ある場所を正確に私たちがオフに左
私たちの全体のMVCパラダイムと月曜日。

705
00:34:05,040 --> 00:34:09,290
と要約に、公共の場で行くつもりされている
私は、ユーザーが実際にしたい任意のファイル

706
00:34:09,290 --> 00:34:12,969
V IN訪問することができる
URLを経由して自分のブラウザ。

707
00:34:12,969 --> 00:34:13,502
テンプレート。

708
00:34:13,502 --> 00:34:14,710
私たちは、テンプレートには何を入れたのですか?

709
00:34:14,710 --> 00:34:17,070
スタッフはどのような?

710
00:34:17,070 --> 00:34:21,659
ありませんでしたが、あまりのカップル
月曜日には、少なくともファイル。

711
00:34:21,659 --> 00:34:22,619
うん。

712
00:34:22,619 --> 00:34:23,100
>> 読者:ヘッダーとフッター?

713
00:34:23,100 --> 00:34:24,516
>> デイビット·J·マラン:ヘッダーとフッター。

714
00:34:24,516 --> 00:34:26,679
だから我々はあまりにも、今日同じような何かを持っている。

715
00:34:26,679 --> 00:34:30,330
私たちは、さらにいくつかのファイルを持っているが、
フッター私は、私が見るヘッダを参照してください

716
00:34:30,330 --> 00:34:31,909
その後他のファイルの束。

717
00:34:31,909 --> 00:34:35,482
だから、これは同等です
V MVCビューの、その、

718
00:34:35,482 --> 00:34:37,690
もう一度、もう少しなります
問題の明確なは7を設定し、

719
00:34:37,690 --> 00:34:40,380
しかし、これは私はただのフォルダです
私の美学をたくさん入れて。

720
00:34:40,380 --> 00:34:42,840
私のHTML、私のフォームの多くがたくさん。

721
00:34:42,840 --> 00:34:46,899
一方、別のある、含み
これらの3つのファイルを持つディレクトリ

722
00:34:46,899 --> 00:34:48,440
との、これらを簡単に見てみましょう。

723
00:34:48,440 --> 00:34:51,699
>> 私が先に行くつもりです
とのconfig.phpを開く。

724
00:34:51,699 --> 00:34:54,610
それははるかに、結局のところ
長期的に以前のように、

725
00:34:54,610 --> 00:34:57,850
あなたは鋭い含ま
pset7とCS50ドット時間。

726
00:34:57,850 --> 00:35:00,780
今日の例では、つもりだ
その同等のものを行うには

727
00:35:00,780 --> 00:35:03,600
必要とwith文
その効果

728
00:35:03,600 --> 00:35:05,340
これらのいくつかの行が含まれています。

729
00:35:05,340 --> 00:35:08,225
だから、明確にする、これは
config.phpに呼ばれるファイル。

730
00:35:08,225 --> 00:35:09,350
そして、それはやっているのかに気づく。

731
00:35:09,350 --> 00:35:11,970
それは明らかに何かをやっている
不可解なエラーメッセージをオンにする

732
00:35:11,970 --> 00:35:13,680
あなたがブラウザでそれらを見ることができるように。

733
00:35:13,680 --> 00:35:15,860
それは明らかに、その後、だ
2他のファイルを必要とする

734
00:35:15,860 --> 00:35:19,530
これは、C言語での#includeのようなものです
その後、我々は見たこの1、

735
00:35:19,530 --> 00:35:22,720
そして私たちが頼ってきた、これがオンになり
機能性のようなそのショッピングカート。

736
00:35:22,720 --> 00:35:25,610
>> これはクッキーの意志を意味し
前後に送ること。

737
00:35:25,610 --> 00:35:27,290
では、なぜこれが面白いのですか?

738
00:35:27,290 --> 00:35:32,460
さて、私たちはこれに戻ってしまったら
例えば、ディレクトリと開く、

739
00:35:32,460 --> 00:35:33,741
constance.php。

740
00:35:33,741 --> 00:35:38,840
PHPがサポート定数をしていることに注意してください、
それは、Cでかなりの#defineのようではありません

741
00:35:38,840 --> 00:35:41,290
代わりに、文字通り
定義されていると言う、と予告

742
00:35:41,290 --> 00:35:44,110
私は、予め記憶されたこと
このファイル内の4つの定数。

743
00:35:44,110 --> 00:35:47,020
今日のデータベースの一つ、
自分のパスワード、自分のユーザー名のために、

744
00:35:47,020 --> 00:35:48,690
そしてサーバーの名前。

745
00:35:48,690 --> 00:35:51,644
したがって、これらは実際にあることを行っている
問題ではかなり似ては7に設定してください。

746
00:35:51,644 --> 00:35:54,560
そして最後に、これは私はどこにある
いくつかの素晴らしい機能を取得するつもり

747
00:35:54,560 --> 00:35:59,000
のfunctions.phpでスタッフから、
私たちが書いたコードの束である、

748
00:35:59,000 --> 00:36:01,040
そして私はこのの一部を盗んだ
7を設定し、問題から

749
00:36:01,040 --> 00:36:05,920
今日のために、それは物事の束を行います
そしてちょうどそれらのいずれかを見てみましょう

750
00:36:05,920 --> 00:36:07,270
特に。

751
00:36:07,270 --> 00:36:09,720
ここではこの機能は、
クエリは、になるだろう

752
00:36:09,720 --> 00:36:13,600
我々は呼んでPHPの関数
SQLを実行するために。

753
00:36:13,600 --> 00:36:16,070
先ほど私たちが使用していた
phpMyAdminは、それはちょうどだ

754
00:36:16,070 --> 00:36:18,720
学習目的の並べ替えのために
および診断目的

755
00:36:18,720 --> 00:36:20,494
およびデータベースのセットを忘れて。

756
00:36:20,494 --> 00:36:22,660
あなたが実際にあなたを使用する場合
データベースに、ヒト、

757
00:36:22,660 --> 00:36:24,100
明らかつもりはありません
ウェブを引き上げるべき

758
00:36:24,100 --> 00:36:25,740
ページたびに誰かが登録します。

759
00:36:25,740 --> 00:36:29,870
あなたは、そのコードを記述するつもりだ
挿入およびオンデマンドでユーザーを削除し、

760
00:36:29,870 --> 00:36:32,490
そして我々はこれをやろうとしている
クエリ機能を経由して。

761
00:36:32,490 --> 00:36:35,360
私は今、下にスクロールした場合、あります
さらにいくつかの機能になるだろう。

762
00:36:35,360 --> 00:36:37,170
リダイレクトはしようとしている
私たちが書いた関数であること

763
00:36:37,170 --> 00:36:40,160
あなたのためにそれはあなたがすることができます
別のURLにユーザーを送信する、

764
00:36:40,160 --> 00:36:43,780
レンダリングはかなりのように、機能である
私たちは実際にレンダリングすることを、月曜日に見た

765
00:36:43,780 --> 00:36:48,000
これらの上のテンプレートが、より多くの
スルーpset7自身の散歩の形。

766
00:36:48,000 --> 00:36:50,500
今のところ、先に進み、これをやらせる。

767
00:36:50,500 --> 00:36:54,860
>> 私は私の講義テーブルに行こうと
現在、何もないことがわかり

768
00:36:54,860 --> 00:36:59,640
ここではまだ、と私も行かせ
私のパブリックディレクトリ内へ

769
00:36:59,640 --> 00:37:02,780
1つのファイル、index.phpのがあります。

770
00:37:02,780 --> 00:37:06,920
このファイルには、超簡単であるように思われる
現時点では、それだけでこのようになります。

771
00:37:06,920 --> 00:37:09,110
非常にどのように我々のような
月曜日に中断。

772
00:37:09,110 --> 00:37:11,945
私は、このファイルを必要としています
にあるconfig.phpを、

773
00:37:11,945 --> 00:37:15,160
これは、ディレクトリが含まれて
私の両親は、ドットドットである、

774
00:37:15,160 --> 00:37:17,650
そしてそれはちょうどこのファイルをレンダリングだ。

775
00:37:17,650 --> 00:37:18,960
だから、このファイルは何ですか?

776
00:37:18,960 --> 00:37:24,700
>> 私のテンプレートで開くしてみましょう
指定すれ、我々はこれを表示されます。

777
00:37:24,700 --> 00:37:28,500
、どうやらこのフォームは超簡単です
$ _GETまたは$ _POSTにより提出する予定。

778
00:37:28,500 --> 00:37:29,320
クイック健全性チェック。

779
00:37:29,320 --> 00:37:33,760

780
00:37:33,760 --> 00:37:35,690
文字通り、視覚的にファイルを検索します。

781
00:37:35,690 --> 00:37:36,610
この方法は、ポストに等しい。

782
00:37:36,610 --> 00:37:39,280
だから、同じように、URLを使用することはないだろう
Googleはそれが非表示の並べ替えになるだろう、い

783
00:37:39,280 --> 00:37:41,030
背後にある情報
シーンとそれがだ

784
00:37:41,030 --> 00:37:43,580
に提出する予定
register.phpと呼ばれるファイル、

785
00:37:43,580 --> 00:37:45,660
それは、ファイルの
我々はまだ書かれていない

786
00:37:45,660 --> 00:37:47,610
しかし、これは何が起こっているか
見えるようにすることはこれです。

787
00:37:47,610 --> 00:37:52,670
>> 私は別のページに行けばこれがある
何のlocalhost / index.phpのは次のようになります。

788
00:37:52,670 --> 00:37:56,930
そして再び、サーバの
ただのindex.phpを仮定。

789
00:37:56,930 --> 00:37:57,910
入力してください。

790
00:37:57,910 --> 00:37:59,870
我々はどこだからです
で、そして私がやってみたい

791
00:37:59,870 --> 00:38:02,450
物事を入力することが可能である
デビッドのような、その後

792
00:38:02,450 --> 00:38:08,050
私の電話番号、と言うだろう
今のところ617-555-1212、登録

793
00:38:08,050 --> 00:38:09,910
そして今register.phpが見つかりませんでした。

794
00:38:09,910 --> 00:38:11,440
だから私はこれを実装する必要があります。

795
00:38:11,440 --> 00:38:13,320
それでは、素早く鞭ましょう
このアップのようなもの。

796
00:38:13,320 --> 00:38:18,640
私のパブリックディレクトリに行こう
そしてregister.phpのgeditの操作を行い、

797
00:38:18,640 --> 00:38:22,300
そして今、私が先に行くつもりだと
私たちは月曜日に行ったように、PHPモードを開始し、

798
00:38:22,300 --> 00:38:25,430
そしてPHPのタグを閉じ、
それでは物事のカップルをやらせる。

799
00:38:25,430 --> 00:38:28,336
>> だから1、私は知っているから、
そのフォームを書いた、

800
00:38:28,336 --> 00:38:29,960
私は、次の点を確認したいこと。

801
00:38:29,960 --> 00:38:35,670
それが空である場合、どのようなユーザー
その後、名前フィールドに入力された中で

802
00:38:35,670 --> 00:38:39,860
私が何かを言うつもりです
のような名前が欠落してお詫び申し上げます。

803
00:38:39,860 --> 00:38:42,380
一方、ある、謝罪
PHPの事にして成らず、

804
00:38:42,380 --> 00:38:45,970
それは我々が書いた機能だ
pset7ためのfunctions.phpで

805
00:38:45,970 --> 00:38:47,940
あなたはそれへのアクセス権を持つように。

806
00:38:47,940 --> 00:38:53,830
他の分野であれば、他の
空、番号で、その後私は

807
00:38:53,830 --> 00:38:58,370
に謝罪に行く
欠番をユーザと言う。

808
00:38:58,370 --> 00:38:59,320
このファイルを保存します。

809
00:38:59,320 --> 00:39:02,640
>> それでは、私のブラウザに戻ってみましょう、
もう一度やり直して戻っフォーラムへ行く。

810
00:39:02,640 --> 00:39:04,070
登録します。

811
00:39:04,070 --> 00:39:05,090
[OK]をクリックします。

812
00:39:05,090 --> 00:39:06,730
何も良いです、起こらなかった。

813
00:39:06,730 --> 00:39:08,120
私は、エラーメッセージを取得できませんでした。

814
00:39:08,120 --> 00:39:11,651
代わりなら、それではこれをリロードしてみましょう
ページではなく、何を提供しています。

815
00:39:11,651 --> 00:39:12,150
ふざけんなよ。

816
00:39:12,150 --> 00:39:15,350

817
00:39:15,350 --> 00:39:17,140
それを行う。

818
00:39:17,140 --> 00:39:18,810
登録します。

819
00:39:18,810 --> 00:39:20,350
私は間違って何をした?

820
00:39:20,350 --> 00:39:24,860
空の場合は、$ _POST名。

821
00:39:24,860 --> 00:39:26,350
もう一度言う?

822
00:39:26,350 --> 00:39:27,670
>> ああ、もちろん。

823
00:39:27,670 --> 00:39:30,919
私は、最も重要な部分を忘れてしまっている
( "../ / config.phpに含まれています。」)を必要としている。

824
00:39:30,919 --> 00:39:34,210

825
00:39:34,210 --> 00:39:36,460
私はへのアクセス権を持っている必要があります
関数を謝罪、どの

826
00:39:36,460 --> 00:39:37,770
何が起こってなかった理由である。

827
00:39:37,770 --> 00:39:39,460
この関数は実際には存在しない。

828
00:39:39,460 --> 00:39:40,640
それでは、もう一度これを試してみましょう。

829
00:39:40,640 --> 00:39:42,350
のページをリロードしましょう​​、[登録]をクリックします。

830
00:39:42,350 --> 00:39:43,060
[OK]をクリックします。

831
00:39:43,060 --> 00:39:43,770
そこである。

832
00:39:43,770 --> 00:39:45,700
我々はしているので、出力
ここに見ることは結果であり、

833
00:39:45,700 --> 00:39:47,685
謝罪呼び出す
機能、超簡単、

834
00:39:47,685 --> 00:39:50,060
そしてそれだけで何をプリントアウト
私はそれを引数として与える。

835
00:39:50,060 --> 00:39:51,370
>> すべての権利、それでは、協力しましょう​​。

836
00:39:51,370 --> 00:39:54,240
それでは私の名前を提供してみましょう
デビッドのように、登録し、

837
00:39:54,240 --> 00:39:56,890
欠番OKレッツ
あまりにも、それを提供しています。

838
00:39:56,890 --> 00:39:58,650
617-555-1212。

839
00:39:58,650 --> 00:39:59,250
登録します。

840
00:39:59,250 --> 00:39:59,750
[OK]をクリックします。

841
00:39:59,750 --> 00:40:02,760
だから、すべてが、現在ではただ何もありません
興味深いのは、何が起こっている。

842
00:40:02,760 --> 00:40:06,000
だから今のはもっと何かを作ってみよう
興味深いのは、次のように起こる。

843
00:40:06,000 --> 00:40:09,980
私はphpMyAdminのに行こう、としてみましょう
実際には、ユーザーと呼ばれるテーブルを作成します

844
00:40:09,980 --> 00:40:12,330
私はそれを3を与えるつもりだ
カラム、私はすぐによ

845
00:40:12,330 --> 00:40:16,250
その後、IDを作成し、
名前を付けて、その後数、

846
00:40:16,250 --> 00:40:18,832
そして私はIDフィールドを
intとして残すつもり。

847
00:40:18,832 --> 00:40:20,790
私は行くよ名前フィールド
varchar型として残すために、

848
00:40:20,790 --> 00:40:23,257
そして我々はやや任意に、64を言うよ。

849
00:40:23,257 --> 00:40:25,090
私は行くよ数
作るために、あなたは何を知っていますか?

850
00:40:25,090 --> 00:40:27,350
私たちは、になるだろう
ここでは米国の番号をサポート、

851
00:40:27,350 --> 00:40:31,510
ので、私は何かをするつもりだ
charとその後10文字のような

852
00:40:31,510 --> 00:40:34,540
市外局番マックス
その後7桁。

853
00:40:34,540 --> 00:40:37,870
その後こっち、私はするつもりだ
、自動インクリメントは、このフィールドを指定する

854
00:40:37,870 --> 00:40:40,550
このプライマリキーを作成し、
私は先としない行くつもりです

855
00:40:40,550 --> 00:40:42,240
これらの他のボックスのいずれかをご確認ください。

856
00:40:42,240 --> 00:40:48,030
>> だから私は今ようやく保存]をクリックしたときに、
と私は、私のユーザーテーブルに戻る

857
00:40:48,030 --> 00:40:52,270
これは私であればどのように見えるかです
今新しいタブ構造をクリックします。

858
00:40:52,270 --> 00:40:54,550
だから、これは、明確にするために、
ちょうどphpMyAdminのの方法です

859
00:40:54,550 --> 00:40:58,570
データベーステーブルを言っての
ID、名前、番号が

860
00:40:58,570 --> 00:41:02,040
それらの特定の構成で
そして、我々は残りのフィールドを無視します

861
00:41:02,040 --> 00:41:03,140
そこに今のところ。

862
00:41:03,140 --> 00:41:04,810
>> だから今、私は何をすべきかをしたいですか?

863
00:41:04,810 --> 00:41:09,060
だから私は、私の中に今行けば
ソースコードは、すべてが順調であれば

864
00:41:09,060 --> 00:41:11,190
私は、次のクエリを実行したい。

865
00:41:11,190 --> 00:41:14,970
に挿入し、私はちょうどことができます
ユーザーは、私は厳密にないと言う

866
00:41:14,970 --> 00:41:18,620
それはだ場合には、これらのバックティック必要
ユーザーは好きじゃない危険な言葉。

867
00:41:18,620 --> 00:41:22,810
私は名前を言うつもりです、
数、その後ここに私は

868
00:41:22,810 --> 00:41:24,960
ハードコーディングするつもりはありません
まだ値の桁。

869
00:41:24,960 --> 00:41:26,760
私は2つの疑問符を置くつもりです。

870
00:41:26,760 --> 00:41:29,320
そして、これは慣習です
多くの言語で

871
00:41:29,320 --> 00:41:31,730
それによってあなたが持っているしたい場合は、
文字列のプレースホルダ

872
00:41:31,730 --> 00:41:34,105
あなたが質問を使用するつもりだ
マーク、理由のために私たちはよ

873
00:41:34,105 --> 00:41:36,370
約チャットに戻ってくる
ここでセキュリティ、

874
00:41:36,370 --> 00:41:39,420
私はそれらを渡すつもりだ
2つのフィールドは、名前を投稿し、

875
00:41:39,420 --> 00:41:44,850
その後、数を投稿
そして今、ファイルを保存します。

876
00:41:44,850 --> 00:41:47,090
>> そして今、私はするつもりだ
ここでダウンして行くスーパーで

877
00:41:47,090 --> 00:41:55,690
単に、これrendersuccess.phpを言う
別のテンプレートになるだろう。

878
00:41:55,690 --> 00:41:57,380
私は本当に速い作成するつもりです。

879
00:41:57,380 --> 00:42:06,270
Geditsuccess.phpと私は行くよ
そのファイル内のH1の成功を言うこと。

880
00:42:06,270 --> 00:42:06,990
わかりました。

881
00:42:06,990 --> 00:42:11,312
だから今、のに戻ってみましょう
私が前に訪問したブラウザ、。

882
00:42:11,312 --> 00:42:14,270
それでは先に行くと、私が書いた確認しましょう
デイヴィッドに、私は電話番号に書いた、

883
00:42:14,270 --> 00:42:15,390
登録してください。

884
00:42:15,390 --> 00:42:16,100
ふざけんなよ。

885
00:42:16,100 --> 00:42:17,420
私は間違って何をした?

886
00:42:17,420 --> 00:42:20,850
だから私は、ここにエラーを見ている
あなたのSQL構文でエラーが発生している。

887
00:42:20,850 --> 00:42:24,900
てみましょう、私は戻ってgeditのにジャンプしてみましょう
私は、register.phpに戻る

888
00:42:24,900 --> 00:42:28,830
と私は何をすることを省略した
最後の時間が重要でしたか?

889
00:42:28,830 --> 00:42:29,722
私はこれを必要としています。

890
00:42:29,722 --> 00:42:32,930
あなたがからよりも、他を知りたい
前気づいたが、私はこれを必要とした。

891
00:42:32,930 --> 00:42:35,596
>> だから今のは戻りましょう、そしてこの
ブラウザで見ることになりました

892
00:42:35,596 --> 00:42:37,680
それはなぜconfig.phpの中だ
我々は、エラーを吐き出す。

893
00:42:37,680 --> 00:42:41,770
それでは先に行くと、リロードしましょう​​、
[続行]をクリックし、成功。

894
00:42:41,770 --> 00:42:47,060
だから今私の所へ行くみましょう
ここにデータベースおよびユーザーをクリックして、

895
00:42:47,060 --> 00:42:51,680
と参照し、今私に気づく
ここに私のデータベースにデビッドを持っている。

896
00:42:51,680 --> 00:42:55,810
今、技術的には、このウェブサイトがある
まだ公共のインターネット上で、

897
00:42:55,810 --> 00:42:57,890
私は他のを持つことができません
ここに置くの人々、

898
00:42:57,890 --> 00:43:01,120
しかし、私は今のところ、したい場合
インスタンスは、自分自身にテキストメッセージを送信。

899
00:43:01,120 --> 00:43:03,920
それではここに手足に出て行ってみよう
これは実際に動作するかどうかを確認します。

900
00:43:03,920 --> 00:43:07,331
私が先に行くつもりです
この行を削除

901
00:43:07,331 --> 00:43:09,080
そして我々はこれをぼかします
後でビデオで出

902
00:43:09,080 --> 00:43:11,900
私たちは持っていない
インターネット全体が私をテキストメッセージ、

903
00:43:11,900 --> 00:43:17,270
そして私たちは今まで行く
ブラウザと私たちは講義に引き継が行くよ

904
00:43:17,270 --> 00:43:22,040
そして我々は、異なる入力します
ここ数、登録、成功。

905
00:43:22,040 --> 00:43:25,550
>> だから今、私自身の番号がでおそらくだ
データベース、そして今楽しい部分。

906
00:43:25,550 --> 00:43:28,774
それでは実際に行うためにPHPを使用してみましょう
何かプログラムで、

907
00:43:28,774 --> 00:43:30,940
いずれかのコマンドから
ラインまたは他のどこかから、

908
00:43:30,940 --> 00:43:32,773
そして今の私はちょうどよ
それをシンプルに維持するつもり

909
00:43:32,773 --> 00:43:36,230
と私は私に行くつもりです
ここで、ディレクトリとは、次の操作を行う。

910
00:43:36,230 --> 00:43:44,920
Geditのスクリプトは、我々はよ、の言わせて
、テキスト、#!/ユーザーは/ bin / envをPHPで呼び出す

911
00:43:44,920 --> 00:43:46,700
私たちは最後の時間を見たような。

912
00:43:46,700 --> 00:43:47,950
PHP。

913
00:43:47,950 --> 00:43:55,055
>> 今、私が必要とするつもりです
config.phpのを含み、

914
00:43:55,055 --> 00:43:57,360
これでもかもしれませんが
若干の誤差を誘発する。

915
00:43:57,360 --> 00:44:03,960
そして今、私が先に行くと言うつもりです
行、クエリ、ユーザーからのセレクトスター、

916
00:44:03,960 --> 00:44:08,149
そして今ここで私はテクニックをするつもりです
行として各行の最後の時間から。

917
00:44:08,149 --> 00:44:09,690
そして、私は、単純な何かをするつもりです。

918
00:44:09,690 --> 00:44:19,090
printfの者の名前がこれです言​​わせて、
その数は、この、バックスラッシュnである。

919
00:44:19,090 --> 00:44:23,320
そして今、私は渡すつもりだ
行に、引用終わり名前を引用

920
00:44:23,320 --> 00:44:28,140
そして行は、引用終わり番号をお伝え
そして今度は、先に行こう

921
00:44:28,140 --> 00:44:31,430
と私のターミナルウィンドウ
chmodのこのA + xが作る

922
00:44:31,430 --> 00:44:33,970
このスクリプトは、テキストの実行可能ファイルと呼ばれる。

923
00:44:33,970 --> 00:44:36,080
そして今のテキストを実行してみましょう。

924
00:44:36,080 --> 00:44:37,590
>> [OK]を、そう進行。

925
00:44:37,590 --> 00:44:39,960
だから私は今書いたA
コマンドラインスクリプト、

926
00:44:39,960 --> 00:44:43,300
PHPと呼ばれる言語では、その、
そのため、ラインを必要とする

927
00:44:43,300 --> 00:44:46,380
これらすべての構成へのアクセス権を持っている
私は指定された定数。

928
00:44:46,380 --> 00:44:48,177
データベースなどの名前。

929
00:44:48,177 --> 00:44:50,260
実際には、単に明確にする
これはまぐれではないことを、

930
00:44:50,260 --> 00:44:54,730
私が先に行くと登録してみましょう、
ロブのような他の本当に速い、誰か

931
00:44:54,730 --> 00:44:58,890
そして彼に555-1212番号を与える。

932
00:44:58,890 --> 00:45:01,557
>> そして今、私は、スクリプトを実行する場合
もう一度、電源を気づく

933
00:45:01,557 --> 00:45:03,140
我々は、データベースとやっているの。

934
00:45:03,140 --> 00:45:07,680
今、私はすぐに何を見てきました
他の2行は、私のデータベース内にある。

935
00:45:07,680 --> 00:45:10,699
だから今のは何かをしてみましょう
の内側であっても手の込んだ、

936
00:45:10,699 --> 00:45:12,740
そしてこれは、私たちがした部分である
事前にテストされていません、

937
00:45:12,740 --> 00:45:15,910
そう最後の時間は、私はこれをしなかった
物事が恐ろしくゆがんで行きました、

938
00:45:15,910 --> 00:45:17,120
我々は、その旨をビデオを持っている。

939
00:45:17,120 --> 00:45:18,286
>> 実際に、ええ、面白いさておき。

940
00:45:18,286 --> 00:45:20,480
前回だから、中
2年前のように講義、

941
00:45:20,480 --> 00:45:23,230
我々はであるためには、私が決​​めた、決めた
すべてこれは素晴らしいアイデアだろう

942
00:45:23,230 --> 00:45:28,150
動的で電子メールを生成する
データベース全体のCS50を使用して、クラス、

943
00:45:28,150 --> 00:45:33,390
私たちにその番号を与えていた学生、
そして、その携帯電話のキャリアがこれを使用

944
00:45:33,390 --> 00:45:36,290
PSET0から思い出すかもしれません、
それは結局のところ、推論する方法

945
00:45:36,290 --> 00:45:40,650
私は私のプログラムではマイナーなバグを持っていたし、
2012年に夫婦ミスをした、私は思います。

946
00:45:40,650 --> 00:45:43,997
>> それによって、私はループそのために持っていた1
事のちょうどこの種でしたが、

947
00:45:43,997 --> 00:45:46,580
データベースを反復、
データベースから名前を得て、

948
00:45:46,580 --> 00:45:49,940
データベースから名前を付け、その後それぞれに
そのループの繰り返しは、私がメールを送った。

949
00:45:49,940 --> 00:45:54,130
しかし、その代わりに1電子メールを送信するのは、私
1メール最初の反復を送った、

950
00:45:54,130 --> 00:45:58,200
二つの電子メール送信された2回目の反復、
3電子メール2回目の反復、どの

951
00:45:58,200 --> 00:46:01,230
あなたは私たちから思い出すかもしれませんように
漸近記法についての議論

952
00:46:01,230 --> 00:46:06,400
nの二乗のような悪いのこの大きなO、
私が送っどのように多くのメッセージである、

953
00:46:06,400 --> 00:46:08,560
しかしそれも電子メールではありませんでした
それはテキストメッセージであった。

954
00:46:08,560 --> 00:46:12,070
>> あなたが知っているようにと、出席ではありません
最後の学期に向けて超高

955
00:46:12,070 --> 00:46:15,360
そして私はそれがでかわいいだろうと思った
言う時間は、「なぜクラスではないですか?」

956
00:46:15,360 --> 00:46:17,880
テキストメッセージ内のI
クラス全体に送られ、

957
00:46:17,880 --> 00:46:22,140
そしてそれはの50%を好きに面白かった
クラスが、他の50%、人の一部

958
00:46:22,140 --> 00:46:26,102
びびる、私は信じられないほど送ら
申し訳なさそうに甘いノート

959
00:46:26,102 --> 00:46:28,560
スタッフが謝罪へ
単に講義を逃した

960
00:46:28,560 --> 00:46:29,530
この回、右?

961
00:46:29,530 --> 00:46:32,790

962
00:46:32,790 --> 00:46:34,030
>> だから、恐ろしくゆがんでしょう。

963
00:46:34,030 --> 00:46:37,030
その精神でそれでは、これを試してみましょう
再びしかし、ちょうど私の番号を持つ。

964
00:46:37,030 --> 00:46:41,940
事前に、のfunctions.phpで、
私はここで、この関数を書きました。

965
00:46:41,940 --> 00:46:44,250
これは、テキストと呼ばれ、それだ
三つの引数に取ります。

966
00:46:44,250 --> 00:46:46,360
番号、キャリア、およびメッセージ。

967
00:46:46,360 --> 00:46:50,390
>> 私は、switchステートメントを使用しているよ
素晴らしくPHPテイク文字列だけではなく、

968
00:46:50,390 --> 00:46:53,350
整数は、と私は実装していませんでした
まだ、このためのすべてのサポート、

969
00:46:53,350 --> 00:46:55,370
私はちょうど、AT&TとVerizonやった。

970
00:46:55,370 --> 00:46:57,610
それが判明したので
これらのキャリアを持つこと

971
00:46:57,610 --> 00:47:00,570
彼らは、SMSゲートウェイに電子メールを持っている
それによってあなたが実際にすることができ

972
00:47:00,570 --> 00:47:05,529
アドレスに電子メールを送る
vtext.comでの電話番号のような

973
00:47:05,529 --> 00:47:08,070
ユーザがブロックされていない場合
メッセージは、それが通過するよ

974
00:47:08,070 --> 00:47:09,340
テキストメッセージである。

975
00:47:09,340 --> 00:47:13,270
>> 今、これを行うには、私が追加する必要がありますするつもりだ
私のデータベースに本当に速いつのフィールド。

976
00:47:13,270 --> 00:47:15,470
私は入るつもりです
私の構造、と私は確信

977
00:47:15,470 --> 00:47:21,880
先に行くと、追加しよう
テーブルの最後にフィールド。

978
00:47:21,880 --> 00:47:25,227
それではGo]をクリックしてみましょう、と私は確信
このキャリアを呼ぶつもり

979
00:47:25,227 --> 00:47:27,310
そして今のところ、私はするつもりだ
バーのテキストとしてこれを残して、

980
00:47:27,310 --> 00:47:29,320
しかし、我々は将来的に手の込んだことができます。

981
00:47:29,320 --> 00:47:31,961
私はすぐに行くつもりです
私のテーブルに、と私は確信

982
00:47:31,961 --> 00:47:34,210
ロブを取り除くために行く、
それは偽の番号だから、

983
00:47:34,210 --> 00:47:38,540
私はここで編集に入るつもりだと私は確信
手動で私のキャリアを変更するつもり

984
00:47:38,540 --> 00:47:43,410
ベライゾンであるためには、それ
、そして今ここに超えている。

985
00:47:43,410 --> 00:47:44,980
>> それでは迅速な健全性チェックをやってみましょう。

986
00:47:44,980 --> 00:47:52,730
これ、私たちのテキストスクリプトを開いてみましょう
このようになり、キャリアは%sです。

987
00:47:52,730 --> 00:47:58,230
私たちは、より多くのエラーをやっている
私は、2012年にキャリアをやったよりもチェック。

988
00:47:58,230 --> 00:48:01,160
そして今、私は行くつもりです
先行して、スクリプトを再実行してください。

989
00:48:01,160 --> 00:48:01,660
[OK]をクリックします。

990
00:48:01,660 --> 00:48:06,100
キャリアは意味ベライゾン、ある
今うまくいけば私はちょうどこれを行うことができます。

991
00:48:06,100 --> 00:48:08,360
正しく今年、
うまくいけば、ここに私達は行く。

992
00:48:08,360 --> 00:48:12,200
>> だから、このforループの内側に、私は今
これはprintfを持っているだけでなく、予定、

993
00:48:12,200 --> 00:48:15,990
私はまた、テキストを呼び出すつもりだと
この関数はリコールの利用

994
00:48:15,990 --> 00:48:19,670
だったそれは、番号を受け取る
キャリア、およびメッセージ。

995
00:48:19,670 --> 00:48:23,310
それでは見てみましょう、数がしようとしている
「番号」列引用引用終わりであること

996
00:48:23,310 --> 00:48:31,660
行引用引用終わり「キャリア」、
そして最後のものはメッセージだった。

997
00:48:31,660 --> 00:48:36,250
今年セミコロンを台無ししないでください。

998
00:48:36,250 --> 00:48:36,780
>> [OK]をクリックします。

999
00:48:36,780 --> 00:48:38,280
指が交差した。

1000
00:48:38,280 --> 00:48:39,970
これが動作するかどうか見てみましょう。

1001
00:48:39,970 --> 00:48:41,720
そう、すべての権利。

1002
00:48:41,720 --> 00:48:43,000
ここに私達は行く。

1003
00:48:43,000 --> 00:48:47,380
それでは電話のロックを解除しましょう​​、
あなたの指を交差、畜生。

1004
00:48:47,380 --> 00:48:50,300
未定義の変数may--ああ
待って、待って、待って、本当に速い。

1005
00:48:50,300 --> 00:48:51,340
本当に速い、本当に速い。

1006
00:48:51,340 --> 00:48:53,380
これは完全に価値がある。

1007
00:48:53,380 --> 00:48:57,710
おっと、私はつかむせて、私はつかむましょう。

1008
00:48:57,710 --> 00:48:59,965
テキストが持っている、あなたに感謝
他の誰かから始まった。

1009
00:48:59,965 --> 00:49:04,770

1010
00:49:04,770 --> 00:49:11,650
私が先に行くと本物の開きましょう
ここでは、高速、dropbox.php /メール。

1011
00:49:11,650 --> 00:49:12,660
スタンバイ。

1012
00:49:12,660 --> 00:49:14,455
それは全く価値があります。

1013
00:49:14,455 --> 00:49:17,430
ダウンロード。

1014
00:49:17,430 --> 00:49:18,560
[OK]を、ソースsrc8m。

1015
00:49:18,560 --> 00:49:19,700
[OK]をクリックします。

1016
00:49:19,700 --> 00:49:21,380
>> ここにもう1行が必要です。

1017
00:49:21,380 --> 00:49:24,530
ああそこにそれは1年生でだ、である
IMS、それは3時にレジスタにあります。

1018
00:49:24,530 --> 00:49:28,820
こんにちはああ、マーゴは、どうもありがとうございました。

1019
00:49:28,820 --> 00:49:31,130
[OK]を、私はここに、この行を欠落していました。

1020
00:49:31,130 --> 00:49:33,010
だから私はすぐにつかむましょう
このコード行、

1021
00:49:33,010 --> 00:49:36,200
これは、メールまたはライブラリが含まれています
私が実際に使用したいことを、

1022
00:49:36,200 --> 00:49:38,300
私はすぐに行くよ
関数に戻って、

1023
00:49:38,300 --> 00:49:42,337
私はこの上に行くつもりです
ファイルと同様に、このファイルを必要とし、

1024
00:49:42,337 --> 00:49:45,420
そして今私は本当に私を横断するつもりです
私は、コマンドに戻って指

1025
00:49:45,420 --> 00:49:49,530
の内側にあるラインスクリプト、
今日のローカルホストのディレクトリ。

1026
00:49:49,530 --> 00:49:50,610
テキストを実行します。

1027
00:49:50,610 --> 00:49:52,720
入力してください。

1028
00:49:52,720 --> 00:49:53,220
メール。

1029
00:49:53,220 --> 00:49:53,719
スタンバイ。

1030
00:49:53,719 --> 00:49:58,850

1031
00:49:58,850 --> 00:49:59,600
スタンバイ。

1032
00:49:59,600 --> 00:50:01,680
メール。

1033
00:50:01,680 --> 00:50:02,290
[OK]を、ああ。

1034
00:50:02,290 --> 00:50:03,870
ここに私達は行く。

1035
00:50:03,870 --> 00:50:06,880
>> メールは、新しいPHPメーラーを取得します。

1036
00:50:06,880 --> 00:50:09,970
私はこの権利を行うのですか?

1037
00:50:09,970 --> 00:50:11,067
ふざけんなよ。

1038
00:50:11,067 --> 00:50:12,150
待って、待って、待って、ああTo--。

1039
00:50:12,150 --> 00:50:12,649
スタンバイ。

1040
00:50:12,649 --> 00:50:15,820

1041
00:50:15,820 --> 00:50:18,630
私は、これは、お約束
それとても価値があることを行って。

1042
00:50:18,630 --> 00:50:20,340
アドレス。

1043
00:50:20,340 --> 00:50:24,390
私はしないでください理由です
右のクラスの前の例。

1044
00:50:24,390 --> 00:50:26,350
うわ。

1045
00:50:26,350 --> 00:50:27,910
次の受信者に失敗しました。

1046
00:50:27,910 --> 00:50:31,500

1047
00:50:31,500 --> 00:50:33,040
それでは最後に一つを試してみましょう。

1048
00:50:33,040 --> 00:50:40,660
から設定したSMTPアドレスを追加し、
アドレスが確かにあることである。

1049
00:50:40,660 --> 00:50:43,980
のアドレスで、この最後の部分を試してみましょう。

1050
00:50:43,980 --> 00:50:47,210
おやおや、私は今、本当に悲しいよ。

1051
00:50:47,210 --> 00:50:47,854
ありがとう。

1052
00:50:47,854 --> 00:50:50,270
しかし、私は本当にすべてに感謝
テキストはあなたが送ってきた。

1053
00:50:50,270 --> 00:50:53,130

1054
00:50:53,130 --> 00:50:56,320
あなたはこのデビッドを持っている。

1055
00:50:56,320 --> 00:50:59,310
あなたはそれを吹いている。

1056
00:50:59,310 --> 00:51:01,720
それではそこにそれを残してみましょうと、
我々は月曜日に修正します。

1057
00:51:01,720 --> 00:51:04,290
その後、あなたを参照してください。

1058
00:51:04,290 --> 00:51:08,090
>> DAVENファーナム:そして今、ディープ
Davenファーナムによって思考。

1059
00:51:08,090 --> 00:51:11,340

1060
00:51:11,340 --> 00:51:17,590
バイナリツリーは、森の中にある場合と、
誰も周りのC it-- [笑い]にはありません。

1061
00:51:17,590 --> 00:51:18,998