自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 资源 (4)
  • 收藏
  • 关注

原创 JS变量提升及作用域

一、什么是提升?JS引擎会在JS代码执行前先进行预编译,预编译期间会将变量声明与函数声明提升至其对应作用域的最顶端。二、变量提升ES6之前我们一般使用var来声明变量,变量提升简单来说就是把我们所写的类似于var str= 'test';这样的代码,声明提升到它所在作用域的顶端去执行,到我们代码所在的位置来赋值。function test() { console.log(str); // 会输出 undefined var str = 'test'...

2021-10-19 16:39:36 198

原创 前端学习日记(一)——浅谈JS中的基本类型和引用类型

值类型:字符串(string)、数值(number)、布尔值(boolean)、undefined、null、symbol(es6)引用类型:对象(Object)、数组(Array)、函数(Function)

2021-10-19 14:23:37 330

原创 前端常用静态工具方法(持续更新)

/** * 加载远程 script */function getScript(url, callback) { const script = document.createElement('script'); script.src = url; script.async = 'async'; if (callback) { script.onload = callback; } document.head.appendChild(scr.

2021-09-30 15:29:24 191

原创 如何判断链表是否有环

给定一个单链表,判断其中是否有环,已经是一个比较老同时也是比较经典的问题,在网上搜集了一些资料,然后总结一下大概可以涉及到的问题,以及相应的解法。首先,关于单链表中的环,一般可能涉及到以下几个问题:  1、给一个单链表,判断其中是否有环的存在;  2、如果存在环,找出环的入口点;  3、计算环的长度;下面,我将针对上面这几个问题一一给出解释。1、判断时候有环(链表头指针为head)  对于这个问题我们可以采用 “快慢指针” 的方法。就是有两个指针 fast 和 slow,开始

2021-09-30 15:28:19 9781 2

原创 配置drone+docker+gogs+nodejs项目自动发布

最近学习了一下自动化部署相关的技术,记录一下自己的学习历程。去年的时候腾讯云服务器搞活动,于是购买了一台云服务器用于学习。自己毕业后在第一家公司工作时,一直感觉项目上线是一件很头疼的事情,当时是采用pm2+nodejs的方式,项目上线就是登录到服务器上,手动替换js文件,然后用pm2重启进程。由于当时部门之间分工不明确,我作为开发有时候也要负责项目上线,经常每天晚上11点在家加班,那时候感觉还是挺痛苦的,于是感觉自动化部署是很有必要的。自己学习的时候,也是锁定了两款自动化部署工具:jenkins、d

2021-09-30 15:19:53 1920

原创 求全排列和组合(JS)

/** * 全排列 */function allSort(arr, start, end) { if (start > end) { // 做一些想要的操作 console.log(arr); } else { for (let i = start; i <= end; i++) { swap(arr, i, start); allSort(arr, start + 1, end); swap(arr, i, sta.

2021-09-30 14:35:13 63

原创 Node学习总结——网络计算机篇

1、谈谈对进程和线程的理解?答:概括:进程和线程都是一个时间段的描述,是CPU工作时间段的描述。首先CPU + RAM + 各种资源(比如显卡,光驱,键盘,GPS, 等等外设)构成我们的电脑,电脑的运行,实际就是CPU和相关寄存器以及RAM之间的事情。CPU太快了,当多个任务要执行的时候,在CPU看来就是轮流着来的。执行一段程序代码,当得到CPU的时候,相关的资源必须也已经就位,就是显卡啊,GPS啊什么的必须就位,然后CPU开始执行。这里除了CPU以外所有的就构成了程序上下文。当这个程序执行完了

2020-07-28 16:50:58 278

原创 Node学习总结-基础篇

1、谈谈js中的变量类型有哪些?答:值类型:字符串(string)、数值(number)、布尔值(boolean)、undefined、null、symbol(es6)引用类型:对象(Object)、数组(Array)、函数(Function)2、谈谈null和undefined的区别?答:null是一个表示 "无" 的对象,转为数值时为 0;undefined是一个表示 "无" 的原始值,转为数值时为NaN。3、谈谈值类型和引用类型的区别?答:值类型:1、占用空间固定,保存在栈

2020-07-28 11:02:05 309

原创 Linux 后端(node)基本环境安装

linux作为服务器的优点: 1、稳定性 2、性能 3、易用性 4、网络性能、安全性、可管理性 5、网络兼容性 6、用户和系统管理能力购买阿里云服务器之后,重置实例密码,之后需要重启服务器,用root+密码进程登陆。(远程登陆密码和实例密码不是一个密码,区分清)查看系统cpu信息:cat /proc/cpuinfo发现proc文件夹有很多关于系统配置的文件用户管理: 用户密码的配置文件有两个:/etc/passwd 和 /etc/shad...

2020-06-22 14:36:41 498

原创 mysql优化sql方法

1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。  2.应尽量避免在 where 子句中使用 != 或 <> 操作符,否则引擎将放弃使用索引而进行全表扫描。  3.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:   select id ...

2019-07-19 13:54:04 113

原创 JS版本 冒泡排序,快速排序

/** * 冒泡排序 */function bubbleSort(arr) { var didswap; for (var i = 0; i < arr.length - 1; i++) { didswap = false; for (var j = 0; j < arr.length - 1 - i; j++) { if (arr[j]...

2019-06-10 15:41:51 106

原创 event loop核心代码(libuv)

int uv_run(uv_loop_t * loop, uv_run_mode mode) { int timeout; int r; int ran_pending; // 从uv__loop_alive中我们知道event loop继续的条件是以下三者之一: // 1,有活跃的handles(libuv定义handle就是一些long-lived objects,例...

2019-05-27 19:17:55 430

原创 mysql建表注意事项

1、库名、表名、字段名全部使用小写字母,用'_'下划线分割,且名字长度不超过12,做到见名知意。2、建议使用Inoodb存储引擎。 1. 是否要支持事务,如果要请选择innodb,如果不需要可以考虑MyISAM; 2. 如果表中绝大多数都只是读查询,可以考虑MyISAM,如果既有读写也挺频繁,请使用InnoDB。 3. 系统奔溃后,MyISAM恢复起来更困难,能否接受...

2019-05-23 15:52:01 1809

原创 随机生成万分测试数据

DROP TABLE IF EXISTS `vote_record_memory`;CREATE TABLE `vote_record_memory` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `user_id` varchar(20) NOT NULL DEFAULT '', `vote_num` int(10) ...

2018-12-26 11:05:48 384

原创 解决mysql连接不成功问题

service mysqld stop/usr/bin/mysqld_safe --skip-grant-tables再开一个终端mysql -u rootuse mysql;select * from user;desc user;插入自己想的用户名和密码:insert into user(host,user,password) values('%', 'root', pass...

2018-12-26 11:04:33 4876

原创 Linux做服务器的优点

1、稳定性2、性能3、易用性4、网络性能、安全性、可管理性5、网络兼容性6、用户和系统管理能力

2018-12-26 11:03:40 2433

原创 js——原型链

最近学习了一下js的原型链,以前只是直接new对象,并不理解其中的原理,我先是编写了如下代码:var a = {};console.log(a);可以看到我是新建了一个普通对象a,然后我打开了程序调试,准备看一看a对象的具体构造。可以发现普通对象中,有一个constructor和_proto_属性。其中constructor是一个function object对象,也称函数对象...

2018-08-06 18:04:10 159

转载 TCP/IP基本概念

为什么会有TCP/IP协议?在世界上各地,各种各样的电脑运行着各自不同的操作系统为大家服务,这些电脑在表达同一种信息的时候所使用的方法是千差万别。就好像圣经中上帝打乱了各地人的口音,让他们无法合作一样。计算机使用者意识到,计算机只是单兵作战并不会发挥太大的作用。只有把它们联合起来,电脑才会发挥出它最大的潜力。于是人们就想方设法的用电线把电脑连接到了一起。但是简单的连到一起是远远不够的,就好...

2018-08-02 16:16:03 177

原创 数据结构 栈 的应用——计算

本篇博客仅仅写我所认识到的栈的一个应用,如果有错请评论处给我指出,不胜感激。首先,计算机在进行数字计算的时候,它是直接计算一个比较复杂的式子的,比如:                                                                                          9+(3-2)*2+13这种表达式,如果我们自己算当然很简...

2018-08-01 15:06:08 226

原创 数组二分查找 javascript实现

let arr = [0, 1, 2, 4, 5, 6, 7, 8];BinarySearch(arr, 2);function BinarySearch(arr, target) { // 定义变量 let start = 0; let end = arr.length - 1; let mid = Math.floor((start + end) / 2); ...

2018-08-01 15:05:55 401

原创 Node系统模块——fs

    Node里有一个名词,叫做“模块”,英文叫做module。主要分为系统模块和自定义模块,自定义模块就涉及到npm了,以后再说这个工具。今天主要介绍一下系统模块里面,用来操作文件的module——fs。    Node有一个函数叫做require,它就是帮助你来引入模块的,具体使用以fs来举例子:const fs = require('fs');    fs有很多方法,最主要的是两个方法:r...

2018-07-04 17:42:39 268

原创 NodeJs入门helloworld

上一期介绍了NodeJs的优点,这一期准备用Node写一个Helloworld,这也是学习每一门编程语言或者工具的第一步。首先,可以登录NodeJs的官网(https://nodejs.org/en/)去下载Node,一般选择LTS版本,我理解为是稳定版,右面的Curret相当于开发版。安装的过程很简单,选择好安装路径一直Next就可以了。Node安装完成之后,电脑不会有什么明显的变化,其实变化是...

2018-07-03 23:26:53 441

原创 关于Nodejs的单线程、异步IO与事件驱动的理解

        首先,nodejs如今越来越火,我记得有人做过实验,用node和php来做了性能对比(都是做后台的),答案是node是php性能的86倍!        nodejs最大的特点就是单线程、异步IO、事件驱动。(单线程是因为JS引擎中只有一个线程去解析和执行javascript代码,即主线程)        从接触编程之后,我遇到最震撼的也是最难学就是多线程编程,我在想只有多线程编程...

2018-07-03 11:15:32 1225

原创 安装Word2010时,出现需下载msxml的解决方法

https://jingyan.baidu.com/article/1709ad8077c8b04634c4f012.html

2017-10-20 09:30:38 1277

原创 求全排列和组合(JAVA)

allSort()是很常用的一个函数,是用来求全排列的,学算法之前根本不知道。 //int[] a = { 1, 2, 3, 4, 5, 6, 7, 8, 9 }; allSort (a, 0, a.length - 1); Public static void allSort (int[] a, intstart, int end) { i

2016-05-18 09:36:23 772

原创 模拟最短路径寻路(JAVA界面)

大二的时候,数据结构老师留的第二个作业,总的来说收获很大,其中包含了bfs和Dijkstra。首先是Map类:package hjc;public class Map { final static int[][] MyMap = { { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1

2016-05-16 12:25:15 2907

原创 各种sort算法的区别比较

1 快速排序(QuickSort)快速排序是一个就地排序,分而治之,大规模递归的算法。从本质上来说,它是归并排序的就地版本。快速排序可以由下面四步组成。(1) 如果不多于1个数据,直接返回。(2) 一般选择序列最左边的值作为支点数据。(3) 将序列分成2部分,一部分都大于支点数据,另外一部分都小于支点数据。(4) 对两边利用递归排序数列。快速排序比大

2016-05-16 11:57:26 515

koa-server.zip

nodejs基于koa的服务端demo,添加了mysql和redis操作工具脚本,每个请求添加restId,可以用pm2来启动直接用于工作中小型服务。

2020-07-28

Android五子棋(单机)

安卓五子棋,只是单机版本,加入了一个简单的AI,欢迎下载

2017-04-11

Android一个都不能死

简单的小游戏一个都不能死,欢迎下载!

2017-04-06

刚学编程时的一些小case(非常小)

银行家算法、哈夫曼树、方格地图寻路、操作系统、飞机游戏共5个小case。

2017-04-03

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除