小编Ray*_*Ray的帖子

如何删除MySQL中varchar字段的开头和结尾的选项卡?

我在mysql数据库中有一个字段,它是一个varchar(255).我看了trim()来删除前导和尾随空格,但它似乎只处理空格,而不是制表符:

 UPDATE mytable SET textfield = TRIM(textfield);
Run Code Online (Sandbox Code Playgroud)

有谁知道如何从字段的开头和结尾剥离标签?

mysql

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

如何从其中一个方法中以编程方式查找类的公共属性

我有一个Foo有公共和受保护财产的课程. Foo需要有一个非静态方法,getPublicVars()它返回一个包含所有公共属性的列表Foo(这只是一个例子,我从外部知道Foo调用的对象get_object_vars()将完成这个并且不需要我的getPublicVars()方法).

注意:这还必须将在运行时分配的动态声明的属性返回给类的定义中未定义的类实例(对象).

这是一个例子:

class Foo{
    private $bar = '123';
    protect $boo = '456';
    public   $beer = 'yum';

   //will return an array or comma seperated list
   public function getPublicVars(){
      // thar' be magic here...
   } 
}

 $foo = new Foo();
 $foo->tricky = 'dynamically added var';

 $result = $foo->getPublicVars();  
 var_dump($result); // array or comma list with 'tricky' and 'beer'   
Run Code Online (Sandbox Code Playgroud)

从类本身的方法中获取对象的唯一公共属性的最简洁方法是什么?public和protected都可见?

我看过:

但这似乎并没有解决我的问题,因为它指向get_object_vars()从对象外部使用.

php oop reflection

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

是否有一个名称空间感知替代PHP的class_exists()?

如果您尝试在PHP的类的方法中使用class_exists(),则必须指定类的全名 - 不遵守当前的命名空间.例如,如果我的班级是:

 <?
    namespace Foo;

    class Bar{
       public function doesBooClassExist(){
            return class_exists('Boo');
       }
    }
Run Code Online (Sandbox Code Playgroud)

Boo是一个类(适当地自动加载)并且看起来像这样

   namespace Foo;

    class Boo{
       // stuff in here
    }
Run Code Online (Sandbox Code Playgroud)

如果我尝试:

$bar = new Bar();
$success = $bar->doesBooClassExist();
var_dump($success);
Run Code Online (Sandbox Code Playgroud)

你会得到一个错误的...有没有另外一种方法来做到这一点,而不必明确指定完整的类名(即class_exits('Foo\Boo'))?

php namespaces

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

通过带有nginx的套接字为HHVM 3.0配置ini文件

我能够启动HipHop VM以使用unix套接字.我可以通过以下方式实现:

 /usr/bin/hhvm --config /etc/hhvm/server.ini  --mode daemon -vPidFile=/var/run/hhvm/pid -vServer.Type=fastcgi -vServer.FileSocket=/var/run/hhvm/hhvm.sock
Run Code Online (Sandbox Code Playgroud)

但是,我无法在任何地方找到参考,如何在ini我为配置指定的文件中设置它.要使用TCP端口,server.ini中的行是:

  hhvm.server.port = 9000
Run Code Online (Sandbox Code Playgroud)

我试过了两个

 hhvm.server.filesocket=/var/run/hhvm/hhvm.sock
 hhvm.server.socket=/var/run/hhvm/hhvm.sock
Run Code Online (Sandbox Code Playgroud)

两者都失败了 任何人都知道文件设置或可以找到这些设置的参考?

hiphop hhvm

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

如何使用Theano启用Keras以使用多个GPU

建立:

  • 使用带有Nvidia GPU的Amazon Linux系统
  • 我正在使用Keras 1.0.1
  • 运行Theano v0.8.2后端
  • 使用CUDA和CuDNN
  • THEANO_FLAGS = "设备= GPU,floatX = FLOAT32,lib.cnmem = 1"

一切正常,但是当我增加批量大小以加快训练时,我在大型模型上耗尽了视频内存.我认为转向4 GPU系统理论上可以提高可用的总内存或允许更小的批量构建更快,但是观察nvidia统计数​​据,我可以看到默认情况下只使用一个GPU:

+------------------------------------------------------+ 
| NVIDIA-SMI 361.42     Driver Version: 361.42         |         
|-------------------------------+----------------------+----------------------+ 
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC | 
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |    
|===============================+======================+======================| 
|   0  GRID K520           Off  | 0000:00:03.0     Off |                  N/A | 
| N/A   44C    P0    45W / 125W |   3954MiB /  4095MiB |     94% Default      |
+-------------------------------+----------------------+----------------------+ 
|   1 …
Run Code Online (Sandbox Code Playgroud)

gpu theano keras cudnn theano-cuda

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

当一个是布尔值时,为什么JavaScript将原始值转换为==运算符比较中的数字的原理?

我知道规则:

如果两个操作数的类型不同,则JavaScript转换操作数,然后应用严格比较.如果操作数是数字或布尔值,操作数将尽可能转换为数字; 否则,如果任一操作数是字符串,则另一个操作数将转换为字符串(如果可能).

因此,if("true")传递但if("true" == true)失败,因为它像句柄一样 if(NaN == 1).

