小编Dav*_*vid的帖子

为什么Java String实现中存在偏移量?

我一直在看实现,我不明白为什么有偏移.我认为这很重要.

我正在参加Sedgewick教授的算法课程,现在我们正在讨论Strings.在演讲中他简要讨论了字符串的实现,但他没有说明为何有偏移(注意,如果讲座不在线,我肯定会问).

似乎当一个人在实现中创建一个String时,它会被赋予一个偏移量,而我似乎无法理解为什么需要一个.即使是子字符串的目的,我也不太理解为什么你会有一个偏移量.例如,显然如果你创建一个字符串"David",它实际上['X', 'X', 'D', 'a', 'v', 'i', 'd', 'X']或者是那种性质的东西,它被'X's 所抵消.为什么是这样?

java string implementation

5
推荐指数
1
解决办法
254
查看次数

在我开始在线阅读之前,会话对我有意义

我从阅读Sessions vs Cookies中收集到的主要内容是,Cookie存储在客户端,而会话存储在服务器端.如果会话存储在服务器端,那么服务器如何知道哪个客户端是他们的?显然,必须在客户端进行某些操作.

每当我使用自动滚动用户身份验证时,session_token我的users数据库表中都有一列.

然后,这个模块倾向于为我提供便利:

module SessionsHelper
  def current_user
    User.find_by_session_token(session[:session_token])
  end

  def current_user=(user)
    @current_user = user
    session[:session_token] = user.session_token
  end

  def logout_current_user!
    current_user.reset_session_token!
    session[:session_token] = nil
  end

  def require_current_user!
    redirect_to new_session_url if current_user.nil?
  end

  def require_no_current_user!
    redirect_to user_url(current_user) unless current_user.nil?
  end
end
Run Code Online (Sandbox Code Playgroud)

我相信存储在服务器端的会话,它们意味着session_token每个用户都有.此外,会话散列必须在客户端.如果没有,它在哪里?请注意,我存储这样的用户的session_token: session[:session_token] = user.session_token.最后,如果我认为会话是在客户端,那么它是如何保持安全的?

最后,这是否与在其他框架(如Django,php框架等)上处理会话的方式相同?如果没有,有什么关键的区别?

非常感谢.

authentication cookies session ruby-on-rails ruby-on-rails-3.2

5
推荐指数
1
解决办法
3757
查看次数

给定一个整数矩阵,找到最长的连续蛇,递增1个数字

基本上,你有这样的事情:

0 9 5 3'
4 1 5' 4'
5 7' 6' 9
2 8' 5 10
Run Code Online (Sandbox Code Playgroud)

在这种情况下,最长的蛇将是3 - > 4 - > 5 - > 6 - > 7 - > 8.我把'数字放在这里以帮助在视觉上显示它.

你可以水平和垂直去.矩阵可以是nxm,因此行和列的数量没有实际限制.

想出这个的最佳方法是什么?

我想过从位置n/2和m/2开始,然后递归地进行广度优先搜索并跟踪我能找到的最大间隔.我不确定如何最好地解决它.

algorithm

5
推荐指数
1
解决办法
881
查看次数

FontAwesome 图标在 Safari 中的位置高于 Chrome

我不知道为什么会发生这种情况,但我的 FontAwesome 图标在 Safari 中出现偏移。

在 Chrome 中它们看起来像这样:

在此输入图像描述

在 Safari 中,像这样:

在此输入图像描述

现在,我正在使用 Foundation、React.js 和 FontAwesome,因此通过 JSFiddle 提供 CSS 被证明非常麻烦。我尝试尽可能多地剥离并使其成为准系统,我相信您仍然可以在这个 JSFiddle中看到它发生。只需在 Safari 中查看,然后在 Chrome 中查看,您应该会注意到一个偏移。

这是 JSFiddle 的布局:

HTML:

<div class="line">
  <i class="fa fa-cog"></i>
  <span class="name" >cfb</span>
</div>
Run Code Online (Sandbox Code Playgroud)

CSS:

<div class="line">
  <i class="fa fa-cog"></i>
  <span class="name" >cfb</span>
</div>
Run Code Online (Sandbox Code Playgroud)

我不知道如何解决这个问题并且非常困惑。

编辑:垂直对齐对我来说不起作用。

html css safari google-chrome font-awesome

5
推荐指数
1
解决办法
1305
查看次数

如何从我的数据库中删除Rails中的id /对象数组?

