我在mysql数据库中有一个字段,它是一个varchar(255).我看了trim()来删除前导和尾随空格,但它似乎只处理空格,而不是制表符:
UPDATE mytable SET textfield = TRIM(textfield);
Run Code Online (Sandbox Code Playgroud)
有谁知道如何从字段的开头和结尾剥离标签?
我有一个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的类的方法中使用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'))?
我能够启动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)
两者都失败了 任何人都知道文件设置或可以找到这些设置的参考?
建立:
一切正常,但是当我增加批量大小以加快训练时,我在大型模型上耗尽了视频内存.我认为转向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) 我知道规则:
如果两个操作数的类型不同,则JavaScript转换操作数,然后应用严格比较.如果操作数是数字或布尔值,操作数将尽可能转换为数字; 否则,如果任一操作数是字符串,则另一个操作数将转换为字符串(如果可能).
因此,if("true")传递但if("true" == true)失败,因为它像句柄一样 if(NaN == 1).
当一个值是布尔值时,我想知道这背后的理性是什么.在其他弱类型语言(如php)中,这是以不同的方式处理 - 如果一个值是布尔值,另一个值将转换为布尔值进行比较(而不是像javascript那样将数字转换为数字).
我假设这个选择是==经过慎重考虑的.任何人都可以提供理由,为什么这是选择的功能?是否有一个常见的用例,这是选择解决?我打赌这不仅仅是一个错误.
我有以下设置:
由于通过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上的端口.
有谁知道如何完成这个或有另一个建议?
我只是在现有数据库上做了很多选择.
我需要得到一个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)
更换线路 …
在使用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 5.4中有一个新功能http_response_code(),但在以前的版本中,你如何得到你刚刚设置的响应代码?
我有这个需要:
//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 ×4
apache ×1
cudnn ×1
docker ×1
doctrine ×1
dql ×1
gpu ×1
hhvm ×1
hiphop ×1
javascript ×1
keras ×1
mysql ×1
namespaces ×1
oop ×1
orm ×1
python ×1
reflection ×1
sql ×1
sqlalchemy ×1
theano ×1
theano-cuda ×1
virtualbox ×1