小编Bar*_*tak的帖子

Rails将哈希数组映射到单个哈希

我有一系列的哈希像这样:

 [{"testPARAM1"=>"testVAL1"}, {"testPARAM2"=>"testVAL2"}]
Run Code Online (Sandbox Code Playgroud)

而我正在尝试将此映射到单个哈希,如下所示:

{"testPARAM2"=>"testVAL2", "testPARAM1"=>"testVAL1"}
Run Code Online (Sandbox Code Playgroud)

我已经实现了它

  par={}
  mitem["params"].each { |h| h.each {|k,v| par[k]=v} } 
Run Code Online (Sandbox Code Playgroud)

但我想知道是否有可能以更惯用的方式做到这一点(最好不使用局部变量).

我怎样才能做到这一点?

ruby arrays hash ruby-on-rails

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

MySQL CURRENT_TIMESTAMP为DEFAULT

在创建表时,我收到以下错误:

ERROR 1293 (HY000): Incorrect table definition; there can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause
Run Code Online (Sandbox Code Playgroud)

问题是,我实际上没有两列TIMESTAMPCURRENT_TIMESTAMP为默认值,无论我使用ON UPDATE条款.

我正在尝试执行的DDL查询是

CREATE TABLE user(
    /* Basic Information */
    id INT NOT NULL AUTO_INCREMENT,
    firstname VARCHAR(255) NOT NULL,
    surname VARCHAR(255) NOT NULL,
    email VARCHAR(255) NOT NULL UNIQUE,
    username VARCHAR(255) NOT NULL UNIQUE,
    password CHAR(40) NOT NULL,

    /* System status information */
    active BOOL NOT NULL DEFAULT FALSE,
    validated BOOL NOT NULL …
Run Code Online (Sandbox Code Playgroud)

mysql

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

无法启动phpMyAdmin.继续得到#2002套接字错误

我一直试图在过去12小时内设置mysql和phpMyAdmin,但没有任何成功.是的,经过几个小时的Google-ing后,我知道这是一个常见的问题,我在stackoverflow上读过类似的查询,但仍然无法提供解决方案.....

我已经尝试了一切 - 从改变

$cfg['Servers'][$i]['port']
Run Code Online (Sandbox Code Playgroud)

config.inc.php文件中3306,127.0.0.1....

config.inc.php文件中键入套接字路径- 两者 tmp/mysql.php/var/mysql/mysql.sock.

我已经尝试更改my.cnf文件和php.ini中的套接字路径....但我一直得到同样的错误:

#2002 - No such file or directory
The server is not responding (or the local server's socket is not correctly configured).
Run Code Online (Sandbox Code Playgroud)

我正在使用MySQL(5.1.65),PhpMyAdmin(3.5.2.2)和PHP(5.3.8).

mysql sockets macos phpmyadmin

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

XML格式缩进标签匹配 - Linux

我有一个XML文件,其格式非常压缩,所有标签都粘在一起

<PersonalData><IndividualDetails><Title>Mr</Title><Gender>Male</Gender><FirstName>Hae</FirstName><Surname>JONES</Surname><Occupation>Banker</Occupation><DateofBirth>4/6/76</DateofBirth><LastKnownAddress></LastKnownAddress><LastKnownPostCode>00145</LastKnownPostCode><OtherNames></OtherNames></IndividualDetails><OccupationDetails><Company>SD Bank</Company><CompanyAddress>Sunset Boulevard NY</CompanyAddress><ContactNo>335698457</ContactNo></OccupationDetails></PersonalData>
Run Code Online (Sandbox Code Playgroud)

shell中是否有任何可以正确格式化标记的命令.如果没有缩进,只将标签添加到自己的行也可以解决我的问题.

xml linux bash ubuntu xml-formatting

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

Java InputStream等待数据.

我正在开发Server-Client应用程序,我在输入流上等待输入数据时遇到问题.

我有致力于读取输入数据的线程.目前,它使用while循环来保持数据可用.(NB协议如下:发送数据包的大小,比如N,作为int,然后发送N个字节).

public void run(){
    //some initialization
    InputStream inStream = sock.getInputStream();
    byte[] packetData;
    //some more stuff
    while(!interrupted){
        while(inStream.available()==0);
        packetData = new byte[inStream.read()];
        while(inStream.available()<packetData.length);
        inStream.read(packetData,0,packetData.length);
        //send packet for procession in other thread
    }
}
Run Code Online (Sandbox Code Playgroud)

它的工作原理但是通过while循环阻塞线程是IMO的一个坏主意.我可以使用Thread.sleep(X)来防止循环继续消耗资源,但肯定必须有更好的方法.

此外,我不能依赖InputStream.read来阻止线程,因为数据的一部分可能由服务器发送延迟.我试过但它总是导致意想不到的行为.

我很感激任何想法:)

java sockets stream

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

(PHP)解析RegEx字符串 - 平衡括号

我试图在PHP中解析以下格式的字符串(EBNF,我希望这是对的):

<exp>      ::= <base>[{<modifier>["!"]"("<exp>")"}]
<base>     ::= <role>[{<modifier><role>}]
<modifier> ::= "&" | "|"
<role>     ::= ["!"]<str>[","<str>]
Run Code Online (Sandbox Code Playgroud)

哪个<str>字符串会通过哪里[a-zA-Z0-9\-]+

以下是必须解析的模式示例:

token1
token1&token2
token1|(token2&!token3)
(token1&token2)|(token3&(token4|(!token5,12&token6)))
!(token1&token2|(token3&!token4))|token5,12
Run Code Online (Sandbox Code Playgroud)

我正在尝试编写一个总是给我四组的RegEx模式:

  1. 最左边的<expression>.从上面的例子可以看出:
    • token1
    • token1
    • token1
    • token1&token2
    • token1&token2|(token3&!token4)
  2. 如果["!"]有的话.即
    • null
    • null
    • null
    • null
    • !
  3. <modifier>下一个<expression>(如果有的话).这将是:
    • null
    • &
    • |
    • |
    • |
  4. 剩下的模式.
    • null
    • token2
    • token2&!token3
    • token3&(token4|(!token5,12&token6))
    • token5,12

如果第一个表达式不包含任何<modifier>s ,我可以解析它.

^\(?(!?)([a-zA-Z0-9\-]+)\)?([&|]?)(.*)$
Run Code Online (Sandbox Code Playgroud)

我被困在这一点上.我已经尝试过使用lookarounds,但是我无法弄清楚如何在所有括号均衡时确保捕获该组.这可以通过RegEx实现,还是需要使用循环等编写代码来执行此操作?

php regex

8
推荐指数
1
解决办法
837
查看次数

Rails没有解析有效的YAML文件

我正在尝试使用我的Rails(3.2.7)应用程序解析以下YAML

---
main-menu:
  - mitem: Test1
    controller: user
    action: test
  - mitem: Test
    controller: user
    action: test2
    - mitem: Test3
      controller: user
      action: test
Run Code Online (Sandbox Code Playgroud)

不幸的是,当我加载我的文件时

    require "yaml"
    @menu = YAML.load_file(file)
Run Code Online (Sandbox Code Playgroud)

我收到一个错误

Psych::SyntaxError in User#test

Showing /srv/http/fiss/app/views/layouts/application.html.haml where line #12 raised:

(/srv/http/fiss/app/assets/yaml/menu.yaml): did not find expected key while parsing a     block mapping at line 6 column 5
Run Code Online (Sandbox Code Playgroud)

我是Rails(和YAML)的新手,但是我已经用YAML Lint检查了代码,显然YAML代码是有效的.这是什么原因造成的?

yaml web-applications ruby-on-rails

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

MySQL检查3个或更多连续(特定)条目

我有一张桌子:

+------------+-----------------------------------------------------------------------------------+
| Field      | Type                                                                              |
+------------+-----------------------------------------------------------------------------------+
| id         | int(10) unsigned                                                                  |
| type       | enum('REGISTER','ACTIVATE','LOGIN_SUCCESS','LOGIN_FAIL','LOGOUT','LOCK','UNLOCK') |
| user_id    | int(10) unsigned                                                                  |
| mod_id     | int(10) unsigned                                                                  |
| date       | timestamp                                                                         |
| ip         | int(10) unsigned                                                                  |
| user_agent | text                                                                              |
+------------+-----------------------------------------------------------------------------------+
Run Code Online (Sandbox Code Playgroud)

我试图以最简单的方式确定(最好只使用MySQL),如果type = LOGIN_FAIL从表的最后一次type = LOGIN_SUCCESS或从那时开始有3个或更多的连续记录.

例如

+----+---------------+---------+--------+---------------------+----+------------+
| id | type          | user_id | mod_id | date                | ip | user_agent |
+----+---------------+---------+--------+---------------------+----+------------+
|  6 | LOGIN_SUCCESS | …
Run Code Online (Sandbox Code Playgroud)

mysql database

6
推荐指数
1
解决办法
922
查看次数

正则表达式计算不同排列的数量

所以这是RegEx的一个有点不寻常的用法;我想计算将由特定模式匹配的不同字符串的数量(或在合适的情况下表示无限)。

例如,让我们考虑[a-zA-Z]哪个会产生 52,[a-zA-Z]{1,2}哪个会产生 2652(52+52×52?52×2;对于像 一样的字符串减去 52×2 aaMM它们不不同)或者[a-zA-Z]+哪个会是 ?。

当然,我希望这种机制能够处理比这更复杂的正则表达式。我对 PHP 和 Ruby 的解决方案特别感兴趣。这甚至可能吗?

php ruby regex

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

获取已删除邮件的 UID

我有一个IMAPFolderMessageCountListener侦听消息从文件夹被添加/移除。在我的内部,我messageRemoved(MessageCountEvent ...)需要获取刚刚删除的消息的 UID,以便我可以在本地缓存中反映这些更改。

问题是,如果我尝试对IMAPFolder.getUID(Message ...)已删除的消息执行,我会得到

    javax.mail.MessageRemovedException
        at com.sun.mail.imap.IMAPMessage.checkExpunged(IMAPMessage.java:220)
        at com.sun.mail.imap.IMAPFolder.getUID(IMAPFolder.java:1949)
        at (...).IdleWatcher$1.messagesRemoved(IdleWatcher.java:64)
        at javax.mail.event.MessageCountEvent.dispatch(MessageCountEvent.java:152)
        at javax.mail.EventQueue.run(EventQueue.java:134)
        at java.lang.Thread.run(Thread.java:856)
Run Code Online (Sandbox Code Playgroud)

如何确定已删除邮件的 UID?我可以查看所有缓存的消息并检查哪些消息仍然存在,但是每次删除消息时都需要进行资源密集型操作。

java imap jakarta-mail

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

MySQL随机唯一字符串

我正在为网站编写一个"重置密码"工具,作为其中的一部分,我需要生成一个随机的,唯一的字符串,插入到MySQL数据库中.

截至目前,这只是完成使用SHA1(RAND()),它完美地工作.然而,这仅仅给出1.46150164E48(因为SHA1我不太确定它的独特范围RAND是什么)不同的组合和迂腐我想确保插入两个相同值的情况永远不会发生.

现在我可以轻松地使用PHP(因为这是基于PHP的网站),迭代循环直到生成一个不存在的随机字符串 - 在大多数情况下将是1次迭代,但我想知道这是否是有可能与MySQL?

那就是:在MySQL中,是否有可能生成一个伪随机字符串,MySQL本身将确保在给定的表和字段中是唯一的?

mysql

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

无限的自引用列表

问题

我试图执行修改后的龙形曲线业务计费16日在哈斯克尔无限名单.

该列表由True和组成False.我们从一些列表开始s0:

  • s1 = s0 ++ [False] ++ (map not . reverse) s0
  • s2 = s1 ++ [False] ++ (map not . reverse) s1
  • s3 = s2 ++ [False] ++ (map not . reverse) s2

通常

sn = s(n-1) ++ [0] ++ (map not . reverse) s(n-1) 
   = s0 ++ [0] ++ (f s0) ++ [0] ++ (f (s0 ++ [0] ++ (f s0))) ++ ...
      where f = …
Run Code Online (Sandbox Code Playgroud)

haskell sequence infinite recursive-datastructures self-reference

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

在"销售订单网格"字段中使用列别名

我正在尝试将两个字段(Shipping PostcodeBilling Postcod)添加到Magento 1.7CE的后端销售网格中.

我是通过重写Mage_Adminhtml_Block_Sales_Order_Grid::setCollection(...)来加入表格来做到这一点的sales/order_address.

public function setCollection($collection){
    parent::setCollection($collection);
    $collection->getSelect()->join(
        array('address_shipping' => $collection->getTable("sales/order_address")),
        'main_table.entity_id = address_shipping.parent_id AND address_shipping.address_type = "shipping"',
        array('postcode')
    );
    $collection->getSelect()->join(
        array('address_billing' => $collection->getTable("sales/order_address")),
        'main_table.entity_id = address_billing.parent_id AND address_billing.address_type = "billing"',
        array('postcode')
    );
}
Run Code Online (Sandbox Code Playgroud)

Mage_Adminhtml_Block_Sales_Order_Grid::_prepareColumns(...)将这些列添加到销售网.

protected function _prepareColumns(){
    $this->addColumn('shipping_postcode', array(
        'header' => Mage::helper('sales')->__('Shipping Postcode'),
        'index' => 'postcode',
    ));
    $this->addColumn('billing_postcode', array(
        'header' => Mage::helper('sales')->__('Billing Postcode'),
        'index' => 'postcode',
    ));
    return parent::_prepareColumns();
}
Run Code Online (Sandbox Code Playgroud)

问题是,我需要postcodesales/order_address表中选择字段,这会导致SQL错误

SQLSTATE[23000]: Integrity …
Run Code Online (Sandbox Code Playgroud)

php mysql magento magento-1.7

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