V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  SoloCompany  ›  全部回复第 33 页 / 共 159 页
回复总数  3178
1 ... 29  30  31  32  33  34  35  36  37  38 ... 159  
2017-05-26 13:05:21 +08:00
回复了 shiji 创建的主题 问与答 疑似 XSS, 求帮助看看我这种情况能怎么利用
request line 是否转义取决于用户使用的浏览器,建议你测试一下老旧浏览器

用 curl 构造请求的话肯定可以不转义

最后,无论如何,在这个地方是应该做 htmlescapr 的
2017-05-26 09:21:29 +08:00
回复了 CYKun 创建的主题 Kotlin Kotlin 中 return 语句的设计是基于怎样的考虑?
这要看定义,inline function 和普通 function 毕竟还是有很大不同的,如果没有这个特性,很多封装控制流的的库函数比如 use run let 等的使用就体验大打折扣了
2017-05-25 15:30:15 +08:00
回复了 Corbusier 创建的主题 前端开发 什么是持续集成?
传统集成:20 天的工期, 5 天开发 + 5 天测试 + 5 天集成 + 5 天上线
持续集成:每天甚至每分钟都在完成以上的各项工作
2017-05-25 15:26:20 +08:00
回复了 aheadlead 创建的主题 git 一个诡异的 cherry-pick 问题
@aheadlead 应该没有吧,你可以直接 man git-merge 文档, 如果你不希望 git 自动检测文件移动, 可以使用 -Xno-renames, 你甚至可以使用 -Xrename-threshold 来控制相似度阈值, 这本身是一个缺点 (不像 svn 那样有准确的 copy 跟踪), 但在大部分场景下应该可以很好的工作
很久以前我在淘宝上大量买过,维记的,一包 40 粒,连邮费平均大概 20

