泰山上山有多条路线,官方公众号上写的步行登山线路适合年轻人。作为来爬山的年轻人当人是选择这个线路了🐶。
坐晚上十点多从丰台站出发的火车第二天3点半到泰山站,晚上9点多就从家里出发了。到了泰山站之后坐车就直接到红门路。 早上路边有个早餐车,听老板说他们早上两点之后就开始出摊了,过了十一之后人就开始变少了,冬天人就更少了。 吃了点早餐就开始向景区大门出发。4点50景区就已经开始让游客进入了。
本书名称为《我在北京送快递》,但是全书读完作者在北京的生活轨迹只占很少的一部分。 总体上构成是作者在全国各个地方工作的经历。
如今我到达每个地方的时间都和原来墨守成规的不一样, 看到和感受到的也因此不同。事实上我发现自己正用一种全新的眼光看待这份工作——这不仅是习惯的改变, 或者时间和空间的对应变化,而是不带目的性地、 从一种我从前因为焦虑和急躁而从没尝试过的角度去观看事物——我不再把自己看作一个时薪30元的送货机器,一旦达不到额定产出值就恼羞成怒、气急败坏。
工作
个人
可直接复制代码到浏览器查看效果
const dataList = [
{
name:"a",
children:[
{
name:"a-1",
children:[
{ name:"a-1-1" },
{ name:"a-1-2" },
]
},
{
name:"a-2",
children:[
{name:"a-2-1"},
{name:"a-2-2"}
]
}
]
},{
name:"b",
children:[
{
name:"b-1",
children:[
{ name:"b-1-1" },
{ name:"b-1-2" },
]
},
{
name:"b-2",
children:[
{name:"b-2-1"},
{name:"b-2-2"}
]
}
]
}
];
/**
*深度优先递归
*/
(function deepFirst(list){
list.forEach(item=>{
console.log(item.name);
if(item.children) deepFirst(item.children)
})
})(dataList);
/**
* 深度优先非递归
*/
(function(list){
let queue = list;
while (queue.length >0){
const item = list.shift();
console.log(item.name);
if(item.children){
item.children.reverse();
item.children.forEach(child=>{
queue.unshift(child);
})
}
}
})(JSON.parse(JSON.stringify(dataList)));
/**
* 广度优先递归
*/
(function wideFirst(list){
let children = [];
list.forEach(item=>{
console.log(item.name);
if(item.children){
children = children.concat(item.children);
}
})
if(children.length>0) wideFirst(children);
})(dataList);
/**
* 广度优先非递归
*/
(function(list){
const queue = list;
while (queue.length){
const item = queue.shift();
console.log(item.name);
if(item.children){
item.children.forEach(child=>{
queue.push(child)
})
}
}
})(JSON.parse(JSON.stringify(dataList)));
我这画彩色过度圆环采用的是画一个圆弧,然后画笔样式是一个渐变色。、
全部代码:
如果express或者你的其它的程序的服务被nginx这样的代理服务器代理过后,在程序里拿hostname这样的信息的时候通常会得到一个ip地址,比如这样
req.get('hostname') //127.0.0.1
Symbols 是最新的js原始类型,它带来了一些好处,尤其上司当做对象属性时特别有用。但是它提供的什么是String做不到的呢?
在我们开始深入了解Symbols之前让我们先来看看有哪些细节是开发者们不太容易注意到的。
背景
在js中有两种数据类型,原始类型和引用数据类型(原文这里用的objects); 原始类型包括numbers(包括整数,浮点数,Infinity,NaN),布尔值,字符串,undefined
,还有null
(虽然 typeof null === 'object'
但null
仍然是一个原始类型)
修改ssh端口
找到配置文件
vi /etc/ssh/sshd_config
修改端口配置 #Port 22
修改防火墙开放相应端口。
新开窗口验证,避免配置错误登录不上
配置ssh登录
首先生成秘钥:
ssh-keygen -t rsa