我明白一个人可以做点什么Model.destroy_all(status: "inactive").我希望我的案子很简单,但我不能那样做.我有一个加密的字符串列,它通过attr_encrypted gem映射到一个整数数组,这使得这很麻烦.

基本上,我有一个这样的数组:array = [object1, object2, object3, object4]每个对象都是模型对象.

我希望能够做这样的事情Model.destroy_all(array)还是Model.delete_all(array),但我无法做到这一点.

我甚至尝试了以下内容:Model.destroy_all(array.map(&:id))并且Model.delete_all(array.map(&:id))我无法成功删除它们.

我希望尽可能高效,因为我接到电话,所以我认为array.map(&:destroy)或者array.map(&:delete)不高效N.我应该这样做并将其包装在交易中吗?有没有更好的办法?

更新:我想出来并在下面包含了一个答案.

arrays ruby-on-rails rails-activerecord

4
推荐指数
1
解决办法
2827
查看次数

带有验证不工作存在的自定义消息

我的User模型包含以下内容:

validates :password_digest, :presence => true, :message => "The password has to be 6 or     more characters long"  

def password=(password)
  self.password_digest = BCrypt::Password.create(password) if password.length >= 6
end
Run Code Online (Sandbox Code Playgroud)

问题是messageinvalidates不起作用。我得到一个Unknown validator: 'MessageValidator'错误。我假设的方式presence验证工作是,它只是检查,如果password_digestnil,它会被有password有一个长度小于6我想一个解决方案,是优雅的,像我尝试。我已经以一种方式解决了这个问题,但我真的很感激能理解为什么我正在尝试的方法不起作用,以及有没有办法让它起作用。

我开始工作的是:

validate do |user|
  user.errors['password'] = "can't be less than 6 characters" if user.password_digest.nil?
end
Run Code Online (Sandbox Code Playgroud)

validation ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.2

3
推荐指数
1
解决办法
1513
查看次数

afterTextChanged 附加不起作用

text.addOnTextChanged(new TextWatcher() {

  @Override
  public void afterTextChanged(Editable s) {
      if (s.length() == 4 || s.length() == 9 || s.length() == 14) {
          text.append("-");
      }
  }

}
Run Code Online (Sandbox Code Playgroud)

出于某种原因,该代码不起作用。我将它简化为它应该是什么的核心。理想情况下,您会看到“1234-5678-1234-5678”作为输出,因为我最多取 16 位数字。我开始使用它text.setText(s.toString() + "-"),然后在可运行的帖子中,将选择设置为s.length() + 1,但 append 会为您处理。此外,在几毫秒内,您可以看出由于setText之前setSelection生效,光标回到了开头。

为什么不起作用?

android android-edittext

3
推荐指数
1
解决办法
1862
查看次数

如何通过Storyboard向导航栏添加后退按钮?

我现在非常困惑.我在网上到处都看到了添加自定义后退按钮的教程,但我似乎无法获得默认的按钮.

在我的MainViewController中,我有performSegueWithIdentifier(...),然后在另一端,我希望导航栏在左侧有后退按钮.如何实现这一目标?我似乎无法在线找到任何教程.我尝试过使用UINavigationController,每当我将故事板中的"导航项目"拖到导航栏时,我的标题就会被替换,但仍然没有后退按钮.

如何添加默认后退按钮?

uinavigationcontroller ios uistoryboard uistoryboardsegue

3
推荐指数
1
解决办法
1万
查看次数

取消当前显示的所有UIAlertControllers

有没有办法消除当前提供的所有UIAlertControllers?

这特别是因为在我的应用程序的任何位置和任何状态下,当按下推送通知时,我都需要进入某个ViewController。

uiwindow ios swift uialertcontroller

3
推荐指数
2
解决办法
5814
查看次数

如何计算特定 iPhone 上的像素到点转换?

我正在尝试从我的 iOS 应用上传 256 x 256 图像。我已将图像大小调整为CGSize(width: 256, height: 256),但它上传为 768 x 768。这是有道理的,因为在我的 iPhone X 上,1 磅是 3 像素。

但这并不一致。在某些 iPhone 上,1 磅是 2 像素。

我如何弄清楚使用CGSize(width: 128, height: 128)CGSize(width: 86, height: 86)

iphone uiimage ios uigraphicscontext swift

3
推荐指数
2
解决办法
2880
查看次数