- 文章
- 基于后缀算术表达式的代码解析
- 基于AST的算数表达式解析
- Vscode Java 环境配置
- 纯前端实现图片的模板匹配
- 测试用例管理工具Luckyframe安装
- Vscode远程开发,本地翻墙神器
- 记前端手写方法
- Node 2020年新增功能
- yum-404-error
- react16特性:fiber reconciler解密
- cmd终端设置代理
- 前端面试题收集
- git子模块
- 算法-排序
- linux安装python-pyenv环境
- 开发人员良心工具
- 斐波拉契数列js实现
- 数组ArrayFlatten
- Docker安装部署taiga项目
- 极光推送RN集成
- docker-pm2发布node服务
- git-pull获取指定文件
- git获取第一次commit提交记录
- ReactNative项目选型设计
- Docker-Mysql8.0安装及初始化配置
- DDA算法
- ubuntu搭建shadowsocks服务
- React-Native 接入百度统计SDK
- docker-使用yum安装
- 前端入门篇
- CodePush尝试
- Markdown数学公式
- Mongoose踩坑路
- linux系统nvm指定版本安装
- linux安装nginx
- Vscode-Threejs代码智能提示
- linux常用命令
- 说明
「共计 38 篇文章」
-
三月 2021
-
三月 18, 2021基于后缀算术表达式的代码解析
引子最近在设计一个数据字段的运算表达式控件,具体不废话,可以参看下面的动画截图: 截图里有一个表格内容数据(是程序运行时从其他外部网页抓取的数据),而我需要根据表格的属性字段去做对应的算术运算,如(加减乘除)或者(一些函数命令) 然后则根据表达式解析计算出对应的结果,需求就是这样的。 思路具体实现借用了 入栈的想法,将字符串分割出对应的运算符、值、函数表达式,我这里使用了mapping关系来...
-
一月 2021
-
一月 08, 2021基于AST的算数表达式解析
前序之前在另一篇文章中<<基于后缀算术表达式的代码解析>>已经实现过简单的(1 + 3 - 5 / 54 * 2)等算术的运算,但是代码逻辑实现满足不了更多场景,如 对数据的赋值:a = b + c 逻辑判断: a == b or a != b 与或非: a && c or a || c 所以为了更好的解决一些场景,这里使用AST(抽象语法树)...
-
五月 2020
-
五月 04, 2020Vscode Java 环境配置
准备工作 java jdk1.8 安装配置 mvn 安装配置 以上较为普通,随便网上搜下安装包,配置下环境变量即可 VSCode 插件安装1、Language Support for Java(TM) by Red Hat2、Java Test Runner3、Debugger for Java4、Maven for Java5、Java Extension Pack 配置vscode...
-
四月 2020
-
四月 25, 2020纯前端实现图片的模板匹配
基础介绍模板匹配是指在当前图像A里寻找与图像B最相似的部分,本文中将图像A称为模板图像,将图像B称为搜索匹配图像。 引言:一般在Opencv里实现此种功能非常方便:直接调用result = cv2.matchTemplate(templ, search, method) templ 为原始图像 search 为搜索匹配图像,它的尺寸必须小于或等于原始图像 method 表示匹配方式 me...
-
四月 12, 2020测试用例管理工具Luckyframe安装
安装环境运行测试环境:linux 所需软件: JDK(建议8以上版本):具体安装以及环境变量配置请自行百度,强烈推荐JDK 1.8.0_121版本。 Mysql(建议5.7以上版本): 具体安装以及环境变量配置请自行百度,非常简单。(可以使用docker进行安装) Maven. 数据库配置这里使用docker配置的mysql服务,启动mysql servicedocker run -...
-
十二月 2019
-
十二月 15, 2019Vscode远程开发,本地翻墙神器
Vscode Web Online随着微软Vscode Online发布,自己开始慢慢滑步跟随着Remote Develop 的步伐,亲身试验了以下Online的功能,不得不说,让人大吃一惊。微软一直都很硬 首先 我们要使用Vscode Online 需要注册一个Azure账号,赶紧哦,现在Online刚上线,Azure注册后,可免费使用其中Azure1年的服务,友情提示:需信用卡才能注册...
-
十二月 11, 2019记前端手写方法
call、apply、bind 实现 call、apply、bind 本质都是改变 this 的指向,不同点 call、aplly 是直接调用函数,bind 是返回一个新的函数。call 跟 aplly 就只有参数上不同。 bind 实现 箭头函数的 this 永远指向它所在的作用域 函数作为构造函数用 new 关键字调用时,不应该改变其 this 指向,因为 new 绑定 的优先级高于 ...
-
十二月 08, 2019Node 2020年新增功能
在2019年,Node.js成立10周年了,可用的软件包数量npm超过了100万。Node.js本身的下载量继续增长,同比增长40%。另一个重要的里程碑是Node.js最近加入了OpenJS基金会,该基金会承诺改善项目的健康状况和可持续性,并改善与整个JavaScript社区的协作。如您所见,在相对较短的时间内发生了很多事情!每年Node.js社区蓬勃发展,到2020年没有放缓的迹象。No...
-
七月 2019
-
七月 15, 2019yum-404-error
最近在CentOS 6.6 x64操作系统下使用yum时会报如图-1所示的404错误: 报错信息failure: repodata/f35d0029ad59e9fca0823be708150f5ee28ee1707cdc9bdaf420da676daafe28-filelists.sqlite.bz2 from base: [Errno 256] No more mirrors to try...
-
五月 2019
-
五月 06, 2019react16特性:fiber reconciler解密
前篇React是一款用于构建用户界面的库,React会跟踪组件内的状态变化并将这些变化反应到页面上,当我们使用setState方法,React会检测组件的状态及属性是否改变,从而重新渲染组件到界面上,这种机制被称为reconciliation(协调)。 对此机制,React对其中关键要素给出了高度的概括,涉及到:React元素、生命周期函数、render方法、以及判断组件变化的Diff算法。...
-
四月 2019
-
四月 25, 2019cmd终端设置代理
设置代理 netsh winhttp set proxy www.zxyty.com:6550 取消代理 netsh winhttp reset proxy 查看代理 netsh winhttp show proxy set http_proxy=http://www.zxyty.com:6551
-
三月 2019
-
三月 25, 2019前端面试题收集
2019-03-20 自我介绍; react的生命周期; react第一次render了会干什么; react render后再获取新的数据进行渲染会执行怎么样的流程,画出来(diff?); es6的新特性有哪些; 让你架构react native项目的选型设计,你会考虑什么,怎么设计; react native怎么做性能优化; 热更新设计; web与原生端通信原理jsBridge; rea...
-
二月 2019
-
二月 23, 2019git子模块
有种情况我们经常会遇到:某个工作中的项目需要包含并使用另一个项目。 也许是第三方库,或者你独立开发的,用于多个父项目的库。 现在问题来了:你想要把它们当做两个独立的项目,同时又想在一个项目中使用另一个。 而一般当我们项目很大,有很多第三方或者公用的类库,我们需要在项目里引进时候,可以考虑使用git的子模块(submodule)进行管理,子模块允许你将一个 Git 仓库作为另一个 Git 仓库...
-
一月 2019
-
一月 06, 2019算法-排序
冒泡算法时间复杂度 $$ O(n^2) $$ 首先我们可以看下冒泡排序的一个过程,以视频为例: 即冒泡排序是:它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果他们的顺序(如从大到小、首字母从 A 到 Z)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素已经排序完成。 所以知道了冒泡排序的原理和排序流程,我们很容易就写出冒泡排序的算法:fu...
-
十二月 2018
-
十二月 23, 2018linux安装python-pyenv环境
1.安装git,用于获取安装包yum install git -y 2.安装python编译环境的依赖包yum -y install gcc make patch gdbm-devel openssl openssl-devel openssl-static sqlite-devel readline readline-devel readline-static zlib-devel bzi...
-
十二月 11, 2018开发人员良心工具
asciinema 一款终端命令行记录和回放软件点击访问 carbon 创建精美的代码图片,博客使用非常好用点击访问
-
十二月 08, 2018斐波拉契数列js实现
递归(这种方法容易造成浏览器假死) function fb1(n) { if (n <= 2) { return 1; } else { return fb1(n - 1) + fb1(n - 2); } } 尾调用优化 // 在方法1的递归方法基础上进行尾调用优化 function fb(...
-
十一月 2018
-
十一月 18, 2018数组ArrayFlatten
首先让我们思考一个这样的题目;假如有一个数组 var arr = [1, [2, 3, [4]]] ,我们怎么能把 arr 变成[1, 2, 3, 4]呢?即让多维数组降维,转换为只有一层的数组;如果用过 lodash 的话,我们知道 flatten 和 flattenDeep 方法都可以实现. flatten 用法:概念:可以理解为将嵌套数组的维数减少,flattened(平坦). 如果 ...
-
十一月 08, 2018Docker安装部署taiga项目
安装docker依赖docker pull postgres:laster docker pull ipedrazas/taiga-back docker pull ipedrazas/taiga-front 启用postgres 5433端口随意 我只是热衷而已。。。docker run -p 5433:5432 -d --name taiga-postgres postgres 这里的...
-
十一月 08, 2018极光推送RN集成
Android项目配置 settings.gradle 配置 include ':jcore-react-native' project(':jcore-react-native').projectDir = new File(rootProject.projectDir, '../node_modules/jcore-react-native/android') include ':...
-
九月 2018
-
九月 04, 2018docker-pm2发布node服务
1、第一步新建DockerfileFrom node RUN mkdir -p /home/IM_LTS WORKDIR /home/IM_LTS COPY . /home/IM_LTS RUN npm install EXPOSE 30001 CMD npm run start // 这里只能用CMD 不能用RUN 2、修改pm2为前台执行, 加上--no-daemon选项{...
-
九月 04, 2018git-pull获取指定文件
演示步骤:初始化git init 添加源git remote add origin ******** 配置sparsecheckout为truegit config core.sparsecheckout true 把要拉取的文件目录加入到.git/info/sparse-checkout文件中echo "lst" >> .git/info/sparse-ch...
-
八月 2018
-
八月 29, 2018git获取第一次commit提交记录
使用git,我们写代码会进行commit代码到仓库中,一个项目commit多了后,比如想看看最开始此项目是怎么搭建起来的,就可以追随到第一次提交的版本中,这时候需要找到第一次提交的commit hash id git rev-list --max-parents=0 HEAD 获取历史最早提交的commit id git log —reverse 使用历史日志 倒序输出 git log ...
-
八月 18, 2018ReactNative项目选型设计
React-Native项目架构设计路由(react-native-navigation wix v2)考虑: 适用性 简易性 可扩展性 性能稳定 文档可查 React Native Navigation Docs DeepLink 数据流(redux/dva) react-redux dva-core 数据状态持久化(redux-persist) whiteList blackL...
-
八月 15, 2018Docker-Mysql8.0安装及初始化配置
docker安装运行mysql docker search mysql docker pull mysql docker run --name mysql_demo -p 3306:3306 -e MYSQL_ROOT_PASSWORD=密码 -d mysql 配置mysql,进入到mysql的容器 docker exec -it mysql_demo /bin/bash mysql ...
-
八月 13, 2018DDA算法
直线段的扫面转换算法数学上,直线上的点有无穷多个。但当在计算机光栅显示器屏幕上表示这条直线时需要做一些处理 为了在光栅显示器上用这些 离散的像素点逼近这条直 线,需要知道这些像素点的 x,y坐标。求出过p0,p1的直线段方程:y = kx + b k = (y1 - y2) / (x1 - x2) // (x1 != x2) 假设x已知,即从x的起点x0开始 ,沿x方向前进一个像素(...
-
七月 2018
-
七月 23, 2018ubuntu搭建shadowsocks服务
安装软件$ apt-get install python-pip $ pip install shadowsocks 编写配置文件 服务端文件# config-server.json { "server": "43.225.***.***", // 你的服务器真实ip "server_port": 6550, // 服务器连接端口 "local_a...
-
七月 16, 2018React-Native 接入百度统计SDK
准备工作 申请百度账号; 登录百度统计 注册App应用,获取appkey 到我的报告里查看应用appkey 到这里你应该完成了ios和Android的appkey获取 IOS集成这里采用的手工集成sdk采用Cocoapods集成可以查看官网 Cocoapods集成 下载SDK 下载sdk后解压,将BaiduMobStat.h和libBaiduMobStat.a添加到ios...
-
七月 13, 2018docker-使用yum安装
测试安装环境 centos 6.5 失败 centos 7.0 失败 centos 7.2 失败 centos 7.5 成功 升级yum update -y 从国内镜像获取yum repo推荐使用清华大学开源软件镜像站 下载repo 到 /etc/yum.repos.d/wget https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/c...
-
六月 2018
-
六月 08, 2018前端入门篇
小记. 不记得当初为什么要学前端,大概是脑袋抽风了吧😄. 回顾当初,第一次写前端是在大一下学期,那时候只会写c语言的时候(不要以为太会). 那是因为学校一些技术团队要进行招新,而自己也目测好了一个团队,想进去混混吧. 而这个团队主要是做网站的,我们学校的计算机科学学院的官网就是这个团队做的,想想应该比较牛🐂吧. 所以进团队的面试的时候,问我想学啥子,我就没思考的回答了:“做得出来官网就可...
-
六月 06, 2018CodePush尝试
1、热更新技术 采用微软code-push技术方案1.1 react-native 实践步骤 安装code-push服务 npm install -g code-push-cli 注册code-push账号 1、运行cmd 输入 code-push register 2、会自动弹出注册地址 3、选择使用github账号来关联注册 4、注册好以后 网站后返回一个key 复制好后即可登录使用co...
-
四月 2018
-
四月 23, 2018Markdown数学公式
公式 写法 结果 分数,平方 $$\frac{7x+5}{1+y^2}$$ $$\frac{7x+5}{1+y^2}$$ 上标 $$ x^2 $$ $$ x^2 $$ 下标 $$ x_2 $$ $$ x_2 $$ 大括号 $$ \lbrace a+x \rbrace $$ $$ \lbrace a+x \rbrace $$ 尖括号 $$ \langle x...
-
三月 2018
-
三月 21, 2018Mongoose踩坑路
错误 1: Unknown modifier: $pushAll 报以上错误信息一般是因为 model 里面对应的某个字段xxx是数组,然后在使用xxx.push的时候,就会出现这个错误比如有以下 model: const xxxSchema = new mongoose.Schema( { xxx: [ { name: S...
-
二月 2018
-
二月 23, 2018linux安装nginx
前篇安装准备环境 nginx的编译需要c++,同时prce(重定向支持)和openssl(https支持)也需要安装。 # 请顺序安装依赖 yum install gcc-c++ yum -y install pcre* yum -y install openssl* 下载需要安装的nginx版本 到http://nginx.org/download/选择对应的版本进行下载...
-
二月 23, 2018linux系统nvm指定版本安装
直接获取当前已存在的nvm版本选择你想要安装的nvm版本 可以从nvm_github_release中找到最新的版本号, 如下: 这里查找到最新版本为0.34.0,然后执行命令 curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.34.0/install.sh | bash 最后导出环境变量source ~/.bashrc...
-
二月 02, 2018Vscode-Threejs代码智能提示
在vscode里要进行智能提示,其实很简单,只有引入ts的申明文件就行,这里以threejs为例: 使用npm安装@type/three npm i @type/three 再建一个jsconfig.json的空文件在/项目目录下安装完了ts以后会出现如图所示的目录结构:最后就可以愉快的使用申明文件里的语法提示了 靠外置的声明文件也不靠谱,要不是更新不及时,要不就是写的不对,要不就是各...
-
十二月 2017
-
十二月 23, 2017linux常用命令
1.终端提示颜色Linux环境中PS1环境变量是用来格式终端提示符信息的,设置不同的字符,可以显示不同的效果echo $PS1 # 输出 [\u@\h \W]$ # 设置颜色 PS1="\e[33;45m[\u@\h \W]$ \e[0m" 但是这样只有当前shell环境有效,为了能够一直有效,所以在~/.bash_profile文件中导出环境变量vi ~/.bash_profile # ...
-
七月 2017
-
七月 31, 2017说明
感激: 大学毕业,工作以来,人生都在慢慢发生变化,未变的是当初那颗赤忱的心; 喜欢技术,喜欢coding,喜欢分享,喜欢卓越,喜欢挑战,喜欢极客; 折腾、捣鼓、bug一丢丢 😫 I need Av; ... 仅以此来感谢这些日子来的努力💪 return zxy;