— 时间过去一个月了,距离我想找工作,终于也明白一个道理,嗯。。。还是不能任性!从这一段时间也对一心只能做一件事有了更深刻的理解。不过,自己好像懂得了很多道理,但是却说服不了自己,人就是这样呐!还是老实做自己应该做的事,做自己能做的事,不能太勉强了,嗯,就这样。
安装mongodb
安装了一晚上的mongodb,折腾一晚上,原来如此简单,我还在吭哧吭哧的根目录新建文件,捣鼓读取权限问题
- 通过homebrew 安装:brew install mongodb
如果报错了,更新一下xcode版本,要是懒得更新使用homebrew search mongodb安装 - 查看更低MongoDB版本,然后安装更低版本的MongoDB:brew install mongodb@3.4
- 启动MongoDB服务:brew services start mongodb@3.4
- 关闭MongoDB服务:brew services stop mongodb@3.4
- 进入MongoDB图形化界面:mongo,然后看见启动端口27017,启动即可
- 查看homebrew安装的服务情况:brew services list
以上 安装完成!
岁月长河--开端
最近一个月,可以说经历精神上的起起落落落…然后到现在的平静,没有了任何追求,不想做任何事情,不想管任何事,也不想关心任何事,好的坏的都不想管了。似乎每年的三月份都是一个不太愉快的月份。
事情是这样的,来公司之后做的事除了配模型,弄数据外的杂事就是做前端。但是也并没有做出点什么东西来,没有做精通,真的是怀疑自己了,我可以吗???然后三月份的时候,试着投了几个简历,第一次面试就被pass掉了,可想而知,心情不爽。然后补了一下前端知识,发现也没有什么比较喜欢的工作,然后又一度陷入了要不要转行的纠结之中,一边否定着自己,一边还空想者,万一还可以呢?
梦想还是要有的,万一哪天实现了呢?是吧。上周就说仿一个豆瓣,但是一直也没有行动,一度陷入连饭都不想吃的境地??wtf??前两天突然发现公司耍流氓,真的是彻底敲碎了我的底线,这似乎也是一件好事吧。隐隐约约感觉到,我开始苏醒了,在什么都可以的日子慢慢的要往外走了。然后自己默默的说,这周,我把之前没有做的事情捡起来吧,做好了自己要做的事情之后在什么都可以吧,因为那才是真正的无所求了。
其实,正如神经静儿说的一样,我练字画画的满足感都比工作来的大的多,也许我是被代码耽误了的一个诗人,23333…没有什么想说的,也没有什么想做的,就这样吧。想到还要工作二十多年,然后就更不想动了。或许我现在自我放肆一下了,不管有没有这个资本。本来想说,四月中旬的时候,辞职,不干了,等等再说。可是这样似乎是行不通的,我还没有这么洒脱,好吧,那就找到工作了之后就辞职,然后放空一段时间,然后再工作吧!!嗯,就这样吧。2
webgl第一章
今天一天看了一天的webgl,本来就想这么过去就算了,思来想去还是还是回忆一下好了~
- 顶点着色器 顶点着色器即为设置点的位置和颜色的这么个东西,在文件的最顶部,然后呢是以字符串的形式嵌入的,乍一看,咋还多了一个main函数,花式蒙圈儿~~,呐就是这货
- 片元着色器 顶点着色器控制着点的位置和大小,而片元着色器控制点的颜色。你以为这就完了?其实他和顶点挨着,也在文件顶部,就是这货
- canvas绘制一个点 本章以简单的例子说明了这两个着色器的用法,在canvas里面,以及鼠标响应。涉及到闭包函数,webgl的三维坐标系,屏幕坐标系,鼠标点下位置坐标。 认真了解这几个坐标系之间的区别和联系,对于画点来说就好办了~!
webbgl坐标系如下图所示:
canvas坐标系如下所示:
鼠标点下位置坐标和webgl坐标系,canvas坐标系的关系如下: - 关于gl.vertexAttrib3f(),uniform函数的使用及其家族函数了解一下?
今天就看了,第一章。
这可是美好的一天
来记一下流水账~
最近一周多了心情不佳,有点抑郁的倾向了,然后是我从小玩到大的发小把我拉了回来。每次最难过的时候,总是她陪我走过来。今天本来就心情不错,然后啊,就鼓起勇气,还是有点小紧张的给失联近一年的好友发了消息,然后结果就是,我们好像没有分开过一样,敲开心啦!然后啊,今天晚上回家的时候才想起来,我今天有一个面试。其实这个单位之前给我面试过,然后挂了,还有点小失落呢~然后又换了不同的人来联系我,晚上的时候面了一下,虽然结果不是很理想,但是整个过程很愉悦啊!对,就是这样,谁夸我谁就最好了~~ 发现了,真的是人是积极的状态,好运都会找上你的,所以不要把自己心情搞得那么down,每天积极阳光的挺好的。。。。
emmmm。。。说了这么多,好像,我要开始认真的审视一下工作这件事了,状态也有了,剩下的就是加油咯~~
webpack+react我走过的那些坑
今天试着用webpack里面安装了一下react,抱着试试看的心态。然后在百度上一顿搜索方法,结果都是无疾而终,让人不开心。最终还是google救了我。这边记录一下安装过程。
安装了一个简易的react-dom做了一个实验。安装过程如下所示:最终的结果目录如下所示:
- 首先安装webpack.
— mkdir douban
— cd douban
— npm init -y(生成package.json文件) 根目录下如下操作 新建index.html文件
— mkdir dist
— cd dist
— touch index.html
在index.html中加入如下内容
<!DOCTYPE html><html> <head> <title>hello world</title> </head> <body> <div id="app"></div> <script src="/bundle.js"></script> </body>
接下来安装webpack,在根目录下:
— npm install –save-dev webpack webpack-dev-server webpack-cli修改package.json文件,在“scripts”中加入”start”: “webpack-dev-server –config ./webpack.config.js –mode development
根目录下新建配置文件 webpack.config.js
— touch webpack.config.js然后在文件中加入如下内容:
module.exports = { entry: [ './src/index.js' ], output: { path: __dirname + '/dist', publicPath: '/', filename: 'bundle.js' }, devServer: { contentBase: './dist' } }
entry指定入口文件,ouput指定输出文件位置,devserver指定网页中存的内容
创建index.js文件
— mkdir src
— cd src
— touch index.js
在index.js 文件加入console.log(“hello,world!”)使用npm start 即可运行程序啦!
安装babel
babel插件 主要是将es6 转为es5兼容的格式
— npm install –save-dev babel-core babel-loader babel-preset-env
— npm install –save-dev babel-preset-stage-2
— npm install –save-dev babel-preset-react
观察package.json文件变化,如下图所示:
webpack.config.js 文件变化,如下图所示:根目录新建.babelrc文件
— touch .babelrc
添加如下内容:{ "presets": [ "env", "react", "stage-2" ]}
安装react
— npm install –save react react-dom
可以添加简单的测试代码,来测试是否成功import React from ‘react’;
import ReactDOM from ‘react-dom’;
const title = ‘My Minimal React Webpack Babel Setup’;
ReactDOM.render(<div>{title}</div>, document.getElementById('app')
);
安装 react-hot-loader
— npm install –save-dev react-hot-loader
然后改变webpack.config.js文件如下所示:
- 在index.js 文件末尾添加 module.hot.accept();
然后 npm start 运行程序!成功!接下来可以做想做的事情了~
关于css的position
今天重新看了一下关于css的position布局,MDN受益良多。
position粗略地来说分为五种布局:static, relative, absuolate , fixed(类似于absulate), sticky,其中比较不常用的就是sticky布局(粘性布局),因为兼容性的问题,所以现在浏览器对他的兼容性不是很好。
- static布局 贯穿于文档流中,其中top, right, bottom, legt 和z-index属性对其无效,static布局是默认的布局
- relative布局 组件仍然在文档流中中,它的位置是相对于他自身值的top, right, bottom ,left的。 这种偏移量不会影响其他组件的位置。再在不改变页面布局的前提下调整元素位置。position:relative 对 table-*-group, table-row, table-column, table-cell, table-caption 元素无效。
- absolute布局 不为元素预留空间,通过指定元素相对于非static定位祖先元素的偏移来确定位置。可以设置margin(外边距),并且不会与其他外边距合并。
- fixed 布局 不为元素预留空间,通过指定元素与屏幕窗口的位置来指定元素位置。元素在屏幕滚动时会保持位置不变。打印时,元素会出现在每页固定的地方。
- sticky布局 根据正常流计算盒位置,然后相对于该元素在流中的flowroot和containing block定位。
读你不知道的js
title: 读你不知道的javascript
date: 2018-03-21 19:25:13
tags:你不知道的javascript
今天重读《你不知道的javascript》这本书,真是受益良多。在此记录一下。
- 作用域:作用域就是用来查找变量的一个规则。RHS, LHS 变量引用(右查找)和变量查找(左查找)
变量引用 即是从右向左开始查找 赋值操作的源头,如果没有找到,则会报;变量查找即是从左向右查找,赋值操作的目标,如果当前作用域没有找到,外层作用域也没找到,所有作用域都没找到,则全局作用域中就会创建一个此名称的变量(在严格模式下不可以创建的~) - 词法作用域 词法作用域定义在词法阶段的作用域 即在写代码时变量和作用域写在哪里 。不管函数在哪里被调用,如何被调用,它的词法作用域只由函数声明时所处位置决定。
- 函数作用域 属于这个函数的作用域的全部变量都可以在整个函数的范围内使用及复用。可以通过在函数中 声明函数来隐藏内部实现(闭包就是这样的,函数内部 隐藏了变量和函数)函数声明和函数表达式之间最重要的区别就是它们的名称标识符将绑定在何处
- 块作用域 只在块中起作用的变量 try/catch函数,ES6中的let,完美解决了块作用域
- 提升 (先有鸡还是先有蛋的问题) 声明(蛋) 赋值(鸡) 到底谁在前?? 包括变量和函数在内的所有声明都会在任何代码执行前被处理,也就是说,现有(蛋)本来按照正常流程时这样处理
其实实际是这样处理的 这个过程好像变量和函数声明从它们在代码中出现的位置被“移动”到了最上面,这个过程就是提升。 但是函数声明和变量虽然都会被提升,但是函数提升会在变量提升的前面。如下所示,foo()输出为1,因为foo()的提升,而且会覆盖重复声明: - 闭包 理解闭包首先要了解的是变量提升,作用域的概念。闭包即是函数中变量的隐藏,把引用内部变量的函数当作函数返回。在平时的工作过程中其实已经不经意间使用了很多闭包了,例如setTimeInterval()函数,还有就是jQuery中的函数对事件的响应。这次再读你不知道的js 结合ES6,对闭包有了进一步的了解,困惑了很久的问题终于在今天得以解决。
KeepSoft3D使用手册
引言
- 系统概述
基于WebGL开源库cesium,结合前端react框架,redux消息管理机制,编写的一套可以加载并展示矢量数据,三维倾斜摄影场景数据,模型数据的系统。cesium和react的结合降低了组件之间耦合度,提高了组件复用率,为管理和重构软件提供了便利。大大提高了便携程度,减少了软件开发周期,降低了人力成本,打造了酷炫的三维渲染效果。 - 编写目的
本手册为使用本系统人员服务,详细说明每一个功能用途及使用方法。 - 使用范围
仅限于本系统开发人员和使用人员,解释权归开发人员所有。 - 运行环境
硬件环境:适用于PC端现代浏览器和移动端现代浏览器。
软件环境:适用于PC端 Windows及Mac系统,移动端android和ios系统。
- 系统概述
主界面
本产品分为两大部分,一部分为显示三维球体的显示界面,占整个屏幕的大部分。另一部分为操作按钮部分,占屏幕小部分。操作按钮部分又分为四大模块:顶部菜单模块,图层菜单模块,操作手柄和底部显示。pc端如下图所示: 移动端如下图所示:功能介绍
3.1 顶部菜单
顶部菜单主要功能是控制图层的显示,加载图层的选择,二维和三维之间的切换。
- 3.1.1 图层管理
点击数据菜单按钮,弹出左侧图层管理,单击箭头,左侧图层管理消失。 - 3.1.1.1 图层控制
图层管理包含图层的加载,移除,缩放至项目范围区,改变图层透明度。图层管理如下图所示:- 点击全部移除则添加的图层被全部移除
- 点击图层范围,则定位到该图层范围
- 拖动滑动条,改变图层的透明度
3.1.1.2 数据加载
- 点击添加图层,弹出图层列表,如下图所示:
- 点击想要加载的图层类型,点击加号加载图层至三维球
3.1.2 图层菜单
点击图层按钮 弹出加载不同维度图层栏,再次点击图层按钮,图层加载栏消失。如下图所示:
点击图层菜单出现不同维度影像加载列表。不同维度图层加载包括二维影像,三维影像和2.5D影像。点击不同的维度,对应出现不同维度的影像,右边的操作柄也随之变动。点击2.5D和2D指北针消失,点击3D指北针出现。- 3.2 操作手柄
右侧操作柄功能是控制三维地球放大,缩小,旋转,复位。如下图所示:- 3.2.1
- 3.2.1.1 指北针
鼠标拖动指北针旋转三维球一同旋转 - 3.2.1.2 缩放
- 点击加号地球放大
- 点击减号地球缩小
- 点击加号和减号二者中间符号复位
- 3.2.1.1 指北针
- 3.2.1
- 3.3 底部显示
- 3.3.1 经纬度实时显示
随着鼠标在三维球上滑动,获取实时的经纬度显示在右下角。如图所示:
- 3.3.1 经纬度实时显示