自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(81)
  • 资源 (1)
  • 收藏
  • 关注

原创 现代 js 使用笔记(es6 之后)

目录历史包袱向前看Array.prototype.includes()指数运算符async/awaitObject.values()Object.entrys()String.prototype.padStart() & String.prototype.padEnd()Object.getOwnPropertyDescriptors()SharedArrayBuffer & Atomicsfor awaitPromise.prototype.finally()正则表达式之“对捕获组命名”

2021-05-04 16:48:00 408 2

转载 tip

摘自app编程助手(android)里一篇文章的一段文字

2017-08-25 15:34:41 290

原创 皮皮仔!在 vscode 里操作数据库~

皮皮仔 PPZ,帮助你在 vscode 里操作数据库!

2022-06-30 10:02:33 2155 3

原创 关于 js 的原型链

面试时,经常有这个问题:如何理解原型链原型与原型链先看这样一段代码:let obj = {}obj.__proto__.haha = 'gogo'console.log(obj.haha) // "gogo"运行一下上面的代码,输出结果为 gogo有几个疑问:obj 哪来的 __proto__属性?为什么添加到 __proto__上的属性,可以直接通过 obj 拿到?第一个问题js 中每个对象都有一个“原型”原型一般可以通过 __proto__访问到let obj =

2021-09-28 12:43:40 295 1

原创 三明治代码

