自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

爱玩的安哥

分享一些轻松、有趣、有用的知识

  • 博客(52)
  • 资源 (1)
  • 收藏
  • 关注

原创 小程序开发-后台服务器域名请使用正规域名,不能用IP地址

开发时是可以使用IP地址的,但正式上线小程序的时候,后台服务器的域名必须要改成正规域名,这是出于安全的考虑,有以下几个重点:1、域名只支持https、wss协议,普通的http是不支持的!2、域名不能使用IP地址,局域网的IP地址除外,比如192.168.x.x之类、或者localhost, 这样便于测试。你随便弄个IP地址,谁知道是干啥的?3、域名必须经过ICP备案,想要用人家的平台,就得遵守人家的规矩。域名其实挺便宜的,腾讯、阿里都能买,就是备案需要点儿时间,按人家网站的提示来即可。我在dnsp

2022-04-16 11:02:57 8288 1

原创 群晖-隐藏宝藏之开源、免费项目管理平台Redmine

Redmine简介免费、开源、灵活的项目管理网页应用程序,采用ruby on rails开发。如果你正在为自己的小团队寻找免费的项目管理软件,那么redmine可能适合你,其强大且自由,能够定义几乎所有的一切,也能二次开发,可扩展性强。因为其支持Markdown,而且能够直接保存剪贴板内容(高版本支持),所以写起来就像是在记笔记,这是我非常喜欢的地方。缺点嘛默认界面一般,但可以自定义。如果项目比较复杂,那么维护成本会高一些。从网上评价来说,redmine适合小项目,小团队。经过一段时间的使用,我觉

2022-03-07 16:05:20 5614 2

原创 Uniapp-远离回调callback请使用await、async

