Mac

Git

  • 查看 ts 文件增删记录

    1
    2
    date="2025-04-29";authorName=$(git config user.name);git log --all --author=${authorName} --since="${date} 00:00:00" --until="${date} 23:59:59" --pretty=tformat: --numstat | awk '$3 ~ /\.ts$/ { add += $1; subs += $2; loc += $1 - $2 } END { printf "added lines: %s, removed lines: %s, total lines: %s\n", add, subs, loc }'

  • 查看所有提交记录

    1
    date="2025-02-20";authorName=$(git config user.name);git log --source --all --author="${authorName}" --since="${date}" --until="${date} 23:59:59" --oneline --graph --decorate

System

  • 查看应用内存使用
    1
    ps -axo rss,comm | grep 'Google Chrome' | awk '{sum+=$1} END {print sum/1024 " MB"}'

Mac

Ruby

  • rvm 安装 ruby 报错。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    brew install ruby
    // 查看自己安装的是哪个版本

    rvm mount /usr/local/Cellar/ruby/3.4.2
    // mount命令好像会让你自己起名,没起直接用默认的了。

    // rvm list查看名字
    rvm use ext-ruby-3.4.2-rd2930f8e7a --default

    // use后环境可能有问题,重登shell ruby依然使用的系统ruby,直接重装rvm
    rvm get stable --auto-dotfiles
  • rvm 安装警告,乱七八糟的问题。

    1
    2
    3
    4
    // 直接重装
    rvm implode
    \curl -sSL https://get.rvm.io | bash
    source ~/.rvm/scripts/rvm

零食

饼干

  • 法丽兹曲奇饼干

    不要买抹茶的。

  • 费列罗榛子巧克力夹心威化饼干

    最好吃的威化。

  • 费列罗能多益榛子巧克力夹心饼干

    不如夹心威化。

  • 煌记黑松露火腿苏打饼干

    好吃,偏咸口。

  • Aji 惊奇脆片饼干

肉类

  • 京东京造 超干风干牛肉片麻辣味

    好吃,品控不稳定,遇到过怪味的,发霉的。

豆干

  • 源氏香菇豆干
  • 大话三国张飞豆干夹心脆笋豆卷

巧克力

  • Lindt 瑞士莲巧克力软心夹心黑巧克力

    量大好吃

菌菇

  • 滇二娃云南即食菌菇

即食

  • 思念猪肉豆角焖面

    味正,口感也可以

  • 金拉面

    面口感號

  • 悦味纪 全麦荠菜膳食包

    健康

  • 正宗建德豆腐包

    好吃

Mac

音频

  • 库乐队

    剪音频

  • ffmpeg

    转格式

    1
    2
    // mp3
    ffmpeg -i ${file} -acodec libmp3lame -b:a 320k -vn ${output} -y -loglevel quiet
Read more »

开发日记

项目管理

  • 确定需求时直接判断是否大量复用,拆分成公用组件。
  • App版本号规范,MAJOR.MINOR.PATCH。

    版本迭代更新MINOR,服务器也至少通过MINOR判断对应服务器。PATCH更新不需要对应服务器。ios app每次提审后都需要更新PATCH版本号,因此如果使用PATCH对应服务器版本则提审后再次更新都需要更新对应服务器。

目录结构

定义类型声明

  • 通用类型声明最好放一块, 便于查找, 避免定义过多重复类型。
  • 单独类型放入各自目录下, 避免于通用类型声明混淆。
1
2
3
4
5
6
7
scripts/
├── interfaces/ -->接口
│ ├── IUser.ts
│ └── IReward.ts
├── activities/activity/ -->某单独活动
│ └── interfaces/
│ └── IActivity.ts

代码大全

软件构建中的设计

代码设计基本特性

  • 最小复杂度
  • 易于维护
  • 松散耦合
  • 可扩展性
  • 可重用性
  • 高扇入 (大量的类使用给定的类, 例如工具类)
  • 低扇出 (一个类适中地使用其他类)
  • 可移植性
  • 精简性
  • 层次性
  • 标准技术
    Read more »

Error Debug

Cmake GLFW Error

$\color{red}{Could not find any instance of Visual Studio.}$

  • Visual Studio Installer 安装 单个组件 -> 用于Cmake的工具、工作负载 -> Visual Studio 扩展开发

$\color{red}{No CMAKE_C_COMPILER could be found.}$

  • Visual Studio Installer 安装 单个组件 -> windows SDK

Deploy

Error:

Error: listen EACCES: permission denied 0.0.0.0:xxxx

- 检查端口是否被占用 netstat -ano|findstr "xxxx" (windows);
- net stop winnat
  net start winnat

Unity VR

环境配置

Project Settings

  • XR Plug-in Management -> Oculus -> Stereo Rendering Mode -> Multi Pass

  • Player -> android -> Other Settings -> Graphics APIs 添加 OpenGLES3

Build Settings

  • Android

    • Run Device -> Oculus Quest -> Switch Platform

    • Texture Compression -> ASTC

explicit

构造用explicit声明,防止非必要的隐式转换

reference &

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <iostream>

int main()
{
int val = 1024;
int &refVal = ival;

int ii = val;

std::cout << val << " " << refVal << " " << ii << std::endl;

val = 1025;
std::cout << val << " " << refVal << " " << ii << std::endl;

refVal = 1026;
std::cout << val << " " << refVal << " " << ii << std::endl;

return 0;
}

// 1024 1024 1024
// 1025 1025 1024
// 1026 1026 1024

0%