小编0x4*_*672的帖子

用于在Sublime Text 3中注释行的键盘快捷键

在Sublime Text 2中,可以用Ctrl+ /Ctrl+ Shift+ 注释掉一行或一行 /.根据菜单,Edit > Comment这些快捷方式应该是有效的,但在Sublime Text 3(build 3047)中,它们似乎不再起作用.有没有人知道Linux和MacOS的正确默认键盘快捷键?或者这是一个错误?

keyboard-shortcuts sublimetext3

163
推荐指数
8
解决办法
24万
查看次数

RMagick安装:找不到MagickWand.h

更新RMagickImagemagick是一个痛苦的期待.我用自制软件更新了Mac上的Imagemagick版本(MacOS El Capitan版本10.11.5),用于Ruby 2.3中的一个项目6.9.5-9

$ convert --version
Version: ImageMagick 6.9.5-9 Q16 x86_64 2016-09-09
Run Code Online (Sandbox Code Playgroud)

现在Ruby 1.8.7中的一个旧项目拒绝使用错误消息"这个RMagick的安装配置了ImageMagick 6.8.9但ImageMagick 6.9.5-9正在使用中".因此我卸载了"rmagick",但无法重新安装

$ gem install rmagick -v 2.16.0
Building native extensions.  This could take a while...
ERROR:  Error installing rmagick:
ERROR: Failed to build gem native extension.

checking for /usr/local/opt/gcc46/bin/gcc-4.6... yes
checking for Magick-config... yes
checking for outdated ImageMagick version (<= 6.4.9)... no
checking for presence of MagickWand API (ImageMagick version >= 6.9.0)... no
checking for Ruby version …
Run Code Online (Sandbox Code Playgroud)

ruby macos rmagick imagemagick macos-sierra

152
推荐指数
13
解决办法
4万
查看次数

Sidekiq没有处理队列

Sidekiq可能会阻止处理队列中的作业有什么可能的原因?队列已满.日志文件sidekiq.log表示根本没有活动.因此队列已满,但日志为空,而Sidekiq似乎不处理项目.似乎没有工人处理工作.重新启动Redis或使用FLUSHALLFLUSHDB将其刷新为无效.Sidekiq已经开始了

捆绑exec sidekiq -L log/sidekiq.log

并生成以下日志文​​件:

2013-05-30..Booting Sidekiq 2.12.0 using redis://localhost:6379/0 with options {}
2013-05-30..Running in ruby 1.9.3p374 (2013-01-15 revision 38858) [i686-linux]
2013-05-30..See LICENSE and the LGPL-3.0 for licensing details.
2013-05-30..Starting processing, hit Ctrl-C to stop
Run Code Online (Sandbox Code Playgroud)

你怎么知道出了什么问题?有没有隐藏的日志文件?

redis ruby-on-rails-3 sidekiq

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

更改大型MySQL InnoDB表

添加新列或添加新索引可能需要数小时或数天才能使MySQL中的大型innodb表行超过1000万行.在这两种情况下,提高大型innodb表的性能的最佳方法是什么?更存储器,调整上述结构(例如增加sort_buffer_size的值innodb_buffer_pool_size),或某种特技的?可以创建一个新表,更改它,然后将旧数据复制到新表中,而不是直接更改表,这对ISAM表多个更改很有:

CREATE TABLE tablename_tmp LIKE tablename;
ALTER TABLE tablename_tmp ADD fieldname fieldtype;
INSERT INTO tablename_tmp SELECT * FROM tablename;
ALTER TABLE tablename RENAME tablename_old;
ALTER TABLE tablename_tmp RENAME tablename;
Run Code Online (Sandbox Code Playgroud)

对于innodb表也是值得推荐的,还是ALTER TABLE命令的用途?

mysql optimization performance

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

attr vs attr_accessor

Ruby中有实例变量的四个不同的getter和setter方法,attr,attr_reader,attr_writer,和attr_accessor.问题是,在Ruby中attr :dilithium,attr_reader :dilithiumattr_accessor :dilithium是否相同,如果传递了另外一个参数true则相同?也就是说

class Enterprise
  attr :dilithium, true
Run Code Online (Sandbox Code Playgroud)

相同

class Enterprise
  attr_accessor :dilithium
