V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  lff0305  ›  全部回复第 1 页 / 共 8 页
回复总数  153
1  2  3  4  5  6  7  8  
21 天前
回复了 rookiemaster 创建的主题 C char *s = "0123"和 char s[] = "0123"的区别
十多年以前仔细研究过这个 char *s = "0123"。当时用的还是 VC6.
结果比较有意思(针对 VC6 ,之后的应该改进了)。

对于 Debug 版,“0123” 会被放到只读数据段里面(好像是叫.rdata). char* s 是个指向这个只读数据段中一小段数据的一个指针。任何对这个数据段的写操作都会引发段错误。

相应的这避免了两次调用相同的函数,结果不一致的问题。
比如下面的代码,假设可写,那么会有

test() {
char*s = "123";
printf("%s", s);
s[1] = 'a';
}

test();
test(); <--- 这里打印出来 1a3 ,和程序的语义不一致。

有意思的是上面的代码在 Release 版是没有出错的,打印出来两行 123 和 1a3 。
当时看了下的结果是,
对于 Debug 版,生成的 exe 有三个段,代码段(可执行),只读数据段(只读),普通数据段(可读可写)。
而对于 Release 版,连接器把所有三个段捏到一起去了,整个 exe 文件只有一个段,这个段可读可写可执行。

总之这个问题和系统的段页式内存管理,以及编译器连接器都有关系
以前做项目见过的:

客户有奇葩的防火墙/负载均衡,对于
1. 非 Get Post 请求,高峰期不能保证 QOS ,要对 Get Post 让路
2. 非 2XX 返回值,会把 response 封装成类似 upstream error:<原始的 body> 而且可能 body 还会被截断

所以为了适应客户把项目做下去只能全部 GetPost ,用 200 返回,再把错误信息放在 Body 里面
28 天前
回复了 WilliamColton 创建的主题 C 一个简单(奇怪)的 C 语言问题
在 Linux 下用 GCC 测试了下没有发现问题

这个问题是否和 Clion 的 Console 有关系?
44 天前
回复了 rizon 创建的主题 程序员 有什么免费版够用的在线日志分析平台吗
Grafana 有 Log on cloud ,免费用户可以用,但是有容量的限制,50GB 还是多少
问题一般是公司允许用这种在线日志么,还要脱敏
学会用 antlr 就行了,感觉 antlr 不需要特别多的编译原理的东西
用端口开放工具检查下端口是不是 open 的,如果是就是你自己链路上某个节点给封了,比如 GFW
内网回流问题,要解决需要路由器支持

简单解决,就在内网机器 host 文件加个配置,把 xxx.com 解析成内网 192ip 就行了
楼主说的无痕,意思应该是:系统中内置了某些程序或者驱动,挂钩了底层文件读写的 API ,对于某些文件读写操作,会生成审计信息发送给系统管理员或者监控系统。

避过的方法就是绕过系统,用 PE 或者 Live 。当然一般这种公司都不会让你从 USB 或者 CDROM 启动,BIOS 也有密码改不了,个人也拿不到 Bitlocker 的密钥
149 天前
回复了 steelshadow39 创建的主题 程序员 业务系统日志存储选型讨论
如果不想花钱,存储用 ES 或者 Loki ,日志采集可以选用 Fluentbit/Fluentd ,Promtail ,或者直接代码里 POST Rest 过去
面板选择很多,Grafana ,Kibana ,等等
如果愿意花钱的选择就更多了,Datadog ,Splunk ,绝对要不不花钱的好用的多,一分钱一分货
先生成一个 PDF 当模板,保证这个 PDF 能打印到这个票据的合适的位置

真正打印的时候用相应的库来编辑 PDF 模板,写入数据,然后打印
163 天前
回复了 shixinyu 创建的主题 云计算 Citrix 退出中国
Citrix 的用户不要太少,见过很多银行和金融公司,用的都是他家的 XEN ,员工不给笔记本啥的,只给一个小盒子,用来跑 Citix 客户端来登录远程桌面,所有的活都是远程桌面上干
165 天前
回复了 yoloMiss 创建的主题 Java 大哥们,给菜鸟想想办法吧,求求了。
把这个 json array 存储到 elastic search 里面,使用 elastic search 的运算符进行过滤,更新,最后导出
174 天前
回复了 cinv2 创建的主题 Android 国产安卓海外用,小米还是一加?
@gransh 意思就是国内版比国外版少了一部分频段的支持,后果就是国内版在国外可能会有上网的问题,比如小米国内版 K20 Pro 和海外版 Mi 9T Pro ,国内版不支持 4G 的 B2 ,B4 等频段。你可以看某宝上卖出差电话卡的,基本上都说只支持水果,安卓不支持

前几年国外有不少卖小米都是国内版刷海外版 Room ,然后用 Magisk 解除 app 的限制
现在有纯海外版原生 Google Play 加上两年官保,刷机版的没什么人买了

但是海外版的来电识别,基本上不好用
Win 平台上在 CreateThread 的时候可以设置,

HANDLE CreateThread(
[in, optional] LPSECURITY_ATTRIBUTES lpThreadAttributes,
[in] SIZE_T dwStackSize,
[in] LPTHREAD_START_ROUTINE lpStartAddress,
[in, optional] __drv_aliasesMem LPVOID lpParameter,
[in] DWORD dwCreationFlags,
[out, optional] LPDWORD lpThreadId
);
之前给小孩写过一个小东西,网页生成字帖,打印出来练字用的
实现就是在 Canvas 上把文字和表格都画上去( RaphaelJS ),打印也有现成的库( printjs)
唯一麻烦的地方是 Canvas 上的点和屏幕上的点不是 1:1 ,要换算,还要根据打印纸张大小
算比例,更换了屏幕(分辨率变了)还要调整,挺麻烦的
遇到过类似的问题,原因是多个类在 init 的时候互相引用 (有多个 public static final 的 property )。
例如下面代码打印出来 A 的值是 0

public class Main {
public static final int FIRST_LINE_HEIGHT = ScreenUtil.dp2px(80);
public static void main(String[] argu) {
}
}

class ScreenUtil {
public static int A = Main.FIRST_LINE_HEIGHT;
static {
System.out.println(A);
}
public static int dp2px(int i) {
return i + 1000;
}
}
前几年手头一个老树莓派 2B 有这个情况。放那不动几天就自己死了。
不像是软件层面的问题(没有任何日志,watchdog 无效)。

没找到啥好的解决方案。当时树莓派 4 又贵上天。
干脆就直接升级 Intel J 系列的小主机
开个 EC2 ,mount S3 到 EC2 的文件, 然后办法就多了
332 天前
回复了 0x19921213 创建的主题 程序员 SQL 大佬来救命
Oracle 这个版本能创建(或者环境允许创建) instr 的函数索引么,试试函数索引
1  2  3  4  5  6  7  8  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   891 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 35ms · UTC 21:27 · PVG 05:27 · LAX 14:27 · JFK 17:27
Developed with CodeLauncher
♥ Do have faith in what you're doing.