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

什么代码要求我们使用LocalDateTime不是Date?

作者:何甜甜在吗 来源:http://1t.click/a7Gm 项目开发过程中经常遇到时间处理,但是你真的用对了吗,理解阿里巴巴开发手册禁用static修饰SimpleDateFormat...当多个线程同时使用相同的SimpleDateFormat对象【如用static修饰的SimpleDateFormat】调用format方法,多个线程会同时调用calendar.setTime方法,可能一个线程刚设置好...time值 另外的一个线程马上把设置的time值给修改了导致返回的格式化时间可能是错误的。...多并发情况下使用SimpleDateFormat需格外注意 SimpleDateFormat除了format是线程不安全以外,parse方法也是线程不安全的。...calb属性设置cal c、返回设置好的cal对象 但是这三步不是原子操作 多线程并发如何保证线程安全 - 避免线程之间共享一个SimpleDateFormat对象,每个线程使用时都创建一次SimpleDateFormat

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

【通信】WebSocket

概述 通常,当客户端访问一个网页,会向Web服务器发送一个HTTP请求,Web服务器接收该请求,并返回响应,客户端接收到响应后再将信息呈现出来。...Comet又分为长轮询技术和流技术,长轮询技术的实现是,给轮询设置条件(比如设置过期时间),当该条件被触发再发送请求。...这种方式比轮询要高效得多,但由于需要使用Flash插件,一些不支持Flash插件或支持得不好客户端上,仍然不能实现实时需求。.../ 客户端 默认情况下,cookie会在浏览器关闭的时候消除,但可通过expires来设置cookie的有效期。...上面的rails代码主要用到了Action Cable模块,目前已整合到rails 5.0版本,属于rails的一部分,源代码。

1.5K20

慢的不是 Ruby,而是你的数据库

当你一遍又一遍地运行此操作,这一天只需要几分钟的时间:开发过程运行大约 20 次的脚本上总共需要 1.2 秒,然后可能每周运行一次。 虽然我只关注 CPU,但内存也是一个重要问题。...然而,这也导致 Rails 中性能成为一个问题,甚至比 Ruby 更加突出。 因此,“堆栈” 指的是 “使用数据库的 Ruby on Rails”。...如上所述,技术性能问题是由 Ruby 不是 Rails 引起的。 ActiveRecord(Rails 的实现,而非模式 per-sé)是对系统(关系数据库)的抽象,需要大量详细知识来保持性能。...20 毫秒的减速几乎无法衡量,数百个 20 毫秒的速度减慢几个月内逐渐增加,使响应变得令人无法接受。最糟糕的是,这些 “错误” 被团队贴上了 “以 Rails 方式完成” 的标签。...这也是 Ruby 很少 Rails(和 / 或 Web)之外使用的原因之一。 [7] 令人惊讶的是,从内存的 SQLite 查找比从数据库查找要慢。

10730

如何在Ubuntu 14.04上使用Unicorn和Nginx部署Rails应用程序

本教程将帮助您部署Ruby Rails应用程序的生产环境,使用PostgreSQL作为数据库,Ubuntu 14.04上使用Unicorn和Nginx。...由于Unicorn不是设计成能够直接被用户访问的,所以我们将使用Nginx作为反向代理,它将缓冲用户和Rails应用程序之间的请求和响应。...将生产密码和机密保存在应用程序代码库之外被认为是最佳实践,因为如果您使用的是分布式版本控制系统(如Git),它们会很容易被暴露出来。接下来我们将讨论如何使用环境变量设置数据库身份验证。...安装rbenv-vars插件 部署生产Rails应用程序之前,应使用环境变量设置生产密钥和数据库密码。...您喜欢的编辑器打开Gemfile(确保您在应用程序的根目录): vi Gemfile 文件的末尾,使用以下行添加Unicorn gem: gem 'unicorn' 保存并退出。

4.2K00

单点登录(二)| OAuth 授权框架及 CAS 在为 Web 应用系统提供的解决方案实践

