首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

自由程序员3个开发技巧

提供技术咨询:如果你发现客户做了错误技术决策时,一定要对他们指出这一点,而不要应该让他们在错误路上越走越远,直到举步维艰。一起讨论决策,但要记住,最后决定权一定以及始终在客户手里。...例如,如果需求上声明,用户必须通过提供一个电子邮件地址和密码才能进行注册,而另一条则说要求用户通过输入用户名和密码登录,这时你会发现这里一个不一致地方:注册需要电子邮件(而不是用户名),而登录期望使用用户名...只是觉得必要提醒未来潜在客户,他们应该预见这个家伙服务水平和专业性。 保护和提高声誉最好方法就是保证客户满意! 那么怎么做呢?一种方法是暂时将自己想象成是客户。...从Freelancer和Upwork等平台上雇过几次开发人员,感谢这些经历,因为这让懂得了: 如何从若干候选人中选择最好人选 在工作进行中期待什么 当碰到开发人员不发送更新、不回复电子邮件时,会有多么沮丧...一定要正确地解决这些问题! 不要在稀里糊涂情况下签署保密协议 曾被多次要求在不告知相关项目任何细节之前签署保密协议。态度就是拒绝,即便有失去项目的风险。 为什么呢?

47610

Web Hacking 101 中文版 五、HTML 注入

有时,这可能会导致页面外观完全改变,或在其他情况下,创建表单来欺骗用户,例如,如果你可以注入 HTML,你也许能够将 标签添加到页面,要求用户重新输入他们用户名和密码。...实际上会解码字符串,并渲染相应字符,像这样: This is a test 使用它,报告者演示了如何提交带有用户名和密码字段 HTML 表单,Coinbase 会渲染他。...text= 浏览器会提交两个引号之间任何东西。现在,结果是,这个已经在 HackerOne #110578 报告中由 intidc 公开。看到它公开之后,一点失望。...DOM 指代用于有效 HTML 以及 格式良好 XML 应用程序接口。本质上,根据维基百科,DOM 是跨平台并且语言无关约定,用于展示 HTML、XHTML 和 XMl 中对象,并与其交互。...当部署了变更之后,同时意味着新代码也可能存在漏洞。 此外,如果你觉得有什么不对,一定要深入挖掘。知道一开始尾后引号可能是个问题,但是不知道如何利用它,所以我停止了。本应该继续

1.4K10
您找到你想要的搜索结果了吗?
是的
没有找到

SpringBoot系列Mybatis之参数传递几种姿势

