Lolipop's Studio.

Lolipop's Studio.

how about groping lights through young ages

loading
在 Nuxt.js 中引入高德地图并实现定位及逆地理编码

迷途知反!腾讯地图的 JS API 文档实在过于简陋,且库很久没有更新,转身投入高德地图的怀抱,享受 this moment 的美好!

高德地图与腾讯地图定位功能区别

高德地图将定位功能和逆地理编码功能分开为两个操作,而腾讯地图将二者合并。

这意味着使用高德地图实现逆地理编码,首先需要执行定位操作,再将得到的结果传给逆地理编码插件获得最后的结果。

此外,高德地图的逆地理编码无法解析中国以外的地理坐标,只能解析中国境内省市区等地理坐标。

引入高德地图 JS API 库

使用腾讯位置服务进行 Web 前端定位

正在开发的 Web 项目需要获取使用者的位置信息,而使用者主要通过移动端访问此 Web 服务。位置信息需要精确到区。在腾讯位置服务的定位解决方案里想要搜索可用的 JavaScript 库,只看到了服务端的 IP 定位和移动端的几个 SDK 包,甚异之。

终于在不起眼的地方找到了前端定位组件,适用于浏览器进行定位操作。

本文基于 Nuxt.js 实现前端定位功能。

它能做什么

组件旨在优化纯 HTML5 Geolocation 定位能力弱,定位成功率不高的问题,提供简单、易用的接口帮助业务层获取用户当前的位置信息(需用户授权),以降低开发成本,提升定位精准度。

除了常规的经纬度坐标以外,它返回的结果里还包含了 citydistrict 项,非常方面。

提示 *** is not a symbolic link 解决方案

问题描述

在 CentOS 环境下执行 yum updateldconfig 命令时都出现提示警告,节选内容如下所示:

1
2
3
ldconfig: /OSM/lib/librdmacm.so.1 is not a symbolic link
ldconfig: /OSM/lib/libgrpc++_reflection.so.1 is not a symbolic link
ldconfig: /OSM/lib/libupb.so.9 is not a symbolic link

错误分析

进入到对应目录下查找可以发现,这里的 librdmacm.so.1librdmacm.so.1.1.17.4 实际上是相同的动态库文件,而非我们期望的符号链接和动态库文件。

1
2
3
4
[root@xxx ~]# cd /OSM/lib
[root@xxx lib]# find librdmacm.so.1* | xargs ls -l
-rwx------. 1 root root 442208 Mar 9 16:13 librdmacm.so.1
-rwx------. 1 root root 442208 Mar 9 16:13 librdmacm.so.1.1.17.4
Nuxt 项目配置 ESLint 和 Prettier 检查并规范代码质量与格式

哪位代码人不希望自己的代码总有统一优美的风格,不会因为合作开发项目而杂乱呢?

在最开始写项目代码的时候我就用起了 ESLint 和 Prettier,再装一堆预设的配置,便跑了起来。令人沮丧的是,用 ESLint 修复了代码质量问题,还是会在编译器里看到红色波浪线,提醒还有些代码风格需要修复。直到这一次,我才忽然意识到 ESLint 和 Prettier 其实分工了不同领域,协同使用体验极好。

本文基于 Nuxt.js + VSCode 阐述如何配置并实现 ESLint + Prettier 检查并规范代码质量与格式。

ESLint 与 Prettier

ESLint 是一个开源的 JavaScript 代码检查工具,Prettier 是一款代码格式工具。它们的功能侧重如下所示:

  • ESLint:主要负责代码质量的校验,其次包含代码风格的检验。
  • Prettier:主要负责代码风格的校验。
Webpack 读取本地 Markdown 文件并进行预处理

在开发 NetUnion 的官网页面时,有这样一个需求:读取本地目录下的新闻和博客文件,并在前端渲染,其中文件均为 Markdown 格式。

与全栈开发直接调用后端数据库不同的是,没有数据表字段来记录文件的不同属性,例如文件的题目、作者、撰写日期等,因此这些属性需要记录在 .md 文件当中。

