V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  aguesuka  ›  全部回复第 20 页 / 共 46 页
回复总数  904
1 ... 16  17  18  19  20  21  22  23  24  25 ... 46  
2021-07-06 16:10:01 +08:00
回复了 heheda11 创建的主题 问与答 有没有,没有 if else 的编程语言?
https://en.wikipedia.org/wiki/Conditional_(computer_programming)

有些低级语言没有 if
有些上古语言只有 if 没有 else (some dialects of BASIC in the 1980s)
有些函数式语言没有 if 关键字, 但可以自己实现(lisp).
有些语言没有 if-else 关键字但可以通过模式匹配来实现.
面向未来编程. 比如说 JetBrains 的 Arend 语言.
https://arend-lang.github.io/
@nieyujiang 没必要, c 封一层兼容层, 调接口就 ok. 服务端也是一样
2021-06-18 16:39:44 +08:00
回复了 happyCodings 创建的主题 Vue.js 求大佬们优化一下代码,屎山代码给孩子头皮想破了
class Address {
/**
* @type string
*/
province

/**
* @type string
*/
city

/**
* @type string
*/
adcode

/**
* @type string
*/
district
}

class TreeNode {
/**
* @type string
*/
value
/**
* @type string
*/
label

/**
* @type TreeNode[]
*/
children
}

/**
*
* @param addresses {Address[]}
* @return TreeNode[]
*/
function dealWithAddressList(addresses) {
/**
* @type {TreeNode[]}
*/
const result = []
/**
*
* @type {Map<string, TreeNode>}
*/
const createdElements = new Map()
/**
*
* @param value {string}
* @param brothers {TreeNode[]}
* @returns {TreeNode}
*/
const nodeOf = (value, brothers) => {
let node = createdElements.get(value);
if (node === undefined) {
node = {
children: [],
value: value,
label: value,
}
brothers.push(node)
createdElements.set(value, node)
}
return node
}

for (let address of addresses) {
let provinceNode = nodeOf(address.province, result)
let cityNode = nodeOf(address.city, provinceNode.children);
cityNode.children.push({
children: [],
value: address.adcode,
label: address.district,
})
}
return result;
}

function test() {
return dealWithAddressList([{"province": "上海市", "city": "上海市市辖区", "adcode": "310118", "district": "青浦区"},
{"province": "江苏", "city": "苏州市", "adcode": "320506", "district": "吴中区"},
{"province": "山西省", "city": "阳泉市", "adcode": "140302", "district": "城区"},
{"province": "上海市", "city": "上海市市辖区", "adcode": "310101", "district": "黄浦区"},
{"province": "河北省", "city": "石家庄市", "adcode": "130123", "district": "正定县"}]);
}

test()
2021-06-15 12:52:30 +08:00
回复了 nielinjie 创建的主题 分享发现 最近试用了一下云端游戏
在 linux 上 steam 默认可以运行绝大部分 windows 游戏.剩余的一些可以用 lutris 来运行.

比如说我现在用 ubuntu 打炉石传说
2021-06-14 19:37:44 +08:00
回复了 einQimiaozi 创建的主题 程序员 为什么 mysql 要搞出 having where on 三个关键字?
在 V2EX 问 pl 有关的问题, 最好带上 curd boy 不懂的词汇, 比如这个问题可以换成 "为什么 sql 没有 pipeline 查询" 或者 "sql 中的 functor". 也许没有价值的回复会少一点.
2021-06-14 19:18:26 +08:00
回复了 einQimiaozi 创建的主题 程序员 为什么 mysql 要搞出 having where on 三个关键字?
因为 sql 是上个世 1970 年诞生的, 甚至早于罗素类型论的提出, 而 c 语言是 1972 年诞生的. 也许那个年代没有代码提示, 类型安全, 元编程的概念, 或者不重要. 反例是现代的 nosql 查询.
2021-06-09 13:19:45 +08:00
回复了 4kingRAS 创建的主题 Java 推上看到的一道题
/**
* Returns k.compareTo(x) if x matches kc (k's screened comparable
* class), else 0.
*/
@SuppressWarnings({"rawtypes","unchecked"}) // for cast to Comparable
static int compareComparables(Class<?> kc, Object k, Object x) {
return (x == null || x.getClass() != kc ? 0 :
((Comparable)k).compareTo(x));
}