当一个值是布尔值时,我想知道这背后的理性是什么.在其他弱类型语言(如php)中,这是以不同的方式处理 - 如果一个值是布尔值,另一个值将转换为布尔值进行比较(而不是像javascript那样将数字转换为数字).

我假设这个选择是==经过慎重考虑的.任何人都可以提供理由,为什么这是选择的功能?是否有一个常见的用例,这是选择解决?我打赌这不仅仅是一个错误.

javascript

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

允许通过docker-machine运行的容器与父OSX系统上的Mysql或XDEBUG端口连接,而不使用OSX DHCP分配的ip地址?

我有以下设置:

  • 运行MySQL的OSX侦听端口3306上的所有网络适配器
  • XDEBUG启用IDE侦听基本OSX系统上的端口9000.
  • 在OSX系统上运行的docker-machine主机,主机为ip 192.168.99.100
  • 一个基于debian的docker容器,在docker主机上运行mysql客户端,运行xdebug的HHVM希望连接到端口9000上的一些幸运远程主机.

由于通过DHCP分配,ip地址在OSX系统上频繁更改,因此我希望docker容器能够以某种方式能够命中mysql服务器,无论本机OSX网络适配器分配了什么IP(无需手动更新) ).另外,我需要一个稳定的ip我可以为我的HHVM server.ini文件提供一个Xdebug的远程主机.

通过运行linux的基本系统,这不是问题,因为docker主机和运行docker的实际本地机器是同一个.此外,有几种方法可以让容器了解主机的ip,因此问题不会触及docker主机.

但是,在运行docker-machine的OSX中,主机不是本机OSX系统,而是在虚拟机框中运行的VM(假设您正在使用vb驱动程序,以及sam hill启动的是谁?).

我唯一能想到的是将3306上的请求移植到docker-machine主机(192.168.99.100,它永远不会改变)到OSX的端口3306.然后让容器命中docker-machine主机以获取Mysql请求.如果这个工作,我可以冲洗并重复我需要链接的端口,如xdebug端口9000上的端口.

有谁知道如何完成这个或有另一个建议?

virtualbox docker docker-machine

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

使用SQLAlchemy元数据reflect()如何获得实际的表对象?

我只是在现有数据库上做了很多选择.

  • 不要使用原始SQL,因为我可能想在mysql和sqlite之间跳转进行测试
  • 想要坚持使用SQLAlchemy的SQL Expression语言.

我需要得到一个Table对象,所以我做了类似的事情

 s = select([some_table_object])
Run Code Online (Sandbox Code Playgroud)

我已经想过如何显式地反映单个表来获取表对象:

from sqlalchemy import *

conn = create_engine('mysql://....')
metadata = MetaData(conn)
mytable = Table('mytable', meta, autoload=True)

s = select([mytable])
result = conn.execute(s)

# HAPPY!!!!
Run Code Online (Sandbox Code Playgroud)

但是,由于必须为每个表执行此操作,因此这很繁琐(我会使用很多表).我知道我可以以某种方式使用MetaData该类来反映我正在连接的现有数据库,但我不确定如何从元数据中获取实际的相应表.

from sqlalchemy import *

conn = create_engine('mysql://....')

metadata = MetaData(conn)
metadata.reflect()

# How would do I get a Table instance corresponding to the 
# mytable table in the DB so I move on to HAPPY!!

mytable = metadata.no_clue_how_to_get_tables()

s = select([some_table_object])
result = conn.execute(s)
Run Code Online (Sandbox Code Playgroud)

更换线路 …

python sqlalchemy

7
推荐指数
2
解决办法
6026
查看次数

使用Doctrine,使用DQL而不是SQL有什么好处?

在使用Doctrine Classes时,在需要自定义查询时,有人能为我提供一些明确(事实支持)的理由来使用/学习DQL与SQL吗?

我发现如果我不能使用ORM的内置关系功能来实现某些东西,我通常会在扩展的Doctrine或DoctrineTable类中编写自定义方法.在这种方法中,直接在SQL中编写所需的内容(使用具有适当预处理语句/注入保护的PDO等).DQL似乎是学习/调试/维护的另一种语言,似乎没有提供足够令人信服的理由在最常见的情况下使用.为了保证使用,DQL似乎没有SQL那么复杂 - 实际上我怀疑你可以在没有扎实的SQL理解的情况下有效地使用DQL.大多数核心SQL语法端口在您使用PHP的最常见数据库中相当不错.

我错过/忽视了什么?我确信有一个原因,但我想听听那些故意使用它的人以及尝试使用普通SQL的好处.

在传统的LAMP设置(使用mysql,postgres等等)中,我不是在寻找支持ORM的论证,只需要DQL,而不需要在核心"get-by-relationship"类型需求之外做一些事情.

php sql orm doctrine dql

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

在PHP <5.4是否有任何方法可以获得您刚刚设置的状态响应代码?

我知道在php 5.4中有一个新功能http_response_code(),但在以前的版本中,你如何得到你刚刚设置的响应代码?

类似于有没有办法从PHP获取当前的HTTP响应代码?

我有这个需要:

 //sometime earlier
 header('HTTP/1.1 404 Not Found');


//sometime later, detect if error was set
$status = some_magic_way_to_find_status();
Run Code Online (Sandbox Code Playgroud)

有人在php 5.3或更低版本中有这样做吗?

php apache

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