(20) NOT NULL DEFAULT '' COMMENT '用户名', `money` int(26) NOT NULL DEFAULT '0' COMMENT '钱', `is_deleted...单参数 接下来我们看一下不使用@Param注解时,默认场景下,xml 中应该如何指定参数;因为单参数与多参数实际结果不一致,这里分开进行说明 单参数场景下,xml 中参数名,可以用任意值来表明 mapper...Map 传参 如果参数类型并不是简单类型,当时 Map 类型时,在 xml 文件中参数,可以直接使用 map 中对应 key 来指代 /** * 参数类型为map时,直接使用key即可 * @param...简单参数 + Map 参数 当参数多个,其中部分为简单类型,部分为 Map,这样场景下参数如何处理呢?...预知后事如何,且看下文详述;是一灰灰,欢迎各位大佬关注回访 III. 不能错过源码和相关知识点 0.

90830

SpringBoot系列Mybatis之参数传递几种姿势

(20) NOT NULL DEFAULT '' COMMENT '用户名', `money` int(26) NOT NULL DEFAULT '0' COMMENT '钱', `is_deleted...单参数 接下来我们看一下不使用@Param注解时,默认场景下,xml 中应该如何指定参数;因为单参数与多参数实际结果不一致,这里分开进行说明 单参数场景下,xml 中参数名,可以用任意值来表明 mapper...Map 传参 如果参数类型并不是简单类型,当时 Map 类型时,在 xml 文件中参数,可以直接使用 map 中对应 key 来指代 /** * 参数类型为map时,直接使用key即可 * @param...简单参数 + Map 参数 当参数多个,其中部分为简单类型,部分为 Map,这样场景下参数如何处理呢?...预知后事如何,且看下文详述;是一灰灰,欢迎各位大佬关注回访 III. 不能错过源码和相关知识点 0.

1.6K00

警惕SNMP默认团体名导致网络入侵

例如,设备配置文件中包含用户名和密码,有时候密码用是可逆加密方式,这样我们就可以用telnet或ssh登录设备控制台。我们也可以通过更新配置文件方式,给目标设备添加一个后门用户。...由于目前他们已经将SNMP默认团体名问题修复了,所以拿出来简单说下,纯做技术交流探讨。大家看图: *图12:A公司居然也会犯如此低级错误 姑且用A公司来指代吧。...从配置中可以看到它们使用用户名,以及密码模式。...其中某台Cisco开有V**,使用Cisco AnyConnect客户端,用配置中用户和密码就可以登录;他们还将Cisco Prime Infrastructure管理界面NAT到互联网了,这个设备管理着所有其它网络设备...,用户和密码都不难猜到,登录后你可以将它上面管理设备(上百台)详细配置导出下载,里面IP地址、root或admin密码、snmp团体名等等—也就是说,手握这份超级地图,你可以在这个内网中畅游无阻了

4.7K20

软件架构-软件环境持续发布管理(上)

要把一个项目,尤其大规模项目,大型互联网项目都是拆很散,几十个上百个,那些项目都是拆很散他们之前还有项目依赖,他们发布起来真的是很难事情。...,自身项目不能如期发布,但是自身项目可能依赖另一个功能可能需要接口,导致另外接口也无法发布,就形成了一个链条,一个功能不能如期,导致其他所有的都无法如期。...1.最大问题就是协调,协作问题 2.如果当时约定了,是否考虑应急方案,提前告知无法提供, •⑨ 顺利可持续化集成需要做到以下几点 1.一个清晰可执行发布流程 2.一个熟悉流程发布管理协调人员...passwd:负责账号和密码用户名单管理 svnserve.conf:svn服务器配置文件 编辑 authz 文件 [/]:表示根目录,即 /var/svnrepos admin = rw:表示用户...auth-access = write:表示授权用户拥有读写权限。password-db = passswd:指定用户名口令文件,即 passwd 文件。

1.1K20

腾讯企业邮箱:如何判断退信原因?

如何判断退信原因? 如果您发送邮件被退回,腾讯企业邮箱会发送一封退信通知到您收件箱。 通过判读退信里关键字,您可以了解退信主要原因。...conversation with abcd.com[123.123.123.123] timed out while *该用户不存在 收件人用户名不存在 请向您收件人确认正确用户名。...500 Error: bad syntax; 发件人邮件服务器SMTPB会话语法错误 请把错误知会您发件人邮件服务提供商,您告知将帮助他们发现一个极其重要故障。...501 Bad address syntax; 收件人地址语法错误,如使用了非法字符 请向您收件人确认其邮箱正确地址。...550 Mailbox not found; 收件人用户名不存在 请向您收件人确认正确用户名

2.8K40

软件测试流程(完整版)

如果注册时候要输入两次密码,那么必须这个是必须) 重新注册存在用户 以已经注册用户名(改变大小写)来注册。...) 二、 登录 用户名和密码都是正确 用户名和密码都是错误 用户名正确和密码错误 用户名错误和密码正确 用户名或密码为空 删除用户名和错误密码 删除用户名和正确密码 未注册用户名和错误密码 用户名或密码中插入空格...使用Tab或Enter键是否能登陆 改变用户名和密码大小写登陆 用户名和密码中含有全角字符登陆 Web系统是否超时限制 登陆错误次数是否有限制 密码安全性是否强中弱鉴定 三、修改密码 不输入酒密码...(注:也有一些功能,比如PC与手机端展示不一致,或者什么特殊处理,这样情况下后台会写两套不同接口来处理对应业务需求) 不同之处 一、 测试平台(容器)不同: pc项目都是在电脑上进行测试:常见...办法肯定是解决个人理解,可以在出错之后对比一下是否在当前apk,如果不再的话则进入当前apk再做一次相关操作。

1.7K10

函数式编程与面向对象编程:编程本质函数式编程与面向对象编程:编程本质编程本质

他们首先会问一些似有禅机问题。例如,在设计一个交互式程序时,他们会问:什么是交互?在实现 基于元胞自动机生命游戏时,他们可能又去沉思生命意义。秉持这种精神,将要问:什么是编程?...如果其中一步发生差错, 就会导致各种问题, 比如数据不一致, 消息堆积、 请求无法被处理。最终用户等待时间并没有降低, 反而使体验更加糟糕。...否则, 接口 A 与接口 B 必须知道彼此究竟做了什么, 才能正确地做自己事情。 假设 接口 A 和接口 B 都修改某个资源状态。...防御性编程 预防错误方法就是进行防御性编程, 进行容错考虑。 多思考: 如果这一步发生错误, 会导致什么问题? 如何做才能预防这个错误?...如果难以预防, 如何描述, 才能在出现错误时更好地定位出这样错误? 在出现错误时, 如何才能恢复到正常合法状态 ? 如果无法程序自动恢复, 怎样做才能让手工处理更加简单 ?

1.3K20

linux Bash脚本判别使用者身份方法示例

比如用sudo时候,脚本里~或$HOME指代用户文件夹这个变量,到底是应该指向我真正用户文件夹如/home/pi呢,还是指向了超级管理员用户文件夹/root/呢?.../test.sh,才会出现严重问题! 那么假设真实用户是pi,而HOME目录在/home/pi,现在要在sudo ./test.sh这样执行方式下找出正确解决方案。...那么现在我们用户名,就可以用~pi这样命令获取主目录/home/pi了,但是!...这时候问题又出现了:手敲时候,我们可以获得~pi正确地址,但是脚本中却不识别~pi是个什么东西,顶多是个字符串,没法像变量一样。...再进一步,如果脚本没有以sudo方式运行呢?这时候root用户和普通用户环境变量下都是没有SUDO_USER这个变量

2.5K20

数据结构思维 前言

通过关注认为对软件工程师最有用的话题,把这本书限制在 200 页以下。 过于“自底向上” 许多数据结构书籍着重于数据结构如何工作(实现),而不是使用它们(接口)。...在这本书中,接口开始,“自底向上”。读者在学习如何使用 Java 集合框架中结构之后,再了解它们工作原理。 最后,有些书将这个材料展示在上下文之外,缺少动机:这只是另一个数据结构!...如果你不熟悉 Java 了,这里两本书可以用于起步: Downey 和 Mayfield,《Think Java》(O’Reilly Media,2016),它面向以前从未编程过的人。...在应用编程接口(API)上下文中,它指代一组提供某些功能类和方法。 在 Java 上下文中,它还指代一个与类相似的语言特性,它规定了一组方法。...当然,任何剩余错误都是错,而不是他们错! 感谢 Olin College 数据结构和算法课程中教师和学生,他们读了这本书并提供了有用反馈。

23930

关于大数据和数据库一篇学习笔记

然而现在很多计算机书籍都没有回答好这个问题,比如,当读者在阅读有关 Cassandra 书籍时,这本书会告诉你 Cassandra 是如何优秀,但是不会说 Cassandra 哪些不适合场景。...CAP 定理从根本上讲是不够好,而且也没有用。每当人们使用 CAP 定理证明它架构设计或者是某种决策合理时,认为他们理解错了 CAP 定理。...在 CAP 定理严格定义下,许多技术既不一致又不可用,实际上只是P!不是CP,不是CA,不是AP,只是P而已。...想补充一件事是很多人都在谈论去中心化,实际上谈论是加密货币,因为他们还试图通过一种去中心化方式将控制权从中央机构(如银行)转移到网络中。...但这并不是真正感兴趣去中心化:因为发现这些加密货币实际上仍然非常集中,在某种意义上,如果您要进行比特币交易,则必须使用比特币网络。因此一切东西都集中在这个特定网络上。

74420

万万没想到,一个普通地区问题,竟然让我们大战了300回合

1.地区问题 在我们平台企业表中有一个企业注册地id字段,是必填用户在注册企业页面需要选择一个地区,作为企业注册地,实际上数据库保存是地区id。...如果企业注册成功了,会在企业详情页面上展示该地区名称。当然我们系统后台逻辑是先通过地区id到地区表反查出地区名称,然后在用户界面中展示出来。...但比较巧合之前正好接触过类似的功能,当时突然想起了一个问题:双方数据一致性如何保证?...如果我方和对接方同时执行job,但万一有任意一方执行失败了,也会导致数据不一致情况。如果恰好这时候对接方在调用企业信息上传接口,会不会出问题? 2.2 以一方地区数据为准?...但是仔细思考了一下,还是一些宝贵经验值得总结一下,给需要小伙伴一个参考。 4.1 要从用户角度设计接口 在设计接口文档时,要真正做到从用户角度出发。

53921

《Understanding *nix Bash Profile》详细解释了Bash配置。

作为一个ThoughtWorker,不熟悉命令行几乎是一件被人嘲笑事,而Bash又几乎是每个人入门shell。 但你对Bash了解多少呢?你知道究竟应该配置Bash才能使其正确地运作。...一直没搞清楚这些文件是干什么,以及他们是什么联系。...当进入shell(bash/csh/…)时,如果需要一个完整登录过程(输入用户名和密码),我们就称获取这个shell为login shell。...譬如,如果你要是由 tty1 ~ tty6 登录,则*nix系统需要你提供用户名和密码,此时登录成功过后取得bash就称为login shell. 什么是 Non-login shell?...譬如,使用X Window登录后,如果启动终端(Terminal),则不需要登录即可进入shell 或者,如果在当前bash环境中再输入命令bash,同样也没有提供用户名和密码便进入新shell环境

80570

一个地区问题,引发深入思考

1.地区问题 在我们平台企业表中有一个企业注册地id字段,是必填用户在注册企业页面需要选择一个地区,作为企业注册地,实际上数据库保存是地区id。...如果企业注册成功了,会在企业详情页面上展示该地区名称。当然我们系统后台逻辑是先通过地区id到地区表反查出地区名称,然后在用户界面中展示出来。...但比较巧合之前正好接触过类似的功能,当时突然想起了一个问题:双方数据一致性如何保证?...如果我方和对接方同时执行job,但万一有任意一方执行失败了,也会导致数据不一致情况。如果恰好这时候对接方在调用企业信息上传接口,会不会出问题? 2.2 以一方地区数据为准?...但是仔细思考了一下,还是一些宝贵经验值得总结一下,给需要小伙伴一个参考。 4.1 要从用户角度设计接口 在设计接口文档时,要真正做到从用户角度出发。

48611

同样是网关gateway取代了zuul,我们项目使用了这么多gateway特性!你有没有中标|Java 开发实战

其实gateway为我们提供了很多过滤器使用起来也是很方便。我们基本上看官网提供案列我们就能够知道如何使用了。重要我们得了解他们内部设计。...现在我们个需求需要实现登陆验证过滤器。实现逻辑简单点就验证用户名和密码是否匹配。...userName: zxhtom password: test - SetPath=/payment/get/{segment}测试当我们用户名和密码不一致时就会抛出异常...如果用户名和密码和我们指定账户相同那么就会放心至第二个过滤器进行路由转发。GatewayFilter在上面第一种方式中我们能够观察到最终是生成GatewayFilter 对象。...和生成令牌相比接口执行显然慢多不知道读者有没有想过这样一种情况。漏桶算法在请求池满了之后突然遇到大流量这个时候怎么办。这个时候漏桶算法就只能无情拒绝多余请求。而令牌桶则不一样了。

37210

弄懂maven仓库 & 仓库优先级 & settings & pom配置关系及差异

mirror镜像又是个什么东西 就是一个备份或冗余.并且你有的也有并且比你快 用镜像仓库替代默认远程仓库 用来替代在 pom 中 repository 定义仓库(miorrorOf 标签通过唯一仓库...前缀,会返回一个shell环境变量。例如,"env.PATH"指代了$path环境变量(在Windows上是%PATH%)。 2. project.x:指代了POM中对应元素值。...3. settings.x: 指代了settings.xml中对应元素值。...和pom之间关系 settings 偏向于全局配置 一般 pom 优先高于settings,但是他们之间信息是相互引用 Servers是个什么东西 如果需要用户名和密码就需要配置下 server...server 如何跟 repository 关联 id 与 distributionManagement 中 repository 元素 id 相匹配 repository/profile 标签

2.7K11

Javaweb 聊天室

检查用户登录信息是否过期实现 获取session域中User对象,判断对象是否为空,如果为空则用户登录信息过期,提示用户重新登录,跳转到登录界面。 3....注册功能实现 先把从前台接收数据封装起来,然后检查用户输入两次密码是否一致,如果不一致,则提示“登录失败,两次密码不一致错误,然后查询数据库是否有用户名一样用户如果有,则提示...1.登录界面 输入错误用户名或密码,按“登录”按钮后将会重新返回登录界面并提示红色字“用户名或密码错误” 2.注册界面 注册功能也有防用户名重复,两次密码不一致等功能,每次注册时候,系统都会从数据库查找是否有此用户以及两次密码是否一致...,然后才将此用户插入数据库用户表中 输入已存在用户名zk,密码123,确认密码123: 输入两次密码不一致: 输入一个新用户Tom,密码123456,确认密码123456,注册成功后直接跳转到登录界面...后来发现其实在本机上注册时候也会出现bug,进一步debug之后发现在实现防止用户名重复时候查询完数据库之后忘记判空了,判空之后bug就消失了!

2.3K30

面试高频:MySQL是如何保证主从库数据一致性

IP、端口、用户名、密码,以及要从哪个位置开始请求 binlog,这个位置包含文件名和日志偏移量 在备库 B 上执行 start slave 命令,这时候备库会启动两个线程,就是图中 io_thread...主库 A 校验完用户名、密码后,开始按照备库 B 传过来位置,从本地读取 binlog,发给 B。 备库 B 拿到 binlog 后,写到本地文件,称为中转日志(relay log)。...因此,MySQL 认为这样写是风险。 那么,如果把 binlog 格式改为 binlog_format=‘row’, 是不是就没有这个问题了呢?我们先来看看这时候 binog 中内容吧。...主要实现就是他会判断一下,这个binlog会不会引起数据不一致这个问题。如果会引起,那么久采用row格式如果不会引起,那么久采用statement格式日志。...如果执行是 delete 语句,row 格式 binlog 也会把被删掉整行信息保存起来。

3.5K10

PPP建立过程

最终,如果双方协商成功,则进入下一个协商阶段,如果协商不成功则PPP链路无法建立 2、认证阶段: PAP: 被验证方把本地用户名和口令以明文形式发送到验证方验证方根据本地用户表查看是否被验证方用户名若没有...CHAP: 认证端接口配置用户名情况下,被认证端接口用户名一定要配,密码可配可不配;认证端接口下没有配置用户名情况下,被认证端接口用户名一定要配,此时密码也必须配置。否则认证过程失败。 ?...b)被验证方接到验证方验证请求后,先检查本端接口上是否配置了PPP CHAP Password命令,如果配置了命令,则被验证方用报文ID、随机数,命令中配置用户密码和MD5算法对随机报文进行加密...如果接口上未配置PPP CHAP Password命令,则根据此报文中验证方用户名在本端用户表查找该用户对应密码,用报文ID、随机数,此用户密钥(密码)和MD5算法对随机报文进行加密,将生成密文和被验证方自己用户名发回验证方...,将生成密文和接口用户名发回验证方(Response) c)验证方用自己保存被验证方密码和MD5算法对原随机报文加密,比较二者密文,若比较结果一致,认证通过,若比较结果不一致,认证失败 ?

2.7K40
领券