爱大客 - 2024年12月
type: channel
link: https://www.idarc.cn/index.php/2024/12/
description: Every piece of all creatures in this freezing world, are racing for freedom.
items: 深圳创业/企业补贴
items: Typescript入门
items: 世界语言地图
items: 如何做像素动画
items: 微信小程序/Excel UTF-8编码问题及其相关
items: 86岁
items: cursor claude3.5 sonnet调试坑集

深圳创业/企业补贴
type: item
date: 2024-12-26T18:11:13+08:00
description: 信息来源: 广东政务服务网(也是申请平台) 采集日期: 2024/12/26 创业类补贴(国家标准名：创业补贴申领) 一次性创业资助申领 补贴条件：1.初创企业的法定代表人或经营者（女性不超过55周岁、男性不超过60周岁）符合以下条件之一： （1）普通高等学校、中等职业学校、技工院校学生（在校及毕业5年内）和毕业5年内的出国（境）留学回国人员； （2）军转干部、退役军人； （3）登记失业人员、就业困难人员、本省脱贫人口； （4）返乡创业人员，具体包括： 第一类：户籍地为广州、深圳、珠海、佛山、东莞、中山市，离开户籍所在地市外出求学（指在普通高等学校、中等职业学校、技工院校求学，下同）、务工后返回原户籍地所辖乡镇（行政区域中无乡镇的可适当调整）创业的劳动者（以营业执照所载地址为准）； 第二类：在第一项列举地区以外市所辖乡镇创业（不含创办个体工商户）的各类劳动者（有关地市可根据地方经济发展水平、资金承受能力等情况，自行确定是否将县城镇、中心镇除外）； 第三类：户籍地为第一项列举地区以外市，离开户籍所在地市外出求学、务工后返回原户籍地市辖区内创业的劳动者； （5）创办驿道客栈、民宿、农家乐的人员。 2.初创企业登记注册满6个月，申请补贴前连续3个月有在职员工（不含法定代表人或经营者）正常缴纳社会保险费，且申请时未被市场监管部门列入“经营异常名录”。 补贴对象：符合条件的创业者。符合条件人员和创办主体只能享受一次创业资助。 补贴标准：10000元。 补贴期限：一次性。 创业带动就业补贴申领(国家标准名：创业补贴申领) 补贴条件：1.初创企业招用员工（签订一年以上期限劳动合同、申请补贴前连续6个月为招用员工缴纳社会保险费且申请补贴时仍在本企业就业，法定代表人或个体户经营者除外）。2.初创企业吸纳劳动者就业申请补贴后12个月内，不同初创企业吸纳同一劳动者就业的不能再次申领补贴。 补贴对象：符合条件的用人单位（所有股东均为法人股东的企业、劳务派遣企业除外）。同一法定代表人名下有多家初创企业的，只有一家可申请创业带动就业补贴。 补贴标准：招用3人以下的按每人2000元给予补贴；招用4人以上的每增加1人给予3000元补贴，总额最高不超过3万元。 首次补贴申请应于相关创业主体登记注册之日起3年内提出，最后一次申请时间不得超过登记注册之日起4年。 创业租金补贴申领(国家标准名：创业补贴申领) 受理条件 补贴条件：1.初创企业的法定代表人或经营者（女性不超过55周岁、男性不超过60周岁）符合以下条件之一： （1）普通高等学校、中等职业学校、技工院校学生（在校及毕业5年内）和毕业5年内的出国（境）留学回国人员； （2）军转干部、退役军人； （3）登记失业人员、就业困难人员、本省脱贫人口； （4）创办驿道客栈、民宿、农家乐的人员。 2.初创企业租赁场地用于经营（租赁地址与注册登记地一致），相关场地非法定代表人或经营者自有物业。 3.初创企业申请补贴前连续3个月有在职员工（不含法定代表人或经营者）正常缴纳社会保险费，且申请时未被市场监管部门列入“经营异常名录”。 补贴对象：符合条件的创业者。 补贴标准：珠三角地区每年最高6000元、其他地区每年最高4000元。 补贴期限：累计不超过3年。 6000补三年即500每月12月3年=18000元. 创业孵化补贴申领 (国家标准名：创业补贴申领) 补贴条件：1.县级以上人力资源社会保障部门认定的创业孵化基地为普通高等学校、中等职业学校、技工院校学生（在校及毕业5年内）、毕业5年内的出国（境）留学回国人员、港澳台青年、就业困难人员、返乡创业人员、退役军人等六类创业者提供1年以上的创业孵化服务并孵化成功（入孵团队在孵化期内登记注册，六类创业者为法定代表人）。2.入孵创业实体的营业执照地址在基地地址范围内，申请时未被市场监管部门列入“经营异常名录”。3.同一创业者有多家创业实体入驻创业孵化基地的，只有一家企业符合补贴条件。 补贴对象：符合条件的创业孵化基地运营主体或主办单位。 补贴标准：按每年每户3000元标准给予补贴。 补贴期限：从登记注册之日起算，最长不超过2年。 这个只针对孵化器 创业培训补贴申领 (无国家标准名) 补贴条件：1.创业培训定点机构（或特色创业实训承办机构）为有创业要求和培训愿望并具备一定创业条件的城乡劳动者（含普通高等学校、中等职业院校、技工院校在校生）提供免费创业培训。2.相关人员参加创业培训后取得创业培训（实训）合格证书。 补贴对象：符合条件的培训机构。 补贴标准：1.创办企业培训（GYB+SYB，共80学时）每人最高可补贴1500元。2.网络创业培训每人最高可补贴2000元。3.特色创业实训每人最高可补贴2800元。 补贴期限：符合条件的人员每种类型只能享受一次创业培训补贴，每年最多享受一种类…

