用Docker部署的DataEase会有限制展示10万笔数据的限制,所以想源码部署一套DataEase来玩,以下是笔记记录:

1、检查环境是否满足源码部署DataEase:
Git版本:git --version
git version 1.8.3.1
JDK版本:
2025-03-14T08:37:10.png
安装JAVA的JDK

yum install -y git java-1.8.0-openjdk*

截图如下:
2025-03-14T08:38:38.png
安装完毕:
2025-03-14T08:39:23.png

再安装配置 Maven:

下载并安装 Maven

wget https://dlcdn.apache.org/maven/maven-3/3.8.8/binaries/apache-maven-3.8.8-bin.tar.gz

tar zxvf apache-maven-3.8.8-bin.tar.gz

mv apache-maven-3.8.8 /opt

echo "export M2_HOME=/opt/apache-maven-3.8.8" >> ~/.bashrc

echo "export PATH=\$PATH:\$M2_HOME/bin" >> ~/.bashrc

source ~/.bashrc

默认安装 Maven 后,在 Maven 安装目录中有配置文件 settings.xml,该文件中默认开启了 mirror,可以将该 mirror 设置注释掉:

<mirror>
  <id>maven-default-http-blocker</id>
  <mirrorOf>external:http:*</mirrorOf>
  <name>Pseudo repository to mirror external repositories initially using HTTP.</name>
  <url>http://0.0.0.0/</url>
  <blocked>true</blocked>
</mirror>

安装配置 nodejs:

wget https://nodejs.org/dist/v16.13.0/node-v16.13.0-linux-x64.tar.xz

tar xvf node-v16.13.0-linux-x64.tar.xz

mv node-v16.13.0-linux-x64 /opt

echo "export PATH=\$PATH:/opt/node-v16.13.0-linux-x64/bin" >> ~/.bashrc

source ~/.bashrc

AI圈的"世纪笑话":我们又被"国产之光"忽悠了?

一、技术大V直播拆机 结果拆出满屏"Made in USA"
这瓜越吃越魔幻!前两天有个叫@jianxliao的狠人,直接给某国产AI来了个"外科手术式解剖"。你猜怎么着?号称"国之重器"的Manus,扒开代码一看——好家伙,核心系统直接跳出来个"Claude Sonnet"的报错提示!这波操作简直骚断腿,就像拆开国产手机发现贴着"高通骁龙"的标。

二、扒开"国产之光"的底裤 竟藏着美国技术全家桶
看完爆料我直接笑不活了,这哪是自主创新?分明是给美国技术套了件汉服!

  1. 主控芯片是Anthropic的Claude Sonnet,相当于给安卓系统刷了个MIUI主题
  2. 29个功能模块全是从GitHub扒来的现成工具,活脱脱的"乐高式创新"
  3. 关键技术直接套用@browser_use开源库,比程序员抄Stack Overflow还简单粗暴

最骚的是代码仓库都不加密,GitHub链接和沙箱代码随便下(提醒:手贱下载可能变肉鸡)。这就好比有人把山寨iPhone图纸挂闲鱼,还配文"欢迎友商借鉴"。

三、皇帝的新衣2.0:当创新神话沦为组装游戏
现在回看当初的宣传通稿,尴尬得能抠出三室一厅。说什么"全自研架构",结果核心算法是人家的;吹什么"技术突破",实际是Ctrl+C/Ctrl+V的缝合怪。这不就是AI界的"汉芯事件"重现吗?

更魔幻的是备案监管部门的表现——面对这个披着国产外衣的"混血儿",居然集体选择性失明。这让我想起那个经典段子:"只要我不看体检报告,我就没病"。

四、韭菜觉醒时刻:AI时代的防忽悠指南
这事给我们上了三堂必修课:

  1. 警惕"创新造神运动":但凡把技术吹成"吊打ChatGPT"的,八成是准备割韭菜
  2. 看懂技术"套壳术":现在流行给国外模型穿汉服,就像给进口车贴个"红旗"标
  3. 认清资本套路:从区块链到元宇宙再到AI,收割剧本永远在循环播放

最后说句扎心的:下次再看到"国产之光"的宣传,先默念三遍"让子弹飞一会儿"。毕竟在这个魔幻现实主义盛行的年代,你永远不知道光鲜的外壳下,藏着的是麒麟芯片还是打磨过的英特尔CPU。

“国之重器”Manus的丑闻曝光:你被这“拼装AI”当猴耍了?!.pdf

今天写一写用JAVA仿写Odoo,为什么值得写呢?
老莫碰到了,我之前也碰到了odoo的时区问题,大家都碰到了。
老莫依照我https://github.com/leangjia/odoo-all-in-one-docker-compose的yml增加了东八区参数,起的容器里的定时发送邮件的任务变失灵了,原来好好的定时发工资条邮件,加了参数后,时间延后了8小时。

因此我说推荐用JAVA仿写odoo是值得的,上边的问题,它可能出现在base基础模块的代码里,也可能mail模块的代码也涉及时区,更可能在job任务模块的代码涉及时区。

假如,中国人用JAVA写出来的Odoo,应该不存在时区问题了吧?

附上链接:
https://gitee.com/ShinraL/avalon

原文来自odoo哥公众号

odoo日期类型字段的快捷录入
原创 odoo哥 Odoo哥
2025年01月17日 09:24 湖南
在odoo应用中,日期类型的字段比较常见。一般操作人员在UI录入日期时,都是通过鼠标点击,弹出日历下拉,然后选择不同的年、月、日。如果需要选择的年或月不是当前年月,还要去切换,这样可能会影响录入的效率。其实在Odoo框架源码中,有针对日期类型字段的快捷录入方式。我们来看源码:

addons\web\static\src\core\l10n\dates.js

关键的方法是:

/**
 * Smart date inputs are shortcuts to write dates quicker.
 * These shortcuts should respect the format ^[+-]\d+[dmwy]?$
 *
 * e.g.
 *   "+1d" or "+1" will return now + 1 day
 *   "-2w" will return now - 2 weeks
 *   "+3m" will return now + 3 months
 *   "-4y" will return now + 4 years
 *
 * @param {string} value
 * @returns {NullableDateTime} Luxon datetime object (in the user's local timezone)
 */
function parseSmartDateInput(value) {
    const match = value.match(smartDateRegex);
    if (match) {
        let date = DateTime.local();
        const offset = parseInt(match[2], 10);
        const unit = smartDateUnits[(match[3] || "d").toLowerCase()];
        if (match[1] === "+") {
            date = date.plus({ [unit]: offset });
        } else {
            date = date.minus({ [unit]: offset });
        }
        return date;
    }
    return false;
}

从这里可以看出,在日期型字段,我们可以录入一个类似‘+10'、'+3w'、'-1m'、'+1y'这样的字符串,odoo将根据录入内容自动计算出日期值。第一个符号为'+','-'号,表示在当前日期之后还是之前,后面跟着一个数字,最后面是一个字母:d-天,m-月,w-周,y-年,如果不带字母的表示默认为天。
比如今天是2025年1月17号,我在报价单的日期字段录入下图所示的内容:
图片
640.png
然后按回车键,系统将自动变换为15天后的日期:
图片
640 (1).png
好啦,这么好用的功能赶快写到用户操作手册中去吧,告诉客户他可以不用鼠标快速地录入想要的日期啦。