这个分析的起因,是由于我之前干了这两个事:

[troubleshoot][archlinux][bcache] 修改linux文件系统 / 分区方案 / 做混合硬盘 / 系统转生大!手!术!(调整底层架构,不!重!装!)

[archlinux][hardware] 查看SSD的使用寿命

在12月06日完成了底层硬盘的调整之后,做了如下的硬盘指标统计:

/home/tong/Workspace/system/bcache [tong@T7] [:]
> cat
smartctl 6.5 -- r4318 [x86_64-linux-4.8.--ARCH] (local build)
Copyright (C) -, Bruce Allen, Christian Franke, www.smartmontools.org === START OF INFORMATION SECTION ===
Model Family: SanDisk based SSDs
Device Model: SanDisk SSD U110 16GB
Serial Number:
LU WWN Device Id: 001b44 ec81598d5
Firmware Version: U21B001
User Capacity: ,,, bytes [16.0 GB]
Sector Size: bytes logical/physical
Rotation Rate: Solid State Device
Form Factor: 1.8 inches
Device is: In smartctl database [for details use: -P show]
ATA Version is: ACS- T13/-D revision
SATA Version is: SATA 3.0, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is: Tue Dec :: CST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
AAM feature is: Unavailable
APM feature is: Disabled
Rd look-ahead is: Enabled
Write cache is: Enabled
ATA Security is: Disabled, frozen [SEC2]
Wt Cache Reorder: Unavailable === START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED General SMART Values:
Offline data collection status: (0x00) Offline data collection activity
was never started.
Auto Offline Data Collection: Disabled.
Self-test execution status: ( ) The previous self-test routine completed
without error or no self-test has ever
been run.
Total time to complete Offline
data collection: ( ) seconds.
Offline data collection
capabilities: (0x51) SMART execute Offline immediate.
No Auto Offline data collection support.
Suspend Offline collection upon new
command.
No Offline surface scan supported.
Self-test supported.
No Conveyance Self-test supported.
Selective Self-test supported.
SMART capabilities: (0x0003) Saves SMART data before entering
power-saving mode.
Supports SMART auto save timer.
Error logging capability: (0x01) Error logging supported.
General Purpose Logging supported.
Short self-test routine
recommended polling time: ( ) minutes.
Extended self-test routine
recommended polling time: ( ) minutes. SMART Attributes Data Structure revision number:
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAGS VALUE WORST THRESH FAIL RAW_VALUE
Reallocated_Sector_Ct -O---- -
Power_On_Hours -O---- -
Power_Cycle_Count -O---- -
Program_Fail_Count -O---- -
Erase_Fail_Count -O---- -
Avg_Write/Erase_Count -O---- -
Unexpect_Power_Loss_Ct -O---- -
Reported_Uncorrect -O---- -
Perc_Write/Erase_Count -O---- -
Perc_Avail_Resrvd_Space PO---- -
Perc_Write/Erase_Ct_BC -O---- -
Total_LBAs_Written -O---- -
Total_LBAs_Read -O---- -
||||||_ K auto-keep
|||||__ C event count
||||___ R error rate
|||____ S speed/performance
||_____ O updated online
|______ P prefailure warning General Purpose Log Directory Version
SMART Log Directory Version [multi-sector log support]
Address Access R/W Size Description
0x00 GPL,SL R/O Log Directory
0x01 GPL,SL R/O Summary SMART error log
0x03 GPL,SL R/O Ext. Comprehensive SMART error log
0x04 GPL,SL R/O Device Statistics log
0x06 GPL,SL R/O SMART self-test log
0x09 GPL,SL R/W Selective self-test log
0x10 GPL,SL R/O SATA NCQ Queued Error log
0x11 GPL,SL R/O SATA Phy Event Counters log
0x30 GPL,SL R/O IDENTIFY DEVICE data log
0x80-0x9f GPL,SL R/W Host vendor specific log
0xa1 GPL,SL VS Device vendor specific log
0xa2 GPL,SL VS Device vendor specific log
0xa3 GPL,SL VS Device vendor specific log
0xa6-0xa7 GPL,SL VS Device vendor specific log Warning! SMART Extended Comprehensive Error Log Structure error: invalid SMART checksum.
SMART Extended Comprehensive Error Log Version: ( sectors)
No Errors Logged SMART Extended Self-test Log (GP Log 0x07) not supported SMART Self-test log structure revision number
No self-tests have been logged. [To run self-tests, use: smartctl -t] SMART Selective self-test log data structure revision number
Note: revision number not implies that no selective self-test has ever been run
SPAN MIN_LBA MAX_LBA CURRENT_TEST_STATUS
Not_testing
Not_testing
Not_testing
Not_testing
Not_testing
Read_scanning was never started
Selective self-test flags (0xffff):
Currently read-scanning the remainder of the disk.
If Selective self-test is pending on power-up, resume after minute delay. SCT Commands not supported Device Statistics (GP Log 0x04)
Page Offset Size Value Flags Description
0x05 ===== = = === == Temperature Statistics (rev ) ==
0x05 0x008 --- Current Temperature
0x05 0x010 - --- Average Short Term Temperature
0x05 0x018 - --- Average Long Term Temperature
0x05 0x020 --- Highest Temperature
0x05 0x028 --- Lowest Temperature
0x05 0x030 --- Highest Average Short Term Temperature
0x05 0x038 --- Lowest Average Short Term Temperature
0x05 0x040 - --- Highest Average Long Term Temperature
0x05 0x048 - --- Lowest Average Long Term Temperature
0x05 0x050 --- Time in Over-Temperature
0x05 0x058 --- Specified Maximum Operating Temperature
0x05 0x060 --- Time in Under-Temperature
0x05 0x068 --- Specified Minimum Operating Temperature
0x07 ===== = = === == Solid State Device Statistics (rev ) ==
0x07 0x008 N-- Percentage Used Endurance Indicator
|||_ C monitored condition met
||__ D supports DSN
|___ N normalized value SATA Phy Event Counters (GP Log 0x11)
ID Size Value Description
0x0003 R_ERR response for device-to-host data FIS
0x0004 R_ERR response for host-to-device data FIS
0x0006 R_ERR response for device-to-host non-data FIS
0x0007 R_ERR response for host-to-device non-data FIS
0x0009 Transition from drive PhyRdy to drive PhyNRdy
0x000a Device-to-host register FISes sent due to a COMRESET
0x000f R_ERR response for host-to-device data FIS, CRC
0x0012 R_ERR response for host-to-device non-data FIS, CRC
0x0001 Command failed due to ICRC error /home/tong/Workspace/system/bcache [tong@T7] [:]
>

