2023-02-15 01:59:35    34    0    0

剧版三体全剧终,总体来说还原度还是很高的。即使没有动画版本的衬托我觉得也是有7分的。如果不是把史强中间有几集刻画有点憨批,然后再删点家庭戏,剧情紧凑些,或许能更好。不过能播就不错了,确实太坎坷了。 PS:统帅年轻时真好看

最近总是睡的有点晚,都怪三体上的那么晚(疯狂甩锅),去年下半年也太咸,是时候立一些新年Flag了。

  • 《重构》或者《代码整洁之道》至少看一本
  • 把陈皓在极客时间上的《左耳听风》看完
  • 重学数据库,抄一遍sqlite
  • 玩VR,至少写个Hello World
2022-10-16 21:49:31    223    0    0

零、背景

没忍住,入手了Huawei Matebook E Go,一个在高通骁龙 8cx Gen3上装 Windows 的二合一产品

到手折腾了一下这上面怎么搭建开发环境,Visual Studio和VS Code其实都有Arm64的原生版本了,但是还是想折腾一下IDEA。IDEA的官网并没有区分指令集,下载下来发现IDEA就是x64的。

title

非原生运行也不是不行,就是觉得不清真,但是响应速度很慢。 好在Jetbrain家的IDE都是拿Java写的,这就给了折腾空间。这篇记录一下折腾的过程。

一、安装ARM64版本的JDK

首先是下载 arm64 的原生JDK,都上微软的系统了,那就顺手下载一个 微软构建的OpenJDK 吧。我现在下载的是17,建议下载安装包而不是压缩包,安装包会自动设置环境变量PATHJAVA_HOME

二、替换IDEA的JRE

然后是下载IDEA的压缩包,方便后面去替换文件。

微软JDK的安装路径是C:\Program Files (Arm)\Microsoft\jdk-17.0.4.101-hotspot\JAVA_HOME也在这里。将IDEA的压缩解压后,就需要使用微软JDK里面的JRE替换Jetbrain自带的JRE,直接将C:\Program Files (Arm)\Microsoft\jdk-17.0.4.101-hotspot下的全部内容拷贝到ideaIC-2022.2.3.win\jbr下,然后运行ideaIC-2022.2.3.win\bin\idea.bat,这就算初步实现了Arm64原生运行IDEA。

title

此时写个 Hello world 其实已经能跑了,但是你会发现有时候构建/运行会出现报错,如果关掉IDEA重新打开,就又好了,重新新建项目,又有这个问题,似乎一次启动中第一次打开的项目就不会有问题。

title

报错内容:Could not initialize class org.jvnet.winp.Native

三、重新编译打包winp.jar

都走到这了,就再折腾一波

搜了一下winp,发现是一个Java库,给win的一个用来管理进程的库。通过jar -xvf

windows C++    2021-10-17 00:05:21    313    0    0

零、背景

看到兆芯笔记本竟然只要一千多,是真的便宜。于是一个没忍住,剁手了。。。为了能更愉快的玩耍Rust,还是有必要装一下msvc。装msvc就顺手装了Visual Studio,就顺手写了个hello world,但是KX 6640MA的单核性能实在孱弱,Visual Studio用起来真卡,还是编辑器比较流畅,于是就有了这篇记录。

一、安装visual studio

首先去官网下个安装器,用在线安装器安装VS Community 现在都找不到离线安装包,如果网络不是很科学,可能这里会有点难受 。选C++桌面即可。

二、安装visual studio code

VS Code官网下载安装一下,我选择的是User Setup 64bit。

三、安装插件,创建Hello World

这部分参考这里的文档

1.安装C++插件

启动VS Code后,找到左侧扩展,搜索C++即可

2.创建Hello World

打开powershell或者cmd,执行下面的命令,即可打开一个文件夹作为工作区

选择信任

选择新建文件,取名为hello.cpp

并随便写个hello world,比如:

  1. #include<iostream>
  2. using namespace std;
  3. int main(){
  4. cout << "hello world" << endl;
  5. return 0;
  6. }

3.创建调试配置文件

Ctrl+F5,弹出的框框选择C++ (Windows),然后选择cl.exe。会自动生成launch.json

创建好了之后,选择hello.cpp标签页,再次使用Ctrl+F5快捷键。其实会报错,把命令cl.exe /Zi /EHsc /nologo /Fe: C:\Users\Square\Code\vs_code\hello_world\hello_world.exe C:\Users\Square\Code\vs_code\hello_world\hello_world.cpp复制出来到cmd执行以下,不难发现是cl.exe找不到。这就引出最后一步了

四、

2021-07-26 23:49:14    671    0    0

0. 背景

Chrome OS其实最初只能用浏览器,但是随着安卓和Linux虚拟机的加入,不管是娱乐性还是生产性都得到了极大的提高。作为半吊子C艹开发,手里的Chromebook也使用了近两年了,是时候总结一下使用体验了。

鄙人设备:
型号: ASUS Chromebook C425.
CPU: m3-8100Y
RAM: 8GB LPDDR3 RAM
Disk: 64GB emmc
屏幕: 14 英寸,1920 x 1080
尺寸: 32 x 20.83 x 1.78 cm;
重量: 1.32 公斤

1. 娱乐

1) 看视频

