V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  nothingistrue  ›  全部回复第 99 页 / 共 107 页
回复总数  2133
1 ... 91  92  93  94  95  96  97  98  99  100 ... 107  
2022-06-22 13:50:10 +08:00
回复了 NipGeihou 创建的主题 程序员 开源项目如何做到不泄露配置文件中的密码信息?
跟团队项目如何做到不把个人配置提交到中央仓库,是一样的原理:使用可覆盖的配置体系,本地配置覆盖默认配置;中央仓库只提交默认配置。

Spring Boot 的配置文件体系 https://docs.spring.io/spring-boot/docs/current/reference/html/features.html#features.external-config ,随便玩都行。最简单的:application.yml 弄一句 spring.profiles.active=local ,然后示例 /默认配置都放到 application.yml 一起提交;.gitignore 里面加一条*-local.yml ,然后把 .gitignore 提交了(很重要);本地直接源码 application.yml 旁边放一个 applicaltion-loacl.yml ,生产环境就 jar 的旁边放 application-local.yml ,local 当中只填写非默认的配置,这样即不用担心提交污染默认配置(或者泄露个人配置),也能让定制配置的内容更简洁。
2022-06-22 11:52:06 +08:00
回复了 zinwalin 创建的主题 Android 安卓 MQTT 客户端如何保证 Service 一直运行在后台?
后台接受消息,请使用推送,除了微信之外的强行保活手段,必然被 OEM 和用户无情的杀掉。
这个叫做内存数据库,基本上是个数据库都提供专门的内存数据库(可持久化的)。只不过,因为内存库有好多功能限制,所以只会用在超高实时性能要求的地方(比如电信实时计费系统)。平常的业务系统,不管是 CRUD 还是领域驱动还是各种高级设计,都没有那么高的实时性能要求,基本用不到内存库。

还有另一种不面向持久化的内存数据库,比如 H2 ,功能上跟普通数据库差不多,但不管性能不管数据安全,它的主要目的是给单元测试或者其他临时使用数据库的场景提供一个临时的、内嵌的数据库。
2022-06-21 09:27:26 +08:00
回复了 lik750 创建的主题 程序员 CSDN 为什么一直被骂还一直变大
此外,楼主标题也涉及一个是不是的问题,前半句是,后半句不是。CSDN 最大的时候是十几年前收购 Java eye 的时候,那时候 CSDN 在国内横踩 .NET 和 Java 两大语言,简直就是程序员社区的代名词。现在不过是苟延残喘吃老本而已。
2022-06-21 09:22:10 +08:00
回复了 lik750 创建的主题 程序员 CSDN 为什么一直被骂还一直变大
一直被骂还一直变大的东西多了去了,CSDN 从来不是最突出那一个。
2022-06-17 13:41:21 +08:00
回复了 yudengqing 创建的主题 程序员 想问问关于 VS Code 的问题
你的问题跟 vscode 无关,跟 2w+ 行有关。不信你试试用记事本打开你文件,别说编辑,打开都可能卡死。
2022-06-17 10:00:40 +08:00
回复了 lazyfighter 创建的主题 程序员 笔记软件咨询
你在美团体验好,那是因为:一,专项,只搞美团相关的业务笔记;二,有团队在持续维护。出来搞个人笔记的时候,上面那两项原因就都不存在了,想再找个一样体验的基本上不可能。plantuml 、思维导图、drawio 三个全是图,而个人笔记最多的会是 文字 和 导航及搜索,这三个图还会有但是不会像工作那样占主导地位。这个时候,当同步网盘里面的三个文件夹,会是更好的选择。
2022-06-16 11:16:21 +08:00
回复了 shyrock 创建的主题 程序员 一种介于待办和通知的需求有没有好的思路?
通过在通知消息中附加待办的处理入口,让用户可以从消息直接导航到相关任务,这样可以提高用户的效率。但是这是““我的……””功能的辅助,不是替代——就是别用“我的未读消息”来代替“我的……”
2022-06-16 11:12:04 +08:00
回复了 shyrock 创建的主题 程序员 一种介于待办和通知的需求有没有好的思路?
为啥,不两个都用。

第一个思路不用于通知,而是用于个人收到通知后(或者随时)的主动查询。这是类似于“我的……”的功能,有没有通知都要做。

第二个思路,去掉“完成待办”操作,增加“已读”操作,如果有闲工夫,还可以增加跨终端消息已读状态同步功能,再有闲功夫,还可以增加“之前你的某某任务已被他人处理”提醒消息。

通知 /推送的主体是系统,待办任务的主体是个人,这俩是两码事,要分开处理,合在一起就会引起混乱。在细分一点,通知消息的生成跟读取也要分开,前者主体是系统,后者主体是个人。
2022-06-16 10:45:03 +08:00
回复了 css3 创建的主题 程序员 简历里面期望职位可以填写不同岗位吗?
简历,最重要的是不能造假,你真实期望是几个岗位,就写几个。但请注意这要是你发自内心想干的岗位,不是因为别人说好或者待遇好才想干的岗位,通常这也意味着你要么有这岗位的经验,要么有这个岗位的相关经验。