今天要实现一个功能,在搜索完课程及句子之后判断是否有结果,因为需要对课程和句子的结果统一判断,所以要使用async, await来将两种搜索的异步方法可以顺序调用。如何使用async, await来看下如何得到课程:searchLessonsFromServer() { if (this.no_more_lessons) { return } let self = this let page = self.searchMeResult.pth_lesso

2022-03-07 16:04:23 2017 1

原创 数据库-left join与多个order by排序实例

有这个么需求,一些练习会有人评论,在列出练习时要将有评论的练习排在前面,这时候可以使用left join与多个order by的办法来达到要求。首先,有practice_id为3539、3715、3514三个练习是有人评论的,3514评论时间为最新:SELECT * FROM comments WHERE practice_id IN ( 3514, 3715, 3527, 3539 )使用left joinSELECT `practices`.* FROM `practices

2022-03-07 16:03:24 2704

原创 编程|如何生成唯一的文件名称

各种语言的唯一名称实现原理相同,都可以用uuid来达成名称唯一的目的!UUIDUUID 是由一组 32 位的 16 进制数所构成,其理论上的总数为约等于 3.4 x 10^38。也就是说若每纳秒产生 1 兆个 UUID,要花 100 亿年才会将所有 UUID 用完,所以基于uuid可以生成大量唯一的字符串。ruby使用uuid生成:p SecureRandom.uuid #=> "2d931510-d99f-494a-8c67-87feb05e1594"p SecureRandom.uui

2022-01-21 18:34:26 631

原创 为什么不建议你使用windows中的WSL

什么是WSLWindows Subsystem for Linux,WSL,也就是Windows Linux子系统,可以在windows内使用linux, 类似于一台Linux虚拟机了,但是,这并非是真的Linux虚拟机。微软对于WSL的一些说明并未基于生产环境负载设计或构建WSL。如果你的应用或作业流程需要达到特定服务水平协议,那么不要将其运行在WSL之上。需要使用 Windows 11 内部版本 22000或更高版本才能使用Linux GUI。特殊符号比如半角?号,在linux里面作为文件名

2022-01-20 09:45:59 5761 1

原创 Uniapp|获取元素的高度与宽度信息

项目中需要获取到数据更新之后元素的高度,网上的文章说可以使用ref,我在view里面添加了ref,但获取不到:<view v-show="current === 0" id="own_view" class="own_view" ref="own_view"> 。。。mounted() { this.$nextTick(function(){ console.log("mounted this.$refs.own_vie

2021-12-29 18:48:41 3774

原创 Uniapp|image无法显示图片

自己写自定义组件的时候,找到几个图标,放在项目目录下,但在使用的时候发现小程序里面显示不出来。微信小程序里面这样:看网上的文章说要改成绝对路径,但我在在back-audio里面根本就没有发现play.png这个文件,那么怎么改src都不可能显示出来。除非放在static里面,但我想把组件独立出来使用。无意中看到别人写的自定义组件,里面也有使用图标,试了下,可行!图片、图标使用require导入三个控制播放图标代码:<template> <view class="audi

2021-12-16 18:45:39 8588

原创 CSS|图像、页面变灰

uniapp项目里面中要做按钮 ,下载了几个按钮图标之后,想弄成灰色禁用效果,作为手越高、人越懒信念的坚定支持者,肯定不会再去下载灰色图标了,直接CSS搜起,发现了方便的办法。实例随便找点儿图片:使用此句可以全部变灰。filter: grayscale(1)如果是grayscal(0.5)?只有一点儿颜色,半灰是也,如同加了个滤镜。filter:n. 过滤器;滤光器,滤声器,滤波器;过滤程序,过滤软件;(指示车辆转弯的)分流指示灯 v. 过滤;渗入,透过;(消息、信息等)慢慢传开,走漏

2021-12-16 17:46:53 1541

原创 Uniapp|爬坑之真机点击无效

uniapp开发时可能会遇到真机点击无反应的情况,本文提供了一种解决问题的思路

2021-12-08 16:56:16 8655 3

原创 小程序开发|怎样清除真机微信小程序中的缓存

小程序开发中有时候会遇到明明服务器里面的资源文件(比如图片、声音、视频之类)已经更新了,但微信里面还是会显示以前的内容的情况。这是微信为优化用户体验,采用了缓存的原因,对于相同的资源地址,会返回以前的下载内容,如果资源不变,缓存还会节省服务器资源。但开发的时候就不一定方便了。想要微信重新从服务器下载资源,需要清除缓存。如果一些登录之类的数据是用localStorage来存储,那么可以用下面的办法清除,一般可以用来反复测试登录、配置信息等等。localStorage缓存清除在手机里面打开开发者或体验版中

2021-11-15 16:46:00 3544 1

原创 JavaScript|日期格式化、今天、昨天、明天和某天

uniapp中的日历组件需要用到开始时间和结束时间,这个时间是字符串形式的,如’2021-01-21’。组件网址:https://ext.dcloud.net.cn/plugin?id=56需求我的需求是得到7天前到现在日期的字符串形式,即startDate: '2021-11-04'',endDate: '2021-11-11',上代码:Date.prototype.format = function(fmt) { var o = { "M+": this.getMonth() +

2021-11-10 13:28:32 1424

原创 ruby|rails 如何获取音频、视频的长度等媒体信息

一个gem即可解决,stars: 1.5khttps://github.com/streamio/streamio-ffmpeg获取mp3时长我的项目中暂时只用到了获取mp3文件的时长。更多常见用法movie = FFMPEG::Movie.new("path/to/movie.mov")movie.duration # 7.5 (duration of the movie in seconds)movie.bitrate # 481 (bitrate in kb/s)movie.size

2021-11-09 10:32:54 1265

原创 Windows|Windows10访问ubuntu18中的samba共享文件夹

Ubuntu18安装sambasudo apt install samba备份配置良好的习惯,备份下原始的samba配置文件:cp /etc/samba/smb.conf /etc/samba/smb.conf.bak编辑配置sudo vim /etc/samba/smb.conf在文件尾添加如下内容:[develop] comment = develop app path = /home/study browseable = yes read only = no

2021-11-02 15:43:30 1150

原创 uniapp|uni.navigateTo真机无法跳转

今天试了下uniapp跑真机,本来小程序里面需求就是没有登录的时候跳转到user页面进行登录或注册,小程序里面一切正常,到真机里面就不行了,一番查阅,原因居然非常简单:不能使用navigate跳转到tabBar页面!文档里面有写:https://uniapp.dcloud.io/api/router?id=navigateto再看看自己的pages.json配置文件,果然是属于tabBar页面。解决办法跳转tabBar页面使用uni.switchTab方法!即:uni.switchTab({

2021-10-29 13:40:39 2188 2

原创 手机开发|USB调试时未弹出授权对话框

使用uniapp想发布到真机时出错,提示说没有授权。真机运行失败,失败原因:手机上没有信任本计算机的授权,请在手机上信任该授权。但我已经在手机里面把USB调试打开了:而且是在打开USB调试后连接的电脑,手机有提示,也能够与电脑互传文件,说明数据线是OK的。记得以前是有授权码提示的,但现在什么授权提示也没有。网上搜索一番,提到一个叫adbkey的文件,果然在用户目录下的.android中找到了,打开后看了下,原来是个私钥文件。adbkey.pub应该是公钥吧,两个adbkey都删除掉。然后在

2021-10-29 12:36:43 5370 1

原创 群晖|半洗白后moments正常显示人像、主题、预览

Moments不工作群晖重装6.2.3之后,发现moments不能正常工作了,不管是人物还是主题都是空白,还会显示有XXX张照片待发现,但会停在这儿。这如何能忍,网络上找到替换文件大法,没啥用,这台虚拟机内黑群晖只能暂时放下。想到自己还有台裸机安装的黑群晖,尝试后moments正常工作。替换ffmpeg为第三方替换的目的是为了能够正确的生成预览图、视频等。dsm版本及内核uname -a# Linux vmDSM 3.10.105 #25426 SMP Tue May 12 04:53:1

2021-10-22 13:12:10 5962 1

原创 Rails|vs code中显示跳转函数

vs code对js、TS的函数显示支持要好的多,python也方便,小众的ruby就不行了,还得自己调整,无奈还是喜爱ruby,继续折腾。1、vs code的settings中添加"ruby.intellisense": "rubyLocate"在vs code中按ctrl+shift+p, 输入settings, 修改settings.json文件,如下添加:2、重启vs code3、点击左侧大纲,看是否有显示:4、点击左侧函数名称,既可实现快速跳转。本文所用vs code版本为1.

2021-10-22 10:12:22 1381 1

原创 rails migration添加数据库字段备注

最后添加上comment即可!环境:Rails 6代码:class CreatePlanManagers < ActiveRecord::Migration[6.0] def change create_table :plan_managers do |t| t.integer :user_id, null: false t.integer :object_id, null: false, comment: 'model_id' t.string :

2021-10-21 12:39:44 636

原创 Linux|退出终端后让程序后台运行,记得最后exit

终端退出后如何让程序在后台运行nohup `command` &比如我的rails服务在退出终端之后也能跑在后台,可以这样来写nohup `rails s -b 0.0.0.0` &或者将rails s -b 0.0.0.0写到b.bat文件添加可执行权限后,这样:注意:&之前有空格如果只是临时想跑在后台,那就不需要nohup,只需要在程序最后加上&,比如:make &但关闭终端后,make也就一并终止、关闭了,若此时还想让程序在后台跑,真正在

2021-10-19 10:44:39 1878 2

原创 SQL|where, group by, order by去重实例之如何正确使用group by

标题SQL|where, group by, order by去重实例之如何正确使用group by需求找出最近练习过的句子id,不能重复(练习保存在practice表中,句子保存在pth_sentences表中,一个pth_sentence纪录有多条practices纪录)。现在的情况是如果一个句子练习多次,会得到重复的pth_sentence_id,这样前端在列出来的时候呢,句子是重复的,我只想让句子显示一次,既pth_sentence_id只出现一次。Practices的表结构是这样的:C

2021-09-30 18:42:20 2136

原创 VS Code|终端中文显示问题-都是加速的锅

Visual Studio Code最近跑代码发现终端显示的中文字出毛病了:文字获得居然有虚影,记得以前显示还是正常的,问题是出现在版本更新之后,查看发行说明:https://code.visualstudio.com/updates/v1_60#vscode发现有这么一段:Box drawing and block element characters now use pixel-perfect custom glyphs instead of using the font when GPU

2021-09-29 11:04:08 383

原创 小程序开发 |背景音乐播放卡、慢,有时无播放

需求uniapp前端项目需要使用背景模式播放音乐,此模式的特点是:当手机熄屏之后、或者App在后台时,音乐还会继续播放!所以非常适合播放音乐及朗读、朗诵文章、古诗之类长时间音频需求。html5里面有个audio可以播放音乐,但现在小程序里面已经弃用了。应该还是平台差异造成的,毕竟电脑和手机不同。用还是能用,但开发者工具会不断的警告:'<audio/>' 组件不再维护,建议使用能力更强的 'wx.createInnerAudioContext' 接口这种情况下,在uniapp中就需要使用

2021-09-27 11:29:46 1060

原创 NPM|如何添加、使用私有github库

问题网络上找到一些项目有的很久没有更新,或者一些功能想增强,这时候就可以直接在源代码上修改并导入到自己项目中,比如我最新想用一个抖音的包:https://github.com/hotoo/pinyin发现其分隔不能满足自己的要求,也就是说其会把空格连同标点符号合在一起,比如第二行的' ['而我想要的就是split之后的分隔,看了文档和代码,发现并没有这种简单的分隔,研究之后,发现修改源代码最为方便。源码增强-fork并修改npm拼音库直接查看需要修改的源代码,右侧有个edit the

2021-09-15 11:53:15 1129

原创 ruby|调用外部nodejs并处理返回结果

最近需要在rails中写个脚本来生成汉字的拼音,找了一圈,发布在ruby里面是有拼音gem的(https://github.com/janx/ruby-pinyin),但已经太老了(6年前),所以搜了下其它语言的实现,感觉npm中的pinyin包比较合适,能够处理多音节(https://github.com/hotoo/pinyin),其返回结果正好就是数组形式,可以用ruby接受返回结果后再处理。代码实战title = PthSentence.last.titledir = File.dirname

2021-09-13 12:49:50 350

原创 效率工具|autohotkey帮我节省了400次新建文件操作

最近用autohotkey解决了一个需要重复几百次的工作任务,类似枯燥的的任务都可以用autohotkey来解决掉!任务如下:根据mp3文件名称,生成一个相同文件名称的文本文件和一个带有-1的文本文件,比如当我选中过零丁洋.mp3的时候,按下ctrl+win+t,就会生成下面这样的两个 txt文件。一开始我用笨办法,复制mp3文件名,再新建两个文本文件,把文件名粘贴过去,修改其中一个为-1, 全部弄完得10多秒,有时候还容易出错,写成脚本就节省了自己大量的时间,正所谓磨刀不误砍柴工!官网中文文档a

2021-09-13 11:12:42 658 1

原创 uniapp|showModal不显示

原因:content为空,可以设置个默认值来解决! uni.request({ url: url, method: method || "GET", header: header, data: data, success: res => { // console.log('success:' + JSON.stringify(res.statusCode)); if (res.statusCode && res.statusCode != 200) {

2021-09-07 19:24:34 1785

原创 uniapp|switchTab切换后刷新目标页面

小程序需要从书籍选择后跳转到lessons的标签页:toNextLevel(pth_book) { let globalData = getApp().globalData //转到课程页面 let book_idx = parseInt(pth_book.index) - 1 globalData.book_idx = book_idx globalData.$switchBook = true console.log('转到课程页面') uni.

2021-09-07 19:19:14 1959 1

原创 群晖|你可能并不知道的群晖反向代理

最近在内网弄了台后台服务器来开发小程序,小程序呢是一定要走https的,所以就申请了SSL证书,本想通过nginx来进行https反向代理,但忘记nginx配置怎么写了。以前玩群晖的时候貌似见过哪儿有反向代理,一番研究,果然有门,设置比nginx配置时写代码简洁太多。我的需求简单,就是通过反向代理让群晖来连接到自己的内网小程序后台服务器。分享如下:确认证书确定你的群晖已经安装好了自己的https证书,比如我的:SSL证书可以免费申请,不过还是建议你自己买个域名,也不贵,一年几十块钱,然后就可以申请N

2021-08-27 16:59:43 19373 1

原创 微信小程序|request:fail url not in domain list解决办法集

微信小程序调试的时候一般都正常,但一旦上传为体验版或者有时候用真机调试,很容易出现下面的错误:request:fail url not in domain list解决办法访问小程序管理后台: https://mp.weixin.qq.com登录后进入开发管理,认真参考本文填写:确保https确保你的后台服务器是使用https的,在开发的时候为方便调试一般勾选了本地设置中的不校验合法域名、web-view、TLS及HTTPS证书。但正式的小程序在域名上只支持 https (wx.reque

2021-08-27 11:17:42 4120

原创 warning: Insecure world writable dir /usr/local/lib/nodejs in PATH, mode 040777

运行rails c、rails -v或者rails server的时候都会出现下面的错误 :warning: Insecure world writable dir /usr/local/lib/nodejs/node-v14.16.1-linux-x64/bin in PATH, mode 040777虽然不影响使用,但看着很不爽,777是权限全开,随便哪个人都可以访问,读取、写入,自然会报警,解决办法:sudo chmod go-w -R /usr/local/lib/nodejs一切正常

2021-08-26 09:57:58 1134

原创 2021 Rails-carrierwave通过api上传音频实例

carrierwave是rails中可以上传文件的工具库,虽然rails在5.2版本之后已经提供了active storage,更安全、功能强大,但carrierwave用起来比较简单,适合小的项目。本文要讲的是使用api来上传音频文件到rails服务器的办法。carrierwave官网地址https://github.com/carrierwaveuploader/carrierwavestar: 8.6k根据ruby toolbox统计,其在文件上传中排名第二,第一的paperclip已经停更

2021-08-21 18:55:49 281

原创 群晖-黄金有价,数据无价,两台群晖备份很简单,值得收藏

想备份下自己群晖的数据,曾经试过开启win10的webdav后直接用群晖访问win10的文件夹, 没成功。所以直接上虚拟机,再整个虚拟机群晖来完成备份任务好了,咱就是爱折腾!没曾想这样备份还方便些。本文要讲的是使用两台群晖机备份数据。主力机是直接裸机安装群晖,备份机则是安装在Vmware workstation中的群晖,版本一致,都为DSM6.2.3。两台机器在同一个局域网内。主力机和备份机主力机套件中心里面安装Hyper Backup备份机里面需要安装Hyper Backup Vault,注意多

2021-08-20 18:43:35 4224

原创 VMware WorkStation5分钟快速安装黑群晖

最近玩群晖上瘾,各种折腾,越用越喜欢,不仅把旧电脑用上了,还实现了长久以来的一直想拥有的私人网盘、私人服务器。。。之前已经在物理机上安装过群晖,有点儿小复杂,最近想在windows里面也安装个群晖用来备份数据,结果发现使用vmware安装群晖更方便。本次使用群晖版本为6.2.3, 对应型号DS3617xs。宿主机CPU为i5-9600, 16G内存,准备把4T硬盘单独分给群晖使用。下载安装文件本文所用安装文件已经上传到网盘,下载地址见文末。创建群晖虚拟机VMware Workstation版本为

2021-08-19 16:22:31 8557

原创 python2, python3去除中英文空格

需求:去除字符串中所有的空格。python3去除中英文空格比较方便,首先要导入正则表达式包:import re然后就可以去除空格了,其中\u3000是中文空格的unicode码,\s则是正则表达式里面英文空格的表示,s其实就是spacebar的简写:s1="ab  c"re.sub(r'[\s\u3000]+','',s1) # 'abc'这种去除并没有改变原始字符串的值,所以如果要使用结果,你需要保存到其它变量中。python2的去除稍微复杂点,因为版本差异,python2,3的默认字

2021-08-17 12:44:03 690

原创 群晖-黑客来了咱不怕,自动封锁抓住它,还有邮件提示到我家

群晖被入侵了晚上一进群晖,好家伙,这么多IP想用admin登录我的群晖。我群晖是直接连在互联网上的,虽然我的密码是强密码,大小写字母加数字还有特殊字符,想要攻破有点儿难,但天天看着这些警告也是挺烦人的,而且说不定群晖里面安装的软件一多,可能还会有啥漏洞,所以必须要加强安全防护了。禁用admin首先就是要把admin禁用掉,打开用户账号,双击admin, 选择停用此用户账号。新建其它超级用户,自己想名称,最好是别人想破脑袋也想不到的用户名,比如nimabi0啥的。使用上图中的新增添加,按照提示一步

2021-07-29 14:38:13 3010 1

原创 群晖-新建自己的超级用户账户,提高安全性

新建超级用户一般群晖中的admin账户不要使用,很容易被攻击,尤其是你的群晖服务器连在互联网的时候,禁用之后,需要新建个超级用户来访问自己的服务器。打开控制面板,点击用户账号中的新增:填上你的用户名和密码,用户名想个别人猜不到的,密码可以使用随机密码,更安全,不过还是建议你自己想一个自己记得住的强密码,既长度大于8位的大小写字母+数字+特殊字符,比如!aBcD2099@之类的。用户组要选择administrators, 这个才是超级用户组,拥有全部权限和能力,超人组是也。再设置好共享文件夹的

2021-07-29 13:22:55 4938

原创 微信小程序-录音文件无法播放问题

微信开发者工具录音问题使用微信小程序开发者工具录制声音想看看声音质量如何,找到其所在目录,类似于下面这样:C:\Users\ange\AppData\Local\微信开发者工具\User Data\19f15250c2209a5aea2564e315f41723\WeappSimulator\WeappFileSystem\o6zAJs6fHsuYVMffU7XVspWDZ89g\touristappid\tmp文件倒是找到了,但这种文件没有办法用一般的播放器播放。比如vlc media p

2021-07-28 17:17:46 3320

原创 python-数值7如何转换成字符串007

想写脚本把一堆文件名前面添加上编号,类似于001,002这种,但如果直接使用数值呢,前面是没有0的,这时就需要用到python的字符串格式化功能。格式化数值代码:"{0:03d}".format(7) # '007'如果只想输出2位字符串?"{0:02d}".format(7) # '07'{0中的这个0表示的是参数序号。填充什么样的字符呢?冒号后面的就是要填充的样子。02d中的0表示用0来填充剩余空间,长度为2,d表示把数值转换成十进制,digital的简写。来看看更多的实例。后面

2021-07-28 10:37:33 428

原创 国内使用cnpm解决无法安装electron的问题

cnpm是什么?一些国外的包用npm无法安装或者是非常慢,因为npmjs.org服务器在国外。为解决这个问题,阿里巴巴推出了cnpm工具,其服务器将npmjs.org镜像到国内,同步频率目前为 10分钟一次,以尽量与官方服务保持同步,你可以用此代替官方版本。Election是什么?Election是一个用来开发跨平台桌面应用的框架,使用了Chromium来显示页面,这样 Chromium 的多进程结构也被充分利用。Chromium是现下最流行浏览器Chrome的内核,国内很多的浏览器都采用了此内核,包

2021-07-26 19:21:02 1035

dsm.6.2.3_ds3617xs1.03b

黑群晖DSM6.2.3,可用于vmwareWorkstation快速安装,内含vmdk文件

2021-08-19

空空如也

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

TA关注的人

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