精选文章:
所有 >
为什么要不用密码登陆服务器 对于自己常用的服务器来说,每次登陆服务器都需要输入密码确实很费劲,所以如何可以不使用密码登陆Linux服务器呢?不使用密码当然会使用其他东西了,例如:公钥私钥,所以问题就变成了如何使用公钥登陆Linux服务器,根据原理我们可以知道,首先我们需要生成一对公钥和私钥,之后将公钥写入服务器,登陆时携带私钥即可登陆。 生成密钥对 mac下生成密钥对 如果是在mac下,可以直接在终端输入: ssh-keygen -t rsa 然后直接回车就可以了。 windows下生成密钥对 如果是windows,那么如果说有安装vs code的话,可以在vs code中打开终端,然后输入: ssh-keygen -t rsa 之后回车即可,如果没有安装vs code的话,需要看下有没有安装git,如果安装了,可以在桌面右键打开git bash,然后输入以上命令。 生成的密钥对在当前用户的.ssh文件夹下,mac用户下在终端输入: cd cd .ssh ls 即可看到,我在终端输入这三条命令后,显示: config id_
2
min read
最近更新:
所有 >
简介今天在对一个系统设计进行技术选型的时候,纠结于是否继续使用H2轻量级数据库。H2虽然是java编写的,也很适用于java编程的数据库,但是之前在使用时还是发现了一些坑,而且用的人并不算多。于是考虑到了另一个数据库——SQLite。 我想试着把springboot项目跟SQLite结合使用,最好是还能结合JPA,但是我发现网上对于整合SQLite+SpringBoot+JPA的文章挺少的,有些写的也比较复杂,于是稍微研究了一下,整理了比较简单的整合版。 SQLite介绍SQLite是一个C语言编写的轻量级数据库,是一个实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎 ,被广泛应用于安卓端、PC端。 整合步骤 第一步,新建maven项目,添加必要的依赖,只需要springboot的、jpa的和sqlite的。 <!--springboot的必须依赖--> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent&
4
min read
2013 年 7 月,Android API 18 版本引入了对低功耗蓝牙 (BTLE) 的支持。随着越来越多的设备进入市场,增加对BTLE设备的支持已成为许多人的首要任务。但是,对于新手来说,深入研究Android BTLE文档可能有点令人生畏。本教程将演练 BTLE 的基本概念,然后显示代码片段,以进一步说明与远程设备的通信。 BTLE概念顾名思义,低功耗蓝牙旨在提供与经典蓝牙相似的通信范围,同时使用更少的功率。BTLE 设备将进入睡眠模式,并仅在连接尝试或事件时唤醒。因此,软件开发人员需要了解BTLE中的一些基本概念。了解这些我们在进行经典蓝牙编程时不关心的概念。 GATT 配置文件所有 BTLE 设备都实现一个或多个配置文件。配置文件是一个高级定义,描述如何使用服务来启用应用程序。低能耗应用程序配置文件基于通用属性配置文件 (GATT)。这是通过低能量链路发送和接收短数据(称为属性)的一般规范。 客户客户端是启动 GATT 命令并接受响应的设备。对于我们的示例,Android设备将充当客户端,因为这是一个典型的用例。但是,Android BTLE
9
min read
前言之前有了解到tailwindcss,发现还是很好用的,虽说网上最这种css方式异议颇多,但并不妨碍我对它的喜爱。然而在使用过程中还是产生了一些问题。最主要的就是tailwindcss样式太大了,如何压缩?如何去除多余的样式?生产环境中如何使用? 开发环境首次接触这个tailwind时当然是打开官方文档,查看安装使用教程,发现安装方式分为nodejs和cdn,为了测试效果,我就选择了cdn的方式,直接引用css文件,然后测试了一下像container、p-2这些,发现还是蛮好用的,但是这个cdn文件有将近4兆的大小,于是下载到本地,本地开发时引用本地的css文件,虽然依然很大,但是没有了网络的限制,所以直接开始了页面的制作。 <link href="https://unpkg.com/tailwindcss@^2/dist/tailwind.min.css" rel="stylesheet"> 使用方法很简单,就是html页面应用这个css文件即可。 生产环境随着页面逐渐制作完毕,我也到了把本地网页部署到服务器的时刻,所以开始考虑优化了,首先使用这种cdn的方式肯定是不可取了,即便带宽允许,但是加载很多无效的样式,实在是有点浪费,于是看文档如何优化,这也就到了使用node的时候。
6
min read
问题 这两天安卓开发遇到一个问题,MainActivity中的onCreate多次执行,我的程序是一个开屏页,倒计时5秒后使用startActivity跳转到MainActivity中,我在开屏页的onCreate和MainActivity中的onCreate都增加了日志,却发现只有MainActivity中的onCreate被执行了2次,原因不明。 解决过程(踩坑过程) 在进行简单的打印日志后发现,只有MainActivity的onCreate被莫名其妙的多执行了一次,于是开始处理问题: 根据进程判断(无效) 这是我在百度上找到的,博主的标题为:onCreate被多次(调用)执行的解决方法 ,博主写的一大堆知识我就直接选择性忽略掉了,直接CV一下代码: public void onCreate() { String curProcessName = getProcessName(this, android.os.Process.myPid()); if (curProcessName != null && curProcessName.equalsIgnoreCase(this.getPackageName())) { //初始化主线程资源 } else { //初始化其它进程的资源 return; } } public static String getProcessName(
5
min read
起因 最近有做跨境电商的朋友想要一个一键大小写转换的工具,具体来说就是把一句英语的所有单词首字母大写,这还不是有手就行?于是我分分钟就写了一个一键把所有单词的所有字母转换成大写和一个一键把所有单词的字母转换成小写的工具,简简单单!然而,我卡在了所有单词的首字母转大写这里。好吧,我收回我之前说的话。这个工具需要算法了。 核心 先说说怎么实现全部字母转大写和小写吧,基本上所有的语言都支持一键转大写和小写,在JavaScript中,方法为:String.toUpperCase() 和 String.toLowerCase(),也就是说放一个文本域,获取到文本域的值,然后使用上面两个方法来赋值就可以了。首字母转大写的话就在于如何让程序识别出来第一个字母,然后转大写。 分析 首先来看这个句子: this is my computer 需要转换的字母分别为:t、i、m和c,t我们可以直接转换第一个字母,那么我们就需要分析如何获取到i、m和c,他们都有一个共同的特点,就是前面有个空格,所以我们就可以从这一点下手,找空格。只要找到空格,就可以设置空格的后面一个字母为大小。好了,分析完成,开始写算法。 算法 根据空格,
5
min read
国庆节一直在下雨,我也没有办法出去愉快的玩耍,突然想到之前有在服务器上部署一个ocr文字识别接口,于是就想要做一个在线OCR识别工具,说干就干,但是打开了vs code却无从下手,页面应该怎么做呢? 想直接用识别接口的:https://zn.gg/tools/ocr 思路 首先需要上传图片 然后把图片转换成base64编码 之后通过ajax请求接口 展示返回识别到的内容 上传图片并获得base64编码 上传图片的话使用表单的input标签就可以,然后使用FileReader可以读取到图片内容,那么代码如下: <input type="file" accept="image/jpeg,image/png,image/jpg,image/png" onchange="uploadImg(this)" multiple/> <script>
6
min read
前言 使用nodejs的人越来越多了,相应的基于nodejs的框架也就越来越多,就像php很火,然后就出来了 Laravel 、ThinkPHP,java很火,出来了 spring 框架,由此可见,nodejs的框架在未来只会越来越多,而Eggjs就是阿里开发的一个基于nodejs的企业级框架,有兴趣的朋友可以去看一下。当然一个框架的好坏不仅取决于框架自身的设计,更多的则是对其它服务的兼容性,就像如果一个新出的框架不兼容mysql,那么这个框架即便再好又有什么用呢?提到了MySQL,就得进入我们的正题: redis 了,redis实在是太火了,各种微信公众号发布的教程类视频广告几乎有一半都是关于redis的,什么分布式啊、高并发的、12306啊等等,导致我现在看到redis就烦,不过玩归玩闹归闹,redis该用还是要用。so,egg怎么使用redis呢? egg-redis egg-redis是Egg框架下基于 ioredis 的Redis客户端(支持Redis Portocal)。 GitHub地址:https://github.com/eggjs/egg-redis 食用方法 安装egg-redis 安装egg-redis非常的简单,一句话: npm
2
min read
说到电影播放器(这里只说网页版),我能想到的有CMP4播放器,这是一个基于flash的播放器,想当年也是火的一塌糊涂,懂得都懂。还有ckplayer,这个播放器的功能很强大,如果是深度定制一下的话还是非常不错的,除此以外还有dplayer播放器,这个播放器我个人感觉是目前用的最多的,很苹果cms的站长都在用dplayer播放器,加上记忆播放、哔哩哔哩弹幕、P2P加速以及自动下一集(虽然记忆播放和自动下一集)基本上所有播放器都可以加,但是现在人家就是都在用dplayer,这个作者的博客我之前有看过,一个二次元大佬。不过今天并不是说以上这些播放器的,而是说GitHub的另一款开源HTML5播放器:Moovie.js ◼️ 它具有以下特征: 🔧 完全可定制且易于使用 💎 内置 字幕偏移量动态调整 功能 🎬 内置支持 .vtt 和 .srt 字幕文件 🕹 内置 Plugins, 使用你真正需要的代码 🎯 内置 CustomEvents, 可以添加多个当前时间事件 🖊 使用我们的 API dynamically 添加曲目/字幕 🗃 即时添加曲目 / 字幕(无需服务器或上传)locally 🌠 动态调整速度
4
min read
为什么要不用密码登陆服务器 对于自己常用的服务器来说,每次登陆服务器都需要输入密码确实很费劲,所以如何可以不使用密码登陆Linux服务器呢?不使用密码当然会使用其他东西了,例如:公钥私钥,所以问题就变成了如何使用公钥登陆Linux服务器,根据原理我们可以知道,首先我们需要生成一对公钥和私钥,之后将公钥写入服务器,登陆时携带私钥即可登陆。 生成密钥对 mac下生成密钥对 如果是在mac下,可以直接在终端输入: ssh-keygen -t rsa 然后直接回车就可以了。 windows下生成密钥对 如果是windows,那么如果说有安装vs code的话,可以在vs code中打开终端,然后输入: ssh-keygen -t rsa 之后回车即可,如果没有安装vs code的话,需要看下有没有安装git,如果安装了,可以在桌面右键打开git bash,然后输入以上命令。 生成的密钥对在当前用户的.ssh文件夹下,mac用户下在终端输入: cd cd .ssh ls 即可看到,我在终端输入这三条命令后,显示: config id_
2
min read