在MySQL基础上速通PostgreSQL
前言
因为一些缘故,接触了一下对空间地理数据的分析工作。忙完以后,想了想决定写下这篇文章,方便日后如有需要,可以快速查阅,也供后人参考。
背景条件
在我的分析过程中,需要使用PostgreSQL,但我之前用MySQL/MariaDB比较多,稍微花了一点点时间适应。怕下次忘了,干脆写出来。
本文还假设你已经具备了最基本的SQL,尤其是MySQL知识。有了这些基础知识,我们的适应就会非常迅速。
因为一些缘故,接触了一下对空间地理数据的分析工作。忙完以后,想了想决定写下这篇文章,方便日后如有需要,可以快速查阅,也供后人参考。
在我的分析过程中,需要使用PostgreSQL,但我之前用MySQL/MariaDB比较多,稍微花了一点点时间适应。怕下次忘了,干脆写出来。
本文还假设你已经具备了最基本的SQL,尤其是MySQL知识。有了这些基础知识,我们的适应就会非常迅速。
因为一些缘故,接触了一下对空间地理数据的分析工作。忙完以后,想了想决定写下这篇文章,方便日后如有需要,可以快速查阅,也供后人参考。
我们主要是针对给定的空间地理数据(如GeoJson,Shapefile)进行一些数据提取和分析,获得我们想要的分析结果。本文不讨论这些数据如何收集,抑或是如何编制,我们只讨论分析方面的内容,并且也不会涉及非常深,因为本文重点更在于,快速介绍对地理数据进行分析的大致方法,而具体的分析思路、分析流程,是各位灵感发挥的重要地方。
本文会涉及到对PostgreSQL数据库的使用,建议未接触过PostgreSQL的读者自行查阅相关的基础资料。不过,假如对基本的SQL,特别是MySQL/MariaDB有基本的了解,甚至是一定的使用经验,可以参考本文的前序文章在MySQL基础上速通PostgreSQL
想必各位对ASP.NET Core容器化部署,特别是微软非常喜欢强调的 微服务(Micro-Service) 概念有一定的兴趣。
这一过程需要使用到ASP.NET Core, Docker, Nginx三个组件,要让它们相互良好地配合起来,还是需要精心编写一下配置文件的。
然而,当真的开始着手实操的时候,假如阅读微软文档给出的一些文章或者链接,例如:
或许对于幼儿园的小朋友来说,这些文章可能显得比较幼稚。但对我这种饭来张口衣来伸手的大学生来说,这些文章只能说刚刚好。把文章拼起来就是需要的答案,可惜在尝试的过程中会显得有些不适。所以不妨总结一下,如何将一个ASP.NET Core Web应用部署到Docker中,然后用Nginx做反向代理进行访问。
叔叔我啊,最讨厌不能赚钱的东西了。
今年不知道哪个版本号更新后,Windows应用商店里的B站客户端下载的视频即便设置导出为MP4文件,也无法直接用通用的视频播放器播放,这实在是有失体统。偌大一个公司开发的软件,怎么能“写错”这么基本的功能呢?
MP4文件头为三个00
字节,这是公开的标准。我们将从B站上随意下载的一个视频放到十六进制编辑器中,可以看到
1 | Hex View 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F |
后面都是很正常的MP4文件内容,唯独在文件前端,多出了三个FF
字节,这就是导致下载的视频文件无法被通用视频播放器播放的原因。我想肯定是程序员不小心写出来的bug啦,才不是叔叔想要赚钱呢!
那么接下来,我们就帮粗心的程序员修复一下下载的文件,让它们能被正常播放吧!
如果电脑上有Linux环境(WSL也可以),那就是再方便不过的事情啦。只需要执行如下命令:
1 | tail -c +4 YourLoveYourLife.mp4 > LemonRipe.mp4 |
其中,tail
读取文件内容并输出到标准输出中。-c +NUM
参数,代表从NUM
位字节开始读取文件内容,如上面的-c +4
表示从第4个字节开始读取文件(跳过前3个FF
字节),YourLoveYourLife.mp4
是你使用Windows哔哩哔哩客户端下载的视频文件路径,LemonRipe.mp4
是最终你生成的可以用第三方播放器播放的视频文件路径。使用>
进行输出重定向。
前几天在咸鱼上买到了一块龙芯的电脑主板,CPU型号是龙芯(Loongson) 3A3000,芯片组似乎是780E。回来装系统的时候遇到了不少麻烦,这里记录一下,如果能帮到后来者,那自然是最好不过。
实际上,我仍然推荐有条件的用户,使用龙芯官方适配的操作系统Loongnix,因为这是龙芯优化过的系统。
只不过,因为mips64el架构上的Loongnix是基于Fedora发行版的,且版本古老。我个人习惯的环境是Debian,只有LoongArch上的Loongnix才是基于Debian制作的。况且,Loongnix默认带一个GUI,连服务器版都带,我不是很喜欢先装后卸,因此我还是希望安装一个相对干净的Debian系统上去。
这个系列的文章姑且需要告一段落,原因非常简单——关于最佳架构的讨论,无论是在Github上,还是在微软官方提供的实例/电子书中,都已经得到了较多的讨论。我仔细思考后,发现没有手把手开始再写一次的必要。
目前,关于ASP.NET Core架构的最佳实践问题,我打算先静下心来,仔细读一读相关的书籍和源代码,相关内容的更新,也暂时将切换形式为读书笔记之类的内容。
毕竟,如果不读书,一昧输出自己的观点只能是误人子弟,圈地自萌罢了。
终于考完期末考试了,趁着我的手机游戏还在清空体力,让我们先开个题目,即:
ASP.NET Core 6 Web API 最佳实践探索
开这个坑,主要是想记录一下自己写ASP.NET Core Web API程序时候,学习到的一些关于程序架构设计,项目的拆分和设计这方面的内容,或许这会使得我未来写项目时候,不至于像现在这样东拼西凑。
写了一半以后回来的补充: 写着写着发现文体又变成了新手入门体,面面俱到,然而这样不太利于这一系列文章的展开。所以,文章假定各位读者具有一定的Web开发基本常识。这样接下来会轻松很多。
这篇文章将介绍一种方法,使用Windows Subsystem for Linux (WSL), Alpine Linux发行版, Git等工具,配置一个方便易用的的Hexo博客编写系统。
如果结合已有的网站服务器,还可以使用Git快速进行站点部署与更新。
自从Eclipse基金会将Java EE转到Jakarta
EE后,一些软件包的名称就发生了变化。而最新版的Tomcat
10,也将jakarta
作为默认的命名空间。因此,从未来的角度考虑,我们新建Java
Web项目的时候,就应该使用jakarta
而不是javax
了。
在IDEA里边,选用哪个命名空间,有一个选项可以直接切换。而如果使用的是开源的IDE
Eclipse
JEE版本,情况可能会让新手摸不着头脑。为了避免日后再次踩坑,这里记录一下,如何使用Eclipse
jee新建一个web项目,并使用jakarta
命名空间以兼容Tomcat
10或以上版本。
主要吧,现在在Windows上,不管有什么多种多样的shell移植如Msys,Cygwin之类,用得最多最方便的,特别是和我目前主要使用的两个IDE/编辑器: Visual Studio与Visual Studio Code最相合的,肯定是Powershell。
但是,默认的Powershell自动补全非常难用,可以自动补全的参数就寥寥几个。我觉得还是可以稍微改进一下。
最近需要用Latex编写文章,总有为选择的环境发愁的时候,但Tex Studio的操作体验不能说非常好,字体显示,自动补全都比较麻烦。从易用性角度还是选用了VSCode。一开始以为配置VSCode使用LaTeX会非常麻烦,但实际上,这比想象中简单很多。