2015年工作中遇到的问题:21-30(这10个问题很有价值)
21.mysql数据库的数据类型numberic和double是不同的。
numberic只能表达最长65位精度的定点数
而double可以描述的是允许的值是-1.7976931348623157E+308到-2.2250738585072014E-308、0和2.2250738585072014E-308到 1.7976931348623157E+308
虽然numberic的小数位数可以更长些,但是表达的值的范围远不及double。
就这些区别。
不能光考虑精度,同时要考虑值域范围。
另外一个是定点,一个是浮点,运算时间效率也是不一样的。
参考网友的答案。
22.代码中是否有必要使用代码块。
method a(){
{
}
}
有的时候,一段代码使用到了多个变量,提取成单独的方法比较麻烦,但是代码太长的情况下,可读性变差了。
看到Boos部分地方使用了代码块,代码可读性提高。
让人纠结的是,一直以来不用代码块,个人倾向于在不同代码块的头部,加上一行注释,简要描述一段代码的核心逻辑。
23.密码的安全性问题。
表单输入的密码加密,安全控件,https,传输过程使用对称加密,
程序内部增加校验密码的接口,让“程序员也不知道实际的密码”。
处于简单考虑,前期没有怎么处理。
24.资金、利息等Double比较时,经常会出现误差。
我个人的一种想法时,资金保留到分的下一位“粒”,在四舍五入,或者只舍不入的情况下,也更精确。
Double相减,不与0直接比较,而是相减取绝对值,与目标误差,比如0.001比较。
25.VIM设置行号。
修改/etc/vimrc,增加一行配置 "set nu"。
这样,每次打开文件就显示了行号。
但是,又发现一个问题,有了行号,选择直接复制的,带了行号,粘贴之后,还需要手动删除行号,尼玛。
26.最近p2p跑路平台太多,政府部门和第三方支付的担忧比较大。
支付宝和财付通已经停止对不知名的p2p平台,提供第三方支付服务了。
某好友正在帮人开发p2p系统,第三方支付这一块卡住了,只能找一家提供服务的第三方支付公司了。
要不然,帮客户开发的系统卖不出去,钞票无法到账。
听说国富宝还是可以接入的,这样还好,可能是国富宝这种量级的,客户不太多,还没有到挑选客户的地步吧。
不知道,这是个好事,还是坏事呢。
27.SpringMVC表单验证。
网上说Spring自己也有一套验证组件,spring-modules-validation.jar;没有用过。
公司项目中,用的是Hibernate的Validator。我个人对Hibernate的印象是,比较大,很笨重。
我还是更倾向于Jodd的vtor验证组件。
http://jodd.org/doc/vtor/index.html
jar包非常小,还需要实践看看。
28.Mybatis配置文件。
ChargeLogSummaryDao.xml
为了偷懒,直接copy然后修改的,结果只修改了部分内容,namespace没有修改。
导致项目启动的时候,总是提示ChargeLogDao.add已经存在。
找了半天,才定位到问题原因,通过搜索“ChargeLog”。
29.Nginx配置文件测试是否正确。
nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
nginx -s reload,重新加载的过程中可能会发生语法错误,先检查下,比较靠谱~
30.Cache有2套实现。
Cache定义缓存接口,底层可以是Redis和Memcache,这是底层技术方面的选择。
但是,需要注意的是,同样是Redis实现,业务方面也可以不同。
比如登录和Session相关业务与缓冲普通对象数据,需求是不一样的。
用户登录的数据,更加关键。
根据Boss的经验,数据量过大的情况下,最旧的缓存数据可能会被覆盖。
对于普通的业务数据,完全是可以接受的。
但是,对于Session数据,则不行,会导致已登录用户突然掉线。
以上就介绍了 2015年工作中遇到的问题:21-30(这10个问题很有价值),包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

要让 Tomcat 服务器对外网访问,需要:修改 Tomcat 配置文件,允许外部连接。添加防火墙规则,允许访问 Tomcat 服务器端口。创建 DNS 记录,将域名指向 Tomcat 服务器公有 IP。可选:使用反向代理提升安全性和性能。可选:设置 HTTPS 以提高安全性。

ThinkPHP Framework 的本地运行步骤:下载并解压 ThinkPHP Framework 到本地目录。创建虚拟主机(可选),指向 ThinkPHP 根目录。配置数据库连接参数。启动 Web 服务器。初始化 ThinkPHP 应用程序。访问 ThinkPHP 应用程序 URL 运行。

要解决 "Welcome to nginx!" 错误,需要检查虚拟主机配置,启用虚拟主机,重新加载 Nginx,如果无法找到虚拟主机配置文件,则创建默认页面并重新加载 Nginx,这样错误消息将消失,网站将正常显示。

Docker 环境中容器通信有五种方法:共享网络、Docker Compose、网络代理、共享卷、消息队列。根据隔离性和安全性需求,选择最合适的通信方法,例如利用 Docker Compose 简化连接或使用网络代理提高隔离性。

要将 HTML 文件转换为网址,需要使用网络服务器,包括以下步骤:获取网络服务器。设置网络服务器。上传 HTML 文件。创建域名。路由请求。

Node.js 项目的服务器部署步骤:准备部署环境:获取服务器访问权限、安装 Node.js、设置 Git 存储库。构建应用程序:使用 npm run build 生成可部署代码和依赖项。上传代码到服务器:通过 Git 或文件传输协议。安装依赖项:SSH 登录服务器并使用 npm install 安装应用程序依赖项。启动应用程序:使用 node index.js 等命令启动应用程序,或使用 pm2 等进程管理器。配置反向代理(可选):使用 Nginx 或 Apache 等反向代理路由流量到应用程

Dockerfile 中最常用的指令有:FROM:创建新镜像或派生新镜像RUN:执行命令(安装软件、配置系统)COPY:复制本地文件到镜像ADD:类似 COPY,可自动解压缩 tar 存档或获取 URL 文件CMD:指定容器启动时的命令EXPOSE:声明容器监听端口(但不公开)ENV:设置环境变量VOLUME:挂载主机目录或匿名卷WORKDIR:设置容器中的工作目录ENTRYPOINT:指定容器启动时要执行的可执行文件(类似 CMD,但不可覆盖)

是的,Node.js 可以外网访问。您可以使用以下方法:使用 Cloud Functions 部署函数并公开访问。使用 Express 框架创建路由并定义端点。使用 Nginx 反向代理请求到 Node.js 应用程序。使用 Docker 容器运行 Node.js 应用程序并通过端口映射公开。