资源/授权服务器 资源服务器托管了受保护的用户账号信息,授权服务器验证用户身份然后为客户端派发资源访问令牌。 客户端 OAuth2,客户端即代表意图访问受限资源的第三方应用。...用户第三步输入认证信息,如果登录成功,csa server随机产生一个相当长度、唯一、不可伪造的service ticket,并缓存以待将来验证,之后系统自动重定向到service所在地址,并为客户端浏览器设置一个...ticket granter cookie,cas client拿到service和新产生的ticket过后,第5.6步与cas server进行身份核实,以确保service ticket的合法性...3.login_URL中会获取到用户的cookie,检验用户是否已经在其他相关使用sso的系统登录成功。...3.配置omniauth_block_auto_created_users参数控制自动创建的用户是否被锁定,为true,自动创建的用户全部被多订,需要管理员操作解锁后才能使用,为false,自动创建的用户可以正常使用

4.2K10

如何在Ubuntu 14.04上使用Puma和Nginx部署Rails应用程序

由于Puma不是为用户直接访问而设计的,因此我们将使用Nginx作为反向代理,以缓冲用户与Rails应用程序之间的请求和响应。...随意替换突出显示的“appname”与其他东西: rails new appname -d postgresql 然后切换到应用程序目录: cd appname 我们花一点间来创建将由Rails应用程序的生产环境使用的...安装rbenv-vars插件 部署生产Rails应用程序之前,应使用环境变量设置生产密钥和数据库密码。...您喜欢的编辑器打开Gemfile(确保您在应用程序的根目录): vi Gemfile 文件的末尾,使用以下行添加Puma gem: gem 'puma' 保存并退出。...现在,您的应用程序配置为启动通过Upstart启动。这意味着即使重新启动服务器后,您的应用程序也会启动。

5.3K10

HTTP cookies

要查看Cookie存储(或网页上能够使用其他的存储方式),你可以开发者工具启用存储查看(Storage Inspector )功能,并在存储树上选中Cookie。...提示: 如何在以下几种服务端程序设置 Set-Cookie 响应头信息 : PHP Node.JS Python Ruby on Rails HTTP/1.0 200 OK Content-type:...Set-Cookie: id=a3fWa; Expires=Wed, 21 Oct 2015 07:28:00 GMT; 提示:当Cookie的过期时间被设定时,设定的日期和时间只与客户端相关,不是服务端...cookie跨站请求不会被发送,从而可以阻止跨站请求伪造攻击(CSRF)。...安全节 当机器处于不安全环境,切记不能通过HTTP Cookie存储、传输敏感信息。 会话劫持和XSS节 Web应用Cookie常用来标记用户或授权会话。

2.2K40

构建现代Web应用的安全指南

只有把动态变量存储HTML标签的属性,这种危险代码才会生效。过滤输入对安全会有帮助,但是记住,XSS取决于上下文,所以不是所有的过滤都是有效的。这里有我对XSS的详细解释(PT-BR)。...当用于session存储机制Railscookie会和服务器的APP SECRET一起使用。...这个方法可以提高应用的有效性,如果把它们存储LocalStorage不是cookie,还可以防止CSRF攻击。...“注册”和“忘记密码”页面使用验证码:多亏了谷歌的reCaptcha,如今的验证码已经不是很烦人了。今天,你可以验证用户是否是基于他的行为不仅仅是人类挑战,从而防止假账户和疯狂的发送电子邮件。...禁用端口80不是重定向到443:这样做之后会增大攻击面。如果80端口不需要了,那就禁用它。记住,你的API只应该在443监听。如果你想从80重定向到443,这个选项处操作。

1K80

Dva + Ant Design 前后端分离之 React 应用实践

因为不同的项目,对于登录这块的实现会有所不同,并不是唯一的。通常我们会使用Cookie的方式保持登录状态,或者 Auth 2.0的技术。 这里介绍Cookie的方式。...登录成功之后服务器会设置一个当前域可以使用Cookie,例如token啥的。然后每次数据请求的时候Request Headers携带token,后端会基于这个token进行权限验证。...token无效,服务器会抛出401错误,这时就需要在中间件处理401错误。...当然进行请求,已经src/utils/auth.js验证用户信息是否正确,同时做了相应的限制src/utils/auth.js#L20 import { parse } from 'qs'; import...Modal注意事项 使用Modal组件,难免会出现一个页面多个Modal的情况,首先要注意的就是Modal的命名,多Modal情况下,命名不注意很容易出现分不清用的是哪个Modal。