Typescript入门
type: item
date: 2024-12-20T18:10:12+08:00
description: 好久没有写过这种给自己"入门"的文章了. 不过最近看一篇文章强推Typescript, 还把js比作汇编, ts比作高级语言, 说你看现在还有几个人用汇编, 以后大家一样都是用ts的, 强推味道太重, 不过下载cocos creator, 也已经把ts作为默认语言了, 另外小程序也支持ts(似乎需要特殊设置一下,默认还是js), 再加上最近几年ts在语言排行榜上爬升很快, 看来不得不了解了. 参考教程:https://www.runoob.com/typescript/ts-features.html 在线playground: https://www.typescriptlang.org/play 安装 npm i -g typescript 即可, 安装后tsc可以运行就说明安装成功. 编译 tsc file.ts即可编译成file.js 在项目中, 可以先初始化文件夹tsc --init, 然后修改tsconfig.json,将"outDir": "./build",, 这样只运行tsc可以自动编译到build目录中. REPL 由于运行tsc是用来编译的, REPL需要安装npm i -g ts-node, 然后运行ts-node即可. 类型定义: 变量后 : 类型名 如果:any则和js一样不限制类型. 函数形参: 必须定义类型 let/const 变量: 可以不定义, 自动取初始化类型. 如果不初始化, 则类型为any 对象成员: 可以不定义, 自动取初始化类型. 因为这个过于灵活, 所以有了interface关键词, 专门用来定义class的类型. 新关键字 interface implements 定义class需要遵从的形式 interface Person { name: string; age: number; greet(): void; } class Student implements Person { constructor(public name: string, public age: number) {} greet() { console.log(`Hello, my name is ${this.name}`); } } 新关键字 type 定义新类型 type StringOrNumber = string | number; let value: StringOrNumber = 42; 新关键词 as 因为js的不同类型有不同的方法, 有时候ts无法判断any类型,也就不知道这个变量有没有对应方法, 这时候就要用as来强制转换类型,以便访问该类型的方法 let value: any = "hello"; let strLength: number = (value as string).length; 新关键字 public private protected 定义对象成员的访问权限 新关键字 enum 定义枚举类型. 注意enum的定义方式比较像C语言, 没有赋值等号. enum Direction { Up, Down, Left, Right, } let dir: Direction = Direction.Up; 很有意思的是Direction定义后, 在js中看起来是这样的 var Direction; (function (Direction) { Direction[Direction["Up"] = 0] = "Up"; Direction[Direction["Down"] = 1] = "Down"; Direction[Direction["Left"] = 2] = "Left"; Direction[Direction["Right"] = 3] = "Right"; })(Direction || (Direction = {})); console.log { '0': 'Up', '1': 'Down', '2': 'Left', '3': 'Right', Up: 0, Down: 1, Left: 2, Right: 3 } 貌似在新的浏览器和node(v20)中, enum都已经作为保留关键字了, 但还不能使用. 新关键词 abstract 与class的区别就是不能被实例化. 新类型 any 表示任何类型 新类型 unknown 与 any 类似，但更严格。必须经过类型检查后才能赋值给其他类型变量。 let value: unknown = "Hello"; if (typeof value === "string") { let message: string = value; } 新类型 元组 tuples 这不是一个关键字, 而是允…

