Hi, WebAssembly

Hi, WebAssembly

说到前端,大家脑海中的飞过的第一个概念肯定是 Javascript + CSS + HTML,从 1995 诞生之初到现在,可以说是长盛不衰,一直位居最火编程语言之一的宝座,也是从那个时候到如今这么多年的发展,前端的语言基础基本确立,就是上面说的三剑客。很多浏览器加入了即时编译器,又称之为 JITs。在这种模式下,JavaScript 在运行的时候,JIT 选择模式然后基于这些模式使代码运行更快。这些 JITs 的引入是浏览器运行代码机制的一个转折点。所有的突然之间,JavaScript 的运行速度快了 10 倍。

阅读更多
.NET 5.0 Source Generators

.NET 5.0 Source Generators

Source Generators 目前还属于 Preview 状态

随着.NET 5 正式版的发布,我相信.NET 社区以及使用.NET 技术栈的工程师们已迎来新血液,.NET 5 发布了诸多新功能,例如:Top-level programs,这让我们可以像写脚本语言一样,不用需要声明命名空间和类,直接开写。新一代 GC,更高的编译性能,Dictionary<K,V>的匿名声明支持等等,其中有一项功能我在预览版就已经用于我的项目,并且解决了非常大的痛点,这项功能就是 Source Generators

阅读更多
QT Installer Framework

QT Installer Framework

最近在打包公司的一款 IM 聊天软件给客户使用的时候发现 Https 请求总是失败,但是却在开发机上面运行正常,QT 依赖了 OpenSSL 的运行库来支持 Https 请求,但是我已经把 OpenSSL ToolKit 库 libcrypto-1_1-x64.dll 和 libssl-1_1-x64.dll 拷贝到了软件执行的同级目录里头,但是依然不起作用,客户那边的日志一直都是 TLS initialization failed,后面搜索 Google 查了很多文章,最后找到了答案。

阅读更多
Typora 图片自动上传阿里OSS

Typora 图片自动上传阿里OSS

Typora 近期的新版本带来了图片上传自定义命令的支持,也就是说如果不想使用图床或者 uPic 的同学们,可以自己写命令了,我也是第一时间去对接了这个功能,毕竟我是重度 Typora 使用者,无论是公司的文档还是博客,我都是使用 Typora,当时想了一下应该用什么语言写呢?Java?.NET?C++? 好像都太重了,最后决定用 Shell 或者 Python,但是想了一下 Python 还要装环境,还是直接 Shell 吧,那仓库的选择还是阿里云 OSS 吧,价格便宜安心,现在感觉已经无法信任一些第三方的图床了,图片只有保存在自己云上面才安心,接下来就来说一下如何使用。

阅读更多
你好,Blazor

你好,Blazor

随着 .NET 5.0 预览版的出现,Blazor 也正式发布了,之前写过一个英雄联盟的战绩查询网站,用的是初代的 Blazor ,现在 dotnet 5.0 preview 也正式更新了全新的 Blazor,我也是第一时间体验,毕竟大家都是有经验的程序员,我们只从技术选型,开发体验,框架设计等维度,浅层的聊一聊,

阅读更多
Avalonia 体验

Avalonia 体验

最近在做跨平台(Mac OS 和 Windows)的项目,虽然最终采用了 QT 和 C++ 的组合,但是依然试水一下 Avalonia ,毕竟是 Star 了好几年的跨平台 WPF 框架,因为之前一直没有跨 Mac OS 的需求,所以一直在用 Windows 平台下的 .NET WPF,今天来看看 Avalonia 跨平台 WPF 的体验吧。

阅读更多
QT 异形窗口

QT 异形窗口

这段时间在做一款跨平台的 IM 通讯软件,需要 Mac OS 和 Windows 都可以使用,看来我之前的 WPF,UWP 之类的技术栈用不上了,只能在 Electron 或者 QT 之类的跨平台框架中选择了,最终选了 QT,Electron 毕竟是 CEF 框架的产物,使用体验还有开发体验都不如 QT,由于需要高度定制化 UI,所以我没有选择使用系统原生的 TitleBar 和 Windows 样式,这里自己构建一个异形窗体来匹配体验,接下来就说一下如何创建 QT 的异形窗体。

阅读更多
Dotnet Consul 服务发现

Dotnet Consul 服务发现

在分布式架构中,服务治理是必须面对的问题,如果缺乏简单有效治理方案,各服务之间只能通过人肉配置的方式进行服务关系管理,当遇到服务关系变化时,就会变得极其麻烦且容易出错,Consul 是一个用来实现分布式系统服务发现与配置的开源工具。它内置了服务注册与发现框架、分布一致性协议实现、健康检查、Key/Value 存储、多数据中心方案,不再需要依赖其他工具(比如 ZooKeeper 等),使用起来也较为简单。

阅读更多
Trojan搭建私人VPN

Trojan搭建私人VPN

首先先介绍一下 Trojan 是什么?Trojan 可以伪装 HTTPS 数据包,这种机制可帮助您绕过 Great FireWall。Trojan 在 TLS 上具有多种协议,可避免主动/被动检测和 ISP QoS 限制。 Trojan 不是固定程序或协议。 这是一个想法,在某种程度上模仿最常见的服务,使其行为相同,可以帮助您永久性穿越 Great FireWall。

阅读更多
.NET框架到底是什么?

.NET框架到底是什么?

最近在面试大厂中,面试官频繁的问到一个问题,**.NET 框架是什么?怎么运行?**可以详细解释一下吗?还好之前看过《CLR VIA C#》这本著作,还是可以回答上的,现在想通过这次机会写一篇系统的文章来介绍一下。

阅读更多