12月06日硬盘指标统计

在12月19日再次进行了硬盘指标的统计:

/home/tong/Workspace/system/bcache [tong@T7] [:]
> cat
smartctl 6.5 -- r4318 [x86_64-linux-4.8.--ARCH] (local build)
Copyright (C) -, Bruce Allen, Christian Franke, www.smartmontools.org === START OF INFORMATION SECTION ===
Model Family: SanDisk based SSDs
Device Model: SanDisk SSD U110 16GB
Serial Number:
LU WWN Device Id: 001b44 ec81598d5
Firmware Version: U21B001
User Capacity: ,,, bytes [16.0 GB]
Sector Size: bytes logical/physical
Rotation Rate: Solid State Device
Form Factor: 1.8 inches
Device is: In smartctl database [for details use: -P show]
ATA Version is: ACS- T13/-D revision
SATA Version is: SATA 3.0, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is: Mon Dec :: CST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
AAM feature is: Unavailable
APM feature is: Disabled
Rd look-ahead is: Enabled
Write cache is: Enabled
ATA Security is: Disabled, frozen [SEC2]
Wt Cache Reorder: Unavailable === START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED General SMART Values:
Offline data collection status: (0x00) Offline data collection activity
was never started.
Auto Offline Data Collection: Disabled.
Self-test execution status: ( ) The previous self-test routine completed
without error or no self-test has ever
been run.
Total time to complete Offline
data collection: ( ) seconds.
Offline data collection
capabilities: (0x51) SMART execute Offline immediate.
No Auto Offline data collection support.
Suspend Offline collection upon new
command.
No Offline surface scan supported.
Self-test supported.
No Conveyance Self-test supported.
Selective Self-test supported.
SMART capabilities: (0x0003) Saves SMART data before entering
power-saving mode.
Supports SMART auto save timer.
Error logging capability: (0x01) Error logging supported.
General Purpose Logging supported.
Short self-test routine
recommended polling time: ( ) minutes.
Extended self-test routine
recommended polling time: ( ) minutes. SMART Attributes Data Structure revision number:
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAGS VALUE WORST THRESH FAIL RAW_VALUE
Reallocated_Sector_Ct -O---- -
Power_On_Hours -O---- -
Power_Cycle_Count -O---- -
Program_Fail_Count -O---- -
Erase_Fail_Count -O---- -
Avg_Write/Erase_Count -O---- -
Unexpect_Power_Loss_Ct -O---- -
Reported_Uncorrect -O---- -
Perc_Write/Erase_Count -O---- -
Perc_Avail_Resrvd_Space PO---- -
Perc_Write/Erase_Ct_BC -O---- -
Total_LBAs_Written -O---- -
Total_LBAs_Read -O---- -
||||||_ K auto-keep
|||||__ C event count
||||___ R error rate
|||____ S speed/performance
||_____ O updated online
|______ P prefailure warning General Purpose Log Directory Version
SMART Log Directory Version [multi-sector log support]
Address Access R/W Size Description
0x00 GPL,SL R/O Log Directory
0x01 GPL,SL R/O Summary SMART error log
0x03 GPL,SL R/O Ext. Comprehensive SMART error log
0x04 GPL,SL R/O Device Statistics log
0x06 GPL,SL R/O SMART self-test log
0x09 GPL,SL R/W Selective self-test log
0x10 GPL,SL R/O SATA NCQ Queued Error log
0x11 GPL,SL R/O SATA Phy Event Counters log
0x30 GPL,SL R/O IDENTIFY DEVICE data log
0x80-0x9f GPL,SL R/W Host vendor specific log
0xa1 GPL,SL VS Device vendor specific log
0xa2 GPL,SL VS Device vendor specific log
0xa3 GPL,SL VS Device vendor specific log
0xa6-0xa7 GPL,SL VS Device vendor specific log Warning! SMART Extended Comprehensive Error Log Structure error: invalid SMART checksum.
SMART Extended Comprehensive Error Log Version: ( sectors)
No Errors Logged SMART Extended Self-test Log (GP Log 0x07) not supported SMART Self-test log structure revision number
No self-tests have been logged. [To run self-tests, use: smartctl -t] SMART Selective self-test log data structure revision number
Note: revision number not implies that no selective self-test has ever been run
SPAN MIN_LBA MAX_LBA CURRENT_TEST_STATUS
Not_testing
Not_testing
Not_testing
Not_testing
Not_testing
Read_scanning was never started
Selective self-test flags (0xffff):
Currently read-scanning the remainder of the disk.
If Selective self-test is pending on power-up, resume after minute delay. SCT Commands not supported Device Statistics (GP Log 0x04)
Page Offset Size Value Flags Description
0x05 ===== = = === == Temperature Statistics (rev ) ==
0x05 0x008 --- Current Temperature
0x05 0x010 - --- Average Short Term Temperature
0x05 0x018 - --- Average Long Term Temperature
0x05 0x020 --- Highest Temperature
0x05 0x028 --- Lowest Temperature
0x05 0x030 --- Highest Average Short Term Temperature
0x05 0x038 --- Lowest Average Short Term Temperature
0x05 0x040 - --- Highest Average Long Term Temperature
0x05 0x048 - --- Lowest Average Long Term Temperature
0x05 0x050 --- Time in Over-Temperature
0x05 0x058 --- Specified Maximum Operating Temperature
0x05 0x060 --- Time in Under-Temperature
0x05 0x068 --- Specified Minimum Operating Temperature
0x07 ===== = = === == Solid State Device Statistics (rev ) ==
0x07 0x008 N-- Percentage Used Endurance Indicator
|||_ C monitored condition met
||__ D supports DSN
|___ N normalized value SATA Phy Event Counters (GP Log 0x11)
ID Size Value Description
0x0003 R_ERR response for device-to-host data FIS
0x0004 R_ERR response for host-to-device data FIS
0x0006 R_ERR response for device-to-host non-data FIS
0x0007 R_ERR response for host-to-device non-data FIS
0x0009 Transition from drive PhyRdy to drive PhyNRdy
0x000a Device-to-host register FISes sent due to a COMRESET
0x000f R_ERR response for host-to-device data FIS, CRC
0x0012 R_ERR response for host-to-device non-data FIS, CRC
0x0001 Command failed due to ICRC error /home/tong/Workspace/system/bcache [tong@T7] [:]
>