世界语言地图
type: item
date: 2024-12-20T09:14:00+08:00
description: 美洲: 除了北美的美加两国说英语, 巴西说葡萄牙语外, 其他各个国家几乎都说西班牙语. 东南亚: 几乎各个国家都说各自的语言. 少数国家如新加坡, 菲律宾还使用英语. 当然新加坡通行4种语言,还包括华语,马来语和3. 泰米尔语. 另外老挝,缅甸,泰国本族语言是汉藏语系的衍生, 跟我国壮族,侗族,傣族等语言比较接近. 中亚: 中亚五国虽然都有自已的语言, 但由于苏联时代的影响, 俄语比较通用. 中东: 阿拉伯语比较通用. 少数不同是以色列说希伯来语, 伊朗说波斯语, 阿富汗说普什图语和达里语. 澳洲: 主要通行英语. 非洲: 几大殖民势力的语言都有通用. 英语: 尼日利亚、加纳、利比里亚、塞拉利昂、冈比亚、肯尼亚、坦桑尼亚、马拉维、纳米比亚、博茨瓦纳、南非、斯威士兰、津巴布韦、赞比亚等国家将英语作为官方语言, 法语: 包括刚果（金）、刚果（布）、科特迪瓦、卢旺达、中非共和国、多哥、几内亚、马里、布基纳法索、喀麦隆、乍得、科摩罗、吉布提、塞内加尔、马达加斯加、毛里塔尼亚、阿尔及利亚、摩洛哥、塞舌尔等 葡萄牙语: 葡萄牙语是安哥拉、莫桑比克、圣多美和普林西比等国家的官方语言 阿拉伯语: 在北非和部分东非国家广泛使用，是埃及、苏丹、利比亚、突尼斯、阿尔及利亚、摩洛哥、索马里、毛里塔尼亚、吉布提、科摩罗和乍得的官方语言 根据metaso AI的总结, 主要小语种在中国开设专业的大学数量: 俄语：174至181所大学 西班牙语：超过100所大学（具体数字在不同证据中有所不同） 阿拉伯语：41至10所大学（数据不一致） 法语：148至71所大学（数据不一致） 葡萄牙语：39至6所大学（数据不一致） 如果要与海外做生意, EF有一个英语熟练度指标,每年都会发布,而且还分别做中文和英文版本. https://www.ef.com.cn/epi/ 2023年英文版: https://www.ef.com/assetscdn/WIBIwq6RdJvcD9bc8RMd/cefcom-epi-site/reports/2023/ef-epi-2023-english.pdf 2024年中文版: https://www.ef.com/assetscdn/WIBIwq6RdJvcD9bc8RMd/cefcom-epi-site/reports/2024/ef-epi-2024-simplified-chinese.pdf 可以看出, 除了英语母语国家, 拉美虽然说西班牙语, 但英语水平也是不赖的. 欧洲也是如此. 甚至在西班牙和葡萄牙都有不错的成绩. 但是在中东, 中亚, 南亚, 以及非洲的非英语国家, 英语熟练度就比较差了. 很奇怪的是英语国家印度的德里竟然评价为极不熟练. EF的这个指标主要是通过在线自愿测试得出, 且年龄中位数为25岁.

如何做像素动画
type: item
date: 2024-12-13T09:36:00+08:00
description: 想做像素动画,例如64x20px, 该怎么做? 尝试了几种思路 用视频编辑软件,可以自定义分辨率为64x20 shortcut https://shotcut.org/download/ 这是一款开源软件, 网站界面让人想起paint.net. 确实可以设置64x20的分辨率. 其他软件:Davinci Resolve https://www.blackmagicdesign.com/products/davinciresolve 其studio版本是买断付费的,但据它网页说, 免费版本比很多其他收费版的软件功能都强大 PPT + Gif编辑 ScreenToGif (简称S2G)可以录制gif, 导出gif也能导出视频. 这样用Powerpoint做动画,S2G录制. PPT上尺寸大一些, 录制的动图可以在缩小为需要的大小. 游戏的PNG Spritesheet技术 游戏一般把精灵角色的多个动作合并到一张PNG中, 这样加载起来更快. 这个想法最适合我. piskel https://www.piskelapp.com/p/create/sprite 可以导出GIF也能导出PNG spritesheet. 只是动画要一张一张做, 不支持关键帧. SpriteSheetGPT https://www.yeschat.ai/zh-CN/gpts-ZxWyYju4-SpriteSheetGPT 支持生成spritesheet, 但是要付费, 最便宜9刀/月 aseprite https://www.aseprite.org/ 虽然.org域名却也是要收费的. 支持关键帧 Universal-LPC-Spritesheet-Character-Generator

