代码优化

用 vue 进行前端开发,怎么做到函数式编程呢?

每次做完项目,都会发现自己在代码的解耦,接口的封装方面做的还不够,后期必定会多次进行优化,在优化的过程中,就想到,如何把零散的代码,编程整体性更强的代码,使人一看到就知道手脚在哪里。在这里我的总结是,按功能点进行函数的封装,一个大点是一个函数,这个大点里面又有很多小点,可以把函数赋值给变量,进行使用,这样就不用每次都跳来跳去了,维护起来也更方便快捷。

阅读全文

时间戳转日期

Demo

function timeStampFormat(x) {
const date = new Date(+x * 1000);
const [m, d] = [date.getMonth() + 1, date.getDate()];
return `${m}-${d}`;
}
const day = timeStampFormat(1560751917);
console.log(day);

阅读全文

CSS3 动画 vs Js 动画

之前被问到过,css3 动画与 js 动画孰优孰劣,脑袋的第一反应就是性能上肯定 css3 动画会好很多,但别人说不对,我就在想,不对?难道还有别的原因吗?答案是肯定的。先来看看二者实现动画的原理吧。

阅读全文

滚动翻页

一、 功能描述

有一个 list,长度不确定,显示区域只能容纳四条数据,往下滚动显示当前四条数据的前四条,往下滚动则显示当前数据的后四条。除了滚动切换数据之外,还能通过上下翻页键切换数据,切换数据的交互需要跟滚动效果一样。

阅读全文

日语学习笔记

一、日语关于介绍的基本句型

  1. n + は + n + です ……是……

阅读全文

KNN算法

KNN 算法是做什么的

KNN 算法, 即 K 最邻近算法,通过对比与临近事物的相似度,可以对具有特征的事物进行分类,也可以根据这些分类,预测下一步的结果。

阅读全文

Table-Cell等分

table 里面的元素等分,是经常遇到的需求,一般都会想所有宽度设为相同的应该就等分了,但是然并卵,今天就遇到了这种坑,就算设了宽度一致,还是没有等分,场景是这样的,一个 tr 里面第一个 th 的宽度跟其他不一样,table 宽度为 100%,最后实现等分的方法如下:

阅读全文

Linux后台执行脚本

最近在弄自己的 OA 系统,需要把 api 处理脚本部署到 linux 服务器上,在配置好环境,在服务器上成功运行代码后,发现一个问题,当我退出命令窗口时,程序就没在执行了,这没有达到永久可以连接 api 的目的,google 了一下之后,了解到要让程序永久运行,可以让程序在后台执行,主要的方法有 nohub、screen、开机启动等,其中 nohub 在关闭命令窗口之时,会关掉程序,去除,开机启动要修改系统配置,个人不太喜欢用这种方法,剩下 screen 了,它是可以让不同的程序在不同的命令窗口中执行,有屏幕分离的模式,会给每个屏幕创建不同的进程,只要不杀死进程,即使离开当前命令窗口,也不会停止程序的运行,所以使用 screen 是最好的方案了。

阅读全文

拼音学习项目笔记

  1. 关于数据更新机制

    (1)v-if 关闭组件的时候,会销毁数据,可以用于实现返回父组件关闭音频等媒体,如果只是界面的开关的话,用 v-show 即可

    (2)离开子组件后,父组件所传递的数据需要清空,切记不要在网络请求里做清空操作,因为网络请求是有延迟的,一般放在打开子组件的事件里执行清空操作

阅读全文

分页算法

分页是一种比较常见的功能,分页的原理其实也很简单,首先要知道没有需要展示的项目数量 pageSize,然后还得知道当前所在的页数 currentPage, 设所有的 item 都在一个数组 array 里,每页需要展示 5 个 item,那么当 currentPage = 1 时,第一页要展示的所有 item 为 array.slice(0, 4), 第二页要展示的 item 为 array.slice(5, 9), 以此类推,那么第 n(n >= 0) 页需要展示的 item 应该为:array.slice(5n, 5n+4),推而广之,基本数字的分页公式就出来了:

阅读全文