12月19日硬盘指标统计

比较如下:

/home/tong/Workspace/system/bcache [tong@T7] [:]
> diff
1c1
< smartctl 6.5 -- r4318 [x86_64-linux-4.8.--ARCH] (local build)
---
> smartctl 6.5 -- r4318 [x86_64-linux-4.8.--ARCH] (local build)
17c17
< Local Time is: Tue Dec :: CST
---
> Local Time is: Mon Dec :: CST
,63c62,
< Power_On_Hours -O---- -
< Power_Cycle_Count -O---- -
---
> Power_On_Hours -O---- -
> Power_Cycle_Count -O---- -
66c66
< Avg_Write/Erase_Count -O---- -
---
> Avg_Write/Erase_Count -O---- -
69c69
< Perc_Write/Erase_Count -O---- -
---
> Perc_Write/Erase_Count -O---- -
,73c71,
< Perc_Write/Erase_Ct_BC -O---- -
< 241 Total_LBAs_Written -O---- 100 100 000 - 538537024
< 242 Total_LBAs_Read -O---- 100 100 000 - 1275507679
---
> Perc_Write/Erase_Ct_BC -O---- -
> 241 Total_LBAs_Written -O---- 100 100 000 - 598719455
> 242 Total_LBAs_Read -O---- 100 100 000 - 1338182982
126c126
< 0x05 0x008 --- Current Temperature
---
> 0x05 0x008 --- Current Temperature
140c140
< 0x07 0x008 1 1 N-- Percentage Used Endurance Indicator
---
> 0x07 0x008 1 2 N-- Percentage Used Endurance Indicator /home/tong/Workspace/system/bcache [tong@T7] [:]
>