三明治代码是代码复用的一种方案,或者一种思路问题的产生假如,现有一个需求,“去超市买一瓶矿泉水”,代码可能像这样:走近超市在入口处,检测体温(新冠啊,新冠!)进入购物区去找到一瓶矿泉水,并放到购物车里去收银台接算走出超市过了几天,来了新需求,“去超市买一袋薯片”那么把上面的代码,复制、粘贴,再把第 4 步改一下,就可以直接用了那么,这时候,就产生了重复代码小试牛刀这个很容易解决:封装个函数嘛,把要买的东西作为参数,传进去function 去超市买东西(要买的东西) {

2021-08-27 17:04:33 444 2

原创 一行代码实现网站“暗模式”

参考文章 Dark Mode in One Line of Code!本文不是翻译,也不是转载,而是用自己的语言表达上面文章想表达的东西。本来想设置成“转载”或“翻译”文章,但并没有途径获取原作者的授权。但毕竟是拾人牙慧,惭愧惭愧我是不喜欢这样的标题的,除非内容真如标题所说。是的,只需要这一行代码,就可以让你的网站变成“暗模式”:document.querySelector('html').style.filter = 'invert(1)'你可以按 F12打开开发者工具,然后切换到 控制台/

2021-08-06 10:17:09 278

翻译 html技巧

超文本(Hypertext)标记(Markup)语言(Language) (HTML)是为文档在浏览器中展示而设计的标准标签语言。可以使用 css 和 js 来协助它(完成更多功能)。

2021-06-22 15:57:38 69

原创 MySQL8 使用笔记

链接文档install on linux初始用户/etc/mysql/debian.cnf里有默认的管理员账户debian-sys-maint******创建用户create database tablename character set utf8 collate utf8_bin;create user username@localhost identified by 'password';grant all privileges on tablename.* to user

2021-04-26 11:59:14 67

原创 给 setTimeout、setInterval 配备 await 写法

setTimeout、setInterval 是两个常用的异步函数。但作为异步函数,他们不支持 Promise或者 async/await写法。代码写起来:setTimeout(() => { console.log('执行一些操作') setTimeout(() => { console.log('执行另一些操作') // setTimeout ... }, 3000)}, 1000)不好看!尽管经过简单的封装,可以达到目的,但每次用到都封装一次——重

2021-04-23 10:36:58 3087 1

原创 关于设计模式

技术理论和技术实践,对程序员来说,是两个非常重要的指标。是面试时重要的两方面,是定工资时重要的参考依据。如果说“某人有十年 xx 开发经验”,这是在说技术实践——经验丰富如果说“某人精通设计模式、算法、xx语言……”,这是在说技术理论——基础牢靠如果只注重实践,往往沦为十年码农;而只强调理论,就显得纸上谈兵。应该均衡。设计模式的目的“算法”的目的很明显:提高运行效率,或减少运行时间,或减少运行空间。但仔细想想设计模式是干嘛用的?使你的代码更易维护、易拓展、好看在敏捷开发已经成为主

2021-04-02 17:58:51 93 2

原创 数量

(本篇假定“进化论”是合理的)人类从猴进化为人,是一个很漫长的过程,没有一个精确的从猴到人的时间点也就是说,我们找不到这样一个时间点:在这个点之前,没有人类,只有猴和其他生物;在这个点之后,有了人我们找不到,不是因为没有史书记载,或者找不到当事人(或“当事猴”)来问而是因为,这个点根本不存在从猴到人,是一个过程在这个过程中,有一个人(或者猴,以下称为“人”),采集野果为食。他每天都采集一些果子。那时候,人很少,大地很大,天空很高。有时候,他在回到家之前就把果子吃完了;有时候,他回到家,还.

2021-03-25 17:22:58 103

原创 如何理解 0.1+0.2

0.1 + 0.2 = 0.3这是很多人都知道的事,但是,你的程序往往告诉你:0.1 + 0.2 = 0.30000000000000004不信你试试那么,为什么?你应该知道,十进制的 2,用二进制表示就是 10 这也是计算机存储 2 的方式 也就是我们需要两个“位”:一个位存 1,另一个存 0 用两个“位”,可以存四个数字,他们是:00(十进制的 0)01(十进制的 1)10(十进制的 2)11(十进制的 3)我们买的 u 盘,经常说,是“2G 的”、“8G的.

2021-03-15 16:22:06 3762 12

原创 韩非说难

凡说之难,非知之难非辩之难,非敢之难在知之心,以说当之所说于名,说以厚利见下遇卑,必弃远矣所说于利,说以名高则见无心,必不收矣阴为厚利,显为名高说以名高,阳收实疏说以厚利,阴用显弃不可不察事以密成,语以泄败未必身泄,语及所匿,如此身危显有出事,乃以成他不徒知出,又知所以,如此身危规异而当,知揣而得事泄于外,必以为己,如此身危周泽未渥,而语极知有功德忘,有败见疑,如此身危贵人有过,言义挑过,如此身危贵人有得,说者与知,如此身危与论大人,以为间己与论细人,以为卖重论

2021-03-14 00:19:11 195 1

原创 nginx极简教程(安装、静态文件服务器)

是什么笼统来说,“nginx 是一个服务器程序”,它可以:托管静态文件反向代理负载均衡……nginx 的功能太多了,本篇只介绍 nginx 作为静态文件服务器程序时的用法什么是静态文件服务器?比如你有一些 html、css、js 文件,你想用这些文件“构成一个网站”,那么此时,你就需要一个“静态文件服务器程序”另一个角度。程序有很多种,比如聊天程序(微信、qq);比如服务器程序(apache、nginx)。html、css、js 都可以叫做“静态文件”。所以……安装官方安装教程,

2021-02-23 18:02:07 156 2

原创 自签 https(以 nginx 为例)

为什么抛弃 httphttp 传输数据时,不对数据加密,很容易被截取,s代表 safe 或 securehttps 原理这里只讨论在“自签 https”过程中需要了解的知识,并不深入认证机构首先要知道的是,有一个东西,可以对数据进行加密...

2021-01-25 16:34:11 594 2

原创 给 ruby koans 做了个注释,欢迎新人一起学习~

ruby koans 作为一套很好的练习题,非常值得像我这样的新手练习但是有的地方不能 get 到“那个点”,或者直接就不知道怎么做,就会很迷惑虽然几乎每一题,网上都能搜到“解析”但一方面,英语的解析居多另一方面,比较零散于是我想整理自己学习的笔记,和大家一起讨论,一起进步欢迎指教和教训!仓库链接:https://github.com/daGaiGuanYu/ruby-koans-zhu一些截图:目前刚写到第 70 个,欢迎 star 和 pull request!...

2021-01-14 17:47:58 133

原创 提问的礼仪

不懂就问,是好事,但不能瞎问有的人想帮助你,但你得值得帮别问“在吗”、“有没有时间”、“可不可以”如果你问了,那我先帮被你提问的人回答:“我不在”“我没有时间”“我不可以”如果你只想伸手就要,你就不是一个值得帮的人自己思考了没有?百度搜了没有?社区里搜了没有?stackoverflow 里搜了没有?……问题不能太宽泛如果你问别人:“为什么我的手机不能付钱了”是不是得先确定手机有没有电……有没有网……有没有装支付宝……你的钱是不是在支付宝里……支付密码输对了没有

2021-01-14 16:51:07 1693 1

原创 JS笑话

有的代码,很搞笑。以下,博诸君一笑欢迎在留言区写下,您看到的搞笑案例使用 Promise 解决回调地狱let userId = xxx;getUser(userId).then( user => { getSchool(user.schoolId).then( school => { getCity(school.cityId).then( city => { getProvince(city.provinceId).then( country =>

2020-12-22 11:00:14 1041 1

原创 MongoDB笔记——简介

MongoDB是一个又新又旧的词,不管你用还是不用,了解一下也是应该的。因为不同于 MySQL、Oracle、SQLServer 这些“经典数据库”。MongoDB 是一种新的数据库管理软件。在这之前,如果你认为“MySQL 是一种数据库”,那就应该重新了解一下数据库的概念了。最明显的不同是,mongo不能使用 sql 语句。优点我认为,mongo 最大的优点就是:没有固定的表结构,存取数据比较灵活。比如有这样一堆数据:学校名称学生姓名丰县小学小明丰县小学小强

2020-12-14 17:31:36 92

原创 关于“数据库”的一些概念

mongo好不好?难说,做为一个已经不新的新东西,如果你不懂,虽不至于说是一个遗憾,但至少也少了很多谈资。是什么mongo是数据库?大家都这么说。但严格来说,mongo是一个数据库管理系统。这里有必要咬文嚼字,这样能更好地使用mongo。从数据说起,比如你在网上买了一件衣服。什么时候买的,在哪个店铺买的,多少钱,什么时候送货,颜色,尺寸……这些都是数据。你把这些数据记在纸上,那么这张纸就可以叫做数据库。而大型的互联网公司肯定不会把数据记在纸上,那样太麻烦了。他们会记在“电脑”里,不管用记事本、还是

2020-12-14 16:54:07 203

原创 好看的代码

缩进不过三if 早返还函数不应超十行文件不该过两页同文件夹下文件,不可超八个目录层级不能深,不深找不难

2020-12-09 13:11:03 1214

原创 不常见的css选择器的实用场景

:nth-child()选择同级的,第 n 个元素。例子<div class="container"> <div class="a">a</div> <div class="b">b</div> <div class="c">c</div></div><style>.container :nth-child(2){ color: red;}</style>

2020-09-17 13:09:00 136

原创 关于剥削

剥削,是一个既熟悉又陌生的词汇。熟悉是因为小学、中学时在课本里经常见到;陌生,是因为很多人并不知道什么是剥削。刚才看到饿了么推出了一个功能:多等五分钟。用户付款时,可以勾选这个选项,这样就可以多给外卖员一些时间。这新功能,有什么意义?我刚刚在新公司入职,前天第一次跟同事吃午饭时,第一次看到这样一个场景:农历七月末,炎炎烈日下,稀疏的树影中,许多穿着蓝色、黄色制服的外卖员坐在两轮电动车上,手里攥着手机,眼睛时不时看手机两眼——他们在等候接单、送餐。甚至可能还需要抢单,因为我眼里看到的,整条小吃街,快被外卖

2020-09-09 11:16:13 231 1

原创 移动端一像素边框解决方案

逻辑像素如果你太明确逻辑像素是什么,可以先看看这篇介绍css变量如果你不太明确 css 变量的用法,可以看看阮一峰老师的教程@media如果你不太明确 @media,可以先百度百度正文先上码:.border{ border: 1px solid #eee;}@media screen and (-webkit-min-device-pixel-ratio: 2) { .border { border: 0.5px solid #eee; }}@media scre

2020-07-26 13:28:32 187

原创 关于逻辑像素

像素不论是手机屏幕还是电脑显示器,呈现出的画面都是由很多点组成的。只不过,这些点排得很紧,看起来像是连在一起的。我们通常把这些点,称为像素点,或像素。分辨率像素点在屏幕上,一行又一行、一列又一列、整整齐齐地排列着。一般情况下,组成一个画面的像素点越多,这个画面就越清晰。通常的所谓 4k,一般就指一行大约有 4000 个像素点的显示器;1080*1920,一般指一行有 1920 个像素点,总共有 1080 行。逻辑像素不同的手机,分辨率相差很大:iphone3 480*320iphone5

2020-07-26 13:00:54 1335

原创 因为荒谬,所以才需要信仰

标题是一位著名的基督徒的言论。原意或本意,我是不知道的。但这句话以其怪异,让我印象深刻。第一次听到这句话,是在易中天老师的《中华史》。易老师对这句话的解释大致是,如果不荒谬,如果合理,那就不是宗教而是科学。或者说,是“现在,大多数人所认为的科学”,以下简称现科学。现科学,是不管你接受或者不接受的,或者说是不屑于你接受或者不接受的。“相信现科学的人”是不屑于你同不同意“地球是圆的”,如果你不相信,他们还会认为你是傻瓜。这样看,如果现科学有人格的话,那这个人,实在过于霸道。我遇到过一位基督徒,她曾试

2020-07-24 11:03:54 670

原创 [数据库]提升分页查询性能

问题描述分页是数据库常见操作,也是很简单的操作:select * from Goods limit 100, 10;如上,是查询第 100~110 条数据。而数据量非常大时,这种查询语句就……mysql> select * from Goods limit 230000, 3;+--------+-------+--------------+---------------------+| id | title | subtitle | createdAt

2020-07-10 13:05:00 492

原创 新出炉的国产 node web 框架 - 筷子

一、起步筷子是一个后端框架,用来写接口(接收 http 请求,响应数据)。如果你没接触过 node,请先了解一下 node。环境准备装个 node 就可以了。撸起袖子,开始干!初始化项目mkdir kuaizi-go # 创建一个叫 kuaizi-go 的文件夹(当然是用来存放项目了)cd kuaizi-go # 进入这个文件夹npm init -y # 初始化 node 项目npm install kuaizi # 安装筷子hello-world依国际惯例,先问候一下全世界。新建

2020-07-02 09:43:15 298

原创 筷子·自序

也许 js 算不上一个顶尖的“优秀设计”的编程语言。但是 js 有一个其他语言目前无法比肩的优势:浏览器支持。这导致,网站开发者,几乎必须学习 js。那何不顺便使用 js,把后端也写了。go、java、php、python是很优秀,但是对于前端来说,不是还得另花时间学习吗?而且,js 并没糟糕到“不可使用”的地步。实际上 js 很优秀,而且由于用户群体这么大,将来也会更加优秀。Express、Koa 等框架,都很优秀,然而我还是自己写了个叫“筷子”的简单的框架。自夸不是我擅长的东西,你用不用

2020-06-17 12:58:41 970

原创 如果你也懒得复制粘贴,不妨试一试 ppst

PPST构建于 node 之上的文件管理工具(命令行中操作)有什么用尽管有各种各样的包\文件\版本管理工具(maven、npm、git,甚至各种网盘)有时候某些文件,我们还是需要去复制、粘贴比如项目的配置文件、一些不值得上传到代码仓库但有时候也会经常用到的轮子、……如果你也懒得去复制粘贴,那么可以试试 ppst安装首先确保你的电脑上有 node,下载好之后,安装时一直“下一步”,就好了安装好之后,重新开一个控制台,输入下面的命令,回车!npm install -g ppst简单应

2020-05-27 14:03:33 751

原创 记于与 deno 的第一次正式见面之后

期待已久的 deno 正式出道,从打开文档之前的激动万分,到后来的无比失落,只有几分钟而已。因为 Typescript。ts 已经有了大作为,将来更会,但是我不喜欢。在这之前,考虑这样一个问题:你真的愿意花钱请一位保姆,在深秋时反复提醒你穿秋裤吗?也许很多人需要,罗翔老师说,“过度的自由容易导致剥削”,这一观点在编程领域有相似的衍生观点:过度的自由,导致程序的混乱。这点我非常认同,因为很多人刚刚学会了打印 hello, world,就要谎称精通各种编程语言,然后上岗开干了。没错,我的意思是,太多程

2020-05-15 11:11:05 297

原创 响应式布局的几种思路

响应式布局是什么,为什么?最简单的方法(固定内容区宽度)同比例缩放(rem)rem 简介是什么,为什么?电脑显示器有很多种尺寸,常见的有,1366px(宽度)、1980px(宽度),高级点,还有 2k 屏、4k 屏、5k 屏。如果再考虑平板和手机的话,就更多了。远古时期,大多数网站是不会考虑这个问题的,一般只会对特别流行的一个尺寸进行设计。这时候,屏幕特别小,或者特别大时,看着就很不舒服。...

2020-05-04 20:06:13 7536 2

原创 rem 简介

rem 是网页上的一种长度单位。如果根节点(html 节点)的字体大小是 16px,那么:2rem 就等同于 32px;3rem 就等同于 48px;1.5rem 就等同于 24px;也就是:html{ font-size: 14px;}.target{ width: 2rem; /* 28px */ }有时为了方便计算,会把根节点的字体设置成 10 的倍数,比如...

2020-05-03 23:38:52 3047

原创 关于数量

人常说,“数量的提升带来质的改变“,我也隐隐约约能明白。但是今天算了一笔账,对这个概念更清晰了。现在地球上大约有 75 亿活人。假如某富豪突然搞了一个大抽奖:刮刮乐,刮中的人,无偿得到 75 亿美元,其他人没奖励;参与条件很简单:只要你还能喘气。抽中的概率还是很好算的:75 亿分之一。这概率算很小了吧。但是有多小呢?假如你一秒刮开一个,要保证必中奖(保证必中,就得把所有的都刮开),需要刮 ...

2020-04-22 16:20:35 303

原创 单核和多进程为什么不矛盾

多进程,即同时运行多个程序。单核,即处理器在同一时间点,只能运行一个程序。但是,有的电脑是单核的,确也具备多进程能力。为什么?看一个比喻。地上有很多庙,比如观音庙。人们去观音庙里祈福。祈福的人有很多,而观音菩萨只有一个。你也跪,我也跪;你也拜,我也拜;你也求,我也求,他也求。但是观音菩萨听得过来吗?难道人们的祈求信息会像邮件一样,从观音庙发到观音菩萨办事大厅吗?当然不是,那多世俗,那多神...

2020-04-06 16:03:25 931 1

原创 为什么源码不适合新手学习

一个程序像一座大楼,构建的时候,有计划、有图纸、还有脚手架。而这些,对于已经建成的大楼,都是看起来“不存在的”。对于观察者来说,一座大楼就只有一座大楼。计划,不知道;图纸,不知道;脚手架,虽然盖楼时有,盖好之后也拆了。那么,如果单单观察大楼的外观,或者你再走入每一个房间,看看大楼的“里观”,是很难想通这座大楼是怎么盖起来的。大楼用水泥、钢筋或者砖块盖起来,而程序则用一行一行代码构建起来。...

2020-03-26 16:43:28 314

原创 typeof、instanceof、constructor 的联系、区别、应用场景(js 类型判断)

联系这三者都可以用来判断一个对象的类型let now = new Date()now instanceof Date // 输出: truenow.constructor == Date // 输出: truetypeof 'hello' // 输出: stringtypeof('hello') // 高版本的 js 支持这种写法。输出: string看起来是这样的:typeo...

2020-03-25 17:31:04 1299

原创 菠萝食客与菠萝刀:我们为什么应该重复造轮子

场景坐在显示器前打了一整天代码后,小明决定在睡前先出去活动活动。因为,最近实在胖了不少。“夜跑遇上烧烤摊”是件很残忍的事,所幸小明今天没遇见烧烤摊,但他遇上了菠萝。没错他非常喜欢吃菠萝。但是今天的食物摄入量已经达到了上限,再多吃一点,小明就会违反昨晚制定的塑身计划。虽然小明经常这样做,但是这次,小明决定再坚持坚持。但回过头来,小明觉得也许可以今天买,明天吃。正所谓,“楼都下了,不买点东西带上...

2020-03-23 18:44:06 848

原创

子贡问曰:“有一言而可以终身行之者乎?”子曰:“其恕乎,己所不欲,勿施于人”。(《论语》卫灵公篇第十五)儒家追求修齐治平,要入世、要做事,怎么做?这问题实在太宽泛,不好回答,况且自己的观点又很难验证。史料证明?也许正是尧舜禹汤、文武周公的“事迹”误导了孔夫子。但是有一些基本的观点,应该还是可以奉为圭臬的。孔夫子认为如果非得挑出来一个点话,那就是恕。入世的做事,大部分还是处理人与人之间,发...

2020-03-19 11:30:21 192

原创 nginx使用笔记

-代理proxy_pass 的两种值案例分析代理proxy_pass 的两种值参考自官方文档案例分析假如有配置文件location /hi { proxy_pass http://被代理服务器域名.com;}那么,如果原始请求的 URL 是 http://xxxx.com/hi的话,则被代理服务器收到的 URL 是什么?答案是 http://被代理服务器域名.com/hi。...

2020-03-17 16:55:08 139

org.apache.commons.lang

import org.apache.commons.lang.builder.EqualsBuilder; import org.apache.commons.lang.builder.HashCodeBuilder;

2017-08-21

空空如也

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

TA关注的人

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