本文项目在笔记本电脑上(Windows, NET10, x64)就可以自己动手尝试OCR, 实现如身份证识别、截图文本识别、扫描图转pdf等功能。
这才是vibe coding正确的打开方式 – 手把手教你开发一个MCP服务
最近一年vibe coding非常的火,它的意思就是开发者不用编写一行代码,通过对话就可以完成一个项目的上下线。非常适合有想法,但是不会编程(或者你是后端,不会前端)的同学。
Java关键字解析之abstract:抽象的本质、规范定义与多态基石
abstract的本质是
声明“抽象”:当用它修饰类或方法时,即告诉编译器和其他开发者:“这个元素是不完整的,需要子类/实现类补充具体实现”。这种抽象性体现在两个层面:
10GB vs 600MB:我们弃用 GitLab,选择了这个轻量级神器
最初的方案选择了业界熟知的 GitLab ,但很快就遇到了瓶颈:仅仅是基础的代码托管功能,GitLab全套服务(主进程、PostgreSQL 和 Redis )在运行一段时间后,内存占用一度逼近 10GB。这对于我们的轻量级项目需求而言,无疑是一个难以承受的“资源黑洞”。
理解整数在计算机中的表示
让我们从计算机存储的最底层开始思考。在硬件电路中,信息的最小单位是 bit(比特),它对应着晶体管的两种物理状态:高电平或低电平,我们用 0 和 1 来抽象表示这两种状态。这是一切数字信息的起点。
PHP 8.6 即将支持部分函数应用
好消息是,PHP 8.6 将引入部分函数应用(Partial Function Application),让我们的日子好过一些。
【EF Core】“Code First”方案下以编程方式生成迁移
大伙伴都知道,调用 dbContext.Database.EnsureCreated 方法可以根据配置的 Model 创建数据库,它与迁移最大的区别就是:EnsureCreated 方法创建的数据库在后期是不能修改的(可以手动执行 SQL 语句来修改)。而迁移在创建数据库时它会顺便把当前迁移的版本信息保存到数据库(实体类 HistoryRow 类,包含两个属性:MigrationId 表示迁移ID,ProductVersion 表示 EF Core 版本),这样可以通过版本对比来确定版本的前进和回退,也可依此判定哪些迁移已应用到数据库,哪些还没同步到数据库。
Java关键字解析之volatile:可见性的守护者、有序性的调节器
volatile的本质是
声明“易变的共享变量”:当用它修饰变量时,即告诉编译器和JVM:“这个变量可能被多个线程同时访问和修改,需要特殊处理以保证可见性和有序性”。这种特殊性体现在两个层面:
self introduction
大家好,我是哈哈vvd,目前就读于江苏省锡山高级中学锡西分校,这是一所学术氛围浓厚、鼓励学生全面发展的学校,为我提供了探索兴趣与追求学术的广阔平台。
为什么 MyBatis Mapper 接口能像普通 Bean 一样被 @Autowired?
在
resources 下面的
com/study/mybatis 文件夹中新建
UserMapper.xml 文件,文件内容如下:
小狮博客