关键指标红色标出。

从去年大概10月底新机初装开始,到12月06日,寿命禁用了1%。从12月06至19日短短13天,寿命值便增长为2%。

已知假设常规使用的情况下一块SSD的寿命是10年,计算如下:

/home/tong/Workspace/system/bcache [tong@T7] [:]
> bc -l
bc 1.06.
Copyright -, , , , , Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'.
/ 365                  # 取整之前常规使用情况下,的使用时长为365天。
1475443.90136986301369863013          # 计算平均每天的写入次数。
( - ) /
4629417.76923076923076923076          # 计算过去的13天里,评价每天的写入次数。
/ 4                       # 两种情况下的单天写入次数取比例。
2.5000000000000000000

基于以上计算,采用bcache模式使用SSD硬盘的情况下,硬盘的写入次数是常规情况下的4倍。

按照常规经验值10年计算,bcache方式下SSD的寿命为10年的四分之一:2.5年。

我只为bcache分配了16GSSD的一半8GB。又因为bcache方式下,SSD的缓存为 LRU方式。所以,如果采用16GB的话,缓存内容会加倍,读写次数自然也会加倍。这样的话寿命将缩短为1.25年,这与百合的经验也完全相符,它的SSD就是一年之后坏掉的。

所以基于以上,我的这块SSD,将于2019年6月前坏掉。