hashmap 的这段代码, 如果 key instance Comparable,那么红黑树是按 Comparable 排序的.而 stringbuilder 的 equals 和 hashcode 是不可变的,但 compareTo 是可变的.

The main conclusion from this puzzle: never use mutable objects as Map keys. You may get unpredictable results, even with HashMap.
2021-06-03 12:04:18 +08:00
回复了 redbelt 创建的主题 Java 推荐周志明大大的一片文章《云原生时代, Java 的危与机》
思路有问题.
Java 性能方面的缺陷应该用本地库 /中间件解决. 语言表达能力的问题应该用 DSL 解决. 比如 Java (和做 server 相比)不适合做编译器前端, 但是 Java 有 Antlr4 这个大杀器.
Java 厉害的地方在于 IDE 友好, 项目维护性的下限略高. 另外还有商业 /非商业的团队开发和维护虚拟机, 集成开发环境, Java 友好的中间件. 而小众的语言则需要自己写插件, 封装 API, 写文档, 填坑.
优秀的开发 :≡ 工资低能加班. 熟练背面试题的服从性比较高, 容易成为"优秀的开发".
2021-05-30 09:31:23 +08:00
回复了 aguesuka 创建的主题 算法 请教个有向图的算法题
@sillydaddy 类型论中的隐式 Universe level 推导, 第二个问题其实就是完成某个函数的推导以后, 另一个调用其的函数是否能利用推导的结果. 理想是线性的, 现在看来不大可能, 也许需要找下相关源码或者 paper 看它们是怎么实现的.
2021-05-29 23:57:18 +08:00
回复了 aguesuka 创建的主题 算法 请教个有向图的算法题
@geelaw 就是这个算法. 第二个问题, 二分法可以做到 O(n log n) , 我想的是在对问题一做了算法的判定以后, 在数组后追加一个表达式, 有没有小于线性时间的算法. 不过 strongly connected components algorithm 这个关键字已经足够了.
2021-05-29 23:52:21 +08:00
回复了 aguesuka 创建的主题 算法 请教个有向图的算法题
@akira 这种情况 A 和 B 不是同一个点, 所以 A > B > A 构成一个环. 可以把 A 和 B 看作类型为自然数的变量, `>=` 是大与小于, `>`是大于, 判断是否存在整数, 带入情况, 满足条件.
2021-05-24 13:16:29 +08:00
回复了 fragrans23 创建的主题 Java idea 中导入公司的项目出现问题,导入项目后不能加载 jar 包
去本地 maven 仓库看下对应的 jar 包有没有下载下来, 能不能用解压软件打开
2021-04-16 18:56:49 +08:00
回复了 duzhor 创建的主题 Windows windows 系统中顽固的 2345 到底如何根治?
改文件权限.
2021-04-10 15:29:43 +08:00
回复了 RiceMarch 创建的主题 Java Java 泛型 接口返回类 如何面对 空?
不要使用问号作为泛型

@PostMapping("/something")
public BaseResponse<Void> /*改了这里*/postSomething(@Valid @RequestBody Something request) {

//添加操作

//根据添加操作判断返回内容
// if success
return new BaseResponse.<Void>/*会有灰色警告,即可将其省略*/success();

// if failed ...
}
2021-04-10 11:50:23 +08:00
回复了 dengji85 创建的主题 Java 各位 30cm, 问一下 所谓的 service 层中怎么优雅获取当前用户
异步怎么实现的?成熟的同步或者异步方案都有 threadlocal 或者 context(vertx)。如果没有就自己实现一个。
2021-04-08 17:55:03 +08:00
回复了 ingin 创建的主题 问与答 兄弟们 服务器如何实现播放音频、视频等多媒体文件资源
nginx 搭一个 mp4 文件服务器。高大上一点就用 ffmpeg 做转码和推流。
1 ... 16  17  18  19  20  21  22  23  24  25 ... 46  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2154 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 36ms · UTC 02:38 · PVG 10:38 · LAX 19:38 · JFK 22:38
Developed with CodeLauncher
♥ Do have faith in what you're doing.