V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  stevenkang  ›  全部回复第 14 页 / 共 17 页
回复总数  322
1 ... 6  7  8  9  10  11  12  13  14  15 ... 17  
2019-04-29 08:53:26 +08:00
回复了 wanzfind 创建的主题 问与答 关于图片资源存储的问题
@wanzfind 部分系统文件夹有数量上限,按时间分文件夹避免数量达到上限,也方便按时间查看和管理文件
2019-04-28 18:12:38 +08:00
回复了 wanzfind 创建的主题 问与答 关于图片资源存储的问题
文件名随机,按月按天分文件夹,数据库中按漫画和章节分类管理并记录文件存储路径
2019-04-28 17:29:20 +08:00
回复了 CitizenR 创建的主题 云计算 阿里云 ECS 续费太贵,有什么优惠活动么
![sss.png]( https://i.loli.net/2019/04/28/5cc5722d7902f.png)

没啥性能要求的话,一般买 T5 最低配就好了,5 年不过才 534 元,续费也是这么个价。
2019-04-11 17:25:08 +08:00
回复了 Pencilrain 创建的主题 程序员 我需要一个一键禁止 Windows 自动重启的工具
华硕笔记本,win10 换成 macOS 黑苹果,真香,使用一年多从来不担心“你可能需要被重启”的要挟
借呗,金条,小米金融,百度钱包,网商贷,360 借条,海尔消费金融,万达消费金融,哈尔滨银行消费贷,拉卡拉,信用卡。各种借钱方式,要不我邀请你下载?
之前写的一个砍价算法,和你这个需求应该类似。可调参数:先高后低还是先低后高,以及温和还是刺激(根据参与随机比例来实现)

```java
public static void main(String[] args) {
BigDecimal total = new BigDecimal(100.00);
BigDecimal current = new BigDecimal(0.00);
int totalPersonal = 10;
int currentPersonal = 0;
for (int i=0; i<totalPersonal; i++) {
BigDecimal amount = exec(total, current, totalPersonal, currentPersonal, 2.0, 0.2);
current = current.add(amount);
currentPersonal++;
System.out.println("当前砍价:" + amount + ",剩余金额:" + (total.subtract(current)) + ",剩余次数:" + (totalPersonal-currentPersonal));
}
}

/***
* 砍价金额计算程序,可通过 adjust 调整分配比例,越小前期砍价金额越小,越大前期砍价金额越大<br>
* 0.5 表示均衡砍价。<br>
* stable 稳定参数表示每次砍价参与随机的份额,越小越稳定。0.3 表示砍价的 30% 金额随机,其他固定。<br>
* 刚开始砍的金额高,后面低,推荐配置:adjust = 2.0、stable = 0.8
* 刚开始砍的金额低,后面高,推荐配置:adjust = 0.5、stable = 0.8
* @param total 总价
* @param current 已砍金额
* @param totalPersonal 总人数
* @param currentPersonal 已砍人数
* @param adjust 调整值,0.5-2.0
* @param stable 稳定值,0.0-1.0
* @return 本次砍价金额
*/
public static BigDecimal exec(BigDecimal total, BigDecimal current, int totalPersonal, int currentPersonal, double adjust, double stable) {
double dTotal = total.setScale(20, RoundingMode.HALF_UP).doubleValue();
double dCurrent = current.setScale(20, RoundingMode.HALF_UP).doubleValue();
// 计算平均砍价金额
double avgAmount = dTotal / totalPersonal;
// 初始调整值
double initAdjust = adjust;
// 总调整值为 1 除以初始调整值于初始调整值的差值
double totalAdjust = 2 - initAdjust * 2;

// 每次调整值为差值除以总人数减一
double perAdjust = totalAdjust / totalPersonal;


// 本次砍价金额
double amount;
if (currentPersonal > 0 && currentPersonal < totalPersonal-1) {
// 渐变算法调整计算
double adjustBigDecimal = initAdjust + perAdjust * currentPersonal;
amount = Math.random() * avgAmount * adjustBigDecimal * 2 * stable + avgAmount * (1-stable);
} else if (currentPersonal == 0) {
// 首次砍价使用初始调整值计算
amount = Math.random() * avgAmount * initAdjust * 2 * stable + avgAmount * (1-stable);
} else {
// 最后砍价使用剩余金额
amount = dTotal - dCurrent;
}
// 本次砍价后剩余金额
BigDecimal bigAmount = new BigDecimal(amount).setScale(2, RoundingMode.HALF_UP);
BigDecimal afterAmount = total.subtract(current).setScale(2, RoundingMode.HALF_UP);
afterAmount = afterAmount.subtract(bigAmount).setScale(2, RoundingMode.HALF_UP);
// 剩余砍价次数以及保障金额
BigDecimal afterMinAmount = new BigDecimal(0.01F * (totalPersonal-currentPersonal-1)).setScale(2, RoundingMode.HALF_UP);
if (afterAmount.compareTo(afterMinAmount) < 0) {
bigAmount = new BigDecimal(0.01F).setScale(2, RoundingMode.HALF_UP);
}
// 最低一分钱
if (bigAmount.compareTo(BigDecimal.ZERO) <= 0) {
bigAmount = new BigDecimal(0.01F).setScale(2, RoundingMode.HALF_UP);
}

return bigAmount;
}
```

效果图( 100 元,10 个人参与)
![]( https://img.xiaoi.me/pms-upload/20190122/5e7f3e86-199d-be8e-fe26-c6d0905a8aae.png)
2019-01-22 11:30:32 +08:00
回复了 gzf6 创建的主题 程序员 REST API 安全问题
所有只读操作均用 GET 请求,例如获取 ID 为 1 的用户数据 GET /user/1,
所有写入操作均用 POST 请求,例如修改 ID 为 1 的用户数据 POST /user/1,

GET、POST、PUT、DELETE 简化为 GET / POST 读写操作就完事。
2018-08-29 15:03:08 +08:00
回复了 Bear13023 创建的主题 宽带症候群 外网访问家里的 Linux 服务器,有哪些服务可实现?
内网穿透 ngrok 了解一下:tool.4kb.cn ,个人服务器,流量有限,请勿大流量使用:例如开游戏服之类的
2018-07-24 14:19:21 +08:00
回复了 nvhanzhi 创建的主题 MySQL 网站数据库经常挂,小白求助!
为什么不直接用云虚拟主机或者弹性 Web 托管,数据库、PHP 环境都搭好了,wordpress 直接跑就行了
2018-07-24 14:13:03 +08:00
回复了 yao990 创建的主题 程序员 话说,有没有分布式无中心聊天工具?
写........信?
2018-06-25 23:22:55 +08:00
回复了 stevenkang 创建的主题 MySQL MySQL 5.6 排序数据丢失的诡异现象
@GTim 软件是 navicat for mysql。数据量少的情况下确实可以用应用层来解决,这里数据比较多。

@Troevil asc 排序没有这个问题。如果 order by 两个字段的话,会导致索引失效,这里比较麻烦。
@thread2 看来这个 BUG 一直在呀,只有用别的办法解决了

@yangqi 现在解决方案就是 date + id 一起排序,唯一缺点是会导致索引失效,真是蛋疼啊。
2017-12-14 17:13:48 +08:00
回复了 stevenkang 创建的主题 SSL 中国移动太贱了, https 都能挟持
@LeungJZ 肯定说的有道理,不过我给出了链接,自行测试之后可以排除这种可能。只有开发才会命名的 bundle.js 文件有可能是山东青岛移动在弄挟持的时候他们那边开发人员命名的。

这里强调一下呀,我们 CDN 上面的所有文件只会新增,不会修改和删除的。
2017-12-14 16:48:44 +08:00
回复了 stevenkang 创建的主题 SSL 中国移动太贱了, https 都能挟持
@hgc81538 有这种可能,出问题的几乎都是 android 手机,目前没有收到 iOS 系统的遇到问题,可能客户手机上安装了别的什么软件
2017-12-14 16:46:33 +08:00
回复了 stevenkang 创建的主题 SSL 中国移动太贱了, https 都能挟持
@morethansean 是强制 https 访问,http 访问会被重定向到 https 上,cdn 没有强制 https,怀疑客户访问我们其他网站的时候,页面引入了 http 协议的 cdn 文件时被挟持了,客户在访问主站时使用的被挟持的缓存文件
2017-12-14 16:42:32 +08:00
回复了 stevenkang 创建的主题 SSL 中国移动太贱了, https 都能挟持
@isCyan 刚联系阿里云方排查了一下,CDN 回源正常的,因为用的 oss 出现异常的可能性实际上也小。现在排查之后可以确认是客户访问 CDN 节点时被挟持了,奇怪的是走的 https 协议也被挟持,还给我们转成 http 协议来加载了
2017-12-14 16:40:33 +08:00
回复了 stevenkang 创建的主题 SSL 中国移动太贱了, https 都能挟持
@ctsed 已 Blocked
@b821025551b 你的这种猜测在别的公司有可能发生,我们这里 cdn 上存放的大多都是第三方 js 或者一两年都不会改一次的 js,我们的前端 js 代码并未使用编译器,仅仅是用的很原始的开发流程,不存在编译的过程。cdn 上的文件都是存放 oss 上的,任何开发人员都没有修改的权限。oss 上只允许新增 js,不允许删除、修改任何 js,而且必须写邮件提交 之后才会存放在 oss 上,之后就一直不会去修改和删除了
2017-12-14 15:43:07 +08:00
回复了 stevenkang 创建的主题 SSL 中国移动太贱了, https 都能挟持
@ctsed 你可以访问一下那个 js 验证你说的对不对,如果说是没编译就发到 cdn 上了,那所有人都会访问到那个被修改过后的内容,客户和我访问同样的地址,我的是正常的,客户的是被修改过的,这不是劫持那是什么
2017-12-14 15:38:53 +08:00
回复了 stevenkang 创建的主题 SSL 中国移动太贱了, https 都能挟持
@isCyan 有可能是回源的时候被挟持了,不过我们的 js 全部放在阿里云 oss 上面的,CDN 回源直接走的 oss 网址,运营商能挟持阿里云两款产品之间的通讯也太屌了嘛
2017-12-14 15:36:10 +08:00
回复了 stevenkang 创建的主题 SSL 中国移动太贱了, https 都能挟持
CDN 用的阿里云的
1 ... 6  7  8  9  10  11  12  13  14  15 ... 17  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1594 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 30ms · UTC 16:57 · PVG 00:57 · LAX 09:57 · JFK 12:57
Developed with CodeLauncher
♥ Do have faith in what you're doing.