感谢AMD,虽然intel还是没换架构,但是第八代intel的牙膏挤的还是很足的,8100Y作为超低压处理器,最大睿频从7y30的2.6Ghz提升到了现在的3.4Ghz,已经快赶上6700HQ了。核显搭载了UHD 615。虽说游戏性能就那样,但是可以流畅播放油管4K60fps视频。以国内流媒体平台分辨率和码率的发展速度,我觉得可以再撑3年都不过时。

2) 安卓

微软内置Linux虚拟的和安卓这些。。。作为一个Chrome OS用户,我真的想问:就这?这边早就支持了。而且play商店生态不比亚马逊的丰富?

实测QQ/抖音/WPS这些都是能用的,还玩了愤怒的小鸟,也能跑。除了QQ的滑动有Bug, 别的都还好。

2. 写C++

1) Termux

如果只是简单的几十行的代码,其实未经配置的vim就足够胜任了。Termux打包了各种常用工具,apt一键部署,非常方便。caddy,clang,jdk,python等等均可一键安装。vim + clang就足够了。

2) CLion

Chrome OS自带了一个debian虚拟机,这就给了他直接运行Linux桌面应用的可能。

title

如果是写其他语言,Linux怎么配环境,基本上可以照搬过来。比如Java,装个JDK然后下个IDEA就行。

3) Qt

CLion虽然好用,但怎么说也是要钱的东西,能不用盗版还是不要用盗版。免费的里面,我比较喜欢用Qt。Qt可以写GUI,也可以写常规的C++程序。使用sudo apt inst

Vue Markdown Echart 前端    2021-07-21 19:28:33    959    0    0
最近碰到一个需求,在vue项目中把markdown渲染成网页展示,并且支持图表展示。markdown的渲染好说,使用markdown-it即可。数据图表就棘手了。常见的图表展示就是用的echart,而且echart以前用过,好上手。但是在markdown-it里面展示出来我就没试过了。在markdown-it的插件中找到两个插件: ![](/api/file/getImage?fileId=60
Linux Go    2021-07-16 18:39:49    1183    0    0
OS:ArchLinux go version:go1.16.5 linux/amd64 GoLand version: 2021.1.3 Debug错误信息: ``` API server listening at: [::]:40487 could not launch process: could not open debug info Debugger finished with t
Rust    2021-04-14 14:29:32    316    0    0
# Vector ## 新建vector ```rust let v: Vec = Vec::new(); let v = vec![1, 2, 3]; ``` ## 修改vector ```rust #![allow(unused)] fn main() { let mut v = Vec::new(); //一定要mut v.push(5); } ``` ## 访
Rust    2021-04-14 13:15:05    410    0    0
# 所有权 所有运行的程序都必须管理其使用计算机内存的方式。 有些语言具有垃圾回收机制,在程序运行时不断地寻找不再使用的内存(比如Java); 有些语言中,程序员必须亲自分配和释放内存(C/C++)。 Rust 则选择了第三种方式:通过所有权系统管理内存,编译器在编译时会根据一系列的规则进行检查。在运行时,所有权系统的任何功能都不会减慢程序。 ## 所有权规则 首先,让我们看一下所有权的规
Rust    2021-04-07 19:45:08    312    0    0
# 变量与可变性 ## 可变性 > 变量默认是不可改变的(immutable)。这是推动你以充分利用 Rust 提供的安全性和简单并发性来编写代码的众多方式之一。当变量不可变时,一旦值被绑定一个名称上,你就不能改变这个值。 ```rust fn main() { let x = 5; println!("The value of x is: {}", x); x =
Rust    2021-04-01 11:42:33    256    0    0

安装

按照教程指导,应该执行命令来
$ curl --proto '=https' --tlsv1.2 https://sh.rustup.rs -sSf | sh 来进行安装。。。不过我看Arch Linux已经打包了,那就用Arch仓库里的吧。

  1. sudo pacman -S rustup
  2. rustup toolchain install stable

第一条命令会把rustup安装到/usr/bin/rustup,第二条命令会把rust工具链(比如编译器,调试器)的稳定版安装到~/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/

Windows用户需要下载Rust安装工具,如果直接执行安装工具会要求安装msvc,除非只想生成GNU ABI的程序。因此,安装Rust之前,需要去微软网站上下载msvc安装器

如果网络环境不好,这里有一份rustup-init.exe的备份。msvc太大了,自行解决

rust离线安装包下载地址:https://forge.rust-lang.org/infra/other-installation-methods.html#standalone-installers

Hello World!

当学习一门新语言的时候,使用该语言在屏幕上打印 Hello, world! 是一项传统,我们将沿用这一传统!

对于单文件的程序,可以直接新建一个文件main.rs,然后写入以下内容

  1. fn main() {
  2. println!("Hello, world!");
  3. }

保存并退出后,执行rustc main.rs,就会生成一个名字为main的可执行文件。执行./main即可执行文件,此时会在终端看到输出。

  1. Hello, world!

注意:
1. 当看到符号 ! 的时候,就意味着调用的是宏而不是普通函数
2. Rust 的缩进风格使用 4 个空格,而不是 1 个制表符(tab)。

Hello, Cargo!

那么对于多文件的大项目要如何管理/构建呢?Rust官方

1/3