暂时先堆在一块儿,等某条目里面的内容超过十条了,就单列出去。javascript
更新历史:css
17.7.24html
=ADD= typescript —> interface前端
=ADD= alof awsome netvue
17.7.23java
=ADD= phantomjs 截图图片的一些Tipsnode
=ADD= phantomjs 关于浏览器视口大小的设置react
=ADD= typescript 的
typeconfig.js
git=ADD= typescript 的模块 与 命名空间github
=ADD= 添加 会动的ico图标
=ADD= 对Autismi / Inventati的介绍
17.7.13
2017年07月13日 12:21:06 =ADD= 关于vue组件命名方面的东西
17.7.12
2017年07月12日 11:21:06 =ADD= 添加三列布局 + 方形div
2017年07月12日 14:21:06 =ADD= 使用render:ver时的一些细节。
2017年07月12日 21:21:06 =CRE= 添加node条目
2017年07月12日 22:00:06 =CRE= 添加ES6条目
2017年07月12日 22:00:06 =ADD= super对继承类同名方法的调整、覆盖
17.7.09
2017年07月09日 04:21:06 添加phantomjs条目
17.7.08
2017年07月08日 13:32:55 添加Object深赋值
17.7.03
2017年07月04日 04:00:27 添加Vue条目
2017年07月04日 04:00:50 添加Gulp条目
2017年07月04日 04:03:13 更新WebAssembly条目
17.6.24
2017年06月24日 01:20:04 更新WebAssembly条目
2017年06月24日 01:24:02 调整其中的一些内容
2017年06月24日 01:25:59 添加回调的部分
2017年06月24日 01:34:01 去掉标题前面奇奇怪怪的数字 && 调整WASM部分的标题名称
2017年06月24日 01:37:01 去掉文章内笨重的标题
unselectable = "none"
{background-image:url()}
* 其余属性设置 * `background-repeat` * `background-position`
```css [ele]:after/before { content: [字符串]/[url('媒体文件地址')] } ``` * 文字能够调整 * 图片不能调整
box-shadow属性能够经过chrome调试工具很是方便的进行设置。
1.【推荐】display:flex + justify-content: center;
thebox{ display:flex; justify-content: center; }
2.margin + block
thebox{ display:block; marigin:0 auto; }
3.left:50% + margin-left
thebox{ left:50%; margin-left:-(thebox.width / 2) }
4.display:inline-block + text-align:center
thebox{ display:inline-block; text-align:center; }
async:
全部 async
函数都会隐式返回一个 promise,而 promise 的完成值将是函数的返回值(本例中是 "done"
)。
咱们不能在代码的顶层用 await
感受上 async/await 仍是须要配合Promise来使用。
好比下面这种状况
①有
ref = { a: "bb", c: "dd", e: {}, }
②还有
data = { a: "cc", b: "ee", c: { d: "ff" } }
③想要有 cover(ref.f,data)
以后
//@after ref = { a: "bb", c: "dd", e: { a: "cc", b: "ee", c: { d: "ff" } } }
函数中的形参会在函数调用结束以后销毁。
函数参数对于引用类型的实质是一个引用(指向实际数据的指针),即
直接在表层操做该引用,在实质上无效ref = data(X)
进入到实际数据来进行操做则有效ref.a = data(√)
使用递归
经过间接操做来调整实际数据。
function objectAssignObject(ref, data) { if (typeof data === "object") { Object.keys(data).forEach(function(itm, idx) { if (typeof ref[itm] !== 'object') { ref[itm] = {} } if (typeof data[itm] !== 'object') { ref[itm] = data[itm] } objectAssignObject(ref[itm], data[itm]) }) } }
css
.square{ width:100%; height:0; padding-bottom:100%; }
div:vue
<包裹正方形的div :style="`margin-right:${idx <= 1 ? 5 : 0}%`"></包裹正方形的div>
css
.外层的div{ display:flex; flex-wrap:wrap; } .包裹正方形的div{ width:30%; }
使用ajax
方式来得到它。
使用JSON
类方法来处理它。
网络上的资源经过node-fetch
。
直接经过require
函数得到。
// 类A继承了类B // 类B中已经有eat方法 //...类A中 eat(url){ super.eat(url);// 这是合法的 doOtherThing(); this.anotherThing(); } ///类A中...
import thing = require("cmjs-module")
import thing from "amd-module"
一个常见的错误是使用/// <reference>
引用模块文件,应该使用import
。 要理解这之间的区别,咱们首先应该弄清编译器是如何根据import
路径(例如,import x from "...";
或import x = require("...")
里面的...
,等等)来定位模块的类型信息的。
编译器首先尝试去查找相应路径下的.ts
,.tsx
再或者.d.ts
。 若是这些文件都找不到,编译器会查找外部模块声明。 回想一下,它们是在.d.ts
文件里声明的。
*
或`.*若是一个glob模式里的某部分只包含*
或.*
,那么仅有支持的文件扩展名类型被包含在内(好比默认.ts
,.tsx
,和.d.ts
, 若是allowJs
设置能true
还包含.js
和.jsx
)。
files
&include
&exclude
若是指定了"files"
或"include"
,编译器会将它们结合一并包含进来。 使用"outDir"
指定的目录下的文件永远会被编译器排除,除非你明确地使用"files"
将其包含进来(这时就算用exclude
指定也没用)。
使用"include"
引入的文件可使用"exclude"
属性过滤。 然而,经过"files"
属性明确指定的文件却老是会被包含在内,无论"exclude"
如何设置。 若是没有特殊指定,"exclude"
默认状况下会排除node_modules
,bower_components
,jspm_packages
和<outDir>
目录。
一个类必须有constructor
方法,若是没有显式定义,一个空的constructor
方法会被默认添加。
class Point { } // 等同于 class Point { constructor() {} }
constructor
,这个空的construtor
还会有么?其实为了好理解,建议都添加一个空contructor
,这是个好习惯?。
可是——⬆️⬆️这不可能⬆️⬆️
由于 ES6 规定一个类只能有一个contructor
!!!
对contructor
的重载能够经过内部对arg
进行判断来实现。
接口描述了类的公共部分,而不是公共和私有两部分。 它不会帮你检查类是否具备某些私有成员。
添加 -webkit-text-size-adjust:none
属性以取消浏览器的自动调整
.classstyle{ -webkit-text-size-adjust:none; font-size:9px; }
X-》1.会使本来应该调整的地方失效
X-》2.本来就是专为了移动端设置的属性,桌面端不适应(bug已修复)
【建议】经过缩小来得到小字体。-webkit-transform: scale(0.75);
X-》浏览器兼容问题
新的格式而已:Wasm 不是一种新的编程语言,而是一种新的格式,这个格式适合将 C/C++ 程序编译到 Web 上来运行,同时又知足了平台无关、高效、轻量等特性。
可被直接执行:Wasm 能够直接被 JS 引擎加载和执行,省去了从 JS 到 Bytecode,从 Bytecode 到机器码的转换时间,所以十分高效。
AST明晰性:Wasm 的文本格式 Wast 包含了一个基于 S 表达式的 AST 描述文本,在这个文件中咱们能够清楚的看到这个 Wasm 模块的导出函数内存分配的状况。
JS引擎配适:WebAssembly 的二进制模块格式 Wasm 能够直接经过 JS 引擎提供的 WebAssembly 接口进行调用。
基于 WebAssembly 的开发主要分为两个部分:
写好业务、设置接口第一部分为 C/C++ 部分的主要业务处理逻辑,同时须要设置一些须要在 JS 层面调用的“预置接口”。
链接接口、填充逻辑:第二部分是在 JS 层面进行 Wasm 的模块对接,同时须要填充内存或者预置函数的逻辑,填充数据集的操做。
感受有些相似于使用node.per编译c文件为node来使用。
不过再业务方面要设置的比较少,感受再编写的过程当中会比较轻松。
使用相似 turboscript 的语言,你可以:
以相似typescript
的方式来写脚本
将脚本编译成webassmbly
的wasm
文件
在程序中使用wasm
文件
以及比较保守(有指针)的AssemblyScript。
一些连接:
Vue 异步执行 DOM 更新。只要观察到数据变化,Vue 将开启一个队列,并缓冲在同一事件循环中发生的全部数据改变。若是同一个 watcher 被屡次触发,只会一次推入到队列中。这种在缓冲时去除重复数据对于避免没必要要的计算和 DOM 操做上很是重要。而后,在下一个的事件循环“tick”中,Vue 刷新队列并执行实际(已去重的)工做。
箭头函数会绑定上下文
domPorps
而不是attr
//<button :disabled="true"></button> ... h("button",{domProps: true}); ...
简短。
须要被引用。
达意。
语义
可理解
约定
基本类型。
结构组件
<工程名首字母>+<结构层级+>
维持在两个完整单词的长度
若是缩写重复则添加多一个字母达到区别的做用
e.g
在工程 utatemita
中
u-home
u-hold
u-home-body
u-hm-body-title
u-hm-body-content
u-hold-companys
u-hd-companys-company
工程公用组件
<工程名>+<功能>+[描述]
e.g
在工程 utatemita
中
utatemita-Square_card
utatemita-Lift
广泛公用组件
<做者名>+<功能>+[描述]
使用驼峰式命名方式。
https://discuss.reactjs.org/t...
输入的文件与输出的文件强制同名
默认buffer
可选file.content
{ buffer: false }
buffer.toString()
Buffer.from(str)
只要不执行phantom.exit();进程就不会退出
phantoms启动后,启动它的父进程就没法和其沟通了,phantomjs没有相应地API能够作到这一点
若是须要动态的读取数据以抓取数据有2种方法供参考
A. 利用ChildProcess模块,反向处理,即启动phantomjs进程,而后利用child process模块启动java进程,经过子父进程之间共享的stdin/stdout来交互数据
B. 利用WebServer模块,在phantomjs中启动一个微型web服务,java进程往这个web服务发送数据及接受处理完成的结果
page.settings Object
对于当前页面的一些配置项。此API必须在 page.open()调用以前设置,不然不会起做用。如下是配置项:
javascriptEnabled 默认 true:是否执行页面内的javascript
javascriptloadImages 默认 true:是否载入图片
各类各样的userAgent一览
设置page.settings.userAgent = "Mozilla/5.0 (iPhone; CPU iPhone OS 5_1_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9B206 Safari/7534.48.3"
由于phantomjs模拟的是浏览器,所以加载、渲染页面须要必定的时间所以在page.open()
以后,应该delay必定时间以后方开始截图。
phantomjspage.viewportSize
设置失败
meteor react-controlled-components problem
Meteor.publish -> 发布数据
Meteor.subscribe -> 订阅数据
(autopublish使的整个mongo数据库将推到 客户端)
Meteor.methods -> 验证、修改数据方法
Meteor.call -> 启动方法
(inseure使得可以在 客户端 进行mongo操做)
Template.body( using on Blade)
onCreated
建立本地的关联数据库
订阅服务器的数据
UI组件
The mongo method runing in the meteor do things synchronously.
it will convert string to number
imports
meteor项目中除了imports文件以外的其余文件,将会在meteor服务器启动时自动加载。
imports文件中的文件则须要经过import
,才会引入到项目中。
//...... // warpper import { createContainer } from 'meteor/react-meteor-data'; // collections import { Collection } from '../api/collection.js'; //...... //.. define the react component "App" receive `props.tasks` //.. setting propTypes of "App" //...... // warp the "App" export default createContainer(() => { // the object will pipe to App as its props return { tasks: Collection.find({}).fetch(), }; }, App);
node爬虫框架。
日文歌词网
处理抓取的数据
继续完成页面
博客
3DRPGMaker
KaKaxi
前端库awosome网
JSON数据生成网站
npms趋势
瞩目的nodejs框架
博客
有趣的js库系列 https://tutorialzine.com/@danny/
npm库排名
node -> pkg https://www.awesomes.cn/repo/...
很是喜欢的网页设计
会动的ico图标
模拟打字
node CLI
现代拓展经常使用实用库
编辑器
使用提示
视差
数据可视化
匿名网络以及其余
https://prism-break.org/zh-CN/all/
若是你的项目很是须要隐私,而且很是有价值,经过他们的承认,他们能够为你提供一系列免费的安全的隐私的服务。
装逼利器
合集
好文章
ASICII字符画