还是不建议用植脂末(即咖啡伴侣),不健康,如果喝不习惯纯咖啡,建议还是加鲜奶吧
2017-05-25 01:54:40 +08:00
回复了 aheadlead 创建的主题 git 一个诡异的 cherry-pick 问题
首先,git 是缺少文件复制 /移动跟踪功能的,但却能实现文件的复制 /移动 (参考 log — follow)
其次,没错,git 的跟踪完全就是靠猜,根据每次 commit 的变化, 文件相似度, 文件名重合度来猜是否发生了复制 /移动
最后,因为一切都是靠猜,cherry-pick 的时候,因为 B 分支不存在复制后的文件 2,就会尝试查找可能的文件进行合并,由于文件 2 在改动前内容和文件 1 完全相同,sha1 完全一样,在分支 A 上能匹配到文件 1,所以就会直接把文件 2 的改动应用到文件 1 上面
2017-05-24 01:08:01 +08:00
回复了 miclinux 创建的主题 宽带症候群 为什么我 8M 的宽带,用 BTSync 能下出 3.6M/s
2017-05-23 22:07:50 +08:00
回复了 JuicyJ 创建的主题 分享发现 身份不明的 JetBrains?
社区版忘记签名了?
2017-05-23 17:54:48 +08:00
回复了 orvice 创建的主题 分享发现 Github api V4 将放弃 REST 完全基于 GraphQL
同一天发布的三个 feature
为啥没人关注 https://github.com/marketplace
反而关注这个?
这你都搞不定,让你上个 CDN 再弄个资源路径分割啥的岂不是要疯掉?
2017-05-22 20:59:22 +08:00
回复了 esolve 创建的主题 问与答 两个变量中,仅仅有一个是 null,如何简便写法?
@esolve java 一样有 ^ 操作符啊
@abcbuzhiming 我不觉得这算是什么技术源头吧,因为 CGI 是最早的服务器编程方式,所有人都熟悉,专家也熟悉,制订标准的时候肯定也会参考,但同时也会做一些修改,比如 CGI 的 SCRIPT_NAME 环境变量在 Servlet 里面就改名为了 ServletPath, javadoc 里面都相关映射的说明
@abcbuzhiming 早期 jsp 引擎的实现和 php 是比较类似的,就是类似 *.jsp/* 都会被 jsp 引擎处理,只要路径中包含 jsp (并且文件存在),就会被映射
但是会存在歧义
比如 /1.jsp/2.jsp/3 并且这两个路径下的 jsp 文件都存在
那应该是映射为 servletPath=/1.jsp, pathInfo=/2.jsp/3 呢
还是 servletPath=/1.jsp/2.jsp, path=/3
完全依赖引擎的实现, Servlet 规范里面并没有这种定义的支持.

Servlet 规范的 mapping 只支持一个 *,即要么按文件名后缀 map ( pathInfo 永远是 null) 要么按前缀来 map, 而且必须是 ‘/*’ (/* 代表的就是 pathInfo)

默认的 jsp servlet mapping 的定义是写在 CATALINA_BASE/web.xml 里面, 就是 *.jsp, 通过这个 mapping 的请求也一定没有 path info

默认配置还有一个 DefaultServlet, 用来服务静态文件

至于 tomcat 的 jsp 引擎什么时候变更为和规范一致,我已经不记得了,只记得很早的时候是可以 (带 path) 的,后来就不可以了,也很可能是 tomcat 一直都默认不可以带 path 而是其它引擎( resin / jetty 之类的) 可以
搜了一下也只能找到这个帖子 http://tomcat.10.x6.nabble.com/troubleshooting-getPathInfo-in-jsp-files-td2158648.html

最后,无论是哪个语言的 HTTP 服务引擎, 所面对的概念都没有什么太大差别, 基本上都遵循 CGI 的定义,你看 javadoc 的时候没看到 request.getXXX 的说明很多都有说明是相当于 CGI 的哪个环境变量吗?
@abcbuzhiming #7 我用得着去证明吗?是不是一回事你自己不会判断?就你这语气本来不想再回复了,算是知道什么叫做永远叫不醒一个自以为是的人。这是最后一条回复,你自己爱怎么理解就怎么理解吧

<servlet>
<servlet-name>c.jsp</servlet-name>
<jsp-file>/a/b/c.jsp</jsp-file>
</servlet>

<servlet-mapping>
<servlet-name>c.jsp</servlet-name>
<url-pattern>/a/b/c.jsp/*</url-pattern>
</servlet-mapping>

自己去看一下早期 jsp 引擎是怎么实现的
以及后来 jsp 的默认 mapping 怎么又被规范为了 *.jsp, 而规范不支持 *.jsp/* 这种类型的 mapping 只能通过手工加入
看看他们傲慢的态度吧

https://issuetracker.google.com/issues/36702869

Status
Won't Fix (Intended behavior)
有什么问题吗?
REQUEST_URI = /a/b/c.php/d/e/f?x=1
SCRIPT_NAME = /a/b/c.php
PATH_INFO = /d/e
_GET = [ “ x ” => 1 ]

是什么让你会觉得这是 java 发明的?
2017-05-11 02:47:02 +08:00
回复了 a895259846 创建的主题 程序员 Java 中 arrayList 最大容量是 Integer.MAX_VALUE-8
2017-05-10 10:00:39 +08:00
回复了 banker 创建的主题 程序员 Java 可以像 C 一样 readline 么?
@mosliu 大部分的编码方式的编码空间都是不可还原的(意思是说 decode 为 string 后再 encode 无法保证得到原始的 byte 序列),包括我们最常见的 utf8 以及 gb18030,如果你希望可 100% 还原,那么可以选择 Files.readAllLines(Path, ISO_8859_1), 然后每行都要先使用 ISO_8859_1 重新 encode 回 bytes 再强制编码转换
1 ... 29  30  31  32  33  34  35  36  37  38 ... 159  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5518 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 62ms · UTC 08:36 · PVG 16:36 · LAX 00:36 · JFK 03:36
Developed with CodeLauncher
♥ Do have faith in what you're doing.