找工作,最重要的是找到双方都合适的工作,而不是找到招聘方单方面满意的工作,那是犯贱。
虽然你说的那些确实是问题,但那不是你标题说得问题“不给平板用户留一条活路”。相反,你所说得雷,恰恰是为了让让平板更好用的设计。你的本源问题是:在平板上干常规电脑干的活,这种理念自 win10 刚开始就被抛弃了。
这并不是撤回,而是多终端和待推送消息一起同步,微信连本地的终端跟通知中心同步都没做,就更别指望多终端同步了。
2022-06-14 17:41:11 +08:00
回复了 JellyBeanX 创建的主题 程序员 现在应该没有安卓开发的培训班了吧
没见过三板斧的人,看这简历(在国内的招聘市场)没啥大问题,就是罗列自己的技能。这种罗列对面试官来说没啥意思,但是又不得不罗列,因为筛选简历觉大概率是一点都不动技术的人事(还很有可能是刚入职场的人事小妹 /小弟),你不罗列压根过不了筛选。

我觉得现在招聘最大的问题就是人力资源部门跟技术部门脱钩很严重。
2022-06-14 17:03:51 +08:00
回复了 asanelder 创建的主题 程序员 Java 原地修改字符串, how?
String 是 final class + no setter ,你要想修改就只能用反射,还得是禁用安全限制的反射。虽然可以这样做,但是要做也得给其他类做,String 是可以这样设置的,强行进去修改会引起指数级的麻烦。问 String 为啥设计成不可变,都比借 String 问反射都好。
2022-06-14 10:09:57 +08:00
回复了 nothingistrue 创建的主题 Java Java 泛型个人总结,发出来共享,以及寻求理论支持
联动 /t/859220 /t/858692 ,那里面我的回复不用看了,中间过程的回复,有不少错误。
2022-06-13 14:47:07 +08:00
回复了 ak1ak 创建的主题 Java 关于 Java 泛型方法定义的疑惑
回到楼主的最初疑问上,有必要对泛型标记做一个区分。

泛型说到本质,就是模板替换。而模板替换,需要首先定义两个东西:一个是替换什么,即模板变量;一个是在哪里替换,即引用模板变量的地方。
举例来说一下:
public interface List<E> { boolean add(E e); } 左边的<E> 是模板变量,右边的那个 E 是模板变量的引用。
<T> T[] toArray(T[] a) ;(该方法同样在 List 中) 昨天的<T> 是模板变量,右边的那个 T 是模板变量的引用。

上面只是定义了模板,到了使用的时候,你还得再定义第三个东西:替换成什么。
举例:
ArrayList<String> = new ArrayList<>(); 这里就定了了将相关的 E 替换成 String 。


通配符,只能用在第二个定义,即模板变量的引用那里。模板变量,和模板要替换的值,都必须是确定的,故不能用通配符。这里有一个特殊的地方,返回值那里可以使用<?>通配符,但此时这个<?>等同于<Object>,是个假的通配符。



当上面区分好之后,再看楼主的需求。

主贴当中之所以错误,是因为没有定义模板变量。

1 楼不允许定义`T super A3`的原因,因为这是模板变量,虽然跟普通变量不一样,但也要遵循一样的原则:你只能将变量的类型限定成具体的。T 可以,这相当于 Object 类型,T extend Base 可以,相当于 Base 类型。T extend Base & SomeInterface 也可以,仍然相当于 Base 类型,只不过额外要求实现了 SomeInterface 。T super Child 不可以,因为无法确定这代表哪种类型。

3 楼的需求,想要的效果本质上是:定义一个方法,方法的参数类型是 A3 的父类。这跟泛型都没关系了,已经违反基本准则了,显然是不可实现的。
2022-06-13 13:52:07 +08:00
回复了 ak1ak 创建的主题 Java 关于 Java 泛型方法定义的疑惑
1 楼的需求,变通一下,也是可以实现的。变通后的需求是:接受一个对象,将之转换,然后将转换后的结果加入到 指定类的的父类的 list 。

interface ProcessAndSet<T>{
void processAndSet(T element, Function<T, A3> function, List<? super A3> list);
}

ProcessAndSet processAndSet = (e,f,l)->{
l.add(f.apply(e));
};
List<A1> a1List = new ArrayList<>();

这个变通需求与原始需求的区别是:原始需求中 “A3 父类的 List” 作为模板参数,要跟函数式接口一并定义,变通后,“A3 父类的 List” 是传入参数而不再是模板参数,不再一起定义,而是分开定义。
2022-06-13 12:57:07 +08:00
回复了 ak1ak 创建的主题 Java 关于 Java 泛型方法定义的疑惑
运行起来才发现怪怪的,楼主定义的 Util 是个函数式接口,但它的具体方法又继续用函数式接口,这样嵌套下来的场景,貌似我不好举例。所以就把 Util 换成工具类了。然后实际运行中,静态方法无法使用模板参数,所以 Util 又给改成对象类型的。

代码看上面,最终的效果是。A2 的工具类,可以从 A3 的 List 中做读方向处理,可以往 A1 的 List 中做写方向处理。

对于楼主 1 楼的需求,如果是这样,Util 类是个函数式接口,模板参数是“A3 的父类”,这是绝对不行的,因为这样的效果等同于方法的形参定义成了“某某或它的父类”,而这是违反面向对象基本原则的。如果是这样,Util 类是带模板参数的普通类,它的其中一个方法的参数限制为“模板参数的父类”,这是可以的,实际效果就看我上面的代码。
1 ... 91  92  93  94  95  96  97  98  99  100 ... 107  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3396 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 79ms · UTC 04:24 · PVG 12:24 · LAX 21:24 · JFK 00:24
Developed with CodeLauncher
♥ Do have faith in what you're doing.