这样的撰写方式是不是很熟悉?没错,不就是我正在写的 Hexo 博客中 .md 文件的编写格式嘛!

自动导入本地的 .md 文件

当然,首先要读取某个目录下已经撰写好的 .md 文件,才能对内容进行预处理。

但如果每撰写好一个新的新闻或博客文件,就得在代码中 require 出来,太过于麻烦且不现实,因此就需要自动导入的方法。

一键安装并配置 MTProto Proxy 代理 Telegram

Telegram 和 MTProto 是什么

Telegram,中文名称为“电报”,或简称“tg”,是一款跨平台即时通讯软件,客户端完全开源。我觉得重要的有如下 Features:

  • 私密性高。不再使用的账号最长保留年限为 1 年,随时销毁聊天记录和一切账号资料。
  • 安全性。端对端加密,不受审查。
  • 完全免费。不限制上传文件(视频会有压缩),甚至可以拿来当备用网盘使用。不过已经确认会在将来布局群组广告,“钞能力”还是抵不过越来越多涌入的各国用户。

当然,在被屏蔽的地域需要翻墙使用。

MTProto 是一种协议,旨在帮助移动设备上的应用程序访问服务器的 Api 接口。

我们要做什么

使用 Github Actions 持续集成与部署 Hexo 博客

这是我撰写的第一篇与 Github Actions 有关的博客,那么就首先对 Github Actions 做一个简短的介绍吧。

Github Actions 是 Github 于 2018 年 10 月推出的持续集成服务(CI)。

大家知道,持续集成由很多操作组成,比如抓取代码、运行测试、登录远程服务器,发布到第三方服务等等。GitHub 把这些操作就称为 actions。
很多操作在不同项目里面是类似的,完全可以共享。GitHub 注意到了这一点,想出了一个很妙的点子,允许开发者把每个操作写成独立的脚本文件,存放到代码仓库,使得其他开发者可以引用。
如果你需要某个 action,不必自己写复杂的脚本,直接引用他人写好的 action 即可,整个持续集成过程,就变成了一个 actions 的组合。这就是 GitHub Actions 最特别的地方。
—— GitHub Actions 入门教程

不过在 Github Actions 的发展的过程中,它早已不局限于 CI 等功能,还可以用于各种自动化操作,例如百度贴吧自动签到(注:已失效。Github 官方会对此类利用服务器实现签到功能的仓库进行封禁打击,还是不要使用了吧)等。

持续集成与部署 Hexo 博客

搭建自己的 Hexo 博客那篇文章的最后,我们使用的是 hexo-deployer-git 一键部署到仓库的方式,实现手动构建个人博客网页并通过脚本推送部署到自己的 Github Pages.

IEEE 1471(ISO/IEC/IEEE 42010)架构描述方法
关于本文对软件体系架构的描述方法的研究基于 ISO/IEC/IEEE 42010. ISO/IEC/IEEE 42010 于 2011 年批准使用并发布,该标准是继 2006 年 ISO 快速采用 IEEE 标准后,ISO 和 IEEE 联合制定的修订 IEEE Std 1471:2000 的产物。 本文绝大多数内容通过 DeepL 翻译 ISO/IEC/IEEE 42010 原文得来。 本文系软件体系架构与设计模式课程中一项作业。 访问我的 CSDN 博客以查看此文章。
Windows 远程桌面连接指南

环境

本文以电子科技大学(沙河校区)的校园网为例。家用场合可能需要拨打网络运营商开公网 IP,或通过 FRP 等技术实现。

演示的系统如下:

  • 接受连接的主机: Windows 10 专业版
  • 进行连接的主机: Windows 10 任意版本

配置远程桌面

配置接受连接的主机

PyTorch 在 Windows 10 系统下的环境配置及安装
关于PyTorch 是一个开源的 Python 机器学习库,基于 Torch,用于自然语言处理等应用程序。 本文基于 Windows 10 系统实现 PyTorch 的安装与配置,并且演示了如何安装启用 NVIDIA 显卡的 GPU 加速。 访问我的 CSDN 博客以查看此文章。