淘宝上16G二手ngffSSD的售价是35。全新64G也不过150。

我决定将这块SSD作为耗材继续使用。完。:)

当然,后续我还会定期观察。随时更新信息。

====================     update @ 20170624     ========================

smartctl 6.5 -- r4318 [x86_64-linux-4.11.--ARCH] (local build)
Copyright (C) -, Bruce Allen, Christian Franke, www.smartmontools.org === START OF INFORMATION SECTION ===
Model Family: SanDisk based SSDs
Device Model: SanDisk SSD U110 16GB
Serial Number:
LU WWN Device Id: 001b44 ec81598d5
Firmware Version: U21B001
User Capacity: ,,, bytes [16.0 GB]
Sector Size: bytes logical/physical
Rotation Rate: Solid State Device
Form Factor: 1.8 inches
Device is: In smartctl database [for details use: -P show]
ATA Version is: ACS- T13/-D revision
SATA Version is: SATA 3.0, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is: Sat Jun :: CST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
AAM feature is: Unavailable
APM feature is: Disabled
Rd look-ahead is: Enabled
Write cache is: Enabled
ATA Security is: Disabled, frozen [SEC2]
Wt Cache Reorder: Unavailable === START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED General SMART Values:
Offline data collection status: (0x00) Offline data collection activity
was never started.
Auto Offline Data Collection: Disabled.
Self-test execution status: ( ) The previous self-test routine completed
without error or no self-test has ever
been run.
Total time to complete Offline
data collection: ( ) seconds.
Offline data collection
capabilities: (0x51) SMART execute Offline immediate.
No Auto Offline data collection support.
Suspend Offline collection upon new
command.
No Offline surface scan supported.
Self-test supported.
No Conveyance Self-test supported.
Selective Self-test supported.
SMART capabilities: (0x0003) Saves SMART data before entering
power-saving mode.
Supports SMART auto save timer.
Error logging capability: (0x01) Error logging supported.
General Purpose Logging supported.
Short self-test routine
recommended polling time: ( ) minutes.
Extended self-test routine
recommended polling time: ( ) minutes. SMART Attributes Data Structure revision number:
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAGS VALUE WORST THRESH FAIL RAW_VALUE
Reallocated_Sector_Ct -O---- -
Power_On_Hours -O---- -
Power_Cycle_Count -O---- -
Program_Fail_Count -O---- -
Erase_Fail_Count -O---- -
Avg_Write/Erase_Count -O---- -
Unexpect_Power_Loss_Ct -O---- -
Reported_Uncorrect -O---- -
Perc_Write/Erase_Count -O---- -
Perc_Avail_Resrvd_Space PO---- -
Perc_Write/Erase_Ct_BC -O---- -
Total_LBAs_Written -O---- -
Total_LBAs_Read -O---- -
||||||_ K auto-keep
|||||__ C event count
||||___ R error rate
|||____ S speed/performance
||_____ O updated online
|______ P prefailure warning General Purpose Log Directory Version
SMART Log Directory Version [multi-sector log support]
Address Access R/W Size Description
0x00 GPL,SL R/O Log Directory
0x01 GPL,SL R/O Summary SMART error log
0x03 GPL,SL R/O Ext. Comprehensive SMART error log
0x04 GPL,SL R/O Device Statistics log
0x06 GPL,SL R/O SMART self-test log
0x09 GPL,SL R/W Selective self-test log
0x10 GPL,SL R/O SATA NCQ Queued Error log
0x11 GPL,SL R/O SATA Phy Event Counters log
0x30 GPL,SL R/O IDENTIFY DEVICE data log
0x80-0x9f GPL,SL R/W Host vendor specific log
0xa1 GPL,SL VS Device vendor specific log
0xa2 GPL,SL VS Device vendor specific log
0xa3 GPL,SL VS Device vendor specific log
0xa6-0xa7 GPL,SL VS Device vendor specific log Warning! SMART Extended Comprehensive Error Log Structure error: invalid SMART checksum.
SMART Extended Comprehensive Error Log Version: ( sectors)
No Errors Logged SMART Extended Self-test Log (GP Log 0x07) not supported SMART Self-test log structure revision number
No self-tests have been logged. [To run self-tests, use: smartctl -t] SMART Selective self-test log data structure revision number
Note: revision number not implies that no selective self-test has ever been run
SPAN MIN_LBA MAX_LBA CURRENT_TEST_STATUS
Not_testing
Not_testing
Not_testing
Not_testing
Not_testing
Read_scanning was never started
Selective self-test flags (0xffff):
Currently read-scanning the remainder of the disk.
If Selective self-test is pending on power-up, resume after minute delay. SCT Commands not supported Device Statistics (GP Log 0x04)
Page Offset Size Value Flags Description
0x05 ===== = = === == Temperature Statistics (rev ) ==
0x05 0x008 --- Current Temperature
0x05 0x010 - --- Average Short Term Temperature
0x05 0x018 - --- Average Long Term Temperature
0x05 0x020 --- Highest Temperature
0x05 0x028 --- Lowest Temperature
0x05 0x030 --- Highest Average Short Term Temperature
0x05 0x038 --- Lowest Average Short Term Temperature
0x05 0x040 - --- Highest Average Long Term Temperature
0x05 0x048 - --- Lowest Average Long Term Temperature
0x05 0x050 --- Time in Over-Temperature
0x05 0x058 --- Specified Maximum Operating Temperature
0x05 0x060 --- Time in Under-Temperature
0x05 0x068 --- Specified Minimum Operating Temperature
0x07 ===== = = === == Solid State Device Statistics (rev ) ==
0x07 0x008 N-- Percentage Used Endurance Indicator
|||_ C monitored condition met
||__ D supports DSN
|___ N normalized value SATA Phy Event Counters (GP Log 0x11)
ID Size Value Description
0x0003 R_ERR response for device-to-host data FIS
0x0004 R_ERR response for host-to-device data FIS
0x0006 R_ERR response for device-to-host non-data FIS
0x0007 R_ERR response for host-to-device non-data FIS
0x0009 Transition from drive PhyRdy to drive PhyNRdy
0x000a Device-to-host register FISes sent due to a COMRESET
0x000f R_ERR response for host-to-device data FIS, CRC
0x0012 R_ERR response for host-to-device non-data FIS, CRC
0x0001 Command failed due to ICRC error

