V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  gowk  ›  全部回复第 5 页 / 共 59 页
回复总数  1177
1  2  3  4  5  6  7  8  9  10 ... 59  
2023-12-23 23:43:34 +08:00
回复了 inSpring 创建的主题 Python 大家最近新项目用什么 Web 框架?
我选 ASP.NET 8 + SqlSugar + Vue 3.x
2023-12-16 20:15:40 +08:00
回复了 errorMsg0xff 创建的主题 Java Java 值得读源码的开源项目
自荐一下我 Star 过的 Repo: https://github.com/gowk?tab=stars
逛 GitHub 这些年积攒下来的,有些还不错
前几天听说淘宝竟然有打包卖书签的
不知道 Star 的代码库可不可以卖 😂
2023-12-15 11:02:42 +08:00
回复了 QiShine 创建的主题 Python 感觉 C# 在蚕食 Python 的生态
@thinkershare #56 看老哥使用了 ABP ,ABP 有啥书籍可以推荐吗
2023-12-14 09:49:29 +08:00
回复了 toubi 创建的主题 职场话题 程序员如何从公司上班转型
100W 打卡
2023-12-13 21:12:44 +08:00
回复了 shijingshijing 创建的主题 Chrome 新版 Chrome 换了 UI 了,感觉更丑了
@yjd #7 我也感觉丑,禁用后舒服了
2023-12-10 10:37:42 +08:00
回复了 fxjson 创建的主题 程序员 springboot orm 选型
这么成熟的 Java 没有一个好用的 ORM 真的挺感慨的
JPA 不灵活,学起来繁琐,多表联查要配合 QueryDSL ?个人不喜欢 DSL ,SQL 之上再封装一层,纯属无聊
Mybatis 还 tm 在用古早的 XML ,虽然有注解但 SQL 写在源码里更丑
Mybatis Plus 现在选择这个的比较多,但是想到它在 Mybatis 基础上又封装一层,再配合上 Spring Boot/Spring 那一套诘屈聱牙的技术迷宫,顿时性趣全无,另外就是上面的朋友说的,Mybatis Plus LOGO 丑 😀
再还有什么好的选择? JOOQ ?还是国产的小众框架?
2023-12-04 19:58:23 +08:00
回复了 PatrickLe 创建的主题 宽带症候群 农村两户距离 300 米,如何共用一根宽带?
2023-12-04 11:10:06 +08:00
回复了 gouguoyin 创建的主题 开源软件 如何评价.net 框架 furion 文档收费的商业化尝试行为
虽然没用过 Furion 但是做为 .neter 一直在关注这个框架。商业化无可厚非,但是这种套路挺恶心人的,也损害了国内开源项目的声誉。

贴几个评论大家一起讨论讨论:

陈钇蒙 2023-11-30 19:53
管你有什么大道理, 你确实违反了你用的开源协议 mit 协议, 说再多都没有用, 你搞的就不是开源这种东西

魔力猫 2023-12-01 09:50
作者表示想不通?绑匪觉得绑票拿钱,天经地义,我们更想不通。如果不把你骂死,始作俑者,其无后呼?大家都这么玩,谁还敢用开源?特别是国内开源!你不就是仗着国内绝大多数用户,不愿意花钱跟你打官司么。我要正好是项目技术负责人,脑子昏聩,把你的框架引入了项目,结果现在被绑了,咋办?和老板说,咱们被勒索了?苛刻点的老板,我怕不是马上卷铺盖滚蛋!还不是只能含泪自掏腰包,找你买文档,赎肉票?!作者洋洋得意的三千多文档用户,有多少不是这么来的?!

思北谢 Special 2023-12-02 10:36
开始用 MIT 完全不限制商用这个宽松协议,忽悠大家用上,很多程序员冒着被质疑,去说服公司用,如果你是 GPL 有多少敢用?而一旦大家用上了,轻易更换代价很大,这时候封闭文档收费,完全撕毁 MIT 协议,这么玩,其实是损害了所有国产开源软件的信誉度,所有国产开源软件的同仁都应该出来抵制,在社会里,大家要遵守一些底线,当有人突破了底线开始赚钱的时候,其实是损害了同行的信誉度,而那些守规矩的人将更加难以生存,当有人再想以 MIT 协议推出开源软件的时候,大家就会说:国产的软件用 MIT 协议你也敢信?
2023-12-03 21:27:38 +08:00
回复了 pccilipp 创建的主题 MacBook Pro 把老的 intel mac 挂某鱼,居然无人问津。
你可以试试小红书出
2023-12-01 00:33:25 +08:00
回复了 GeekGao 创建的主题 Python Python is Easy. Go is Simple. Simple != Easy.
看作者介绍,他的主要技术栈是 Java+Go+Svelte
2023-11-28 15:38:53 +08:00
回复了 Flourite 创建的主题 Go 编程语言 go 语言用起来好操蛋
@gongquanlin #102 ts 类型体操写起来会爽? github 上面有没有推荐的 ts 库,我学习一下
2023-11-27 11:40:49 +08:00
回复了 Flourite 创建的主题 Go 编程语言 go 语言用起来好操蛋
2023-11-25 22:32:29 +08:00
回复了 cyhone 创建的主题 Go 编程语言 剖析 Golang Bigcache 的极致性能优化
感谢 OP 分享,文章深入浅出,结构清晰,语言流畅,让我对 bigcache 有了一个清晰的认识
2023-11-25 10:53:22 +08:00
回复了 dyxiaodong2022 创建的主题 程序员 某位大神创作的可以吊打 Vue 的前端框架
推荐下 Mithril.js
2023-11-23 19:02:52 +08:00
回复了 mangojiji 创建的主题 数据库 Mybatis 到底是或不是 ORM?为什么?
DSL 纯粹是多此一举,失去了 SQL 的灵活,又增加了认知负担,得不偿失,SQL builder 或者 ORM 专注自己的领域就好了,do one thing and do it well ,Mybatis 真的就是一个 Mapper 而已,用起来还不错,就是业务逻辑复杂改起来就很啰嗦,Gorm ent 之流也能凑合用,但是都没有 EF ,Active Record ,Eloquent ,还有 node 世界的某些好用。真的感慨 Java 世界竟然没有一个顺手的 ORM ,JPA 太重,不灵活,也可能是我菜,所以干脆连笨重啰嗦的 Java 一并抛弃,拥抱 .NET ,EF 自不必说,甚至连国产的 SqlSugar 都可圈可点,用起来很舒服。