Run Code Online (Sandbox Code Playgroud)

有两个功能attr,并attr_accessor或多或少的冗余?

ruby oop

21
推荐指数
2
解决办法
9927
查看次数

像Sphinx这样的全文搜索服务器如何工作?

任何人都可以用简单的语言解释像Sphinx这样的全文服务器是如何工作的?在纯SQL中,可以使用这样的SQL查询来搜索文本中的某些关键字:

select * from items where name like '%keyword%';
Run Code Online (Sandbox Code Playgroud)

但是在各种Sphinx插件生成的配置文件中,我根本看不到任何类似的查询.它们包含如下所示的SQL语句,它们似乎将搜索划分为不同的ID组:

SELECT (items.id * 5 + 1) AS id, ... 
       WHERE items.id >= $start AND items.id <= $end 
       GROUP BY items.id
..
SELECT * FROM items WHERE items.id = (($id - 1) / 5)
Run Code Online (Sandbox Code Playgroud)

它可以用简单的词语解释这些查询是如何工作的以及它们是如何生成的?

sql full-text-search sphinx search-engine thinking-sphinx

19
推荐指数
1
解决办法
7891
查看次数

链接不能作为链接的后代出现

React.js应用程序发出警告

Warning: validateDOMNesting(...): <a> cannot appear as a descendant of <a>. 
See Element > a > ... > a.
Run Code Online (Sandbox Code Playgroud)

那是什么意思?你怎么能阻止它?嵌套链接在HTML,HTML5或React.js中是非法的吗?

javascript reactjs

17
推荐指数
2
解决办法
2万
查看次数

RSpec2和Capybara

水豚让我很困惑.如果我将Capybara与Ruby on Rails 3和RSpec 2结合使用,那么在RSpec请求测试中,以下匹配器可以工作:

response.body.should have_selector "div.some_class"
Run Code Online (Sandbox Code Playgroud)

响应对象具有类ActionDispatch::TestResponse.但是以下应该正式运行的行不起作用:

page.should have_selector "div.some_class"
Run Code Online (Sandbox Code Playgroud)

页面对象具有类Capybara::Session.在哪些情况下,您必须使用该response.body对象,何时必须使用page对象?

capybara rspec2 ruby-on-rails-3

11
推荐指数
1
解决办法
3057
查看次数

Mysql2 ::错误:土耳其字符的字符串值不正确

在使用Ruby 2.0的Rails 4.0应用程序中,土耳其语字符在尝试在数据库中插入记录时导致以下ActiveRecord/MySQL错误.有问题的字符例如是ğ和ş,但是ü或Ç(也似乎发生在拉丁字符集中)没有问题.

ActiveRecord::StatementInvalid (Mysql2::Error: Incorrect string value: 
                               '\xC4\x9Fu\xC5\x9F ...' for column ...
Run Code Online (Sandbox Code Playgroud)

你如何防止这个错误?应用程序和数据库使用UTF-8作为标准编码."xC4\x9F"是"ğ"的UTF-8编码,"\ xC5\x9F"是"ş"的UTF-8.两者似乎都是有问题的特殊人物.德语(äöü)或法语(áàâ)特殊字符没有问题.与ISO 8859-1或ISO 8859-15(仅ISO 8859-9支持所有土耳其语字符)相反,应该可以以UTF-8存储土耳其语字符.

数据库的MySQL集合设置如下.切换collection_database到不同的值是否有帮助,例如utf8_unicode_ci

mysql> show variables like '%collation%';
+----------------------+-------------------+
| Variable_name        | Value             |
+----------------------+-------------------+
| collation_connection | utf8_general_ci   |
| collation_database   | latin1_swedish_ci |
| collation_server     | latin1_swedish_ci |
+----------------------+-------------------+
Run Code Online (Sandbox Code Playgroud)

mysql ruby-on-rails utf-8 ruby-2.0 ruby-on-rails-4

10
推荐指数
1
解决办法
4433
查看次数

panTo和setCenter之间的区别

Google Maps API V3中的功能panTosetCenter功能之间的区别在哪里?两者似乎都将地图的中心更改为给定点.

google-maps google-maps-api-3

10
推荐指数
1
解决办法
2971
查看次数