2.6K20

像一名教育者一样思考代码质量

这并不是一个捷径。但我认为,这种观点很重要。Alan Kay 说过,观点抵得上 80 点智商。 1 了解你的受众 Rails 在工作,我们使用 Rails、Node 和 Vue。...但是在其他一些情况下,你可以用 Rails 做一些古怪的事情,只有那些正好掌握这些部落知识的人能够理解。 当你一个拥有经验丰富的 Rails 专家的团队工作,这不是个问题。...事实上,这些古怪的东西能够帮助 Rails 专家变得更高效。但是,如果你工作一个对 Rails 都是新手的团队,这些菜鸟绝对会陷入绝望和沮丧。 这就是需要像一名教育者一样思考的地方。...如果你发现自己站在一座演讲厅面对一群本科生,那么,使用这些术语就不是一个明智的选择。 对于 Rails 也是这样。...同样,当有一些术语和概念很难被人们理解,慢慢介绍这些概念不是完全避免使用这些概念可能更有意义,这样学生们就可以学习这些概念并在将来使用它们。

72930

RESTful 架构详解

REST本身并没有创造新的技术、组件或服务,隐藏在RESTful背后的理念就是使用Web的现有特征和能力, 更好地使用现有Web标准的一些准则和约束。...我认为,这是因为rails默认使用服务端生成的ID作为URI的缘故,不少人就是通过rails实践REST的,所以很容易造成这种误解。 客户端不一定都支持这些HTTP方法吧?...例如rails框架就支持通过隐藏参数_method=DELETE来传递真实的请求方法, 像Backbone这样的客户端MVC框架则允许传递_method传输和设置X-HTTP-Method-Override...资源在外界的具体呈现,可以有多种表述(或成为表现、表示)形式,客户端和服务端之间传送的也是资源的表述,不是资源本身。...上面的例子展示了如何使用超媒体来增强资源的连通性。很多人在设计RESTful架构使用很多时间来寻找漂亮的URI,忽略了超媒体。

94920

RESTful架构详解 转

REST 本身并没有创造新的技术、组件或服务,隐藏在RESTful背后的理念就是使用Web的现有特征和能力, 更好地使用现有Web标准的一些准则和约束。...我认为,这是因为rails默认使用服务端生成的ID作为URI的缘故,不少人就是通过rails实践REST的,所以很容易造成这种误解。 客户端不一定都支持这些HTTP方法吧?...例如rails框架就支持通过隐藏参数_method=DELETE来传递真实的请求方法, 像Backbone这样的客户端MVC框架则允许传递_method传输和设置X-HTTP-Method-Override...资源在外界的具体呈现,可以有多种表述(或成为表现、表示)形式,客户端和服务端之间传送的也是资源的表述,不是资源本身。...上面的例子展示了如何使用超媒体来增强资源的连通性。很多人在设计RESTful架构使用很多时间来寻找漂亮的URI,忽略了超媒体。

81431

如何在Ubuntu 18.04上使用RVM安装Ruby on Rails

本教程将指导您完成Ruby和Rails安装过程并通过RVM进行设置 课程准备 本教程将通过RVM引导您完成Ruby on Rails安装过程。...引导命令的反斜杠确保我们使用常规curl命令不是任何已更改的别名版本。 我们将附加-s标志以指示该实用程序应该以静默模式与-S标志一起操作以覆盖其中一些以允许curl失败可以输出错误。...该-L标志告诉实用程序遵循重定向,最后-o标志指示将输出写入文件不是标准输出。...gem install rails -v rails_version 我们可以通过创建gemsets然后使用普通gem命令的Rails安装Rails,这样可以让每一个Ruby能够使用各种Rails...为了Ruby on Rails应用程序实现更多可伸缩性,集中化和控制,您可能希望将它与PostgreSQL或MySQ一起使用不是使用默认的sqlite3数据库。

8.8K00

如何在CentOS 6.5上使用 Nginx+Passenger 部署Railes应用程序

