叨叨两句

  1. 【改版】未来该系列将记录每日的增量知识,并陆续转移至《每日存量知识总结》中,由于未来该文不再成体系,转移至笔记中更新
  2. 技术的精进不能只是简单的刷题,而应该是不断的“刻意”练习
  3. 该系列已正式纳入【跃迁之路】专栏,持续更新
1
2
3
4
5
6
类型断言
有时候你会遇到这样的情况,你会比TypeScript更了解某个值的详细信息。 通常这会发生在你清楚地知道一个实体具有比它现有类型更确切的类型。
 
通过类型断言这种方式可以告诉编译器,“相信我,我知道自己在干什么”。 类型断言好比其它语言里的类型转换,但是不进行特殊的数据检查和解构。 它没有运行时的影响,只是在编译阶段起作用。 TypeScript会假设你,程序员,已经进行了必须的检查。
 
类型断言有两种形式。 其一是“尖括号”语法:

突然发现每当form表单提交后,都会刷新一下,导致填写的数据丢失,为了解决这一问题专门百度了一下。还真找到了一种form表单提交后,不刷新的方法,先转过来,以后备用。

代码如下:

<body>

基本的使用方式

//一般配套使用
async function basicDemo() {

移动端头部标签

No泽枫 · 发布于 6 天前

<!DOCTYPE html> <!-- 使用 HTML5 doctype,不区分大小写 -->
<html lang="zh-cmn-Hans"> <!-- 更加标准的 lang 属性写法 /2014th7cj/d/file/p/20160830/20797118 -->
<!-- 声明文档使用的字符编码 -->
<meta charset='utf-8'>
<!-- 优先使用 IE 最新版本和 Chrome -->
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>

第一种方法:

var timestamp1 = Date.parse( new Date());

第二种方法:

aes 加/解密 工具

darcrand · 发布于 6 天前

/**
 * @desc aes加/解密
 * @author darcrand
 * @version 2019-09-17

如何写简历

冰封百度 · 发布于 6 天前

言简意赅 列出自己会的技能、掌握的工具,参与的项目,侧重的技能点。

《前端这些年我到底经历了什么(下)》https://segmentfault.com/a/11...
上面文章结尾 IT技能部分写的非常明了。

总结好的学习方法

《从校招生到核心架构师,支付宝研究员李俊奎谈如何成为一名优秀的程序员》https://segmentfault.com/a/11...

进程/线程间同步机制

  1. 临界区:通过对多线程的串行化来访问公共资源或一段代码,速度快,适合控制数据访问。在任意时刻只允许一个线程对共享资源进行访问,如果有多个线程试图访问公共资源,那么在有一个线程进入后,其他试图访问公共资源的线程将被挂起,并一直等到进入临界区的线程离开,临界区在被释放后,其他线程才可以抢占。
  2. 互斥量:采用互斥对象机制。 只有拥有互斥对象的线程才有访问公共资源的权限,因为互斥对象只有一个,所以能保证公共资源不会同时被多个线程访问。互斥不仅能实现同一应用程序的公共资源安全共享,还能实现不同应用程序的公共资源安全共享 .互斥量比临界区复杂。因为使用互斥不仅仅能够在同一应用程序不同线程中实现资源的安全共享,而且可以在不同应用程序的线程之间实现对资源的安全共享。
  3. 信号量:它允许多个线程在同一时刻访问同一资源,但是需要限制在同一时刻访问此资源的最大线程数目 .信号量对象对线程的同步方式与前面几种方法不同,信号允许多个线程同时使用共享资源,这与操作系统中的PV操作相同。它指出了同时访问共享资源的线程最大数目。它允许多个线程在同一时刻访问同一资源,但是需要限制在同一时刻访问此资源的最大线程数目。

大概步骤:

  • 修改这个目录下文件
1
2
3
4
5
入口文件必须改为根目录下,大部分虚拟机不支持解析public目录下的入口文件.
数据库编码格式应为utf8,而不是utf8mb64
阿里云主机控制台的密码就是ftp的密码.
虚拟机不能建自己的数据库,只能用虚拟机指定的数据库,在里面建表。数据库信息在主机控制台有。
ftp默认只开放80端口(项目用)和21端口(连FTP用),虚拟机功能巨少,也不安全,有条件还是买个服务器为好.

C++ vector使用

Salamander · 发布于 6 天前

使用

#include <iostream>
#include <vector>
using namespace std;
svg内的text文本元素通常不会给定宽度和高度,而动态计算文本元素位置时这些信息是必须的(比如希望text文本元素上下左右居中),此时可以通过getBoundingClientRect方法来获取
   let text = $('svg g text')[0].getBoundingClientRect()

小程序开屏逻辑

李大树 · 发布于 9月16日

1
2
3
4
5
6
代码如下
onLoad: function(options) {
    let timer = setTimeout(() => {
      clearTimeout(timer)
      this.toMain()
    }, 3000)

echarts

    function canvasFn (arr) {
        var myChart = echarts.init(document.getElementsByClassName('canvasBox')[0]); // 初始化echarts
        var ind = 0; 

FreeIPMI - 常见问题解答

Yujiaao · 发布于 9月16日

FreeIPMI - 常见问题解答
1.什么是IPMI?
2.什么是FreeIPMI?

  1. FreeIPMI是如何开始的?
  2. FreeIPMI运行哪些操作系统?

qt creator安装

Salamander · 发布于 9月16日

步骤

1.Qt下载

关于Qt下载,比较机智的同学都回去官网直接download,但是步骤相当繁琐!大家可以打开下面的链接,里面有各版本Qt,操作简单,童叟无欺!

http://download.qt.io/archive...

1
全局重新安装vue-cli, npm i vue-cli -g

来自http://www.techstacks.com/how...

如果您运行的是大于6.0.21或tomcat 7的tomcat版本,则可以利用新的远程IP阀。对于访问日志记录,这个阀门的好处是,如果在X-Forwarded-For标头中传递了IP地址,它将自动交换客户端IP和通过X-Forwarded-For标头传递的IP地址。加载它很容易。只需在AccessLogValve声明之前将org.apache.catalina.valves.RemoteIpValve添加到server.xml。例如:

 <Host name="localhost"  appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">

dell服务器硬件监控

Yujiaao · 发布于 9月16日

下载监控插件

https://exchange.nagios.org/d...

安装perl插件:

说明

编译C++程序的时候一定是用到了C++的库,所以用gcc编译时候,既有cpp文件又有c文件时候需要加上-lstdc++。

-l 后面加的是动态库libstdc++.-l加的时候,把"lib"三个字符省略,例如链接libtest.so你就需要加 -ltest ,一般这个库在usr/lib下可以找到

1
2
3
搜索引擎太垃圾了,网站分析啥的都太垃圾了,怎么推荐搜索收录的都要秒级有反馈才可以
 
及时反馈太重要了

html任意元素可编辑

faker · 发布于 9月15日

1
2
3
4
5
6
另一种编辑富文本内容的方式是使用名为 contenteditable 的特殊属性,这个属性也是由 IE 最
早实现的。可以把 contenteditable 属性应用给页面中的任何元素,然后用户立即就可以编辑该元素。
这种方法之所以受到欢迎,是因为它不需要 iframe 、空白页和 JavaScript,只要为元素设置
contenteditable 属性即可。
<div class="editable" id="richedit" contenteditable></div>
这样,元素中包含的任何文本内容就都可以编辑了,就好像这个元素变成了 <textarea> 元素一样。

计算机网络碎碎念

kungfufu · 发布于 9月15日

  • 常见URI协议类型:http://URL, file://URL, data://URL, blob://URL
  • CR+LF: 在http协议中作为空行分隔报文首部与主体,在windows中被作为换行符,在Linux/Unix/mac系统中只用LF换行
  • multipart

    • 多部分对象集合。出现在首部字段 content-type: multipart/form-data; boundary=Aa03x。每一部分都由boundary值分隔,--booundary标识一部分内容的开始,--boundary--表示多部分对象集合的结束。