是否有宝石为终端输出执行背景和前景文本着色?
我记得,在编写Pascal时,我们都习惯使用textcolor(...)
程序来使我们的小型教育程序看起来更漂亮和表现.
Ruby中有类似的东西吗?
鉴于我有一个巨大的数组,以及它的值.我想得到数组中的值的索引.还有其他方式,而不是打电话Array#index
来获得它吗?问题来自需要保持真正庞大的阵列和Array#index
大量的时间.
经过几次尝试后,我发现通过存储带有字段而不是值本身的结构来缓存元素内部的索引(value, index)
会给性能带来巨大的进步(20倍的胜利).
我仍然想知道是否有更方便的方法来查找en元素的索引而不进行缓存(或者有一个很好的缓存技术可以提高性能).
我想知道是否有可能创建一个二维数组并快速访问其中的任何水平或垂直子数组?
我相信在以下情况下我们可以访问水平子数组:
x = Array.new(10) { Array.new(20) }
x[6][3..8] = 'something'
Run Code Online (Sandbox Code Playgroud)
但据我了解,我们无法像这样访问它:
x[3..8][6]
Run Code Online (Sandbox Code Playgroud)
我怎样才能避免或破解这个限制?
为我运行错误消息的COPY
结果ERROR: invalid input syntax for integer: ""
.我错过了什么?
我的/tmp/people.csv
档案:
"age","first_name","last_name"
"23","Ivan","Poupkine"
"","Eugene","Pirogov"
Run Code Online (Sandbox Code Playgroud)
我的/tmp/csv_test.sql
档案:
CREATE TABLE people (
age integer,
first_name varchar(20),
last_name varchar(20)
);
COPY people
FROM '/tmp/people.csv'
WITH (
FORMAT CSV,
HEADER true,
NULL ''
);
DROP TABLE people;
Run Code Online (Sandbox Code Playgroud)
输出:
$ psql postgres -f /tmp/sql_test.sql
CREATE TABLE
psql:sql_test.sql:13: ERROR: invalid input syntax for integer: ""
CONTEXT: COPY people, line 3, column age: ""
DROP TABLE
Run Code Online (Sandbox Code Playgroud)
琐事:
在capybara中运行集成测试时,让app引发异常(500错误;在浏览器中呈现),test.log
文件中没有堆栈跟踪.这是我在那里看到的唯一一条线:
Completed 500 Internal Server Error in 25ms
Run Code Online (Sandbox Code Playgroud)
我错过了什么吗?test.log
在集成测试期间如何使堆栈跟踪出现?
我试图在rails中运行以下原始查询,只是为了看到它失败:
query = 'SELECT * FROM users WHERE id IN ($1);'
results = ActiveRecord::Base.connection.exec_query(query, "My query", [ [1,2] ]);
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
我得到的错误从这开始:
Could not log "sql.active_record" event. NoMethodError: undefined method `binary?' for 1:Fixnum
Run Code Online (Sandbox Code Playgroud)
显然,我在[1, 2]
某种程度上滥用了绑定参数,但我自己找不到合适的例子.
PS这是最小的失败示例,派生自更高级的查询,无法转换为ActiveRecord调用链.换句话说 - 在构建查询时我不能依赖Arel.
PPS我正在使用rails 4.0.1
和postgresql 9.3
如何正确地从datetime对象中提取时间(,准确地说)是否有/不受影响?如何提取,和值?如何通过自定义模式提取(是否可能)?post.created_at
TimeZone
day
month
year
day/month/year
TL; DR.关于如何在删除PVC后访问数据,以及为什么PV在删除PVC后不会消失,我很遗憾.
我正在采取的步骤:
手动在GCE中创建了一个磁盘:
gcloud compute disks create --size 5Gi disk-for-rabbitmq --zone europe-west1-b
Run Code Online (Sandbox Code Playgroud)跑:
kubectl apply -f /tmp/pv-and-pvc.yaml
Run Code Online (Sandbox Code Playgroud)
使用以下配置:
# /tmp/pv-and-pvc.yaml
apiVersion: v1
kind: PersistentVolume
metadata:
name: pv-for-rabbitmq
spec:
accessModes:
- ReadWriteOnce
capacity:
storage: 5Gi
gcePersistentDisk:
fsType: ext4
pdName: disk-for-rabbitmq
persistentVolumeReclaimPolicy: Delete
storageClassName: standard
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: pvc-for-rabbitmq
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 5Gi
storageClassName: standard
volumeName: pv-for-rabbitmq
Run Code Online (Sandbox Code Playgroud)手动删除了一个PVC(在高级别:我在这里模拟一个灾难性的场景,比如意外删除或错误配置一个helm
版本):
kubectl delete pvc pvc-for-rabbitmq
Run Code Online (Sandbox Code Playgroud)此时我看到以下内容:
$ kubectl get pv
NAME CAPACITY ACCESS MODES …
Run Code Online (Sandbox Code Playgroud) google-cloud-storage google-cloud-platform kubernetes google-kubernetes-engine
我想知道是否有一个插件可以实现一种智能截断.我需要用一个单词或一个句子的精度来截断我的文本.
例如:
Post.my_message.smart_truncate(
"Once upon a time in a world far far away. And they found that many people
were sleeping better.", :sentences => 1)
# => Once upon a time in a world far far away.
Run Code Online (Sandbox Code Playgroud)
要么
Post.my_message.smart_truncate(
"Once upon a time in a world far far away. And they found that many people
were sleeping better.", :words => 12)
# => Once upon a time in a world far far away. And they ...
Run Code Online (Sandbox Code Playgroud)