2017年6月24日硬盘指标统计

当前的寿命为23%, 与之前的估算出入不大,寿命大概会在19年春天达到100%。

[archlinux][hardware] ThankPad T450自带SSD做bcache之后的使用寿命分析的更多相关文章

  1. 我和小美的撸码日记(1)之软件也需靠脸吃饭,带您做张明星脸(附后台经典框架 DEMO 下载)

    众所周知程序员得靠技术吃饭,但是真的光靠技术就够了吗?Teacher苍,一位德艺双馨的艺术家,论技术她自然是炉火纯青,我觉得她桃李遍天下的原因不仅限于些,试想如果Teacher苍长得跟凤姐一样再带点乡 ...

  2. SPSS和Mplus如何做非线性中介调节效应分析?如倒U形曲线

    SPSS和Mplus如何做非线性中介调节效应分析?如倒U形曲线 传统的线性回归模型用的比较多,但有时候变量之间的关系更符合非线性关系,此时使用非线性模型其拟合度会更好,模型预测效果更佳.在非线性关系中 ...

  3. [archlinux][hardware] 查看SSD的使用寿命

    因为最近把16GB的SSD做成了HDD的cache,所以比较关系寿命问题. 使用smartctl工具. 参考:https://www.v2ex.com/t/261373 linux 下面只有 smar ...

  4. [archlinux][crypto] 从T450迁移archlinux操作系统至T460s笔记本

    从T450笔记本迁移archlinux操作系统之T460s笔记本,同时: 1.  使用cryptsetup做底层块加密. 2.    全新使用btrfs文件系统. 一,硬盘分区. 1T的SSD,使用U ...

  5. 记一次使用 android 自带 WebView 做富文本编辑器之API、机型的兼容及各种奇葩bug的解决

    转载请声明出处(http://www.cnblogs.com/linguanh/) 目录 1,测试设备介绍 2,开源项目richeditor及CrossWalk的选择 3,遇到的bug及其解决方法 4 ...

  6. 手把手带你做一个超炫酷loading成功动画view Android自定义view

    写在前面: 本篇可能是手把手自定义view系列最后一篇了,实际上我也是一周前才开始真正接触自定义view,通过这一周的练习,基本上已经熟练自定义view,能够应对一般的view需要,那么就以本篇来结尾 ...

  7. Python带你做个愉快的"动森"玩家! (超简单代码)

    最近Switch上的<动物森友会>可谓是炙手可热,它几乎算是任天堂版的<模拟人生>了,它的最新游戏<集合啦!动物森友会>(以下称“动森”)在发售后,取得了不错的媒体 ...

  8. 学就完事了!万星项目带你做 3D 游戏——GitHub 热点速览 v.21.18

    本文首发于「HelloGitHub」微信公众号,搜索「HelloGitHub」点击关注解锁更多宝藏! 作者:HelloGitHub-小鱼干 新手开始学习的时候,都会遇到一个问题:如何开始学 xx?Se ...

  9. GitHub 热点速览 Vol.26:手把手带你做数据库

    作者:HelloGitHub-小鱼干 摘要:手把手带你学知识,应该是学习新知识最友好的姿势了.toyDB 虽然作为一个"玩具"项目不能应用在实际开发中,但通过它你可以了解到如何制作 ...

随机推荐

  1. MiniProfiler(MiniProfiler.EF6监控调试MVC5和EF6的性能)

    git:  https://github.com/MiniProfiler 以前开发Webform的时候可以开启trace来跟踪页面事件,这对于诊断程序的性能是有很大的帮助的,起到事半功倍的作用,今天 ...

  2. EL算术表达式

    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"% ...

  3. stl vector erase

     C++ Code  12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 ...

  4. win7无法保存打印机设置(错误0x000006d9)解决方法

    解决win7打印机共享出现‘无法保存打印机设置’操作无法完成(错误0x000006d9),接下来与大家分享下解决方法, 找到windows firewall服务,启用即可 ============== ...

  5. RSA加密(C语言)

    /** * \file rsa.h * * \brief The RSA public-key cryptosystem * * Copyright (C) 2006-2010, Brainspark ...

  6. jquery this 和 event.target 区别

    1.this和event.target的区别: js中事件是会冒泡的,所以this是可以变化的,但event.target不会变化,它永远是直接接受事件的目标DOM元素: 2.this和event.t ...

  7. spring 的IoC的个人理解

    1.ioc IoC的概念介绍 ( a).依赖注入, 分为依赖 和 注入  , 其实依赖是一种耦合方式, 通过spirng在运行时将这种依赖关系完成, 达到解耦目的, 同时达到代码重用, 方便测试,更加 ...

  8. T-SQL函数总结

    T-SQL函数的类别和描述. 函数类别 作用 聚合函数 执行的操作是将多个值合并为一个值.例如COUNT.SUM.MIN 和 MAX. 配置函数 是一种标量函数,可返回有关配置设置的信息. 转换函数 ...

  9. [leetcode] 题型整理之查找

    1. 普通的二分法查找查找等于target的数字 2. 还可以查找小于target的数字中最小的数字和大于target的数字中最大的数字 由于新的查找结果总是比旧的查找结果更接近于target,因此只 ...

  10. js 一些容易错的点

    最近在做平台相关功能,需要和js.html.以及使用bootstrap,bootstrap元素大小的设置 是比较难的. js比较容易出错的是,解析json,对象最好是使用json,这样更好解析,arr ...