微信小程序/Excel UTF-8编码问题及其相关
type: item
date: 2024-12-12T11:54:17+08:00
description: 打算用微信小程序将数据存为UTF-8格式的CSV,让Excel编辑. 使用wx.writeFile或者writeFileSync可以设置编码为UTF-8保存. 但此后的坑就连续不断出现了. 通过shareFileMessage转给自己, 用Excel打开, 就会发现是乱码. 原因是Excel只支持带BOM的UTF-8. 开始解决这个问题, 然而微信和Excel都有坑, 分别说下: 微信的系统差异 要给文件前面加UTF-8 BOM, 最简单是在保存的字符串前加入 再用writeFile+UTF8格式保存. 你会发现Android版本微信很好地完成了这个任务, Excel顺利打开, 然而ios版本微信会把你加入的自动删除! 保存了个寂寞 微信用binary方式保存 问遍教程,都会让你用Buffer和TextEncoder通过UTF8编码转为ArrayBuffer前面再加入BOM头0xEF、0xBB、0xBF, 但是微信小程序不支持这两个常见的类Buffer和TextEncoder. 除非你自己实现一个. 微信曲线救国方式 碰到ios, 先保存,再读取,再在前面加入BOM头,再保存. 利用微信writeFile保存功能支持UTF8来解决 tableStr = '' + tableStr // 增加UTF8 BOM头 const fs = wx.getFileSystemManager() fs.writeFileSync(filename, tableStr, 'utf-8') const deviceInfo = wx.getDeviceInfo() if(deviceInfo.platform == 'ios'){ // 由于iOS系统上会把utf8保存的文件的前面的bom头删除(android不会)，所以需要以arrayBuffer的方式读入文件之后重新加上utf8 BOM头。 // 之所以不在内存中完成转换，而是通过文件读写的方式转换, 原因是内存中转换字符串到Utf8的两种手段Buffer/TextEncoder在微信小程序中都不支持。 let file = fs.readFileSync(filename) const bom = new Uint8Array([0xEF, 0xBB, 0xBF]); // 将文件内容转换为 Uint8Array 并合并 const contentArray = new Uint8Array(file); const mergedArray = new Uint8Array(bom.length + contentArray.length); mergedArray.set(bom, 0); mergedArray.set(contentArray, bom.length); fs.writeFileSync(filename, mergedArray.buffer, 'binary') } Excel的坑: 从2016版本才开始支持CSV UTF-8格式 如果你是2016以前的版本就不要挣扎了, 还不如用Win10/11上的记事本编辑了.

86岁
type: item
date: 2024-12-04T15:50:13+08:00
description: 人也浪漫，字也浪漫，玉树银花自凋零。 来也如风，去也如风，犹记桃花笑盈盈。 弱水三千饮一瓢，我自逍遥。 莫为我死悲寂寥，翩然舞蹈。 -- 2024/12/4 纪念琼瑶去世

cursor claude3.5 sonnet调试坑集
type: item
date: 2024-12-04T09:17:00+08:00
description: 我感觉是不能着急，陷入要么全部让AI完成，要么完全不信任AI代码的极端。 程序员做的工作应该转向需求分析、概要设计、详细设计这些工作，将框架内的编码和单元测试留给AI来做。 C 一开始的简单任务, 都可以作对, 但是一旦开始出错, 如编译错误, 往往比较难改对. 最好一开始就用git, 修改正确后就立刻commit, 否则成果容易毁于一句话. composer开新的会话要小心, 似乎新会话像一个新程序员, 跟旧的会话风格大不一样, 还可能大幅修改已经完善正确的代码 cursor写一个函数或一个文件中的几个函数是相对安全的, 整个项目大幅修改文件, 往往陷入编译错误数个回合不能自拔 在以下情况出过错, 加入.cursorrules看能否防止他再次出错 在 Makefile 中，条件语句不能放在规则内部。 请尤其注意函数先后的声明顺序，以及函数调用的顺序。 for循环的条件判断如果是变量x>0,并且x在每个循环中递减时, x的类型不能为unsigned, 否则不能退出循环.