IntelliJ IDEA 2020.3.1 版本的 Git 远程地址的链接路径已经修改了。 可以通过左下角的操作按钮来对远程仓库进行操作。 https://www.ossez.com/t/intellij-git-remote/188/2
IntelliJ IDEA 2020.3.1 版本的 Git 远程地址的链接路径已经修改了。 可以通过左下角的操作按钮来对远程仓库进行操作。 https://www.ossez.com/t/intellij-git-remote/188/2
从 Spring Boot 2.4.0 的测试引擎已经使用 Junit 5 的测试了。 因此测试引擎不再需要 exclude junit-vintage 到 Spring Boot 的测试依赖了。 2.4.0 的测试实例应该使用下面的依赖配置: <!-- TESTS --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-api</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-engine</artifactId> <scope>test</scope> </dependency> 这个问题在 2.3.3 的版本出现了上面的问题,有关这个问题的描述和解决方法,请参考:JUnit 5 测试 Spring 引擎的时候提示 junit-vintage 错误 中的内容。 测试引擎 junit-vintage 主要是版本兼容性的问题。 https://www.ossez.com/t/spring-2-4-0-junit-vintage/13243
微软推出了一项全新的分析服务,它就是能够帮助你深入了解“客户如何使用网站”的 Clarity 。 对网站运营方来说,这项服务有助于找到问题并做出改进。此外,Clarity 允许站方重复推演客户的会话。 访问的网站为:https://clarity.microsoft.com/ 当前已经是 Beta 版的测试了。 Session Replay可能足以激起Web开发人员的好奇心,但微软对Clarity做的计划更有趣,名为“Interesting sessions”,此功能将使用Clarity的AI和机器学习功能来帮助Web开发人员查看异常的点击,滚动行为,会话长度,JavaScript错误等用户会话。通过让Clarity向他们展示最相关的会话,可让开发人员花费更少的时间,更深入地了解他们的用户。 此外,还有相关的会话和热图。前者将基于单个会话对类似会话进行分组,帮助开发人员了解特定用户行为的范围,并为同一用户以及其他用户查找其他事件。后者将通过点击或触摸热图(页面上的用户交互)和滚动热图(用户在页面上滚动的距离)提供聚合级别的用户行为视图。 到目前为止,Clarity听起来是Google Optimize的一个很好的替代品,前提是微软的价格具有竞争力。该公司没有分享时间表,预计Clarity将从测试版发布。在当前状态下,创建新项目后,你将被添加到等待列表中。在获得JavaScript代码,并使用Clarity仪表板重播用户会话之前,你需要获得批准。 链接 如果你配置了微软的 Bing 网站工具的话,在页面的左下角会看到 Clarity 的链接。 单击下面的链接,进行一些简单的设置后就可以进入 Clarity 界面了。 你需要为你的网站安装一些 JS,这个与其他的 JS 的安装是一样的。 界面 进入 Clarity 主页面中,你需要创建一个项目,基本上一个网站可以创建一个项目。 当 Clarity 获得数据后,将会进行分析。 上图显示的是分析的结果,初次使用还是值得一试的。 我们博客的网站数据比较少,如果你网站数据比较多的话,获得分析结果应该会更好。 https://www.ossez.com/t/clarity-beta/13242
如果你看到一个房源的状态是 Active。恭喜你,这表示这个房源在市场上是在售的。 你可以找到 Agent 随时安排看房,如果满意的话,随时可以下 Offer。 需要注意的是,这里是有一个时间差的,一般来说,如果卖家接受了买家的出价的话, MLS 系统通常会允许 Agent 在 24 到 72 小时内更新 MLS 系统,再加上各大搜索引擎检索的时间,可能数据有超过 5 天的延迟。 在房市特别火爆的时候,当你下 Offer 后,Agent 可能会告诉你,不好意思,这个房源的卖家已经接受出价了。 甚至在 Agent 会告诉你这个房子已经没有办法看房了,卖家已经接受买家出价了。 这种情况是非常常见的,主要原因就是系统更新的时间差。 https://www.ossez.com/t/mls-active/13241
随着网站的持续运行,我们可能需要在网站上面添加很多其他网站的标签来进行网站的校验。 一个比较好的方法就是设置 GTM,这样能够让你所有的标签在一个地方设置而不需要在 Discourse 中安装插件等。 GTM 是 Google Tag Manager 的简称。 Discourse 设置 GTM 在 Discourse 的后台中,搜索关键字 : gtm 在空白的地方输入 GTM 的标签变量。这个变量是在你 Google 的 Google Tag Manager 设置的。 访问地址:https://tagmanager.google.com/#/home 找到你定义 Container 名称后,你会在后面看到一个容器 ID。 这个 ID 就是你需要输入的 ID。 输入成功后保存。 修改 content security policy script src 在默认情况下 content security policy script src 是启用的,这个将会导致 Discourse 没有办法执行需要的 Java Script 如果你想严格区分,请将下面的网站添加到信任的网站中: 针对 Google Tag Manager https://tagmanager.google.com/ https://www.googletagmanager.com/ 如果你使用 Google Analytics https://www.google-analytics.com/ ‘unsafe-inline’ 如果你使用 Advertising 特性或者 AdWords 整合,请添加: https://stats.g.doubleclick.net https://www.google.com 同时,为了避免可能有其他的问题,你可以直接添加 https: 需要注意的是:https: 后面有一个冒号的,不要忘记了。 如果你遇到了 ‘unsafe-inline’ 的错误。 那么你还需要把 ‘unsafe-inline’ 添加到信任的链接列表中。 我们的完整配置如下图: 完成上面的设置后,你的 Tag Manger 应该就可以在 Discourse 上使用了。 检查 为了确定配置的正确,在完成上面的配置后,重新访问你的 Discourse 网站,然后刷新页面,同时 F12 查看源代码。 如果你没有看到提示的 JS 错误话,则表明配置已经成功了。 虽然在上面的图片中看到了错误,这个错误有可能是因为 Google 广告载入的时候的错误,这个不属于 JS 错误。 随着不同的类型广告载入,这个错误就不会存在了。 https://www.ossez.com/t/discourse-gtm/13240
在 MLS 系统中的数据是有有效期的,通常是 3 个月或者 6 个月。有时候也会说 1 年 2 年的都有可能。这个有效期对 MLS 系统中的房源其实没有什么太大影响。 就算数据过期了,你也可以申请延期的。 例如,你有个房源在售,设置 MLS 的有效期是 3 个月,在有效期快到的时候,如果你不进行任何操作,房源数据会显示过期,过期的数据是不会被搜索引擎显示的。通常在过期之前 Agent 会收到一个电子邮件询问是否进行处理,如果房源还没有成交完成交割的话,Agent 通常会延长过期时间到交割以后。 对房源数据有效期的延期要求卖家和 Agent 同时签字才可以生效。 为什么又有效期这个概念,按照美国房源数据的交易流程: 第一种情况:如果 MLS 设置在交割之前过期了,那么房源是没有办法显示 Closing 的。你需要延长房源 MLS 数据的有效期。这种方式是最简单的操作,直接延长就好了。 第二种情况:如果房源在 Pending 之前过期了,你可能希望房源下架后再上市,或者延长。如果房源下架后再上架有个好处就是 DOM(Days On Market)这个数字会进行变化。重新上市会分配一个新的 MLS 号码。尤其在市场不是非常好的时候,通常 Agent 会设置为 3 个月,用土话说就是 3 个月如果没有办法销售掉,下市一段时间后再重新上市。那么一些数据会被刷新,同时各大搜索引擎会重新索引这个房源。 针对第二种情况,卖家通常会有自己的考虑,比如说目前市场价格不好,比如说卖家暂时不想卖了等等原因。这就是 MLS 房源数据存在过期一说的意义。 https://www.ossez.com/t/mls/13239
MLS 英文全称为 Multiple Listing Service,即多重上市服务,是20世纪30年代诞生于美国的一种房地产营销方式,广泛使用于房地产开发销售以及中介代理中。 在房地产中介代理市场,MLS发展尤为成熟,不仅仅是一种营销模式,更是被行业广泛接受的严谨而先进的行业准则和经营管理模式。 介绍 MLS以会员联盟的形式,将不同房地产经纪公司纳入一个加盟体系,体系中成员的房源和求购信息集合在一个网站的共享数据库中。美国有多少个 MLS?可以说每个州都可能有一个 MLS,不同的州甚至会有多个 MLS 系统。MLS 系统是是针对 Agent 使用的,个人客户不需要了解 MLS 的系统。 MLS 重要的原因是,其他的房源搜索工具都会从 MLS 中获得数据,然后将房源数据展示到互联网上,或者通过手机 APP 进行推送。 MLS 的数据通信标准是由 https://www.reso.org/ 定义的数据字典进行通信的,由于这个系统目前比较庞大,通信的标准还使用的是 XML 的方式进行数据定义,在新的标准中可能会逐步推进使用 RESTful API 来进行数据交换。 目前来说暂时还没有看到在短时间内进行数据交换格式的升级。 针对卖家客户来说 一般来说卖家可能需要与 Agent 签订一个代理销售合同,Agent 在获得你在售资产的基本数据后会对数据进行整理进行上传。 通常这部分的工作都是 Agent 来做的,在一个区域会有一个指定的 MLS 系统,这个可以理解为各个房地产协会拉山头,一般来说你的房源数据只需要上传到一个 MLS 系统就可以了,其他各个搜索引擎和 APP 平台都会从 MLS 系统中拉取数据,将房源上传到多个 MLS 系统中也是有的,但是意义不大。 你的房源数据不会因为上传到多个 MLS 系统就会增加曝光率。 通常 Agent 都会帮你做好这些事情,一般来说如果 Agent 签署了独家代理协议的话,你是不会被要求支付上传到 MLS 上的费用的。 如果你找一个 Agent 只帮你上传 MLS 和维护数据也是可以的,通常 Agent 会给你签署一个服务合同和协议,你需要支付给 Agent 相关的费用。 https://www.ossez.com/t/mls/13238
一直是这句话:用得好能帮你,用不好处处是陷阱。 年轻人应该使用信用卡,但是真的不要信用卡额度过高,不要看着别人网络上刷额度,刷存在感,自己觉得几千额度太少了。 其实这是你对你自己负责,也是银行对你负责,给你那么多额度,刷爆了的情况比比皆是。没有那么高额度,其实对你还有好处,别说是年轻人了,只要是人,有多少人能够真正管住自己的手的。 不说能够帮年轻人养成良好的习惯,这个有点扯。主要是能够帮你构建和银行相对比较正常的关系,顺便薅羊毛。 一切的一切都建立在你合理用卡,并且有一些基本的金融学知识,不要觉得一切来钱太容易。否则这个就是个处处都是陷阱的无底洞。
最最简单的解决方案就是全部赶快还上。 可能说这些都是 P 话,能还上还在这里 BB,肯定是还不上了才问。 所有的方法都是治标不治本的方法,对征信,自己后面生活造成的影响短期内可能看不出什么,如果长期来看得不偿失,包括大量的利息支出。 不要感觉说是解决暴力催收的问题就等于解决了债务的问题,这个只是等于用创可贴贴一下而已,最根本的问题压根就没有解决。 可以采取的策略是,清理所有的账户,将所有账户全部拉出来,不要遗漏,然后按照利息高,逾期时间长短分别排序。 将所有逾期的账户,列出来后打电话给对方,问能不能宽限,如果能设置偿还计划更好,如果不可以那么他们能够给你什么,磨对方,看能争取多少优惠就争取多少优惠。 将所有的信息汇总后,根据轻重缓急排序设置偿还优先级和时间轴,看看自己还有多少资金可以用于偿还,能从其他渠道(一定不是网贷渠道)筹集多少资金,包括父母,家人,自己能省多少。 积极用于偿还债务,压缩开支,按照计划来,慢慢的情况应该可以好转。 最最简单的办法也许就是家人的支持,一次性偿还完毕,后不再碰任何网贷平台,别手贱的去点我要现金啥那种快捷键。 https://www.ossez.com/t/topic/13236
在使用 Sprint Boot 提交 x-www-form-urlencoded 的时候,我们首先需要知道 x-www-form-urlencoded 这个是什么东西。 application/x-www-form-urlencoded 这应该是最常见的 POST 提交数据的方式了。浏览器的原生 表单,如果不设置 enctype 属性,那么最终就会以 application/x-www-form-urlencoded 方式提交数据。 就是浏览器将会将表单中的内容转换为 URL 的方式提交到后台进行处理。转换的方式其实就是使用 K=V 对的方式。 不同的 K=V 之间是用 & 进行分隔。 例如下面的示例: POST /test HTTP/1.1 Host: foo.example Content-Type: application/x-www-form-urlencoded Content-Length: 27 field1=value1&field2=value2 你可以在你的 API 后面直接加上上面的字符串,然后 POST 请求过去,在上面的字符串和 URL 之间需要添加一个 ? 号。 转换流程是: 假设你有一个表单,在表单中获取的值为: field1=value1 field2=value2 你需要提交的 URL 为 api.example.com/re/request 这样的话。 如果你使用了 application/x-www-form-urlencoded 提交的话,浏览器首先将表单中的数据转换为:field1=value1&field2=value2,请注意中间是使用 & 分隔的。 然后提交到地址:api.example.com/re/request?field1=value1&field2=value2,上面显示的是完整的 URL。 这种提交方式是表单的默认提交方式,同时提交的字符将会进行编码,如果你提交中文字符的话,你可能会看到 %UER,这样的表达,这是因为对中文字符进行了编码而已。 POSTMAN 设置 在使用这种提交之前,你可以在 POSTMAN 设置。 需要在 POSTMAN 中选择提交方式,并且在下面的参数部分设置需要的参数然后单击发送提交即可。 Spring Boot Controller 在 Spring Boot Controller 中需要设置使用 MultiValueMap。 在查看源代码后,你会知道 MultiValueMap 是扩展 Map 的接口,然后用于存储多值的。 一个 Controller 的代码如下: @PostMapping("/soldm") public ResponseEntity<?> searchUsers(@RequestBody MultiValueMap< String, String > values) { logger.debug("K=V Map - {}" , values); REListing reListing= listingService.getREListingById(); return new ResponseEntity<REListing>(reListing, HttpStatus.OK); } 在 RequestBody 设置 MultiValueMap 后,你就可以获得 POST 提交的数据了。 测试运行 测试运行后查看日志: 2021-01-27 10:52:38.782 DEBUG 25176 --- [nio-8080-exec-4] c.o.e.s.controller.RealEstateController : K=V Map - {field1=[value1], field2=[value1]} 从这里,你可以 debug 上传的数据和 MAP 中是否设置了正确的参数。 https://www.ossez.com/t/spring-boot-api-x-www-form-urlencoded/13225