本教程,我们将向您展示如何使用最新的CentOS操作系统部署稳健的Rails应用程序(即在线发布),该操作系统以其稳定性闻名。...当然只有一个人可以完成这项工作,但可能不是很好,因为它们并不适合所有目的。 本教程,我们将使用Phusion Passenger作为应用程序服务器。...为了简化操作不是手动安装它们,我们将为YUM和其他包管理器添加EPEL软件存储库以供使用。...由于腾讯云服务器配有快速SSD磁盘,因此执行服务器应用程序安装任务,这并不是问题。...准备部署应用程序 注意:本节,我们将使用一个非常简单的Ruby On Rails应用程序作为示例。对于应用程序的实际部署,您应该上传代码库并确保安装了所有依赖项。

4.9K20

如何使用本地 Docker 更好地开发?我们总结了这八条经验

这并不是本地使用 Docker 开发就没有缺点,但它带来的便利远远超过了缺点。 随着时间的推移,我们总结出了自己的一套最佳实践,可以有效设置 Docker 开发环境。...请注意最后一点(“本地开发”)——如果你是为了部署创建镜像,那么这些原则的大多数都不适用。.../bin/webpack-dev-server 这样,当我们构建服务(使用 docker-compose),镜像就只构建一次。...4 命名卷缓存依赖项 正如第一点所提到的,我们不会将代码依赖项放到镜像,而是启动安装它们。...libpoppler-glib-dev && \ rm -rf /var/lib/apt/lists/* 7 使用 exec 不是 run 如果需要在容器运行命令,你有两个选项:run 和

2K40

后端框架有哪些?8个流行的后端框架推荐

8个流行的后端框架推荐 后端框架 选择要使用的后端框架,有许多选项可用。虽然每个后端框架都有自己的优点和缺点,但在做出最终决定之前,还有一些其他因素需要考虑。...8个流行的后端框架列表 在这个后端框架列表,我们不想坚持使用单一编程语言。相反,我们希望展示各种语言的后端框架。当然,下面的列表并未提供针对每种语言的后端框架建议,但它确实提供了一些很好的建议。...特征 高度可定制 可扩展 广泛的社区和文档 4.Ruby on Rails Ruby on Rails Ruby on Rails是一个用Ruby编程语言编写的服务器端Web框架,Ruby鼓励使用设计模式...很棒的API 设置简单,学习起来简单 大量插件可供使用 8.Spring Boot Spring Boot Spring Boot是一个基于Java的开发框架,由Spring创建,旨在易于使用,并提供一个生产级的基于...特征 创建独立的Spring应用程序 高度可扩展 大量的文档 专为使用云方法的大型应用程序构建 广泛的生态系统 选择后端框架要考虑什么?

7.4K10

如何部署Mina:入门教程

生活在没有Rails的世界:Mina可以做到以上所有,甚至更多,并且对Rails没有任何严重的依赖。使用Mina,您几乎可以部署所有内容。...Make是最广泛和最受欢迎的实用程序之一,自20世纪70年代末推出以来,它已经内置于Unix系统。Rake可以称为构建语言。...获取Mina 使用Mina,您需要确保拥有一个稳定的Ruby环境,并且安装了必要的依赖项并且运行正常 - 例如gem。 本节,我们将首先在CentOS 6系统上创建Ruby环境。...官方CentOS存储库找不到一些方便的库和软件包(例如libyaml-devel,nginx等)。 为简化操作不处理手动安装,我们将为YUM包管理器添加EPEL软件存储库以供使用。...运行以下命令下载并安装Mina: gem install mina 使用Mina 将mina引入项目,首先需要在项目目录启动mina。

4.4K40

框架分析(6)-Ruby on Rails

Ruby on Rails Ruby on Rails(简称Rails)是一种使用Ruby编程语言开发的开源Web应用程序框架。...约定优于配置 Rails框架倡导“约定优于配置”的开发理念,通过一系列的约定和规则,减少开发人员配置方面的工作。...安全性 Rails框架内置了一些安全性功能,如跨站点请求伪造(CSRF)保护、参数过滤和安全的cookie处理等。这些功能可以帮助开发人员减少常见的Web安全漏洞。...缺点 性能问题 相比其他编程语言和框架,Ruby on Rails处理大量并发请求可能会有一些性能瓶颈。这主要是由于Ruby语言本身的特性和Rails框架的设计理念所致。...开发人员选择使用Rails框架,需要权衡这些因素,并根据项目需求来做出决策。

21920
领券