查询语法:
var exp = Expressionable.Create<Supplier, SysUser>();
exp.AndIF(dto.SupName.IsNotEmpty(), (t, u) => t.SupName.Contains(dto.SupName));
exp.AndIF(dto.CreditCode.IsNotEmpty(), (t, u) => t.CreditCode.Contains(dto.CreditCode));
exp.AndIF(dto.Address.IsNotEmpty(), (t, u) => t.Address.Contains(dto.Address));
exp.AndIF(dto.DetailAdmissionType.IsNotEmpty(), (t, u) => t.DetailAdmissionType.Contains(dto.DetailAdmissionType));
exp.AndIF(dto.Leader.IsNotEmpty(), (t, u) => t.Leader.Contains(dto.Leader));
exp.AndIF(dto.AdmissionTerm.HasValue, (t, u) => (int)t.AdmissionTerm == dto.AdmissionTerm);
exp.AndIF(dto.StartNumber.HasValue, (t, u) => t.RegCapitalSubscribed >= dto.StartNumber);
exp.AndIF(dto.EndNumber.HasValue, (t, u) => t.RegCapitalSubscribed <= dto.EndNumber);
exp.AndIF(dto.DeptId.HasValue, (t, u) => u.DeptId == dto.DeptId);
exp.AndIF(dto.AdmissionType.HasValue, (t, u) => t.AdmissionType == dto.AdmissionType);
exp.AndIF(dto.CompanyType.HasValue, (t, u) => t.CompanyType == dto.CompanyType);
exp.AndIF(dto.BeginTime.HasValue, (t, u) => t.CreateTime >= dto.BeginTime);
exp.AndIF(dto.EndTime.HasValue, (t, u) => t.CreateTime <= dto.EndTime);

var result = _supplierService.Queryable()
.InnerJoin<SysUser>((t, u) => t.CreateBy == u.UserId)
.InnerJoin<SysDept>((t, u, d) => u.DeptId == d.DeptId)
.LeftJoin<SupplierInvoice>((t, u, d, si) => t.Id == si.SupId)
.LeftJoin<SupplierChange>((t, u, d, si, ch) => t.Id == ch.SupId && ch.MostRecent)
.Where(exp.ToExpression())
.OrderByDescending(t => t.Id)
.Select((t, u, d, si, ch) => new SupplierVo
{
Id = t.Id.SelectAll(),
DeptName = d.DeptName,
NickName = u.NickName,
InvoiceStatus = si.Status,
ChangeStatus = ch.Status,
})
.ToPage(dto);

int count = DB.Queryable<T>().ClearFilter()
.InnerJoin<SysUser>((table, usr) => table.CreateBy == usr.UserId)
.InnerJoin<SysDept>((table, usr, dept) => usr.DeptId == dept.DeptId)
.Where(table => table.Id == Record.TableId)
.WhereIF(transition.Condition.IsNotEmpty(), transition.Condition, parameters)
.Count();

根据指定条件更新指定列:
Update(new SysUser(){ Status = 1 }, it => new { it.Status }, f => f.Userid == 1));
Update(w => w.NoticeId == model.NoticeId, it => new SysNotice(){ Update_time = DateTime.Now, Title = "通知标题" });

另外还有不计其数的 CRUD 重载方法,覆盖了全部使用场景,开发效率很高
2023-11-22 23:41:40 +08:00
回复了 wuzhanggui 创建的主题 分享创造 后台管理已经撸到 0.0.1 版本了,差不多完善了。
@wuzhanggui #2 可以,后台管理真的没必要上 ts 全是类型体操 脱裤子放屁 写起来烦的一批
2023-11-21 12:39:49 +08:00
回复了 Vvvv22 创建的主题 文学 请分享一首或者一句你最喜欢的诗词!中外文不限
寄蜉蝣于天地,渺沧海之一粟。哀吾生之须臾,羡长江之无穷。
1  2  3  4  5  6  7  8  9  10 ... 59  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3001 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 43ms · UTC 14:16 · PVG 22:16 · LAX 06:16 · JFK 09:16
Developed with CodeLauncher
♥ Do have faith in what you're doing.