- 博客(95)
- 收藏
- 关注
原创 每日一练【NodeJs包装第三方静态文件】
于是就有了把这些第三方可执行文件打包好的静态文件做成库的操作。有些时候我们需要调用第三方可执行文件来完成某项任务。这样只要安装一个依赖就可以调用这些第三方可执行文件。本地编译或者安装这些第三方可执行文件费时费力。先判断系统,再判断平台。
2023-04-26 10:39:13 206
原创 ffmpeg日常使用记录
虽然每次都想到,使用ffmpeg的时候先看官方文档,但是每次都看不进去。然后还是去搜索引擎搜关键字,直接看别人的经验,然后自己尝试,得出结果。不同编码的视频,需要使用不同的加速选项,比如hevc的视频,需要使用hevc_videotoolbox。过高会导致码率比原视频高,视频体积变大,但是画质并没有变好。因为如果不写这个,生成出来的视频质量可能过高,也可能偏低。偏低会导致码率可能过小,视频体积很小,但是画质非常糟糕。同样,4K片源也不一定有1080P的片清晰。清晰度和分辨率,编码方式,片源,码率相关。
2023-03-26 00:06:43 447
原创 【真相】ChatGPT和OpenAI的API KEY
最近ChatGPT火出了圈,各种基于ChatGPT的应用层出不穷。然后github上各种基于ChatGPT的开源代码库也开始火热起来。
2023-02-17 00:04:06 31932 5
原创 async / await 使用过程中容易出错的地方
从 Promise到async/await,方便了我们对异步的控制,可以使用写同步代码的方式写异步代码,但同时一不小心也会产生一些错误。
2023-01-18 18:09:31 5492
原创 【笔记】组块构建与能力错觉
从问题出发:1、组块是怎样与记忆痕迹联结起来的?2、从上至下和从下至上的过程在学习中有什么区别?两种方式有优劣之分吗?3、单凭理解足以形成组块吗?请解释能或不能的原因。4、你在学习中最常遇到的能力错觉是什么?在未来你有什么策略来避免再次陷入这种错觉之中?1组块是我们对某个知识和概论的压缩,能帮助我们解决问题,可以是把问题简单化处理,或者创造性的解决。记忆痕迹是一个...
2023-01-16 17:19:47 515
原创 程序设计的SOLID原则—单一职责原则
单一职责试图提高一个类、模块、或者函数的凝聚力。凝聚力是对模块内部功能的之间的一个描述。SRP可能是最容易让人误解的一个原则,单看名字很容易理解为一个模块只应该做一件事情,但是SOLID里的SRP却不是这个含义。
2022-04-13 21:58:22 397
原创 macbook pro M1上安装windows虚拟机
注意点:1、VMware Fusion预览版下载需要登录VMware账号才能下载。2、安装过程中如何跳过联网环节安装过程中需要联网,但是进入系统之前网络不可用,需要在安装环节使用CMD执行OOBE\BYPASSNRO才能跳过安装过程中联网。参考文章:M1 芯片 Mac 虚拟机新选择:VMware Fusion 公测版深度体验 - 少数派用硬苹果捏软柿子:M1 系列 Mac 虚拟 Windows 11 免费方法谈 - 少数派How to bypass inte
2022-03-30 16:08:52 4572
原创 解决react-cosmos在react-app-rewired项目里启动报错
解决react-cosmos在react-app-rewired项目里启动报错
2022-03-20 11:49:21 1089
原创 gitlab ci里push代码错误
在.gitlab-ci.yml文件里直接写命令提交代码,会报错,就算前面使用了git remote origin添加了新的远程地址,还是会报错,报错信息下图所示:搜索了一大圈,最后在gitlab官网找到了例子。示例代码链接:.gitlab-ci.yml · master · Guided Explorations / .gitlab-ci.yml Tips, Tricks and Hacks / Commit Back To Repos During Pipeline / Commit To
2021-11-17 18:13:41 638
翻译 培养适应动荡时代的领导者:密歇根领导力模式
前言在Course学习领导力课程,第一周的课程最后一部分给了一个文档:https://webuser.bus.umich.edu/spreitze/Pdfs/DevelopAdaptLeaders.pdf试着阅读这个文章,于是就了这篇翻译,虽然是机翻,也做一个记录。文章里的观点及熟悉又陌生,文章的核心观点是领导力是对他人生活的积极影响,这个观点是结合目前世界的复杂形势和通过研究很多公认的具有领导力的历史人物得出的。下面我们看看文章具体内容。正文In complex and dy.
2021-05-21 21:39:53 1687
转载 禁止用户选择内容
通常的做法是写一个css实现。现代浏览器都支持。-moz-user-select:none;-webkit-user-select:none;user-select:none;但是在某个网站看到了这个实现方式,挺有意思的:var image_save_msg='You are not allowed to save images!'; var no_menu_msg='Context Menu disabled!'; var smessage = "Content is prote
2021-05-12 00:40:21 185
转载 (转)安卓文本无法垂直居中的问题
原文:https://segmentfault.com/a/1190000017088168问题安卓 webview 的字体大小在小于 12 像素的时候无法使用行高来垂直居中ps:目前在微信等应用都存在该问题,而在最新的移动端 Chrome 浏览器上无该问题(截止本文编写时间,微信客户端的 chrome 版本为 57,chrome 版本为 70)。尝试方案 table 布局:文本偏上 <div class="solution" style="display: table;
2021-04-28 17:53:06 561
原创 3种方式禁用浏览器滚动条
在一些场景中,比如弹出一个带滚动条的浮窗,为了避免在操作时触发原生滚动条,这时我们需要禁用掉浏览器的滚动条。常用的三种方法如下。方法一让body不能滚动。export const forbidBodyScoll = () => { const body = window.document.getElementsByTagName('body')[0]; body.style.overflow = 'hidden';};export const allowBodyScol
2021-04-26 21:49:53 6543
原创 如何搞清楚什么是BFC(Block Formatting Context)?
提出问题和假设当我们谈论BFC时,可能会有一下问题产生:BFC是什么?有什么作用? 理解BFC对于我们到工作有哪些帮助?我们应该如何使用BFC? BFC里到Block指的是块级元素吗?那对应的内联元素有对应的特性吗?除了上面三个问题,我还想到了其他问题,这些问题是在刚开始学前端时接触的:使用浮动后,通常会清除浮动?清除浮动的知识是什么原理? 外边距重叠问题是什么原因,解决这个问题方案又是什么原理?上面这两个问题与BFC有关吗?收集数据收集到到其他讲解BFC的文章:ht.
2021-04-19 17:21:00 128
原创 《能力陷进》读后感和行动举措
《能力陷进》读后感领导者的能力陷进要像领导者一样思考,途径有先像领导者一样做事。我何以知道自己在想什么呢?——只有在看到我做了什么以后才能知道。 人思考的方式来源于过去的经历。 改变你想法的唯一方法就是做之前不一样的事情。 去做,而不是去想才能改变外在表现力。 建立良好的人际关系,认识各行各业的人,了解他们的做事风格。重新定义自己的工作我擅长解决代码问题,处理用户报错。所以花了很多时间在如何写好代码,解决功能问题上。这样下去我就会一直停留在这个领域,很难向前,而且这个解决问题.
2021-03-28 21:20:07 119
原创 Dart学习记录(1)
在看Flutter文档里,有一个内容是Flutter For React Native devs。里面讲了RN和Flutter的区别,并且同一个功能,会使用JS和Dart都实现一遍来对比讲解。看着看着就点到了Dart都文档里,Dart基本和Flutter共同在发展,在阅读Dart overview时,发现了两个有趣的东西:1、计算圆周率代码如下:import 'dart:math' show Random;void main() async { print('Compute π u
2021-03-26 15:31:59 163
原创 git 查看最近修改的文件
为了方便管理,把长期迭代的前端项目都放到了一个git仓库里。这样使用CI自动打包上线测试环境都需要判断当前git仓库里哪些项目是被改动过都,只打包改动过的项目。相关命令git log --name-status 每次修改的文件列表, 显示状态git log --name-only 每次修改的文件列表git log --stat 每次修改的文件列表, 及文件修改的统计git whatchanged 每次修改的文件列表git whatchanged --stat 每次修改的文件列...
2020-11-27 17:29:55 3152
原创 html2canvas生成图片底部出现白边儿的解决方法
场景最近使用html2canvas的时候,在长屏幕尺寸下,生成的图片底部会有白边。生成的图片的步骤:1、目标dom使用绝对定位移出到屏幕不可见范围绘制。2、把body的滚动条移动到顶端。3、延迟500ms后使用html2canvas进行绘制。过程看了这篇文章https://www.jianshu.com/p/1ba91e9bb2ca里讲的,不是很明白,照着写也没能解决问题。解决方案最后使用了html2canvas自带的backgroundColor属性,把整个..
2020-11-26 10:10:05 4853 4
原创 No such module ‘xxx‘ with cocoapods and swift
情况1:xcworkspace和xcodeproj使用pod install以后,会多出一个.xcworkspace文件。这个时候需要使用xcode打开.xcworkspace文件,并且关闭打开对.xcodeproj文件。这是因为.xcodeproj文件仅仅包含了主项目,没有包含pod安装的项目,所以会导致编译找不到依赖。而.xcworkspace打开的项目包含了所有的一切。情况2: Project -> Configurations -> Debugpod install完成.
2020-11-04 09:27:09 880
转载 select、poll、epoll之间的区别
(1)select==>时间复杂度O(n)它仅仅知道了,有I/O事件发生了,却并不知道是哪那几个流(可能有一个,多个,甚至全部),我们只能无差别轮询所有流,找出能读出数据,或者写入数据的流,对他们进行操作。所以select具有O(n)的无差别轮询复杂度,同时处理的流越多,无差别轮询时间就越长。(2)poll==>时间复杂度O(n)poll本质上和select没有区别,它将用户传入的数组拷贝到内核空间,然后查询每个fd对应的设备状态,但是它没有最大连接数的限制,原因是它是基于链表来存.
2020-10-10 14:10:40 266
原创 关于如何写好业务代码的思考
1、为新增需求重新写一个页面是很容易的。2、在老页面里增加新逻辑,往往容易出现很多问题,这些问题往往需求变更导致的。如果我们为每个需求都做好自动化测试,当需求变更或者叠加需求时会更容易发现这些问题。3、一段时间不去梳理一些逻辑分支比较多的代码,这些代码就会把你缠住,当要去迭代它们时,都感觉寸步难行。4、对某个页面,某个函数,某个逻辑的简单逻辑说明,是很有必要的。5、当需求变更,或者增加需求时,最好的状态是不用去改变具体的代码,而是改一个配置文件就能满足需求。这需要一定的抽象能力,就好比我们在
2020-09-09 23:00:03 202
原创 搜索关键字问题汇总
案例一用C#写windows forms程序时,遇到在新建的线程里操作主线程的form元素会报一个异常,说不能在操作其他线程的form元素。当时第一想到的方案是,这里是不是需要跨线程通信,于是搜索C# 线程通信怎么做,以及多线程如何处理等等。看了一圈觉得有点复杂,而且一遍文章被转来转去。后面我回到问题本身,搜索多线程与form的关系,找到微软自己的文档。这篇文章详细说明了,在其他线程里调用form元素会导致一些不可预料的事情,所以系统提供了两个方式来解决这个问题,其中..
2020-07-14 10:00:56 279
原创 前端微发布,让上线前端页面方便快捷
背景现在基于webpack打包的项目,大多都是单页面的。虽然webpack可以配置构建多页面,但是webpack对于多页面构建速度会比较慢,如果页面增加,真个开发和构建体验都会下降。我们一般会选择一个页面或者两个页面在一个webpack项目里,如果我们需要构建很多页面,就会有很多项目。那么这些项目应该如何发布上线呢?解决方案1如果我们的一个webpack项目是一个git项目。...
2020-05-05 16:02:05 310
原创 React Native WebView优化(iOS)
问题在React Native中打开一个WebView会有非常明显到白屏时间。分析问题在网上看了一些关于WebView的优化,参考下面这个WebView打开过程从图片。我们可以总结为:1、节约初始化的时间,预先初始化一个WebView。2、原生端请求页面资源,优化白屏时间。3、页面离线化,原生端直接从本地加载网页,优化白屏时间。这三种方案都需要原生端...
2020-05-05 15:42:14 2090
原创 培养好习惯的死循环
1、习惯是什么习惯是一种常常出现的行为,而且常常是在无意识下出现的,从心理学的观点来看,习惯是某种程度上固定的思考方式、意志或者感觉行为方式,是由以往重复的心智体验而获得的。我们每天都在重复着习惯,早上喝一杯咖啡,坐地铁一直玩手机,下午渴了点一杯奶茶,晚上下班去健身房跑步,回家没事做就看电视等等。一般人在出现习惯性行为时,不一定会注意到,因为人们在进行日常工作时,不会对自己所做的事做详...
2020-04-06 12:08:52 294
原创 前端换肤的一些思考
先看看大家怎么做的。下面是两篇别人写的文章,最后是我自己的方法。第一篇:聊一聊前端换肤之前在做网站换肤,所以想谈谈网站换肤的实现。网页换肤就是修改颜色值,因此重点就在于怎么来替换。一般实现如上图,我们会看到在某些网站的右上角会出现这么几个颜色块,点击不同的颜色块,网站的整体颜色就被替换了。要实现它,我们考虑最简单的方式:点击不同的按钮切换不同的样式表 ,如:...
2020-03-31 00:08:02 1824 2
原创 rem布局在iOS里的一个问题
背景今天遇到一个(其实之前就遇到了一直没重视)布局问题。在iphone plus机型和MAX机型里,一个transfrom: translate3d(x, y, z)操作比预计的位置要远。最后根据调试和不断测试找到了问题的原因,原因是因为我们在页面使用了rem布局。并且rem的基准是按照37.5px来计算了。比如下面这个css:p { width: 24px;}经过转...
2020-03-23 23:10:25 1522
转载 工程实践:给函数取一个"好"的名字
早在2013年,国外有个程序员做了一个有意思的投票统计(原始链接请见:《程序员:你认为最难做的事情是什么?》),该投票是让程序员从以下几个选项中选出平时在工作中自己认为最难做的事情:做项目方案设计 编写测试用例 撰写设计文档 向别人解释我们在做什么事情 实现你不认同的feature 在别人写的代码基础上做改造 与人沟通 给函数、变量命名 进行工作量估时 也许在大家的印象中,...
2020-03-16 22:31:54 277
原创 读FastClick源码理清移动端click事件300ms延迟问题
移动端为什么会有300ms的延迟2007年,iPhone为了兼容PC网站,引入了双击缩放的操作。这个设计针对当时的情况非常人性化,其他浏览器也纷纷跟进。但是这个这个操作为了区分用户是想双击缩放还是真的单击,会在用户单击之后300ms才触发真实的click事件。这就是300ms延迟的来源。为了让click没有这300ms延迟,FastClick诞生了。虽然有其他方案,但是FastClick是...
2020-03-08 21:32:15 493
转载 你真的会用getBoundingClientRect吗
你真的会用getBoundingClientRect吗?左鹏飞 2017.09.20本文介绍了什么是getBoundingClientRect;以及获取width,height的兼容性写法;最后介绍了两个使用场景:获取页面元素的位置和判断元素是否在可视区域。1. 什么是getBoundingClientRectgetBoundingClientRect用于获得页面中某个元素的左...
2020-03-04 13:25:08 1303
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人