V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  adoal  ›  全部回复第 59 页 / 共 84 页
回复总数  1664
1 ... 55  56  57  58  59  60  61  62  63  64 ... 84  
2022-06-22 12:41:59 +08:00
回复了 NipGeihou 创建的主题 程序员 开源项目如何做到不泄露配置文件中的密码信息?
方法四,加一个命令行参数,用于指定从哪里读取配置文件。默认是从项目内部路径,可以指定覆盖。服务器上部署时,就在 systemd unit 或者其它启动机制里指定。

我自己做的小项目或者要供应商做的大项目里主要用方法三和四。
2022-06-22 12:38:07 +08:00
回复了 NipGeihou 创建的主题 程序员 开源项目如何做到不泄露配置文件中的密码信息?
只写过业务代码没在生产环境玩过服务器运维但是对这个问题又困惑并且愿意较真的小盆友们还是认真玩玩服务器。比如用 Linux 的,至少了解文件系统的各部分,知道发行版打包好的基础软件是怎么使用文件系统里不同目录结构的,File-system Hierarchy Standard 是什么。虽然发行版打包好的基础软件的惯例通常不太适合 100%照搬到业务系统上,但有很大的借鉴价值,会让你们的系统部署跟运维老司机的对接更流畅。
2022-06-22 12:34:24 +08:00
回复了 NipGeihou 创建的主题 程序员 开源项目如何做到不泄露配置文件中的密码信息?
只写过业务代码,没在生产环境玩过服务器运维的小盆友(也不排除有很多老手甚至所谓架构师)可能潜意识里默认认为配置文件“只能”或者“应该”从项目路径结构(当前目录或者下面的子目录)读取,所以在这个问题上会犯难。其实哪有这么愁呢?
方法一,程序里指定从 /etc/<my_project>/<some_item>.conf 这样的 site-wide global path 里读取配置,开发机和生产环境各写各的配置,互不影响,提交的代码里根本不包含配置文件,而且做部署的时候也不会覆盖现有的配置文件。缺点是如果配置文件语法、语义有版本变化,需要生产环境的运维人员配合做升级。
方法二,做两个不同的 profile ,但都是从项目内部路径读取配置。开发机用开发的 profile ,部署到生产环境用生产的 profile 构建打包。两个 profile 的配置文件加入.gitignore 确保不会提交。缺点是每次在新的开发机上 clone 出来需要自己准备配置文件。
方法三,做两个不同的 profile 。开发机用开发的 profile ,从项目内部路径读取配置。部署到生产环境用生产的 profile 构建打包,不打入配置文件,而是从 site-wide global path 里读取配置。开发 profile 的配置文件加入.gitignore 确保不会提交(其实提交了也无所谓)。集一和二的部分优缺点。
当然,做不同 profile 也有多种实现方式。一般 Java 项目是在构建时区分,某些脚本语言的项目往往在运行时通过读取环境变量或者命令行参数来区分。只要能分开,都不是大问题。
2022-06-21 23:31:51 +08:00
回复了 kikione 创建的主题 程序员 SQL 分组查询后取每组的前 N 条记录
用窗口函数
2022-06-20 18:47:44 +08:00
回复了 lik750 创建的主题 程序员 CSDN 为什么一直被骂还一直变大
诸君哭到天明也哭不死董卓
2022-06-20 01:25:52 +08:00
回复了 A01514035 创建的主题 macOS mac 有线网的 dns 总是被重置
@A01514035 短期关掉测试一下看是不是运营商从 ipv6 栈推过来,又不会怀孕的。
2022-06-19 11:51:27 +08:00
回复了 A01514035 创建的主题 macOS mac 有线网的 dns 总是被重置
关掉 ipv6 看看
2022-06-18 11:30:49 +08:00
回复了 kgdb00 创建的主题 Linux gcc 为什么连这种代码都能编译通过?
什么类型不类型的,C 又不是 Haskell
2022-06-16 19:30:58 +08:00
回复了 dramakevinzz 创建的主题 问与答 Java 什么时候用 assert,什么时候用 if
举个栗子:过程 A ,从界面获取用户输入;过程 B ,检查用户输入的格式正确性;过程 C ,拿用户输入调用后端业务。
业务逻辑是按顺序调用 A 、B 、C 。

过程 B 里判断输入格式是否正确,用 if ,因为不对的格式是用户输入的,程序不可控,遇到了不是程序的错。

过程 C 里要再检查一遍用 assert ,因为这里数据不是直接来自不可控的用户输入,这是程序员可控的环节,格式再不对就是 B 写错了,写对的程序执行到这里不应该有不对的数据。
2022-06-13 10:41:35 +08:00
回复了 znwindy 创建的主题 问与答 搭建小型企业官网选什么方案求推荐?
建议用云服务商的建站系统,不要自己装平台做配置和定制。理由:网站上线以后,如果服务器配置有安全问题、用的 CMS 平台有安全问题,你还要不要继续帮他维护?继续做,拖死你;不维护,坑死他。
2022-06-09 12:49:25 +08:00
回复了 NPC666 创建的主题 职场话题 [求解] 国内公司/华人公司是不是普遍爹味儿重
看到"你不要站在 PG 的角度去看问题",第一反应是我们用 PostgreSQL 的又招谁惹谁了……
2022-06-09 12:44:06 +08:00
回复了 ZE3kr 创建的主题 iPhone 2022 年了,国内运营商为啥还不支持 Wi-Fi 通话?
你有没有想过,国内的很多人是在移动互联网时代才真正上网的,只知道没欠费停机的 SIM 卡插入手机后就能上抖音直播。TA 们从来没用过任何一家公共的或者机构的 Wi-Fi 服务,更没有想过在自己家里装 Wi-Fi 热点。对 TA 们来说,用 Wi-Fi 是超纲操作。TA 们遇到信号不好当然也是只会去运营商投诉。
2022-06-07 20:02:37 +08:00
回复了 7911364440 创建的主题 Java Jdbc 字符串拼接 sql 最佳实践是什么
不拼接
2022-06-07 18:42:23 +08:00
回复了 kaiki 创建的主题 分享创造 一次有趣的尝试:用 emoji 当验证码
@nomagick 太毒了,怕不是硅基人派来的卧底
2022-06-07 18:40:19 +08:00
回复了 liuidetmks 创建的主题 程序员 什么软件会存活一百年?
健康码
2022-06-06 12:17:13 +08:00
回复了 unt 创建的主题 Apple 都说 4K 屏细腻,可是我今天连接上后感觉颗粒感很重呀
“都说 4K 屏细腻”,指的是同物理尺寸跟 1080p 、2560p 相比好不好,跟 5K 比当然粗糙了。粗和细是比较出来的,不是绝对数量。
2022-05-30 13:20:24 +08:00
回复了 nuanshen 创建的主题 程序员 诸位对“好的代码就是要注释比代码还多”这句话怎么看?
要分清以注释面貌出现、给 external caller 看的文档,和不做为文档、给 internal maintainer / reviewer 看的真正注释
千万不要 PUA 自己
1 ... 55  56  57  58  59  60  61  62  63  64 ... 84  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5306 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 49ms · UTC 07:50 · PVG 15:50 · LAX 23:50 · JFK 02:50
Developed with CodeLauncher
♥ Do have faith in what you're doing.